Questa volta ci occuperemo di compilare il compilatore e linker GCC per il nostro sistema Linux. Prima di occuparci della compilazione di GCC, dobbiamo creare i pacchetti che sono necessari al compilatore della GNU: Linux Headers, GMP, MPFR ed MPC.
Il pacchetto Linux Headers contiene tutti i file di intestazione che servono per compilare il sistema e si possono trovare nei sorgenti del kernel:
- /usr/include/asm/*.h
- /usr/include/asm-generic/*.h
- /usr/include/drm/*.h
- /usr/include/linux/*.h
- /usr/include/mtd/*.h
- /usr/include/rdma/*.h
- /usr/include/scsi/*.h
- /usr/include/sound/*.h
- /usr/include/video/*.h
- /usr/include/xen/*.h
Il pacchetto GMP ( GNU Multiple Precision Library) contiene alcune librerie matematiche, è utile per le operazioni aritmetiche con numeri a precisione arbitraria:
- libgmp – Libreria per funzioni matematiche per numeri in virgola mobile per il linguaggio C
- libgmpxx – Libreria per funzioni matematiche per numeri in virgola mobile per il linguaggio C++
- libmp – Libreria per le funzioni matematiche di Berkeley MP
Il pacchetto MPFR contiene una libreria per il linguaggio C basata su GMP per il calcolo del corretto arrotondamento:
- libmpfr.{a,so} – Libreria a collegamento sia statico che dinamico per gli arrotondamenti matematici con i numeri a precisione multipla
Il pacchetto MPC contiene una libreria basata sugli stessi principi di MPFR e serve per i calcoli matematici con numeri complessi:
- libmpc.{a,so} – Libreria a collegamento sia statico che dinamico per gli arrotondamenti matematici con i numeri complessi
Il pacchetto GCC contiene una collezione di compilatori e librerie sia per C che per C++ della GNU:
- c++ – Un compilatore per il linguaggio C++
- cc – Un compilatore per il linguaggio C
- cpp – Il preprocessore per il linguaggio C/C++
- g++ – Un compilatore per il linguaggio C++
- gcc – Un compilatore per il linguaggio C
- gccbug – Un programma a riga di comando per creare dei report sugli errori
- gcov – Uno strumento per determinare dove le ottimizzazioni hanno maggiori effetti
- libgcc – Libreria che contiene il run-time per GCC
- libgcov – Libreria per abilitare la profilatura delle applicazioni
- libgomp – Libreria per l’implementazione della GNU di OpenMP per la programmazione multipiattaforma con memoria condivisa ed in parallelo per i linguaggi C/C++ e Fortran
- libmudflap – Libreria che contiene funzioni per il supporto alla verifica dei limiti di GCC
- libssp – Libreria contenente funzioni per la protezione dello stack
- libstdc++ – La libreria standard del linguaggio C++
- libsupc++ – Libreria che contiene funzioni a supporto del linguaggio C++
Per maggiori informazioni sull’uso del compilatore GCC vi invito a leggere questo articolo, mentre i sorgenti con cui ho creato questi pacchetti sono in questo file.
<< Lezione Precedente – Inizio Tutorial – Lezione Successiva >>