summaryrefslogtreecommitdiff
path: root/project.conf
Commit message (Collapse)AuthorAgeFilesLines
* Update to build with BuildStream 1.0.1Sam Thursfield2018-02-231-0/+6
| | | | | | | | | | | | | We were previously building with an old 0.x version. This requires a fix to how we import the 'x86image' plugin from the bst-external plugins repo. It also requires a couple of fixes to elements which need to add things to the CMake configure commandline. These should use the new 'cmake-local' variable rather than overriding the configure-commands as a whole; the builds of these elements were breaking because the default commands changed upstream to expect out-of-tree builds.
* gnu-toolchain: Split rule improvementssam/split-rulesSam Thursfield2017-12-041-2/+3
| | | | | | | | | | | | | | | | | | | | | | This includes many fixes that result in us being able to produce a minimal OS image or initramfs of a reasonable size. I have built an initramfs of 16MB uncompressed with this change: still a bit bigger than necessary, but much better than the comical ~700MB thing complete with kernel source code and C++ compiler that I got before these changes. Note that the gnu-toolchain stack now puts all the toolchain binaries into the 'devel' artifact. The 'runtime' artifact just contains libraries needed to run programs that are built with that toolchain. We should split this up further in future so that C programs don't depend on libstdc++. Special care is taken for GCC and GLIBC to handle the lib/ and lib64/ split that they do on some 64-bit platforms. We also globally put /usr/src into the devel artifact, which is only useful for the linux.bsp element at present but makes sense as a global rule.
* Update to latest BuildStreamSam Thursfield2017-11-271-1/+1
| | | | | This version changes how artifact caches are specified, so the project.conf file needs updating too.
* Replace use of architecture conditionals with generic project conditionsSam Thursfield2017-11-051-45/+67
| | | | | | | | | | | | The initial implementation of architecture conditionals has been removed, as the same behaviours can be implemented using the more generic mechanism for conditionals that is being introduced for BuildStream 1.0. We now have two architecture options: build_arch and arch. They are documented in project.conf. The first one controls the build sandbox while the second controls the host and target of the binaries we produce.
* Add extra split rule for GLIBC locale-archive fileSam Thursfield2017-10-271-0/+5
| | | | | This reduces the output size of bootstrap/stage3-sysroot.bst from 500MB to 350MB.
* Disable debug section compression in stage3Sam Thursfield2017-10-261-0/+26
| | | | | | The objcopy tool that we built in stage2 doesn't have zlib support, so it can't handle the `--compress-debug-sections` flag that BuildStream passes by default.
* project.conf: Set the artifact cache URL heresam/bst-artifacts-urlSam Thursfield2017-09-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is possible since this change: https://gitlab.com/BuildStream/buildstream/commit/00e08459c4 Older versions of BuildStream will fail to parse the project.conf file with this change; I think it's acceptable to force everyone to update as we are still in the development stage of the BuildStream migration. If you want to override the configuration for whatever reason you'll now need to put this in your ~/.config/buildstream.conf file: projects: baserock: artifacts: pull-url: ... push-url: ... If you set a "global" artifacts configuration by doing this... artifacts: pull-url: ... ... it'll be ignored because the project-specific config from this project.conf file will take precedence. Overriding seems to be done for the whole config block, so if you only set push-url in your buildstream.conf file it will be interpreted to mean "set push-url, and unset pull-url" rather than "set push-url and use the existing value of pull-url."
* gnu-toolchain: Fix debug stripping for cross-builds of stage2Sam Thursfield2017-08-311-0/+20
| | | | | | | | | | | | The stage2 elements were all using the default strip-commands which don't take into account the fact that we might be cross-compiling. An `objcopy` build for one architecture will ignore binaries for other architectures that it doesn't understand, so in practice no stripping was taking place for the stage2 components when we were doing cross-builds. With this change, a stage2 sysroot containing just the 'runtime' and 'devel' domains has gone from 889MB to 306MB.
* Update BuildStream project config for use with Baserock definitions repoSam Thursfield2017-08-241-5/+2
| | | | | We gained this file when we imported Tristan's gnu-toolchain project, we just need to update it for building the Baserock reference systems.
* Proper support for powerpc64 (little and big endian)Sam Thursfield2017-07-071-0/+6
|
* Support cross-building the stage1 and stage2 componentsSam Thursfield2017-07-071-1/+1
| | | | | | | | | | | | | | This requires a feature recently added to BuildStream (in commit 03906221) that adds a framework for elements to support being cross-compiled. To build an armv8l64 native toolchain and sysroot on an x86_64 build machine, for example, you can do this: bst build --target-arch=armv8l64 gnu-toolchain/stage2.bst You can then run `bst checkout` to get at the resulting binaries and copy them onto an armv8l64 machine where they can be executed.
* project.conf: Fix spelling in commentSam Thursfield2017-07-071-1/+1
|
* Reworking the gnu toolchain projectTristan Van Berkom2017-04-111-3/+4
| | | | | | | o Use the org.freedesktop.BasePlaform and org.freedesktop.BaseSdk for building instead of the whole GNOME runtime. o Some minor renames
* Moved all elements under the elements directoryTristan Van Berkom2017-03-221-0/+2
|
* Don't use ssh urls in the aliases when not neededPedro Alvarez2017-02-131-2/+2
|
* Manual conversion of Baserock's build-essential stratumTristan Van Berkom2017-02-031-15/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Remove "V" environment setting from project configurationTristan Van Berkom2017-02-011-1/+0
| | | | This is on by default for any autotools or supporting build system.
* project.conf: Some custom environments for building flatpaksTristan Van Berkom2017-01-251-1/+3
|
* fixupTristan Van Berkom2017-01-191-1/+1
|
* Now it's building gedit.Tristan Van Berkom2017-01-191-1/+7
| | | | And it also builds glade for the hell of it.
* Face lift: Now we actually build some thingsTristan Van Berkom2017-01-181-2/+10
|
* More changesTristan Van Berkom2017-01-131-1/+0
|
* Another commit !Tristan Van Berkom2017-01-101-0/+7