The TINA toolbox Home Page – TIme petri Net Analyzer – by LAAS/CNRS

    Some software resources for TINA developers and fellow MLton users
    Last updated: Tue Aug 30 18:00:15 CEST 2022
    Contact

    MLton

    MLton 20210117

      Precompiled mlton compilers, release 20210117 (as built by make [TARGET_ARCH=amd64] && make binary-release).

      As of release 20210117, 32bit binaries are no more provided here; they could still be built for some targets, but 32bit code tends to be deprecated by current operating systems.

      GMP static

      These versions are statically linked against gmp-6.2.0 and statically linking applications against it.
      For portability, libgmp is compiled for generic processors (–build=x86_64 ABI=[64]), possibly at the cost of some performance.
      libgmp is not compiled with -fpie, so, on platforms where gcc is configured with –enable-default-pie (e.g. Ubuntu 18),
      mlton must be used with option -pi-style npi.

      Installation: unpack archive under (say) /opt on linux (/c/opt on windows) then add /opt/mlton-20210117-XX/bin (/c/opt/mlton-20210117-XX/bin on windows) to your PATH variable.
      If you prefer executables not statically linked against gmp, just remove libgmp.a and gmp.h from the archive. You may then have to specify variables GMP_INC_DIR and GMP_LIB_DIR in script mlton so the C compiler can find libgmp. Compiling with -pi-style npi is not mandatory then, and gmp performances may improve.
      Check file README in distributions for installation alternatives.

      mlton-20210117-1.amd64-linux-glibc2.19-gmp-static.tgz (Ubuntu 14)
      mlton-20210117-1.amd64-darwin-16.7-gmp-static.tgz (10.12 Sierra)
      mlton-20210117-1.arm64-darwin-21.6-gmp-static.tgz (12.4 Monterey Apple Silicon)
      mlton-20210117-1.amd64-solaris-gmp-static.tgz (11.4)
      mlton-20210117-1.amd64-mingw-gmp-static.tgz (msys2, gcc 10.1.0)

      GMP dynamic

      These versions are dynamically linked against an installed gmp (in compilers and applications).
      To be used if the above compilers fail to work, or if pie is desired, or if your applications critically rely on IntInf performances.
      Install as above; check instructions in file README for alternatives or if libgmp does not stand at a standard place.

      mlton-20210117-1.amd64-linux-glibc2.19-gmp-dynamic.tgz (Ubuntu 14)
      mlton-20210117-1.amd64-darwin-16.7-gmp-dynamic.tgz (10.12 Sierra)
      mlton-20210117-1.arm64-darwin-21.6-gmp-dynamic.tgz (12.4 Monterey Apple Silicon)
      mlton-20210117-1.amd64-solaris-gmp-dynamic.tgz (11.4)
      mlton-20210117-1.amd64-mingw-gmp-dynamic.tgz (msys2, gcc 10.1.0)

      NOTE: All these compilers can be bootstrapped from the MLton 20210117 sources and the 20201002 compilers below.
      The details about bootstrapping the arm64-darwin versions for Apple Silicon can be found in page
      howto-arm64-darwin

    MLton 20201002

      Precompiled mlton compilers, release 20201002 (as built by make [TARGET_ARCH=x86|amd64] && make binary-release).

      GMP static

      These versions are statically linked against gmp-6.2.0 and statically linking applications against it.
      For portability, libgmp is compiled for generic processors (–build=x86_64 ABI=[32|64]), at the cost of some performance.
      libgmp is not compiled with -fpie, so, on platforms where gcc is configured with –enable-default-pie (e.g. Ubuntu 18),
      mlton must be used with option -pi-style npi.
      Installation: unpack archive under (say) /opt on linux (/c/opt on windows) then add /opt/mlton-20201002-XX/bin (/c/opt/mlton-20201002-XX/bin on windows) to your PATH variable.
      If you prefer executables not statically linked against gmp, just remove libgmp.a and gmp.h from the archive. You may then have to specify variables GMP_INC_DIR and GMP_LIB_DIR in script mlton so the C compiler can find libgmp. Compiling with -pi-style npi is not mandatory then, and gmp performances may improve.
      Check file README in distributions for installation alternatives.

      mlton-20201002-1.x86-linux-gmp-static.tgz (glibc 2.23, Ubuntu 16)
      mlton-20201002-1.amd64-linux-gmp-static.tgz (glibc 2.19, Ubuntu 14)

      mlton-20201002-1.amd64-darwin-16.7-gmp-static.tgz (10.12 Sierra)

      mlton-20201002-1.x86-solaris-gmp-static.tgz (11.4)
      mlton-20201002-1.amd64-solaris-gmp-static.tgz (11.4)

      mlton-20201002-1.x86-mingw-gmp-static.tgz (msys2, gcc 10.1.0)
      mlton-20201002-1.amd64-mingw-gmp-static.tgz (msys2, gcc 10.1.0)

      GMP dynamic

      These versions are dynamically linked against an installed gmp (in compilers and applications).
      To be used if the above compilers fail to work, or if pie is desired, or if your applications critically rely on IntInf performances.
      Install as above; check instructions in file README for alternatives or if libgmp does not stand at a standard place.

      mlton-20201002-1.x86-linux-gmp-dynamic.tgz (glibc 2.23, Ubuntu 16)
      mlton-20201002-1.amd64-linux-gmp-dynamic.tgz (glibc 2.19, Ubuntu 14)

      mlton-20201002-1.amd64-darwin-16.7-gmp-dynamic.tgz (10.12 Sierra)

      mlton-20201002-1.x86-solaris-gmp-dynamic.tgz (11.4)
      mlton-20201002-1.amd64-solaris-gmp-dynamic.tgz (11.4)

      mlton-20201002-1.x86-mingw-gmp-dynamic.tgz (msys2, gcc 10.1.0)
      mlton-20201002-1.amd64-mingw-gmp-dynamic.tgz (msys2, gcc 10.1.0)

      NOTE: All these compilers can be bootstrapped from the MLton 20201002 sources and the 20180207 compilers below.
      Building the mingw versions requires to apply first
      this patch to the file lib/mlton/sml/basis/mlton/mlton.sig, and
      that patch to file lib/mlton/sml/basis/mlton/mlton.sml (both in the installed
      binary distribution in use of mlton 20180207 for mingw).

    MLton 20200817

    MLton 20200722

      (Superseded by above 20201002)

    MLton 20180207

      Precompiled mlton compilers, release 20180207 (as built by make [TARGET_ARCH=x86|amd64]).
      All versions statically linked against gmp-6.0.0 and statically linking applications against it.
      Installation: unpack archive under (say) /opt on linux (/c/opt on windows) then add /opt/mlton-20180207-XX/bin (/c/opt/mlton-20180207-XX/bin on windows) to your PATH variable.

      mlton-20180207-x86-linux.tgz (glibc 2.19)
      mlton-20180207-amd64-linux.tgz (glibc 2.19)

      mlton-20180207-x86-darwin.tgz (10.12 Sierra)
      mlton-20180207-amd64-darwin.tgz (10.12 Sierra)

      mlton-20180207-x86-solaris.tgz (11.3)
      mlton-20180207-amd64-solaris.tgz (11.3)

      mlton-20180207-x86-mingw.tgz (msys2, gcc 10.1.0)
      mlton-20180207-amd64-mingw.tgz msys2, (gcc 10.1.0)

      NOTE: All these compilers can be bootstrapped from the MLton 201809207 sources and the 20150928 compilers below.
      Building the mingw versions requires to apply that patch
      to file runtime/util.c of the MLton 201809207 sources.

    MLton 20150928

      Precompiled mlton as of September 28, 2015 (as built by make-all-no-docs).
      All versions statically linked against gmp-6.0.0 (unless otherwise mentioned) and statically linking applications against it.
      Installation: unpack archive under (say) /opt on linux (/c/opt on windows) then add /opt/mlton-20150928/bin (/c/opt/mlton-20150109/bin on windows) to your PATH variable.

      mlton-20150928-x86-linux.tgz
      mlton-20150928-amd64-linux.tgz

      mlton-20150928-x86-darwin.tgz
      mlton-20150928-amd64-darwin.tgz

      mlton-20150928-x86-solaris.tgz
      mlton-20150928-amd64-solaris.tgz

      mlton-20150928-all-mingw-443.tgz (32 bit default, 64 bit by -target x86_64-w64-mingw32)
      use with gcc 4.4.3. Statically linked with gmp-4.3.1 and statically linking it with applications.

      mlton-20150928-x86-mingw-492.tgz
      mlton-20150928-amd64-mingw-492.tgz
      mlton-20150928-all-mingw-492.tgz (32 bit default, 64 bit by -target x86_64-w64-mingw32)
      use with gcc 4.9.2. Statically linked with gmp-6.0.0 and statically linking it with applications.

      NOTE: Due to gcc changes in the Windows 64bit ABI, building mlton for Windows 64bit
      on current mingw requires to apply that patch
      to file mlton/main/main.fun in the mlton sources.
      The patch disables generation of extra “_” in assembly labels for targetOS MinGW
      and codegen AMD64Codegen.

    MinGW

    Installing MinGW with 32-bit and 64-bit support

    Using the above mlton compilers for MinGW requires a proper installation of a MinGW compiler on your Windows machine.
    Thanks to msys2 shell and the pacman package manager, this is easier nowadays than it used to be.
    The simplest is to proceed as explained in how-to-install-mingw-w64-and-msys2 (first answer). See also install guide for full details.

      Install the Msys2 shell

        An installer and installation instructions can be found at msys2.org.

      Install some MinGW toolchain(s)

        pacman -S mingw-w64-i686-gcc (32 bits)
        pacman -S mingw-w64-x86_64-gcc (64 bits)

      For compiling mlton, one would need in addition:

        pacman -S bison patch

      One may also add some utilities, a text editor, e.g.

        pacman -S diffutils zip unzip curl
        pacman -S emacs (or vim, or …)

      The full list of available packages is found at packages.msys2.org/package
      Setup user environment

        add your prefered command aliases and configuration options to .bashrc

    Installing mlton-20200817-x86-mingw (say) in /c/opt

    In a msys2 32-bit shell, enter:

      mkdir -p /c/opt
      cd /c/opt
      curl -O http://projects.laas.fr/tina/software/mlton-20200817-x86-mingw.tgz
      tar xzf mlton-20200817-x86-mingw.tgz
      rm mlton-20200817-x86-mingw.tgz
      cd
      echo “export PATH=/c/opt/mlton-20200817-x86-mingw/bin:$PATH” >> .bashrc