History log of /seL4-l4v-10.1.1/HOL4/tools/smart-configure.sml
Revision Date Author Comments
# c554f74b 15-Feb-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Ensure HOL4 works with fixed-width integers under Poly/ML.

Integers under Poly/ML 5.6.1 are likely to be fixed-width by default (up until now they've always been arbitrary precision). Some changes were needed to cope with this:

- The Arbint and Artbnum structures effectively assumed Int.int = IntInf.int.
- The Standard ML structure Time is based on LargeInt.int and not Int.int. Code for printing times has been re-implemented using the Date structure.
- The smart-configure.sml file used the Overflow exception to distinguish between Moscow ML and Poly/ML. This test is now based on a difference in the printing of General.Fail exceptions.


# 4761143b 10-Aug-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Removed trailing whitespace from all .sml and .sig files.

This affects over 900 files and was done using emacs's delete-trailing-whitespace
function in batch mode. Building the system with Poly/ML and Moscow ML seems to
work, so I'm hoping these changes don't break anything. Please complain if
they do!


# 6caa9b33 27-Jul-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

Follow a suggestion of Anthony's and use the fact that Moscow ML has a
maximum integer, past which Overflow is raised, to distinguish it from
PolyML. (21! > 2^64, so even if Moscow ML was running on a system
with 64 bit integers, this check should work.)


# 3ef71d3b 24-Jul-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

Now require users to do their configuration from the root HOL
directory (updating the documentation to reflect this). The reason is
to enable both
mosml < tools/smart-configure.sml
and
poly < tools/smart-configure.sml
The contents of tools/smart-configure.sml now figures out which
interpreter is being run (by relying on a known mosml bug), and then
runs the real configuration script for the given ML system.

This would be a lot simpler if mosml's default environment included
the CommandLine structure from the Basis Library.


# 3cca0581 21-Jul-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

Get this to work properly under Windows. I was surprised to find that when you type in "mosml" at the command-line, Moscow ML's CommandLine.name() function returns an absolute filename pointing at <mosmldir>\lib\mosmltop or some such.


# ac1ca58c 29-Jun-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

Make smart-configure a bit smarter when it comes to look for the
location of the Moscow ML executables.


# a78cd306 26-Feb-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

* Changed Systeml to make it more compatible with the Basis Library,
in particular, by using OS.Process rather than just Process, which
is a MoscowML invention dating back to the times when it couldn't do
nested structures
* This has knock-on effects in a surprising number of places because
Moscow ML doesn't know that OS.Process.status is the same type as
Process.status.
* Also invent a PreProcess structure just to store isSuccess which is
in the most recent Basis, but not Moscow ML.


# 0472c72a 23-Aug-2007 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix a bug whereby the configuration would give up, saying that the user
should use a config-override file, even before the override file had
had a chance to get loaded.


# dbff0b41 08-Sep-2005 Michael Norrish <Michael.Norrish@nicta.com.au>

Last change I want to make before releasing; change the MOSMLDIR value
to be the directory containing the mosml binaries, rather than being
the parent of this directory. This should make life easier on those
installations where the mosml install doesn't look like
mosml
+----- bin
+----- lib
(Some do not have bin and lib as siblings. The code using MOSMLDIR
never looks for anything except bin underneath it.)


# 635216c3 19-Aug-2005 Michael Norrish <Michael.Norrish@nicta.com.au>

Updates (to code and documentation) to better handle situation where
dynamic linking is not available. Now, the Systeml structure records
whether or not it is by storing a boolean in the variable DYNLIB.


# 6afe899b 26-Jul-2005 Michael Norrish <Michael.Norrish@nicta.com.au>

Update to the configuration scripts to support compiling Muddy on MacOS.
Thanks to Georg Weissenbacher for the information on how to do this.
(If someone has a mac, could they test this please?)


# c9cbce87 26-Oct-2003 Michael Norrish <Michael.Norrish@nicta.com.au>

Modified this to make it easy to override the values deduced by smart
configuration in case they are wrong. Will document more fully with
next check-in.


# 6a92cff2 24-Mar-2003 Michael Norrish <Michael.Norrish@nicta.com.au>

Sick of having to constantly edit configure.sml, I came up with a solution
last night that I hope is an improvement. Now instead of
mosml < configure.sml
do
mosml < smart-configure.sml
and it figures out the parameters for you. In order to figure out holdir,
you have to invoke the above either in the tools directory or in the
root hol directory. I believe it should work under windows too. (Some-
one with a Windows HOL, please confirm!)