{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.
mgnuc.in:
Conservative gc no longer implies -DTAGBITS=0.
Use gcc -V2.6.3 on kryten, since 2.6.4 beta has a bug
that causes it to generate incorrect code (for tree234__set/4
and lots of other preds) with --tags low.
******> This may cause "gcc internal error: cc1 got fatal signal 6" problems.
If you run into these, try editing mgnuc so that it compiles with
/usr/local/bin/gcc (2.5.8) instead. And let me know!
rather than invoking `mkinit' directly. The reason is that `mkinit' only
does part of `mod2init's old job; `c2init' collects the filenames of the
standard library modules (possibly overridden by environment variables)
and passes these, together with the modules named on the command line,
to `mkinit'.
Mmake.rules:
Remove support for the old .nl extension.
Get rid of the rule for creating all those silly .nl -> .m symlinks.
(You'll have to remove all those old symbolic links manually.)
mtags:
Add error-checking.
Fix bug (close was closing the a non-existant file-handle! -
this would have caused us to run out of file-handles if
there were too many files) which I detected after adding
error-checking.
Enhance the vi command we output to find the tag: it now puts
the tag in the string search buffer so that you can use the `n'
(next) command in vi to search for the tag, in case the
tag lookup gets you the pred declaration when you really
wanted the pred body.
scripts/mod2init.sh:
Split the init function into bite-size pieces.
(Otherwise the new `--procs-per-c-function 1' has the
unfortunate side-effect of creating a very large
init module, since the init module calls every function,
and it is all one basic block and takes >15 minutes to compile.)
scripts/Mmake.rules:
Add a rule for creating *.dep, identical to the .depend rule.
(The .dep rule ensures that the .dep file exists; the .depend
rule ensures that it is really up-to-date.)
Mmake.{vars,rules}:
Add rules for creating .o_pic files by compiling with -fpic.
This is so we can create mix files compiled with -fpic for
shared libraries with those compiled without -fpic (which are
presumably more efficient) in the same directory.
Mmake.rules, Mmake.vars:
Use separate macros MCD, MCI, and MCG for making dependencies,
interfaces, and generating code, along with MCDFLAGS, MCIFLAGS,
and MCGFLAGS.
Mmake.rules:
We don't need to suppress the GNU Make builtin rules,
since mmake passes -r to make to suppress all the builtin rules.
(The suppression wasn't compatible with Solaris make.)
mercury/scripts/Mmake:
`mkdir -p' doesn't work on munta if the directory already exists.
(Need to make the same change in all the other Mmake files too.)
scripts/mod2init.sh, runtime/{wrapper.mod,init.h}:
Due to a bug in the Solaris linker, we need to call the GC_INIT()
macro from some statically linked part of the code.
So I've modified mod2init to add an init_gc() function to the init
file, and I've modified wrapper.mod to call it.