summaryrefslogtreecommitdiffstats
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
parentc74733f58c274921f9e1801a37e0a96dfd5d4776 (diff)
downloadpoky-439db2032c8b3446fc3bbae945370d2f28b0d2c2.tar.gz
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
-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"
57# a cvs:// URI. Uncomment this, if you not want to pull directly from CVS. 57# a cvs:// URI. Uncomment this, if you not want to pull directly from CVS.
58CVS_TARBALL_STASH = "http://www.oesources.org/source/current/" 58CVS_TARBALL_STASH = "http://www.oesources.org/source/current/"
59 59
60include conf/distro/include/multimachine.conf
61ENABLE_BINARY_LOCALE_GENERATION = "1" 60ENABLE_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 @@
1STAMP = "${TMPDIR}/stamps/${MULTIMACH_ARCH}-${HOST_OS}/${PF}"
2WORKDIR = "${TMPDIR}/work/${MULTIMACH_ARCH}-${HOST_OS}/${PF}"
3STAGING_KERNEL_DIR = "${STAGING_DIR}/${MULTIMACH_ARCH}-${HOST_OS}/kernel"
4
5# Find any machine specific sub packages and if present, mark the
6# whole package as machine specific for multimachine purposes.
7python __anonymous () {
8 packages = bb.data.getVar('PACKAGES', d, 1).split()
9 macharch = bb.data.getVar('MACHINE_ARCH', d, 1)
10 multiarch = bb.data.getVar('PACKAGE_ARCH', d, 1)
11
12 for pkg in packages:
13 pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
14
15 # We could look for != PACKAGE_ARCH here but how to choose
16 # if multiple differences are present?
17 # Look through IPKG_ARCHS for the priority order?
18 if pkgarch and pkgarch == macharch:
19 multiarch = macharch
20
21 bb.data.setVar('MULTIMACH_ARCH', multiarch, d)
22}
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/"
12MAINTAINER = "Angstrom Developers <angstrom-dev@handhelds.org>" 12MAINTAINER = "Angstrom Developers <angstrom-dev@handhelds.org>"
13 13
14#use ipkg package format with debian style naming 14#use ipkg package format with debian style naming
15INHERIT += "package_ipk debian"
16
17#use multimachine buildrules 15#use multimachine buildrules
18include conf/distro/include/multimachine.conf 16INHERIT += "package_ipk debian multimachine"
19 17
20#Generate locales on the buildsystem instead of on the target. Speeds up first boot, set to "1" to enable 18#Generate locales on the buildsystem instead of on the target. Speeds up first boot, set to "1" to enable
21PREFERRED_PROVIDER_qemu-native = "qemu-qop-nogfx-native" 19PREFERRED_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 @@
4 4
5MAINTAINER ?= "Familiar Developers <familiar-dev@handhelds.org>" 5MAINTAINER ?= "Familiar Developers <familiar-dev@handhelds.org>"
6 6
7INHERIT += "package_ipk debian" 7INHERIT += "package_ipk debian multimachine"
8TARGET_OS = "linux" 8TARGET_OS = "linux"
9 9
10BOOTSTRAP_EXTRA_RDEPENDS += "familiar-version" 10BOOTSTRAP_EXTRA_RDEPENDS += "familiar-version"
@@ -15,5 +15,3 @@ PARALLEL_INSTALL_MODULES = "1"
15UDEV_DEVFS_RULES = "1" 15UDEV_DEVFS_RULES = "1"
16 16
17DISTRO_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')}" 17DISTRO_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')}"
18
19include 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 @@
1STAMP = "${TMPDIR}/stamps/${PACKAGE_ARCH}-${HOST_OS}/${PF}"
2WORKDIR = "${TMPDIR}/work/${PACKAGE_ARCH}-${HOST_OS}/${PF}"
3STAGING_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 @@
5DISTRO = "openzaurus" 5DISTRO = "openzaurus"
6DISTRO_NAME = "OpenZaurus" 6DISTRO_NAME = "OpenZaurus"
7 7
8INHERIT += " package_ipk debian" 8INHERIT += " package_ipk debian multimachine"
9# For some reason, this doesn't work 9# For some reason, this doesn't work
10# TARGET_OS ?= "linux" 10# TARGET_OS ?= "linux"
11TARGET_OS = "linux" 11TARGET_OS = "linux"
@@ -16,5 +16,3 @@ BOOTSTRAP_EXTRA_RDEPENDS += "openzaurus-version"
16PARALLEL_INSTALL_MODULES = "1" 16PARALLEL_INSTALL_MODULES = "1"
17 17
18DISTRO_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')}" 18DISTRO_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')}"
19
20include 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"
10# DISTRO_TYPE = "release" 10# DISTRO_TYPE = "release"
11 11
12 12
13INHERIT += " package_ipk debian" 13INHERIT += " package_ipk debian multimachine"
14# For some reason, this doesn't work 14# For some reason, this doesn't work
15# TARGET_OS ?= "linux" 15# TARGET_OS ?= "linux"
16TARGET_OS = "linux" 16TARGET_OS = "linux"