mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-16 01:43:35 +00:00
132 lines
4.7 KiB
Plaintext
132 lines
4.7 KiB
Plaintext
-----------------------------------------------------------------------------
|
|
|
|
INTRODUCTION
|
|
|
|
Mercury has been ported to Windows 95 and Windows NT using the "Cygwin"
|
|
(formerly also known as "Cygwin32" and "gnu-win32") Unix emulation
|
|
package from Cygnus. It should work on Windows 98 too, but we haven't
|
|
tested that.
|
|
|
|
This file documents how to build the source distribution
|
|
of Mercury on Windows using Cygwin.
|
|
|
|
(Note: we don't have any plans for a port to Windows 3.1.)
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
PREPARATION
|
|
|
|
To use or build Mercury on Windows, you need to first get Cygwin
|
|
from Cygnus, and install it.
|
|
|
|
If you're going to use a binary distribution of Mercury for Windows,
|
|
you need to make sure that you get a version of Cygwin that is
|
|
compatible with the one that the binary distribution was compiled
|
|
with. This will normally be specified in the filename of the
|
|
Mercury binary distribution. For example, if the file name is
|
|
mercury-0.8.1.pc-windows-cygwin-b20.1.tar.gz then you need version
|
|
b20.1 of Cygwin.
|
|
|
|
The version of gcc that came with Cygwin version b19 (and b19.1),
|
|
called `gcc 2.7-b19', had a bug which causes it to generate incorrect
|
|
code when compiling Mercury. So if you want to use Cygwin version b19,
|
|
then you need to also install a version of gcc that has this bug fixed,
|
|
such as egcs version 1.0.2 or later. It's probably simpler to just
|
|
get version b20.1 or later of Cygwin.
|
|
|
|
You can download Cygwin from <http://sourceware.cygnus.com/cygwin/>.
|
|
Follow the installation instructions that come with Cygwin.
|
|
Make sure that the Cygwin binaries are in your PATH, that you have
|
|
a /tmp directory, that you have a copy of sh.exe in /bin.
|
|
Before continuing, check that `sh' and `gcc' work.
|
|
|
|
For more information on Cygwin, see the Cygwin web site mentioned above.
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
RUNNING CONFIGURE
|
|
|
|
Configure with
|
|
|
|
sh configure
|
|
|
|
as described in the INSTALL file.
|
|
|
|
Reportedly running configure sometimes results in permission errors,
|
|
but apparently the errors go away if you run configure a second time.
|
|
This is probably due to a bug in Cygwin.
|
|
|
|
If you are using Cygwin version b18, and you want to use the
|
|
`--prefix' option to configure to install Mercury onto a different
|
|
drive, then you should probably first use the `mount' command to
|
|
mount that drive (e.g. `mount d:/ /d'), and use the mount name
|
|
(e.g.`configure --prefix /d/foo'), rather than using the `//d' notation
|
|
(e.g. --prefix //d/foo'). We got a report that using the `//d' notation
|
|
(a Cygwin feature: this is supposed to name the root directory of
|
|
drive `d') does not work with the version of gcc included with Cygwin
|
|
version b18. In addition, support for the `//d' notation is going to be
|
|
dropped from future versions of Cygwin.
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
RUNNING MAKE
|
|
|
|
Due to bugs in Cygwin, you need to apply the
|
|
patches which are listed at the end of this file:
|
|
|
|
patch < README.MS-Windows
|
|
|
|
Also, the date-stamps seem to get screwed up by Cygwin;
|
|
to avoid errors about `mercury_compile: Command not found',
|
|
or `makeinfo: Command not found', you need to do the following:
|
|
|
|
touch configure
|
|
make touch_files
|
|
|
|
Then do
|
|
|
|
make
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
RUNNING MAKE INSTALL
|
|
|
|
Just type
|
|
|
|
make install
|
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
USING MERCURY
|
|
|
|
Once you've finished installing, you need to add the appropriate
|
|
directory, normally /usr/local/mercury-<VERSION>/bin, to your PATH.
|
|
|
|
You should be able to read the HTML version of the Mercury
|
|
documentation, which by default gets installed in
|
|
/usr/local/mercury-<VERSION>/lib/mercury/html, using Netscape
|
|
or MS Internet Explorer. Or you can get a copy of GNU Emacs
|
|
for NT and use it to browse the INFO version.
|
|
|
|
If you use mmake files named `Mmake' rather than `Mmakefile',
|
|
there can be some problems with case-insensitive filenames
|
|
and the name clash between `mmake' and `Mmake'. If you run into any
|
|
such problems, rename your `Mmake' file to `Mmakefile'.
|
|
|
|
-----------------------------------------------------------------------------
|
|
-----------------------------------------------------------------------------
|
|
|
|
--- Mmakefile Sat Feb 7 02:48:13 1998
|
|
+++ Mmakefile.windows Sat Feb 7 02:49:58 1998
|
|
@@ -23,8 +23,8 @@
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
# For Windows 95 or Windows NT, uncomment the following two lines:
|
|
-# PREINSTALL_HACK = preinstall_hack_for_windows
|
|
-# POSTINSTALL_HACK = postinstall_hack_for_windows
|
|
+PREINSTALL_HACK = preinstall_hack_for_windows
|
|
+POSTINSTALL_HACK = postinstall_hack_for_windows
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|