diff options
Diffstat (limited to 'package/glibc')
-rw-r--r-- | package/glibc/Config.in | 18 | ||||
-rw-r--r-- | package/glibc/Config.in.manual | 18 | ||||
-rw-r--r-- | package/glibc/Makefile | 34 | ||||
-rw-r--r-- | package/glibc/files/libc.so.x86 | 5 | ||||
-rw-r--r-- | package/glibc/files/libc.so.x86_64 | 5 |
5 files changed, 50 insertions, 30 deletions
diff --git a/package/glibc/Config.in b/package/glibc/Config.in index b6879a384..e69de29bb 100644 --- a/package/glibc/Config.in +++ b/package/glibc/Config.in @@ -1,18 +0,0 @@ -config ADK_PACKAGE_GLIBC - prompt "glibc............................... GNU C library" - bool - default y if ADK_TARGET_LIB_GLIBC && !ADK_TOOLCHAIN_ONLY - default n - depends on ADK_TARGET_LIB_GLIBC - help - GNU C library. - -config ADK_PACKAGE_GLIBC_DEV - prompt "glibc-dev........................... development files" - bool - default n - depends on ADK_TARGET_LIB_GLIBC - help - GNU C library header files. - - diff --git a/package/glibc/Config.in.manual b/package/glibc/Config.in.manual new file mode 100644 index 000000000..6e7db32c9 --- /dev/null +++ b/package/glibc/Config.in.manual @@ -0,0 +1,18 @@ +config ADK_PACKAGE_GLIBC + prompt "glibc............................... GNU C library" + bool + default y if ADK_TARGET_LIB_GLIBC && !ADK_TOOLCHAIN_ONLY + default n + depends on ADK_TARGET_LIB_GLIBC + help + GNU C library. + +config ADK_PACKAGE_GLIBC_DEV + prompt "glibc-dev........................... development files" + tristate + default n + depends on ADK_TARGET_LIB_GLIBC + help + GNU C library header files. + + diff --git a/package/glibc/Makefile b/package/glibc/Makefile index c068c3606..084a71918 100644 --- a/package/glibc/Makefile +++ b/package/glibc/Makefile @@ -28,31 +28,41 @@ GLIBC_CONFOPTS:= \ --enable-add-ons $(eval $(call PKG_template,GLIBC,glibc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) +$(eval $(call PKG_template,GLIBC_DEV,glibc-dev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) -do-extract: +CONFIG_STYLE:= manual +BUILD_STYLE:= manual +INSTALL_STYLE:= manual -# do nothing, glibc is already build in toolchain directory -do-install: +SUB_INSTALLS-y:= +SUB_INSTALLS-m:= +SUB_INSTALLS-${ADK_PACKAGE_GLIBC_DEV}+= glibc-dev-install + +# compile nothing, glibc is already build in toolchain directory +do-install: ${SUB_INSTALLS-m} ${SUB_INSTALLS-y} ${INSTALL_DIR} $(IDIR_GLIBC)/lib $(IDIR_GLIBC)/etc # install /etc/localtime from host system (FIXME) ${CP} /etc/localtime $(IDIR_GLIBC)/etc -ifeq ($(ADK_SSP),y) - $(CP) $(STAGING_DIR)/lib/libssp.so* $(IDIR_GLIBC)/lib/ -endif $(CP) $(STAGING_DIR)/lib/libgcc_s.so* $(IDIR_GLIBC)/lib/ $(CP) $(STAGING_DIR)/lib/ld-*.so* $(IDIR_GLIBC)/lib/ - -for file in libc libcrypt libdl libm libresolv librt libutil libnss_compat libnss_dns libnss_files; do \ + -for file in libc libcrypt libdl libm libnsl libresolv librt libutil libnss_compat libnss_dns libnss_files; do \ $(CP) $(STAGING_DIR)/lib/$$file.so* $(IDIR_GLIBC)/lib/; \ $(CP) $(STAGING_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_GLIBC)/lib/; \ done - # create ld.so link for mips gcc linker option - cd $(IDIR_GLIBC)/lib && ln -sf ld-linux.so.2 ld.so.1 + +glibc-dev-install: + ${INSTALL_DIR} $(IDIR_GLIBC_DEV)/lib $(IDIR_GLIBC_DEV)/usr/lib + # install linker script + -cp ./files/libc.so.$(ARCH) $(IDIR_GLIBC_DEV)/usr/lib/libc.so + ${CP} ${STAGING_DIR}/usr/lib/crt* ${IDIR_GLIBC_DEV}/usr/lib + ${CP} ${STAGING_DIR}/usr/lib/libc_nonshared.a ${IDIR_GLIBC_DEV}/usr/lib # header package - $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/linux-$(KERNEL_VERSION) ARCH=$(ARCH) V=1 \ + $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-linux-$(KERNEL_VERSION)-$(KERNEL_RELEASE)/linux-$(KERNEL_VERSION) \ + HOSTCC=$(HOSTCC) ARCH=$(ARCH) V=1 \ INSTALL_HDR_PATH=$(IDIR_GLIBC_DEV)/usr \ headers_install (cd $(WRKBUILD); \ - $(TOOLCHAIN_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/configure \ + $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/$(PKG_NAME)-$(PKG_VERSION)/configure \ --prefix=/usr \ --with-sysroot=$(IDIR_GLIBC_DEV) \ ${GLIBC_CONFOPTS} \ @@ -63,6 +73,6 @@ endif install-headers touch $(IDIR_GLIBC_DEV)/usr/include/gnu/stubs.h touch $(IDIR_GLIBC_DEV)/usr/include/bits/stdio_lim.h - @find $(IDIR_GLIBC_DEV) -name .install -delete + @find $(IDIR_GLIBC_DEV) -name .install -exec rm {} \; include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/glibc/files/libc.so.x86 b/package/glibc/files/libc.so.x86 new file mode 100644 index 000000000..cd8724cc5 --- /dev/null +++ b/package/glibc/files/libc.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/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.2 ) ) diff --git a/package/glibc/files/libc.so.x86_64 b/package/glibc/files/libc.so.x86_64 new file mode 100644 index 000000000..a2e2de87f --- /dev/null +++ b/package/glibc/files/libc.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/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-x86-64.so.2 ) ) |