5.8. Libstdc++ de GCC-9.2.0

Libstdc++ est la bibliothèque standard de C++. Elle est utilisée pour compiler du code C++ (une partie de GCC est écrit en C++) mais nous avons dû retarder son installation lorsqu'on a construit gcc-pass1, car elle dépend de glibc, qui n'était pas encore disponible dans /tools.

Temps de construction approximatif: 0.5 SBU
Espace disque requis: 879 Mo

5.8.1. Installation de Libstdc++ Cible

[Note]

Note

Libstdc++ fait partie des sources de GCC. Vous devriez d'abord déballer l'archive tar de GCC et vous rendre dans le répertoire gcc-9.2.0.

Créez un répertoire de construction séparé pour Libstdc++ et rentrez-y :

mkdir -v build
cd build

Préparez la compilation de Libstdc++ :

../libstdc++-v3/configure           \
    --host=$LFS_TGT                 \
    --prefix=/tools                 \
    --disable-multilib              \
    --disable-nls                   \
    --disable-libstdcxx-threads     \
    --disable-libstdcxx-pch         \
    --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/9.2.0

Voici la signification des options de configure :

--host=...

Indique d'utiliser le compilateur croisé que nous venons à peine de construire à la place de celui de /usr/bin.

--disable-libstdcxx-threads

Comme nous n'avons pas construit la bibliothèque C thread, celle de C++ ne peut pas non plus être construite.

--disable-libstdcxx-pch

Ce paramètre empêche l'installation des fichiers inclus pré-compilés, qui ne sont pas nécessaires pour l'instant.

--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/9.2.0

C'est l'emplacement où les fichiers inclus standard sont cherchés par le compilateur C++. Dans une construction normale, ces informations sont passées automatiquement aux options configure de Libstdc++ à partir du premier niveau de répertoire. Dans notre cas, il faut donner explicitement ces informations.

Compilez libstdc++ en lançant :

make

Installez la bibliothèque :

make install

Les détails sur ce paquet sont situés dans Section 6.21.2, « Contenu de GCC. »