123456789101112131415161718192021222324252627282930313233 |
- <sect2>
- <title>Command explanations</title>
- <para><userinput>patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch:</userinput>
- This prevents the fixincludes script from running. This is needed because
- under normal circumstances the GCC installation will run the fixincludes
- scripts which scans your system for header files that need to be fixed. Say
- it finds Glibc header files. It will fix them and will end up in
- $LFS/static/lib/gcc-lib/i686-pc-linux-gnu/3.2. Later on in chapter 6 you
- will install Glibc which will install header files in /usr/include. Next
- you will install other programs which will use Glibc headers. GCC will look
- in /static/lib/gcc-lib before looking in /usr/include, whichhas the result
- of Glibc header files from your host distribution being found and used which
- are probably incompatible with the Glibc version actually in use on the LFS
- system.</para>
- <para><userinput>--prefix=/static:</userinput> This is NOT a typo. GCC hard
- codes some paths while compiling and so we need to pass /static as the
- prefix during ./configure. We pass the real install prefix during the
- make install command later.</para>
- <para><userinput>echo "#define HAVE_GAS_HIDDEN 1":</userinput>
- This defines the .hidden assembler directive so that we don't build
- a faulty Glibc later on.</para>
- <para><userinput>make BOOT_LDFLAGS=-static:</userinput>
- This is the equivalent to make LDFLAGS=-static as we use with other
- packages to compile them statically.</para>
- <para><userinput>ln -s gcc $LFS/static/bin/cc:</userinput> This
- creates the $LFS/static/bin/gcc symlink, which some packages need.</para>
- </sect2>
|