Make musl-cross a normal Heads module.

This merges pull request #99 by @blackwellops and removes
the ./bootstrap script since the musl-cross can be built as
part of the normal dependency tree.
This commit is contained in:
Trammell Hudson 2017-01-31 12:45:42 -05:00 committed by Trammell Hudson
parent bac717407f
commit 3008bb6945
Failed to extract signature
4 changed files with 16 additions and 32 deletions

View File

@ -28,9 +28,7 @@ Building heads
In order to build reproducible firmware images, Heads builds a specific In order to build reproducible firmware images, Heads builds a specific
version of gcc and uses it to compile the Linux kernel and various tools version of gcc and uses it to compile the Linux kernel and various tools
that go into the initrd. Unfortunately this means the first step is a that go into the initrd. Unfortunately this means the first step is a
little slow... After cloning the tree, cd into it and run `./bootstrap` little slow since it will clone the `musl-cross` tree and build gcc...
to download and build binutils, gcc and all of their dependencies into
`./crossgcc/`.
Once that is done, the top level `Makefile` will handle most of the Once that is done, the top level `Makefile` will handle most of the
remaining details -- it downloads the various packages, verifies the remaining details -- it downloads the various packages, verifies the

View File

@ -1,28 +0,0 @@
#!/bin/sh
# Download and build the musl-libc cross compiler.
# This should be worked around eventually to use the coreboot
# cross compile suite that we've already built, but for now
# we'll download yet another copy of gcc...
DIRNAME="`dirname $0`"
BASE="`cd "$DIRNAME" ; /bin/pwd `"
die() { echo >&2 "$@"; exit 1; }
if [ ! -d build/musl-cross ]; then
cd build
git clone https://github.com/GregorR/musl-cross.git \
|| die "clone failed"
cd musl-cross
patch -p1 < ../../patches/musl-cross.patch \
|| die "patch of configuration failed!"
else
cd build/musl-cross
fi
export CC_BASE_PREFIX="$BASE/crossgcc"
echo "export CC_BASE_PREFIX='$CC_BASE_PREFIX'"
./build.sh \
|| die "compiler build failed!"

View File

@ -27,4 +27,4 @@ musl_configure := ./configure \
musl_target := -j 8 install musl_target := -j 8 install
#musl_target := install #musl_target := install
musl_depends := kernel-headers musl_depends := kernel-headers musl-cross

14
modules/musl-cross Normal file
View File

@ -0,0 +1,14 @@
modules += musl-cross
musl-cross_version := git
musl-cross_dir := musl-cross-$(musl-cross_version)
musl-cross_repo := https://github.com/GregorR/musl-cross
musl-cross_output := $(pwd)/crossgcc/x86_64-linux-musl/bin/x86_64-linux-musl-gcc
musl-cross_configure := \
echo > Makefile -n \
'$(musl-cross_output):\n\tCC_BASE_PREFIX="$(pwd)/crossgcc" ./build.sh'
musl-cross_target :=