summaryrefslogtreecommitdiff
path: root/packages/eglibc
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2008-07-25 01:12:06 +0000
committerKhem Raj <raj.khem@gmail.com>2008-07-25 01:12:06 +0000
commite96e82cd7ee95d712e2c68f2f9540bdfe727645b (patch)
tree39cdeb09343849bef85eba68c048b9f3b670ac9b /packages/eglibc
parenta3e73146adce111fe67af0886a43acbf7a654bd7 (diff)
Change the toolchain build sequence. Helps in reproducable toolchains components when recompiled. Also same sequence for all different combinations (uclibc/nptl/eglibc/glibc/linuxthreads). Also fixes and patches that I worked to get various ancient compilers working.
Diffstat (limited to 'packages/eglibc')
-rw-r--r--packages/eglibc/eglibc-initial.inc16
-rw-r--r--packages/eglibc/eglibc-intermediate.inc12
-rw-r--r--packages/eglibc/eglibc-intermediate_svn.bb8
-rw-r--r--packages/eglibc/eglibc.inc6
-rw-r--r--packages/eglibc/eglibc_svn.bb2
5 files changed, 16 insertions, 28 deletions
diff --git a/packages/eglibc/eglibc-initial.inc b/packages/eglibc/eglibc-initial.inc
index 342711c157..5fbb5dbda5 100644
--- a/packages/eglibc/eglibc-initial.inc
+++ b/packages/eglibc/eglibc-initial.inc
@@ -1,5 +1,5 @@
SECTION = "libs"
-DEPENDS = "linux-libc-headers"
+DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial"
PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/eglibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
@@ -9,11 +9,13 @@ PACKAGES_DYNAMIC = ""
do_configure () {
sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
chmod +x ${S}/configure
- CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" \
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ find ${S} -name "configure" | xargs touch
${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
+ --prefix=/usr \
--without-cvs --disable-sanity-checks \
--with-headers=${STAGING_DIR_TARGET}${layout_includedir} \
- --enable-hacker-mode
+ --enable-hacker-mode --enable-addons
}
do_compile () {
@@ -22,8 +24,14 @@ do_compile () {
do_stage () {
oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} \
- includedir='${layout_includedir}' prefix='${layout_prefix}' install-headers
+ includedir='${layout_includedir}' prefix='${layout_prefix}' install-headers \
+ install-bootstrap-headers=yes
+ oe_runmake csu/subdir_lib
+ mkdir -p ${STAGING_DIR_TARGET}${layout_libdir}
+ install -m 644 csu/crt[1in].o ${STAGING_DIR_TARGET}${layout_libdir}
+ ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
+ -o ${STAGING_DIR_TARGET}${layout_libdir}/libc.so
}
do_install () {
diff --git a/packages/eglibc/eglibc-intermediate.inc b/packages/eglibc/eglibc-intermediate.inc
deleted file mode 100644
index c226d8658d..0000000000
--- a/packages/eglibc/eglibc-intermediate.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SECTION = "libs"
-PACKAGES = ""
-PACKAGES_DYNAMIC = ""
-PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
-
-do_install () {
- :
-}
-
-GLIBC_ADDONS = "nptl,ports"
-GLIBC_EXTRA_OECONF = ""
diff --git a/packages/eglibc/eglibc-intermediate_svn.bb b/packages/eglibc/eglibc-intermediate_svn.bb
deleted file mode 100644
index 7150f56d26..0000000000
--- a/packages/eglibc/eglibc-intermediate_svn.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require eglibc_${PV}.bb
-require eglibc-intermediate.inc
-
-# gcc uses -Werror which break on a "you have no thumb interwork" _warning_
-do_configure_prepend() {
- find ${S} -name "configure" | xargs touch
- sed -i s:-Werror:: ${S}/configure
-}
diff --git a/packages/eglibc/eglibc.inc b/packages/eglibc/eglibc.inc
index e1559e46e4..5d531a7915 100644
--- a/packages/eglibc/eglibc.inc
+++ b/packages/eglibc/eglibc.inc
@@ -4,12 +4,12 @@ SECTION = "libs"
PRIORITY = "required"
LICENSE = "LGPL"
# nptl needs unwind support in gcc, which can't be built without glibc.
-DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
#this leads to circular deps, so lets not add it yet
#RDEPENDS_ldd += " bash"
# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
-RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
-PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+#RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
PROVIDES += "virtual/libintl virtual/libiconv"
inherit autotools
diff --git a/packages/eglibc/eglibc_svn.bb b/packages/eglibc/eglibc_svn.bb
index e7a4a1ba75..1be10c13ad 100644
--- a/packages/eglibc/eglibc_svn.bb
+++ b/packages/eglibc/eglibc_svn.bb
@@ -3,7 +3,7 @@ require eglibc.inc
# DEFAULT_PREFERENCE = "-1"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/eglibc-svn"
PV = "2.8+svnr${SRCREV}"
-PR = "r6"
+PR = "r7"
SRC_URI = "svn://svn.eglibc.org;module=trunk \
file://eglibc-svn-arm-lowlevellock-include-tls.patch;patch=1 \
file://etc/ld.so.conf \