Les détails sur ce paquet sont situés dans Section 8.26.2, « Contenu de GCC. »
Libstdc++ est la bibliothèque standard du 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 le répertoire cible.
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-10.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 \ --build=$(../config.guess) \ --prefix=/usr \ --disable-multilib \ --disable-nls \ --disable-libstdcxx-pch \ --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/10.2.0
Voici la signification des options de configure :
--host=...
Indique d'utiliser le compilateur croisé que nous venons tout
juste de construire à la place de celui dans /usr/bin
.
--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++/10.2.0
C'est l'emplacement où le compilateur C++ recherche les fichiers d'en-tête standards. 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 DESTDIR=$LFS install
Les détails sur ce paquet sont situés dans Section 8.26.2, « Contenu de GCC. »