aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md4
-rw-r--r--README.md5
-rw-r--r--build.rs5
3 files changed, 14 insertions, 0 deletions
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);