build instructions from stardust osdev
This commit is contained in:
parent
9836a9e372
commit
948d39427f
1 changed files with 52 additions and 0 deletions
52
build.sh
Normal file
52
build.sh
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
sudo -i
|
||||||
|
dnf install mg
|
||||||
|
dnf upgrade
|
||||||
|
dnf install @c-development gnat gprbuild gmp-devel mpfr-devel libmpc-devel git
|
||||||
|
# you can probably drop privileges here
|
||||||
|
export PATH="$HOME/prefix/tools/bin:$HOME/prefix/stage1/bin:$HOME/prefix-$(uname -m)/bin:$PATH"
|
||||||
|
wget https://ftpmirror.gnu.org/gnu/binutils/binutils-2.46.0.tar.gz https://ftpmirror.gnu.org/gnu/gcc/gcc-15.2.0/gcc-15.2.0.tar.gz
|
||||||
|
git clone https://github.com/Jonimoose/libfxcg --depth=1
|
||||||
|
tar xf gcc-15.2.0.tar.gz
|
||||||
|
tar xf binutils-2.46.0.tar.gz
|
||||||
|
|
||||||
|
cd binutils-2.46.0
|
||||||
|
mkdir stage{0,1}
|
||||||
|
cd stage0
|
||||||
|
../configure --prefix=$HOME/prefix-$(uname -m) --sysconfdir=/etc --enable-ld=default --enable-plugins --enable-shared --disable-werror --enable-64-bit-bfd
|
||||||
|
make -j$(nproc) tooldir=$HOME/prefix-$(uname -m)
|
||||||
|
make -j$(nproc) check
|
||||||
|
make -j install-strip tooldir=$HOME/prefix-$(uname -m)
|
||||||
|
|
||||||
|
cd ../../gcc-15.2.0
|
||||||
|
mkdir stage{0,1,2}
|
||||||
|
sed -ie '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
|
||||||
|
cd stage0
|
||||||
|
../configure --prefix=$HOME/prefix-$(uname -m) LD=ld --enable-languages-c,c++,ada --enable-default-pie --enable-default-ssp --enable-host-pie --disable-multilib --disable-fixincludes
|
||||||
|
make -j$(nproc)
|
||||||
|
sed -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp -e '/cpython/d'
|
||||||
|
make -j install-strip
|
||||||
|
|
||||||
|
cd ../../binutils-2.46.0/stage1
|
||||||
|
../configure --prefix=$HOME/prefix/stage1 --with-sysroot=$HOME/prefix --target=sh3eb-elf --disable-nls --disable-gprofng --disable-werror
|
||||||
|
make -j$(nproc)
|
||||||
|
make -j install-strip
|
||||||
|
../configure --prefix=$HOME/prefix/tools --with-sysroot=$HOME/prefix --target=sh3eb-elf --disable-nls --disable-gprofng --disable-werror
|
||||||
|
make -j$(nproc)
|
||||||
|
make -j install-strip
|
||||||
|
|
||||||
|
cd ../../gcc-15.2.0/stage1
|
||||||
|
../configure --target=sh3eb-elf --prefix=$HOME/prefix/stage1 --with-sysroot=$HOME/prefix --with-newlib --without-headers --enable-default-pie --enable-default-ssp --disable-nls --enable-languages=c,c++,ada --disable-libstdcxx --disable-libada --disable-libssp
|
||||||
|
make -j$(nproc)
|
||||||
|
make -j install-strip
|
||||||
|
|
||||||
|
cd ../../libfxcg
|
||||||
|
make -j$(nproc) libc/libc.a
|
||||||
|
install -Dt $HOME/prefix/lib libc/libc.a libfxcg/libfxcg.a
|
||||||
|
mkdir -p $HOME/prefix/include
|
||||||
|
cp -r include/* $HOME/prefix/include/
|
||||||
|
|
||||||
|
cd ../gcc-15.2.0/stage2
|
||||||
|
../configure --target=sh3eb-elf --prefix=$HOME/prefix/tools --with-sysroot=$HOME/prefix --enable-default-pie --disable-nls --enable-languages=c,c++,ada --with-native-system-header-dir=/include --disable-gcov --disable-libada --disable-libstdcxx --disable-libssp
|
||||||
|
make -j$(nproc)
|
||||||
|
make -j install-strip
|
||||||
|
rm -rf $HOME/prefix/stage1
|
||||||
Loading…
Add table
Add a link
Reference in a new issue