Cthulhu  0.2.10
Cthulhu compiler collection
Building Cthulhu

Prerequisites

Configuring and building Cthulhu requires the following tools:

Cthulhu can optionally use the following tools to enable additional features:

  • Doxygen for generating documentation.
  • GMP for better performance compile times.
    • Note that if libgmp is used, it must also be available at runtime.
    • The compiler contains a build time fallback implementation of GMP when it is not available at build time.
  • A C++20 compiler for building the GUI tools.
    • Currently these tools are only available on Windows, and require a d3d12 capable GPU.
  • A Java 8+ compiler for building the jvm driver tests and standard library.

Cthulhus current runtime dependencies are:

  • GMP; only if the compiler is built with GMP support.

Configuration

All available build options are listed in the meson_options.txt file found in the projects root directory.

meson setup build
ninja -C build
ninja -C build docs # build documentation, requires doxygen
ninja -C build test # run tests

Consuming as a meson subproject

By default as a subproject the stable language drivers are built. If you want only a specific set of libraries you can disable everything with the following incantaion.

meson setup build -Dauto_features=disabled

This does not disable the targets, so they are still available by get_variable. all targets are build_by_default : false so meson will compile them on demand.