From 67af445a8f3afaf3ef7cc37f01aa2cd611db615a Mon Sep 17 00:00:00 2001 From: Aleksa Vučković Date: Wed, 19 Jan 2022 21:01:58 +0100 Subject: Moving setup.sh --- scripts/setup.sh | 135 ------------------------------------------------------- setup.sh | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+), 135 deletions(-) delete mode 100755 scripts/setup.sh create mode 100755 setup.sh diff --git a/scripts/setup.sh b/scripts/setup.sh deleted file mode 100755 index c4c0a53..0000000 --- a/scripts/setup.sh +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/sh - -SYSROOT=/opt/aleksa - -BINUTILS=binutils-2.37 -GCC=gcc-11.2.0 - - -download() -{ - if [ ! -f "./$BINUTILS.tar.gz" ]; then - wget "https://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.gz" - fi - - if [ ! -f "./$GCC.tar.gz" ]; then - wget "https://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.gz" - fi -} - -extract() -{ - if [ ! -d "./$BINUTILS" ]; then - tar xzvf "./$BINUTILS.tar.gz" - fi - - if [ ! -d "./$GCC" ]; then - tar xzvf "./$GCC.tar.gz" - fi -} - -patch_gnu() -{ - mkdir -p "./mine" - cd "./mine" || exit - - if [ ! -d "./$BINUTILS" ]; then - cp -r "../$BINUTILS" . - patch -p0 < "../files/aleksa-$BINUTILS.diff" - cd "./$BINUTILS/ld" || exit - sed -i "s/2.69/2.71/" "Makefile.am" - aclocal - automake - cd "../.." - fi - - if [ ! -d "./$GCC" ]; then - cp -r "../$GCC" . - patch -p0 < "../files/aleksa-$GCC.diff" - cd "./$GCC/libstdc++-v3" || exit - sed -i "s/2.69/2.71/" "../config/override.m4" - autoreconf - cd "../.." - fi - - cd ".." -} - -install_headers() -{ - if [ ! -d "mykernel" ]; then - git clone https://github.com/aleksav013/mykernel - fi - - cd "mykernel" || exit - ./scripts/install_headers.sh - cd ".." -} - -build_binutils() -{ - cd "./mine/$BINUTILS" || exit - - mkdir -p build - cd build || exit - - if [ ! -f Makefile ]; then - ../configure --target=i686-aleksa \ - --prefix="$SYSROOT/usr" \ - --with-sysroot="$SYSROOT" \ - --disable-nls - fi - - make -j4 - make install - - cd "../../.." -} - -build_gcc() -{ - cd "./mine/$GCC" || exit - - mkdir -p build - cd build || exit - - if [ ! -f Makefile ]; then - ../configure --target=i686-aleksa \ - --prefix="$SYSROOT/usr" \ - --with-sysroot="$SYSROOT" \ - --disable-nls \ - --disable-plugin \ - --enable-languages=c,c++ - fi - - make -j4 all-gcc - make -j4 all-target-libgcc - - make -k check || true - - make install-gcc - make install-target-libgcc - - cd "../../.." -} - -additions() -{ - GCC_INCLUDE=$(i686-aleksa-gcc --print-file-name=) - - i686-aleksa-as files/crt0.s -o "$GCC_INCLUDE/crt0.o" - touch "$GCC_INCLUDE/libc.a" -} - -main() -{ - download - extract - patch_gnu - install_headers - build_binutils - build_gcc - additions -} - -main diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..c4c0a53 --- /dev/null +++ b/setup.sh @@ -0,0 +1,135 @@ +#!/bin/sh + +SYSROOT=/opt/aleksa + +BINUTILS=binutils-2.37 +GCC=gcc-11.2.0 + + +download() +{ + if [ ! -f "./$BINUTILS.tar.gz" ]; then + wget "https://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.gz" + fi + + if [ ! -f "./$GCC.tar.gz" ]; then + wget "https://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.gz" + fi +} + +extract() +{ + if [ ! -d "./$BINUTILS" ]; then + tar xzvf "./$BINUTILS.tar.gz" + fi + + if [ ! -d "./$GCC" ]; then + tar xzvf "./$GCC.tar.gz" + fi +} + +patch_gnu() +{ + mkdir -p "./mine" + cd "./mine" || exit + + if [ ! -d "./$BINUTILS" ]; then + cp -r "../$BINUTILS" . + patch -p0 < "../files/aleksa-$BINUTILS.diff" + cd "./$BINUTILS/ld" || exit + sed -i "s/2.69/2.71/" "Makefile.am" + aclocal + automake + cd "../.." + fi + + if [ ! -d "./$GCC" ]; then + cp -r "../$GCC" . + patch -p0 < "../files/aleksa-$GCC.diff" + cd "./$GCC/libstdc++-v3" || exit + sed -i "s/2.69/2.71/" "../config/override.m4" + autoreconf + cd "../.." + fi + + cd ".." +} + +install_headers() +{ + if [ ! -d "mykernel" ]; then + git clone https://github.com/aleksav013/mykernel + fi + + cd "mykernel" || exit + ./scripts/install_headers.sh + cd ".." +} + +build_binutils() +{ + cd "./mine/$BINUTILS" || exit + + mkdir -p build + cd build || exit + + if [ ! -f Makefile ]; then + ../configure --target=i686-aleksa \ + --prefix="$SYSROOT/usr" \ + --with-sysroot="$SYSROOT" \ + --disable-nls + fi + + make -j4 + make install + + cd "../../.." +} + +build_gcc() +{ + cd "./mine/$GCC" || exit + + mkdir -p build + cd build || exit + + if [ ! -f Makefile ]; then + ../configure --target=i686-aleksa \ + --prefix="$SYSROOT/usr" \ + --with-sysroot="$SYSROOT" \ + --disable-nls \ + --disable-plugin \ + --enable-languages=c,c++ + fi + + make -j4 all-gcc + make -j4 all-target-libgcc + + make -k check || true + + make install-gcc + make install-target-libgcc + + cd "../../.." +} + +additions() +{ + GCC_INCLUDE=$(i686-aleksa-gcc --print-file-name=) + + i686-aleksa-as files/crt0.s -o "$GCC_INCLUDE/crt0.o" + touch "$GCC_INCLUDE/libc.a" +} + +main() +{ + download + extract + patch_gnu + install_headers + build_binutils + build_gcc + additions +} + +main -- cgit v1.2.3