Configuring the build
Start by following the general installation instructions.
The yk repo is a Rust workspace (i.e. a collection of crates). You can build
and test in the usual ways using cargo. For example, to build and test the
system, run:
cargo test
YKB_YKLLVM_BIN_DIR
Under normal circumstances, yk builds a copy of its LLVM fork "ykllvm", which
it also uses it to build interpreters (via the compiler's use of yk-config).
You can use your own ykllvm build by specifying the directory where the
executables (e.g. clang, llvm-config, and so on) are stored with
YKB_YKLLVM_BIN_DIR.
yk does not check your installation for compatibility: it is your responsibility to ensure that your ykllvm build matches that expected by yk.
It is also undefined behaviour to move between defining this variable and not
within a repository using yk (including the yk repository itself). If you
want to set/unset YKB_YKLLVM_BIN_DIR then cargo clean any repositories
using yk before rebuilding them.
YKB_TRACER
The YKB_TRACER environment variable allows building yk with either hwt
(Hardware Tracer) or swt (Software Software Tracer).
swt - CPU architecture-independent. The default.
hwt - Relies on Intel PT. Suitable only for x86 CPUs supporting it.