5.4. GCC-4.0.3 - Passo 1

Il pacchetto GCC contiene la collezione di compilatori GNU, che include i compilatori C e C++.

Tempo di costruzione approssimativo: 8.2 SBU
Spazio necessario su disco: 514 MB

5.4.1. Installazione di GCC

La documentazione di GCC raccomanda di costruire GCC al di fuori della directory dei sorgenti, in una directory di costruzione dedicata:

mkdir -v ../gcc-build
cd ../gcc-build

Preparare GCC per la compilazione:

../gcc-4.0.3/configure --prefix=/tools \
    --with-local-prefix=/tools --disable-nls --enable-shared \
    --enable-languages=c

Significato delle opzioni di configurazione:

--with-local-prefix=/tools

Lo scopo di questa opzione è di rimuovere /usr/local/include dal percorso di ricerca di include di gcc. Ciò non è assolutamente essenziale, tuttavia aiuta a minimizzare l'influenza del sistema host.

--enable-shared

Questa opzione permette la costruzione di libgcc_s.so.1 e libgcc_eh.a. Avere libgcc_eh.a disponibile assicura che lo script configure per Glibc (il prossimo pacchetto che compiliamo) produca risultati appropriati.

--enable-languages=c

Questa opzione assicura che venga costruito solo il compilatore C.

Continuare con la compilazione del pacchetto:

make bootstrap

Significato delle opzioni di configurazione:

bootstrap

Questo target non si limita a compilare GCC, ma lo compila molte volte. Usa i programmi compilati in un primo round per compilare se stesso una seconda volta, e quindi di nuovo una terza volta. Quindi confronta la seconda e la terza compilazione per essere sicuro di potersi riprodurre perfettamente. Questo presuppone anche che sia compilato correttamente.

La compilazione è ora completa. A questo punto normalmente verrebbe eseguita la suite di test, ma, come citato in precedenza, il framework della suite di test non è ancora al suo posto. I benefici derivanti dall'esecuzione dei test a questo punto sono minimi, poiché i programmi del primo passo verranno presto rimpiazzati.

Installare il pacchetto:

make install

Come tocco finale creare un symlink. Molti programmi e script eseguono cc invece di gcc, che è usato per avere programmi generici e solitamente usabili su tutti i tipi di sistemi UNIX, dove il compilatore C GNU non è sempre installato. Eseguire cc lascia l'amministratore di sistema libero di decidere quale compilatore C installare.

ln -vs gcc /tools/bin/cc

Dettagli su questo pacchetto si trovano nella Sezione 6.12.2, «Contenuti di GCC.»