author | wenzelm |
Fri, 09 Aug 2013 20:23:53 +0200 | |
changeset 52946 | 976bd071360c |
parent 45778 | df6e210fb44c |
child 72004 | 913162a47d9f |
permissions | -rw-r--r-- |
39430 | 1 |
It's a good idea to update the Metis source code regularly, to benefit |
2 |
from the latest developments, to avoid a permanent fork, and to detect |
|
3 |
Metis problems early. This file explains how to update the source code |
|
42235 | 4 |
for Metis with the latest Metis package. |
39430 | 5 |
|
39448 | 6 |
1. The files "Makefile" and "script/mlpp" and the directory "src/" |
43269 | 7 |
must reflect the corresponding files in Joe Hurd's official Metis |
8 |
package. The package that was used when these notes where written |
|
45778 | 9 |
was Metis 2.3 (release 20110926). |
39430 | 10 |
|
11 |
2. The license in each source file will probably not be something we |
|
39444 | 12 |
can use in Isabelle. The "fix_metis_license" script can be run to |
13 |
replace all occurrences of "MIT license" with "BSD License". In a |
|
14 |
13 Sept. 2010 email to Gerwin Klein, Joe Hurd, the sole copyright |
|
15 |
holder of Metis, wrote: |
|
39430 | 16 |
|
39433
3e41c9d29769
make "metis.ML" building process slightly more robust by eliminating the need for "FILES";
blanchet
parents:
39430
diff
changeset
|
17 |
I hereby give permission to the Isabelle team to release Metis |
3e41c9d29769
make "metis.ML" building process slightly more robust by eliminating the need for "FILES";
blanchet
parents:
39430
diff
changeset
|
18 |
as part of Isabelle, with the Metis code covered under the |
3e41c9d29769
make "metis.ML" building process slightly more robust by eliminating the need for "FILES";
blanchet
parents:
39430
diff
changeset
|
19 |
Isabelle BSD license. |
39430 | 20 |
|
39504 | 21 |
3. Some modifications might have to be done manually to the source |
45778 | 22 |
files (but probably not). The ultimate way to track them down is |
23 |
to use Mercurial. |
|
39430 | 24 |
|
39448 | 25 |
4. Isabelle itself cares only about "metis.ML", which is generated |
39430 | 26 |
from the files in "src/" by the script "make_metis". The script |
39448 | 27 |
relies on "Makefile", "scripts/mlpp", and "src/", as well as |
28 |
the pseudo-makefile "Makefile.FILES" used to determine all the |
|
29 |
files needed to be included in "metis.ML". |
|
39430 | 30 |
|
31 |
5. The output of "make_metis" should then work as is with Isabelle, |
|
39448 | 32 |
but there are of course no guarantees. The script "make_metis" and |
33 |
the pseudo-makefile "Makefile.FILES" have a few regexes that could |
|
34 |
go wrong. They also produce a few temporary files ("FILES", |
|
35 |
"Makefile.dev", and "bin/mosml/Makefile.src") as side-effects; you |
|
36 |
can safely ignore them or delete them. |
|
39430 | 37 |
|
38 |
6. Once you have successfully regenerated "metis.ML", build all of |
|
39 |
Isabelle and keep an eye on the time taken by Metis. |
|
40 |
"HOL-Metis_Examples" is a good test case. Running the Judgement |
|
41 |
Day suite at this point is also a good idea. |
|
42 |
||
43 |
7. Once everything is fine and you are ready to push your changes to |
|
44 |
the main Isabelle repository, take the time to update these |
|
45 |
instructions, especially points 1 and 3 above. |
|
46 |
||
47 |
Good luck! |
|
48 |
||
49 |
Jasmin Blanchette |
|
45778 | 50 |
1 December 2011 |