mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-03-06 06:14:47 +00:00
Use static linked gcc for pass 1 - #2056.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8647 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
3f39abf3be
commit
0eb906581f
@ -40,6 +40,10 @@
|
||||
<listitem>
|
||||
<para>2008-10-12</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[dj] - Changed Chapter 5 GCC Pass 1 build to static. Thanks to
|
||||
Jeremy Huntwork for the suggestion and supporting text.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Added note to Chapter 6 GCC abuot the new include-fixed
|
||||
directory and changed the sample output to match.</para>
|
||||
|
@ -61,8 +61,8 @@ cd ../gcc-build</userinput></screen>
|
||||
<para>Prepare GCC for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC="gcc -B/usr/bin/" ../gcc-&gcc-version;/configure --prefix=/tools \
|
||||
--with-local-prefix=/tools --disable-nls --enable-shared \
|
||||
--enable-languages=c --disable-decimal-float</userinput></screen>
|
||||
--with-local-prefix=/tools --disable-nls --disable-shared \
|
||||
--enable-languages=c</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
@ -90,14 +90,11 @@ cd ../gcc-build</userinput></screen>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-shared</parameter></term>
|
||||
<term><parameter>--disable-shared</parameter></term>
|
||||
<listitem>
|
||||
<para>This switch allows the building of <filename
|
||||
class="libraryfile">libgcc_s.so.1</filename> and
|
||||
<filename class="libraryfile">libgcc_eh.a</filename>.
|
||||
Having <filename class="libraryfile">libgcc_eh.a</filename>
|
||||
available ensures that the configure script for Glibc (the
|
||||
next package we compile) produces the proper results.</para>
|
||||
<para>This switch forces gcc to link its internal libraries
|
||||
statically. We do this to avoid possible issues with the host
|
||||
system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -130,6 +127,17 @@ cd ../gcc-build</userinput></screen>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>Using <parameter>--disable-shared</parameter> means that the
|
||||
<filename>libgcc_eh.a</filename> file isn't created and installed. The
|
||||
Glibc package depends on this library as it uses
|
||||
<parameter>-lgcc_eh</parameter> within its build system. We can satisfy
|
||||
that dependency by creating a symlink to <filename>libgcc.a</filename>,
|
||||
since that file will end up containing the objects normally contained in
|
||||
<filename>libgcc_eh.a</filename>.</para>
|
||||
|
||||
<screen><userinput remap="install">ln -vs libgcc.a `gcc -print-libgcc-file-name | \
|
||||
sed 's/libgcc/&_eh/'`</userinput></screen>
|
||||
|
||||
<para>As a finishing touch, create a symlink. Many programs and scripts
|
||||
run <command>cc</command> instead of <command>gcc</command>, which is
|
||||
used to keep programs generic and therefore usable on all kinds of UNIX
|
||||
|
Loading…
Reference in New Issue
Block a user