Skip to content

Instantly share code, notes, and snippets.

@erkyrath
Last active March 21, 2021 17:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erkyrath/95a150b66d9212767ce4c487b8b77e03 to your computer and use it in GitHub Desktop.
Save erkyrath/95a150b66d9212767ce4c487b8b77e03 to your computer and use it in GitHub Desktop.
Step-by-step instructions for running the Inform 6 library test script on MacOS.

Fetch everything

You will need git installed. You will also need libxml2 and python3. If you use homebrew:

brew install git
brew install libxml2
brew install python

Download the the inform6-test repository and the various compiler and interpreter repositories.

git clone https://github.com/erkyrath/inform6-test.git
git clone https://github.com/erkyrath/remglk.git
git clone https://github.com/erkyrath/glulxe.git
git clone https://github.com/erkyrath/fizmo.git
git clone https://github.com/DavidKinder/Inform6

Build the Inform 6 compiler

In the Inform6 directory:

cc -o inform *.c
cp inform ../inform6-test/inform

Build Glulxe-RemGlk

In the remglk directory:

make

In the glulxe directory:

Edit the Makefile: comment out the three ../cheapglk lines at the top; uncomment in the three ../remglk lines.

Then:

make
cp glulxe ../inform6-test/glulxer

Build Fizmo-RemGlk

In the remglk directory (if you haven't already):

make

In the fizmo directory:

Copy the attached config.mk file into the fizmo directory.

(Note that this config.mk looks for libxml2 in the location that homebrew installs it. If you have installed it elsewhere, you'll need to edit config.mk.)

Edit fizmo-glktermw/src/fizmo-glktermw/Makefile: on line 18, change -lglktermw to -lremglk.

Then:

make fizmo-glktermw
cp ./fizmo-glktermw/fizmo-glktermw ../inform6-test/fizmor

Install the Inform 6/11 library

In the inform6-test directory:

git submodule init
git submodule update

Run the tests

python3 dotest.py --compiler ./inform --terp ./glulxer dm4/*.inf
python3 dotest.py -Z --compiler ./inform --terp ./fizmor dm4/*.inf

The second line (the Z-code tests) will fail once, on dm4/ex42.inf. This example uses the Glulxe opcode for deterministic RNG. It does not compile for Z-code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment