Building fastd¶
Dependencies¶
- libuecc (>= v6; >= v7 recommended; developed together with fastd)
- libsodium or NaCl (for most crypto methods)
- bison (>= 2.6)
- pkg-config
Optional:
- libcap (if
capabilities
is enabled; Linux only; can be disabled if you don’t need POSIX capability support) - libjson-c (if
status_socket
is enabled) - libssl (if
cipher_aes128-ctr
is enabled)
Building¶
Starting with v20, fastd uses the Meson build system.
# Get fastd (or use the release tarballs)
git clone https://github.com/NeoRaider/fastd.git
# Set up a build dir
meson setup fastd fastd-build -Dbuildtype=release
cd fastd-build
# Build fastd, binary can be found in the src subdir of the build dir
ninja
# Install in the system
ninja install
Build settings¶
The build can be configured using the command meson configure
; running it
without any additional arguments will show all available variables. Settings can
be passed to meson setup
or meson configure
using -DVARIABLE=VALUE
.
- By default, fastd will build against libsodium. If you want to use NaCl instead, add
-Duse_nacl=true
- If you have a recent enough toolchain (GCC 4.8 or higher recommended), you can enable link-time optimization by
adding
-Db_lto=true