| 1234567891011121314151617181920212223242526272829303132333435363738 | <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 fixincludes script from running. Preventing this isnecessary because under normal circumstances the GCC installation will runthe fixincludes script which scans your system for header files that need tobe fixed. It might find that the Glibc header files of your host system needto 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 headerfiles in <filename>/usr/include</filename>. Next you will install otherprograms 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 usingthe fixed Glibc header files from your host distribution, which are probablyincompatible with the Glibc version actually used on the LFS system.</para><para><userinput>ln -s gcc $LFS/static/bin/cc:</userinput> Thiscreates the $LFS/static/bin/gcc symlink, which some packages need.</para></sect2>
 |