author | haftmann |
Wed, 18 Jul 2018 20:51:22 +0200 | |
changeset 68659 | db0c70767d86 |
parent 68473 | 1b8457cc4de8 |
child 68675 | 4535a45182d5 |
permissions | -rw-r--r-- |
38469 | 1 |
Poly/ML for Isabelle |
2 |
==================== |
|
27012 | 3 |
|
67099 | 4 |
This compilation of Poly/ML 5.7.1 (http://www.polyml.org) is based on the |
5 |
source distribution from https://github.com/polyml/polyml/releases/tag/v5.7.1 |
|
68473 | 6 |
with commit 86c52cbd8f6d from the "fixes-5.7.1" branch. |
57689
e189ba8a64b9
updated to polyml-5.5.2-1 which addresses two hard crashes;
wenzelm
parents:
56958
diff
changeset
|
7 |
|
65805
d3c5898f1a5e
updated to polyml-5.7 for testing (not yet ready for production use);
wenzelm
parents:
65032
diff
changeset
|
8 |
The Isabelle repository provides the administrative tool "build_polyml", |
d3c5898f1a5e
updated to polyml-5.7 for testing (not yet ready for production use);
wenzelm
parents:
65032
diff
changeset
|
9 |
which can be used in the polyml component directory as follows. |
62281
707f9b182f4f
evade a potential conflict of /bin/bash versus /bin/sh -> dash (notably on Ubuntu and Debian) -- note that execvpe does not exist on old glibc on Ubuntu 10.04 LTS, but the environ should be unchanged;
wenzelm
parents:
62252
diff
changeset
|
10 |
|
64544
d23b7c9b9dd4
updated Poly/ML repository test version (08-Dec-2016);
wenzelm
parents:
62281
diff
changeset
|
11 |
* Linux: |
62281
707f9b182f4f
evade a potential conflict of /bin/bash versus /bin/sh -> dash (notably on Ubuntu and Debian) -- note that execvpe does not exist on old glibc on Ubuntu 10.04 LTS, but the environ should be unchanged;
wenzelm
parents:
62252
diff
changeset
|
12 |
|
67593 | 13 |
$ isabelle build_polyml -m32 -s sha1 src |
14 |
$ isabelle build_polyml -m64 -s sha1 src |
|
62281
707f9b182f4f
evade a potential conflict of /bin/bash versus /bin/sh -> dash (notably on Ubuntu and Debian) -- note that execvpe does not exist on old glibc on Ubuntu 10.04 LTS, but the environ should be unchanged;
wenzelm
parents:
62252
diff
changeset
|
15 |
|
67595 | 16 |
* Mac OS X: |
17 |
||
18 |
$ isabelle build_polyml -m32 -s sha1 src |
|
19 |
$ isabelle build_polyml -m64 -s sha1 src |
|
20 |
||
64544
d23b7c9b9dd4
updated Poly/ML repository test version (08-Dec-2016);
wenzelm
parents:
62281
diff
changeset
|
21 |
* Windows (Cygwin shell) |
d23b7c9b9dd4
updated Poly/ML repository test version (08-Dec-2016);
wenzelm
parents:
62281
diff
changeset
|
22 |
|
67593 | 23 |
$ isabelle build_polyml -M /cygdrive/c/msys64 -m32 -s sha1 src |
24 |
$ isabelle build_polyml -M /cygdrive/c/msys64 -m64 -s sha1 src |
|
41331 | 25 |
|
67589 | 26 |
|
27 |
Building libgmp on Mac OS X |
|
28 |
=========================== |
|
29 |
||
67593 | 30 |
The build_polyml invocations above implicitly use the GNU Multiple Precision |
31 |
Arithmetic Library (libgmp), but that is not available on Mac OS X by default. |
|
32 |
Appending "--without-gmp" to the command-line omits this library. Building |
|
67595 | 33 |
libgmp properly from sources works as follows (library headers and binaries |
34 |
will be placed in /usr/local). |
|
67589 | 35 |
|
36 |
* Download: |
|
37 |
||
38 |
$ curl https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz | xz -dc | tar xf - |
|
39 |
$ cd gmp-6.1.2 |
|
67583 | 40 |
|
67589 | 41 |
* build x86-darwin: |
42 |
||
43 |
$ make distclean |
|
44 |
$ env ABI=32 ./configure --enable-cxx --build=core2-apple-darwin"$(uname -r)" --libdir=/usr/local/lib32 |
|
45 |
$ make && make check |
|
46 |
$ sudo make install |
|
47 |
||
48 |
* build x86_64-darwin: |
|
49 |
||
50 |
$ make distclean |
|
51 |
$ ./configure --enable-cxx --build=core2-apple-darwin"$(uname -r)" |
|
52 |
$ make && make check |
|
53 |
$ sudo make install |
|
67583 | 54 |
|
41331 | 55 |
|
57689
e189ba8a64b9
updated to polyml-5.5.2-1 which addresses two hard crashes;
wenzelm
parents:
56958
diff
changeset
|
56 |
Makarius |
68473 | 57 |
20-Jun-2018 |