diff options
Diffstat (limited to 'packages/uclibc')
-rw-r--r-- | packages/uclibc/uclibc.inc | 24 | ||||
-rw-r--r-- | packages/uclibc/uclibc_0.9.29.bb | 2 |
2 files changed, 18 insertions, 8 deletions
diff --git a/packages/uclibc/uclibc.inc b/packages/uclibc/uclibc.inc index aa048c9950..bae3f2d042 100644 --- a/packages/uclibc/uclibc.inc +++ b/packages/uclibc/uclibc.inc @@ -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 diff --git a/packages/uclibc/uclibc_0.9.29.bb b/packages/uclibc/uclibc_0.9.29.bb index b4ba7b44ef..b5083ed84d 100644 --- a/packages/uclibc/uclibc_0.9.29.bb +++ b/packages/uclibc/uclibc_0.9.29.bb @@ -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)}" |