summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/glibc/glibc-intermediate_2.4.bb20
-rw-r--r--packages/glibc/glibc_2.4.bb11
2 files changed, 26 insertions, 5 deletions
diff --git a/packages/glibc/glibc-intermediate_2.4.bb b/packages/glibc/glibc-intermediate_2.4.bb
index ce3d20b2fd..d416cd0d30 100644
--- a/packages/glibc/glibc-intermediate_2.4.bb
+++ b/packages/glibc/glibc-intermediate_2.4.bb
@@ -7,6 +7,26 @@ do_install () {
:
}
+
+#glibc 2.4 ships with it's own copy of linux headers, so we have to make them available
+do_stage_prepend () {
+ install -d ${STAGING_INCDIR}
+ rm -rf ${STAGING_INCDIR}/linux ${STAGING_INCDIR}/asm
+ #fix up some wrong symlinking
+ rm -rf ${WORKDIR}/linux-libc-headers-${LIBC_HEADER_VERSION}/include/asm-${TARGET_ARCH}/asm-${TARGET_ARCH}
+ #copy the bits into place
+ cp -pfLR ${WORKDIR}/linux-libc-headers-${LIBC_HEADER_VERSION}/include/linux ${STAGING_INCDIR}/
+ cp -pfLR ${WORKDIR}/linux-libc-headers-${LIBC_HEADER_VERSION}/include/asm-* ${STAGING_INCDIR}/
+ ln -sf ${STAGING_INCDIR}/asm-${TARGET_ARCH} ${STAGING_INCDIR}/asm
+
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/linux
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/asm
+ cp -pfLR ${WORKDIR}/linux-libc-headers-${LIBC_HEADER_VERSION}/include/linux ${CROSS_DIR}/${TARGET_SYS}/include/
+ cp -pfLR ${WORKDIR}/linux-libc-headers-${LIBC_HEADER_VERSION}/include/asm-* ${CROSS_DIR}/${TARGET_SYS}/include/
+ ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/asm-${TARGET_ARCH} ${CROSS_DIR}/${TARGET_SYS}/include/asm
+}
+
PACKAGES = ""
PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial"
diff --git a/packages/glibc/glibc_2.4.bb b/packages/glibc/glibc_2.4.bb
index ebc92e8413..4bca00c63f 100644
--- a/packages/glibc/glibc_2.4.bb
+++ b/packages/glibc/glibc_2.4.bb
@@ -4,12 +4,13 @@ LICENSE = "LGPL"
SECTION = "libs"
PRIORITY = "required"
DEFAULT_PREFERENCE = "-1"
-PR = "r1"
+PR = "r2"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-2.4"
GLIBC_ADDONS ?= "ports,nptl,libidn"
GLIBC_EXTRA_OECONF ?= ""
+LIBC_HEADER_VERSION = "2.6.15.99"
GLIBC_BROKEN_LOCALES = "sid_ET tr_TR mn_MN"
@@ -32,7 +33,7 @@ python __anonymous () {
# nptl needs unwind support in gcc, which can't be built without glibc.
PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
PROVIDES += "virtual/libintl virtual/libiconv"
-DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']}"
RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
INHIBIT_DEFAULT_DEPS = "1"
@@ -45,7 +46,7 @@ INHIBIT_DEFAULT_DEPS = "1"
SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.4.tar.bz2 \
ftp://ftp.gnu.org/pub/gnu/glibc/glibc-ports-2.4.tar.bz2 \
ftp://ftp.gnu.org/pub/gnu/glibc/glibc-libidn-2.4.tar.bz2 \
- http://ewi546.ewi.utwente.nl/OE/eabi/linux-libc-headers-2.6.15.99.tar.bz2 \
+ http://ewi546.ewi.utwente.nl/OE/eabi/linux-libc-headers-${LIBC_HEADER_VERSION}.tar.bz2 \
file://arm-memcpy.patch;patch=1 \
file://arm-longlong.patch;patch=1 \
file://fhs-linux-paths.patch;patch=1 \
@@ -69,7 +70,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
--without-cvs --disable-profile --disable-debug --without-gd \
--enable-clocale=gnu \
--enable-add-ons=${GLIBC_ADDONS} \
- --with-headers=${WORKDIR}/linux-libc-headers-2.6.15.99/include \
+ --with-headers=${WORKDIR}/linux-libc-headers-${LIBC_HEADER_VERSION}/include \
--without-selinux \
${GLIBC_EXTRA_OECONF}"
@@ -111,7 +112,7 @@ do_munge() {
rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/utmp.h
# Create kernel headers symlink
- ln -s asm-${TARGET_ARCH} ${WORKDIR}/linux-libc-headers-2.6.15.99/include/asm
+ ln -s asm-${TARGET_ARCH} ${WORKDIR}/linux-libc-headers-${LIBC_HEADER_VERSION}/include/asm
# http://www.handhelds.org/hypermail/oe/51/5135.html
# Some files were moved around between directories on