summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--toolchain/eglibc/Makefile16
-rw-r--r--toolchain/eglibc/eglibc.config15
-rw-r--r--toolchain/eglibc/patches/make-mixed-rules.patch15
-rw-r--r--toolchain/glibc/Makefile15
-rw-r--r--toolchain/glibc/Makefile.inc1
-rw-r--r--toolchain/glibc/patches/make-mixed.patch15
6 files changed, 56 insertions, 21 deletions
diff --git a/toolchain/eglibc/Makefile b/toolchain/eglibc/Makefile
index 863cd88ba..7f12ce725 100644
--- a/toolchain/eglibc/Makefile
+++ b/toolchain/eglibc/Makefile
@@ -11,10 +11,8 @@ ifneq ($(ADK_DEBUG),)
TARGET_CFLAGS+= -O2
endif
-EGLIBC_CONFOPTS:= \
- --build=$(GNU_HOST_NAME) \
+EGLIBC_CONFOPTS:= --build=$(GNU_HOST_NAME) \
--host=$(REAL_GNU_TARGET_NAME) \
- --with-headers=$(TOOLCHAIN_SYSROOT)/usr/include \
--disable-nls \
--without-cvs \
--disable-profile \
@@ -49,7 +47,7 @@ $(WRKBUILD)/.headers_configure:
(cd ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION); \
ln -sf ../ports ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)/libc);
$(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
- $(EGLIBC_BUILD_DIR_INITIAL)
+ $(EGLIBC_BUILD_DIR_INITIAL)/option-groups.config
(cd $(EGLIBC_BUILD_DIR_INITIAL); \
${EGLIBC_ENV} \
$(WRKBUILD)/libc/configure \
@@ -60,16 +58,16 @@ $(WRKBUILD)/.headers_configure:
touch $@
$(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
- mkdir -p $(TOOLCHAIN_SYSROOT)/usr/lib
- PATH='${TARGET_PATH}' \
- $(MAKE) -C $(EGLIBC_BUILD_DIR_INITIAL) \
- install-headers install-bootstrap-headers=yes
+ (cd $(EGLIBC_BUILD_DIR_INITIAL); \
+ PATH='${TARGET_PATH}' \
+ $(MAKE) install-headers install-bootstrap-headers=yes \
+ );
touch $@
$(WRKBUILD)/.configured:
mkdir -p $(EGLIBC_BUILD_DIR_FINAL)
$(CP) ${TOPDIR}/toolchain/eglibc/eglibc.config \
- $(EGLIBC_BUILD_DIR_FINAL)
+ $(EGLIBC_BUILD_DIR_FINAL)/option-groups.config
(cd $(EGLIBC_BUILD_DIR_FINAL); \
${EGLIBC_ENV} \
$(WRKBUILD)/libc/configure \
diff --git a/toolchain/eglibc/eglibc.config b/toolchain/eglibc/eglibc.config
index b7f5f96e1..102bfc039 100644
--- a/toolchain/eglibc/eglibc.config
+++ b/toolchain/eglibc/eglibc.config
@@ -13,8 +13,10 @@ OPTION_EGLIBC_BACKTRACE = n
OPTION_EGLIBC_BIG_MACROS = y
OPTION_EGLIBC_BSD = y
OPTION_EGLIBC_CXX_TESTS = n
-OPTION_EGLIBC_CATGETS = n
+OPTION_EGLIBC_CATGETS = y
OPTION_EGLIBC_CHARSETS = n
+OPTION_EGLIBC_CRYPT = y
+OPTION_EGLIBC_CRYPT_UFC = y
OPTION_EGLIBC_DB_ALIASES = n
OPTION_EGLIBC_ENVZ = y
OPTION_EGLIBC_FCVT = y
@@ -22,14 +24,17 @@ OPTION_EGLIBC_FMTMSG = y
OPTION_EGLIBC_FSTAB = y
OPTION_EGLIBC_FTRAVERSE = y
OPTION_EGLIBC_GETLOGIN = y
+OPTION_EGLIBC_IDN = n
OPTION_EGLIBC_INET = y
+OPTION_EGLIBC_INET_ANL = y
OPTION_EGLIBC_LIBM = y
-OPTION_EGLIBC_LOCALES = n
-OPTION_EGLIBC_LOCALE_CODE = n
+OPTION_EGLIBC_LOCALES = y
+OPTION_EGLIBC_LOCALE_CODE = y
OPTION_EGLIBC_MEMUSAGE = y
OPTION_EGLIBC_NIS = n
-OPTION_EGLIBC_NSSWITCH = n
-OPTION_EGLIBC_RCMD = y
+OPTION_EGLIBC_NSSWITCH = y
+OPTION_EGLIBC_RCMD = n
+OPTION_EGLIBC_RTLD_DEBUG = y
OPTION_EGLIBC_SPAWN = y
OPTION_EGLIBC_STREAMS = y
OPTION_EGLIBC_SUNRPC = y
diff --git a/toolchain/eglibc/patches/make-mixed-rules.patch b/toolchain/eglibc/patches/make-mixed-rules.patch
new file mode 100644
index 000000000..06a4af3c0
--- /dev/null
+++ b/toolchain/eglibc/patches/make-mixed-rules.patch
@@ -0,0 +1,15 @@
+diff -Nur eglibc-2.12.1.orig/libc/manual/Makefile eglibc-2.12.1/libc/manual/Makefile
+--- eglibc-2.12.1.orig/libc/manual/Makefile 2010-09-28 19:14:30.000000000 +0200
++++ eglibc-2.12.1/libc/manual/Makefile 2010-11-06 17:05:03.000000000 +0100
+@@ -243,7 +243,10 @@
+ .PHONY: stubs
+ stubs: $(objpfx)stubs
+ endif
+-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
++$(objpfx)stubs ../po/manual.pot:
++ touch $@
++
++$(objpfx)stamp%:
+ $(make-target-directory)
+ touch $@
+
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index 068006059..f97185ab5 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -13,8 +13,7 @@ ifneq ($(ADK_DEBUG),)
TARGET_CFLAGS+=-O2
endif
-GLIBC_CONFOPTS:= \
- --build=$(GNU_HOST_NAME) \
+GLIBC_CONFOPTS:= --build=$(GNU_HOST_NAME) \
--host=$(REAL_GNU_TARGET_NAME) \
--with-headers=$(TOOLCHAIN_SYSROOT)/usr/include \
--disable-nls \
@@ -54,11 +53,11 @@ GLIBC_BUILD_DIR_FINAL:= ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION)-final
$(WRKBUILD)/.headers_configure:
mkdir -p $(GLIBC_BUILD_DIR_INITIAL)
(cd ${WRKDIR}/$(PKG_NAME)-$(PKG_VERSION); \
- ln -sf ../../w-glibc-ports-2.12-1/glibc-ports-2.12/ ports);
+ ln -sf ../../w-glibc-ports-$(GLIBC_PORTS_VERSION)-1/glibc-ports-$(GLIBC_PORTS_VERSION)/ ports);
(cd $(GLIBC_BUILD_DIR_INITIAL); \
${GLIBC_ENV} \
$(WRKBUILD)/configure \
- --prefix=/usr \
+ --prefix=$(TOOLCHAIN_SYSROOT)/usr \
--with-sysroot=$(TOOLCHAIN_SYSROOT) \
${GLIBC_CONFOPTS} \
);
@@ -66,10 +65,12 @@ $(WRKBUILD)/.headers_configure:
$(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
mkdir -p $(TOOLCHAIN_SYSROOT)/usr/lib
- -${GLIBC_ENV} $(MAKE) ${GLIBC_MAKEOPTS} -C $(GLIBC_BUILD_DIR_INITIAL) \
+ (cd $(GLIBC_BUILD_DIR_INITIAL); \
+ ${GLIBC_ENV} \
+ $(MAKE) ${GLIBC_MAKEOPTS} \
cross-compiling=yes \
- install_root=$(TOOLCHAIN_SYSROOT) \
- install-headers
+ install-headers \
+ );
touch $(TOOLCHAIN_SYSROOT)/usr/include/gnu/stubs.h
touch $@
diff --git a/toolchain/glibc/Makefile.inc b/toolchain/glibc/Makefile.inc
index 8ee1ad368..57f4c5aff 100644
--- a/toolchain/glibc/Makefile.inc
+++ b/toolchain/glibc/Makefile.inc
@@ -6,3 +6,4 @@ PKG_VERSION:= 2.12.1
PKG_RELEASE:= 1
PKG_MD5SUM:= a8e77cd873125d9b46ca2e46ee1a13d0
PKG_SITES:= ${MASTER_SITE_GNU:=glibc/}
+GLIBC_PORTS_VERSION:= 2.12
diff --git a/toolchain/glibc/patches/make-mixed.patch b/toolchain/glibc/patches/make-mixed.patch
new file mode 100644
index 000000000..7691eda95
--- /dev/null
+++ b/toolchain/glibc/patches/make-mixed.patch
@@ -0,0 +1,15 @@
+diff -Nur glibc-2.12.1.orig/manual/Makefile glibc-2.12.1/manual/Makefile
+--- glibc-2.12.1.orig/manual/Makefile 2010-07-27 13:34:39.000000000 +0200
++++ glibc-2.12.1/manual/Makefile 2010-11-07 18:24:27.000000000 +0100
+@@ -232,7 +232,10 @@
+ .PHONY: stubs
+ stubs: $(objpfx)stubs
+ endif
+-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
++$(objpfx)stubs ../po/manual.pot:
++ touch $@
++
++$(objpfx)stamp%:
+ $(make-target-directory)
+ touch $@
+