diff options
author | Jeff Waugh <jdub@bethesignal.org> | 2016-11-16 09:27:13 +1100 |
---|---|---|
committer | Jeff Waugh <jdub@bethesignal.org> | 2016-11-16 22:21:48 +1100 |
commit | a949b5ceef6cf538af59698238f65efa2989ae3c (patch) | |
tree | 53329959c1be6b5fce11da804f5cf16f1cb9db7f | |
parent | 3b1ec9a98752ecf138f937afb8cb5698cd7741d3 (diff) |
libbindgen: Make logging optional
Note that the log crate isn't completely banished, as other is required
by other dependencies.
-rw-r--r-- | libbindgen/Cargo.toml | 12 | ||||
-rw-r--r-- | libbindgen/src/lib.rs | 8 | ||||
-rw-r--r-- | libbindgen/src/log_stubs.rs | 30 | ||||
-rw-r--r-- | libbindgen/tests/tests.rs | 3 |
4 files changed, 47 insertions, 6 deletions
diff --git a/libbindgen/Cargo.toml b/libbindgen/Cargo.toml index 664ece6e..e275100b 100644 --- a/libbindgen/Cargo.toml +++ b/libbindgen/Cargo.toml @@ -28,8 +28,6 @@ cfg-if = "0.1.0" clang-sys = "0.8.0" lazy_static = "0.1.*" libc = "0.2" -log = "0.3" -env_logger = "0.3" rustc-serialize = "0.3.19" syntex_syntax = "0.44" regex = "0.1" @@ -43,12 +41,22 @@ version = "0.28" optional = true version = "*" +[dependencies.env_logger] +optional = true +version = "0.3" + +[dependencies.log] +optional = true +version = "0.3" + [dependencies.quasi] features = ["with-syntex"] version = "0.20" [features] +default = ["logging"] llvm_stable = [] +logging = ["env_logger", "log"] static = [] # This feature only exists for CI -- don't use it! _docs = [] diff --git a/libbindgen/src/lib.rs b/libbindgen/src/lib.rs index e4923b77..84c69310 100644 --- a/libbindgen/src/lib.rs +++ b/libbindgen/src/lib.rs @@ -29,9 +29,15 @@ extern crate clang_sys; extern crate libc; extern crate regex; #[macro_use] +extern crate lazy_static; + +#[cfg(feature = "logging")] +#[macro_use] extern crate log; + +#[cfg(not(feature = "logging"))] #[macro_use] -extern crate lazy_static; +mod log_stubs; // A macro to declare an internal module for which we *must* provide // documentation for. If we are building with the "_docs" feature, then the diff --git a/libbindgen/src/log_stubs.rs b/libbindgen/src/log_stubs.rs new file mode 100644 index 00000000..4262e120 --- /dev/null +++ b/libbindgen/src/log_stubs.rs @@ -0,0 +1,30 @@ +macro_rules! log { + (target: $target:expr, $lvl:expr, $($arg)+) => { + let _ = $target; + let _ = log!($lvl, $($arg)+); + }; + ($lvl:expr, $($arg:tt)+) => { + let _ = $lvl; + let _ = format_args!($($arg)+); + }; +} +macro_rules! error { + (target: $target:expr, $($arg:tt)*) => { log!($target, $($arg)*); }; + ($($arg:tt)*) => { log!("", $($arg)*); }; +} +macro_rules! warn { + (target: $target:expr, $($arg:tt)*) => { log!($target, $($arg)*); }; + ($($arg:tt)*) => { log!("", $($arg)*); }; +} +macro_rules! info { + (target: $target:expr, $($arg:tt)*) => { log!($target, $($arg)*); }; + ($($arg:tt)*) => { log!("", $($arg)*); }; +} +macro_rules! debug { + (target: $target:expr, $($arg:tt)*) => { log!($target, $($arg)*); }; + ($($arg:tt)*) => { log!("", $($arg)*); }; +} +macro_rules! trace { + (target: $target:expr, $($arg:tt)*) => { log!($target, $($arg)*); }; + ($($arg:tt)*) => { log!("", $($arg)*); }; +} diff --git a/libbindgen/tests/tests.rs b/libbindgen/tests/tests.rs index c0786406..63503282 100644 --- a/libbindgen/tests/tests.rs +++ b/libbindgen/tests/tests.rs @@ -1,9 +1,6 @@ extern crate clap; extern crate diff; -#[macro_use] -extern crate env_logger; extern crate libbindgen; -extern crate log; extern crate shlex; use std::fs; |