cvs commit: LFS/BOOK/entities gcc.ent

timothy at timothy at
Wed Jan 15 08:06:56 PST 2003

timothy     03/01/15 11:06:56

  Modified:    BOOK/appendixa gcc-shortdesc.xml
               BOOK/chapter06 gcc-inst.xml gcc.xml
               BOOK/entities gcc.ent
  Removed:     BOOK/chapter06 gcc-exp.xml
  Converted dynamic gcc page to new layout.
  Revision  Changes    Path
  1.2       +2 -2      LFS/BOOK/appendixa/gcc-shortdesc.xml
  Index: gcc-shortdesc.xml
  RCS file: /home/cvsroot/LFS/BOOK/appendixa/gcc-shortdesc.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- gcc-shortdesc.xml	11 Jan 2003 18:04:51 -0000	1.1
  +++ gcc-shortdesc.xml	15 Jan 2003 16:06:56 -0000	1.2
  @@ -2,8 +2,8 @@
   <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>The GCC package contains the GNU compiler collection, including
  +the C and C++ compilers.</para>
   <para>GCC installs the following files:</para>
  1.38      +61 -13    LFS/BOOK/chapter06/gcc-inst.xml
  Index: gcc-inst.xml
  RCS file: /home/cvsroot/LFS/BOOK/chapter06/gcc-inst.xml,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- gcc-inst.xml	15 Dec 2002 21:32:51 -0000	1.37
  +++ gcc-inst.xml	15 Jan 2003 16:06:56 -0000	1.38
  @@ -1,3 +1,5 @@
  +<sect2><title> </title><para> </para></sect2>
   <title>Installation of GCC</title>
  @@ -8,21 +10,67 @@
   recommend unsetting or modifying them when building GCC. You have
   been warned.</para>
  -<para>Install GCC by running the following commands. These commands will
  -build the C and C++ compilers, so you'll need to unpack both the gcc-core
  -and gcc-g++ tarballs. Other compilers are available in the full gcc package;
  -instructions for building them may be found at
  -<ulink url="&blfs-root;view/cvs/general/gcc.html"/>.</para>
  +<para>We will be building the C and C++ compilers at this time, so you'll
  +need to unpack both the gcc-core and gcc-g++ tarballs. Other compilers are
  +available in the full gcc package; instructions for building them may be
  +found at <ulink url="&blfs-root;view/cvs/general/gcc.html"/>.</para>
  +<para>It is recommended by the GCC installation documentation to build GCC
  +in a dedicated directory outside of the source tree. Create the build
   <para><screen><userinput>mkdir ../gcc-build &&
  -cd ../gcc-build &&
  -../gcc-&gcc-version;/configure --prefix=/usr --enable-shared \
  +cd ../gcc-build</userinput></screen></para>
  +<para>Prepare GCC to be compiled:</para>
  +<para><screen><userinput>../gcc-&gcc-version;/configure --prefix=/usr --enable-shared \
       --enable-threads=posix --with-slibdir=/lib \
  -    --enable-__cxa_atexit --enable-clocale=gnu &&
  -make bootstrap &&
  -make install &&
  -ln -s ../usr/bin/cpp /lib &&
  -ln -s ../bin/cpp /usr/lib &&
  -ln -s gcc /usr/bin/cc</userinput></screen></para>
  +    --enable-__cxa_atexit --enable-clocale=gnu</userinput></screen></para>
  +<para>The meanings of the configure options are:</para>
  +<listitem><para><userinput>--enable-threads=posix:</userinput> This enables
  +C++ exception handling for multi-threaded code.</para></listitem>
  +<listitem><para><userinput>--enable-__cxa_atexit:</userinput> This option
  +will result in C++ shared libraries and C++ programs that are interoperable
  +with other Linux distributions.</para></listitem>
  +<listitem><para><userinput>--enable-clocale=gnu:</userinput> There is a risk
  +that some people will build ABI incompatible C++ libraries if they didn't
  +install all of the glibc localedata. Using --enable-clocale=gnu ensures that
  +the "right thing" is done in all cases. If you don't wish to use this option,
  +then at least build the <emphasis>de_DE</emphasis> locale. When GCC finds
  +this specific locale, then the correct locale mode (<emphasis>gnu</emphasis>)
  +is implemented.</para></listitem>
  +<para>Continue with compiling the package:</para>
  +<para><screen><userinput>make bootstrap</userinput></screen></para>
  +<para>The <emphasis>bootstrap</emphasis> target doesn't just compile GCC, but
  +it compiles GCC a multiple times. It uses the first compiled programs to
  +compile itself a second and third time to make sure the compiler was compiled
  +<para>Finish installing the package:</para>
  +<para><screen><userinput>make install</userinput></screen></para>
  +<para>Some packages require that the C++ compiler be installed in the
  +<filename>/lib</filename> and <filename>/usr/lib</filename> directories.
  +To honor those packages, create two symlinks:</para>
  +<para><screen><userinput>ln -s ../usr/bin/cpp /lib &&
  +ln -s ../bin/cpp /usr/lib</userinput></screen></para>
  +<para>Many packages compile using <emphasis>cc</emphasis> as the name for
  +the C compiler. To satisfy those packages, create a <emphasis>cc</emphasis>
  +<para><screen><userinput>ln -s gcc /usr/bin/cc</userinput></screen></para>
  1.12      +2 -3      LFS/BOOK/chapter06/gcc.xml
  Index: gcc.xml
  RCS file: /home/cvsroot/LFS/BOOK/chapter06/gcc.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- gcc.xml	30 Aug 2002 23:08:48 -0000	1.11
  +++ gcc.xml	15 Jan 2003 16:06:56 -0000	1.12
  @@ -5,10 +5,9 @@
   <screen>Estimated build time:           &gcc-time;
   Estimated required disk space:  &gcc-compsize;</screen>
  1.13      +0 -1      LFS/BOOK/entities/gcc.ent
  Index: gcc.ent
  RCS file: /home/cvsroot/LFS/BOOK/entities/gcc.ent,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- gcc.ent	11 Jan 2003 18:04:52 -0000	1.12
  +++ gcc.ent	15 Jan 2003 16:06:56 -0000	1.13
  @@ -6,7 +6,6 @@
   <!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">
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