| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We intended to set the architecture triplet for systems we build
to something like x86_64-baserock-linux-gnu. This wasn't actually
happening though as nobody had passed the message on to the GCC and
Binutils build systems, so we got mixed defaults of
x86_64-pc-linux-gnu and x86_64-unknown-linux-gnu.
Both GCC and Binutils install files that have the target name
in their path, and it's useful when writing split rules if we
know in advance what that's actually going to be. Plus it looks
neater if we set the vendor field in the architecture triplet correctly!
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|