Des détails sur ce paquet se trouvent sur Section 10.18.2, « Contenu de GCC. »
Le paquet GCC contient la collection de compilateurs GNU, qui contient les compilateurs C et C++.
Faites quelques ajustements essentiels pour le fichier specs de GCC pour vous assurer que GCC utilise notre environnement de construction :
patch -Np1 -i ../gcc-7.1.0-pure64_specs-1.patch
Modifiez la spec StartFile afin que GCC regarde dans /tools
:
echo -en '\n#undef STANDARD_STARTFILE_PREFIX_1\n#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"\n' >> gcc/config/linux.h echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define STANDARD_STARTFILE_PREFIX_2 ""\n' >> gcc/config/linux.h
Appliquez un sed qui supprimera l'exécution du script fixincludes :
cp -v gcc/Makefile.in{,.orig} sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in
La documentation de GCC recommande de construire GCC en dehors du répertoire des sources dans un répertoire dédié :
mkdir -v ../gcc-build cd ../gcc-build
Avant de commencer à construire GCC, pensez à supprimer toute variable d'environnement qui réécrit les drapeaux d'optimisation par défaut.
Préparez la compilation de GCC :
../gcc-7.1.0/configure \ --prefix=/tools \ --build=${CLFS_HOST} \ --host=${CLFS_TARGET} \ --target=${CLFS_TARGET} \ --with-local-prefix=/tools \ --disable-multilib \ --enable-languages=c,c++ \ --with-system-zlib \ --with-native-system-header-dir=/tools/include \ --disable-libssp \ --enable-install-libiberty
Voici la signification de la nouvelle option de configure :
--enable-install-libiberty
Permet à GCC de construire et installer libiberty.a
et ses en-têtes associés. Cette
bibliothèque est requise pour la construction de certains
paquets.
Compilez le paquet :
make AS_FOR_TARGET="${AS}" \ LD_FOR_TARGET="${LD}"
Installez le paquet :
make install
Des détails sur ce paquet se trouvent sur Section 10.18.2, « Contenu de GCC. »