#!/bin/bash # Toolchain voor de powerpc-405 architectuur. # Deze file is makkelijk aan te passen voor andere architecturen, omdat we crosstool gebruiken. # Zorg dat je de juiste tarballs in de tarball directory hebt, zodat het script niet steeds opnieuw # hoeft te downloaden. #DEP:crosstool # Package versienummer laten we overeenkomen met gcc_glibc versies. NAME=`basename $0|sed 's/.SlackBuild//'` VER=3.4.5_2.3.6 ARCH=`arch` ## Settings voor het gewenste target platvorm: #van powerpc-405.dat: export TARGET=powerpc-405-linux-gnu export TARGET_CFLAGS="-O -mcpu=405" export GCC_EXTRA_CONFIG="--with-cpu=405 --enable-cxx-flags=-mcpu=405" export GLIBC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG --without-fp" ## Settings voor gebruikte versies van glibc/gcc #van gcc-3.4.5-glibc-2.3.6.dat: export BINUTILS_DIR=binutils-2.15 export GCC_DIR=gcc-3.4.5 export GLIBC_DIR=glibc-2.3.6 #export LINUX_DIR=linux-2.6.8 export LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0 export GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6 ## Systeem en directory settings (altijd het zelfde, niet veranderen): export PREFIX=/usr/$TARGET export BUILD_DIR=/tmp/cross_build export SRC_DIR=/tmp/cross_src export TARBALLS_DIR=`pwd`/tarballs export TOP_DIR=/usr/crosstool #export USE_SYSROOT=yes export PARALLELMFLAGS="$MAKEFLAGS" export MAKEFLAGS="-j1" #deze moet op 1, we gebruiekn parallelmflags hiervoor. mkdir -p $SRC_DIR mkdir -p $BUILD_DIR mkdir -p $PREFIX/ #deze mag niet downloaden! #hij mag alleen uitpakken en patchen. #alle tars moeten al in tarballs directory staan! bash -x /usr/crosstool/getandpatch.sh || exit 1 #hier begin het daad werkelijke maken van de toolchain bash -x /usr/crosstool/crosstool.sh || exit 1 #verplaats de reeds werkende toolchain naar /tmp/pkg mkdir -p /tmp/pkg/usr || exit 1 mv $PREFIX /tmp/pkg/usr || exit 1 #symlink van cc naar gcc: ln -s /tmp/pkg/usr/powerpc-405-linux-gnu/powerpc-405-linux-gnu/bin/gcc /tmp/pkg/usr/powerpc-405-linux-gnu/powerpc-405-linux-gnu/bin/cc || exit 1 #trap kernel headers er bij in tar -xjf tarballs/linux-libc-headers-2.6.12.0.tar.bz2 || exit 1 cp -a linux-libc-headers-2.6.12.0/include/* /tmp/pkg/usr/$TARGET/$TARGET/include || exit 1 #strip i386 stuff syn3_strip /tmp/pkg || exit 1 #strip target stuff PATH=/tmp/pkg/$PREFIX/$TARGET/bin:$PATH syn3_strip /tmp/pkg || exit 1 #maak package syn3_makepkg /tmp/pkg $NAME $VER $ARCH || exit 1