summaryrefslogtreecommitdiff
path: root/openembedded/classes/multimachine.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2006-05-28 21:58:59 +0000
committerRichard Purdie <richard@openedhand.com>2006-05-28 21:58:59 +0000
commit439db2032c8b3446fc3bbae945370d2f28b0d2c2 (patch)
treef161f94ee42c5c53ecbb6697e4227c249758a8f2 /openembedded/classes/multimachine.bbclass
parentc74733f58c274921f9e1801a37e0a96dfd5d4776 (diff)
downloadopenembedded-core-439db2032c8b3446fc3bbae945370d2f28b0d2c2.tar.gz
openembedded-core-439db2032c8b3446fc3bbae945370d2f28b0d2c2.tar.bz2
openembedded-core-439db2032c8b3446fc3bbae945370d2f28b0d2c2.tar.xz
openembedded-core-439db2032c8b3446fc3bbae945370d2f28b0d2c2.zip
Change multimachine to a bbclass and update distro configurations. Add multimachine functionlity to cope with packages with machine specific sub packages. Also applied to OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@450 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/classes/multimachine.bbclass')
-rw-r--r--openembedded/classes/multimachine.bbclass22
1 files changed, 22 insertions, 0 deletions
diff --git a/openembedded/classes/multimachine.bbclass b/openembedded/classes/multimachine.bbclass
new file mode 100644
index 000000000..2248f326c
--- /dev/null
+++ b/openembedded/classes/multimachine.bbclass
@@ -0,0 +1,22 @@
+STAMP = "${TMPDIR}/stamps/${MULTIMACH_ARCH}-${HOST_OS}/${PF}"
+WORKDIR = "${TMPDIR}/work/${MULTIMACH_ARCH}-${HOST_OS}/${PF}"
+STAGING_KERNEL_DIR = "${STAGING_DIR}/${MULTIMACH_ARCH}-${HOST_OS}/kernel"
+
+# Find any machine specific sub packages and if present, mark the
+# whole package as machine specific for multimachine purposes.
+python __anonymous () {
+ packages = bb.data.getVar('PACKAGES', d, 1).split()
+ macharch = bb.data.getVar('MACHINE_ARCH', d, 1)
+ multiarch = bb.data.getVar('PACKAGE_ARCH', d, 1)
+
+ for pkg in packages:
+ pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
+
+ # We could look for != PACKAGE_ARCH here but how to choose
+ # if multiple differences are present?
+ # Look through IPKG_ARCHS for the priority order?
+ if pkgarch and pkgarch == macharch:
+ multiarch = macharch
+
+ bb.data.setVar('MULTIMACH_ARCH', multiarch, d)
+}