diff options
Diffstat (limited to 'project.conf')
-rw-r--r-- | project.conf | 112 |
1 files changed, 67 insertions, 45 deletions
diff --git a/project.conf b/project.conf index bbccf5e6..6200daa1 100644 --- a/project.conf +++ b/project.conf @@ -8,9 +8,75 @@ aliases: # All the elements go here element-path: ./elements +# We list a lot of architectures here and Baserock has supported each of these +# at some point in the past, however for the list of *currently* supported +# architectures look in `elements/gnu-toolchain/base.bst`. + +options: + build_arch: + description: | + Specifies architecture of the build sandbox. + + This defaults to $(uname -a). On platforms where the Baserock architecture + name doesn't match the Linux architecture name, you need to manually + specify the Baserock architecture name. + + You can also use this to build for a different architecture provided your + host can execute binaries for that architecture. For example, you could + run an x86_32 build on an x86_64 machine by setting `build_arch=x86_32` + and `arch=x86_32`. + type: arch + variable: build_arch + values: [ + armv5l, armv7b, armv7l, armv7lhf, armv8l64, armv8b64, mips64b, mips64l, + mips32b, mips32l, ppc64b, ppc64l, x86_32, x86_64 + ] + + arch: + description: | + Specifies host and target architecture for output binaries. + + Usually this should match build_arch. If it differs, a cross compile + will happen up to the gnu-toolchain/stage2.bst stack. Beyond this, + cross compilation isn't supported. + + For instructions on how to bootstrap a new architecture, see: + http://wiki.baserock.org/guides/how-to-cross-bootstrap/ + type: arch + variable: arch + values: [ + armv5l, armv7b, armv7l, armv7lhf, armv8l64, armv8b64, mips64b, mips64l, + mips32b, mips32l, ppc64b, ppc64l, x86_32, x86_64 + ] + variables: - cpu: "%{bst-target-arch}" + cpu: "%{arch}" abi: gnu + + (?): + - arch == "x86_32": + cpu: i686 + - arch in ["armv5l", "armv7b", "armv7l", "armv7lhf"]: + cpu: "%{arch}" + abi: gnueabi + - arch == "armv8l64": + cpu: aarch64 + - arch == "armv8b64": + cpu: aarch64_be + - arch == "mips64b": + cpu: mips64 + abi: gnuabi64 + - arch == "mips64l": + cpu: mips64el + - arch == "mips32b": + cpu: mips + - arch == "mips32l": + cpu: mipsel + - arch == "ppc64b": + cpu: powerpc64 + - arch == "ppc64l": + cpu: powerpc64le + target-stage1: "%{cpu}-bootstrap-linux-%{abi}" target: "%{cpu}-baserock-linux-%{abi}" @@ -63,50 +129,6 @@ variables: artifacts: pull-url: https://ostree.baserock.org/cache/ -# Resolve the cpu and ABI portions of the host triple based -# on architecture names. -arches: - x86_32: - variables: - cpu: i686 - armv5l: - variables: - abi: gnueabi - armv7b: - variables: - abi: gnueabi - armv7l: - variables: - abi: gnueabi - armv7lhf: - variables: - abi: gnueabi - armv8l64: - variables: - cpu: aarch64 - armv8b64: - variables: - cpu: aarch64_be - mips64b: - variables: - cpu: mips64 - abi: gnuabi64 - mips64l: - variables: - cpu: mips64el - mips32b: - variables: - cpu: mips - mips32l: - variables: - cpu: mipsel - ppc64b: - variables: - cpu: powerpc64 - ppc64l: - variables: - cpu: powerpc64le - split-rules: locale: (>): |