source: clfs-embedded/BOOK/cross-tools/common/gcc-final.xml @ cb6aa5b

Last change on this file since cb6aa5b was cb6aa5b, checked in by Andrew Bradford <andrew@…>, 11 years ago

gcc-final: Don't copy libgcc anywhere, yet

We want to separate cross tools build from target fs.

  • Property mode set to 100644
File size: 5.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4  <!ENTITY % general-entities SYSTEM "../../general.ent">
5  %general-entities;
6]>
7
8<!-- Common GCC-Final -->
9
10<sect1 id="ch-cross-tools-gcc-final" role="wrap">
11  <?dbhtml filename="gcc-final.html"?>
12
13  <title>GCC-&gcc-version; - Cross Compiler Final</title>
14
15  <indexterm zone="ch-cross-tools-gcc-final">
16    <primary sortas="a-GCC">GCC</primary>
17    <secondary>cross tools, final</secondary>
18  </indexterm>
19
20  <xi:include role="package" xmlns:xi="http://www.w3.org/2003/XInclude"
21  href="gcc-static.xml"
22  xpointer="xpointer(//*[@role='package'])"/>
23
24  <sect2 role="installation">
25    <title>Installation of GCC Cross Compiler</title>
26
27    <para os="b">GCC requires the GMP, MPFR, and MPC packages to either be
28    present on the host or to be present in source form within the gcc source
29    tree.  Unpack these into the GCC directory after unpacking GCC:</para>
30
31<screen os="ba"><userinput>tar xf ../mpfr-&mpfr-version;.tar.bz2
32mv -v mpfr-&mpfr-version; mpfr
33tar xf ../gmp-&gmp-version;.tar.bz2
34mv -v gmp-&gmp-version; gmp
35tar xf ../mpc-&mpc-version;.tar.gz
36mv -v mpc-&mpc-version; mpc</userinput></screen>
37
38    <xi:include os="c" xmlns:xi="http://www.w3.org/2003/XInclude"
39    href="gcc-static.xml"
40    xpointer="xpointer(//*[@os='c'])"/>
41
42    <xi:include os="d" xmlns:xi="http://www.w3.org/2003/XInclude"
43    href="gcc-static.xml"
44    xpointer="xpointer(//*[@os='d'])"/>
45
46    <xi:include os="e" xmlns:xi="http://www.w3.org/2003/XInclude"
47    href="gcc-static.xml"
48    xpointer="xpointer(//*[@os='e'])"/>
49
50    <note os="f"><para>If you would like to build a C++ compiler in addition
51    to the C compiler, change the following --enable-languages=c option to be
52    --enable-languages=c,c++ instead.  A C++ compiler is not required for
53    any of the software included in this book.</para></note>
54
55<!-- This is the common configure line for GCC-Final -->
56<!-- It's not actually used by any arch but is here for reference. -->
57<screen os="ae"><userinput>../gcc-&gcc-version;/configure \
58  --prefix=${CLFS}/cross-tools \
59  --build=${CLFS_HOST} \
60  --target=${CLFS_TARGET} \
61  --host=${CLFS_HOST} \
62  --with-sysroot=${CLFS}/cross-tools/sysroot \
63  --disable-nls \
64  --enable-languages=c \
65  --enable-c99 \
66  --enable-long-long \
67  --disable-libmudflap \
68  --with-mpfr=${CLFS}/cross-tools \
69  --with-gmp=${CLFS}/cross-tools \
70  --with-mpc=${CLFS}/cross-tools \
71  --disable-multilib</userinput></screen>
72
73    <variablelist os="af">
74      <title>The meaning of the configure options not used previously:</title>
75
76      <varlistentry os="af2">
77        <term><parameter>--enable-c99</parameter></term>
78        <listitem>
79          <para>Enable C99 support for C programs.</para>
80        </listitem>
81      </varlistentry>
82
83      <varlistentry os="af3">
84        <term><parameter>--enable-long-long</parameter></term>
85        <listitem>
86          <para>Enables long long support in the compiler.</para>
87        </listitem>
88      </varlistentry>
89
90    </variablelist>
91
92    <xi:include os="ah" xmlns:xi="http://www.w3.org/2003/XInclude"
93    href="gcc-static.xml"
94    xpointer="xpointer(//*[@os='ah'])"/>
95
96<screen os="ai"><userinput>make</userinput></screen>
97
98    <xi:include os="aj" xmlns:xi="http://www.w3.org/2003/XInclude"
99    href="gcc-static.xml"
100    xpointer="xpointer(//*[@os='aj'])"/>
101
102<screen os="ak"><userinput>make install</userinput></screen>
103
104  </sect2>
105
106  <sect2 id="contents-gcc" role="content">
107    <title>Contents of GCC</title>
108
109    <segmentedlist>
110      <segtitle>Installed programs</segtitle>
111      <segtitle>Installed libraries</segtitle>
112
113      <seglistitem>
114        <seg>cc (link to gcc), gcc, gccbug, and gcov</seg>
115        <seg>libgcc.a, libgcc_eh.a, and libgcc_s.so</seg>
116      </seglistitem>
117    </segmentedlist>
118
119    <variablelist>
120      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
121      <?dbfo list-presentation="list"?>
122      <?dbhtml list-presentation="table"?>
123
124      <varlistentry id="cc">
125        <term><command>cc</command></term>
126        <listitem>
127          <para>The C compiler</para>
128          <indexterm zone="ch-cross-tools-gcc-final cc">
129            <primary sortas="b-cc">cc</primary>
130          </indexterm>
131        </listitem>
132      </varlistentry>
133
134      <varlistentry id="gcc">
135        <term><command>gcc</command></term>
136        <listitem>
137          <para>The C compiler</para>
138          <indexterm zone="ch-cross-tools-gcc-final gcc">
139            <primary sortas="b-gcc">gcc</primary>
140          </indexterm>
141        </listitem>
142      </varlistentry>
143
144      <varlistentry id="gccbug">
145        <term><command>gccbug</command></term>
146        <listitem>
147          <para>A shell script used to help create useful bug reports</para>
148          <indexterm zone="ch-cross-tools-gcc-final gccbug">
149            <primary sortas="b-gccbug">gccbug</primary>
150          </indexterm>
151        </listitem>
152      </varlistentry>
153
154      <varlistentry id="gcov">
155        <term><command>gcov</command></term>
156        <listitem>
157          <para>A coverage testing tool; it is used to analyze programs to
158          determine where optimizations will have the most effect</para>
159          <indexterm zone="ch-cross-tools-gcc-final gcov">
160            <primary sortas="b-gcov">gcov</primary>
161          </indexterm>
162        </listitem>
163      </varlistentry>
164
165      <varlistentry id="libgcc">
166        <term><filename class="libraryfile">libgcc</filename></term>
167        <listitem>
168          <para>Contains run-time support for <command>gcc</command></para>
169          <indexterm zone="ch-cross-tools-gcc-final libgcc">
170            <primary sortas="c-libgcc*">libgcc*</primary>
171          </indexterm>
172        </listitem>
173      </varlistentry>
174
175    </variablelist>
176
177  </sect2>
178
179</sect1>
Note: See TracBrowser for help on using the repository browser.