--- /dev/null
+# 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.
-#
-# 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
#
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}"
}
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