6.11.2. Installation of GCC
        
        
          The following patch contains a number of updates to the 4.4.1
          branch by the GCC developers:
        
        patch -Np1 -i ../gcc-4.4.1-branch_update-1.patch
        
          Apply a sed
          substitution that will suppress the installation of libiberty.a. The version of libiberty.a provided by Binutils will be used
          instead:
        
        cp libiberty/Makefile.in{,.orig}
sed 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in.orig > \
    libiberty/Makefile.in
        
          GCC provides a gccbug
          script which detects at compile time whether mktemp is present, and hardcodes
          the result in a test. If mktemp is not found, the script
          will fall back to using less random names for temporary files.
          mktemp will be
          installed as part of Coreutils later, so the following sed will simulate its presence:
        
        cp gcc/gccbug.in{,.orig}
sed 's/@have_mktemp_command@/yes/' gcc/gccbug.in.orig > gcc/gccbug.in
        
          The fixincludes
          script attempts to "fix" the system headers installed so far. Since
          GCC is cross-compiled expecting the system headers to be in
          /usr/include, the script will be
          looking at the host system's headers. The following sed prevents
          fixincludes from
          running:
        
        cp gcc/Makefile.in{,.orig}
sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in
        
          The GCC documentation recommends building GCC outside of the source
          directory in a dedicated build directory:
        
        mkdir -v ../gcc-build
cd ../gcc-build
        
          Prepare GCC for compilation:
        
        LDFLAGS="-Wl,-rpath-link,${CLFS}/cross-tools/${CLFS_TARGET}/lib" \
    ../gcc-4.4.1/configure --prefix=/usr --libexecdir=/usr/lib \
    --build=${CLFS_HOST} --host=${CLFS_TARGET} --target=${CLFS_TARGET} \
    --enable-shared --enable-threads=posix --enable-__cxa_atexit \
    --enable-c99 --enable-long-long --enable-clocale=gnu \
    --enable-languages=c,c++ --disable-libstdcxx-pch
        
          The following will prevent GCC from looking in the wrong
          directories for headers and libraries:
        
        cp Makefile{,.orig}
sed "/^HOST_\(GMP\|PPL\|CLOOG\)\(LIBS\|INC\)/s:-[IL]/\(lib\|include\)::" \
    Makefile.orig > Makefile
        
          Compile the package:
        
        make
        
          Install the package:
        
        make DESTDIR=${CLFS} install
        
          Some packages expect the C preprocessor to be installed in the
          /lib directory. To support those
          packages, create this symlink:
        
        ln -sfv ../usr/bin/cpp ${CLFS}/lib
        
          Many packages use the name cc to call the C compiler. To
          satisfy those packages, create a symlink:
        
        ln -sfv gcc ${CLFS}/usr/bin/cc