author | wenzelm |
Fri, 10 Sep 2021 17:35:38 +0200 | |
changeset 74285 | 6876e3d5e362 |
parent 73668 | 5e12dad8d09b |
child 74635 | b179891dd357 |
permissions | -rw-r--r-- |
38469 | 1 |
Poly/ML for Isabelle |
2 |
==================== |
|
27012 | 3 |
|
73643 | 4 |
This compilation of Poly/ML (https://www.polyml.org) is based on the |
5 |
source distribution from |
|
6 |
https://github.com/polyml/polyml/commits/fixes-5.8.2 up to commit |
|
7 |
e6a463e1614f. |
|
57689
e189ba8a64b9
updated to polyml-5.5.2-1 which addresses two hard crashes;
wenzelm
parents:
56958
diff
changeset
|
8 |
|
69903 | 9 |
The Isabelle repository provides an administrative tool "isabelle |
10 |
build_polyml", which can be used in the polyml component directory as |
|
69704 | 11 |
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
|
12 |
|
64544
d23b7c9b9dd4
updated Poly/ML repository test version (08-Dec-2016);
wenzelm
parents:
62281
diff
changeset
|
13 |
* 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
|
14 |
|
67593 | 15 |
$ isabelle build_polyml -m32 -s sha1 src |
16 |
$ 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
|
17 |
|
71492
a296d3697e50
updated to polyml-5.8.1-20200228 test version (Poly/ML 6025c250b4f1);
wenzelm
parents:
71160
diff
changeset
|
18 |
* macOS: |
67595 | 19 |
|
20 |
$ isabelle build_polyml -m32 -s sha1 src |
|
21 |
$ isabelle build_polyml -m64 -s sha1 src |
|
22 |
||
64544
d23b7c9b9dd4
updated Poly/ML repository test version (08-Dec-2016);
wenzelm
parents:
62281
diff
changeset
|
23 |
* Windows (Cygwin shell) |
d23b7c9b9dd4
updated Poly/ML repository test version (08-Dec-2016);
wenzelm
parents:
62281
diff
changeset
|
24 |
|
67593 | 25 |
$ isabelle build_polyml -M /cygdrive/c/msys64 -m32 -s sha1 src |
26 |
$ isabelle build_polyml -M /cygdrive/c/msys64 -m64 -s sha1 src |
|
41331 | 27 |
|
67589 | 28 |
|
71492
a296d3697e50
updated to polyml-5.8.1-20200228 test version (Poly/ML 6025c250b4f1);
wenzelm
parents:
71160
diff
changeset
|
29 |
Building libgmp on macOS |
a296d3697e50
updated to polyml-5.8.1-20200228 test version (Poly/ML 6025c250b4f1);
wenzelm
parents:
71160
diff
changeset
|
30 |
======================== |
67589 | 31 |
|
67593 | 32 |
The build_polyml invocations above implicitly use the GNU Multiple Precision |
71492
a296d3697e50
updated to polyml-5.8.1-20200228 test version (Poly/ML 6025c250b4f1);
wenzelm
parents:
71160
diff
changeset
|
33 |
Arithmetic Library (libgmp), but that is not available on macOS by default. |
67593 | 34 |
Appending "--without-gmp" to the command-line omits this library. Building |
67595 | 35 |
libgmp properly from sources works as follows (library headers and binaries |
36 |
will be placed in /usr/local). |
|
67589 | 37 |
|
38 |
* Download: |
|
39 |
||
73668
5e12dad8d09b
update to gmp-6.2.1, with support for arm64-darwin;
wenzelm
parents:
73643
diff
changeset
|
40 |
$ curl https://gmplib.org/download/gmp/gmp-6.2.1.tar.bz2 | tar xjf - |
5e12dad8d09b
update to gmp-6.2.1, with support for arm64-darwin;
wenzelm
parents:
73643
diff
changeset
|
41 |
$ cd gmp-6.2.1 |
67583 | 42 |
|
69704 | 43 |
* build: |
67589 | 44 |
|
45 |
$ make distclean |
|
73668
5e12dad8d09b
update to gmp-6.2.1, with support for arm64-darwin;
wenzelm
parents:
73643
diff
changeset
|
46 |
|
5e12dad8d09b
update to gmp-6.2.1, with support for arm64-darwin;
wenzelm
parents:
73643
diff
changeset
|
47 |
#Intel |
67589 | 48 |
$ ./configure --enable-cxx --build=core2-apple-darwin"$(uname -r)" |
73668
5e12dad8d09b
update to gmp-6.2.1, with support for arm64-darwin;
wenzelm
parents:
73643
diff
changeset
|
49 |
|
5e12dad8d09b
update to gmp-6.2.1, with support for arm64-darwin;
wenzelm
parents:
73643
diff
changeset
|
50 |
#ARM |
5e12dad8d09b
update to gmp-6.2.1, with support for arm64-darwin;
wenzelm
parents:
73643
diff
changeset
|
51 |
$ ./configure --enable-cxx --build=aarch64-apple-darwin"$(uname -r)" |
5e12dad8d09b
update to gmp-6.2.1, with support for arm64-darwin;
wenzelm
parents:
73643
diff
changeset
|
52 |
|
67589 | 53 |
$ make && make check |
54 |
$ sudo make install |
|
67583 | 55 |
|
41331 | 56 |
|
57689
e189ba8a64b9
updated to polyml-5.5.2-1 which addresses two hard crashes;
wenzelm
parents:
56958
diff
changeset
|
57 |
Makarius |
73668
5e12dad8d09b
update to gmp-6.2.1, with support for arm64-darwin;
wenzelm
parents:
73643
diff
changeset
|
58 |
11-May-2021 |