summaryrefslogtreecommitdiff
path: root/gnu/egcs/install/build.html
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>1999-08-23 20:32:32 +0000
committerMarc Espie <espie@cvs.openbsd.org>1999-08-23 20:32:32 +0000
commitef233545e6c3dcf885a8b3178a859a23604b359c (patch)
tree8f4f503c82a377012f9429ed7e24abfbd6aabb98 /gnu/egcs/install/build.html
parent20915043a05410a0247b150f77f71c94c43ce2ae (diff)
Update to gcc 2.95.1, official release.
Diffstat (limited to 'gnu/egcs/install/build.html')
-rw-r--r--gnu/egcs/install/build.html99
1 files changed, 99 insertions, 0 deletions
diff --git a/gnu/egcs/install/build.html b/gnu/egcs/install/build.html
new file mode 100644
index 00000000000..55123828006
--- /dev/null
+++ b/gnu/egcs/install/build.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<title>Installing GCC: Building</title>
+</head>
+<body>
+<h1 align="center">Installing GCC: Building</h1>
+
+<p>Now that GCC is configured, you are ready to build the compiler and
+runtime libraries.
+
+<p>We <b>highly</b> recommend that GCC be built using GNU make; other
+versions may work, then again they might not. To be safe build with GNU make.
+
+<h2>Building a native compiler</h2>
+
+<p>For a native build issue the command `<code>make bootstrap</code>'. This
+will build the entire GCC system, which includes the following steps:
+
+<ul>
+ <li> Build host tools necessary to build the compiler such as texinfo, bison,
+ gperf.<p>
+
+ <li> Build target tools for use by the compiler such as gas, gld, and
+ binutils if they have been properly unpacked into the GCC source tree.<p>
+
+ <li> Perform a 3-stage bootstrap of the compiler.<p>
+
+ <li> Perform a comparison test of the stage2 and stage3 compilers.<p>
+
+ <li> Build runtime libraries using the stage3 compiler from the previous
+ step.
+</ul>
+
+<p>If you are short on disk space you might consider `<code>make
+bootstrap-lean</code>' instead. This is identical to `<code>make
+bootstrap</code>' except that object files from the stage1 and
+stage2 of the 3-stage bootstrap of the compiler are deleted as
+soon as they are no longer needed.
+
+<p>If you want to save additional space during the bootstrap and in
+the final installation as well, you can build the compiler binaries
+without debugging information with "make CFLAGS='-O' LIBCFLAGS='-g
+-O2' LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap". This will save
+roughly 40% of disk space both for the bootstrap and the final installation.
+(Libraries will still contain debugging information.)
+
+<p>If you used the flag <code>--enable-languages=...</code> to restrict
+the compilers to be built, only those you've actually enabled will be
+built. This will of course only build those runtime libraries, for
+which the particular compiler has been built. Please note,
+that re-defining LANGUAGES when calling `<code>make bootstrap</code>'
+<b>*does not*</b> work anymore!
+
+<h2>Building a cross compiler</h2>
+
+<p> We recommend reading the
+<a href="http://www.objsw.com/CrossGCC/">
+crossgcc FAQ</a> for information about building cross compilers.
+
+<p>When building a cross compiler, it is not generally possible to do a
+3-stage bootstrap of the compiler. This makes for an interesting problem
+as parts of GCC can only be built with GCC.
+
+<p>To build a cross compiler, we first recommend building and installing a
+native compiler. You can then use the native GCC compiler to build the
+cross compiler.
+
+<p>Assuming you have already installed a native copy of GCC and configured
+your corss compiler, issue the command "make", which performs the
+following steps:
+<ul>
+ <li> Build host tools necessary to build the compiler such as texinfo, bison,
+ gperf.<p>
+
+ <li> Build target tools for use by the compiler such as gas, gld, and
+ binutils if they have been properly unpacked into the GCC source tree.<p>
+
+ <li> Build the compiler (single stage only).<p>
+
+ <li> Build runtime libraries using the compiler from the previous
+ step.
+</ul>
+
+<p>Note that if an error occurs in any step the make process will exit.
+
+<h2>Building in parallel</h2>
+
+<p> If you have a multiprocessor you can use `<code>make bootstrap
+MAKE="make -j 2" -j 2</code>' instead of just `<code>make bootstrap</code>'
+when building GCC. You can use a bigger number instead of two if
+you like. In most cases, it won't help to use a number bigger than
+the number of processors in your machine.
+
+<p>
+<hr>
+<i>Last modified on July 16, 1999.</i>
+
+</body>
+</html>