aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/bitbake.conf17
-rw-r--r--conf/distro/include/arm-thumb.inc6
-rw-r--r--conf/distro/micro.conf6
-rw-r--r--conf/distro/minimal.conf5
-rw-r--r--conf/distro/shr.conf5
-rw-r--r--conf/machine/fsg3be.conf2
-rw-r--r--conf/machine/kixrp435.conf2
-rw-r--r--conf/machine/nslu2be.conf2
-rw-r--r--conf/machine/nslu2le.conf2
-rw-r--r--docs/usermanual/chapters/common_use_cases.xml31
-rw-r--r--recipes/binutils/binutils_csl-arm-20050416.bb2
-rw-r--r--recipes/binutils/binutils_csl-arm-20050603.bb2
-rw-r--r--recipes/eglibc/eglibc-package.bbclass2
-rw-r--r--recipes/glibc/glibc-package.inc2
-rw-r--r--recipes/prelink/prelink_20061027.bb2
-rw-r--r--recipes/prelink/prelink_20071009.bb2
-rw-r--r--recipes/prelink/prelink_20090925.bb2
17 files changed, 50 insertions, 42 deletions
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 494e14e243..c2359dce97 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -675,20 +675,9 @@ BUILDCFG_NEEDEDVARS ?= "TARGET_ARCH TARGET_OS"
# Overrides are processed left to right, so the ones that are named later take precedence.
# You generally want them to go from least to most specific.
-#
-# This means that an envionment variable named '<foo>_arm' overrides an
-# environment variable '<foo>' (when ${TARGET_ARCH} is arm).
-# an environment variable '<foo>_ramses' overrides '<foo>' but doesn't override
-# '<foo>_arm' when ${MACHINE} is 'ramses'.
-# If you use combination ie '<foo>_arm_ramses', then '<foo>_arm_ramses' will override
-# '<foo>_arm' and then '<foo>' will be overriden with that value from '<foo>_arm'.
-# And finally '<foo>_local' overrides anything, but with lowest priority.
-#
-# This works for functions as well, they are really just environment variables.
-# Default OVERRIDES to make compilation fail fast in case of build system misconfiguration.
-OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
-# Alternative OVERRIDES definition without "fail fast", usually only for native building and Scratchbox toolchains.
-#OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}"
+MACHINE_OVERRIDES ?= ""
+OVERRIDES = "pn-${PN}:fail-fast:build-${BUILD_OS}:${TARGET_ARCH}:${TARGET_OS}:\
+${DISTRO}:${@':'.join(d.getVar('MACHINE_OVERRIDES', True).split())}:${MACHINE}:local"
##################################################################
# Include the rest of the config files.
diff --git a/conf/distro/include/arm-thumb.inc b/conf/distro/include/arm-thumb.inc
index 36edd4f670..75ed9780a2 100644
--- a/conf/distro/include/arm-thumb.inc
+++ b/conf/distro/include/arm-thumb.inc
@@ -16,9 +16,9 @@ THUMB_INTERWORK ?= "no"
# arm system and vice versa. It is strongly recommended that DISTROs not
# turn this off - the actual cost is very small.
-OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
-OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
-OVERRIDES_append_arm =. "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}"
+OVERRIDE_THUMB = "${@['', 'thumb:'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
+OVERRIDE_INTERWORK = "${@['', 'thumb-interwork:'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
+OVERRIDES_prepend_arm =. "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}"
# Compiler and linker options for application code and kernel code. These
# options ensure that the compiler has the correct settings for the selected
diff --git a/conf/distro/micro.conf b/conf/distro/micro.conf
index 6d396b3397..19b5e6209b 100644
--- a/conf/distro/micro.conf
+++ b/conf/distro/micro.conf
@@ -69,10 +69,10 @@ require conf/distro/include/sane-toolchain.inc
require conf/distro/include/arm-thumb.inc
#############################################################################
-# OVERRIDES adjusted from bitbake.conf to feature the MACHINE_CLASS
+# Ensure MACHINE_CLASS is in OVERRIDES
#############################################################################
-OVERRIDES = "local:${MACHINE}:${MACHINE_CLASS}:${DISTRO}:${TARGET_OS}:\
-${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+MACHINE_CLASS ?= ""
+MACHINE_OVERRIDES += "${MACHINE_CLASS}"
#############################################################################
# PREFERRED VERSIONS
diff --git a/conf/distro/minimal.conf b/conf/distro/minimal.conf
index 376ffdee02..0d32cfeffe 100644
--- a/conf/distro/minimal.conf
+++ b/conf/distro/minimal.conf
@@ -81,9 +81,10 @@ KERNEL = "kernel26"
MACHINE_KERNEL_VERSION = "2.6"
#############################################################################
-# OVERWRITES adjusted from bitbake.conf to feature the MACHINE_CLASS
+# Ensure MACHINE_CLASS is in OVERRIDES
#############################################################################
-OVERRIDES = "local:${MACHINE}:${MACHINE_CLASS}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+MACHINE_CLASS ?= ""
+MACHINE_OVERRIDES += "${MACHINE_CLASS}"
#############################################################################
# TOOLCHAIN
diff --git a/conf/distro/shr.conf b/conf/distro/shr.conf
index ade8cbad2a..74e3fe9c29 100644
--- a/conf/distro/shr.conf
+++ b/conf/distro/shr.conf
@@ -151,9 +151,10 @@ KERNEL = "kernel26"
MACHINE_KERNEL_VERSION = "2.6"
#############################################################################
-# OVERWRITES adjusted from bitbake.conf to feature the MACHINE_CLASS
+# Ensure MACHINE_CLASS is in OVERRIDES
#############################################################################
-OVERRIDES = "local:${MACHINE}:${MACHINE_CLASS}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+MACHINE_CLASS ?= ""
+MACHINE_OVERRIDES += "${MACHINE_CLASS}"
#############################################################################
# TOOLCHAIN
diff --git a/conf/machine/fsg3be.conf b/conf/machine/fsg3be.conf
index a2ca95beac..c5ddc2542a 100644
--- a/conf/machine/fsg3be.conf
+++ b/conf/machine/fsg3be.conf
@@ -8,7 +8,7 @@ PACKAGE_EXTRA_ARCHS = "ixp4xxbe"
MACHINE_ARCH = "ixp4xxbe"
-OVERRIDES = "local:${MACHINE}:ixp4xxbe:ixp4xx:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+MACHINE_OVERRIDES += "ixp4xx ixp4xxbe"
# Match the vendor's latest kernel
PREFERRED_PROVIDER_virtual/kernel ?= "fsg3-kernel"
diff --git a/conf/machine/kixrp435.conf b/conf/machine/kixrp435.conf
index 8259127ec3..ba8216d66b 100644
--- a/conf/machine/kixrp435.conf
+++ b/conf/machine/kixrp435.conf
@@ -7,7 +7,7 @@ TARGET_ARCH = "arm"
# Note: armv4 armv4t armv5te will be added by tune-xscale.inc automatically.
PACKAGE_EXTRA_ARCHS = "armv5e ixp4xxle"
-OVERRIDES = "local:${MACHINE}:nslu2:ixp4xx:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+MACHINE_OVERRIDES += "ixp4xx nslu2"
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux = "2.6.30"
diff --git a/conf/machine/nslu2be.conf b/conf/machine/nslu2be.conf
index 9bc92f1a99..69d12a73bd 100644
--- a/conf/machine/nslu2be.conf
+++ b/conf/machine/nslu2be.conf
@@ -7,7 +7,7 @@ TARGET_ARCH = "armeb"
# Note: armv4b armv4tb armv5teb will be added by tune-xscale.inc automatically.
PACKAGE_EXTRA_ARCHS = "armv5eb ixp4xxbe"
-OVERRIDES = "local:${MACHINE}:nslu2:ixp4xx:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+MACHINE_OVERRIDES += "ixp4xx nslu2"
ROOT_FLASH_SIZE ?= "6"
diff --git a/conf/machine/nslu2le.conf b/conf/machine/nslu2le.conf
index 62e47cb678..5cd8a7799a 100644
--- a/conf/machine/nslu2le.conf
+++ b/conf/machine/nslu2le.conf
@@ -7,7 +7,7 @@ TARGET_ARCH = "arm"
# Note: armv4 armv4t armv5te will be added by tune-xscale.inc automatically.
PACKAGE_EXTRA_ARCHS = "armv5e ixp4xxle"
-OVERRIDES = "local:${MACHINE}:nslu2:ixp4xx:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+MACHINE_OVERRIDES += "ixp4xx nslu2"
ROOT_FLASH_SIZE ?= "6"
diff --git a/docs/usermanual/chapters/common_use_cases.xml b/docs/usermanual/chapters/common_use_cases.xml
index 8202dda64b..21140472be 100644
--- a/docs/usermanual/chapters/common_use_cases.xml
+++ b/docs/usermanual/chapters/common_use_cases.xml
@@ -7,8 +7,8 @@
<para>Creating a new distribution is not complicated, however we urge you
to try existing distributions first, because it's also very easy to do
- wrong. The config needs to be created in $OEBASE/openembedded/conf/distro
- directory. So what has to be inside?
+ wrong. The config needs to be created in $OEBASE/openembedded/conf/distro
+ directory. So what has to be inside?
<itemizedlist>
<listitem>
<para><command>DISTRO_VERSION</command> so users will know which
@@ -72,8 +72,8 @@ SRCDATE = "20061014"
<section id="commonuse_new_machine">
<title>Adding a new Machine</title>
- <para>To be able to build for a device OpenEmbedded has to know about it,
- so a machine config file needs to be written. All of the machine
+ <para>To be able to build for a device OpenEmbedded has to know about it,
+ so a machine config file needs to be written. All of the machine
configs are stored in $OEBASE/openembedded/conf/machine/ directory.</para>
<para>As usual some variables are required: <itemizedlist>
@@ -97,6 +97,23 @@ SRCDATE = "20061014"
<para>There are also some optional variables that can be defined:
<itemizedlist>
<listitem>
+ <para>
+ <command>MACHINE_OVERRIDES</command> lists additional items to add to
+ the <command>OVERRIDES</command> variable, between the
+ <command>DISTRO</command> and the <command>MACHINE</command>. This is
+ utilized to add overrides which are less specific than the machine,
+ but are nonetheless related to it, allowing us to define variables a
+ certain way for a group of machines, rather than for each individual
+ one. As an example, this variable may be used by the distribution to
+ add <command>SOC_FAMILY</command> or <command>MACHINE_CLASS</command>.
+ </para>
+ <para>
+ Note that this variable is space separated, and should always be
+ manipulated with +=, to ensure it's built up incrementally, and no
+ additions are lost.
+ </para>
+ </listitem>
+ <listitem>
<para><command>SOC_FAMILY</command> describes a family of processors
that all share common features such as kernel versions,
bootloaders, etc. This is used to allow overrides for a whole
@@ -105,7 +122,7 @@ SRCDATE = "20061014"
or local setting.
</para>
<para>
- NOTE: SOC_FAMILY is different than MACHINE_CLASS in that
+ NOTE: SOC_FAMILY is different than MACHINE_CLASS in that
MACHINE_CLASS is intended to specify a grouping of devices
that may have different processors but share common features.
For example all OMAP3 devices can be described using the SOC_FAMILY
@@ -139,7 +156,7 @@ SRCDATE = "20061014"
<listitem><para>for cvs: add 'PV = "1.1+cvs${SRCREV}"' to your bb file.</para></listitem>
</itemizedlist>
Accompany either with an entry to conf/distro/include/sane-srcrevs.inc for a revision that you know
- builds successfully. It is also common to define the stable SRCREV
+ builds successfully. It is also common to define the stable SRCREV
for your package directly in the package recipe.
</para>
<para>
@@ -276,7 +293,7 @@ RDEPENDS_${PN} += "\
<title>Putting it together</title>
<para>In the previous two sections we have prepared the host and
target side. One thing that is missing is combining the two newly
- created tasks and actually creating the SDK. This is what we are
+ created tasks and actually creating the SDK. This is what we are
going to do now.</para>
<para>Create <filename>meta-toolchain-YOU.bb</filename> in the
diff --git a/recipes/binutils/binutils_csl-arm-20050416.bb b/recipes/binutils/binutils_csl-arm-20050416.bb
index ad45438a0a..71803d1501 100644
--- a/recipes/binutils/binutils_csl-arm-20050416.bb
+++ b/recipes/binutils/binutils_csl-arm-20050416.bb
@@ -7,7 +7,7 @@ LICENSE = "GPL"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-cvs"
PV = "2.15.99+csl-arm+cvs20050416"
PR = "r3"
-OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"
+OVERRIDES_prepend = "${TARGET_ARCH}-${TARGET_OS}:"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_arm-linux = "-1"
DEFAULT_PREFERENCE_arm-linuxeabi = "-1"
diff --git a/recipes/binutils/binutils_csl-arm-20050603.bb b/recipes/binutils/binutils_csl-arm-20050603.bb
index 595cb98b69..50e8677a43 100644
--- a/recipes/binutils/binutils_csl-arm-20050603.bb
+++ b/recipes/binutils/binutils_csl-arm-20050603.bb
@@ -7,7 +7,7 @@ LICENSE = "GPL"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-cvs"
PV = "2.15.99+csl-arm+cvs20050603"
PR = "r3"
-OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"
+OVERRIDES_prepend = "${TARGET_ARCH}-${TARGET_OS}:"
DEFAULT_PREFERENCE = "-1"
#DEFAULT_PREFERENCE_arm-linux = "1"
#DEFAULT_PREFERENCE_arm-linuxeabi = "1"
diff --git a/recipes/eglibc/eglibc-package.bbclass b/recipes/eglibc/eglibc-package.bbclass
index dbca1abd46..c802bd5c2d 100644
--- a/recipes/eglibc/eglibc-package.bbclass
+++ b/recipes/eglibc/eglibc-package.bbclass
@@ -116,7 +116,7 @@ def get_eglibc_fpu_setting(bb, d):
EXTRA_OECONF += "${@get_eglibc_fpu_setting(bb, d)}"
EXTRA_OEMAKE += "rootsbindir=${base_sbindir}"
-OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"
+OVERRIDES_prepend = "${TARGET_ARCH}-${TARGET_OS}:"
do_configure_prepend() {
sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in
diff --git a/recipes/glibc/glibc-package.inc b/recipes/glibc/glibc-package.inc
index 0b263bb485..8cd8564aaf 100644
--- a/recipes/glibc/glibc-package.inc
+++ b/recipes/glibc/glibc-package.inc
@@ -44,7 +44,7 @@ def get_glibc_fpu_setting(bb, d):
EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
EXTRA_OEMAKE += "rootsbindir=${base_sbindir}"
-OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"
+OVERRIDES_prepend = "${TARGET_ARCH}-${TARGET_OS}:"
do_install() {
oe_runmake install_root=${D} install
diff --git a/recipes/prelink/prelink_20061027.bb b/recipes/prelink/prelink_20061027.bb
index ad2faf561c..552117b548 100644
--- a/recipes/prelink/prelink_20061027.bb
+++ b/recipes/prelink/prelink_20061027.bb
@@ -12,7 +12,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/p/prelink/prelink_0.0.${PV}.orig.tar.gz \
file://prelink.default"
TARGET_OS_ORIG := "${TARGET_OS}"
-OVERRIDES_append = ":${TARGET_OS_ORIG}"
+OVERRIDES_prepend = "${TARGET_OS_ORIG}:"
SRC_URI_append_linux-gnueabi = " file://arm_eabi.patch"
S = "${WORKDIR}/prelink-0.0.${PV}"
diff --git a/recipes/prelink/prelink_20071009.bb b/recipes/prelink/prelink_20071009.bb
index faf930cd01..e2ab3fb01a 100644
--- a/recipes/prelink/prelink_20071009.bb
+++ b/recipes/prelink/prelink_20071009.bb
@@ -12,7 +12,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/p/prelink/prelink_0.0.${PV}.orig.tar.gz \
file://prelink.default"
TARGET_OS_ORIG := "${TARGET_OS}"
-OVERRIDES_append = ":${TARGET_OS_ORIG}"
+OVERRIDES_prepend = "${TARGET_OS_ORIG}:"
SRC_URI_append_linux-gnueabi = " file://arm_eabi.patch"
S = "${WORKDIR}/prelink-0.0.${PV}"
diff --git a/recipes/prelink/prelink_20090925.bb b/recipes/prelink/prelink_20090925.bb
index 4c83402aa3..5b247b6b06 100644
--- a/recipes/prelink/prelink_20090925.bb
+++ b/recipes/prelink/prelink_20090925.bb
@@ -12,7 +12,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/p/prelink/prelink_0.0.${PV}.orig.tar.gz \
file://prelink.default"
#TARGET_OS_ORIG := "${TARGET_OS}"
-#OVERRIDES_append = ":${TARGET_OS_ORIG}"
+#OVERRIDES_prepend = "${TARGET_OS_ORIG}:"
#SRC_URI_append_linux-gnueabi = " file://arm_eabi.patch"
S = "${WORKDIR}/prelink-0.0.${PV}"