105 lines
2.2 KiB
Bash
Executable File
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!"
|