From 330c57ce57eca2ae63a7afee0d0eac32c4bda2b7 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Mon, 4 Sep 2017 13:48:57 +0100 Subject: 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. --- elements/gnu-toolchain/linux-api-headers.bst | 58 +++++++++++++++------- .../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}" -- cgit v1.2.1