Compilazione degli Strumenti di Sviluppo di Linux

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 TutorialLezione Successiva >>

Informazioni su Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.
Questa voce è stata pubblicata in Linux e contrassegnata con . Contrassegna il permalink.