diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2009-06-23 11:55:29 -0300 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2009-07-10 14:25:46 -0300 |
commit | 6633c4c95a713bc365f5d87acc4a94621ed50034 (patch) | |
tree | a85e83fa4dc5c021a4d6ea623f4eaa4dd7a93e6b /conf | |
parent | 04f92bf788fd4f38f0cee0a5de93ce7d4f0b94f0 (diff) |
base.bbclass: add support for machine configuration fallback
To avoid duplicating a lot of configurations for similar machines we
needed to introduce a new concept of machine fallback.
It basically means that when a list is set in MACHINE_FALLBACK
variable, following is done:
- those machines are added to the override list, after the machine
itself;
- if any of these machines matches, the package is dealt as machine
specific one.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'conf')
-rw-r--r-- | conf/bitbake.conf | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/conf/bitbake.conf b/conf/bitbake.conf index 8b6956453b..d26efe84f0 100644 --- a/conf/bitbake.conf +++ b/conf/bitbake.conf @@ -615,21 +615,6 @@ BUILDCFG_VARS_append_arm = " TARGET_FPU" BUILDCFG_VARS_append_armeb = " TARGET_FPU" BUILDCFG_NEEDEDVARS ?= "TARGET_ARCH TARGET_OS" -### -### Config file processing -### - -# This means that an envionment variable named '<foo>_arm' overrides an -# environment variable '<foo>' (when ${TARGET_ARCH} is arm). And the same: an -# environment variable '<foo>_ramses' overrides both '<foo>' and '<foo>_arm -# when ${MACHINE} is 'ramses'. And finally '<foo>_local' overrides anything. -# -# 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}" - ################################################################## # Include the rest of the config files. ################################################################## @@ -651,6 +636,28 @@ require conf/sanity.conf require conf/abi_version.conf require conf/enterprise.conf +### +### Config file processing +### + +# A list of machines that ought to be used when looking for +# overrides. For example, geodegx and geodelx machines can have geode +# as a fallback and then avoiding duplicated content between them. +MACHINE_FALLBACK ?= "" + +MACHINE_OVERRIDES = "${@':'.join([bb.data.getVar('MACHINE', d)] + bb.data.getVar('MACHINE_FALLBACK', d).split()) or ':'}" + +# This means that an envionment variable named '<foo>_arm' overrides an +# environment variable '<foo>' (when ${TARGET_ARCH} is arm). And the same: an +# environment variable '<foo>_ramses' overrides both '<foo>' and '<foo>_arm +# when ${MACHINE} is 'ramses'. And finally '<foo>_local' overrides anything. +# +# 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_OVERRIDES}:${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_OVERRIDES}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}" + ################################################################## # Weak variables (usually to retain backwards compatibility) ################################################################## |