diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2017-09-04 13:48:57 +0100 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2017-10-25 13:41:36 +0000 |
commit | 330c57ce57eca2ae63a7afee0d0eac32c4bda2b7 (patch) | |
tree | 9a9da66871da608588fb5c108add15138ffd95fc | |
parent | 5c26ce121680bb012ecd7d314b038475ea0107b4 (diff) | |
download | definitions-330c57ce57eca2ae63a7afee0d0eac32c4bda2b7.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.bst | 58 | ||||
-rw-r--r-- | elements/gnu-toolchain/stage2-linux-api-headers.bst | 56 |
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}" |