diff options
author | Matthew Burgess <matthew@linuxfromscratch.org> | 2013-03-28 17:57:16 +0000 |
---|---|---|
committer | Matthew Burgess <matthew@linuxfromscratch.org> | 2013-03-28 17:57:16 +0000 |
commit | 89afa22870de894c1720f551dbb884f65ff51704 (patch) | |
tree | 14977c8534f8006af2e511ea89717a74cff27067 /chapter05/libstdc++.xml | |
parent | 67fd1a9e4c49c45a3d6b160911f423cfb4816e89 (diff) |
Add libstdc++.xml, missed from r10220.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10226 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter05/libstdc++.xml')
-rw-r--r-- | chapter05/libstdc++.xml | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml new file mode 100644 index 000000000..02c4a05db --- /dev/null +++ b/chapter05/libstdc++.xml @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-libstdcpp" role="wrap"> + <?dbhtml filename="gcc-libstdc++.html"?> + + <sect1info condition="script"> + <productname>libstdc++</productname> + <productnumber>&gcc-version;</productnumber> + <address>&gcc-url;</address> + </sect1info> + + <title>Libstdc++-&gcc-version;</title> + + <indexterm zone="ch-tools-libstdcpp"> + <primary sortas="a-GCC">GCC</primary> + <secondary>tools, libstdc++</secondary> + </indexterm> + + <sect2 role="package"> + <title/> + + <para>Libstdc++ is the standard C++ library. It is needed for the correct + operation of the g++ compiler.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&libstdcpp-ch5-sbu;</seg> + <seg>&libstdcpp-ch5-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of Target Libstdc++</title> + + <note> + <para><application>Libstdc++</application> is part of the GCC sources. + You should first unpack the GCC tarball and change to the + <filename>gcc-&gcc-version;</filename> directory.</para> + </note> + + <para>Create a directory for Libstdc++ and enter it:</para> + +<screen><userinput remap="pre">mkdir -pv ../gcc-build +cd ../gcc-build</userinput></screen> + + <para>Prepare Libstdc++ for compilation:</para> + +<screen><userinput remap="configure">../gcc-&gcc-version;/libstdc++-v3/configure \ + --host=$LFS_TGT \ + --prefix=/tools \ + --disable-multilib \ + --disable-shared \ + --disable-nls \ + --disable-libstdcxx-threads \ + --disable-libstdcxx-pch \ + --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen> + + <variablelist> + <title>The meaning of the configure options:</title> + + <varlistentry> + <term><parameter>--host=...</parameter></term> + <listitem> + <para>Indicates to 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 we have not built the thread C library, the C++ + one cannot be built as well.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--disable-libstdcxx-pch</parameter></term> + <listitem> + <para>This switch prevents the installation of precompiled + include files, which are not needed at this stage.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--with-gxx-include-dir=/tools/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> + options from the toplevel directory. In our case, this information + must be explicitely given.</para> + </listitem> + </varlistentry> + + </variablelist> + + <para>Compile libstdc++ by running:</para> + +<screen><userinput remap="make">make</userinput></screen> + + <para>Install the library:</para> + +<screen><userinput remap="install">make install</userinput></screen> + + </sect2> + + <sect2 role="content"> + <title/> + + <para>Details on this package are located in + <xref linkend="contents-gcc" role="."/></para> + + </sect2> + +</sect1> |