Previous: Binary installation, Up: Installation [Contents][Index]
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 obtaining the following dependencies:
If the optional dependencies are present then Hoot will build its
(hoot web-server) module that provides a development web
server. It is recommended to install all optional dependencies for
the best developer experience.
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:
./bootstrap.sh
Release tarballs have a pre-bootstrapped build system and do not require the above step.
Now, build Hoot:
./configure make
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
Make sure that the Hoot libraries are on Guile’s load path by
inspecting both GUILE_LOAD_PATH and
GUILE_LOAD_COMPILED_PATH to see if the proper directories
within the chosen installation prefix appear. If the directories are
missing then they can be added with the following shell commands:
export GUILE_LOAD_PATH="/some/where/else/share/guile/site/3.0:$GUILE_LOAD_PATH" export GUILE_LOAD_COMPILED_PATH="/some/where/else/lib/guile/3.0/site-ccache:$GUILE_LOAD_COMPILED_PATH"
To try out Hoot without installing it, use the pre-inst-env
wrapper to run hoot in the context of the build directory.
The following will open a Hoot interpreter prompt:
./pre-inst-env hoot repl
Likewise, a Guile process with access to Hoot’s libraries can be started with pre-inst-env:
./pre-inst-env 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.
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 either NodeJS (version 22+)
or 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]