summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Rini <tom_rini@mentor.com>2010-09-09 09:06:56 -0700
committerTom Rini <tom_rini@mentor.com>2010-09-13 09:00:42 -0700
commitf87759ae52f2a66be98d3f4104265ec36f62f071 (patch)
treef0a62b6e534de92fe46f9e0309da9deaa0a9cd3a
parent259e2ea7166e2666b68528cd3d619958c4f1bfb4 (diff)
downloadopenembedded-f87759ae52f2a66be98d3f4104265ec36f62f071.tar.gz
packaged-staging: Fix libtool-cross staging
libtool-cross must not inherit cross, so wasn't getting the right mangling and saving done. In addition, we want a slightly broader grep to be used in these cases. Signed-off-by: Tom Rini <tom_rini@mentor.com>
-rw-r--r--classes/packaged-staging.bbclass33
1 files changed, 23 insertions, 10 deletions
diff --git a/classes/packaged-staging.bbclass b/classes/packaged-staging.bbclass
index 58d336a954..8292853ffb 100644
--- a/classes/packaged-staging.bbclass
+++ b/classes/packaged-staging.bbclass
@@ -30,16 +30,8 @@ BB_STAMP_WHITELIST = "${PSTAGE_NATIVEDEPENDS}"
python __anonymous() {
pstage_allowed = True
-
- # We need PSTAGE_PKGARCH to contain information about the target.
- if bb.data.inherits_class('cross', d):
- bb.data.setVar('PSTAGE_PKGARCH', "${HOST_SYS}-${PACKAGE_ARCH}-${TARGET_OS}", d)
-
- # These classes encode staging paths data files so we must mangle them
- # for reuse.
- if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('sdk', d):
- scan_cmd = "grep -Irl ${STAGING_DIR} ${PSTAGE_TMPDIR_STAGE}"
- bb.data.setVar('PSTAGE_SCAN_CMD', scan_cmd, d)
+ pstage_host_mangle = False
+ pstage_is_cross = False
# PSTAGE_NATIVEDEPENDS lists the packages we need before we can use
# packaged staging. There will always be some packages we depend on.
@@ -59,6 +51,27 @@ python __anonymous() {
if localdata.getVar('PSTAGING_DISABLED', True) == "1":
pstage_allowed = False
+ # libtool-cross does not inherit cross.
+ if localdata.getVar('PN', True).startswith("libtool-cross"):
+ pstage_host_mangle = True
+ pstage_is_cross = True
+
+ # We need PSTAGE_PKGARCH to contain information about the target.
+ if bb.data.inherits_class('cross', d):
+ pstage_host_mangle = True
+
+ if pstage_host_mangle:
+ bb.data.setVar('PSTAGE_PKGARCH', "${HOST_SYS}-${PACKAGE_ARCH}-${TARGET_OS}", d)
+
+ # These classes encode staging paths data files so we must mangle them
+ # for reuse.
+ if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('sdk', d):
+ pstage_is_cross = True
+
+ if pstage_is_cross:
+ scan_cmd = "grep -Irl ${TMPDIR} ${PSTAGE_TMPDIR_STAGE}"
+ bb.data.setVar('PSTAGE_SCAN_CMD', scan_cmd, d)
+
# Add task dependencies if we're active, otherwise mark packaged staging
# as inactive.
if pstage_allowed: