Estimated build time: 9.48 SBU Estimated required disk space: 326 MB |
Install GCC by running the following commands:
patch -Np1 -i ../gcc-3.2.patch && patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch && mkdir ../gcc-build && cd ../gcc-build && ../gcc-3.2/configure --prefix=/static --enable-languages=c \ ���--disable-nls --disable-shared && echo "#define HAVE_GAS_HIDDEN 1" >> gcc/auto-host.h && make BOOT_LDFLAGS=-static bootstrap && make prefix=$LFS/static install && ln -s gcc $LFS/static/bin/cc |
patch -Np1 -i ../gcc-3.2.patch: This patch fixes a few bugs. In particular it contains the "copy fix" and "var fix" documented at http://www.zipworld.com.au/~gschafer/lfs-tweaks.html.
patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch: This prevents the fixincludes script from running.
--prefix=/static: 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.
--enable-languages=c: This builds the C compiler. The C++ compiler will be built in Chapter 6, when we rebuild GCC. Other compilers are available as well. If they are needed, the --enable-languages parameter may be omitted.
echo "#define HAVE_GAS_HIDDEN 1": This defines the .hidden assembler directive so that we don't build a faulty Glibc later on.
make BOOT_LDFLAGS=-static: This is the equivalent to make LDFLAGS=-static as we use with other packages to compile them statically.
ln -s gcc $LFS/static/bin/cc: This creates the $LFS/static/bin/gcc symlink, which some packages need.
Last checked against version 3.1.
libgcc.a, libgcc_eh.a, libgcc_s.so, libiberty.a, libstdc++.[a,so], libsupc++.a