summaryrefslogtreecommitdiff
path: root/project.conf
diff options
context:
space:
mode:
Diffstat (limited to 'project.conf')
-rw-r--r--project.conf112
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:
(>):