author | wenzelm |
Wed, 23 Jul 2025 14:53:21 +0200 | |
changeset 82898 | 89da4dcd1fa8 |
parent 74358 | 6ab3116a251a |
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/" |
72004 | 7 |
must reflect the corresponding files in Joe Leslie-Hurd's official |
8 |
Metis package. The package that was used when these notes where |
|
9 |
written was Metis 2.3 (release 20110926). The package was later |
|
74358 | 10 |
updated to Metis 2.4 (release 20180810) and later again to Metis 2.4 |
11 |
(release 20200713). |
|
39430 | 12 |
|
13 |
2. The license in each source file will probably not be something we |
|
39444 | 14 |
can use in Isabelle. The "fix_metis_license" script can be run to |
15 |
replace all occurrences of "MIT license" with "BSD License". In a |
|
72004 | 16 |
13 Sept. 2010 email to Gerwin Klein, Joe Leslie-Hurd, the sole |
17 |
copyright holder of Metis, wrote: |
|
39430 | 18 |
|
39433
3e41c9d29769
make "metis.ML" building process slightly more robust by eliminating the need for "FILES";
blanchet
parents:
39430
diff
changeset
|
19 |
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
|
20 |
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
|
21 |
Isabelle BSD license. |
39430 | 22 |
|
39504 | 23 |
3. Some modifications might have to be done manually to the source |
45778 | 24 |
files (but probably not). The ultimate way to track them down is |
25 |
to use Mercurial. |
|
39430 | 26 |
|
39448 | 27 |
4. Isabelle itself cares only about "metis.ML", which is generated |
39430 | 28 |
from the files in "src/" by the script "make_metis". The script |
39448 | 29 |
relies on "Makefile", "scripts/mlpp", and "src/", as well as |
30 |
the pseudo-makefile "Makefile.FILES" used to determine all the |
|
31 |
files needed to be included in "metis.ML". |
|
39430 | 32 |
|
33 |
5. The output of "make_metis" should then work as is with Isabelle, |
|
39448 | 34 |
but there are of course no guarantees. The script "make_metis" and |
35 |
the pseudo-makefile "Makefile.FILES" have a few regexes that could |
|
36 |
go wrong. They also produce a few temporary files ("FILES", |
|
37 |
"Makefile.dev", and "bin/mosml/Makefile.src") as side-effects; you |
|
38 |
can safely ignore them or delete them. |
|
39430 | 39 |
|
40 |
6. Once you have successfully regenerated "metis.ML", build all of |
|
41 |
Isabelle and keep an eye on the time taken by Metis. |
|
42 |
"HOL-Metis_Examples" is a good test case. Running the Judgement |
|
43 |
Day suite at this point is also a good idea. |
|
44 |
||
45 |
7. Once everything is fine and you are ready to push your changes to |
|
46 |
the main Isabelle repository, take the time to update these |
|
47 |
instructions, especially points 1 and 3 above. |
|
48 |
||
49 |
Good luck! |
|
50 |
||
72004 | 51 |
|
39430 | 52 |
Jasmin Blanchette |
45778 | 53 |
1 December 2011 |
72004 | 54 |
|
55 |
Updated by |
|
56 |
||
57 |
Martin Desharnais |
|
58 |
9 July 2020 |
|
74358 | 59 |
23 September 2021 |