summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2017-09-04 13:48:57 +0100
committerSam Thursfield <sam.thursfield@codethink.co.uk>2017-09-18 18:11:19 +0000
commit4fc1767710bbd6ea800182b53ea6156126b05fb3 (patch)
tree2fc9cec1a843afc9c2081f948965bbd1b1a709e7
parentb82afc5237ef590715fb74836d82d9a80c4bc969 (diff)
downloaddefinitions-4fc1767710bbd6ea800182b53ea6156126b05fb3.tar.gz
gnu-toolchain: Rework linux-api-headers arch conditions and support ppc64b
It's better to use BuildStream arch conditionals than to use shell code, because in the latter case any change will trigger rebuilds for all architectures regardless of which ones it actually affects.
-rw-r--r--elements/gnu-toolchain/linux-api-headers.bst58
-rw-r--r--elements/gnu-toolchain/stage2-linux-api-headers.bst56
2 files changed, 78 insertions, 36 deletions
diff --git a/elements/gnu-toolchain/linux-api-headers.bst b/elements/gnu-toolchain/linux-api-headers.bst
index dff78665..a8096b31 100644
--- a/elements/gnu-toolchain/linux-api-headers.bst
+++ b/elements/gnu-toolchain/linux-api-headers.bst
@@ -11,29 +11,51 @@ depends:
type: build
- gnu-toolchain/fhs-dirs.bst
+variables:
+ kernel-arch: unsupported
+
+arches:
+ armv5:
+ variables:
+ kernel-arch: arm
+ armv7b:
+ variables:
+ kernel-arch: arm
+ armv7l:
+ variables:
+ kernel-arch: arm
+ armv7lhf:
+ variables:
+ kernel-arch: arm
+ armv8l64:
+ variables:
+ kernel-arch: arm64
+ armv8b64:
+ variables:
+ kernel-arch: arm64
+ ppc64b:
+ variables:
+ kernel-arch: powerpc
+ ppc64l:
+ variables:
+ kernel-arch: powerpc
+ x86_32:
+ variables:
+ kernel-arch: i386
+ x86_64:
+ variables:
+ kernel-arch: x86_64
+
environment:
PATH: /usr/bin:/bin:/usr/sbin:/sbin:/tools/bin:/tools/sbin
config:
install-commands:
- |
- case "%{bst-target-arch}" in
- armv5l)
- ARCH="arm" ;;
- armv7b|armv7l|armv7lhf)
- ARCH="arm" ;;
- armv8l64|armv8b64)
- ARCH="arm64" ;;
- x86_32)
- ARCH="i386" ;;
- x86_64)
- ARCH="x86_64" ;;
- ppc64)
- ARCH="powerpc" ;;
- *)
- echo "Error: unsupported architecture: %{bst-target-arch}" >&2
- exit 1
- esac
- ARCH=$ARCH make INSTALL_HDR_PATH=dest headers_install
+ if [ '%{kernel-arch}' == 'unsupported' ]; then
+ echo "Error: unsupported architecture: %{bst-target-arch}" >&2
+ exit 1
+ fi
+ ARCH=%{kernel-arch} make INSTALL_HDR_PATH=dest headers_install
- install -d "%{install-root}%{includedir}"
- cp -r dest/include/* "%{install-root}%{includedir}"
diff --git a/elements/gnu-toolchain/stage2-linux-api-headers.bst b/elements/gnu-toolchain/stage2-linux-api-headers.bst
index 2cc6e17d..67596871 100644
--- a/elements/gnu-toolchain/stage2-linux-api-headers.bst
+++ b/elements/gnu-toolchain/stage2-linux-api-headers.bst
@@ -12,6 +12,39 @@ depends:
variables:
prefix: /tools
+ kernel-arch: unsupported
+
+arches:
+ armv5:
+ variables:
+ kernel-arch: arm
+ armv7b:
+ variables:
+ kernel-arch: arm
+ armv7l:
+ variables:
+ kernel-arch: arm
+ armv7lhf:
+ variables:
+ kernel-arch: arm
+ armv8l64:
+ variables:
+ kernel-arch: arm64
+ armv8b64:
+ variables:
+ kernel-arch: arm64
+ ppc64b:
+ variables:
+ kernel-arch: powerpc
+ ppc64l:
+ variables:
+ kernel-arch: powerpc
+ x86_32:
+ variables:
+ kernel-arch: i386
+ x86_64:
+ variables:
+ kernel-arch: x86_64
environment:
PATH: /tools/bin:/usr/bin:/bin:/usr/sbin:/sbin
@@ -19,23 +52,10 @@ environment:
config:
install-commands:
- |
- case "%{bst-target-arch}" in
- armv5l)
- ARCH="arm" ;;
- armv7b|armv7l|armv7lhf)
- ARCH="arm" ;;
- armv8l64|armv8b64)
- ARCH="arm64" ;;
- x86_32)
- ARCH="i386" ;;
- x86_64)
- ARCH="x86_64" ;;
- ppc64b|ppc64l)
- ARCH="powerpc" ;;
- *)
- echo "Error: unsupported architecture: %{bst-target-arch}" >&2
- exit 1
- esac
- ARCH=$ARCH make INSTALL_HDR_PATH=dest headers_install
+ if [ '%{kernel-arch}' == 'unsupported' ]; then
+ echo "Error: unsupported architecture: %{bst-target-arch}" >&2
+ exit 1
+ fi
+ ARCH=%{kernel-arch} make INSTALL_HDR_PATH=dest headers_install
- install -d "%{install-root}%{includedir}"
- cp -r dest/include/* "%{install-root}%{includedir}"