이 패키지에 대한 자세한 정보는 6.25.2절. “GCC의 내용.”에서 찾을 수 있다.
Libstdc++은 표준 C++ 라이브러리이다. 이것은 C++ 코드를 컴파일할 때 필요하지만(GCC의 일부는 C++로 쓰여졌다), gcc-1단계를 빌드할 때는 설치를 미룰 수 밖에 없었다. 그 때는 아직 /tools에 없었던 glibc가 필요했기 때문이다.
Libstdc++는 GCC
소스의 일부이다. GCC
tarball을 먼저 풀고 gcc-9.2.0
디렉토리로
이동해야 한다.
Libstdc++을 위한 별도의 디렉토리를 생성하고 이동하라:
mkdir -v build cd build
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
Configure 옵션들의 의미:
--host=...
/usr/bin
에
있는 컴파일러
대신 방금 만든
크로스
컴파일러를
사용하도록
지시한다.
--disable-libstdcxx-threads
GCC 1단계가 스레드를 지원하지 않기 때문에 C++ 스레드 라이브러리도 지원되지 않는다.
--disable-libstdcxx-pch
이 단계에서 필요하지 않은 사전 컴파일된 include 파일의 설치를 방지한다.
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/9.2.0
C++ 컴파일러가 표준 include 파일을 검색하는 위치이다. 일반적으로는 이 정보가 최상위 디렉토리로부터 Libstdc++ configure 옵션으로 자동 전달된다. 때문에 우리는 이 주소를 명시적으로 입력해야 한다.
Libstdc++를 컴파일한다:
make
라이브러리를 설치한다:
make install
이 패키지에 대한 자세한 정보는 6.25.2절. “GCC의 내용.”에서 찾을 수 있다.