</OrderedList>
-You can make subsequent changes to <filename>mk/build.mk</filename> as often
-as you like. You do not have to run any further configuration
-programs to make these changes take effect.
-In theory you should, however, say <Command>gmake clean</Command>, <Command>gmake all</Command>,
-because configuration option changes could affect anything—but in practice you are likely to know what's affected.
+You can make subsequent changes to <filename>mk/build.mk</filename> as often
+as you like. You do not have to run any further configuration programs to
+make these changes take effect. In theory you should, however, say
+<Command>gmake clean</Command>, <Command>gmake all</Command>, because
+configuration option changes could affect anything—but in practice you
+are likely to know what's affected.
</para>
</Sect2>
</para>
<para>
-Before you start, make sure you've installed the Cygwin packages
-<filename>openssh</filename>, <filename>openssl</filename>,
-<filename>cvs</filename> and <filename>autoconf</filename>.
-</para>
-
-<Sect2><Title>Configuring ssh</Title>
-
-<ItemizedList>
-
-<ListItem>
-<para>
-On a Win2k machine, open up a bash and do
-</para>
-
-<Screen>
-foo$ cd /etc
-foo$ mkpasswd -l > passwd
-</Screen>
-
-<para>
-Check that your login entry is on the first line
-of that file. If not, move it to the top. It's OK
-for 'Administrator' to be the first entry, assuming you are one.
+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.
</para>
<para>
-However, Win9x doesn't support the calls that <Command>mkpasswd</Command> relies on
-(e.g., <Function>NetUserEnum</Function>). If you run <Command>mkpasswd</Command> you
-get errors like:
+Before you start, you need to make sure that the user environment variable
+<Constant>MAKE_MODE</Constant> is set to <Literal>UNIX</Literal>. If you
+don't do this you get very weird messages when you type
+<Command>make</Command>, such as:
</para>
-
<Screen>
-linked to missing export netapi32.dll:NetUserEnum
-</Screen>
+/c: /c: No such file or directory</Screen>
-<para>
-The passwd file is used
-by ssh in a fairly rudimentary manner, so I'd simply
-synthesise/copy an existing Unix <filename>/etc/passwd</filename>, i.e., create
-an <filename>/etc/passwd</filename> file containing the line
-</para>
-
-<Screen>
-<login>::500:513:::/bin/sh
-</Screen>
+<Sect2><Title>Configuring ssh</Title>
-<para>
-where <Literal><login></Literal> is your login id.
-</para>
-</ListItem>
+<ItemizedList>
<ListItem>
<para>
<para>
Try doing <Command>cvs co fpconfig</Command>. All being well, bytes should
start to trickle through, leaving a directory <filename>fptools</filename>
-in your current directory. (You can <Command>rm</Command> it if you don't want to keep it.) The following messages appear to be harmless:
+in your current directory. (You can <Command>rm</Command> it if you don't
+want to keep it.) The following messages appear to be harmless:
</para>
<Screen>
<para>
At this point I found that CVS tried to invoke a little dialogue with
-me (along the lines of `do you want to talk to this host'), but
-somehow bombed out. This was from a bash shell running in emacs.
+me (along the lines of `do you want to talk to this host?'), but
+for some reason bombed out. This was from a bash shell running in Emacs.
I solved this by invoking a Cygnus shell, and running CVS from there.
-Once things are dialogue free, it seems to work OK from within emacs.
+Once things are dialogue free, it seems to work OK from within Emacs.
</para>
</ListItem>