Message ID | 1335447947.20130.15.camel@ted |
---|---|
State | Accepted |
Commit | cf332fd9bf685f6d42b11c1f0c37b934c7f5bcbe |
Headers | show |
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 02e1ff5..a984eae 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -1,4 +1,5 @@ BB_DEFAULT_TASK ?= "build" +CLASSOVERRIDE ?= "class-target" inherit patch inherit staging diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass index bbf8f16..ed53118 100644 --- a/meta/classes/cross-canadian.bbclass +++ b/meta/classes/cross-canadian.bbclass @@ -8,7 +8,7 @@ # SDK packages are built either explicitly by the user, # or indirectly via dependency. No need to be in 'world'. EXCLUDE_FROM_WORLD = "1" - +CLASSOVERRIDE = "class-cross-canadian" STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${SDK_VENDOR}-${SDK_OS}:${STAGING_DIR_NATIVE}${bindir_native}/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}" # diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass index 8da3048..e998307 100644 --- a/meta/classes/cross.bbclass +++ b/meta/classes/cross.bbclass @@ -4,6 +4,7 @@ inherit relocatable # no need for them to be a direct target of 'world' EXCLUDE_FROM_WORLD = "1" +CLASSOVERRIDE = "class-cross" PACKAGES = "" PACKAGES_DYNAMIC = "" PACKAGES_DYNAMIC_virtclass-native = "" diff --git a/meta/classes/crosssdk.bbclass b/meta/classes/crosssdk.bbclass index 67df236..93aba70 100644 --- a/meta/classes/crosssdk.bbclass +++ b/meta/classes/crosssdk.bbclass @@ -1,5 +1,6 @@ inherit cross +CLASSOVERRIDE = "class-crosssdk" PACKAGE_ARCH = "${SDK_ARCH}" python () { # set TUNE_PKGARCH to SDK_ARCH diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass index ffab971..bca48d4 100644 --- a/meta/classes/native.bbclass +++ b/meta/classes/native.bbclass @@ -97,6 +97,7 @@ PKG_CONFIG_SYSROOT_DIR = "" # we dont want libc-uclibc or libc-glibc to kick in for native recipes LIBCOVERRIDE = "" +CLASSOVERRIDE = "class-native" PATH =. "${COREBASE}/scripts/native-intercept:" diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass index 9e20834..a58fce2 100644 --- a/meta/classes/nativesdk.bbclass +++ b/meta/classes/nativesdk.bbclass @@ -8,6 +8,7 @@ STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${S # we dont want libc-uclibc or libc-glibc to kick in for nativesdk recipes LIBCOVERRIDE = "" +CLASSOVERRIDE = "class-nativesdk" # # Update PACKAGE_ARCH and PACKAGE_ARCHS diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 91fe070..9f4e4d4 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -637,7 +637,8 @@ AUTO_LIBNAME_PKGS = "${PACKAGES}" # # 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 = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:forcevariable" +OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable" +CLASSOVERRIDE ?= "class-target" DISTROOVERRIDES ?= "${@d.getVar('DISTRO', True) or ''}" MACHINEOVERRIDES ?= "${MACHINE}" MACHINEOVERRIDES[vardepsexclude] = "MACHINE"
On Thu, Apr 26, 2012 at 6:45 AM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote: > [This is a tweaked version of one of Khem's patches. The idea here would > be to deprecate and ultimately remove the virtclass-native and > virtclass-nativesdk overrides] > > We have currently no override to detect a recipe being build cross, crosssdk > or for target at times we can use virtclass-native and virtclass-nativesdk to > override stuff in recipes but we dont have way to modify a variables > based on recipe type always. > > This patch adds in such an override and in particular makes a target override > class available. > > With this change now we can say: > > EXTRA_OECONF_class-target = "...." > EXTRA_OECONF_class-native = "..." > EXTRA_OECONF_class-nativesdk = "..." > EXTRA_OECONF_class-crosssdk= "..." > > Based of an original patch by Khem Raj > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Looks ok to me. > --- > diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass > index 02e1ff5..a984eae 100644 > --- a/meta/classes/base.bbclass > +++ b/meta/classes/base.bbclass > @@ -1,4 +1,5 @@ > BB_DEFAULT_TASK ?= "build" > +CLASSOVERRIDE ?= "class-target" > > inherit patch > inherit staging > diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass > index bbf8f16..ed53118 100644 > --- a/meta/classes/cross-canadian.bbclass > +++ b/meta/classes/cross-canadian.bbclass > @@ -8,7 +8,7 @@ > # SDK packages are built either explicitly by the user, > # or indirectly via dependency. No need to be in 'world'. > EXCLUDE_FROM_WORLD = "1" > - > +CLASSOVERRIDE = "class-cross-canadian" > STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${SDK_VENDOR}-${SDK_OS}:${STAGING_DIR_NATIVE}${bindir_native}/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}" > > # > diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass > index 8da3048..e998307 100644 > --- a/meta/classes/cross.bbclass > +++ b/meta/classes/cross.bbclass > @@ -4,6 +4,7 @@ inherit relocatable > # no need for them to be a direct target of 'world' > EXCLUDE_FROM_WORLD = "1" > > +CLASSOVERRIDE = "class-cross" > PACKAGES = "" > PACKAGES_DYNAMIC = "" > PACKAGES_DYNAMIC_virtclass-native = "" > diff --git a/meta/classes/crosssdk.bbclass b/meta/classes/crosssdk.bbclass > index 67df236..93aba70 100644 > --- a/meta/classes/crosssdk.bbclass > +++ b/meta/classes/crosssdk.bbclass > @@ -1,5 +1,6 @@ > inherit cross > > +CLASSOVERRIDE = "class-crosssdk" > PACKAGE_ARCH = "${SDK_ARCH}" > python () { > # set TUNE_PKGARCH to SDK_ARCH > diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass > index ffab971..bca48d4 100644 > --- a/meta/classes/native.bbclass > +++ b/meta/classes/native.bbclass > @@ -97,6 +97,7 @@ PKG_CONFIG_SYSROOT_DIR = "" > > # we dont want libc-uclibc or libc-glibc to kick in for native recipes > LIBCOVERRIDE = "" > +CLASSOVERRIDE = "class-native" > > PATH =. "${COREBASE}/scripts/native-intercept:" > > diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass > index 9e20834..a58fce2 100644 > --- a/meta/classes/nativesdk.bbclass > +++ b/meta/classes/nativesdk.bbclass > @@ -8,6 +8,7 @@ STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${S > > # we dont want libc-uclibc or libc-glibc to kick in for nativesdk recipes > LIBCOVERRIDE = "" > +CLASSOVERRIDE = "class-nativesdk" > > # > # Update PACKAGE_ARCH and PACKAGE_ARCHS > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > index 91fe070..9f4e4d4 100644 > --- a/meta/conf/bitbake.conf > +++ b/meta/conf/bitbake.conf > @@ -637,7 +637,8 @@ AUTO_LIBNAME_PKGS = "${PACKAGES}" > # > # 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 = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:forcevariable" > +OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable" > +CLASSOVERRIDE ?= "class-target" > DISTROOVERRIDES ?= "${@d.getVar('DISTRO', True) or ''}" > MACHINEOVERRIDES ?= "${MACHINE}" > MACHINEOVERRIDES[vardepsexclude] = "MACHINE" > > > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[This is a tweaked version of one of Khem's patches. The idea here would be to deprecate and ultimately remove the virtclass-native and virtclass-nativesdk overrides] We have currently no override to detect a recipe being build cross, crosssdk or for target at times we can use virtclass-native and virtclass-nativesdk to override stuff in recipes but we dont have way to modify a variables based on recipe type always. This patch adds in such an override and in particular makes a target override class available. With this change now we can say: EXTRA_OECONF_class-target = "...." EXTRA_OECONF_class-native = "..." EXTRA_OECONF_class-nativesdk = "..." EXTRA_OECONF_class-crosssdk= "..." Based of an original patch by Khem Raj Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> ---