本パッケージの詳細は 「GCC の構成」を参照してください。
Libstdc++ は標準 C++ ライブラリです。 (GCC の一部が C++ によって書かれているため)C++ をコンパイルするために必要となります。 ただし gcc 1 回め をビルドするにあたっては、このライブラリのインストールを個別に行わなければなりません。 それはこのライブラリが glibc に依存していて、対象ディレクトリ内ではまだ glibc が利用できない状態にあるからです。
libstdc++ のソースは GCC に含まれます。
したがってまずは GCC の tarball を伸張 (解凍) した上で gcc-10.2.0
ディレクトリに入って作業を進めます。
libstdc++ のためのディレクトリを新たに生成して移動します。
mkdir -v build cd build
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
configure オプションの意味
--host=...
利用するクロスコンパイラーを指示するものであり、/usr/bin
にあるものではなく、まさに先ほど作り出したものを指定するものです。
--disable-libstdcxx-pch
本スイッチは、既にコンパイルされたインクルードファイルをインストールしないようにします。 これはこの時点では必要ないためです。
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/10.2.0
C++ コンパイラーが標準インクルードファイルを探すディレクトリを指定します。 通常のビルドにおいてそのディレクトリ情報は、最上位ディレクトリの configure のオプションにて指定します。 ここでの作業では、上のようにして明示的に指定します。
libstdc++ をコンパイルします。
make
ライブラリをインストールします。
make DESTDIR=$LFS install
本パッケージの詳細は 「GCC の構成」を参照してください。