sstate: Make SSTATE_SCAN_CMD vars configurable using weak defaults.
For this we move them out of the python section so they can be overridden on a per-recipe basis. The motivation for this change is that not all tool chains need the path modifications provided by the command, and these will provide alternative or empty commands. The Go compiler is such an example. (From OE-Core rev: 7d2a2160336413736dd4640f5b84ba4d74bb00f5) Signed-off-by: Kristian Amlie <kristian.amlie@mender.io> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
5302fb4620
commit
2313a77d84
|
@ -38,6 +38,10 @@ TOOLCHAIN_OPTIONS = ""
|
|||
|
||||
DEPENDS_GETTEXT = "gettext-native"
|
||||
|
||||
# This class encodes staging paths into its scripts data so can only be
|
||||
# reused if we manipulate the paths.
|
||||
SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
|
||||
|
||||
# Path mangling needed by the cross packaging
|
||||
# Note that we use := here to ensure that libdir and includedir are
|
||||
# target paths.
|
||||
|
|
|
@ -10,6 +10,10 @@ python () {
|
|||
|
||||
STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
|
||||
|
||||
# This class encodes staging paths into its scripts data so can only be
|
||||
# reused if we manipulate the paths.
|
||||
SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
|
||||
|
||||
TARGET_ARCH = "${SDK_ARCH}"
|
||||
TARGET_VENDOR = "${SDK_VENDOR}"
|
||||
TARGET_OS = "${SDK_OS}"
|
||||
|
|
|
@ -115,6 +115,10 @@ MACHINEOVERRIDES = ""
|
|||
|
||||
PATH_prepend = "${COREBASE}/scripts/native-intercept:"
|
||||
|
||||
# This class encodes staging paths into its scripts data so can only be
|
||||
# reused if we manipulate the paths.
|
||||
SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
|
||||
|
||||
python native_virtclass_handler () {
|
||||
classextend = e.data.getVar('BBCLASSEXTEND') or ""
|
||||
if "native" not in classextend:
|
||||
|
|
|
@ -34,7 +34,8 @@ SSTATE_DUPWHITELIST += "${DEPLOY_DIR_SRC}"
|
|||
SSTATE_DUPWHITELIST += "${DEPLOY_DIR}/sdk/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt"
|
||||
|
||||
SSTATE_SCAN_FILES ?= "*.la *-config *_config"
|
||||
SSTATE_SCAN_CMD ?= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES").split())}" \) -type f'
|
||||
SSTATE_SCAN_CMD ??= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES").split())}" \) -type f'
|
||||
SSTATE_SCAN_CMD_NATIVE ??= 'grep -Irl -e ${RECIPE_SYSROOT} -e ${RECIPE_SYSROOT_NATIVE} ${SSTATE_BUILDDIR}'
|
||||
|
||||
BB_HASHFILENAME = "False ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}"
|
||||
|
||||
|
@ -94,12 +95,6 @@ python () {
|
|||
d.setVar('BB_HASHFILENAME', "True ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}")
|
||||
d.setVar('SSTATE_EXTRAPATHWILDCARD', "*/")
|
||||
|
||||
# These classes encode staging paths into their scripts data so can only be
|
||||
# reused if we manipulate the paths
|
||||
if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('sdk', d) or bb.data.inherits_class('crosssdk', d):
|
||||
scan_cmd = "grep -Irl -e ${RECIPE_SYSROOT} -e ${RECIPE_SYSROOT_NATIVE} ${SSTATE_BUILDDIR}"
|
||||
d.setVar('SSTATE_SCAN_CMD', scan_cmd)
|
||||
|
||||
unique_tasks = sorted(set((d.getVar('SSTATETASKS') or "").split()))
|
||||
d.setVar('SSTATETASKS', " ".join(unique_tasks))
|
||||
for task in unique_tasks:
|
||||
|
|
Loading…
Reference in New Issue