| 123456789101112131415161718192021222324252627282930313233343536 | <sect2><title>Command explanations</title><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>--with-as and --with-ld:</userinput> GCC can bemiscompiled if your host distribution's Binutils package is quite old. Weneed a good working static GCC until we reinstall GCC later in chapter 6.So by using <filename>as</filename> and <filename>ld</filename> from theBinutils package we just compiled we ensure that GCC will workcorrectly.</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>make install-no-fixedincludes:</userinput>This prevents the fixed header files from being installed. This is neededbecause under normal circumstances the GCC installation will run thefixincludes scripts which scans your system for header files that need to befixed. Say it finds Glibc header files. It will fix them and will end up in$LFS/static/lib/gcc-lib/i686-pc-linux-gnu/ 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, which has 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>ln -s gcc $LFS/static/bin/cc:</userinput> Thiscreates the $LFS/static/bin/gcc symlink, which some packages need.</para></sect2>
 |