aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05/libstdc++.xml
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2020-06-16 11:56:28 +0000
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2020-06-16 11:56:28 +0000
commit675606bde2ba53946537b42a5aa576692a311621 (patch)
treeaf20c20ce3841c16b24d0b9903af6878a4a0f5a6 /chapter05/libstdc++.xml
parent560065f976e371779928dbf8b9428217f3f57331 (diff)
parent1cd59612d00603c9ce773ad821a15d20bc4fa0b7 (diff)
Split Chapter 5 into three separate chapters.
Implement a new method of cross-building the LFS tool chain and other tools to simplify the method of isolating the new system from the original host. This will be the start of LFS-10.0. Move old trunk/BOOK to branches/old-trunk. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11946 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter05/libstdc++.xml')
-rw-r--r--chapter05/libstdc++.xml47
1 files changed, 20 insertions, 27 deletions
diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml
index 66128aa8a..6dacb059e 100644
--- a/chapter05/libstdc++.xml
+++ b/chapter05/libstdc++.xml
@@ -5,8 +5,8 @@
%general-entities;
]>
-<sect1 id="ch-tools-libstdcpp" role="wrap">
- <?dbhtml filename="gcc-libstdc++.html"?>
+<sect1 id="ch-tools-libstdcpp-pass1" role="wrap">
+ <?dbhtml filename="gcc-libstdc++-pass1.html"?>
<sect1info condition="script">
<productname>gcc-libstdc++</productname>
@@ -14,11 +14,11 @@
<address>&gcc-url;</address>
</sect1info>
- <title>Libstdc++ from GCC-&gcc-version;</title>
+ <title>Libstdc++ from GCC-&gcc-version;, Pass 1</title>
- <indexterm zone="ch-tools-libstdcpp">
+ <indexterm zone="ch-tools-libstdcpp-pass1">
<primary sortas="a-GCC">GCC</primary>
- <secondary>tools, libstdc++</secondary>
+ <secondary>tools, libstdc++ pass 1</secondary>
</indexterm>
<sect2 role="package">
@@ -28,7 +28,8 @@
to compile C++ code
(part of GCC is written in C++), but we had to defer its installation
when we built <xref linkend="ch-tools-gcc-pass1"/>
- because it depends on glibc, which was not yet available in /tools.
+ because it depends on glibc, which was not yet available in the target
+ directory.
</para>
<segmentedlist>
@@ -36,8 +37,8 @@
<segtitle>&diskspace;</segtitle>
<seglistitem>
- <seg>&libstdcpp-ch5-sbu;</seg>
- <seg>&libstdcpp-ch5-du;</seg>
+ <seg>&libstdcpp-tmpp1-sbu;</seg>
+ <seg>&libstdcpp-tmpp1-du;</seg>
</seglistitem>
</segmentedlist>
@@ -52,19 +53,19 @@
<filename>gcc-&gcc-version;</filename> directory.</para>
</note>
- <para>Create a separate build directory for Libstdc++ and enter it:</para>
+ <para>Create a separate build directory for libstdc++ and enter it:</para>
<screen><userinput remap="pre">mkdir -v build
cd build</userinput></screen>
- <para>Prepare Libstdc++ for compilation:</para>
+ <para>Prepare libstdc++ for compilation:</para>
<screen><userinput remap="configure">../libstdc++-v3/configure \
--host=$LFS_TGT \
- --prefix=/tools \
+ --build=$(../config.guess) \
+ --prefix=/usr \
--disable-multilib \
- --disable-nls \<!--
- - -disable-libstdcxx-threads \-->
+ --disable-nls \
--disable-libstdcxx-pch \
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen>
@@ -74,19 +75,11 @@ cd build</userinput></screen>
<varlistentry>
<term><parameter>--host=...</parameter></term>
<listitem>
- <para>Indicates to use the cross compiler we have just built
+ <para>Specifies the use the cross compiler we have just built
instead of the one in <filename>/usr/bin</filename>.</para>
</listitem>
</varlistentry>
- <!--
- <varlistentry>
- <term><parameter>- -disable-libstdcxx-threads</parameter></term>
- <listitem>
- <para>Since gcc-pass1 is built without thread support, the C++
- thread library cannot be built either.</para>
- </listitem>
- </varlistentry>
- -->
+
<varlistentry>
<term><parameter>--disable-libstdcxx-pch</parameter></term>
<listitem>
@@ -98,9 +91,9 @@ cd build</userinput></screen>
<varlistentry>
<term><parameter>--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</parameter></term>
<listitem>
- <para>This is the location where the standard include files are
- searched by the C++ compiler. In a normal build, this information
- is automatically passed to the Libstdc++ <command>configure</command>
+ <para>This is the location where the C++ compiler should search for the
+ standard include files. In a normal build, this information
+ is automatically passed to the libstdc++ <command>configure</command>
options from the top level directory. In our case, this information
must be explicitly given.</para>
</listitem>
@@ -114,7 +107,7 @@ cd build</userinput></screen>
<para>Install the library:</para>
-<screen><userinput remap="install">make install</userinput></screen>
+<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
</sect2>