summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-08-28 21:41:14 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2009-08-28 21:41:14 +0200
commit58e2e795851d40c1e298354a264aa03eca1717e8 (patch)
tree6b655beff2fd9ac1ce8bae47407a144edce59a09
parentdf25a2fd0779277dd0f43d070e4a15f0dc16bacc (diff)
parentdc957bbf471a08fa3f1764f4897cde1360d1c074 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
-rw-r--r--Makefile1
-rw-r--r--mk/package.mk18
-rw-r--r--mk/pkg-bottom.mk11
-rw-r--r--package/Config.in7
-rw-r--r--package/Makefile8
-rw-r--r--package/autoconf/Config.in6
-rw-r--r--package/autoconf/Makefile28
-rw-r--r--package/automake/Config.in6
-rw-r--r--package/automake/Makefile29
-rw-r--r--package/bison/Config.in6
-rw-r--r--package/bison/Makefile28
-rw-r--r--package/busybox/config/archival/Config.in11
-rw-r--r--package/busybox/config/editors/Config.in1
-rw-r--r--package/diffutils/Config.in6
-rw-r--r--package/diffutils/Makefile28
-rw-r--r--package/diffutils/patches/patch-lib_regex_c16
-rw-r--r--package/eglibc/Config.in8
-rw-r--r--package/eglibc/Makefile17
-rw-r--r--package/flex/Config.in6
-rw-r--r--package/flex/Makefile27
-rw-r--r--package/gcc/Makefile4
-rw-r--r--package/git/Config.in1
-rw-r--r--package/glibc/Makefile3
-rw-r--r--package/gperf/Config.in7
-rw-r--r--package/gperf/Makefile27
-rw-r--r--package/libtool/Config.in8
-rw-r--r--package/libtool/Makefile4
-rw-r--r--package/m4/Config.in6
-rw-r--r--package/m4/Makefile27
-rw-r--r--package/ncurses/Config.in9
-rw-r--r--package/ncurses/Makefile5
-rw-r--r--package/uclibc/Config.in9
-rw-r--r--package/uclibc/Makefile17
-rw-r--r--package/zlib/Config.in10
-rw-r--r--package/zlib/Makefile3
-rwxr-xr-xscripts/create-image.sh8
-rw-r--r--target/Config.in44
-rw-r--r--target/linux/config/Config.in.netdevice11
-rw-r--r--target/qemu-mipsel/Makefile3
-rw-r--r--target/qemu-mipsel/kernel.config178
40 files changed, 558 insertions, 94 deletions
diff --git a/Makefile b/Makefile
index 8eaa1b51a..7f001e131 100644
--- a/Makefile
+++ b/Makefile
@@ -4,6 +4,7 @@
ADKVERSION= 0.1.0
export ADKVERSION
+CC= gcc
GMAKE?= $(PWD)/scripts/make
GMAKE_FMK= ${GMAKE} -f $(PWD)/mk/build.mk
GMAKE_INV= ${GMAKE_FMK} --no-print-directory
diff --git a/mk/package.mk b/mk/package.mk
index 1bfa33e12..318ce3d80 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -109,7 +109,11 @@ build-all-ipkgs: ${_IPKGS_COOKIE}
# 4.) dependencies to other packages, $(PKG_DEPENDS)
# 5.) description for the package, $(PKG_DESCR)
# 6.) section of the package, $(PKG_SECTION)
-#
+# 7.) special package options
+# noscripts -> do not install scripts to $(STAGING_DIR)/target/scripts
+# (needed for example for autoconf/automake)
+# noremove -> do not remove files from $(STAGING_DIR)/target while
+# cleaning (needed for toolchain packages like glibc/eglibc)
# should be package format independent and modular in the future
define PKG_template
IPKG_$(1)= $(PACKAGE_DIR)/$(2)_$(3)_${CPU_ARCH}.ipk
@@ -169,12 +173,15 @@ endif
done
@mkdir -p $${PACKAGE_DIR} '$${STAGING_PARENT}/pkg' \
'$${STAGING_DIR}/scripts'
- @if test -s '$${STAGING_PARENT}/pkg/$(1)'; then \
+ifneq ($(strip $(7)),noremove)
+ echo "Calling from package.mk"
+ if test -s '$${STAGING_PARENT}/pkg/$(1)'; then \
cd '$${STAGING_DIR}'; \
while read fn; do \
rm -f "$$$$fn"; \
done <'$${STAGING_PARENT}/pkg/$(1)'; \
fi
+endif
@rm -f '$${STAGING_PARENT}/pkg/$(1)'
@cd $${IDIR_$(1)}; \
x=$$$$(find tmp var -mindepth 1 2>/dev/null); if [[ -n $$$$x ]]; then \
@@ -190,7 +197,7 @@ endif
grep -v -e '^usr/share' -e '^usr/man' -e '^usr/info' | \
tee '$${STAGING_PARENT}/pkg/$(1)' | \
cpio -apdlmu --quiet '$${STAGING_DIR}'
- @cd '$${STAGING_DIR}'; grep 'usr/lib/.*\.la$$$$' \
+ cd '$${STAGING_DIR}'; grep 'usr/lib/.*\.la$$$$' \
'$${STAGING_PARENT}/pkg/$(1)' | while read fn; do \
chmod u+w $$$$fn; \
$(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_DIR)/usr/lib,g" $$fn; \
@@ -207,12 +214,15 @@ endif
clean-targets: clean-dev-$(1)
clean-dev-$(1):
- @if test -s '$${STAGING_PARENT}/pkg/$(1)'; then \
+ifneq ($(strip $(7)),noremove)
+ echo "Calling from package.mk clean-dev"
+ if test -s '$${STAGING_PARENT}/pkg/$(1)'; then \
cd '$${STAGING_DIR}'; \
while read fn; do \
rm -f "$$$$fn"; \
done <'$${STAGING_PARENT}/pkg/$(1)'; \
fi
+endif
@rm -f '$${STAGING_PARENT}/pkg/$(1)'
$$(INFO_$(1)): $$(IPKG_$(1))
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index ccd629218..36a998a82 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -109,19 +109,19 @@ else
@echo "Invalid INSTALL_STYLE '${INSTALL_STYLE}'" >&2
@exit 1
endif
-#ifneq ($(filter confprog,${INSTALL_STYLE}),)
@for a in ${WRKINST}/usr/{bin/*-config,lib/pkgconfig/*.pc}; do \
[[ -e $$a ]] || continue; \
$(SED) "s,^prefix=.*,prefix=${STAGING_DIR}/usr," $$a; \
done
-#endif
@env ${MAKE_ENV} ${MAKE} post-install $(MAKE_TRACE)
- @if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \
+ifneq ($(strip ${PKG_OPTS}),noremove)
+ if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \
cd '${STAGING_DIR}'; \
while read fn; do \
rm -f "$$fn"; \
done <'${STAGING_PARENT}/pkg/${PKG_NAME}'; \
fi
+endif
@rm -f '${STAGING_PARENT}/pkg/${PKG_NAME}'
@cd ${WRKINST}; \
if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libthread-db" ];then \
@@ -144,6 +144,7 @@ endif
echo "scripts/$$(basename "$$fn")" \
>>'${STAGING_PARENT}/pkg/${PKG_NAME}'; \
done
+ echo "calling from pkg-bottom.mk"
touch $@
${_IPKGS_COOKIE}:
@@ -195,10 +196,12 @@ package: ${ALL_IPKGS}
clean-targets: clean-dev-generic
clean-dev-generic:
- @if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \
+ifneq ($(strip ${PKG_OPTS}),noremove)
+ if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \
cd '${STAGING_DIR}'; \
while read fn; do \
rm -f "$$fn"; \
done <'${STAGING_PARENT}/pkg/${PKG_NAME}'; \
fi
+endif
@rm -f '${STAGING_PARENT}/pkg/${PKG_NAME}'
diff --git a/package/Config.in b/package/Config.in
index 8507fef02..8914fe1f7 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -353,12 +353,19 @@ endmenu
endmenu
menu "Programming"
+source "package/autoconf/Config.in"
+source "package/automake/Config.in"
source "package/binutils/Config.in"
+source "package/bison/Config.in"
source "package/cxxtools/Config.in"
+source "package/diffutils/Config.in"
+source "package/flex/Config.in"
source "package/gcc/Config.in"
+source "package/gperf/Config.in"
source "package/haserl/Config.in"
source "package/jamvm/Config.in"
source "package/lua/Config.in"
+source "package/m4/Config.in"
source "package/make/Config.in"
source "package/microperl/Config.in"
source "package/php/Config.in"
diff --git a/package/Makefile b/package/Makefile
index 85768df9e..928074824 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -28,11 +28,14 @@ package-$(ADK_PACKAGE_ARPWATCH) += arpwatch
package-$(ADK_PACKAGE_ASTERISK) += asterisk
package-$(ADK_COMPILE_ATFTP) += atftp
package-$(ADK_PACKAGE_AUFS_UTIL) += aufs2-util
+package-$(ADK_PACKAGE_AUTOCONF) += autoconf
+package-$(ADK_PACKAGE_AUTOMAKE) += automake
package-$(ADK_PACKAGE_AUTOSSH) += autossh
package-$(ADK_COMPILE_AVAHI) += avahi
package-$(ADK_COMPILE_AXTLS) += axtls
package-$(ADK_PACKAGE_BASH) += bash
package-$(ADK_COMPILE_BC) += bc
+package-$(ADK_PACKAGE_BISON) += bison
package-$(ADK_PACKAGE_BZIP2) += bzip2
package-$(ADK_PACKAGE_CA_CERTS) += ca-certificates
package-$(ADK_PACKAGE_CFGFS) += cfgfs
@@ -67,6 +70,7 @@ package-$(ADK_PACKAGE_DBUS) += dbus
package-$(ADK_PACKAGE_DECO) += deco
package-$(ADK_COMPILE_DHCP) += dhcp
package-$(ADK_PACKAGE_DHCP_FORWARDER) += dhcp-forwarder
+package-$(ADK_PACKAGE_DIFFUTILS) += diffutils
package-$(ADK_PACKAGE_DIGITEMP) += digitemp
package-$(ADK_PACKAGE_DNSMASQ) += dnsmasq
package-$(ADK_PACKAGE_DOSFSTOOLS) += dosfstools
@@ -92,6 +96,7 @@ package-$(ADK_PACKAGE_FFMPEG) += ffmpeg
package-$(ADK_PACKAGE_FILE) += file
package-$(ADK_PACKAGE_FIXESPROTO) += fixesproto
package-$(ADK_COMPILE_FLAC) += flac
+package-$(ADK_PACKAGE_FLEX) += flex
package-$(ADK_PACKAGE_FONTSPROTO) += fontsproto
package-$(ADK_PACKAGE_FONTCACHEPROTO) += fontcacheproto
package-$(ADK_PACKAGE_FPING) += fping
@@ -123,6 +128,7 @@ endif
package-$(ADK_PACKAGE_GMEDIASERVER) += gmediaserver
package-$(ADK_COMPILE_GMP) += gmp
package-$(ADK_COMPILE_GNUTLS) += gnutls
+package-$(ADK_PACKAGE_GPERF) += gperf
package-$(ADK_PACKAGE_GPG) += gpg
package-$(ADK_PACKAGE_GPM) += gpm
package-$(ADK_PACKAGE_GPSD) += gpsd
@@ -233,6 +239,7 @@ package-$(ADK_COMPILE_LUA) += lua
package-$(ADK_COMPILE_LVM) += lvm
package-$(ADK_PACKAGE_MACCHANGER) += macchanger
package-$(ADK_PACKAGE_MADPLAY) += madplay
+package-$(ADK_PACKAGE_M4) += m4
package-$(ADK_PACKAGE_MAKE) += make
package-$(ADK_PACKAGE_MARADNS) += maradns
package-$(ADK_PACKAGE_MGETTY) += mgetty
@@ -418,6 +425,7 @@ package-$(ADK_PACKAGE_XPROTO) += xproto
package-$(ADK_PACKAGE_XORG_SERVER) += xorg-server
package-$(ADK_PACKAGE_XTRANS) += xtrans
package-$(ADK_PACKAGE_ZLIB) += zlib
+package-$(ADK_PACKAGE_ZLIB_DEV) += zlib
package-$(ADK_PACKAGE_ZSH) += zsh
# kernel addon packages
package-$(ADK_PACKAGE_KMOD_EM28XX) += em28xx
diff --git a/package/autoconf/Config.in b/package/autoconf/Config.in
new file mode 100644
index 000000000..85ce44c79
--- /dev/null
+++ b/package/autoconf/Config.in
@@ -0,0 +1,6 @@
+config ADK_PACKAGE_AUTOCONF
+ prompt "autoconf.......................... Autoconf"
+ tristate
+ default n
+ help
+ http://www.gnu.org/software/autoconf/
diff --git a/package/autoconf/Makefile b/package/autoconf/Makefile
new file mode 100644
index 000000000..6e4abf3d6
--- /dev/null
+++ b/package/autoconf/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= autoconf
+PKG_VERSION:= 2.64
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 30a198cef839471dd4926e92ab485361
+PKG_DESCR:= GNU autoconf
+PKG_SECTION:= utils
+PKG_URL:= http://www.gnu.org/software/autoconf/
+PKG_SITES:= ${MASTER_SITE_GNU:=autoconf/}
+PKG_OPTS:= noscripts
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,AUTOCONF,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+
+CONFIGURE_STYLE:= gnu
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_AUTOCONF}/usr/bin
+ ${CP} ${WRKINST}/usr/bin/auto* ${IDIR_AUTOCONF}/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/automake/Config.in b/package/automake/Config.in
new file mode 100644
index 000000000..9ded7338f
--- /dev/null
+++ b/package/automake/Config.in
@@ -0,0 +1,6 @@
+config ADK_PACKAGE_AUTOMAKE
+ prompt "automake.......................... Automake"
+ tristate
+ default n
+ help
+ http://www.gnu.org/software/automake/
diff --git a/package/automake/Makefile b/package/automake/Makefile
new file mode 100644
index 000000000..d51bea631
--- /dev/null
+++ b/package/automake/Makefile
@@ -0,0 +1,29 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= automake
+PKG_VERSION:= 1.9.6
+PKG_RELEASE:= 1
+PKG_MD5SUM:= c60f77a42f103606981d456f1615f5b4
+PKG_DESCR:= GNU automake
+PKG_SECTION:= utils
+PKG_URL:= http://www.gnu.org/software/${PKG_NAME}/
+PKG_SITES:= ${MASTER_SITE_GNU:=${PKG_NAME}/}
+PKG_SKIP_SCRIPTS:= 1
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,AUTOMAKE,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_STYLE:= gnu
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_AUTOMAKE}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/automake ${IDIR_AUTOMAKE}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/aclocal ${IDIR_AUTOMAKE}/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/bison/Config.in b/package/bison/Config.in
new file mode 100644
index 000000000..a78712f64
--- /dev/null
+++ b/package/bison/Config.in
@@ -0,0 +1,6 @@
+config ADK_PACKAGE_BISON
+ prompt "bison.............................. GNU parser generator"
+ tristate
+ default n
+ help
+ http://www.gnu.org/software/bison/
diff --git a/package/bison/Makefile b/package/bison/Makefile
new file mode 100644
index 000000000..7c742fe6e
--- /dev/null
+++ b/package/bison/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= bison
+PKG_VERSION:= 2.4.1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= c58aa1da418dc9704070872489e89bf5
+PKG_DESCR:= GNU parser generator
+PKG_SECTION:= utils
+PKG_URL:= http://www.gnu.org/software/bison
+PKG_SITES:= ${MASTER_SITE_GNU:=${PKG_NAME}/}
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,BISON,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_STYLE:= gnu
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_BISON}/usr/bin ${IDIR_BISON}/usr/share/bison
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/bison ${IDIR_BISON}/usr/bin
+ ${CP} ${WRKINST}/usr/share/bison/* ${IDIR_BISON}/usr/share/bison
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in
index 0242dea05..e46fa10b0 100644
--- a/package/busybox/config/archival/Config.in
+++ b/package/busybox/config/archival/Config.in
@@ -7,25 +7,25 @@ menu "Archival Utilities"
config BUSYBOX_FEATURE_SEAMLESS_LZMA
bool "Make tar, rpm, modprobe etc understand .lzma data"
- default n
+ default y
help
Make tar, rpm, modprobe etc understand .lzma data.
config BUSYBOX_FEATURE_SEAMLESS_BZ2
bool "Make tar, rpm, modprobe etc understand .bz2 data"
- default n
+ default y
help
Make tar, rpm, modprobe etc understand .bz2 data.
config BUSYBOX_FEATURE_SEAMLESS_GZ
bool "Make tar, rpm, modprobe etc understand .gz data"
- default n
+ default y
help
Make tar, rpm, modprobe etc understand .gz data.
config BUSYBOX_FEATURE_SEAMLESS_Z
bool "Make tar and gunzip understand .Z data"
- default n
+ default y
help
Make tar and gunzip understand .Z data.
@@ -78,6 +78,7 @@ config BUSYBOX_BUNZIP2
config BUSYBOX_BZIP2
bool "bzip2"
default n
+ depends on !ADK_PACKAGE_BZIP2
help
bzip2 is a compression utility using the Burrows-Wheeler block
sorting text compression algorithm, and Huffman coding. Compression
@@ -174,6 +175,7 @@ config BUSYBOX_RPM2CPIO
config BUSYBOX_RPM
bool "rpm"
+ depends on !ADK_PACKAGE_RPM
default n
help
Mini RPM applet - queries and extracts RPM packages.
@@ -181,6 +183,7 @@ config BUSYBOX_RPM
config BUSYBOX_TAR
bool "tar"
default y
+ depends on !ADK_PACKAGE_TAR
help
tar is an archiving program. It's commonly used with gzip to
create compressed archives. It's probably the most widely used
diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in
index cce9675df..ad46c649b 100644
--- a/package/busybox/config/editors/Config.in
+++ b/package/busybox/config/editors/Config.in
@@ -30,6 +30,7 @@ config BUSYBOX_CMP
config BUSYBOX_DIFF
bool "diff"
default y
+ depends on !ADK_PACKAGE_DIFFUTILS
help
diff compares two files or directories and outputs the
differences between them in a form that can be given to
diff --git a/package/diffutils/Config.in b/package/diffutils/Config.in
new file mode 100644
index 000000000..493c10d33
--- /dev/null
+++ b/package/diffutils/Config.in
@@ -0,0 +1,6 @@
+config ADK_PACKAGE_DIFFUTILS
+ prompt "diffutils......................... show differences between two files"
+ tristate
+ default n
+ help
+ http://www.gnu.org/software/diffutils/
diff --git a/package/diffutils/Makefile b/package/diffutils/Makefile
new file mode 100644
index 000000000..70f1f53cd
--- /dev/null
+++ b/package/diffutils/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= diffutils
+PKG_VERSION:= 2.8.1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 71f9c5ae19b60608f6c7f162da86a428
+PKG_DESCR:= show differences between two files
+PKG_SECTION:= comp
+PKG_URL:= http://www.gnu.org/software/diffutils/
+PKG_SITES:= ${MASTER_SITE_GNU:=${PKG_NAME}/}
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,DIFFUTILS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_ENV+= ac_use_included_regex=no
+CONFIGURE_STYLE:= gnu
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_DIFFUTILS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/diff ${IDIR_DIFFUTILS}/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/diffutils/patches/patch-lib_regex_c b/package/diffutils/patches/patch-lib_regex_c
new file mode 100644
index 000000000..c4a8bec7b
--- /dev/null
+++ b/package/diffutils/patches/patch-lib_regex_c
@@ -0,0 +1,16 @@
+workaround for uClibc
+--- diffutils-2.8.1.orig/lib/regex.c 2002-03-01 08:44:52.000000000 +0100
++++ diffutils-2.8.1/lib/regex.c 2009-08-28 16:39:02.000000000 +0200
+@@ -8313,12 +8313,8 @@ regerror (errcode, preg, errbuf, errbuf_
+ {
+ if (msg_size > errbuf_size)
+ {
+-#if defined HAVE_MEMPCPY || defined _LIBC
+- *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
+-#else
+ memcpy (errbuf, msg, errbuf_size - 1);
+ errbuf[errbuf_size - 1] = 0;
+-#endif
+ }
+ else
+ memcpy (errbuf, msg, msg_size);
diff --git a/package/eglibc/Config.in b/package/eglibc/Config.in
index 80b6ad6d7..f16234bbb 100644
--- a/package/eglibc/Config.in
+++ b/package/eglibc/Config.in
@@ -7,3 +7,11 @@ config ADK_PACKAGE_EGLIBC
help
embedded GNU C library.
+config ADK_PACKAGE_EGLIBC_DEV
+ prompt "eglibc-dev........................... development files"
+ bool
+ default n
+ depends on ADK_TARGET_LIB_EGLIBC
+ help
+ embedded GNU C library header files.
+
diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile
index 2a228fca7..112772a7d 100644
--- a/package/eglibc/Makefile
+++ b/package/eglibc/Makefile
@@ -7,10 +7,12 @@ include $(TOPDIR)/toolchain/eglibc/Makefile.inc
PKG_DESCR:= embedded GNU C library
PKG_SECTION:= base
NO_DISTFILES:= 1
+PKG_OPTS:= noremove
include $(TOPDIR)/mk/package.mk
-$(eval $(call PKG_template,EGLIBC,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,EGLIBC,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+$(eval $(call PKG_template,EGLIBC_DEV,$(PKG_NAME)-dev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
do-extract:
@@ -27,7 +29,18 @@ endif
$(CP) $(STAGING_DIR)/lib/$$file.so.* $(IDIR_EGLIBC)/lib/; \
$(CP) $(STAGING_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_EGLIBC)/lib/; \
done
- # create ld.so link for x86 linker
+ # create ld.so link for x86 linker and gcc
cd $(IDIR_EGLIBC)/lib && ln -sf ld-$(PKG_VERSION).so ld-linux.so.2
+ cd $(IDIR_EGLIBC)/lib && ln -sf libc.so.6 libc.so
+ cd $(IDIR_EGLIBC)/lib && ln -sf libgcc_s.so.1 libgcc_s.so
+ # header package
+ ${INSTALL_DIR} $(IDIR_EGLIBC_DEV)/usr/include/{sys,bits,gnu}
+ for file in pthread sched wchar _G_config getopt endian features libio stdio error signal time unistd;do \
+ ${CP} $(STAGING_DIR)/usr/include/$$file.h \
+ $(IDIR_EGLIBC_DEV)/usr/include; \
+ done
+ ${CP} $(STAGING_DIR)/usr/include/sys/*.h $(IDIR_EGLIBC_DEV)/usr/include/sys
+ ${CP} $(STAGING_DIR)/usr/include/bits/*.h $(IDIR_EGLIBC_DEV)/usr/include/bits
+ ${CP} $(STAGING_DIR)/usr/include/gnu/*.h $(IDIR_EGLIBC_DEV)/usr/include/gnu
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/flex/Config.in b/package/flex/Config.in
new file mode 100644
index 000000000..6be8e22ea
--- /dev/null
+++ b/package/flex/Config.in
@@ -0,0 +1,6 @@
+config ADK_PACKAGE_FLEX
+ prompt "flex.............................. Fast lexical analyzer"
+ tristate
+ default n
+ help
+ http://www.gnu.org/software/flex/
diff --git a/package/flex/Makefile b/package/flex/Makefile
new file mode 100644
index 000000000..bb2eda080
--- /dev/null
+++ b/package/flex/Makefile
@@ -0,0 +1,27 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= flex
+PKG_VERSION:= 2.5.35
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 201d3f38758d95436cbc64903386de0b
+PKG_DESCR:= fast lexical analyzer
+PKG_SECTION:= utils
+PKG_URL:= http://flex.sourceforge.net/
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=${PKG_NAME}/}
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,FLEX,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_STYLE:= gnu
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_FLEX}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/flex ${IDIR_FLEX}/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/gcc/Makefile b/package/gcc/Makefile
index c348c9b4b..e2b0739ba 100644
--- a/package/gcc/Makefile
+++ b/package/gcc/Makefile
@@ -7,10 +7,11 @@ include ${TOPDIR}/toolchain/gcc/Makefile.inc
PKG_DESCR:= GNU compiler collection
PKG_SECTION:= comp
PKG_DEPENDS:= mpfr
+PKG_OPTS:= noremove
include ${TOPDIR}/mk/package.mk
-$(eval $(call PKG_template,GCC,gcc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,GCC,gcc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
TCFLAGS:= ''
TCPPFLAGS:= ''
@@ -46,7 +47,6 @@ ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
else
${CP} ${STAGING_DIR}/usr/lib/crt* ${IDIR_GCC}/usr/lib
endif
- rm ${IDIR_GCC}/usr/lib/gcc/*/*/crtendS.o
rm -rf ${IDIR_GCC}/usr/lib/gcc/*/*/include-fixed
rm -rf ${IDIR_GCC}/usr/lib/gcc/*/*/install-tools
diff --git a/package/git/Config.in b/package/git/Config.in
index 0ee3e3ea3..c897385a7 100644
--- a/package/git/Config.in
+++ b/package/git/Config.in
@@ -4,6 +4,7 @@ config ADK_PACKAGE_GIT
select ADK_PACKAGE_LIBOPENSSL
select ADK_PACKAGE_LIBCURL
select ADK_PACKAGE_LIBEXPAT
+ select ADK_PACKAGE_LIBPTHREAD
default n
help
Fast version control system.
diff --git a/package/glibc/Makefile b/package/glibc/Makefile
index f3c2bd9c7..e8ba0cd91 100644
--- a/package/glibc/Makefile
+++ b/package/glibc/Makefile
@@ -7,10 +7,11 @@ include $(TOPDIR)/toolchain/glibc/Makefile.inc
PKG_DESCR:= GNU C library
PKG_SECTION:= base
NO_DISTFILES:= 1
+PKG_OPTS:= noremove
include $(TOPDIR)/mk/package.mk
-$(eval $(call PKG_template,GLIBC,glibc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,GLIBC,glibc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
do-extract:
diff --git a/package/gperf/Config.in b/package/gperf/Config.in
new file mode 100644
index 000000000..6e5368708
--- /dev/null
+++ b/package/gperf/Config.in
@@ -0,0 +1,7 @@
+config ADK_PACKAGE_GPERF
+ prompt "gperf.............................. perfect hash function generator"
+ tristate
+ default n
+ select ADK_PACKAGE_LIBSTDCXX
+ help
+ http://www.gnu.org/software/gperf/
diff --git a/package/gperf/Makefile b/package/gperf/Makefile
new file mode 100644
index 000000000..da90d16b8
--- /dev/null
+++ b/package/gperf/Makefile
@@ -0,0 +1,27 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= gperf
+PKG_VERSION:= 3.0.4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= c1f1db32fb6598d6a93e6e88796a8632
+PKG_DESCR:= perfect hash function generator
+PKG_SECTION:= comp
+PKG_URL:= http://www.gnu.org/software/gperf/
+PKG_SITES:= ${MASTER_SITE_GNU:=${PKG_NAME}/}
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,GPERF,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_STYLE:= gnu
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_GPERF}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/gperf ${IDIR_GPERF}/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libtool/Config.in b/package/libtool/Config.in
index 5d26b838b..64ac0f3e5 100644
--- a/package/libtool/Config.in
+++ b/package/libtool/Config.in
@@ -12,3 +12,11 @@ config ADK_PACKAGE_LIBLTDL
http://www.gnu.org/software/libtool/
+config ADK_PACKAGE_LIBTOOL
+ prompt "libtool........................... Libtool"
+ tristate
+ default n
+ select ADK_COMPILE_LIBTOOL
+ help
+ http://www.gnu.org/software/libtool/
+
diff --git a/package/libtool/Makefile b/package/libtool/Makefile
index 40aa46663..1d5a0812f 100644
--- a/package/libtool/Makefile
+++ b/package/libtool/Makefile
@@ -14,6 +14,7 @@ PKG_SITES:= ${MASTER_SITE_GNU:=libtool/}
include ${TOPDIR}/mk/package.mk
+$(eval $(call PKG_template,LIBTOOL,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,LIBLTDL,libltdl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
CONFIGURE_STYLE= gnu
@@ -23,5 +24,8 @@ INSTALL_STYLE= auto
post-install:
${INSTALL_DIR} ${IDIR_LIBLTDL}/usr/lib
${CP} ${WRKINST}/usr/lib/libltdl.so.* ${IDIR_LIBLTDL}/usr/lib/
+ ${INSTALL_DIR} ${IDIR_LIBTOOL}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/libtool ${IDIR_LIBTOOL}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/libtoolize ${IDIR_LIBTOOL}/usr/bin
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/m4/Config.in b/package/m4/Config.in
new file mode 100644
index 000000000..426c772f6
--- /dev/null
+++ b/package/m4/Config.in