Sfoglia il codice sorgente

Toolchain: Added build script (wip)

VAN BOSSUYT Nicolas 6 anni fa
parent
commit
4b05ec9549

+ 2 - 1
.gitignore

@@ -7,5 +7,6 @@
 *.includes
 *.cflags
 *.cxxflags
-Patches
 Root
+Toolchain/Tarballs
+Toolchain/Build

+ 57 - 0
Toolchain/BuildIt.sh

@@ -0,0 +1,57 @@
+#!/bin/bash
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+TARGET=i686-pc-serenity
+PREFIX="$DIR/Local"
+
+mkdir -p "$DIR/Tarballs"
+
+pushd "$DIR/Tarballs"
+    if [ ! -e "binutils-2.32.tar.gz" ]; then
+        wget "http://ftp.gnu.org/gnu/binutils/binutils-2.32.tar.gz"
+    fi
+
+    if [ ! -e "gcc-8.3.0.tar.gz" ]; then
+        wget "http://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz"
+    fi
+
+    if [ ! -d "binutils-2.32" ]; then
+        tar -xf "binutils-2.32.tar.gz"
+
+        pushd "binutils-2.32"
+            patch -p1 < $DIR/Patches/binutils.patch
+        popd
+    fi
+
+    if [ ! -d "gcc-8.3.0" ]; then
+        tar -xf "gcc-8.3.0.tar.gz"
+
+        pushd "gcc-8.3.0"
+            patch -p1 < $DIR/Patches/gcc.patch
+        popd
+    fi
+popd
+
+exit
+
+mkdir -p $PREFIX
+
+mkdir -p "$DIR/Build/binutils"
+mkdir -p "$DIR/Build/gcc"
+
+pushd "$DIR/Build/"
+
+    unset PKG_CONFIG_LIBDIR # Just in case
+
+    pushd binutils
+        $DIR/Tarballs/binutils-2.32/configure --target=$TARGET --prefix=$PREFIX --disable-werror || exit 1
+        make -j $(nproc)
+        make install
+    popd
+
+    pushd gcc
+        $DIR/Tarballs/gcc-8.3.0/configure --target=$TARGET --prefix=$PREFIX --disable-nls --enable-languages=c --disable-libssp --without-headers || exit 1
+        make -j $(nproc) all-gcc all-target-libgcc
+        make install-gcc install-target-libgcc
+    popd
+popd

+ 0 - 0
Meta/binutils-2.32-serenity.patch → Toolchain/Patches/binutils.patch


+ 0 - 0
Meta/gcc-8.3.0-serenity.patch → Toolchain/Patches/gcc.patch


+ 1 - 0
Toolchain/UseIt.sh

@@ -0,0 +1 @@
+#!/bin/bash