Manticore Installation

Manticore currently only supports the x86-64 (a.k.a. AMD64) architecture running on either Linux or Mac OS X.

Manticore is implemented in a mix of C and SML code. You will need a recent version of SML/NJ (version 110.81) installed. Furthermore, your installation should include the MLRISC library. Note that SML/NJ 110.82's version of MLRISC is currently incompatible with our build system.

Downloading the Source Code

Our GitHub mirror contains the latest stable release:
git clone https://github.com/ManticoreProject/manticore.git
If you would like to explore other branches of the compiler, clone from the main repository instead:
git clone https://smlnj-gitlab.cs.uchicago.edu/manticore/pmlc.git
Then, to begin building, initialize the configuration script with the following commands while in the root of the cloned repository:
autoheader -Iconfig
autoconf -Iconfig

Building and Installing the Distribution

Now, run the configure script.
./configure
This command links the compiler against the MLRISC libraries provided with the SML/NJ installation. See the README.md file if you would like to build against a custom MLRISC library. To build the compiler, use the following command.
make build
Then, we can install locally
make local-install
or globally.
make install
If installing locally, you will find the compiler under
./bin/pmlc

Running the Regression Tests

There are both sequential and parallel regression tests. To ensure your build is working correctly, run the following:
cd src/regression-tests
bash-scripts/run-seq.bsh
bash-scripts/run-par.bsh
None of the tests should report fail. If they do, or you discover some other bug in the compiler, please open a new issue on GitHub.