summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-03-15 20:11:17 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-03-23 15:43:47 +0000
commita295a0442ea05e1a5cca01dc78eb9663ea3125d8 (patch)
tree99d9e4c80feee1e19026dac3d18bb20fd4bdb82a
parent3b49416fc7a7ee9bfe722f2e6089aa18df41dc58 (diff)
downloadpoky-a295a0442ea05e1a5cca01dc78eb9663ea3125d8.tar.gz
bitbake.conf/tune files: Adjust PACKAGE_EXTEA_ARCHS
There is a problem with the current PACKAGE_EXTRA_ARCHS implementation since its impossible to control which extra architectures sort higher than TARGET_ARCH and which sort lower. In the x86 case for example, TARGET_ARCH might be "i586", i486 should be lower than this and i686 should be higher. There are also complications where its easy to inject duplicate entries into the variable. I tried various versions of this patch and concluded that it was simplest just to force the tune files to include TARGET_ARCH in the list in the right place if they're planning to customise it themselves. Other approaches with appends and prepends just complicated the code for no good reason. The TARGET_ARCH definitions should also move to the tune files but I'll leave this for a separate patch. (From OE-Core rev: d492ebf8b1801da99c679f465be98ce54fd3061a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/conf/bitbake.conf3
-rw-r--r--meta/conf/machine/include/tune-arm1136jf-s.inc2
-rw-r--r--meta/conf/machine/include/tune-arm920t.inc2
-rw-r--r--meta/conf/machine/include/tune-arm926ejs.inc2
-rw-r--r--meta/conf/machine/include/tune-arm9tdmi.inc2
-rw-r--r--meta/conf/machine/include/tune-armv7.inc2
-rw-r--r--meta/conf/machine/include/tune-atom.inc2
-rw-r--r--meta/conf/machine/include/tune-c3.inc2
-rw-r--r--meta/conf/machine/include/tune-cortexa8.inc2
-rw-r--r--meta/conf/machine/include/tune-ep9312.inc2
-rw-r--r--meta/conf/machine/include/tune-iwmmxt.inc2
-rw-r--r--meta/conf/machine/include/tune-ppc603e.inc2
-rw-r--r--meta/conf/machine/include/tune-ppce300c2.inc2
-rw-r--r--meta/conf/machine/include/tune-ppce500.inc2
-rw-r--r--meta/conf/machine/include/tune-xscale.inc2
15 files changed, 16 insertions, 15 deletions
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 2cd115dfa0..4108e2e115 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -94,7 +94,8 @@ BASE_PACKAGE_ARCH = "${HOST_ARCH}"
94PACKAGE_ARCH = "${BASE_PACKAGE_ARCH}" 94PACKAGE_ARCH = "${BASE_PACKAGE_ARCH}"
95MACHINE_ARCH = "${@[bb.data.getVar('BASE_PACKAGE_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}" 95MACHINE_ARCH = "${@[bb.data.getVar('BASE_PACKAGE_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}"
96MACHINE_ARCH_qemux86-64 = "qemux86_64" 96MACHINE_ARCH_qemux86-64 = "qemux86_64"
97PACKAGE_ARCHS = "all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}" 97PACKAGE_EXTRA_ARCHS ??= "${TARGET_ARCH}"
98PACKAGE_ARCHS = "all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}"
98# MACHINE shouldn't be included here as a variable dependency since machine specific 99# MACHINE shouldn't be included here as a variable dependency since machine specific
99# packages are handled using multimachine 100# packages are handled using multimachine
100PACKAGE_ARCHS[vardepsexclude] = "MACHINE" 101PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
diff --git a/meta/conf/machine/include/tune-arm1136jf-s.inc b/meta/conf/machine/include/tune-arm1136jf-s.inc
index a7717510e6..2ea3c9d792 100644
--- a/meta/conf/machine/include/tune-arm1136jf-s.inc
+++ b/meta/conf/machine/include/tune-arm1136jf-s.inc
@@ -4,6 +4,6 @@ FEED_ARCH = "armv6"
4BASE_PACKAGE_ARCH = "armv6" 4BASE_PACKAGE_ARCH = "armv6"
5 5
6ARM_INSTRUCTION_SET = "${@['thumb','arm'][bb.data.getVar('CPU_FEATURES', d, 1).find('thumb') == -1]}" 6ARM_INSTRUCTION_SET = "${@['thumb','arm'][bb.data.getVar('CPU_FEATURES', d, 1).find('thumb') == -1]}"
7PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6" 7PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te armv6"
8 8
9require conf/machine/include/tune-thumb.inc 9require conf/machine/include/tune-thumb.inc
diff --git a/meta/conf/machine/include/tune-arm920t.inc b/meta/conf/machine/include/tune-arm920t.inc
index fee5c586c9..564b5572aa 100644
--- a/meta/conf/machine/include/tune-arm920t.inc
+++ b/meta/conf/machine/include/tune-arm920t.inc
@@ -1,4 +1,4 @@
1FEED_ARCH = "armv4t" 1FEED_ARCH = "armv4t"
2BASE_PACKAGE_ARCH = "armv4t" 2BASE_PACKAGE_ARCH = "armv4t"
3TARGET_CC_ARCH = "-march=armv4t -mtune=arm920t" 3TARGET_CC_ARCH = "-march=armv4t -mtune=arm920t"
4PACKAGE_EXTRA_ARCHS += "armv4 armv4t" 4PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t"
diff --git a/meta/conf/machine/include/tune-arm926ejs.inc b/meta/conf/machine/include/tune-arm926ejs.inc
index f41e460999..9d546c9fda 100644
--- a/meta/conf/machine/include/tune-arm926ejs.inc
+++ b/meta/conf/machine/include/tune-arm926ejs.inc
@@ -1,5 +1,5 @@
1FEED_ARCH = "armv5te" 1FEED_ARCH = "armv5te"
2PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te" 2PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te"
3# For gcc 3.x you need: 3# For gcc 3.x you need:
4#TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ejs" 4#TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ejs"
5# For gcc 4.x you need: 5# For gcc 4.x you need:
diff --git a/meta/conf/machine/include/tune-arm9tdmi.inc b/meta/conf/machine/include/tune-arm9tdmi.inc
index d788b5304f..5446ce8ecc 100644
--- a/meta/conf/machine/include/tune-arm9tdmi.inc
+++ b/meta/conf/machine/include/tune-arm9tdmi.inc
@@ -1,4 +1,4 @@
1FEED_ARCH = "armv4t" 1FEED_ARCH = "armv4t"
2BASE_PACKAGE_ARCH = "armv4t" 2BASE_PACKAGE_ARCH = "armv4t"
3PACKAGE_EXTRA_ARCHS += "armv4 armv4t" 3PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t"
4TARGET_CC_ARCH = "-mcpu=arm9tdmi -mtune=arm9tdmi" 4TARGET_CC_ARCH = "-mcpu=arm9tdmi -mtune=arm9tdmi"
diff --git a/meta/conf/machine/include/tune-armv7.inc b/meta/conf/machine/include/tune-armv7.inc
index 379a3eb011..979d6fedb7 100644
--- a/meta/conf/machine/include/tune-armv7.inc
+++ b/meta/conf/machine/include/tune-armv7.inc
@@ -3,5 +3,5 @@
3# This will NOT compile programs in 'ARM' mode, which is what you really want 3# This will NOT compile programs in 'ARM' mode, which is what you really want
4TARGET_CC_ARCH = "-march=armv7 -mfpu=vfp -mfloat-abi=softfp" 4TARGET_CC_ARCH = "-march=armv7 -mfpu=vfp -mfloat-abi=softfp"
5FEED_ARCH = "armv7" 5FEED_ARCH = "armv7"
6PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7" 6PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te armv6 armv7"
7BASE_PACKAGE_ARCH = "armv7" 7BASE_PACKAGE_ARCH = "armv7"
diff --git a/meta/conf/machine/include/tune-atom.inc b/meta/conf/machine/include/tune-atom.inc
index 2b4907fa3c..668d0280bd 100644
--- a/meta/conf/machine/include/tune-atom.inc
+++ b/meta/conf/machine/include/tune-atom.inc
@@ -2,7 +2,7 @@ BASE_PACKAGE_ARCH = "core2"
2TARGET_CC_ARCH = "-m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse" 2TARGET_CC_ARCH = "-m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse"
3#MOBLIN_CFLAGS = "-Os -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables" 3#MOBLIN_CFLAGS = "-Os -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables"
4 4
5PACKAGE_EXTRA_ARCHS += "x86 i386 i486 core2" 5PACKAGE_EXTRA_ARCHS = "x86 i386 i486 i586 i686 core2"
6 6
7# Work around a gcc bug for core2 which caused matchbox-panel to segfault 7# Work around a gcc bug for core2 which caused matchbox-panel to segfault
8# and possibly others. 8# and possibly others.
diff --git a/meta/conf/machine/include/tune-c3.inc b/meta/conf/machine/include/tune-c3.inc
index 1d636e89c6..d33df5f1e3 100644
--- a/meta/conf/machine/include/tune-c3.inc
+++ b/meta/conf/machine/include/tune-c3.inc
@@ -1,4 +1,4 @@
1TARGET_CC_ARCH = "-march=c3 -mtune=c3" 1TARGET_CC_ARCH = "-march=c3 -mtune=c3"
2PACKAGE_EXTRA_ARCHS += "i386 i486 i586" 2PACKAGE_EXTRA_ARCHS = "i386 i486 i586"
3BASE_PACKAGE_ARCH = "i586" 3BASE_PACKAGE_ARCH = "i586"
4FEED_ARCH = "i586" 4FEED_ARCH = "i586"
diff --git a/meta/conf/machine/include/tune-cortexa8.inc b/meta/conf/machine/include/tune-cortexa8.inc
index 3ec1c03500..a5b982ab78 100644
--- a/meta/conf/machine/include/tune-cortexa8.inc
+++ b/meta/conf/machine/include/tune-cortexa8.inc
@@ -10,4 +10,4 @@ TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
10 10
11FEED_ARCH = "armv7a" 11FEED_ARCH = "armv7a"
12BASE_PACKAGE_ARCH = "armv7a" 12BASE_PACKAGE_ARCH = "armv7a"
13PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7 armv7a" 13PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te armv6 armv7 armv7a"
diff --git a/meta/conf/machine/include/tune-ep9312.inc b/meta/conf/machine/include/tune-ep9312.inc
index d0c5bb2e98..e1515a01a8 100644
--- a/meta/conf/machine/include/tune-ep9312.inc
+++ b/meta/conf/machine/include/tune-ep9312.inc
@@ -2,7 +2,7 @@ TARGET_CC_ARCH = "-march=ep9312 -mtune=ep9312 -mcpu=ep9312"
2# add "-mfp=maverick" for newer gcc versions > 4.0 2# add "-mfp=maverick" for newer gcc versions > 4.0
3 3
4#set arch to ep9312 for all generated packages 4#set arch to ep9312 for all generated packages
5PACKAGE_EXTRA_ARCHS += "armv4t ep9312" 5PACKAGE_EXTRA_ARCHS = "arm armv4t ep9312"
6BASE_PACKAGE_ARCH = "ep9312" 6BASE_PACKAGE_ARCH = "ep9312"
7FEED_ARCH = "ep9312" 7FEED_ARCH = "ep9312"
8 8
diff --git a/meta/conf/machine/include/tune-iwmmxt.inc b/meta/conf/machine/include/tune-iwmmxt.inc
index f7291be805..7191ab0b36 100644
--- a/meta/conf/machine/include/tune-iwmmxt.inc
+++ b/meta/conf/machine/include/tune-iwmmxt.inc
@@ -2,6 +2,6 @@
2# Please use tune-xscale for PXA255/PXA26x based processors. 2# Please use tune-xscale for PXA255/PXA26x based processors.
3TARGET_CC_ARCH = "-march=iwmmxt -mcpu=iwmmxt -mtune=iwmmxt" 3TARGET_CC_ARCH = "-march=iwmmxt -mcpu=iwmmxt -mtune=iwmmxt"
4BASE_PACKAGE_ARCH = "iwmmxt" 4BASE_PACKAGE_ARCH = "iwmmxt"
5PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te iwmmxt" 5PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te iwmmxt"
6FEED_ARCH = "iwmmxt" 6FEED_ARCH = "iwmmxt"
7 7
diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
index 15a72d10a1..dc95d0d77d 100644
--- a/meta/conf/machine/include/tune-ppc603e.inc
+++ b/meta/conf/machine/include/tune-ppc603e.inc
@@ -1,4 +1,4 @@
1TARGET_CC_ARCH = "-mcpu=603e -mhard-float" 1TARGET_CC_ARCH = "-mcpu=603e -mhard-float"
2BASE_PACKAGE_ARCH = "ppc603e" 2BASE_PACKAGE_ARCH = "ppc603e"
3FEED_ARCH = "ppc603e" 3FEED_ARCH = "ppc603e"
4PACKAGE_EXTRA_ARCHS += "ppc603e" 4PACKAGE_EXTRA_ARCHS = "powerpc ppc603e"
diff --git a/meta/conf/machine/include/tune-ppce300c2.inc b/meta/conf/machine/include/tune-ppce300c2.inc
index 2956875186..3e552e60d6 100644
--- a/meta/conf/machine/include/tune-ppce300c2.inc
+++ b/meta/conf/machine/include/tune-ppce300c2.inc
@@ -1,3 +1,3 @@
1TARGET_CC_ARCH = "-mcpu=e300c2 -msoft-float" 1TARGET_CC_ARCH = "-mcpu=e300c2 -msoft-float"
2BASE_PACKAGE_ARCH = "ppce300" 2BASE_PACKAGE_ARCH = "ppce300"
3PACKAGE_EXTRA_ARCHS += "ppce300" 3PACKAGE_EXTRA_ARCHS = "powerpc ppce300"
diff --git a/meta/conf/machine/include/tune-ppce500.inc b/meta/conf/machine/include/tune-ppce500.inc
index 44f8742f9f..45e1f0d494 100644
--- a/meta/conf/machine/include/tune-ppce500.inc
+++ b/meta/conf/machine/include/tune-ppce500.inc
@@ -1,4 +1,4 @@
1TARGET_CC_ARCH = "-mcpu=8540" 1TARGET_CC_ARCH = "-mcpu=8540"
2BASE_PACKAGE_ARCH = "ppce500" 2BASE_PACKAGE_ARCH = "ppce500"
3FEED_ARCH = "ppce500" 3FEED_ARCH = "ppce500"
4PACKAGE_EXTRA_ARCHS += "ppce500" 4PACKAGE_EXTRA_ARCHS = "powerpc ppce500"
diff --git a/meta/conf/machine/include/tune-xscale.inc b/meta/conf/machine/include/tune-xscale.inc
index f1ef3d46af..cfdcc99434 100644
--- a/meta/conf/machine/include/tune-xscale.inc
+++ b/meta/conf/machine/include/tune-xscale.inc
@@ -5,7 +5,7 @@ INHERIT += "siteinfo"
5TARGET_CC_ARCH = "-march=armv5te -mtune=xscale" 5TARGET_CC_ARCH = "-march=armv5te -mtune=xscale"
6TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale" 6TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale"
7BASE_PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}" 7BASE_PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
8PACKAGE_EXTRA_ARCHS += "${@['armv4b armv4tb armv5teb', 'armv4 armv4t armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}" 8PACKAGE_EXTRA_ARCHS = "${@['armeb armv4b armv4tb armv5teb', 'arm armv4 armv4t armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
9 9
10# webkit-gtk has alignment issues with double instructions on armv5 so 10# webkit-gtk has alignment issues with double instructions on armv5 so
11# disable them here 11# disable them here