Admin/polyml/README
author wenzelm
Sun, 14 Nov 2021 21:52:13 +0100
changeset 74788 95e514137861
parent 74771 8e590adaac5e
child 74848 2336356d4180
permissions -rw-r--r--
updated to polyml-5.9-610a153b941d -- close to final;

Poly/ML for Isabelle
====================

This compilation of Poly/ML (https://www.polyml.org) is based on the
source distribution from
https://github.com/polyml/polyml/commit/610a153b941d (shortly before
official version 5.9).

The Isabelle repository provides an administrative tool "isabelle
build_polyml", which can be used in the polyml component directory as
follows.

* Linux:

  $ isabelle build_polyml -m32 -s sha1 src
  $ isabelle build_polyml -m64 -s sha1 src

* macOS:

  $ isabelle build_polyml -m32 -s sha1 src
  $ isabelle build_polyml -m64 -s sha1 src

* Windows (Cygwin shell)

  $ isabelle build_polyml -M /cygdrive/c/msys64 -m32 -s sha1 src
  $ isabelle build_polyml -M /cygdrive/c/msys64 -m64 -s sha1 src


Building libgmp on macOS
========================

The build_polyml invocations above implicitly use the GNU Multiple Precision
Arithmetic Library (libgmp), but that is not available on macOS by default.
Appending "--without-gmp" to the command-line omits this library. Building
libgmp properly from sources works as follows (library headers and binaries
will be placed in /usr/local).

* Download:

  $ curl https://gmplib.org/download/gmp/gmp-6.2.1.tar.bz2 | tar xjf -
  $ cd gmp-6.2.1

* build:

  $ make distclean

  #Intel
  $ ./configure --enable-cxx --build=core2-apple-darwin"$(uname -r)"

  #ARM
  $ ./configure --enable-cxx --build=aarch64-apple-darwin"$(uname -r)"

  $ make && make check
  $ sudo make install


        Makarius
        14-Nov-2021