diff options
-rw-r--r-- | packages/uclibc/files/uClibc.distro | 3 | ||||
-rw-r--r-- | packages/uclibc/files/uClibc.machine | 8 | ||||
-rw-r--r-- | packages/uclibc/uclibc-0.9.28/nslu2/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/uclibc/uclibc-0.9.28/nslu2/uClibc.machine | 8 | ||||
-rw-r--r-- | packages/uclibc/uclibc-0.9.28/ucslugc/uClibc.distro (renamed from packages/uclibc/uclibc-0.9.28/ucslugc/uClibc.config) | 58 | ||||
-rw-r--r-- | packages/uclibc/uclibc.inc | 10 |
6 files changed, 31 insertions, 56 deletions
diff --git a/packages/uclibc/files/uClibc.distro b/packages/uclibc/files/uClibc.distro new file mode 100644 index 0000000000..d87b891b41 --- /dev/null +++ b/packages/uclibc/files/uClibc.distro @@ -0,0 +1,3 @@ +# Default per-distro config +# DO NOT CHANGE THIS +# Create a new file ${DISTRO}/uClibc.distro diff --git a/packages/uclibc/files/uClibc.machine b/packages/uclibc/files/uClibc.machine new file mode 100644 index 0000000000..66346b90f3 --- /dev/null +++ b/packages/uclibc/files/uClibc.machine @@ -0,0 +1,8 @@ +# Default per-machine config +# DO NOT CHANGE THIS +# Create a new file ${MACHINE}/uClibc.distro +# Use this file for information which is specific to the machine, +# as opposed to the architecture (e.g. nslu2 as opposed to armeb or arm) +# KISS: this file gets includes last, nothing in here can be +# overridden. Restrict things in here to things which are absolutely +# and certainly true for this machine. diff --git a/packages/uclibc/uclibc-0.9.28/nslu2/.mtn2git_empty b/packages/uclibc/uclibc-0.9.28/nslu2/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/uclibc/uclibc-0.9.28/nslu2/.mtn2git_empty diff --git a/packages/uclibc/uclibc-0.9.28/nslu2/uClibc.machine b/packages/uclibc/uclibc-0.9.28/nslu2/uClibc.machine new file mode 100644 index 0000000000..a3dde947cf --- /dev/null +++ b/packages/uclibc/uclibc-0.9.28/nslu2/uClibc.machine @@ -0,0 +1,8 @@ +# NSLU2 specific machine overrides. +# +# NSLU2 can be arm or armeb - the ARCH (arm,armeb) decides +# this, NSLU2 is always XScale - this file enfoces this. +# +CONFIG_ARM_XSCALE=y +ARCH_HAS_MMU=y +HAS_FPU=n diff --git a/packages/uclibc/uclibc-0.9.28/ucslugc/uClibc.config b/packages/uclibc/uclibc-0.9.28/ucslugc/uClibc.distro index f6810dc56e..7019e97369 100644 --- a/packages/uclibc/uclibc-0.9.28/ucslugc/uClibc.config +++ b/packages/uclibc/uclibc-0.9.28/ucslugc/uClibc.distro @@ -1,57 +1,7 @@ -# -# Automatically generated make config: don't edit -# -# TARGET_alpha is not set -TARGET_arm=y -# TARGET_bfin 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 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_sh64 is not set -# TARGET_sparc is not set -# TARGET_v850 is not set -# TARGET_x86_64 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_ARM1136JF_S is not set -# CONFIG_ARM_SA110 is not set -# CONFIG_ARM_SA1100 is not set -CONFIG_ARM_XSCALE=y -# ARCH_LITTLE_ENDIAN is not set -ARCH_BIG_ENDIAN=y -# ARCH_HAS_NO_MMU is not set -ARCH_HAS_MMU=y -UCLIBC_HAS_FLOATS=y -# HAS_FPU is not set -UCLIBC_HAS_SOFT_FLOAT=y -DO_C99_MATH=y -KERNEL_SOURCE="/path/to/kernel/files" -C_SYMBOL_PREFIX="" -HAVE_DOT_CONFIG=y - +# Contains only the distro specific parts of the uClibc.config - +# these are appended to the machine config to override the settings. +# Just copy everything from General Library Settings on into this +# file... # # General Library Settings # diff --git a/packages/uclibc/uclibc.inc b/packages/uclibc/uclibc.inc index 40c08d97ba..910e633ccc 100644 --- a/packages/uclibc/uclibc.inc +++ b/packages/uclibc/uclibc.inc @@ -57,7 +57,9 @@ 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.config \ + file://uClibc.machine \ + file://uClibc.distro" UCLIBC_PREFIX = "${CROSS_DIR}/${TARGET_SYS}" UCLIBC_STAGE_PREFIX = "${STAGING_DIR}/${HOST_SYS}" @@ -98,7 +100,11 @@ python do_patch () { } do_configure() { - cp ${WORKDIR}/uClibc.config ${S}/.config + 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 perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${TARGET_PREFIX},g' ${S}/Rules.mak perl -i -p -e '${configmangle}' ${S}/.config |