diff options
Diffstat (limited to 'meta/classes/populate_sdk_base.bbclass')
-rw-r--r-- | meta/classes/populate_sdk_base.bbclass | 16 |
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}" | |||
51 | SDK_ARCHIVE_TYPE ?= "tar.xz" | 51 | SDK_ARCHIVE_TYPE ?= "tar.xz" |
52 | SDK_XZ_COMPRESSION_LEVEL ?= "-9" | 52 | SDK_XZ_COMPRESSION_LEVEL ?= "-9" |
53 | SDK_XZ_OPTIONS ?= "${XZ_DEFAULTS} ${SDK_XZ_COMPRESSION_LEVEL}" | 53 | SDK_XZ_OPTIONS ?= "${XZ_DEFAULTS} ${SDK_XZ_COMPRESSION_LEVEL}" |
54 | SDK_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 |
56 | python () { | 58 | python () { |
@@ -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 | ||
67 | SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" | 69 | SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" |
68 | SDK_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" | 70 | SDK_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" |
69 | PATH_prepend = "${STAGING_DIR_HOST}${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:" | 71 | PATH_prepend = "${WORKDIR}/recipe-sysroot/${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:" |
70 | SDK_DEPENDS += "nativesdk-glibc-locale" | 72 | SDK_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}" | |||
178 | do_populate_sdk[sstate-outputdirs] = "${SDK_DEPLOY}" | 180 | do_populate_sdk[sstate-outputdirs] = "${SDK_DEPLOY}" |
179 | do_populate_sdk[stamp-extra-info] = "${MACHINE_ARCH}${SDKMACHINE}" | 181 | do_populate_sdk[stamp-extra-info] = "${MACHINE_ARCH}${SDKMACHINE}" |
180 | 182 | ||
181 | PSEUDO_IGNORE_PATHS .= ",${SDKDEPLOYDIR}" | 183 | PSEUDO_IGNORE_PATHS .= ",${SDKDEPLOYDIR},${WORKDIR}/oe-sdk-repo,${WORKDIR}/sstate-build-populate_sdk" |
182 | 184 | ||
183 | fakeroot create_sdk_files() { | 185 | fakeroot 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 | ||
325 | do_populate_sdk[vardeps] += "${@sdk_variables(d)}" | 328 | do_populate_sdk[vardeps] += "${@sdk_variables(d)}" |
326 | 329 | ||
330 | python () { | ||
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 | |||
327 | do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \ | 337 | do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \ |
328 | ${TOOLCHAIN_SHAR_EXT_TMPL}:True" | 338 | ${TOOLCHAIN_SHAR_EXT_TMPL}:True" |
329 | 339 | ||