summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-08-20 20:41:41 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2009-08-20 20:41:41 +0200
commit70c44baa23fbf86a888f6f37a75bca10a631a01c (patch)
treecf5d557fddf53ddb4851a0ae5db68c3ff9f5407e /package
parentdd35f8739be06beda5a2e2d3f753056cf1fb724a (diff)
add eglibc support
all three libraries tested with qemu-x86
Diffstat (limited to 'package')
-rw-r--r--package/Config.in1
-rw-r--r--package/Makefile3
-rw-r--r--package/eglibc/Config.in9
-rw-r--r--package/eglibc/Makefile34
4 files changed, 47 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 96aeec3aa..889f58686 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -11,6 +11,7 @@ source "package/busybox/Config.in"
source "package/cfgfs/Config.in"
source "package/uclibc/Config.in"
source "package/glibc/Config.in"
+source "package/eglibc/Config.in"
source "package/libc/Config.in"
source "package/rpm/Config.in"
endmenu
diff --git a/package/Makefile b/package/Makefile
index 68d6cc5f5..3b00cfb0b 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -107,6 +107,9 @@ package-$(ADK_PACKAGE_GLIB) += glib
ifeq (${ADK_TARGET_LIB_GLIBC},y)
package-$(ADK_PACKAGE_GLIBC) += glibc
endif
+ifeq (${ADK_TARGET_LIB_EGLIBC},y)
+package-$(ADK_PACKAGE_EGLIBC) += eglibc
+endif
ifeq (${ADK_NATIVE},y)
package-$(ADK_PACKAGE_LIBC) += libc
endif
diff --git a/package/eglibc/Config.in b/package/eglibc/Config.in
new file mode 100644
index 000000000..80b6ad6d7
--- /dev/null
+++ b/package/eglibc/Config.in
@@ -0,0 +1,9 @@
+config ADK_PACKAGE_EGLIBC
+ prompt "eglibc............................... embedded GNU C library"
+ bool
+ default y if ADK_TARGET_LIB_EGLIBC
+ default n
+ depends on ADK_TARGET_LIB_EGLIBC
+ help
+ embedded GNU C library.
+
diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile
new file mode 100644
index 000000000..d8bec6f9c
--- /dev/null
+++ b/package/eglibc/Makefile
@@ -0,0 +1,34 @@
+# 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
+include $(TOPDIR)/toolchain/eglibc/Makefile.inc
+
+PKG_DESCR:= embedded GNU C library
+PKG_SECTION:= base
+NO_DISTFILES:= 1
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,EGLIBC,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+do-extract:
+
+# do nothing, eglibc is already build in toolchain directory
+do-install:
+ ${INSTALL_DIR} $(IDIR_EGLIBC)/lib $(IDIR_EGLIBC)/etc
+ # install /etc/localtime from host system (FIXME)
+ ${CP} /etc/localtime $(IDIR_EGLIBC)/etc
+ifeq ($(ADK_SSP),y)
+ $(CP) $(STAGING_DIR)/lib/libssp.so* $(IDIR_EGLIBC)/lib/
+endif
+ $(CP) $(STAGING_DIR)/lib/libgcc_s.so.* $(IDIR_EGLIBC)/lib/
+ $(CP) $(STAGING_DIR)/lib/ld-*.so* $(IDIR_EGLIBC)/lib/
+ -for file in libc libcrypt libdl libm libresolv librt libutil libnss_compat libnss_dns libnss_files; do \
+ $(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 ldd
+ cd $(IDIR_EGLIBC)/lib && ln -sf ld-$(PKG_VERSION).so ld.so
+
+include ${TOPDIR}/mk/pkg-bottom.mk