Changeset f6820bb6 for chapter05/libstdc++.xml
- Timestamp:
- 10/30/2022 02:23:55 PM (18 months ago)
- Branches:
- 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, bdubbs/gcc13, multilib, renodr/libudev-from-systemd, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/update-glibc
- Children:
- 6b052ef
- Parents:
- 019499e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter05/libstdc++.xml
r019499e rf6820bb6 29 29 (part of GCC is written in C++), but we had to defer its installation 30 30 when we built <xref linkend="ch-tools-gcc-pass1"/> 31 because it depends on glibc, which was not yet available in the target31 because Libstdc++ depends on Glibc, which was not yet available in the target 32 32 directory. 33 33 </para> … … 54 54 </note> 55 55 56 <para>Create a separate build directory for libstdc++ and enter it:</para>56 <para>Create a separate build directory for Libstdc++ and enter it:</para> 57 57 58 58 <screen><userinput remap="pre">mkdir -v build 59 59 cd build</userinput></screen> 60 60 61 <para>Prepare libstdc++ for compilation:</para>61 <para>Prepare Libstdc++ for compilation:</para> 62 62 63 63 <screen><userinput remap="configure">../libstdc++-v3/configure \ … … 76 76 <term><parameter>--host=...</parameter></term> 77 77 <listitem> 78 <para>Specifies that the cross 78 <para>Specifies that the cross-compiler we have just built 79 79 should be used instead of the one in 80 80 <filename>/usr/bin</filename>.</para> … … 94 94 <listitem> 95 95 <para>This specifies the installation directory for include files. 96 Because libstdc++ is the standard C++ library for LFS, this96 Because Libstdc++ is the standard C++ library for LFS, this 97 97 directory should match the location where the C++ compiler 98 98 (<command>$LFS_TGT-g++</command>) would search for the 99 99 standard C++ include files. In a normal build, this information 100 is automatically passed to the libstdc++ <command>configure</command>100 is automatically passed to the Libstdc++ <command>configure</command> 101 101 options from the top level directory. In our case, this information 102 102 must be explicitly given. 103 103 The C++ compiler will prepend the sysroot path 104 <filename class="directory">$LFS</filename> (specified building105 GCC pass1) to the include file search path, so it will actually104 <filename class="directory">$LFS</filename> (specified when building 105 GCC-pass1) to the include file search path, so it will actually 106 106 search in 107 107 <filename class="directory">$LFS/tools/$LFS_TGT/include/c++/&gcc-version;</filename>. 108 108 The combination of the <parameter>DESTDIR</parameter> 109 109 variable (in the <command>make install</command> command below) 110 and this switch ensures to install the headersthere.</para>110 and this switch causes the headers to be installed there.</para> 111 111 </listitem> 112 112 </varlistentry> … … 114 114 </variablelist> 115 115 116 <para>Compile libstdc++ by running:</para>116 <para>Compile Libstdc++ by running:</para> 117 117 118 118 <screen><userinput remap="make">make</userinput></screen> … … 123 123 124 124 <para>Remove the libtool archive files because they are harmful for 125 cross 125 cross-compilation:</para> 126 126 127 127 <screen><userinput remap="install">rm -v $LFS/usr/lib/lib{stdc++,stdc++fs,supc++}.la</userinput></screen>
Note:
See TracChangeset
for help on using the changeset viewer.