A build dependency to compile a native library that uses autotools or
a compatible configure
script + make
.
It is based on cmake-rs and the API tries to be as similar as possible to it.
For Emscripten targets like "wasm32-unknown-emscripten", configure
and
make
invocations are passed as arguments to emconfigure
and emmake
respectively as described in the Emscripten docs.
# Cargo.toml
[build-dependencies]
autotools = "0.2"
// build.rs
use autotools;
// Build the project in the path `foo` and installs it in `$OUT_DIR`
let dst = autotools::build("foo");
// Simply link the library without using pkg-config
println!("cargo:rustc-link-search=native={}", dst.display());
println!("cargo:rustc-link-lib=static=foo");
// build.rs
use autotools::Config;
let dst = Config::new("foo")
.reconf("-ivf")
.enable("feature", None)
.with("dep", None)
.disable("otherfeature", None)
.without("otherdep", None)
.cflag("-Wall")
.build();