Des détails sur ce paquet se trouvent sur Section 10.26.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-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/rs6000/sysv4.h echo -en '\n#undef STANDARD_STARTFILE_PREFIX_2\n#define STANDARD_STARTFILE_PREFIX_2 ""\n' >> gcc/config/rs6000/sysv4.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 \
--libdir=/tools/lib64 \
--build=${CLFS_HOST} \
--host=${CLFS_TARGET} \
--target=${CLFS_TARGET} \
--with-local-prefix=/tools \
--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.26.2, « Contenu de GCC. »