2001-01-24 00:31:17 +00:00
|
|
|
<sect2>
|
|
|
|
<title>Command explanations</title>
|
|
|
|
|
2002-09-28 22:08:29 +01:00
|
|
|
<para><userinput>--prefix=/static:</userinput> This is NOT a typo. GCC hard
|
2002-06-07 19:10:18 +01:00
|
|
|
codes some paths while compiling and so we need to pass /static as the
|
2002-09-28 22:08:29 +01:00
|
|
|
prefix during ./configure. We pass the real install prefix during the
|
2001-08-14 18:29:29 +01:00
|
|
|
make install command later.</para>
|
|
|
|
|
2002-12-31 15:45:00 +00:00
|
|
|
<para><userinput>--with-as and --with-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 just compiled we ensure that GCC will work
|
|
|
|
correctly.</para>
|
2002-08-27 00:43:23 +01:00
|
|
|
|
2002-12-30 03:12:54 +00:00
|
|
|
<para><userinput>make BOOT_LDFLAGS="-static":</userinput>
|
|
|
|
This is the equivalent to make LDFLAGS="-static" as we use with other
|
2002-08-27 00:43:23 +01:00
|
|
|
packages to compile them statically.</para>
|
2002-07-29 19:12:02 +01:00
|
|
|
|
2002-12-31 15:45:00 +00:00
|
|
|
<para><userinput>make install-no-fixedincludes:</userinput>
|
2003-01-03 02:57:38 +00:00
|
|
|
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 system.</para>
|
2002-12-31 15:45:00 +00:00
|
|
|
|
2002-06-06 18:53:34 +01:00
|
|
|
<para><userinput>ln -s gcc $LFS/static/bin/cc:</userinput> This
|
2002-09-24 05:52:43 +01:00
|
|
|
creates the $LFS/static/bin/gcc symlink, which some packages need.</para>
|
2001-01-24 00:31:17 +00:00
|
|
|
|
|
|
|
</sect2>
|