Wie lang dauerte der letzte Vorgang? Der hier soll 22 Mal so lang dauern! Das Paket hat den C und den C++ Compiler. Jetzt also wie vorher:
tar -jxf pakete/gcc-4.4.3.tar.bz2 && cd gcc-4.4.3/
Nur braucht GCC noch GMP und MPFR zusätzlich!
tar -jxf ../pakete/mpfr-2.4.2.tar.bz2 && mv -v mpfr-2.4.2 mpfr && tar -jxf ../pakete/gmp-4.3.2.tar.bz2 && mv -v gmp-4.3.2 gmp &&
Auch hier wieder ein extra Build Verzeichnis, auf Empfehlung der GCC-Entwickler:
mkdir -v ../gcc-build && cd ../gcc-build
Und jetzt nicht die Geduld verlieren, oder will da wer kopieren? GCC zum kompilieren vorbereiten:
../gcc-4.4.3/configure \
--target=$MOLLI_TGT --prefix=/tools \
--disable-nls --disable-shared --disable-multilib \
--disable-decimal-float --disable-threads \
--disable-libmudflap --disable-libssp \
--disable-libgomp --enable-languages=c
Es wird also alles ausgeschaltet, nur nicht:
Die Bedeutung der Parameter für configure:
--prefix=/tools
Dadurch wird das configure-Skript die Binutils-Programme für
die Installation nach /tools
vorbereiten.
--disable-nls
Deaktiviert die Internationalisierung; i18n wird für die temporären Werkzeuge nicht benötigt.
Nun kompilieren wir GCC:
make
und das Kompilieren ist geschafft. Noch ist wegen des Fehlens von Tcl, Expect und DejaGNU ein Testlauf sinnlos.
So nun installieren:
make install
und das Installieren ist erledigt.
--disable-shared verhindert libgcc_eh.a, weswegen Glibc meckert. Daher machen wir folgendes:
ln -vs libgcc.a `$MOLLI_TGT-gcc -print-libgcc-file-name | \
sed 's/libgcc/&_eh/'`
und so wird für Glibc eine Verbindung von libgcc.a zu libgcc_eh.a symbolisch geknüpft. So haben wir auch alles, was Glibc so braucht.
Nun wieder raus aus dem Verzeichnis und löschen der selben:
cd .. && rm -rf gcc-*