Skip to content

paveloom-a/Kirk

Repository files navigation

Notices

Mirrors

Repository:

Develop

Make sure you have installed the following:

Allow direnv to load the environment by executing direnv allow.

Then, to build in the debug mode, run

meson setup debug
cd debug
ninja && ./kirk

To build in the release mode, run nix build (the result is the target of the result symbolic link). To run the build immediately, run nix run instead.

You might also want to create a symbolic link of the compile_commands.json file from the debug mode build directory in the root of the repository, so that the tooling can see it:

ln -s debug/compile_commands.json

To lint the code, run ninja lint.

To record the program execution, run ninja && rr record ./kirk. To replay it, run rr replay.

To decode TLS messages, create a key log file via ninja && SSLKEYLOGFILE=ssl_keylog ./kirk, use it with Wireshark afterward.

To check for memory leaks, run:

ninja && valgrind \
    --leak-check=full \
    --show-leak-kinds=definite \
    --suppressions=$GLIB_SUPP_FILE \
    --suppressions=$GTK_SUPP_FILE \
    --suppressions=../kirk.supp \
    ./kirk