Estimated hours taken: 0.25
mercury/Mmake.common.in:
Add `--no-infer-types --no-infer-modes --halt-at-warn' as the
default MCFLAGS.
*** IMPORTANT NOTE: if you have set MCFLAGS in your
*** Mmake.params file, you should change your Mmake.params
*** file to set EXTRA_MCFLAGS instead.
Estimated hours taken: 0.5
compiler/Mmake.common.in:
Rename SO as EXT_FOR_SHARED_LIB, PIC_O as EXT_FOR_PIC_OBJECTS,
and PIC as CFLAGS_FOR_PIC. This is part of a very old change
which Tom committed that was apparently missed first time around.
It just happened to work anyway.
Estimated hours taken: 0.25
Various changes to make it work better on a variety of architectures.
Mmake.common.in:
Add definition of SHARED_LIBS, so that shared libraries are
linked with `-lc', `-lm', and `-lgcc'. This avoids unresolved
symbols that might prevent quick-starting on IRIX or Alpha/OSF.
configure.in:
Add definition of NUM_REAL_R_REGS for HPUX.
Fix definition of LINK_SHARED_OBJ for IRIX.
Estimated hours taken: 4
Added a bindist directory and various alterations for building binary
distributions.
mercury/Mmake:
changed the bindist target from the old useless one to forward
on to the Mmake file in the bindist directory.
mercury/Mmake.common.in:
added NUPROLOG and SICSTUS variables which are defined to `nuprolog'
and `sicstus' respectively if mercury support for those systems is
present on the BUILD system. These are used in the binary installation
target to include them in the binary distribution if they are present.
mercury/configure.in:
define NUPROLOG and SICSTUS if those systems are present. for the above
reason.
Also added bindist/bindist to the list of configured files because
it is used to pass on configured variables to the binary distribution.
Mmake, Mmake.common.in, configure.in:
Fix copyright messages.
configure.in:
Look for a version of `mc' to bootstrap with.
Check that it works.
If the best grade is `jump.gc' or `fast.gc', and
we do have a working `mc', then we need to remove
{library,compiler,profiler}/*.c, since the distributed
`asm_fast.gc' C files won't work with `jump.gc' or `fast.gc'.
If the best grade is `jump.gc' or `fast.gc', and
we don't have a working `mc', then use `none.gc' or `reg.gc'
respectively.
Mmake.common.in:
Set MC to the full path to mc, as determined by `configure'.
N.B. This means that you don't have to do
`configure --prefix=/usr/contrib' to get it to work;
plain `configure' or `configure --prefix=~/tmp' will now
work fine too.
INSTALL_CVS:
It's no longer necessary to set the MERCURY_COMPILER
environment variable to point to the bootstrap Mercury
compiler, since `configure' will automatically use the
Mercury compiler in your PATH.
Mmake.common.in:
Remove the definition of SYS_CS, since it is no longer needed.