|
@@ -43,29 +43,17 @@
|
|
|
<sect2 role="installation">
|
|
|
<title>Installation of GCC</title>
|
|
|
|
|
|
- <para>Our first build of GCC has installed a couple of internal system
|
|
|
- headers. Normally one of them, <filename>limits.h</filename>, will in turn
|
|
|
- include the corresponding system <filename>limits.h</filename> header, in
|
|
|
- this case, <filename>/tools/include/limits.h</filename>. However, at the
|
|
|
- time of the first build of gcc <filename>/tools/include/limits.h</filename>
|
|
|
- did not exist, so the internal header that GCC installed is a partial,
|
|
|
- self-contained file and does not include the extended features of the
|
|
|
- system header. This was adequate for building the temporary libc, but this
|
|
|
- build of GCC now requires the full internal header. Create a full version
|
|
|
- of the internal header using a command that is identical to what the GCC
|
|
|
- build system does in normal circumstances:</para>
|
|
|
+ <para>As in the first build of GCC, the GMP, MPFR, and MPC packages are
|
|
|
+ required. Unpack the tarballs and move them into the required directory
|
|
|
+ names:</para>
|
|
|
|
|
|
-<screen><userinput remap="pre">cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \
|
|
|
- `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h</userinput></screen>
|
|
|
-<!--
|
|
|
- <para>For x86 machines, the limited number of registers is a bottleneck
|
|
|
- for the system. Free one up by not using a frame pointer that is not
|
|
|
- needed:</para>
|
|
|
+<screen><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
|
|
|
+mv -v mpfr-&mpfr-version; mpfr
|
|
|
+tar -xf ../gmp-&gmp-version;.tar.xz
|
|
|
+mv -v gmp-&gmp-version; gmp
|
|
|
+tar -xf ../mpc-&mpc-version;.tar.gz
|
|
|
+mv -v mpc-&mpc-version; mpc</userinput></screen>
|
|
|
|
|
|
-<screen><userinput remap="pre">case `uname -m` in
|
|
|
- i?86) sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in ;;
|
|
|
-esac</userinput></screen>
|
|
|
--->
|
|
|
<para>Once again, change the location of GCC's default dynamic linker to
|
|
|
use the one installed in <filename
|
|
|
class="directory">/tools</filename>.</para>
|
|
@@ -93,17 +81,29 @@ done</userinput></screen>
|
|
|
;;
|
|
|
esac</userinput></screen>
|
|
|
|
|
|
- <para>As in the first build of GCC it requires the GMP, MPFR and MPC
|
|
|
- packages. Unpack the tarballs and move them into the required directory
|
|
|
- names:</para>
|
|
|
+ <para>Our first build of GCC has installed a couple of internal system
|
|
|
+ headers. Normally one of them, <filename>limits.h</filename>, will in turn
|
|
|
+ include the corresponding system <filename>limits.h</filename> header, in
|
|
|
+ this case, <filename>/tools/include/limits.h</filename>. However, at the
|
|
|
+ time of the first build of gcc <filename>/tools/include/limits.h</filename>
|
|
|
+ did not exist, so the internal header that GCC installed is a partial,
|
|
|
+ self-contained file and does not include the extended features of the
|
|
|
+ system header. This was adequate for building the temporary libc, but this
|
|
|
+ build of GCC now requires the full internal header. Create a full version
|
|
|
+ of the internal header using a command that is identical to what the GCC
|
|
|
+ build system does in normal circumstances:</para>
|
|
|
|
|
|
-<screen><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
|
|
|
-mv -v mpfr-&mpfr-version; mpfr
|
|
|
-tar -xf ../gmp-&gmp-version;.tar.xz
|
|
|
-mv -v gmp-&gmp-version; gmp
|
|
|
-tar -xf ../mpc-&mpc-version;.tar.gz
|
|
|
-mv -v mpc-&mpc-version; mpc</userinput></screen>
|
|
|
+<screen><userinput remap="pre">cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \
|
|
|
+ `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h</userinput></screen>
|
|
|
+<!--
|
|
|
+ <para>For x86 machines, the limited number of registers is a bottleneck
|
|
|
+ for the system. Free one up by not using a frame pointer that is not
|
|
|
+ needed:</para>
|
|
|
|
|
|
+<screen><userinput remap="pre">case `uname -m` in
|
|
|
+ i?86) sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in ;;
|
|
|
+esac</userinput></screen>
|
|
|
+-->
|
|
|
<para>Create a separate build directory again:</para>
|
|
|
|
|
|
<screen><userinput remap="pre">mkdir -v build
|