scripts/mgnuc.in:
For efficiency, use shell builtins rather than calling /bin/true:
use `:' rather than `true' and use `case' rather than `if'.
scripts/ml.in:
By default, strip the executable.
(This speeds up linking considerably on systems without
shared libraries, and most of the time debugging information
is not used, since gdb doesn't support Mercury yet anyway.)
Add -g / --no-strip option to suppress stripping.
Use `case' rather than `if', for efficiency.
scripts/mnl.in:
Use MERCURY_NU_LIB_DIR as specified by the documentation,
not MERCURY_LIB_DIR. Document the -d/--debug option.
scripts/msc.in:
Remove mention of MERCURY_SP_BUILTIN, since it wasn't used.
scripts/msl.in:
Make the default list of library .ql files empty,
rather than `cd $SPLIBDIR; echo *.ql`. We normally
link by loading the named .ql files into library.sicstus.debug
which has the library .ql files pre-loaded. The
the .ql files don't get installed, so `*.ql' did not
get expanded in the `cd $SPLIBDIR; echo *.ql` command -
instead it accidentally got expanded later as *.ql in the
current directory, which was wrong.
Also, call garbage_collect before saving the state in the debug
version, since this reduces the size of the executable.
(We already did this in the non-debug version.)
scripts/ml.in:
Remove some old special-case stuff (if $host = kryten ...).
Change it so that it uses $CC as determined by configure
rather than hard-coding gcc.
Use a named pipe to invoke the demangler, so that we
return the exit status of the C compiler, not the demangler.
Add a new option --no-libs which suppresses the linking
in of the libraries; this is useful if you want to link
a shared library and have the output of the linker passed
through the demangler.
scripts/mmake.in:
Use a new environment variable MMAKE_DIR as the location to
look for both Mmake.vars and Mmake.rules; this is simpler than
use the MMAKE_VARS and MMAKE_RULES environment variables.
mnl.in:
Fix a couple of bugs: the debugging objects should only be loaded
once, not twice (this was causing multiple clauses for spyHook to
be loaded, which caused some problems in the interactive term browser),
and we should include error.no in the list of debugging objects.
mgnuc.in:
Use @CC@ from configure rather than `gcc'.
(We still require gcc, though, since we pass a lot
of gcc-specific options.)
Remove the site-specific kludges for finding `gcc'.
NB: Zoltan, this means that you need to explicitly
add `-msupersparc' to the MGNUCFLAGS for benchmarking.
Also, on Irix 5 we need to pass `-mno-abicalls' to
turn off shared libraries for the grades which use
gcc non-local gotos.
mc.in:
Use @CC@ from configure, and pass it use the --cc option.
ml.in:
For Irix 5, we need to pass `-non_shared' for the grades which use
gcc non-local gotos, and we also need to export a LIBRARY_PATH
which points to the nonshared libraries.
scripts/Mmake.rules:
Remove the actions for `mmake clean' etc., since they are now
unnecessary (it's handled implicitly by adding dependencies
in the .dep files).
Mmake.rules:
Don't define a rule for `clean' and `realclean', since those
are reserved for use by user Mmake files. Instead, add a
dependency on `sub_clean' and `sub_realclean', and define
the rule there.
Mmake.rules:
In the rule for making foo.depend, make sure to remove foo_init.c.
This will ensure that it gets remade if necessary.
(Previously this wasn't necessary since it always got remaid
whenever any of the .m files changed.)
Mmake.rules:
Remove the redundant --compile-to-c from command lines.
sicstus_conv.in:
Fix a bug that translated "\n" into not a newline but a newline
and two tabs.
{mc,ml,mgnuc,mmake}.in:
Use MERCURY_DEFAULT_GRADE, with a default value @DEFAULT_GRADE@
determined by configure, rather than hard-coding asm_fast.gc as
the default grade.
mmake.in:
Update the documentation.
scripts/Mmake:
Split up the rule for installing the scripts so that
the NU-Prolog and SICStus Prolog related scripts are
only installed if configure detected NU-Prolog or
SICStus Prolog respectively.