quinn-os/make_toolchain.sh
2016-02-02 07:36:00 +06:00

105 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
if [ -e $HOME/Quinn ]
then
echo "${HOME}/Quinn exists!"
exit
fi
mkdir $HOME/Quinn
mkdir $HOME/Quinn/tools
mkdir $HOME/Quinn/sysroot
mkdir $HOME/Quinn/cross
mkdir $HOME/Quinn/src
cd $HOME/Quinn/tools
echo "Fetching Tools"
wget ftp://sourceware.org/pub/newlib/newlib-2.2.0.20150623.tar.gz
wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.25.1.tar.bz2
wget ftp://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2
echo "Fetching Quinn"
cd $HOME/Quinn/src
git clone https://bitbucket.org/apamment/quinn-os.git
cd $HOME/Quinn/tools
echo "Building Tools"
tar xjf binutils-2.25.1.tar.bz2
mkdir binutils-build
cd binutils-build
../binutils-2.25.1/configure --target=i686-elf --prefix=$HOME/Quinn/cross --with-sysroot --disable-nls --disable-werror
make
make install
cd ..
export PATH=$HOME/Quinn/cross/bin:$PATH
tar xjf gcc-5.2.0.tar.bz2
mkdir gcc-build
cd gcc-build
../gcc-5.2.0/configure --target=i686-elf --prefix=$HOME/Quinn/cross --disable-nls --enable-languages=c,c++ --without-headers
make all-gcc
make install-gcc
make all-target-libgcc
make install-target-libgcc
cd ..
rm -rf binutils-build
rm -rf gcc-build
echo "Building Quinn Tools"
tar xvf newlib-2.2.0.20150623.tar.gz
patch -p0 < $HOME/Quinn/src/quinn-os/newlib-2.2.0.20150623.diff
mkdir $HOME/Quinn/sysroot/usr
cp -r newlib-2.2.0.20150623/newlib/libc/include $HOME/Quinn/sysroot/usr
patch -p0 < $HOME/Quinn/src/quinn-os/binutils-2.25.1.diff
mkdir binutils-build
cd binutils-build
../binutils-2.25.1/configure --target=i686-quinn --prefix=$HOME/Quinn/cross --with-sysroot=$HOME/Quinn/sysroot --disable-nls --disable-werror
make
make install
cd ..
rm -rf binutils-build
patch -p0 < $HOME/Quinn/src/quinn-os/gcc-5.2.0.diff
mkdir gcc-build
cd gcc-build
../gcc-5.2.0/configure --target=i686-quinn --prefix=$HOME/Quinn/cross --disable-nls --enable-languages=c,c++ --with-sysroot=$HOME/Quinn/sysroot
make all-gcc
make install-gcc
make all-target-libgcc
make install-target-libgcc
cd ..
rm -rf gcc-build
mkdir newlib-build
cd newlib-build
../newlib-2.2.0.20150623/configure --prefix=/usr --target=i686-quinn
make
make DESTDIR=$HOME/Quinn/sysroot install
cd ..
rm -rf newlib-build
cp -r $HOME/Quinn/sysroot/usr/i686-quinn/* $HOME/Quinn/sysroot/usr
echo "DONE!"