Toolchain updates:
authorChris Larson <clarson@kergoth.com>
Wed, 4 Aug 2004 07:38:34 +0000 (07:38 +0000)
committerChris Larson <clarson@kergoth.com>
Wed, 4 Aug 2004 07:38:34 +0000 (07:38 +0000)
* Consolodate libc kernel header bits into one place, making uclibc
  build against the 2.6 ones while we're at it.
* Kill off the -initial glibc and uclibc, since first pass gcc can be
  built without it (thanks gb).

BKrev: 4110927a6L5iwvPl5iNtHBpvnsxmOA

30 files changed:
gcc/gcc-cross-initial_3.3.3.oe
gcc/gcc-cross-initial_3.3.4.oe
gcc/gcc-cross-initial_3.4.0.oe
gcc/gcc-cross-initial_3.4.1.oe
glibc/glibc-initial_2.3.2.oe [deleted file]
glibc/glibc-initial_cvs.oe [deleted file]
glibc/glibc_2.3.2+cvs20040726.oe
glibc/glibc_2.3.2.oe
glibc/glibc_cvs.oe
linux-libc-headers/linux-libc-headers_2.6.7.0.oe [moved from uclibc-snapshot/uclibc-snapshot-initial_cvs.oe with 100% similarity]
uclibc-snapshot/uclibc-snapshot/arm/uClibc.config [moved from uclibc/uclibc-0.9.26/uClibc.config.i686 with 100% similarity]
uclibc-snapshot/uclibc-snapshot/i386/uClibc.config [moved from uclibc/uclibc-0.9.26/uClibc.config.mipsel with 100% similarity]
uclibc-snapshot/uclibc-snapshot/i686/uClibc.config [new file with mode: 0644]
uclibc-snapshot/uclibc-snapshot/mipsel/uClibc.config [new file with mode: 0644]
uclibc-snapshot/uclibc-snapshot/nokernelheadercheck.patch [new file with mode: 0644]
uclibc-snapshot/uclibc-snapshot/uClibc.config.arm [deleted file]
uclibc-snapshot/uclibc-snapshot/uClibc.config.i386 [deleted file]
uclibc-snapshot/uclibc-snapshot/uClibc.config.i686 [deleted file]
uclibc-snapshot/uclibc-snapshot/uClibc.config.mipsel [deleted file]
uclibc-snapshot/uclibc-snapshot_cvs.oe
uclibc/uclibc-0.9.26/26headers.patch [new file with mode: 0644]
uclibc/uclibc-0.9.26/arm/uClibc.config [new file with mode: 0644]
uclibc/uclibc-0.9.26/i386/uClibc.config [new file with mode: 0644]
uclibc/uclibc-0.9.26/i686/uClibc.config [new file with mode: 0644]
uclibc/uclibc-0.9.26/mipsel/uClibc.config [new file with mode: 0644]
uclibc/uclibc-0.9.26/nokernelheadercheck.patch [new file with mode: 0644]
uclibc/uclibc-0.9.26/uClibc.config.arm [deleted file]
uclibc/uclibc-0.9.26/uClibc.config.i386 [deleted file]
uclibc/uclibc-initial_0.9.26.oe [deleted file]
uclibc/uclibc_0.9.26.oe

index 0218166..ddf303c 100644 (file)
@@ -1,6 +1,6 @@
 include gcc-cross_${PV}.oe
 
-DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-initial"
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
 
 # This is intended to be a -very- basic config
index 0218166..ddf303c 100644 (file)
@@ -1,6 +1,6 @@
 include gcc-cross_${PV}.oe
 
-DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-initial"
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
 
 # This is intended to be a -very- basic config
index 1ebb504..9e4e70d 100644 (file)
@@ -1,6 +1,6 @@
 include gcc-cross_${PV}.oe
 
-DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-initial"
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
 
 PACKAGES = ""
index 1ebb504..9e4e70d 100644 (file)
@@ -1,6 +1,6 @@
 include gcc-cross_${PV}.oe
 
-DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-initial"
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
 
 PACKAGES = ""
diff --git a/glibc/glibc-initial_2.3.2.oe b/glibc/glibc-initial_2.3.2.oe
deleted file mode 100644 (file)
index 439c3ab..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-include glibc_${PV}.oe
-
-DEPENDS = "patcher-native"
-PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
-FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/glibc-${PV}"
-S = "${WORKDIR}/glibc-${PV}"
-
-PACKAGES = ""
-
-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}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
-               --without-cvs --disable-sanity-checks --with-headers=${HEADERS_DIR}/include \
-               --enable-hacker-mode
-       if grep -q GLIBC_2.3 ${S}/ChangeLog; then
-               # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler.
-               # Fortunately, we don't need errlist-compat.c, since we just need .h files, 
-               # so work around this by creating a fake errlist-compat.c and satisfying its dependencies.
-               # Another workaround might be to tell configure to not use any cross options to $(CC).
-               # The real fix would be to get install-headers to not generate errlist-compat.c.
-               make sysdeps/gnu/errlist.c
-               mkdir -p stdio-common
-               touch stdio-common/errlist-compat.c
-       fi
-}
-
-do_compile () {
-       :
-}
-
-do_stage () {
-       oe_runmake cross-compiling=yes install_root=${CROSS_DIR}/${TARGET_SYS} prefix="" install-headers
-
-       # Two headers -- stubs.h and features.h -- aren't installed by install-headers,
-       # so do them by hand.  We can tolerate an empty stubs.h for the moment.
-       # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
-       mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include/gnu
-       touch ${CROSS_DIR}/${TARGET_SYS}/include/gnu/stubs.h
-       cp ${S}/include/features.h ${CROSS_DIR}/${TARGET_SYS}/include/features.h
-       install -d ${CROSS_DIR}/${TARGET_SYS}/include/asm
-       cp -a ${HEADERS_DIR}/include/linux ${CROSS_DIR}/${TARGET_SYS}/include/
-       cp -R ${HEADERS_DIR}/include/asm/* ${CROSS_DIR}/${TARGET_SYS}/include/asm/
-}
-
-do_install () {
-       :
-}
diff --git a/glibc/glibc-initial_cvs.oe b/glibc/glibc-initial_cvs.oe
deleted file mode 100644 (file)
index be55273..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-include glibc_${PV}.oe
-
-DEPENDS = "patcher-native"
-PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
-FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/glibc-cvs"
-
-PACKAGES = ""
-
-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}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
-               --without-cvs --disable-sanity-checks --with-headers=${HEADERS_DIR}/include \
-               --enable-hacker-mode
-       if grep -q GLIBC_2.3 ${S}/ChangeLog; then
-               # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler.
-               # Fortunately, we don't need errlist-compat.c, since we just need .h files, 
-               # so work around this by creating a fake errlist-compat.c and satisfying its dependencies.
-               # Another workaround might be to tell configure to not use any cross options to $(CC).
-               # The real fix would be to get install-headers to not generate errlist-compat.c.
-               make sysdeps/gnu/errlist.c
-               mkdir -p stdio-common
-               touch stdio-common/errlist-compat.c
-       fi
-}
-
-do_compile () {
-       :
-}
-
-do_stage () {
-       oe_runmake cross-compiling=yes install_root=${CROSS_DIR}/${TARGET_SYS} prefix="" install-headers
-
-       # Two headers -- stubs.h and features.h -- aren't installed by install-headers,
-       # so do them by hand.  We can tolerate an empty stubs.h for the moment.
-       # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
-       mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include/gnu
-       touch ${CROSS_DIR}/${TARGET_SYS}/include/gnu/stubs.h
-       cp ${S}/include/features.h ${CROSS_DIR}/${TARGET_SYS}/include/features.h
-       install -d ${CROSS_DIR}/${TARGET_SYS}/include/asm
-       cp -a ${HEADERS_DIR}/include/linux ${CROSS_DIR}/${TARGET_SYS}/include/
-       cp -R ${HEADERS_DIR}/include/asm/* ${CROSS_DIR}/${TARGET_SYS}/include/asm/
-}
-
-do_install () {
-       :
-}
index aa1bd8c..2fb4fd0 100644 (file)
@@ -29,7 +29,7 @@ PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-d
 
 # 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}']}"
-DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']}"
+DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
 INHIBIT_DEFAULT_DEPS = "1"
 
 libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
@@ -49,14 +49,9 @@ FILES_glibc-pcprofile = "/lib/libpcprofile.so"
 FILES_glibc-thread-db = "/lib/libthread_db*"
 FILES_localedef = "${bindir}/localedef"
 
-HEADERS_VERSION = "2.6.5.1"
-HEADERS_DIR = "${WORKDIR}/linux-libc-headers-${HEADERS_VERSION}"
-
-#         file://noinfo.patch;patch=1 \
-#         file://ldconfig.patch;patch=1;pnum=0 \
-
+#         file://noinfo.patch;patch=1
+#         file://ldconfig.patch;patch=1;pnum=0
 SRC_URI = "cvs://anoncvs@sources.redhat.com/cvs/glibc;module=libc;date=${@oe.data.getVar('PV', d, 1)[9:]} \
-          http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-${HEADERS_VERSION}.tar.bz2 \
           file://arm-ioperm.patch;patch=1;pnum=0 \
           file://makeconfig.patch;patch=1;pnum=0 \
           file://ldd.patch;patch=1;pnum=0 \
@@ -78,7 +73,9 @@ inherit autotools
 EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
                --without-cvs --disable-profile --disable-debug --without-gd \
                --enable-clocale=gnu \
-               --enable-add-ons=${GLIBC_ADDONS} --with-headers=${HEADERS_DIR}/include ${GLIBC_EXTRA_OECONF}"
+               --enable-add-ons=${GLIBC_ADDONS} \
+               --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+               ${GLIBC_EXTRA_OECONF}"
 
 EXTRA_OECONF += "${@get_glibc_fpu_setting(oe, d)}"
 
@@ -87,39 +84,6 @@ def get_glibc_fpu_setting(oe, d):
                return "--without-fp"
        return ""
 
-glibcbuild_do_unpack () {
-# kernel headers
-       case ${TARGET_ARCH} in
-               alpha*)   TARGET_ARCH=alpha ;;
-               arm*)     TARGET_ARCH=arm ;;
-               cris*)    TARGET_ARCH=cris ;;
-               hppa*)    TARGET_ARCH=parisc ;;
-               i*86*)    TARGET_ARCH=i386 ;;
-               ia64*)    TARGET_ARCH=ia64 ;;
-               mips*)    TARGET_ARCH=mips ;;
-               m68k*)    TARGET_ARCH=m68k ;;
-               powerpc*) TARGET_ARCH=ppc ;;
-               s390*)    TARGET_ARCH=s390 ;;
-               sh*)      TARGET_ARCH=sh ;;
-               sparc64*) TARGET_ARCH=sparc64 ;;
-               sparc*)   TARGET_ARCH=sparc ;;
-               x86_64*)  TARGET_ARCH=x86_64 ;;
-       esac
-       if test !  -e ${HEADERS_DIR}/include/asm-$TARGET_ARCH; then
-               oefatal unable to create asm symlink in kernel headers
-       fi
-       ln -sf "asm-$TARGET_ARCH" "${HEADERS_DIR}/include/asm"
-       if test "$TARGET_ARCH" = "arm"; then
-               ln -sf proc-armv ${HEADERS_DIR}/include/asm/proc
-               ln -sf arch-ebsa285 ${HEADERS_DIR}/include/asm/arch
-       fi
-}
-
-python do_unpack () {
-       oe.build.exec_func('base_do_unpack', d)
-       oe.build.exec_func('glibcbuild_do_unpack', d)
-}
-
 do_configure () {
 # override this function to avoid the autoconf/automake/aclocal/autoheader
 # calls for now
@@ -155,12 +119,6 @@ do_stage() {
                   '${STAGING_LIBDIR}/libc.so.6' \
                   install-headers install-lib
 
-       install -d ${STAGING_INCDIR}/asm
-       rm -f ${STAGING_INCDIR}/linux/wireless.h
-       cp -a ${HEADERS_DIR}/include/linux ${STAGING_INCDIR}/
-       ln -sf ${STAGING_KERNEL_DIR}/include/linux/wireless.h ${STAGING_INCDIR}/linux/wireless.h
-       cp -a ${HEADERS_DIR}/include/asm/* ${STAGING_INCDIR}/asm/
-
        install -d ${STAGING_INCDIR}/gnu \
                   ${STAGING_INCDIR}/bits \
                   ${STAGING_INCDIR}/rpcsvc
@@ -172,7 +130,7 @@ do_stage() {
                install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
        done
        for i in libc.a libc_pic.a libc_nonshared.a; do
-               install ${B}/$i ${STAGING_LIBDIR}/
+               install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
        done
        echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
        echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
@@ -183,10 +141,6 @@ do_stage() {
                   '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
                   install-headers install-lib
 
-       install -d ${CROSS_DIR}/${TARGET_SYS}/include/asm
-       cp -a ${HEADERS_DIR}/include/linux ${CROSS_DIR}/${TARGET_SYS}/include/
-       cp -R ${HEADERS_DIR}/include/asm/* ${CROSS_DIR}/${TARGET_SYS}/include/asm/
-
        install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
                   ${CROSS_DIR}/${TARGET_SYS}/include/bits \
                   ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
@@ -199,7 +153,7 @@ do_stage() {
        done
 
        for i in libc.a libc_pic.a libc_nonshared.a; do
-               install ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/
+               install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
        done
        echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
        echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
index a563216..ede521a 100644 (file)
@@ -1,9 +1,12 @@
+PR = "r3"
 DESCRIPTION = "GNU C Library"
 LICENSE = "LGPL"
 SECTION = "libs"
 PRIORITY = "required"
-MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
-PR = "r3"
+
+GLIBC_ADDONS ?= "linuxthreads"
+GLIBC_EXTRA_OECONF ?= ""
+
 #
 # For now, we will skip building of a gcc package if it is a uclibc one
 # and our build is not a uclibc one, and we skip a glibc one if our build
@@ -20,19 +23,32 @@ python __anonymous () {
                                    oe.data.getVar('TARGET_OS', d, 1))
 }
 
-PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
-PACKAGES = "glibc glibc-dev glibc-doc glibc-i18n glibc-locale"
+PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
 
-DEPENDS = "patcher-native virtual/${TARGET_PREFIX}gcc-initial"
+# 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}']}"
+DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
 INHIBIT_DEFAULT_DEPS = "1"
 
-FILES_glibc_append = " ${datadir}/zoneinfo"
-FILES_glibc-dev_append = " ${libdir}/*.o"
+libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
+
+FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir} ${datadir}/zoneinfo"
+FILES_ldd = "${bindir}/ldd"
+FILES_libsegfault = "/lib/libSegFault*"
+FILES_glibc-extra-nss = "/lib/libnss*"
+FILES_sln = "/sbin/sln"
+FILES_glibc-dev_append = " ${libdir}/*.o ${bindir}/rpcgen"
+FILES_nscd = "${sbindir}/nscd*"
+FILES_glibc-utils = "${bindir} ${sbindir}"
 FILES_glibc-gconv = "${libdir}/gconv"
-FILES_glibc-i18n = "${datadir}/i18n"
+FILES_catchsegv = "${bindir}/catchsegv"
+DEPENDS_catchsegv = "libsegfault"
+FILES_glibc-pcprofile = "/lib/libpcprofile.so"
+FILES_glibc-thread-db = "/lib/libthread_db*"
+FILES_localedef = "${bindir}/localedef"
 
-HEADERS_VERSION = "2.6.5.1"
-HEADERS_DIR = "${WORKDIR}/linux-libc-headers-${HEADERS_VERSION}"
+#         file://noinfo.patch;patch=1 \
+#         file://ldconfig.patch;patch=1;pnum=0 \
 
 #       file://dyn-ldconfig.diff;patch=1;pnum=0
 #        file://glibcbug.patch;patch=1;pnum=0
@@ -43,16 +59,15 @@ HEADERS_DIR = "${WORKDIR}/linux-libc-headers-${HEADERS_VERSION}"
 # This patch is needed for builds against recent 2.5/2.6 kernel headers:
 SRC_URI = "ftp://ftp.gnu.org/gnu/glibc/glibc-${PV}.tar.gz \
           ftp://ftp.gnu.org/pub/gnu/glibc/glibc-linuxthreads-2.3.2.tar.gz \
-          http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-${HEADERS_VERSION}.tar.bz2 \
           file://noinfo.patch;patch=1 \
           file://10_cvs.patch;patch=1 \
-          file://arm-ioperm.patch;patch=1;pnum=0 \
+          file://arm-ioperm.patch;patch=1;pnum=0 \
           file://glibc-i686-timing.patch;patch=1;pnum=1 \
-          file://makeconfig.patch;patch=1;pnum=0 \
+          file://makeconfig.patch;patch=1;pnum=0 \
           file://locale-es_AR.patch;patch=1;pnum=0 \
           file://ldconfig.patch;patch=1;pnum=0 \
-          file://ldd.patch;patch=1;pnum=0 \
-          file://fhs-linux-paths.patch;patch=1;pnum=1 \
+          file://ldd.patch;patch=1;pnum=0 \
+          file://fhs-linux-paths.patch;patch=1;pnum=1 \
           file://glibc22-nss-upgrade.patch;patch=1;pnum=1 \
           file://glibc22-eo_EO.patch;patch=1;pnum=1 \
           file://glibc22-m68k-compat.patch;patch=1;pnum=1 \
@@ -61,7 +76,7 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/glibc/glibc-${PV}.tar.gz \
           file://sparc64-fixups.patch;patch=1;pnum=1 \
           file://glibc22-ttyname-devfs.patch;patch=1;pnum=0 \
           file://powerpc-sysconf.patch;patch=1;pnum=1 \
-          file://arm-no-hwcap.patch;patch=1;pnum=0 \
+          file://arm-no-hwcap.patch;patch=1;pnum=0 \
           file://locales-stuff.patch;patch=1;pnum=1 \
           file://librt-mips.patch;patch=1;pnum=0 \
           file://glibc23-ctype-compat.patch;patch=1;pnum=1 \
@@ -96,24 +111,26 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/glibc/glibc-${PV}.tar.gz \
           file://glibc23-errno-hack.patch;patch=1;pnum=1 \
           file://90_glibc232-statvfs.patch;patch=1;pnum=0 \
           file://90_glibc232-timezones.patch;patch=1;pnum=0 \
-          file://arm-memcpy.patch;patch=1;pnum=0 \
-          file://arm-longlong.patch;patch=1;pnum=0 \
-          file://arm-machine-gmon.patch;patch=1;pnum=0 \
+          file://arm-memcpy.patch;patch=1;pnum=0 \
+          file://arm-longlong.patch;patch=1;pnum=0 \
+          file://arm-machine-gmon.patch;patch=1;pnum=0 \
+           file://dyn-ldconfig.diff;patch=1;pnum=0 \
           file://glibc232-gcc34-i386-fixup-attribute.patch;patch=1;pnum=1 \
           file://glibc232-gcc34-no-unit-at-a-time.patch;patch=1;pnum=1 \
-          \
           file://etc/ld.so.conf \
-          file://generate-supported.mk"
+          file://generate-supported.mk"
 
 S = "${WORKDIR}/glibc-${PV}"
 B = "${WORKDIR}/build-${TARGET_SYS}"
 
 inherit autotools
 
-EXTRA_OECONF = "--without-tls --without-__thread --enable-kernel=${OLDEST_KERNEL} \
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
                --without-cvs --disable-profile --disable-debug --without-gd \
                --enable-clocale=gnu \
-               --enable-add-ons=linuxthreads --with-headers=${HEADERS_DIR}/include"
+               --enable-add-ons=${GLIBC_ADDONS} \
+               --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+               ${GLIBC_EXTRA_OECONF}"
 
 EXTRA_OECONF += "${@get_glibc_fpu_setting(oe, d)}"
 
@@ -122,38 +139,13 @@ def get_glibc_fpu_setting(oe, d):
                return "--without-fp"
        return ""
 
-glibcbuild_do_unpack () {
+glibc_do_unpack () {
        mv "${WORKDIR}/linuxthreads" "${WORKDIR}/linuxthreads_db" "${S}/"
-# kernel headers
-       case ${TARGET_ARCH} in
-               alpha*)   TARGET_ARCH=alpha ;;
-               arm*)     TARGET_ARCH=arm ;;
-               cris*)    TARGET_ARCH=cris ;;
-               hppa*)    TARGET_ARCH=parisc ;;
-               i*86*)    TARGET_ARCH=i386 ;;
-               ia64*)    TARGET_ARCH=ia64 ;;
-               mips*)    TARGET_ARCH=mips ;;
-               m68k*)    TARGET_ARCH=m68k ;;
-               powerpc*) TARGET_ARCH=ppc ;;
-               s390*)    TARGET_ARCH=s390 ;;
-               sh*)      TARGET_ARCH=sh ;;
-               sparc64*) TARGET_ARCH=sparc64 ;;
-               sparc*)   TARGET_ARCH=sparc ;;
-               x86_64*)  TARGET_ARCH=x86_64 ;;
-       esac
-       if test !  -e ${HEADERS_DIR}/include/asm-$TARGET_ARCH; then
-               oefatal unable to create asm symlink in kernel headers
-       fi
-       ln -sf "asm-$TARGET_ARCH" "${HEADERS_DIR}/include/asm"
-       if test "$TARGET_ARCH" = "arm"; then
-               ln -sf proc-armv ${HEADERS_DIR}/include/asm/proc
-               ln -sf arch-ebsa285 ${HEADERS_DIR}/include/asm/arch
-       fi
 }
 
 python do_unpack () {
        oe.build.exec_func('base_do_unpack', d)
-       oe.build.exec_func('glibcbuild_do_unpack', d)
+       oe.build.exec_func('glibc_do_unpack', d)
 }
 
 do_configure () {
@@ -185,17 +177,12 @@ do_compile () {
 }
 
 do_stage() {
+       rm -f ${STAGING_LIBDIR}/libc.so.6
        oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \
                   'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
-                  '${STAGING_LIBDIR}/libc-${PV}.so' '${STAGING_LIBDIR}/libc.so.6' \
+                  '${STAGING_LIBDIR}/libc.so.6' \
                   install-headers install-lib
 
-       install -d ${STAGING_INCDIR}/asm
-       rm -f ${STAGING_INCDIR}/linux/wireless.h
-       cp -a ${HEADERS_DIR}/include/linux ${STAGING_INCDIR}/
-       ln -sf ${STAGING_KERNEL_DIR}/include/linux/wireless.h ${STAGING_INCDIR}/linux/wireless.h
-       cp -a ${HEADERS_DIR}/include/asm/* ${STAGING_INCDIR}/asm/
-
        install -d ${STAGING_INCDIR}/gnu \
                   ${STAGING_INCDIR}/bits \
                   ${STAGING_INCDIR}/rpcsvc
@@ -207,21 +194,17 @@ do_stage() {
                install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
        done
        for i in libc.a libc_pic.a libc_nonshared.a; do
-               install ${B}/$i ${STAGING_LIBDIR}/
+               install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
        done
        echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
        echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
 
+       rm -f ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6
        oe_runmake 'install_root=${CROSS_DIR}/${TARGET_SYS}' \
                   'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
-                  '${CROSS_DIR}/${TARGET_SYS}/lib/libc-${PV}.so' \
                   '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
                   install-headers install-lib
 
-       install -d ${CROSS_DIR}/${TARGET_SYS}/include/asm
-       cp -a ${HEADERS_DIR}/include/linux ${CROSS_DIR}/${TARGET_SYS}/include/
-       cp -R ${HEADERS_DIR}/include/asm/* ${CROSS_DIR}/${TARGET_SYS}/include/asm/
-
        install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
                   ${CROSS_DIR}/${TARGET_SYS}/include/bits \
                   ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
@@ -234,7 +217,7 @@ do_stage() {
        done
 
        for i in libc.a libc_pic.a libc_nonshared.a; do
-               install ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/
+               install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
        done
        echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
        echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
index ac6eb6e..f216fae 100644 (file)
@@ -32,7 +32,7 @@ PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-d
 
 # 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}']}"
-DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']}"
+DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
 INHIBIT_DEFAULT_DEPS = "1"
 
 libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
@@ -52,14 +52,10 @@ FILES_glibc-pcprofile = "/lib/libpcprofile.so"
 FILES_glibc-thread-db = "/lib/libthread_db*"
 FILES_localedef = "${bindir}/localedef"
 
-HEADERS_VERSION = "2.6.5.1"
-HEADERS_DIR = "${WORKDIR}/linux-libc-headers-${HEADERS_VERSION}"
-
 #         file://noinfo.patch;patch=1 \
 #         file://ldconfig.patch;patch=1;pnum=0 \
 
 SRC_URI = "cvs://anoncvs@sources.redhat.com/cvs/glibc;module=libc \
-          http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-${HEADERS_VERSION}.tar.bz2 \
           file://arm-ioperm.patch;patch=1;pnum=0 \
           file://makeconfig.patch;patch=1;pnum=0 \
           file://ldd.patch;patch=1;pnum=0 \
@@ -81,7 +77,9 @@ inherit autotools
 EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
                --without-cvs --disable-profile --disable-debug --without-gd \
                --enable-clocale=gnu \
-               --enable-add-ons=${GLIBC_ADDONS} --with-headers=${HEADERS_DIR}/include ${GLIBC_EXTRA_OECONF}"
+               --enable-add-ons=${GLIBC_ADDONS} \
+               --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+               ${GLIBC_EXTRA_OECONF}"
 
 EXTRA_OECONF += "${@get_glibc_fpu_setting(oe, d)}"
 
@@ -90,39 +88,6 @@ def get_glibc_fpu_setting(oe, d):
                return "--without-fp"
        return ""
 
-glibcbuild_do_unpack () {
-# kernel headers
-       case ${TARGET_ARCH} in
-               alpha*)   TARGET_ARCH=alpha ;;
-               arm*)     TARGET_ARCH=arm ;;
-               cris*)    TARGET_ARCH=cris ;;
-               hppa*)    TARGET_ARCH=parisc ;;
-               i*86*)    TARGET_ARCH=i386 ;;
-               ia64*)    TARGET_ARCH=ia64 ;;
-               mips*)    TARGET_ARCH=mips ;;
-               m68k*)    TARGET_ARCH=m68k ;;
-               powerpc*) TARGET_ARCH=ppc ;;
-               s390*)    TARGET_ARCH=s390 ;;
-               sh*)      TARGET_ARCH=sh ;;
-               sparc64*) TARGET_ARCH=sparc64 ;;
-               sparc*)   TARGET_ARCH=sparc ;;
-               x86_64*)  TARGET_ARCH=x86_64 ;;
-       esac
-       if test !  -e ${HEADERS_DIR}/include/asm-$TARGET_ARCH; then
-               oefatal unable to create asm symlink in kernel headers
-       fi
-       ln -sf "asm-$TARGET_ARCH" "${HEADERS_DIR}/include/asm"
-       if test "$TARGET_ARCH" = "arm"; then
-               ln -sf proc-armv ${HEADERS_DIR}/include/asm/proc
-               ln -sf arch-ebsa285 ${HEADERS_DIR}/include/asm/arch
-       fi
-}
-
-python do_unpack () {
-       oe.build.exec_func('base_do_unpack', d)
-       oe.build.exec_func('glibcbuild_do_unpack', d)
-}
-
 do_configure () {
 # override this function to avoid the autoconf/automake/aclocal/autoheader
 # calls for now
@@ -158,12 +123,6 @@ do_stage() {
                   '${STAGING_LIBDIR}/libc.so.6' \
                   install-headers install-lib
 
-       install -d ${STAGING_INCDIR}/asm
-       rm -f ${STAGING_INCDIR}/linux/wireless.h
-       cp -a ${HEADERS_DIR}/include/linux ${STAGING_INCDIR}/
-       ln -sf ${STAGING_KERNEL_DIR}/include/linux/wireless.h ${STAGING_INCDIR}/linux/wireless.h
-       cp -a ${HEADERS_DIR}/include/asm/* ${STAGING_INCDIR}/asm/
-
        install -d ${STAGING_INCDIR}/gnu \
                   ${STAGING_INCDIR}/bits \
                   ${STAGING_INCDIR}/rpcsvc
@@ -175,7 +134,7 @@ do_stage() {
                install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
        done
        for i in libc.a libc_pic.a libc_nonshared.a; do
-               install ${B}/$i ${STAGING_LIBDIR}/
+               install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
        done
        echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
        echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
@@ -186,10 +145,6 @@ do_stage() {
                   '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
                   install-headers install-lib
 
-       install -d ${CROSS_DIR}/${TARGET_SYS}/include/asm
-       cp -a ${HEADERS_DIR}/include/linux ${CROSS_DIR}/${TARGET_SYS}/include/
-       cp -R ${HEADERS_DIR}/include/asm/* ${CROSS_DIR}/${TARGET_SYS}/include/asm/
-
        install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
                   ${CROSS_DIR}/${TARGET_SYS}/include/bits \
                   ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
@@ -202,7 +157,7 @@ do_stage() {
        done
 
        for i in libc.a libc_pic.a libc_nonshared.a; do
-               install ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/
+               install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
        done
        echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
        echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
diff --git a/uclibc-snapshot/uclibc-snapshot/i686/uClibc.config b/uclibc-snapshot/uclibc-snapshot/i686/uClibc.config
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/uclibc-snapshot/uclibc-snapshot/mipsel/uClibc.config b/uclibc-snapshot/uclibc-snapshot/mipsel/uClibc.config
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/uclibc-snapshot/uclibc-snapshot/nokernelheadercheck.patch b/uclibc-snapshot/uclibc-snapshot/nokernelheadercheck.patch
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/uclibc-snapshot/uclibc-snapshot/uClibc.config.arm b/uclibc-snapshot/uclibc-snapshot/uClibc.config.arm
deleted file mode 100644 (file)
index bb52375..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-TARGET_arm=y
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-# TARGET_i386 is not set
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-TARGET_ARCH="arm"
-ARCH_SUPPORTS_BIG_ENDIAN=y
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-CONFIG_ARM_XSCALE=y
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
-# ARCH_HAS_NO_MMU is not set
-ARCH_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="will be overwritten (hopefully) by .oe file"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-# UCLIBC_PIE_SUPPORT is not set
-LDSO_LDD_SUPPORT=y
-UCLIBC_CTOR_DTOR=y
-# UCLIBC_PROPOLICE is not set
-# UCLIBC_PROFILING is not set
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-PTHREADS_DEBUG_SUPPORT=y
-UCLIBC_HAS_LFS=y
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-UNIX98PTY_ONLY=y
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-# UCLIBC_HAS_IPV6 is not set
-UCLIBC_HAS_RPC=y
-# UCLIBC_HAS_FULL_RPC is not set
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-UCLIBC_HAS_STDIO_BUFSIZ_256=y
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GETTEXT_AWARENESS=y
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="//usr"
-
-#
-# uClibc development/debugging options
-#
-# DODEBUG is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-# UCLIBC_MJN3_ONLY is not set
diff --git a/uclibc-snapshot/uclibc-snapshot/uClibc.config.i386 b/uclibc-snapshot/uclibc-snapshot/uClibc.config.i386
deleted file mode 100644 (file)
index f28149a..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-TARGET_i386=y
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-TARGET_ARCH="i386"
-# CONFIG_GENERIC_386 is not set
-CONFIG_386=y
-# CONFIG_486 is not set
-# CONFIG_586 is not set
-# CONFIG_586MMX is not set
-# CONFIG_686 is not set
-# CONFIG_PENTIUMII is not set
-# CONFIG_PENTIUMIII is not set
-# CONFIG_PENTIUM4 is not set
-# CONFIG_K6 is not set
-# CONFIG_K7 is not set
-# CONFIG_ELAN is not set
-# CONFIG_CRUSOE is not set
-# CONFIG_WINCHIPC6 is not set
-# CONFIG_WINCHIP2 is not set
-# CONFIG_CYRIXIII is not set
-# CONFIG_NEHEMIAH is not set
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
-# ARCH_HAS_NO_MMU is not set
-ARCH_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="/usr/local/projects/tmp/work/uclibc-snapshot-20040620-r0/linux"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-# UCLIBC_PIE_SUPPORT is not set
-LDSO_LDD_SUPPORT=y
-UCLIBC_CTOR_DTOR=y
-# UCLIBC_PROPOLICE is not set
-# UCLIBC_PROFILING is not set
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-PTHREADS_DEBUG_SUPPORT=y
-UCLIBC_HAS_LFS=y
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-UNIX98PTY_ONLY=y
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-# UCLIBC_HAS_IPV6 is not set
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-UCLIBC_HAS_STDIO_BUFSIZ_256=y
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GETTEXT_AWARENESS=y
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="//usr"
-
-#
-# uClibc development/debugging options
-#
-# DODEBUG is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-# UCLIBC_MJN3_ONLY is not set
diff --git a/uclibc-snapshot/uclibc-snapshot/uClibc.config.i686 b/uclibc-snapshot/uclibc-snapshot/uClibc.config.i686
deleted file mode 100644 (file)
index c6bc3e3..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-TARGET_i386=y
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-TARGET_ARCH="i386"
-# CONFIG_GENERIC_386 is not set
-# CONFIG_386 is not set
-# CONFIG_486 is not set
-# CONFIG_586 is not set
-# CONFIG_586MMX is not set
-# CONFIG_686 is not set
-# CONFIG_PENTIUMII is not set
-# CONFIG_PENTIUMIII is not set
-CONFIG_PENTIUM4=y
-# CONFIG_K6 is not set
-# CONFIG_K7 is not set
-# CONFIG_ELAN is not set
-# CONFIG_CRUSOE is not set
-# CONFIG_WINCHIPC6 is not set
-# CONFIG_WINCHIP2 is not set
-# CONFIG_CYRIXIII is not set
-# CONFIG_NEHEMIAH is not set
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
-# ARCH_HAS_NO_MMU is not set
-ARCH_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="/usr/local/projects/tmp/work/uclibc-snapshot-20040620-r0/linux"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-# UCLIBC_PIE_SUPPORT is not set
-LDSO_LDD_SUPPORT=y
-UCLIBC_CTOR_DTOR=y
-# UCLIBC_PROPOLICE is not set
-# UCLIBC_PROFILING is not set
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-PTHREADS_DEBUG_SUPPORT=y
-UCLIBC_HAS_LFS=y
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-UNIX98PTY_ONLY=y
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-# UCLIBC_HAS_IPV6 is not set
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-UCLIBC_HAS_STDIO_BUFSIZ_256=y
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GETTEXT_AWARENESS=y
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="//usr"
-
-#
-# uClibc development/debugging options
-#
-# DODEBUG is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-# UCLIBC_MJN3_ONLY is not set
diff --git a/uclibc-snapshot/uclibc-snapshot/uClibc.config.mipsel b/uclibc-snapshot/uclibc-snapshot/uClibc.config.mipsel
deleted file mode 100644 (file)
index bbc973c..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_h8300 is not set
-# TARGET_i386 is not set
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-TARGET_mips=y
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-TARGET_ARCH="mips"
-ARCH_CFLAGS="-mno-split-addresses"
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-# CONFIG_ARM_XSCALE is not set
-# CONFIG_MIPS_ISA_1 is not set
-# CONFIG_MIPS_ISA_2 is not set
-# CONFIG_MIPS_ISA_3 is not set
-# CONFIG_MIPS_ISA_4 is not set
-CONFIG_MIPS_ISA_MIPS32=y
-# CONFIG_MIPS_ISA_MIPS64 is not set
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
-# ARCH_HAS_NO_MMU is not set
-UCLIBC_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="please overwrite me"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# UCLIBC_PIE_SUPPORT is not set
-LDSO_LDD_SUPPORT=y
-UCLIBC_CTOR_DTOR=y
-# UCLIBC_PROPOLICE is not set
-# UCLIBC_PROFILING is not set
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-PTHREADS_DEBUG_SUPPORT=y
-UCLIBC_HAS_LFS=y
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-UNIX98PTY_ONLY=y
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-# UCLIBC_HAS_IPV6 is not set
-UCLIBC_HAS_RPC=y
-# UCLIBC_HAS_FULL_RPC is not set
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-UCLIBC_HAS_STDIO_BUFSIZ_256=y
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GETTEXT_AWARENESS=y
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="//usr"
-
-#
-# uClibc development/debugging options
-#
-# DODEBUG is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-# UCLIBC_MJN3_ONLY is not set
index bdcafb3..20081eb 100644 (file)
@@ -4,6 +4,7 @@ SECTION = "libs"
 PRIORITY = "required"
 MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
 PV = "${CVSDATE}"
+PR = "r1"
 
 #
 # For now, we will skip building of a gcc package if it is a uclibc one
@@ -21,23 +22,9 @@ python __anonymous () {
                                    oe.data.getVar('TARGET_OS', d, 1))
 }
 
-#
-# We can only work currently with a predefined .config, this ensures we have
-# one.  In the future, this may want to respect ${MACHINE} as well.
-#
-
-python __anonymous () {
-    import oe, os;
-    conf = (oe.data.getVar('FILESDIR', d, 1) + "/uClibc.config." +
-            oe.data.getVar('TARGET_ARCH', d, 1))
-    if not os.access(conf, os.R_OK):
-        raise oe.parse.SkipPackage("no available .config for target %s" %
-                                   oe.data.getVar('TARGET_OS', d, 1))
-}
-
 PROVIDES += " virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
 DEPENDS = "patcher-native virtual/${TARGET_PREFIX}binutils \
-          virtual/${TARGET_PREFIX}gcc-initial"
+          virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
 INHIBIT_DEFAULT_DEPS = "1"
 
 #
@@ -48,56 +35,44 @@ INHIBIT_DEFAULT_DEPS = "1"
 UCLIBC_LOCALE_FILE = "uClibc-locale-030818.tgz"
 SRC_URI = "cvs://anonymous:@166.70.99.138/var/cvs;module=uClibc \
            http://www.uclibc.org/downloads/${UCLIBC_LOCALE_FILE} \
-           http://www.uclibc.org/downloads/toolchain/kernel-headers-2.4.21.tar.bz2 \
-           file://uClibc.config.${TARGET_ARCH}"
+           file://nokernelheadercheck.patch;patch=1 \
+           file://uClibc.config"
 
 S = "${WORKDIR}/uClibc"
 
 UCLIBC_PREFIX = "${CROSS_DIR}/${TARGET_SYS}"
 UCLIBC_STAGE_PREFIX = "${STAGING_DIR}/${HOST_SYS}"
 
-EXTRA_OEMAKE = ""
-
-uclibcbuild_do_patch() {
-       rm -f ${WORKDIR}/linux/include/asm
-       ln -sf asm-${TARGET_ARCH} ${WORKDIR}/linux/include/asm
-
-       touch ${WORKDIR}/linux/include/linux/autoconf.h
-
-       echo "#define UTS_RELEASE \"2.4.21\"" > ${WORKDIR}/linux/include/linux/version.h
-       echo "#define LINUX_VERSION_CODE 132117" >> ${WORKDIR}/linux/include/linux/version.h
-       echo "#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))" \
-               >> ${WORKDIR}/linux/include/linux/version.h
+EXTRA_OEMAKE = "'OPTIMIZATION=' 'CPU_CFLAGS=${CFLAGS}' 'STRIPTOOL=true'"
+configmangle = 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE="${CROSS_DIR}/${TARGET_SYS}/include",g; \
+               s,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX="/",g; \
+               s,^DEVEL_PREFIX=.*,DEVEL_PREFIX="/${prefix}",g; \
+               s,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH="/lib",; \
+               s,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y\nUCLIBC_HAS_LOCALE=n,g;'
 
-       if [ -f ${WORKDIR}/uClibc.config.${TARGET_ARCH} ]; then
-               cp ${WORKDIR}/uClibc.config.${TARGET_ARCH} ${S}/.config
-       else
-               echo ERROR: No target specific config for ${TARGET_ARCH}
-               return 1
-       fi
-
-       perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${TARGET_PREFIX},g' ${S}/Rules.mak
-       perl -i -p -e 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"${WORKDIR}/linux\",g' ${S}/.config
-       perl -i -p -e 's,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX=\"/\",g' ${S}/.config
-       perl -i -p -e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"/${prefix}\",g' ${S}/.config
-       perl -i -p -e 's,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH=\"/lib\",g' ${S}/.config
-       perl -i -p -e 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y\nUCLIBC_HAS_LOCALE=n,g' ${S}/.config
-
-       cp ${DL_DIR}/${UCLIBC_LOCALE_FILE} extra/locale
+python () {
+       if oe.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+               oe.data.setVar('configmangle_append', ' s,^HAS_FPU=y,# HAS_FPU is not set,;', d)
 }
 
-uclibcbuild_do_fpumangle() {
-       perl -i -p -e 's,^HAS_FPU=y,# HAS_FPU is not set,' ${S}/.config
+uclibcbuild_do_patch() {
+       ln -sf ${STAGING_INCDIR}/linux ${S}/include/linux
+       ln -sf ${STAGING_INCDIR}/asm ${S}/include/asm
+       
+       cp ${DL_DIR}/${UCLIBC_LOCALE_FILE} extra/locale
 }
 
 python do_patch () {
        oe.build.exec_func('base_do_patch', d)
        oe.build.exec_func('uclibcbuild_do_patch', d)
-       if oe.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
-               oe.build.exec_func('uclibcbuild_do_fpumangle', d)
 }
 
 do_configure() {
+       cp ${WORKDIR}/uClibc.config ${S}/.config
+
+       perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${TARGET_PREFIX},g' ${S}/Rules.mak
+       perl -i -p -e '${configmangle}' ${S}/.config
+
        oe_runmake oldconfig
 }
 
diff --git a/uclibc/uclibc-0.9.26/26headers.patch b/uclibc/uclibc-0.9.26/26headers.patch
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/uclibc/uclibc-0.9.26/arm/uClibc.config b/uclibc/uclibc-0.9.26/arm/uClibc.config
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/uclibc/uclibc-0.9.26/i386/uClibc.config b/uclibc/uclibc-0.9.26/i386/uClibc.config
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/uclibc/uclibc-0.9.26/i686/uClibc.config b/uclibc/uclibc-0.9.26/i686/uClibc.config
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/uclibc/uclibc-0.9.26/mipsel/uClibc.config b/uclibc/uclibc-0.9.26/mipsel/uClibc.config
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/uclibc/uclibc-0.9.26/nokernelheadercheck.patch b/uclibc/uclibc-0.9.26/nokernelheadercheck.patch
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/uclibc/uclibc-0.9.26/uClibc.config.arm b/uclibc/uclibc-0.9.26/uClibc.config.arm
deleted file mode 100644 (file)
index ca67c55..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-TARGET_arm=y
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_h8300 is not set
-# TARGET_i386 is not set
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-TARGET_ARCH="arm"
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-CONFIG_ARM_XSCALE=y
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
-# ARCH_HAS_NO_MMU is not set
-UCLIBC_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="/usr/src/linux"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# UCLIBC_PIE_SUPPORT is not set
-LDSO_LDD_SUPPORT=y
-UCLIBC_CTOR_DTOR=y
-# UCLIBC_PROPOLICE is not set
-# UCLIBC_PROFILING is not set
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-PTHREADS_DEBUG_SUPPORT=y
-UCLIBC_HAS_LFS=y
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-UNIX98PTY_ONLY=y
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-# UCLIBC_HAS_IPV6 is not set
-UCLIBC_HAS_RPC=y
-# UCLIBC_HAS_FULL_RPC is not set
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-UCLIBC_HAS_STDIO_BUFSIZ_256=y
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GETTEXT_AWARENESS=y
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="//usr"
-
-#
-# uClibc development/debugging options
-#
-# DODEBUG is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-# UCLIBC_MJN3_ONLY is not set
diff --git a/uclibc/uclibc-0.9.26/uClibc.config.i386 b/uclibc/uclibc-0.9.26/uClibc.config.i386
deleted file mode 100644 (file)
index 3b35693..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_h8300 is not set
-TARGET_i386=y
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-TARGET_ARCH="i386"
-CONFIG_GENERIC_386=y
-# CONFIG_386 is not set
-# CONFIG_486 is not set
-# CONFIG_586 is not set
-# CONFIG_586MMX is not set
-# CONFIG_686 is not set
-# CONFIG_PENTIUMIII is not set
-# CONFIG_PENTIUM4 is not set
-# CONFIG_K6 is not set
-# CONFIG_K7 is not set
-# CONFIG_CRUSOE is not set
-# CONFIG_WINCHIPC6 is not set
-# CONFIG_WINCHIP2 is not set
-# CONFIG_CYRIXIII is not set
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
-# ARCH_HAS_NO_MMU is not set
-UCLIBC_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-DO_C99_MATH=y
-WARNINGS="-Wall"
-KERNEL_SOURCE="/usr/src/linux"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# UCLIBC_PIE_SUPPORT is not set
-LDSO_LDD_SUPPORT=y
-UCLIBC_CTOR_DTOR=y
-# UCLIBC_PROPOLICE is not set
-# UCLIBC_PROFILING is not set
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-PTHREADS_DEBUG_SUPPORT=y
-UCLIBC_HAS_LFS=y
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-UNIX98PTY_ONLY=y
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-# UCLIBC_HAS_IPV6 is not set
-UCLIBC_HAS_RPC=y
-# UCLIBC_HAS_FULL_RPC is not set
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y
-UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-UCLIBC_HAS_STDIO_BUFSIZ_256=y
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GETTEXT_AWARENESS=y
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="//usr"
-
-#
-# uClibc development/debugging options
-#
-# DODEBUG is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-# UCLIBC_MJN3_ONLY is not set
diff --git a/uclibc/uclibc-initial_0.9.26.oe b/uclibc/uclibc-initial_0.9.26.oe
deleted file mode 100644 (file)
index abc0383..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-include uclibc_${PV}.oe
-
-FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/uclibc-${PV}"
-
-DEPENDS = "patcher-native"
-PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
-PACKAGES = ""
-
-do_stage() {
-       # Install initial headers into the cross dir
-       make PREFIX= DEVEL_PREFIX=${UCLIBC_PREFIX}/ \
-               RUNTIME_PREFIX=${UCLIBC_PREFIX}/ \
-               pregen install_dev
-
-       mkdir -p ${CROSS_DIR}/${TARGET_SYS}
-       mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include
-       mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
-       ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
-       rm -rf ${CROSS_DIR}/${TARGET_SYS}/${prefix}
-
-       # This conflicts with the c++ version of this header
-       rm -f ${UCLIBC_PREFIX}/include/bits/atomicity.h
-}
-
-do_install() {
-       :
-}
-
-do_compile () {
-       :
-}
-
index 5338191..bef042c 100644 (file)
@@ -3,6 +3,7 @@ LICENSE = "LGPL"
 SECTION = "libs"
 PRIORITY = "required"
 MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
+PR = "r1"
 
 #
 # For now, we will skip building of a gcc package if it is a uclibc one
@@ -20,23 +21,9 @@ python __anonymous () {
                                    oe.data.getVar('TARGET_OS', d, 1))
 }
 
-#
-# We can only work currently with a predefined .config, this ensures we have
-# one.  In the future, this may want to respect ${MACHINE} as well.
-#
-
-python __anonymous () {
-    import oe, os;
-    conf = (oe.data.getVar('FILESDIR', d, 1) + "/uClibc.config." +
-            oe.data.getVar('TARGET_ARCH', d, 1))
-    if not os.access(conf, os.R_OK):
-        raise oe.parse.SkipPackage("no available .config for target %s" %
-                                   oe.data.getVar('TARGET_OS', d, 1))
-}
-
-PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES += " virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
 DEPENDS = "patcher-native virtual/${TARGET_PREFIX}binutils \
-          virtual/${TARGET_PREFIX}gcc-initial"
+          virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
 INHIBIT_DEFAULT_DEPS = "1"
 
 #
@@ -45,59 +32,47 @@ INHIBIT_DEFAULT_DEPS = "1"
 # in the current build system.
 #
 UCLIBC_LOCALE_FILE = "uClibc-locale-030818.tgz"
-FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/uclibc-${PV}"
 SRC_URI = "http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2 \
            http://www.uclibc.org/downloads/${UCLIBC_LOCALE_FILE} \
-           http://www.uclibc.org/downloads/toolchain/kernel-headers-2.4.21.tar.bz2 \
-           file://uClibc.config.${TARGET_ARCH}"
+           file://nokernelheadercheck.patch;patch=1 \
+           file://26headers.patch;patch=1 \
+           file://uClibc.config"
 
 S = "${WORKDIR}/uClibc-${PV}"
 
 UCLIBC_PREFIX = "${CROSS_DIR}/${TARGET_SYS}"
 UCLIBC_STAGE_PREFIX = "${STAGING_DIR}/${HOST_SYS}"
 
-EXTRA_OEMAKE = ""
-
-uclibcbuild_do_patch() {
-       rm -f ${WORKDIR}/linux/include/asm
-       ln -sf asm-${TARGET_ARCH} ${WORKDIR}/linux/include/asm
-
-       touch ${WORKDIR}/linux/include/linux/autoconf.h
-
-       echo "#define UTS_RELEASE \"2.4.21\"" > ${WORKDIR}/linux/include/linux/version.h
-       echo "#define LINUX_VERSION_CODE 132117" >> ${WORKDIR}/linux/include/linux/version.h
-       echo "#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))" \
-               >> ${WORKDIR}/linux/include/linux/version.h
+EXTRA_OEMAKE = "'OPTIMIZATION=' 'CPU_CFLAGS=${CFLAGS}' 'STRIPTOOL=true'"
+configmangle = 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE="${CROSS_DIR}/${TARGET_SYS}/include",g; \
+               s,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX="/",g; \
+               s,^DEVEL_PREFIX=.*,DEVEL_PREFIX="/${prefix}",g; \
+               s,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH="/lib",; \
+               s,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y\nUCLIBC_HAS_LOCALE=n,g;'
 
-       if [ -f ${WORKDIR}/uClibc.config.${TARGET_ARCH} ]; then
-               cp ${WORKDIR}/uClibc.config.${TARGET_ARCH} ${S}/.config
-       else
-               echo ERROR: No target specific config for ${TARGET_ARCH}
-               return 1
-       fi
-
-       perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${TARGET_PREFIX},g' ${S}/Rules.mak
-       perl -i -p -e 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"${WORKDIR}/linux\",g' ${S}/.config
-       perl -i -p -e 's,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX=\"/\",g' ${S}/.config
-       perl -i -p -e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"/${prefix}\",g' ${S}/.config
-       perl -i -p -e 's,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH=\"/lib\",g' ${S}/.config
-       perl -i -p -e 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y\nUCLIBC_HAS_LOCALE=n,g' ${S}/.config
-
-       cp ${DL_DIR}/${UCLIBC_LOCALE_FILE} extra/locale
+python () {
+       if oe.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+               oe.data.setVar('configmangle_append', ' s,^HAS_FPU=y,# HAS_FPU is not set,;', d)
 }
 
-uclibcbuild_do_fpumangle() {
-       perl -i -p -e 's,^HAS_FPU=y,# HAS_FPU is not set,' ${S}/.config
+uclibcbuild_do_patch() {
+       ln -sf ${STAGING_INCDIR}/linux ${S}/include/linux
+       ln -sf ${STAGING_INCDIR}/asm ${S}/include/asm
+       
+       cp ${DL_DIR}/${UCLIBC_LOCALE_FILE} extra/locale
 }
 
 python do_patch () {
        oe.build.exec_func('base_do_patch', d)
        oe.build.exec_func('uclibcbuild_do_patch', d)
-       if oe.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
-               oe.build.exec_func('uclibcbuild_do_fpumangle', d)
 }
 
 do_configure() {
+       cp ${WORKDIR}/uClibc.config ${S}/.config
+
+       perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${TARGET_PREFIX},g' ${S}/Rules.mak
+       perl -i -p -e '${configmangle}' ${S}/.config
+
        oe_runmake oldconfig
 }