From f18661145bcacd7adca80e31cf3ee214f3ad7078 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 28 May 2006 18:49:08 +0000 Subject: multimachine: Change from an include to a .bblass (and update distros using multimachine accordingly). Add code to find packages with machine specific subpackages and build these in a multimachine compatible way. --- classes/multimachine.bbclass | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 classes/multimachine.bbclass (limited to 'classes') diff --git a/classes/multimachine.bbclass b/classes/multimachine.bbclass new file mode 100644 index 0000000000..2248f326cc --- /dev/null +++ b/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) +} -- cgit v1.2.3