summaryrefslogtreecommitdiffstats
path: root/meta/classes/populate_sdk_base.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/populate_sdk_base.bbclass')
-rw-r--r--meta/classes/populate_sdk_base.bbclass16
1 files changed, 13 insertions, 3 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index dea272c441..49fdfaa93d 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -51,6 +51,8 @@ TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}"
51SDK_ARCHIVE_TYPE ?= "tar.xz" 51SDK_ARCHIVE_TYPE ?= "tar.xz"
52SDK_XZ_COMPRESSION_LEVEL ?= "-9" 52SDK_XZ_COMPRESSION_LEVEL ?= "-9"
53SDK_XZ_OPTIONS ?= "${XZ_DEFAULTS} ${SDK_XZ_COMPRESSION_LEVEL}" 53SDK_XZ_OPTIONS ?= "${XZ_DEFAULTS} ${SDK_XZ_COMPRESSION_LEVEL}"
54SDK_ZIP_OPTIONS ?= "-y"
55
54 56
55# To support different sdk type according to SDK_ARCHIVE_TYPE, now support zip and tar.xz 57# To support different sdk type according to SDK_ARCHIVE_TYPE, now support zip and tar.xz
56python () { 58python () {
@@ -58,7 +60,7 @@ python () {
58 d.setVar('SDK_ARCHIVE_DEPENDS', 'zip-native') 60 d.setVar('SDK_ARCHIVE_DEPENDS', 'zip-native')
59 # SDK_ARCHIVE_CMD used to generate archived sdk ${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} from input dir ${SDK_OUTPUT}/${SDKPATH} to output dir ${SDKDEPLOYDIR} 61 # SDK_ARCHIVE_CMD used to generate archived sdk ${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} from input dir ${SDK_OUTPUT}/${SDKPATH} to output dir ${SDKDEPLOYDIR}
60 # recommand to cd into input dir first to avoid archive with buildpath 62 # recommand to cd into input dir first to avoid archive with buildpath
61 d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r -y ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .') 63 d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDK_ZIP_OPTIONS} ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .')
62 else: 64 else:
63 d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native') 65 d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native')
64 d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') 66 d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}')
@@ -66,7 +68,7 @@ python () {
66 68
67SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" 69SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
68SDK_DEPENDS = "virtual/fakeroot-native ${SDK_ARCHIVE_DEPENDS} cross-localedef-native nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross" 70SDK_DEPENDS = "virtual/fakeroot-native ${SDK_ARCHIVE_DEPENDS} cross-localedef-native nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross"
69PATH_prepend = "${STAGING_DIR_HOST}${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:" 71PATH_prepend = "${WORKDIR}/recipe-sysroot/${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:"
70SDK_DEPENDS += "nativesdk-glibc-locale" 72SDK_DEPENDS += "nativesdk-glibc-locale"
71 73
72# We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not PACKAGE_ARCH as it 74# We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not PACKAGE_ARCH as it
@@ -178,7 +180,7 @@ do_populate_sdk[sstate-inputdirs] = "${SDKDEPLOYDIR}"
178do_populate_sdk[sstate-outputdirs] = "${SDK_DEPLOY}" 180do_populate_sdk[sstate-outputdirs] = "${SDK_DEPLOY}"
179do_populate_sdk[stamp-extra-info] = "${MACHINE_ARCH}${SDKMACHINE}" 181do_populate_sdk[stamp-extra-info] = "${MACHINE_ARCH}${SDKMACHINE}"
180 182
181PSEUDO_IGNORE_PATHS .= ",${SDKDEPLOYDIR}" 183PSEUDO_IGNORE_PATHS .= ",${SDKDEPLOYDIR},${WORKDIR}/oe-sdk-repo,${WORKDIR}/sstate-build-populate_sdk"
182 184
183fakeroot create_sdk_files() { 185fakeroot create_sdk_files() {
184 cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/ 186 cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/
@@ -275,6 +277,7 @@ EOF
275 # substitute variables 277 # substitute variables
276 sed -i -e 's#@SDK_ARCH@#${SDK_ARCH}#g' \ 278 sed -i -e 's#@SDK_ARCH@#${SDK_ARCH}#g' \
277 -e 's#@SDKPATH@#${SDKPATH}#g' \ 279 -e 's#@SDKPATH@#${SDKPATH}#g' \
280 -e 's#@SDKPATHINSTALL@#${SDKPATHINSTALL}#g' \
278 -e 's#@SDKEXTPATH@#${SDKEXTPATH}#g' \ 281 -e 's#@SDKEXTPATH@#${SDKEXTPATH}#g' \
279 -e 's#@OLDEST_KERNEL@#${SDK_OLDEST_KERNEL}#g' \ 282 -e 's#@OLDEST_KERNEL@#${SDK_OLDEST_KERNEL}#g' \
280 -e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \ 283 -e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \
@@ -324,6 +327,13 @@ def sdk_variables(d):
324 327
325do_populate_sdk[vardeps] += "${@sdk_variables(d)}" 328do_populate_sdk[vardeps] += "${@sdk_variables(d)}"
326 329
330python () {
331 variables = sdk_command_variables(d)
332 for var in variables:
333 if d.getVar(var, False):
334 d.setVarFlag(var, 'func', '1')
335}
336
327do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \ 337do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \
328 ${TOOLCHAIN_SHAR_EXT_TMPL}:True" 338 ${TOOLCHAIN_SHAR_EXT_TMPL}:True"
329 339