From 15d818928ed8bc953237808f20adc763d915db49 Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Sat, 12 Jan 2019 13:54:09 +0000 Subject: Check the USE_SYSTEM_LIBNITROKEY environment variable This patch introduces the USE_SYSTEM_LIBNITROKEY environment variable. If it is set when compiling, the nitrokey-sys crate will not try to build libnitrokey from source but instead uses the system libnitrokey version. --- CHANGELOG.md | 4 ++++ README.md | 5 +++++ build.rs | 5 +++++ 3 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf03817..cbe0b65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# Unreleased +- Link directly against `libnitrokey` if the `USE_SYSTEM_LIBNITROKEY` + environment variable is set. + # v3.4.2 (2019-01-01) - Use the -std=c++14 compiler flag. - Change the build script to link to `-lhidapi` on non-Linux operating systems diff --git a/README.md b/README.md index 94cbc1e..343b7b5 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,11 @@ in the library search path: - `libhidapi-libusb0` (on Linux) - `libhidapi` (on non-Linux systems) +If you set the `USE_SYSTEM_LIBNITROKEY` environment variable when building this +crate, it links directly against `libnitrokey` instead of building it from +source. In this case, `libnitrokey` must be available in the library search +path. + ## Versioning The major and minor version of the `nitrokey-sys` crate map to the major and diff --git a/build.rs b/build.rs index af64a69..defce72 100644 --- a/build.rs +++ b/build.rs @@ -54,6 +54,11 @@ fn prepare_version_source( } fn main() { + if env::var("USE_SYSTEM_LIBNITROKEY").is_ok() { + println!("cargo:rustc-link-lib=nitrokey"); + return; + } + let out_dir = env::var("OUT_DIR").expect("Environment variable OUT_DIR is not set"); let out_path = path::PathBuf::from(out_dir); -- cgit v1.2.3