cvs commit: LFS/BOOK/entities gcc.ent

gerard at gerard at
Sat Jan 11 10:04:52 PST 2003

gerard      03/01/11 13:04:52

  Modified:    BOOK/appendixa gcc-dep.xml gcc-desc.xml gcc.xml
               BOOK/chapter05 gcc-inst.xml gcc.xml
               BOOK/entities gcc.ent
  Added:       BOOK/appendixa gcc-shortdesc.xml
  Removed:     BOOK/chapter05 gcc-exp.xml
  Redid GCC installation page
  Revision  Changes    Path
  1.8       +2 -0      LFS/BOOK/appendixa/gcc-dep.xml
  Index: gcc-dep.xml
  RCS file: /home/cvsroot/LFS/BOOK/appendixa/gcc-dep.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- gcc-dep.xml	31 Dec 2002 15:44:59 -0000	1.7
  +++ gcc-dep.xml	11 Jan 2003 18:04:51 -0000	1.8
  @@ -1,3 +1,5 @@
  +<sect2><title> </title><para> </para></sect2>
   <title>GCC Installation Dependencies</title>
  1.20      +5 -11     LFS/BOOK/appendixa/gcc-desc.xml
  Index: gcc-desc.xml
  RCS file: /home/cvsroot/LFS/BOOK/appendixa/gcc-desc.xml,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- gcc-desc.xml	28 Sep 2002 21:08:27 -0000	1.19
  +++ gcc-desc.xml	11 Jan 2003 18:04:51 -0000	1.20
  @@ -1,12 +1,10 @@
  -<sect2><title>Contents of GCC</title>
  +<sect2><title> </title><para> </para></sect2>
  -<para>Last checked against version &gcc-contversion;.</para>
  -<sect3><title>Program Files</title>
  -<para>c++, c++filt, cc (link to gcc), cc1, cc1plus, collect2, cpp, cpp0,
  -g++, gcc, gccbug, gcov and tradcpp0</para></sect3>
  +<para>Last checked against version &gcc-contversion;.</para>
  +<sect3><title>Program files descriptions</title>
   <sect4><title>cc, cc1, cc1plus, gcc</title>
   <para>These are the C compiler. A compiler translates source code in
  @@ -49,11 +47,7 @@
  -<sect3><title>Library Files</title>
  -<para>libgcc.a, libgcc_eh.a,, libiberty.a, libstdc++.[a,so], 
  +<sect3><title>Library files descriptions</title>
   <sect4><title>libgcc, libgcc_eh, libgcc_s</title>
   <para>Run-time support files for gcc.</para></sect4>
  1.5       +1 -0      LFS/BOOK/appendixa/gcc.xml
  Index: gcc.xml
  RCS file: /home/cvsroot/LFS/BOOK/appendixa/gcc.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- gcc.xml	15 Dec 2001 14:28:34 -0000	1.4
  +++ gcc.xml	11 Jan 2003 18:04:51 -0000	1.5
  @@ -3,6 +3,7 @@
   <?dbhtml filename="gcc.html" dir="appendixa"?>
  1.1                  LFS/BOOK/appendixa/gcc-shortdesc.xml
  Index: gcc-shortdesc.xml
  <sect2><title>Contents of GCC</title>
  <para>Last checked against version &gcc-contversion;.</para>
  <para>The GCC package contains the GNU compiler collecting, including the C
  and C++ compilers.</para>
  <para>GCC installs the following files:</para>
  <sect3><title>Program Files</title>
  <para>c++, c++filt, cc (link to gcc), cc1, cc1plus, collect2, cpp, cpp0,
  g++, gcc, gccbug, gcov and tradcpp0</para></sect3>
  <sect3><title>Library Files</title>
  <para>libgcc.a, libgcc_eh.a,, libiberty.a, libstdc++.[a,so], 
  1.48      +85 -8     LFS/BOOK/chapter05/gcc-inst.xml
  Index: gcc-inst.xml
  RCS file: /home/cvsroot/LFS/BOOK/chapter05/gcc-inst.xml,v
  retrieving revision 1.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- gcc-inst.xml	31 Dec 2002 23:13:24 -0000	1.47
  +++ gcc-inst.xml	11 Jan 2003 18:04:51 -0000	1.48
  @@ -1,3 +1,5 @@
  +<sect2><title> </title><para> </para></sect2>
   <title>Installation of GCC</title>
  @@ -11,17 +13,92 @@
   recommend unsetting or modifying them when building GCC. You have
   been warned.</para>
  -<para>Install GCC by running the following commands:</para>
  +<para>It is recommended by the GCC installation documentation to build
  +GCC outside of the source directory in a dedicated directory:</para>
  +<para><screen><userinput>mkdir ../gcc-build
  +cd ../gcc-build</userinput></screen></para>
  +<para>Prepare GCC to be compiled:</para>
  -<para><screen><userinput>mkdir ../gcc-build &&
  -cd ../gcc-build &&
  -../gcc-&gcc-version;/configure --prefix=/static \
  +<para><screen><userinput>../gcc-&gcc-version;/configure --prefix=/static \
      --disable-nls --disable-shared \
      --with-as=$LFS/static/bin/as \
  -   --with-ld=$LFS/static/bin/ld &&
  -make BOOT_LDFLAGS="-static" bootstrap &&
  -make prefix=$LFS/static install-no-fixedincludes &&
  -ln -s gcc $LFS/static/bin/cc</userinput></screen></para>
  +   --with-ld=$LFS/static/bin/ld</userinput></screen></para>
  +<para>The meaning of the configure options are:</para>
  +<listitem><para><userinput>--prefix=/static:</userinput> This is NOT a
  +typo. GCC hard codes some paths while compiling and so we need to pass
  +<filename class="directory">/static</filename> as the prefix during the
  +configure stage. We pass the real install prefix during the installation
  +stage later on.</para></listitem>
  +<listitem><para><userinput>--disable-shared:</userinput> This prevents the
  +build of dynamic libraries. They are useless to us at the moment. We'll
  +create them when we reinstall GCC in chapter 6.</para></listitem>
  +<listitem><para><userinput>--with-as=$LFS/static/bin/as and
  +--with-ld=$LFS/static/bin/ld:</userinput> GCC can be miscompiled if your
  +host distribution's Binutils package is quite old. We need a good working
  +static GCC until we reinstall GCC later in chapter 6. So by using
  +<filename>as</filename> and <filename>ld</filename> from the Binutils
  +package we compiled earlier in this chapter we ensure that GCC will work
  +<para>Continue with compiling the package:</para>
  +<para><screen><userinput>make BOOT_LDFLAGS="-static" bootstrap</userinput></screen></para>
  +<para>The meaning of the make options are:</para>
  +<listitem><para><userinput>BOOT_LDFLAGS="-static":</userinput> This is
  +GCC's equivalent to make LDFLAGS="-static" as we use with other packages to
  +compile them statically.</para></listitem>
  +<listitem><para><userinput>bootstrap:</userinput> The
  +<emphasis>bootstrap</emphasis> target doesn't just compile GCC, but it
  +compiles GCC a second time. It uses the first compiled programs to compile
  +itself a second and third time to make sure the compiler compiled properly
  +and can compile itself properly.</para></listitem>
  +<para>And finish off installing the package:</para>
  +<para><screen><userinput>make prefix=$LFS/static install-no-fixedincludes</userinput></screen></para>
  +<para>The meaning of the make option is:</para>
  +<listitem><para><userinput>install-no-fixedincludes:</userinput> This prevents
  +the fixincludes script from running. Preventing this is necessary because
  +under normal circumstances the GCC installation will run the fixincludes
  +script which scans your system for header files that need to be fixed. It
  +might find that the Glibc header files of your host system need to be fixed.
  +If so, it will fix them and put them in
  +<filename>$LFS/static/lib/gcc-lib/i686-pc-linux-gnu/3.2</filename>. Later on
  +in chapter 6 you will install Glibc which will put its header files in
  +<filename>/usr/include</filename>. Next you will install other programs that
  +use the Glibc headers. GCC will look in
  +<filename>/static/lib/gcc-lib</filename> before looking in
  +<filename>/usr/include</filename>, with the result of finding and using the
  +fixed Glibc header files from your host distribution, which are probably
  +incompatible with the Glibc version actually used on the LFS
  +<para>As the finishing touch we'll create the <filename
  +class="symlink">$LFS/static/bin/cc</filename> symlink. A lot of programs
  +and scripts try to run <userinput>cc</userinput> instead of
  +<userinput>gcc</userinput> This is to keep programs generic and usable on
  +all kinds of Unix systems. Not everybody has GNU CC installed. Just running
  +cc (C Compiler) leaves the user free to decide which C compiler to install.
  +The symlink will point to the system's default compiler.</para>
  +<para><screen><userinput>ln -s gcc $LFS/static/bin/cc</userinput></screen></para>
  1.10      +2 -3      LFS/BOOK/chapter05/gcc.xml
  Index: gcc.xml
  RCS file: /home/cvsroot/LFS/BOOK/chapter05/gcc.xml,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- gcc.xml	14 Dec 2001 23:04:46 -0000	1.9
  +++ gcc.xml	11 Jan 2003 18:04:51 -0000	1.10
  @@ -5,10 +5,9 @@
   <screen>Estimated build time:           &gcc-time-static;
   Estimated required disk space:  &gcc-compsize-static;</screen>
  1.12      +1 -1      LFS/BOOK/entities/gcc.ent
  Index: gcc.ent
  RCS file: /home/cvsroot/LFS/BOOK/entities/gcc.ent,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- gcc.ent	30 Dec 2002 04:32:04 -0000	1.11
  +++ gcc.ent	11 Jan 2003 18:04:52 -0000	1.12
  @@ -3,13 +3,13 @@
   <!ENTITY c5-gcc SYSTEM "../chapter05/gcc.xml">
   <!ENTITY c5-gcc-inst SYSTEM "../chapter05/gcc-inst.xml">
  -<!ENTITY c5-gcc-exp SYSTEM "../chapter05/gcc-exp.xml">
   <!ENTITY c6-gcc SYSTEM "../chapter06/gcc.xml">
   <!ENTITY c6-gcc-inst SYSTEM "../chapter06/gcc-inst.xml">
   <!ENTITY c6-gcc-exp SYSTEM "../chapter06/gcc-exp.xml">
   <!ENTITY aa-gcc SYSTEM "../appendixa/gcc.xml">
  +<!ENTITY aa-gcc-shortdesc SYSTEM "../appendixa/gcc-shortdesc.xml">
   <!ENTITY aa-gcc-desc SYSTEM "../appendixa/gcc-desc.xml">
   <!ENTITY aa-gcc-dep SYSTEM "../appendixa/gcc-dep.xml">
   <!ENTITY aa-gcc-down SYSTEM "../appendixa/gcc-down.xml">
Unsubscribe: send email to listar at
and put 'unsubscribe lfs-book' in the subject header of the message

More information about the lfs-book mailing list