Skip to content

Latest commit

History

History
68 lines (44 loc) 路 1.3 KB

BUILDING.md

File metadata and controls

68 lines (44 loc) 路 1.3 KB

Building from Source

Dependencies

  • make - needed to build openssl via vendor feature
  • perl - needed to build openssl via vendor feature

FreeBSD

  • gmake - needed to build openssl via vender feature (pkg install gmake)

Using Cargo

A debug build is straightforward:

cargo build

A release build is also straightforward:

cargo build --release

If you want to install the binary locally from source:

# Where you are currently an the root of the project
cargo install --path .

Completely static binary

To compile a completely static binary (not linked to libc), we need to target musl using:

rustup target add x86_64-unknown-linux-musl
cargo build --target x86_64-unknown-linux-musl

Mac-specific

Note that on Mac OS X you will need to install musl-gcc:

brew install FiloSottile/musl-cross/musl-cross

And to do a strip (on Mac), use the musl strip:

x86_64-linux-musl-gcc target/x86_64-unknown-linux-musl/release/distant

At the moment, this is not possible to build on M1 Macs: FiloSottile/homebrew-musl-cross#23

Using Docker

From the root of the repository, run the below, replacing VERSION with a version like 0.16.4:

docker build -t chipsenkbeil/distant:VERSION .