| 1234567891011121314151617181920212223242526272829303132333435363738 | <sect2><title>Command explanations</title><para><userinput>patch -Np1 -i ../gcc-&gcc-patch-version;.patch:</userinput>This patch fixes a few bugs. In particular it contains the "copy fix" and"var fix" documented at <ulink url="http://www.zipworld.com.au/~gschafer/lfs-tweaks.html"/>.</para><para><userinput>patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch:</userinput>This prevents the fixincludes script from running. This is needed becauseunder normal circumstances the GCC installation will run the fixincludesscripts which scans your system for header files that need to be fixed. Sayit 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 youwill install Glibc which will install header files in /usr/include. Nextyou will install other programs which will use Glibc headers. GCC will lookin /static/lib/gcc-lib before looking in /usr/include, whichhas the resultof Glibc header files from your host distribution being found and used whichare probably incompatible with the Glibc version actually in use on the LFSsystem.</para><para><userinput>--prefix=/static:</userinput> This is NOT a typo. GCC hardcodes some paths while compiling and so we need to pass /static as theprefix during ./configure. We pass the real install prefix during themake install command later.</para><para><userinput>echo "#define HAVE_GAS_HIDDEN 1":</userinput>This defines the .hidden assembler directive so that we don't builda faulty Glibc later on.</para><para><userinput>make BOOT_LDFLAGS=-static:</userinput>This is the equivalent to make LDFLAGS=-static as we use with otherpackages to compile them statically.</para><para><userinput>ln -s gcc $LFS/static/bin/cc:</userinput> Thiscreates the $LFS/static/bin/gcc symlink, which some packages need.</para></sect2>
 |