uclibc: Use only uClibc.{distro,machine} for 0.9.29. Do not need require these for...
authorLeon Woestenberg <leon.woestenberg@gmail.com>
Sun, 13 May 2007 16:41:37 +0000 (16:41 +0000)
committerLeon Woestenberg <leon.woestenberg@gmail.com>
Sun, 13 May 2007 16:41:37 +0000 (16:41 +0000)
packages/uclibc/uclibc.inc
packages/uclibc/uclibc_0.9.29.bb

index aa048c9..bae3f2d 100644 (file)
@@ -57,9 +57,7 @@ UCLIBC_LOCALE_URI = "http://www.uclibc.org/downloads/${UCLIBC_LOCALE_FILE}"
 UCLIBC_LOCALE_URI_arm = "http://openembedded.org/dl/uclibc-locale/${UCLIBC_LOCALE_FILE}"
 
 SRC_URI = "${@['${UCLIBC_LOCALE_URI}', ''][bb.data.getVar('USE_NLS', d, 1) != 'yes']} \
-          file://uClibc.config \
-          file://uClibc.machine \
-          file://uClibc.distro"
+          file://uClibc.config"
 
 UCLIBC_PREFIX = "${CROSS_DIR}/${TARGET_SYS}"
 UCLIBC_STAGE_PREFIX = "${STAGING_DIR}/${HOST_SYS}"
@@ -109,15 +107,25 @@ python do_patch () {
 
 do_configure() {
        rm -f ${S}/.config
-       # This stuff works like the standard OE OVERRIDES - keep the files
-       # in the same order as the default OVERRIDES (well, reverse order,
-       # because unlike overrides the last takes precedence)
-       cat ${WORKDIR}/uClibc.config ${WORKDIR}/uClibc.distro ${WORKDIR}/uClibc.machine >${S}/.config
 
+       # For uClibc 0.9.29, OpenEmbedded splits the uClibc.config in two parts:
+       # uClibc.machine and uClibc.distro. So, if they exist use them, otherwise
+       # use a uClibc.config
+       if [ -f ${WORKDIR}/uClibc.machine -a -f ${WORKDIR}/uClibc.distro ]; then
+               echo "### uClibc.machine ###" >${S}/merged.config
+               cat ${WORKDIR}/uClibc.machine >>${S}/merged.config
+               echo "### uClibc.distro ###" >>${S}/merged.config
+               cat ${WORKDIR}/uClibc.distro >>${S}/merged.config
+       else
+               echo "### uClibc.config ###" >${S}/merged.config
+               cat ${WORKDIR}/uClibc.config >>${S}/merged.config
+       fi
+       cp ${S}/merged.config ${S}/.config      
+
+       # Mangle the resulting .config depending on OE variables
        perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${TARGET_PREFIX},g' ${S}/Rules.mak
        perl -i -p -e '${configmangle}' ${S}/.config
 
-
        sed -i -e '/CONFIG_ARM_EABI/d' ${S}/.config
 
         if [ "${TARGET_OS}" == "linux-gnueabi" -o  "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
index b4ba7b4..b5083ed 100644 (file)
@@ -14,6 +14,8 @@ require uclibc.inc
 
 PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
 
+SRC_URI += "file://uClibc.machine file://uClibc.distro"
+
 #recent versions uclibc require real kernel headers
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-cvs', '${FILE_DIRNAME}/uclibc-${UCLIBC_BASE}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"