5.14. GCC-7.1.0 croisé - Final

Le paquet GCC contient la collection de compilateurs GNU, qui contient les compilateurs C et C++.

5.14.1. Installation de GCC Cross Compiler

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

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

Préparez la compilation de GCC :

AR=ar \
LDFLAGS="-Wl,-rpath,/cross-tools/lib" \
../gcc-7.1.0/configure \
    --prefix=/cross-tools \
    --build=${CLFS_HOST} \
    --target=${CLFS_TARGET} \
    --host=${CLFS_HOST} \
    --with-sysroot=${CLFS} \
    --with-local-prefix=/tools \
    --with-native-system-header-dir=/tools/include \
    --disable-nls \
    --disable-static \
    --enable-languages=c,c++ \
    --disable-multilib \
    --with-mpc=/cross-tools \
    --with-mpfr=/cross-tools \
    --with-gmp=/cross-tools \
    --with-isl=/cross-tools

Voici la signification des nouvelles options de configure :

--enable-languages=c,c++

Cette option s'assure que seul les compilateur C et C++ sont construits.

Continuez en compilant le paquet :

make AS_FOR_TARGET="${CLFS_TARGET}-as" \
    LD_FOR_TARGET="${CLFS_TARGET}-ld"

Installez le paquet :

make install

Des détails sur ce paquet se trouvent sur Section 10.18.2, « Contenu de GCC. »