summaryrefslogtreecommitdiff
path: root/project.conf
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2017-02-01 20:37:29 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2017-02-03 19:48:45 +0900
commitd85382e41efbe3f3f9012a08851f93bb4919de65 (patch)
treebdcdac1cd8463f6847b2b30a6b643e715144372d /project.conf
parent7d6dc7242598361009ab492db2367e545fc53189 (diff)
downloaddefinitions-d85382e41efbe3f3f9012a08851f93bb4919de65.tar.gz
Manual conversion of Baserock's build-essential stratum
This huge commit is a manual conversion, notes on what was needed: o project.conf defines the arch specific stuff which was previously hardcoded into YBD, so the stage1 target and target etc are all defined by the build-essential project.conf o Direct and easy changes for git source representation o Added stage1.bst & stage2.bst "stacks", everything built in stage2 build-depends on stage1.bst, and the final build-essential products build-depend on stage2.bst (note build-depend means to depend _only_ for building, not propagated forward). o Instead of using host tools we build on the GNOME flatpak sdk/platform bundles o Some build-essential morph files use $(dirname $(pwd)) for a sysroot, which is weird, it means the morph files rely on building at one directory below the slash sysroot - in buildstream we build in /buildstream/build which is two - had to replace these with $(dirname $(dirname $(pwd))) instead o Remove the devices sections from the fhs-dirs elements, not allowed to create static device nodes in buildstream.
Diffstat (limited to 'project.conf')
-rw-r--r--project.conf62
1 files changed, 47 insertions, 15 deletions
diff --git a/project.conf b/project.conf
index 15069bb1..9ea4e31d 100644
--- a/project.conf
+++ b/project.conf
@@ -1,21 +1,53 @@
-# Gedit text editor flatpakish build demo
+# Building baserock build-essential in BuildStream
#
-name: gedit
+name: build-essential
aliases:
- gnome: git://git.gnome.org/
+ upstream: ssh://git@git.baserock.org/delta/
+ baserock: ssh://git@git.baserock.org/baserock/
+ gnomesdk: https://sdk.gnome.org/
+
-# We're gonna eventually try to build a flatpak,
-# so lets start trying to override the environment
-# in the appropriate ways.
-#
variables:
- prefix: /app
+ cpu: "%{bst-arch}"
+ abi: gnu
+ target-stage1: "%{cpu}-bootstrap-linux-%{abi}"
+ target: "%{cpu}-baserock-linux-%{abi}"
-environment:
- CFLAGS: "-O2 -g"
- CXXFLAGS: "-O2 -g"
- PATH: /app/bin:/usr/bin:/bin:/usr/sbin:/sbin
- PKG_CONFIG_PATH: /app/lib/pkgconfig:/usr/lib/pkgconfig
- XDG_DATA_DIRS: /app/share:/usr/share
- GI_TYPELIB_PATH: /app/lib/girepository-1.0:/usr/lib/girepository-1.0
+# Resolve the cpu and ABI portions of the host triple based
+# on archetecture 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