summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/uclibc/uclibc-0.9.28/powerpc/uClibc.config5
-rw-r--r--packages/uclibc/uclibc.inc24
-rw-r--r--packages/uclibc/uclibc_0.9.29.bb2
3 files changed, 23 insertions, 8 deletions
diff --git a/packages/uclibc/uclibc-0.9.28/powerpc/uClibc.config b/packages/uclibc/uclibc-0.9.28/powerpc/uClibc.config
index 8a12c10961..76f77c5744 100644
--- a/packages/uclibc/uclibc-0.9.28/powerpc/uClibc.config
+++ b/packages/uclibc/uclibc-0.9.28/powerpc/uClibc.config
@@ -40,6 +40,7 @@ ARCH_HAS_MMU=y
ARCH_USE_MMU=y
UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
+HAS_FPU=y
DO_C99_MATH=y
KERNEL_SOURCE="/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/efika/build/tmp/cross/powerpc-linux-uclibc"
HAVE_DOT_CONFIG=y
@@ -54,6 +55,7 @@ DOPIC=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
+BUILD_UCLIBC_LDSO=y
LDSO_CACHE_SUPPORT=y
# LDSO_PRELOAD_FILE_SUPPORT is not set
LDSO_BASE_FILENAME="ld.so"
@@ -73,6 +75,8 @@ UCLIBC_DYNAMIC_ATEXIT=y
COMPAT_ATEXIT=y
# UCLIBC_SUSV3_LEGACY is not set
UCLIBC_HAS_SHADOW=y
+HAS_SHADOW=y
+DL_FINI_CRT_COMPAT=n
UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
UCLIBC_HAS___PROGNAME=y
UNIX98PTY_ONLY=y
@@ -155,6 +159,7 @@ DEVEL_PREFIX="//usr"
#
# Security options
#
+UCLIBC_SECURITY=n
# UCLIBC_BUILD_PIE is not set
# UCLIBC_HAS_ARC4RANDOM is not set
# HAVE_NO_SSP is not set
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)}"