summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild/conf/local.conf.sample1
-rw-r--r--openembedded/classes/multimachine.bbclass22
-rw-r--r--openembedded/conf/distro/angstrom.conf4
-rw-r--r--openembedded/conf/distro/familiar.conf4
-rw-r--r--openembedded/conf/distro/include/multimachine.conf3
-rw-r--r--openembedded/conf/distro/openzaurus.conf4
-rw-r--r--openembedded/conf/distro/poky.conf2
7 files changed, 26 insertions, 14 deletions
diff --git a/build/conf/local.conf.sample b/build/conf/local.conf.sample
index 08e92eab70..dcdf80024b 100755
--- a/build/conf/local.conf.sample
+++ b/build/conf/local.conf.sample
@@ -57,5 +57,4 @@ BBINCLUDELOGS = "yes"
# a cvs:// URI. Uncomment this, if you not want to pull directly from CVS.
CVS_TARBALL_STASH = "http://www.oesources.org/source/current/"
-include conf/distro/include/multimachine.conf
ENABLE_BINARY_LOCALE_GENERATION = "1"
diff --git a/openembedded/classes/multimachine.bbclass b/openembedded/classes/multimachine.bbclass
new file mode 100644
index 0000000000..2248f326cc
--- /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)
+}
diff --git a/openembedded/conf/distro/angstrom.conf b/openembedded/conf/distro/angstrom.conf
index 403b13934f..100017410d 100644
--- a/openembedded/conf/distro/angstrom.conf
+++ b/openembedded/conf/distro/angstrom.conf
@@ -12,10 +12,8 @@ ANGSTROM_URI = "http://www.angstrom-distribution.org/"
MAINTAINER = "Angstrom Developers <angstrom-dev@handhelds.org>"
#use ipkg package format with debian style naming
-INHERIT += "package_ipk debian"
-
#use multimachine buildrules
-include conf/distro/include/multimachine.conf
+INHERIT += "package_ipk debian multimachine"
#Generate locales on the buildsystem instead of on the target. Speeds up first boot, set to "1" to enable
PREFERRED_PROVIDER_qemu-native = "qemu-qop-nogfx-native"
diff --git a/openembedded/conf/distro/familiar.conf b/openembedded/conf/distro/familiar.conf
index da5caa7998..2646fe78a6 100644
--- a/openembedded/conf/distro/familiar.conf
+++ b/openembedded/conf/distro/familiar.conf
@@ -4,7 +4,7 @@
MAINTAINER ?= "Familiar Developers <familiar-dev@handhelds.org>"
-INHERIT += "package_ipk debian"
+INHERIT += "package_ipk debian multimachine"
TARGET_OS = "linux"
BOOTSTRAP_EXTRA_RDEPENDS += "familiar-version"
@@ -15,5 +15,3 @@ PARALLEL_INSTALL_MODULES = "1"
UDEV_DEVFS_RULES = "1"
DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION if you really want to build an unversioned distro')}"
-
-include conf/distro/include/multimachine.conf
diff --git a/openembedded/conf/distro/include/multimachine.conf b/openembedded/conf/distro/include/multimachine.conf
deleted file mode 100644
index 1f73ffd30f..0000000000
--- a/openembedded/conf/distro/include/multimachine.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-STAMP = "${TMPDIR}/stamps/${PACKAGE_ARCH}-${HOST_OS}/${PF}"
-WORKDIR = "${TMPDIR}/work/${PACKAGE_ARCH}-${HOST_OS}/${PF}"
-STAGING_KERNEL_DIR = "${STAGING_DIR}/${PACKAGE_ARCH}-${HOST_OS}/kernel"
diff --git a/openembedded/conf/distro/openzaurus.conf b/openembedded/conf/distro/openzaurus.conf
index edcbacc80e..b7f456320f 100644
--- a/openembedded/conf/distro/openzaurus.conf
+++ b/openembedded/conf/distro/openzaurus.conf
@@ -5,7 +5,7 @@
DISTRO = "openzaurus"
DISTRO_NAME = "OpenZaurus"
-INHERIT += " package_ipk debian"
+INHERIT += " package_ipk debian multimachine"
# For some reason, this doesn't work
# TARGET_OS ?= "linux"
TARGET_OS = "linux"
@@ -16,5 +16,3 @@ BOOTSTRAP_EXTRA_RDEPENDS += "openzaurus-version"
PARALLEL_INSTALL_MODULES = "1"
DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION if you really want to build an unversioned distro')}"
-
-include conf/distro/include/multimachine.conf
diff --git a/openembedded/conf/distro/poky.conf b/openembedded/conf/distro/poky.conf
index c2aecb92ff..d43df4dd91 100644
--- a/openembedded/conf/distro/poky.conf
+++ b/openembedded/conf/distro/poky.conf
@@ -10,7 +10,7 @@ DISTRO_TYPE = "debug"
# DISTRO_TYPE = "release"
-INHERIT += " package_ipk debian"
+INHERIT += " package_ipk debian multimachine"
# For some reason, this doesn't work
# TARGET_OS ?= "linux"
TARGET_OS = "linux"