Admin/polyml/README
author wenzelm
Sat, 13 Aug 2022 18:06:30 +0200
changeset 75848 9e4c0aaa30aa
parent 74848 2336356d4180
child 76274 793171d7800b
permissions -rw-r--r--
clarified signature;

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/39d96a2def90 (official release
5.9 with minimal additions fixes-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
        26-Nov-2021