summaryrefslogtreecommitdiff
path: root/Ports/gcc/gcc.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Ports/gcc/gcc.sh')
-rwxr-xr-xPorts/gcc/gcc.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/Ports/gcc/gcc.sh b/Ports/gcc/gcc.sh
new file mode 100755
index 0000000000..9b1cbbdfa8
--- /dev/null
+++ b/Ports/gcc/gcc.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+PORT_DIR=gcc
+function fetch() {
+ run_fetch_web "https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz"
+
+ # Add the big GCC patch (same one used by toolchain.)
+ run_patch $SERENITY_ROOT/Toolchain/Patches/gcc.patch -p1
+
+ # Let GCC download mpfr, mpc and isl.
+ run_command contrib/download_prerequisites
+
+ # Patch mpfr, mpc and isl to teach them about "serenity" targets.
+ run_patch dependencies-config.patch -p1
+}
+function configure() {
+ run_configure_autotools \
+ --target=i686-pc-serenity \
+ --with-sysroot=/ \
+ --with-build-sysroot=$SERENITY_ROOT/Root \
+ --with-newlib \
+ --enable-languages=c,c++ \
+ --disable-lto \
+ --disable-nls
+}
+function build() {
+ MAKEOPTS=""
+ run_make all-gcc all-target-libgcc all-target-libstdc++-v3
+ run_command find ./host-i686-pc-serenity/gcc/ -maxdepth 1 -type f -executable -exec strip --strip-debug {} \; || echo
+}
+function install() {
+ run_make $INSTALLOPTS DESTDIR="$SERENITY_ROOT"/Root install-gcc install-target-libgcc install-target-libstdc++-v3
+}
+source ../.port_include.sh