Previous: , Up: Installation   [Contents][Index]

1.2.2 Building from source

The easiest way to get everything necessary to build Hoot is by using the GNU Guix package manager for which we provide a guix.scm file ready for use with guix shell:

cd guile-hoot/
guix shell

guix shell will download/compile all required dependencies and start an interactive shell that is ready to use for building Hoot.

To use Hoot without Guix requires building Guile from source. Hoot is currently undergoing a lot of development and requires a bleeding-edge Guile built against the main branch. Eventually Hoot will just require a stable release of Guile.

With a sufficiently fresh Guile, via Guix or otherwise, the build can begin. If you are building from a Git checkout rather than an official release tarball, the first step is to bootstrap the build system:


Release tarballs have a pre-bootstrapped build system and do not require the above step.

Now, build Hoot:


If you’d like to install Hoot onto your system, run:

sudo make install

The GNU build system defaults to /usr/local as the installation prefix. This can be changed by re-running the configure script:

./configure --prefix=/some/where/else
sudo make install

To try out Hoot without installing it, use the pre-inst-env wrapper to launch Guile in the context of the Hoot build directory:

./pre-inst-env guile

If you installed Guile to your system, simply run guile.

If everything went well, you will be greeted with a Guile REPL prompt. Regardless of installation status, to verify that Guile can find the Hoot modules, run:

scheme@(guile-user)> ,use (hoot compile)

If there is no error then congratulations! Your setup is correct. Proceed to the tutorial for a crash course in how to use Hoot, or see later chapters for an API reference. Running the test suite

This is entirely optional, but if you’d like further verification that your build is good (or perhaps you’re packaging Hoot for distribution), the test suite can be run via make check. By default, the tests are run against two Wasm runtimes: Hoot’s own Wasm interpreter and V8 via the d8 tool.

Getting V8 can be tricky, and will most likely require you to compile it from source. It’s a pain! To skip all of that trouble and just run the tests against the built-in interpreter, run:

make check WASM_HOST=hoot

Previous: Binary installation, Up: Installation   [Contents][Index]