Step-by-step build

Use this method for more control over the build process.

Step 1: Initialize submodules

You must initialize and update the GIT submodules before building:

git submodule init
git submodule update

Step 2: Build objects and libraries

To build object files, static libraries, and shared libraries say:

make objs libs shlibs

Step 3: Stage

To stage Sprite say:

make stage

This must be done before tests are run. It creates a mock installation under install/. This step also builds the necessary objects and libraries, so you can skip the previous step if you like. Staging also compiles the Curry library into the installation, so that the first import compiles nothing. Most of that time goes to the Prelude, about half a minute. A stage that changes nothing skips it. make stage runs with the job count of configure --jobs. Say make -jN stage to use another count for one run.

Step 4: Overlay ICurry files

To overlay the pre-built ICurry files of the test programs, say:

make overlay

If you plan to run the test suite, this step saves several hours by avoiding hundreds of Curry-to-ICurry conversions. See Important Notes. Run it after the stage: the stage writes the interfaces of the installed Curry library, and the front end compiles a test program again when its products are older than them. A plain make (the default goal) runs the stage and then the overlay. make overlay V=1 lists the extracted files.

To use this, your version of PAKCS must match one of the overlay*.tgz files at the repository root.

Step 5: Test (optional)

To run the tests, say:

make test

You can also say cd tests && ./run_tests. See tests/README for fine control of testing.

Step 6: Install (optional)

You can use Sprite directly from the staging area. If you prefer to install it elsewhere, use make install while setting PREFIX to the desired location.

To install Sprite under /path/to/sprite say:

make install PREFIX=/path/to/sprite

Refer to the install tree layout for the directories this creates.