diff options
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)*); }; +} |