src/Tools/Metis/README
author paulson
Mon, 30 Nov 2020 19:33:07 +0000
changeset 72796 d39a32cff5d7
parent 72004 913162a47d9f
child 74358 6ab3116a251a
permissions -rw-r--r--
merged
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39430
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
     1
It's a good idea to update the Metis source code regularly, to benefit
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
     2
from the latest developments, to avoid a permanent fork, and to detect
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
     3
Metis problems early. This file explains how to update the source code
42235
89571b08a427 updated instructions
blanchet
parents: 39504
diff changeset
     4
for Metis with the latest Metis package.
39430
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
     5
39448
64639ff50fcd streamlined "make_metis"
blanchet
parents: 39444
diff changeset
     6
 1. The files "Makefile" and "script/mlpp" and the directory "src/"
72004
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
     7
    must reflect the corresponding files in Joe Leslie-Hurd's official
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
     8
    Metis package. The package that was used when these notes where
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
     9
    written was Metis 2.3 (release 20110926). The package was later
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
    10
    updated to Metis 2.4 (release 20180810).
39430
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    11
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    12
 2. The license in each source file will probably not be something we
39444
beabb8443ee4 MIT license -> BSD License
blanchet
parents: 39433
diff changeset
    13
    can use in Isabelle. The "fix_metis_license" script can be run to
beabb8443ee4 MIT license -> BSD License
blanchet
parents: 39433
diff changeset
    14
    replace all occurrences of "MIT license" with "BSD License". In a
72004
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
    15
    13 Sept. 2010 email to Gerwin Klein, Joe Leslie-Hurd, the sole
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
    16
    copyright holder of Metis, wrote:
39430
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    17
39433
3e41c9d29769 make "metis.ML" building process slightly more robust by eliminating the need for "FILES";
blanchet
parents: 39430
diff changeset
    18
        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
    19
        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
    20
        Isabelle BSD license.
39430
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    21
39504
99d6cad53c7e update README
blanchet
parents: 39448
diff changeset
    22
 3. Some modifications might have to be done manually to the source
45778
df6e210fb44c updated Metis to 20110926 version
blanchet
parents: 43269
diff changeset
    23
    files (but probably not). The ultimate way to track them down is
df6e210fb44c updated Metis to 20110926 version
blanchet
parents: 43269
diff changeset
    24
    to use Mercurial.
39430
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    25
39448
64639ff50fcd streamlined "make_metis"
blanchet
parents: 39444
diff changeset
    26
 4. Isabelle itself cares only about "metis.ML", which is generated
39430
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    27
    from the files in "src/" by the script "make_metis". The script
39448
64639ff50fcd streamlined "make_metis"
blanchet
parents: 39444
diff changeset
    28
    relies on "Makefile", "scripts/mlpp", and "src/", as well as
64639ff50fcd streamlined "make_metis"
blanchet
parents: 39444
diff changeset
    29
    the pseudo-makefile "Makefile.FILES" used to determine all the
64639ff50fcd streamlined "make_metis"
blanchet
parents: 39444
diff changeset
    30
    files needed to be included in "metis.ML".
39430
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    31
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    32
 5. The output of "make_metis" should then work as is with Isabelle,
39448
64639ff50fcd streamlined "make_metis"
blanchet
parents: 39444
diff changeset
    33
    but there are of course no guarantees. The script "make_metis" and
64639ff50fcd streamlined "make_metis"
blanchet
parents: 39444
diff changeset
    34
    the pseudo-makefile "Makefile.FILES" have a few regexes that could
64639ff50fcd streamlined "make_metis"
blanchet
parents: 39444
diff changeset
    35
    go wrong. They also produce a few temporary files ("FILES",
64639ff50fcd streamlined "make_metis"
blanchet
parents: 39444
diff changeset
    36
    "Makefile.dev", and "bin/mosml/Makefile.src") as side-effects; you
64639ff50fcd streamlined "make_metis"
blanchet
parents: 39444
diff changeset
    37
    can safely ignore them or delete them.
39430
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    38
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    39
 6. Once you have successfully regenerated "metis.ML", build all of
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    40
    Isabelle and keep an eye on the time taken by Metis.
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    41
    "HOL-Metis_Examples" is a good test case. Running the Judgement
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    42
    Day suite at this point is also a good idea.
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    43
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    44
 7. Once everything is fine and you are ready to push your changes to
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    45
    the main Isabelle repository, take the time to update these
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    46
    instructions, especially points 1 and 3 above.
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    47
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    48
Good luck!
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    49
72004
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
    50
39430
afb4d5c672bd document Metis updating procedure
blanchet
parents:
diff changeset
    51
    Jasmin Blanchette
45778
df6e210fb44c updated Metis to 20110926 version
blanchet
parents: 43269
diff changeset
    52
    1 December 2011
72004
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
    53
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
    54
Updated by
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
    55
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
    56
    Martin Desharnais
913162a47d9f Update Metis to 2.4
desharna
parents: 45778
diff changeset
    57
    9 July 2020