Building slipstream locally
To build slipstream locally on debian-based distros, you need the following dependencies installed:
- meson
- cmake
- git
- pkg-config
- libssl-dev
- ninja-build
- clang (or GCC)
Clone the slipstream repo and its submodules recursively. This fetches slipstream, brotili, SPCDNS, lua-resty-base-encoding, and our picoquic fork.
$ git clone --recurse-submodules https://github.com/EndPositive/slipstream.git
You can then configure slipstream by running the following command:
# Configure Meson with debug support (for project developers)
$ meson setup build
# OR for a build with full optimization (recommended for end-users)
$ meson setup --buildtype=release -Db_lto=true --warnlevel=0 build
# Build the client and server binaries
$ meson compile -C build
This will place the client and server binaries in the build/ directory. OpenSSL and other libraries (e.g. GNU C and C++) are dynamically linked into the binary by default where possible.
To enable static linking in as many libraries as possible:
# Add default_library=static option when building
$ meson setup -Ddefault_library=static ... build
A logging library exists within picoquic and may be enabled with a meson build option for debugging:
# Configure full logging
$ meson setup -Dbuild_loglib=true ... build