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 /libbindgen/src | |
parent | 3b1ec9a98752ecf138f937afb8cb5698cd7741d3 (diff) |
libbindgen: Make logging optional
Note that the log crate isn't completely banished, as other is required
by other dependencies.
Diffstat (limited to 'libbindgen/src')
-rw-r--r-- | libbindgen/src/lib.rs | 8 | ||||
-rw-r--r-- | libbindgen/src/log_stubs.rs | 30 |
2 files changed, 37 insertions, 1 deletions
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)*); }; +} |