diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-09-15 22:26:06 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-09-15 22:26:06 +0200 |
commit | 10053ef3faf73bc58aca38435c1d134603f8feaf (patch) | |
tree | f1beb1b27ce0c5aaac8ff75f6f0e4df62ed889a5 /examples | |
parent | 23e538cbadec1ef7ad40377108c7f50705c1cb89 (diff) | |
download | rebel-10053ef3faf73bc58aca38435c1d134603f8feaf.tar rebel-10053ef3faf73bc58aca38435c1d134603f8feaf.zip |
examples: fix a few configuration issues, build initial libgcc
Diffstat (limited to 'examples')
-rw-r--r-- | examples/binutils.yml | 4 | ||||
-rw-r--r-- | examples/gcc.yml | 56 |
2 files changed, 52 insertions, 8 deletions
diff --git a/examples/binutils.yml b/examples/binutils.yml index c5b78ed..8266943 100644 --- a/examples/binutils.yml +++ b/examples/binutils.yml @@ -19,8 +19,8 @@ tasks: --build="${BUILD}" \ --host="${HOST}" \ --target="${TARGET}" \ - --prefix="${PREFIX}" \ - --with-sysroot="${PREFIX}/${TARGET}" \ + --prefix="${BUILD_PREFIX}" \ + --with-sysroot="${SYSROOT}${PREFIX}" \ --enable-libssp \ --enable-deterministic-archives \ --enable-plugins \ diff --git a/examples/gcc.yml b/examples/gcc.yml index b91c6da..e74195a 100644 --- a/examples/gcc.yml +++ b/examples/gcc.yml @@ -8,12 +8,13 @@ tasks: stubs: run: | - export TARGET=aarch64-linux-gnu - mkdir -p "${DESTDIR}${PREFIX}/${TARGET}/include" + mkdir -p "${DESTDIR}${PREFIX}/include" configure: inherit: task: 'gcc:unpack' + build_depends: + - task: 'binutils:install' run: | export BUILD=x86_64-linux-gnu export HOST=x86_64-linux-gnu @@ -25,11 +26,12 @@ tasks: --build="${BUILD}" \ --host="${HOST}" \ --target=${TARGET} \ - --prefix="${PREFIX}" \ - --libdir=${PREFIX}/lib \ - --libexecdir=${PREFIX}/lib \ - --with-sysroot="${SYSROOT}${PREFIX}/${TARGET}" \ + --prefix="${BUILD_PREFIX}" \ + --libdir=${BUILD_PREFIX}/lib \ + --libexecdir=${BUILD_PREFIX}/lib \ + --with-sysroot="${SYSROOT}${PREFIX}" \ --with-native-system-header-dir=/include \ + --with-build-time-tools="${BUILD_PREFIX}/${TARGET}/bin" \ --with-gnu-ld \ --enable-shared \ --enable-languages=c,c++ \ @@ -62,6 +64,8 @@ tasks: compile: inherit: task: 'gcc:configure' + build_depends: + - task: 'binutils:install' target_depends: - task: 'gcc:stubs' run: | @@ -74,3 +78,43 @@ tasks: run: | cd gcc-build make DESTDIR="$DESTDIR" install-host + + configure-libgcc-initial: + inherit: + task: 'gcc:compile' + build_depends: + - task: 'binutils:install' + run: | + export TARGET=aarch64-linux-gnu + + cd gcc-build + make configure-target-libgcc + + # A hack borrowed from OpenEmbedded: + # We can build an initial libgcc without having to rebuild the whole gcc + # afterwards by manipulating the Makefile + sed -i -r \ + -e 's@^(INHIBIT_LIBC_CFLAGS =).*@\1 -Dinhibit_libc@' \ + gcc/libgcc.mvars + sed -i -r \ + -e 's@^(thread_header =).*@\1 gthr-single.h@' \ + -e 's@^(enable_shared =).*@\1 no@' \ + "${TARGET}/libgcc/Makefile" + + compile-libgcc-initial: + inherit: + task: 'gcc:configure-libgcc-initial' + build_depends: + - task: 'binutils:install' + run: | + cd gcc-build + make -j8 all-target-libgcc + + install-libgcc-initial: + inherit: + task: 'gcc:compile-libgcc-initial' + build_depends: + - task: 'binutils:install' + run: | + cd gcc-build + make DESTDIR="$DESTDIR" install-target-libgcc |