[project @ 2001-08-23 10:36:50 by sewardj]
[ghc-hetmet.git] / docs / building / building.sgml
index cf116dc..d85c426 100644 (file)
@@ -50,11 +50,12 @@ as suggested:
 <Term><IndexTerm><Primary>Binary distribution</Primary></IndexTerm>Binary distribution.</Term>
 <ListItem>
 <para>
-If your only purpose is to install some of the <Literal>fptools</Literal> suite then the easiest thing to do is to get a binary distribution. In the
-binary distribution everything is pre-compiled for your particular
-machine architecture and operating system, so all you should have to
-do is install the binaries and libraries in suitable places. The user guide
-describes how to do this.
+If your only purpose is to install some of the
+<Literal>fptools</Literal> suite then the easiest thing to do is to
+get a binary distribution. In the binary distribution everything is
+pre-compiled for your particular machine architecture and operating
+system, so all you should have to do is install the binaries and
+libraries in suitable places. The user guide describes how to do this.
 </para>
 
 <para>
@@ -154,7 +155,7 @@ of this manual in detail.</para>
 </Sect1>
 
 <Sect1 id="sec-build-checks">
-<Title>Things to check before you start typing</Title>
+<Title>Things to check before you start</Title>
 
 <para>
 Here's a list of things to check before you get started.
@@ -339,7 +340,7 @@ Works registerised.  No native-code generator.
 <IndexTerm><Primary>i386-*-linux</Primary></IndexTerm>
 <ListItem>
 
-<para>GHC works registerised, has a native code generator.  You
+<para>GHC works registerised and has a native code generator.  You
 <Emphasis>must</Emphasis> have GCC 2.7.x or later.  NOTE about
 <literal>glibc</literal> versions: GHC binaries built on a system
 running <literal>glibc 2.0</literal> won't work on a system running
@@ -449,16 +450,14 @@ script will tell you if you are missing something.
 <IndexTerm><Primary>Perl, pre-supposed</Primary></IndexTerm>
 <ListItem>
 <para>
-<Emphasis>You have to have Perl to proceed!</Emphasis> Perl is a
-language quite good for doing shell-scripty tasks that involve lots of
-text processing.  It is pretty easy to install.
+<Emphasis>You have to have Perl to proceed!</Emphasis>
+It is pretty easy to install.
 </para>
 
 <para>
 Perl&nbsp;5 is required.  For Win32 platforms, you should use the binary
-supplied in the InstallShield (copy it to <filename>cygwin/bin</filename>).
-The Cygwin-supplied Perl seems not to work (it has problems with line
-endings).
+supplied in the InstallShield (copy it to <filename>/bin</filename>).
+The Cygwin-supplied Perl seems not to work.
 </para>
 
 <para>
@@ -960,7 +959,7 @@ You set the configuration using a three-step process.
                  
                <varlistentry>
                  <term><literal>--with-hc=<parameter>path</parameter></literal></term>
-                 <indexterm><primary><literal>--with-hhc</literal></primary>
+                 <indexterm><primary><literal>--with-hc</literal></primary>
                  </indexterm>
                  <listitem>
                    <para>Specifies the path to any installed Haskell
@@ -969,6 +968,20 @@ You set the configuration using a three-step process.
                    use <literal>ghc</literal>.</para>
                  </listitem>
                </varlistentry>
+
+               <varlistentry>
+                 <term><literal>--with-gcc=<parameter>path</parameter></literal></term>
+                 <indexterm><primary><literal>--with-gcc</literal></primary>
+                 </indexterm>
+                 <listitem>
+                   <para>Specifies the path to the installed
+                   GCC. This compiler will be used to compile all C
+                   files, <emphasis>except</emphasis> any generated
+                   by the installed Haskell compiler, which will have
+                   its own idea of which C compiler (if any) to use.
+                   The default is to use <literal>gcc</literal>.</para>
+                 </listitem>
+               </varlistentry>
              </variablelist>
 
              <para><command>configure</command> caches the results of
@@ -2653,14 +2666,10 @@ guide) before continuing to read these notes.
 <para>
 Because of various hard-wired infelicities, you need to copy
 <Filename>bash.exe</Filename> (from GHC's <Filename>extra-bin</Filename>
-directory) and <Filename>perl.exe</Filename> (from GHC's
-<Filename>bin</Filename> directory) to <Filename>/bin</Filename> (discover
-where your Cygwin root directory is by typign <Command>mount</Command>). If
-you want to use bash as the shell in Emacs, you need to set the
-<Constant>SHELL</Constant> environment variable to point to
-<Filename>bash.exe</Filename>; similarly, if you want to use CVS, then
-<Constant>CVS_RSH</Constant> must point to <Filename>ssh.exe</Filename>,
-which is also in GHC's <Filename>extra-bin</Filename> directory.
+directory), and <Filename>perl.exe</Filename> and
+<Filename>cat.exe</Filename> (from GHC's <Filename>bin</Filename> directory)
+to <Filename>/bin</Filename> (discover where your Cygwin root directory is
+by typign <Command>mount</Command>).
 </para>
 
 <para>
@@ -2751,7 +2760,7 @@ will look for its <filename>.cvsrc</filename> file.
 
 <ListItem>
 <para>
-<Constant>CVS_RSH</Constant>: <filename>c:/path_to_Cygwin/bin/ssh</filename>
+<Constant>CVS_RSH</Constant>: <filename>c:/path_to_ghc/extra-bin/ssh</filename>
 </para>
 </ListItem>
 
@@ -2767,6 +2776,14 @@ where <Literal>username</Literal> is your userid
 <Constant>CVSEDITOR</Constant>: <filename>bin/gnuclient.exe</filename> if you want to use an Emacs buffer for typing in those long commit messages.
 </para>
 </ListItem>
+
+<ListItem>
+<para>
+<Constant>SHELL</Constant>: To use bash as the shell in Emacs, you need to
+set this to point to <Filename>bash.exe</Filename>.
+</para>
+</ListItem>
+
 </ItemizedList>
 </ListItem>