From 81a280da878f803b76b583bce89aaf9aa3473d27 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 8 May 2019 15:50:24 +0200 Subject: [PATCH] Toolchain: Make sure everything ends up in the right place in Root/ --- LibC/Makefile | 12 +++++++----- LibM/Makefile | 4 ++-- Toolchain/BuildIt.sh | 30 ++++++++++++++++++++++-------- 3 files changed, 31 insertions(+), 15 deletions(-) mode change 100644 => 100755 Toolchain/BuildIt.sh diff --git a/LibC/Makefile b/LibC/Makefile index 2deb7b5a35..0352ed5622 100644 --- a/LibC/Makefile +++ b/LibC/Makefile @@ -79,10 +79,12 @@ clean: @echo "CLEAN"; rm -f $(LIBRARY) $(CPP_OBJS) $(ASM_OBJS) *.d install: $(LIBRARY) + mkdir -p ../Root/usr/include + mkdir -p ../Root/usr/lib # Copy headers - rsync -a --include '*/' --include '*.h' --exclude '*' . ../Base/usr/include + rsync -r -a --include '*/' --include '*.h' --exclude '*' . ../Root/usr/include # Install the library - cp $(LIBRARY) ../Base/usr/lib - cp crt0.o ../Base/usr/lib/ - cp crti.ao ../Base/usr/lib/crti.o - cp crtn.ao ../Base/usr/lib/crtn.o + cp $(LIBRARY) ../Root/usr/lib + cp crt0.o ../Root/usr/lib/ + cp crti.ao ../Root/usr/lib/crti.o + cp crtn.ao ../Root/usr/lib/crtn.o diff --git a/LibM/Makefile b/LibM/Makefile index 33a4e382fe..f6701e34d5 100644 --- a/LibM/Makefile +++ b/LibM/Makefile @@ -23,6 +23,6 @@ clean: install: $(LIBRARY) # Copy headers - rsync -a --include '*/' --include '*.h' --exclude '*' . ../Base/usr/include + rsync -a --include '*/' --include '*.h' --exclude '*' . ../Root/usr/include # Install the library - cp $(LIBRARY) ../Base/usr/lib \ No newline at end of file + cp $(LIBRARY) ../Root/usr/lib diff --git a/Toolchain/BuildIt.sh b/Toolchain/BuildIt.sh old mode 100644 new mode 100755 index 993edc6008..a97f3c44e9 --- a/Toolchain/BuildIt.sh +++ b/Toolchain/BuildIt.sh @@ -7,18 +7,27 @@ TARGET=i686-pc-serenity PREFIX="$DIR/Local" SYSROOT="$DIR/../Root" +echo PREFIX is $PREFIX +echo SYSROOT is $SYSROOT + mkdir -p "$DIR/Tarballs" source "$DIR/UseIt.sh" pushd "$DIR/Tarballs" - if [ ! -e "binutils-2.32.tar.gz" ]; then + md5="$(md5sum binutils-2.32.tar.gz | cut -f1 -d' ')" + echo "bu md5='$md5'" + if [ ! -e "binutils-2.32.tar.gz" ] || [ "$md5" != "d1119c93fc0ed3007be4a84dd186af55" ] ; then + rm -f binutils-2.32.tar.gz wget "http://ftp.gnu.org/gnu/binutils/binutils-2.32.tar.gz" else echo "Skipped downloading binutils" fi - if [ ! -e "gcc-8.3.0.tar.gz" ]; then + md5="$(md5sum gcc-8.3.0.tar.gz | cut -f1 -d' ')" + echo "gc md5='$md5'" + if [ ! -e "gcc-8.3.0.tar.gz" ] || [ "$md5" != "9972f8c24c02ebcb5a342c1b30de69ff" ] ; then + rm -f gcc-8.3.0.tar.gz wget "http://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz" else echo "Skipped downloading gcc" @@ -60,8 +69,8 @@ pushd "$DIR/Build/" --target=$TARGET \ --with-sysroot=$SYSROOT \ --disable-nls || exit 1 - make -j $(nproc) - make install + make -j $(nproc) || exit 1 + make install || exit 1 popd pushd gcc @@ -72,14 +81,19 @@ pushd "$DIR/Build/" --with-newlib \ --enable-languages=c,c++ || exit 1 - make -j $(nproc) all-gcc all-target-libgcc - make install-gcc install-target-libgcc + echo "XXX build gcc and libgcc" + make -j $(nproc) all-gcc all-target-libgcc || exit 1 + echo "XXX install gcc and libgcc" + make install-gcc install-target-libgcc || exit 1 + echo "XXX serenity libc and libm" make -C "$DIR/../LibC/" install make -C "$DIR/../LibM/" install - make all-target-libstdc++-v3 - make install-target-libstdc++-v3 + echo "XXX build libstdc++" + make all-target-libstdc++-v3 || exit 1 + echo "XXX install libstdc++" + make install-target-libstdc++-v3 || exit 1 popd popd