Admin/polyml/README
author wenzelm
Tue, 11 May 2021 13:45:09 +0200
changeset 73668 5e12dad8d09b
parent 73643 9b4579e5bced
child 74635 b179891dd357
permissions -rw-r--r--
update to gmp-6.2.1, with support for arm64-darwin;

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/commits/fixes-5.8.2 up to commit
e6a463e1614f.

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
        11-May-2021