diff options
author | Waldemar Brodkorb <mail@waldemar-brodkorb.de> | 2012-10-05 14:49:13 +0200 |
---|---|---|
committer | Waldemar Brodkorb <mail@waldemar-brodkorb.de> | 2012-10-05 14:49:13 +0200 |
commit | f3db9f0c592ad982d6702ce8314888d97e2de68b (patch) | |
tree | 221a3d6adf72e19928c916ece41040ca46d95441 /package | |
parent | 6c6f588279720346ef20948130884437b0cd9e6d (diff) |
make libgcc static for busybox, make librt separate package, remove dependency to libtirpc, disable inetd, add preliminary multilib support (not working right now),enable 32/64 bit kernel support for x86_64
Diffstat (limited to 'package')
-rw-r--r-- | package/busybox/Config.in.manual | 2 | ||||
-rw-r--r-- | package/busybox/Makefile | 8 | ||||
-rw-r--r-- | package/busybox/config/networking/Config.in | 4 | ||||
-rw-r--r-- | package/eglibc/Makefile | 34 | ||||
-rw-r--r-- | package/glibc/Makefile | 18 | ||||
-rw-r--r-- | package/libgcc/Makefile | 6 | ||||
-rw-r--r-- | package/libpthread/Makefile | 4 | ||||
-rw-r--r-- | package/librt/Makefile | 47 | ||||
-rw-r--r-- | package/librt/files/libpthread.postinst | 4 | ||||
-rw-r--r-- | package/librt/files/libpthread.so.arm | 5 | ||||
-rw-r--r-- | package/librt/files/libpthread.so.x86 | 5 | ||||
-rw-r--r-- | package/librt/files/libpthread.so.x86_64 | 5 | ||||
-rw-r--r-- | package/uclibc/Makefile | 24 |
13 files changed, 107 insertions, 59 deletions
diff --git a/package/busybox/Config.in.manual b/package/busybox/Config.in.manual index a26169686..ffba6e89b 100644 --- a/package/busybox/Config.in.manual +++ b/package/busybox/Config.in.manual @@ -8,8 +8,6 @@ config ADK_PACKAGE_BUSYBOX boolean select ADK_COMPILE_BUSYBOX default y if !ADK_TOOLCHAIN_ONLY - select ADK_PACKAGE_LIBTIRPC - select ADK_PACKAGE_LIBPTHREAD help Core utilities for embedded Linux systems diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 6b40bf082..34b274d96 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -9,7 +9,7 @@ PKG_RELEASE:= 1 PKG_MD5SUM:= e025414bc6cd79579cc7a32a45d3ae1c PKG_DESCR:= Core utilities for embedded systems PKG_SECTION:= base -PKG_BUILDDEP:= libtirpc +#PKG_BUILDDEP:= libtirpc PKG_URL:= http://www.busybox.net/ PKG_SITES:= http://www.busybox.net/downloads/ @@ -37,11 +37,11 @@ INSTALL_STYLE:= manual BB_MAKE_FLAGS:= V=1 IPKG_ARCH="${CPU_ARCH}" ARCH="${ARCH}" GCC_HONOUR_COPTS=s \ HOSTCC="${CC_FOR_BUILD}" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" \ - -C ${WRKBUILD} + -C ${WRKBUILD} ifneq (${ADK_NATIVE},y) -BB_MAKE_FLAGS+= CROSS_COMPILE="$(TARGET_CROSS)" EXTRA_LDFLAGS='-pthread -ltirpc' EXTRA_CPPFLAGS="-I$(STAGING_DIR)/usr/include/tirpc" +BB_MAKE_FLAGS+= CROSS_COMPILE="$(TARGET_CROSS)" EXTRA_LDFLAGS='-static-libgcc' else -BB_MAKE_FLAGS+= EXTRA_CPPFLAGS="-I/usr/include/tirpc" +BB_MAKE_FLAGS+= EXTRA_LDFLAGS="-static-libgcc" endif # XXX: Although this looks like all new symbols are enabled when 'make oldconfig' runs, they're not. diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in index 18355025f..233ee996d 100644 --- a/package/busybox/config/networking/Config.in +++ b/package/busybox/config/networking/Config.in @@ -551,7 +551,7 @@ config BUSYBOX_FEATURE_IFUPDOWN_EXTERNAL_DHCP config BUSYBOX_INETD bool "inetd" - default y + default n select BUSYBOX_FEATURE_SYSLOG help Internet superserver daemon @@ -593,7 +593,7 @@ config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN config BUSYBOX_FEATURE_INETD_RPC bool "Support RPC services" - default y + default n depends on BUSYBOX_INETD select BUSYBOX_FEATURE_HAVE_RPC help diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile index 60dcb25d1..0ea35d935 100644 --- a/package/eglibc/Makefile +++ b/package/eglibc/Makefile @@ -53,31 +53,15 @@ ifeq ($(ADK_LOCALES),y) ${INSTALL_DIR} $(IDIR_EGLIBC)/usr/bin $(CP) $(STAGING_TARGET_DIR)/usr/bin/locale $(IDIR_EGLIBC)/usr/bin endif - ${INSTALL_DIR} $(IDIR_EGLIBC)/lib $(IDIR_EGLIBC)/etc \ + ${INSTALL_DIR} $(IDIR_EGLIBC)/$(ADK_TARGET_LIBC_PATH) $(IDIR_EGLIBC)/etc \ $(IDIR_EGLIBC)/usr/lib $(IDIR_EGLIBC)/usr/bin - #cd ${STAGING_TARGET_DIR} && for f in UTC ${ADK_RUNTIME_TIMEZONE}; do \ - # test -s usr/share/zoneinfo/"$$f" || continue; \ - # echo usr/share/zoneinfo/"$$f" | \ - # ${TOOLS_DIR}/cpio -pdu ${IDIR_EGLIBC}/; \ - #done - #tz=; cd ${IDIR_EGLIBC}/usr/share/zoneinfo || exit 1; \ - # for f in UTC ${ADK_RUNTIME_TIMEZONE}; do \ - # test -s "$$f" || continue; \ - # tz=$$f; \ - #done; if test x"$$tz" = x""; then \ - # echo >&2 Error during timezone installation; \ - # exit 1; \ - #else \ - # ln -sf "../usr/share/zoneinfo/$$tz" \ - # ${IDIR_EGLIBC}/etc/localtime; \ - #fi ifeq ($(ADK_TOOLCHAIN_GCC_USE_SSP),y) - $(CP) $(STAGING_TARGET_DIR)/lib/libssp.so* $(IDIR_EGLIBC)/lib + $(CP) $(STAGING_TARGET_DIR)/lib/libssp.so* $(IDIR_EGLIBC)/$(ADK_TARGET_LIBC_PATH) endif - $(CP) $(STAGING_TARGET_DIR)/lib/ld* $(IDIR_EGLIBC)/lib - -for file in libc libcrypt libdl libm libresolv librt libutil libnsl libnss_dns libnss_files; do \ - $(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_EGLIBC)/lib; \ - $(CP) $(STAGING_TARGET_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_EGLIBC)/lib; \ + $(CP) $(STAGING_TARGET_DIR)/lib/ld* $(IDIR_EGLIBC)/$(ADK_TARGET_LIBC_PATH) + -for file in libc libcrypt libdl libm libresolv libutil libnsl libnss_dns libnss_files; do \ + $(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_EGLIBC)/$(ADK_TARGET_LIBC_PATH); \ + $(CP) $(STAGING_TARGET_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_EGLIBC)/$(ADK_TARGET_LIBC_PATH); \ done ${INSTALL_DATA} ${STAGING_TARGET_DIR}/etc/gai.conf ${IDIR_EGLIBC}/etc ${INSTALL_DATA} ${STAGING_TARGET_DIR}/etc/nscd.conf ${IDIR_EGLIBC}/etc @@ -89,7 +73,7 @@ eglibc-static-install: $(CP) $(STAGING_TARGET_DIR)/usr/lib/libc.a $(IDIR_EGLIBC_STATIC)/usr/lib eglibc-dev-install: - ${INSTALL_DIR} $(IDIR_EGLIBC_DEV)/lib $(IDIR_EGLIBC_DEV)/usr/lib + ${INSTALL_DIR} $(IDIR_EGLIBC_DEV)/$(ADK_TARGET_LIBC_PATH) $(IDIR_EGLIBC_DEV)/usr/lib # install linker script -cp ./files/libc.so.$(CPU_ARCH) $(IDIR_EGLIBC_DEV)/usr/lib/libc.so ifeq ($(ADK_TARGET_ABI_O32),y) @@ -103,8 +87,8 @@ ifeq ($(ADK_TARGET_ABI_N64),y) endif ${CP} ${STAGING_TARGET_DIR}/usr/lib/crt* ${IDIR_EGLIBC_DEV}/usr/lib ${CP} ${STAGING_TARGET_DIR}/usr/lib/libc_nonshared.a ${IDIR_EGLIBC_DEV}/usr/lib - -for file in libcrypt libdl libm libresolv librt libutil libnsl; do \ - cd $(IDIR_EGLIBC_DEV)/lib/; ln -sf $$file-$(PKG_VERSION).so $$file.so; \ + -for file in libcrypt libdl libm libresolv libutil libnsl; do \ + cd $(IDIR_EGLIBC_DEV)/$(ADK_TARGET_LIBC_PATH)/; ln -sf $$file-$(PKG_VERSION).so $$file.so; \ done # header package $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-linux-$(KERNEL_VERSION)-$(KERNEL_RELEASE)/linux-$(KERNEL_VERSION) \ diff --git a/package/glibc/Makefile b/package/glibc/Makefile index 91ebc1f77..9655288a6 100644 --- a/package/glibc/Makefile +++ b/package/glibc/Makefile @@ -31,28 +31,28 @@ INSTALL_STYLE:= manual # compile nothing, glibc is already build in toolchain directory do-install: - ${INSTALL_DIR} ${IDIR_GLIBC}/lib ${IDIR_GLIBC}/etc + ${INSTALL_DIR} ${IDIR_GLIBC}/$(ADK_TARGET_LIBC_PATH) ${IDIR_GLIBC}/etc ${CP} ${STAGING_TARGET_DIR}/etc/gai.conf ${IDIR_GLIBC}/etc ${CP} ${STAGING_TARGET_DIR}/etc/nscd.conf ${IDIR_GLIBC}/etc ${CP} ${STAGING_TARGET_DIR}/etc/nsswitch.conf ${IDIR_GLIBC}/etc ifeq ($(ADK_TOOLCHAIN_GCC_USE_SSP),y) - $(CP) $(STAGING_TARGET_DIR)/lib/libssp.so* $(IDIR_GLIBC)/lib + $(CP) $(STAGING_TARGET_DIR)/lib/libssp.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH) endif - $(CP) $(STAGING_TARGET_DIR)/lib/ld*.so* $(IDIR_GLIBC)/lib - for file in libc libcrypt libdl libm libnsl libresolv librt libutil libnss_compat libnss_dns libnss_files; do \ - $(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_GLIBC)/lib; \ - $(CP) $(STAGING_TARGET_DIR)/lib/$$file-$(PKG_VER).so $(IDIR_GLIBC)/lib; \ + $(CP) $(STAGING_TARGET_DIR)/lib/ld*.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH) + for file in libc libcrypt libdl libm libnsl libresolv libutil libnss_compat libnss_dns libnss_files; do \ + $(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \ + $(CP) $(STAGING_TARGET_DIR)/lib/$$file-$(PKG_VER).so $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \ done glibc-dev-install: echo $(TARGET_CFLAGS) - ${INSTALL_DIR} $(IDIR_GLIBC_DEV)/lib $(IDIR_GLIBC_DEV)/usr/lib + ${INSTALL_DIR} $(IDIR_GLIBC_DEV)/$(ADK_TARGET_LIBC_PATH) $(IDIR_GLIBC_DEV)/usr/lib # install linker script -cp ./files/libc.so.$(CPU_ARCH) $(IDIR_GLIBC_DEV)/usr/lib/libc.so ${CP} ${STAGING_TARGET_DIR}/usr/lib/crt* ${IDIR_GLIBC_DEV}/usr/lib ${CP} ${STAGING_TARGET_DIR}/usr/lib/libc_nonshared.a ${IDIR_GLIBC_DEV}/usr/lib - -for file in libcrypt libdl libm libresolv librt libutil; do \ - cd $(IDIR_GLIBC_DEV)/lib; ln -sf $$file-$(PKG_VER).so $$file.so; \ + -for file in libcrypt libdl libm libresolv libutil; do \ + cd $(IDIR_GLIBC_DEV)/$(ADK_TARGET_LIBC_PATH); ln -sf $$file-$(PKG_VER).so $$file.so; \ done # header package $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-linux-$(KERNEL_VERSION)-$(KERNEL_RELEASE)/linux-$(KERNEL_VERSION) \ diff --git a/package/libgcc/Makefile b/package/libgcc/Makefile index 6f5208c9f..bea6792e7 100644 --- a/package/libgcc/Makefile +++ b/package/libgcc/Makefile @@ -7,7 +7,7 @@ include ${TOPDIR}/toolchain/gcc/Makefile.inc PKG_NAME:= libgcc PKG_DESCR:= GCC library PKG_SECTION:= libs -PKG_DFLT_LIBGCC:= y if !ADK_TOOLCHAIN_ONLY +#PKG_DFLT_LIBGCC:= y if !ADK_TOOLCHAIN_ONLY NO_DISTFILES:= 1 @@ -23,8 +23,8 @@ INSTALL_STYLE:= manual do-install: ifeq ($(ADK_NATIVE),) - ${INSTALL_DIR} ${IDIR_LIBGCC}/lib - ${CP} ${STAGING_TARGET_DIR}/lib/libgcc*.so* ${IDIR_LIBGCC}/lib + ${INSTALL_DIR} ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH) + ${CP} ${STAGING_TARGET_DIR}/lib/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH) endif include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/libpthread/Makefile b/package/libpthread/Makefile index c14dc6c43..04f777650 100644 --- a/package/libpthread/Makefile +++ b/package/libpthread/Makefile @@ -40,8 +40,8 @@ INSTALL_STYLE:= manual libpthread-install: ifeq ($(ADK_NATIVE),) - ${INSTALL_DIR} ${IDIR_LIBPTHREAD}/lib - ${CP} ${STAGING_TARGET_DIR}/lib/libpthread*.so* ${IDIR_LIBPTHREAD}/lib + ${INSTALL_DIR} ${IDIR_LIBPTHREAD}/$(ADK_TARGET_LIBC_PATH) + ${CP} ${STAGING_TARGET_DIR}/lib/libpthread*.so* ${IDIR_LIBPTHREAD}/$(ADK_TARGET_LIBC_PATH) endif include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/librt/Makefile b/package/librt/Makefile new file mode 100644 index 000000000..e3f9ee052 --- /dev/null +++ b/package/librt/Makefile @@ -0,0 +1,47 @@ +# 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 + +ifeq ($(ADK_TARGET_LIB_GLIBC),y) +include ${TOPDIR}/toolchain/glibc/Makefile.inc +endif +ifeq ($(ADK_TARGET_LIB_EGLIBC),y) +include ${TOPDIR}/toolchain/eglibc/Makefile.inc +endif +ifeq ($(ADK_TARGET_LIB_UCLIBC),y) +include ${TOPDIR}/toolchain/uClibc/Makefile.inc +endif +ifeq ($(ADK_NATIVE),y) +PKG_VERSION:= 1.0 +PKG_RELEASE:= 1 +endif + +PKG_NAME:= librt +PKG_DESCR:= Realtime library +PKG_SECTION:= libs +PKG_OPTS:= noremove + +NO_DISTFILES:= 1 + +PKG_SUBPKGS:= LIBRT + +ifeq ($(ADK_STATIC),y) +PKG_OPTS+= libonly +endif + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,LIBRT,librt,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) + +CONFIG_STYLE:= manual +BUILD_STYLE:= manual +INSTALL_STYLE:= manual + +librt-install: +ifeq ($(ADK_NATIVE),) + ${INSTALL_DIR} ${IDIR_LIBR}/$(ADK_TARGET_LIBC_PATH) + ${CP} ${STAGING_TARGET_DIR}/lib/librt*.so* ${IDIR_LIBR}/$(ADK_TARGET_LIBC_PATH) +endif + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/librt/files/libpthread.postinst b/package/librt/files/libpthread.postinst new file mode 100644 index 000000000..76a6c81a4 --- /dev/null +++ b/package/librt/files/libpthread.postinst @@ -0,0 +1,4 @@ +#!/bin/sh +if [ ! -z $IPKG_INSTROOT ];then + (cd $IPKG_INSTROOT/lib && ln -sf libpthread.so.0 libpthread.so) +fi diff --git a/package/librt/files/libpthread.so.arm b/package/librt/files/libpthread.so.arm new file mode 100644 index 000000000..73f6b6c9d --- /dev/null +++ b/package/librt/files/libpthread.so.arm @@ -0,0 +1,5 @@ +/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +OUTPUT_FORMAT(elf32-arm) +GROUP ( /lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a ) diff --git a/package/librt/files/libpthread.so.x86 b/package/librt/files/libpthread.so.x86 new file mode 100644 index 000000000..e7555c820 --- /dev/null +++ b/package/librt/files/libpthread.so.x86 @@ -0,0 +1,5 @@ +/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +OUTPUT_FORMAT(elf32-i386) +GROUP ( /lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a ) diff --git a/package/librt/files/libpthread.so.x86_64 b/package/librt/files/libpthread.so.x86_64 new file mode 100644 index 000000000..b0e31f904 --- /dev/null +++ b/package/librt/files/libpthread.so.x86_64 @@ -0,0 +1,5 @@ +/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +OUTPUT_FORMAT(elf64-x86-64) +GROUP ( /lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a ) diff --git a/package/uclibc/Makefile b/package/uclibc/Makefile index b2d7c4dc1..5319881d8 100644 --- a/package/uclibc/Makefile +++ b/package/uclibc/Makefile @@ -25,33 +25,33 @@ INSTALL_STYLE:= manual # do nothing, uClibc is already build in toolchain directory do-install: - ${INSTALL_DIR} $(IDIR_UCLIBC)/lib $(IDIR_UCLIBC)/etc + ${INSTALL_DIR} $(IDIR_UCLIBC)/$(ADK_TARGET_LIBC_PATH) $(IDIR_UCLIBC)/etc # create timezone file test -z $(ADK_RUNTIME_TIMEZONE) || \ grep $(ADK_RUNTIME_TIMEZONE) ./files/tz.lst | \ cut -f 2 > $(IDIR_UCLIBC)/etc/TZ ifeq ($(ADK_TOOLCHAIN_GCC_USE_SSP),y) - $(CP) $(STAGING_TARGET_DIR)/lib/libssp.so* $(IDIR_UCLIBC)/lib + $(CP) $(STAGING_TARGET_DIR)/lib/libssp.so* $(IDIR_UCLIBC)/$(ADK_TARGET_LIBC_PATH) endif - $(CP) $(STAGING_TARGET_DIR)/lib/libc.so.* $(IDIR_UCLIBC)/lib + $(CP) $(STAGING_TARGET_DIR)/lib/libc.so.* $(IDIR_UCLIBC)/$(ADK_TARGET_LIBC_PATH) $(CP) $(STAGING_TARGET_DIR)/lib/libuClibc-$(PKG_VERSION).so \ - $(IDIR_UCLIBC)/lib + $(IDIR_UCLIBC)/$(ADK_TARGET_LIBC_PATH) $(CP) $(STAGING_TARGET_DIR)/lib/ld*-uClibc-$(PKG_VERSION).so \ - $(IDIR_UCLIBC)/lib - $(CP) $(STAGING_TARGET_DIR)/lib/ld*-uClibc.so.* $(IDIR_UCLIBC)/lib - -for file in libcrypt libdl libm libresolv librt libutil; do \ - $(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_UCLIBC)/lib; \ + $(IDIR_UCLIBC)/$(ADK_TARGET_LIBC_PATH) + $(CP) $(STAGING_TARGET_DIR)/lib/ld*-uClibc.so.* $(IDIR_UCLIBC)/$(ADK_TARGET_LIBC_PATH) + -for file in libcrypt libdl libm libresolv libutil; do \ + $(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_UCLIBC)/$(ADK_TARGET_LIBC_PATH); \ $(CP) $(STAGING_TARGET_DIR)/lib/$$file-$(PKG_VERSION).so \ - $(IDIR_UCLIBC)/lib; \ + $(IDIR_UCLIBC)/$(ADK_TARGET_LIBC_PATH); \ done uclibc-dev-install: - ${INSTALL_DIR} ${IDIR_UCLIBC_DEV}/usr/lib ${IDIR_UCLIBC_DEV}/lib + ${INSTALL_DIR} ${IDIR_UCLIBC_DEV}/usr/lib ${IDIR_UCLIBC_DEV}/$(ADK_TARGET_LIBC_PATH) ${CP} ${STAGING_TARGET_DIR}/usr/lib/libc.so ${IDIR_UCLIBC_DEV}/usr/lib ${CP} ${STAGING_TARGET_DIR}/usr/lib/uclibc_nonshared.a ${IDIR_UCLIBC_DEV}/usr/lib ${CP} ${STAGING_TARGET_DIR}/usr/lib/crt*.o ${IDIR_UCLIBC_DEV}/usr/lib - for file in libcrypt libdl libm libresolv librt libutil; do \ - cd $(IDIR_UCLIBC_DEV)/lib/; ln -sf $$file-$(PKG_VERSION).so $$file.so; \ + for file in libcrypt libdl libm libresolv libutil; do \ + cd $(IDIR_UCLIBC_DEV)/$(ADK_TARGET_LIBC_PATH); ln -sf $$file-$(PKG_VERSION).so $$file.so; \ done $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-linux-$(KERNEL_VERSION)-$(KERNEL_RELEASE)/linux-$(KERNEL_VERSION) ARCH=$(ARCH) V=1 \ INSTALL_HDR_PATH=$(IDIR_UCLIBC_DEV)/usr \ |