diff options
-rw-r--r-- | conf/bitbake.conf | 17 | ||||
-rw-r--r-- | conf/distro/include/arm-thumb.inc | 6 | ||||
-rw-r--r-- | conf/distro/micro.conf | 6 | ||||
-rw-r--r-- | conf/distro/minimal.conf | 5 | ||||
-rw-r--r-- | conf/distro/shr.conf | 5 | ||||
-rw-r--r-- | conf/machine/fsg3be.conf | 2 | ||||
-rw-r--r-- | conf/machine/kixrp435.conf | 2 | ||||
-rw-r--r-- | conf/machine/nslu2be.conf | 2 | ||||
-rw-r--r-- | conf/machine/nslu2le.conf | 2 | ||||
-rw-r--r-- | docs/usermanual/chapters/common_use_cases.xml | 31 | ||||
-rw-r--r-- | recipes/binutils/binutils_csl-arm-20050416.bb | 2 | ||||
-rw-r--r-- | recipes/binutils/binutils_csl-arm-20050603.bb | 2 | ||||
-rw-r--r-- | recipes/eglibc/eglibc-package.bbclass | 2 | ||||
-rw-r--r-- | recipes/glibc/glibc-package.inc | 2 | ||||
-rw-r--r-- | recipes/prelink/prelink_20061027.bb | 2 | ||||
-rw-r--r-- | recipes/prelink/prelink_20071009.bb | 2 | ||||
-rw-r--r-- | recipes/prelink/prelink_20090925.bb | 2 |
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}" |