[m-dev.] diff: bindist fixes -- missing vars and double maintenance.
Tyson Dowd
trd at cs.mu.OZ.AU
Tue Sep 5 14:37:22 AEDT 2000
Hi,
Some fixes for the bindist.
===================================================================
Estimated hours taken: 1
bindist/Mmakefile:
bindist/bindist.README.Linux:
bindist/bindist.README.MS-Windows:
Remove bindist.README.Linux and bindist.README.MS-Windows.
These were causing double maintenance problems.
All they did was substitute the VERSION into the appropriate
places in the document, which isn't very important for these
documents.
bindist/bindist.build_vars.in:
bindist/bindist.configure.in:
Add the new configuration variables that Peter Ross has been
adding recently. If these are not propogated into the
build_vars for the bindist, the scripts in the bindist won't
work properly (for instance, they won't know the correct suffix
for executables when linking).
Index: bindist/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/bindist/Mmakefile,v
retrieving revision 1.26
diff -u -r1.26 Mmakefile
--- bindist/Mmakefile 2000/09/05 03:23:42 1.26
+++ bindist/Mmakefile 2000/09/05 03:33:57
@@ -26,8 +26,11 @@
README_ETC = ../COPYING ../COPYING.LIB ../HISTORY ../LIMITATIONS \
../NEWS ../RELEASE_NOTES ../BUGS ../WORK_IN_PROGRESS \
- ../VERSION ../README.OSF1 ../README.Linux-PPC \
- ../README.Linux-Alpha ../README.Solaris
+ ../VERSION ../README.AIX ../README.BSDI ../README.FreeBSD \
+ ../README.HPUX ../README.IRIX-5 ../README.Linux \
+ ../README.Linux-Alpha ../README.Linux-PPC \
+ ../README.Linux-m68k ../README.MS-VisualC \
+ ../README.MS-Windows ../README.OSF1 ../README.Solaris
SCRIPT_FILES = ../scripts/*.in ../scripts/*.sh-subr \
../scripts/Mmake.rules \
@@ -35,7 +38,9 @@
CONFIG_FILES = ../config.sub ../config.guess ../install-sh
-MISC_FILES = INSTALL README README.Linux README.MS-Windows \
+# These files have a local version bindist.$filename which will be
+# preprocessed to create the final version.
+MISC_FILES = INSTALL README \
build_vars Makefile.in configure configure.in
#-----------------------------------------------------------------------------#
Index: bindist/bindist.README.Linux
===================================================================
RCS file: bindist.README.Linux
diff -N bindist.README.Linux
--- /tmp/cvs067jry Tue Sep 5 14:34:24 2000
+++ /dev/null Tue May 16 14:50:59 2000
@@ -1,38 +0,0 @@
-This file documents just the Linux/x86 port.
-For the Linux/PowerPC port, see README.Linux-PPC.
-For the Linux/Alpha port, see README.Linux-Alpha.
-(Ports to Linux on other architectures have not yet
-been attempted, but should not be difficult.)
-
-On Linux with ELF, shared libraries are supported. However, ELF shared
-libraries require position-independent code, and (partly due to
-limitations in our current compilation technology, but partly due to
-limitations in the x86 architecture) this is quite costly for Mercury --
-probably considerably more costly than it is for C.
-
-Nevertheless, since shared libraries reduces disk usage, improve link
-times, and allow run-time sharing of the Mercury libraries between
-different applications, using them is a good idea.
-
-Currently the default is that programs do *not* use the Mercury shared
-libraries. (Probably it ought to be the other way around, but that
-happened to be a little bit harder to implement. We may change this in
-a future release.)
-
-To use the shared libraries, you must compile your program with
-`mmc --pic-reg' and link with `ml --shared' or add
-`MGNUCFLAGS=--pic-reg' and `MLFLAGS=--shared' to your Mmake file.
-
-Mercury code compiled with `--pic-reg' or with gcc's `-fpic' option has
-what we shall call "PIC linkage", whereas Mercury code compiled without
-these options has "non-PIC linkage". The static version of the Mercury
-libraries has non-PIC linkage, while the shared version has PIC linkage.
-Be careful that you do not try to link Mercury code with PIC linkage and
-Mercury code with non-PIC linkage into the same executable, otherwise you
-will probably get an obscure link error about `MR_grade_...' undefined
-or `MR_runtime_grade' multiply defined.
-(The reason for this is that standard non-PIC Mercury code uses the
-`ebx' register in ways that are incompatible with its uses as the global
-offset table pointer register in PIC code. If only the Intel
-architecture wasn't so register-starved, we wouldn't need to use `ebx',
-and then PIC and non-PIC code could be mixed without any problems.)
Index: bindist/bindist.README.MS-Windows
===================================================================
RCS file: bindist.README.MS-Windows
diff -N bindist.README.MS-Windows
--- /tmp/cvsG9I6LK Tue Sep 5 14:34:24 2000
+++ /dev/null Tue May 16 14:50:59 2000
@@ -1,76 +0,0 @@
------------------------------------------------------------------------------
-
-INTRODUCTION
-
-Mercury has been ported to Windows using the "Cygwin"
-(formerly also known as "Cygwin32" and "gnu-win32") Unix emulation
-package from Cygnus. We've tested the port on Windows 2000,
-but it should work on Windows 95, Windows 98, and Windows NT too.
-
-This file documents how to install the binary 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 install 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 it was compiled
-with version b20.1 of Cygwin, so you will need version b20.1
-(or any later version which preserves binary compatibility with b20.1).
-
-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
-
-Just type
-
- sh configure
-
------------------------------------------------------------------------------
-
-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.
-On Windows 2000, you need to make sure that this directory precedes
-the Windows system directory in the PATH, otherwise `mmc' will invoke the
-Microsoft Management Console rather than the Melbourne Mercury Compiler.
-
-You should be able to read the HTML version of the Mercury
-documentation, which by default gets installed in the directory
-/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 in
-/usr/local/mercury-<VERSION>/lib/mercury/info.
-
-There may still be some problems with case-insensitive filenames
-and the name clash between `mmake' and `Mmake'. If you run into any
-such problems, rename the `Mmake' file in each subdirectory to `Mmakefile'.
-
------------------------------------------------------------------------------
Index: bindist/bindist.build_vars.in
===================================================================
RCS file: /home/mercury1/repository/mercury/bindist/bindist.build_vars.in,v
retrieving revision 1.12
diff -u -r1.12 bindist.build_vars.in
--- bindist/bindist.build_vars.in 1999/12/24 04:25:00 1.12
+++ bindist/bindist.build_vars.in 2000/09/05 03:25:02
@@ -37,3 +37,16 @@
DL_LIBRARY="@DL_LIBRARY@"
SOCKET_LIBRARY="@SOCKET_LIBRARY@"
NSL_LIBRARY="@NSL_LIBRARY@"
+OBJFILE_OPT="@OBJFILE_OPT@"
+AR="@AR@"
+ARFLAGS="@ARFLAGS@"
+AR_LIBFILE_OPT="@AR_LIBFILE_OPT@"
+BOEHMGC_MAKEFILE="@BOEHMGC_MAKEFILE@"
+EXE_SUFFIX="@EXE_SUFFIX@"
+OBJ_SUFFIX="@OBJ_SUFFIX@"
+LIB_SUFFIX="@LIB_SUFFIX@"
+LIB_PREFIX="@LIB_PREFIX@"
+LIB_LIBPATH="@LIB_LIBPATH@"
+LINK_LIB="@LINK_LIB@"
+LINK_OPT_SEP="@LINK_OPT_SEP@"
+CYGPATH="@CYGPATH@"
Index: bindist/bindist.configure.in
===================================================================
RCS file: /home/mercury1/repository/mercury/bindist/bindist.configure.in,v
retrieving revision 1.27
diff -u -r1.27 bindist.configure.in
--- bindist/bindist.configure.in 1999/12/24 04:25:00 1.27
+++ bindist/bindist.configure.in 2000/09/05 03:25:35
@@ -68,6 +68,20 @@
AC_SUBST(SOCKET_LIBRARY)
AC_SUBST(NSL_LIBRARY)
+AC_SUBST(OBJFILE_OPT)
+AC_SUBST(AR)
+AC_SUBST(ARFLAGS)
+AC_SUBST(AR_LIBFILE_OPT)
+AC_SUBST(BOEHMGC_MAKEFILE)
+AC_SUBST(EXE_SUFFIX)
+AC_SUBST(OBJ_SUFFIX)
+AC_SUBST(LIB_SUFFIX)
+AC_SUBST(LIB_PREFIX)
+AC_SUBST(LIB_LIBPATH)
+AC_SUBST(LINK_LIB)
+AC_SUBST(LINK_OPT_SEP)
+AC_SUBST(CYGPATH)
+
#-----------------------------------------------------------------------------#
AC_PROG_RANLIB
#-----------------------------------------------------------------------------#
--
Tyson Dowd #
# Surreal humour isn't everyone's cup of fur.
trd at cs.mu.oz.au #
http://www.cs.mu.oz.au/~trd #
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list