Le paquet GCC contient la collection de compilateurs GNU, qui inclut les compilateurs C et C++.
Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options -march
et
-mcpu
) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que CFLAGS
et CXXFLAGS
, ont été définies, supprimez cette initialisation
pour la construction de GCC.
La documentation de GCC recommande de ne pas construire GCC dans le répertoire des sources mais dans un répertoire de construction dédié :
mkdir ../gcc-build cd ../gcc-build
Préparez la compilation de GCC :
../gcc-3.4.3/configure --prefix=/tools \ --libexecdir=/tools/lib --with-local-prefix=/tools \ --disable-nls --enable-shared --enable-languages=c
Voici la signification des options de configure :
--with-local-prefix=/tools
Le but de cette option est de supprimer /usr/local/include
du chemin de recherche des
fichiers include de gcc. Ce n'est pas absolument
essentiel ; néanmoins, c'est une aide pour minimiser l'influence du
système hôte.
--enable-shared
Cette option permet la construction de libgcc_s.so.1
et libgcc_eh.a
. Disposer de libgcc_eh.a
nous assure que le script configure
de Glibc (le prochain paquet à compiler) produira de bons résultats.
--enable-languages=c
Cette option nous assure que seul le compilateur C sera construit.
Continuez avec la compilation du paquet :
make bootstrap
Voici la signification des paramètres de make :
bootstrap
Cette cible ne compile pas GCC une seule fois mais plusieurs fois. Il utilise les programmes compilés dans le premier tour pour se compiler une deuxième fois, puis une troisième fois. Il compare alors les deuxième et troisième compilations pour s'assurer qu'il arrive à se reproduire lui-même sans fautes, ce qui semble vouloir dire qu'il a été compilé correctement.
La compilation est maintenant terminée. À ce point, la suite de tests devrait être lancée. Mais, comme nous l'avons dit plus tôt, l'ensemble de travail de la suite de tests n'est pas encore en place. Les bénéfices à lancer les tests maintenant seraient minimes car les programmes de la première passe seront bientôt remplacés.
Installez le paquet :
make install
En touche finale, créez un lien symbolique. Beaucoup de programmes et de scripts lancent cc au lieu de gcc, ceci pour conserver des programmes génériques et donc utilisables sur tout type de système Unix où le compilateur GNU C n'est pas toujours installé. Utiliser cc permet de libérer l'administrateur système dans son choix du compilateur C à installer.
ln -s gcc /tools/bin/cc
Les détails sur ce paquet sont disponibles dans la section intitulée « Contenu de GCC »