summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/log_stubs.rs6
-rw-r--r--src/main.rs7
2 files changed, 10 insertions, 3 deletions
diff --git a/src/log_stubs.rs b/src/log_stubs.rs
index 4262e120..4a72d9a5 100644
--- a/src/log_stubs.rs
+++ b/src/log_stubs.rs
@@ -1,12 +1,12 @@
macro_rules! log {
- (target: $target:expr, $lvl:expr, $($arg)+) => {
+ (target: $target:expr, $lvl:expr, $($arg:tt)+) => {
let _ = $target;
let _ = log!($lvl, $($arg)+);
};
- ($lvl:expr, $($arg:tt)+) => {
+ ($lvl:expr, $($arg:tt)+) => {{
let _ = $lvl;
let _ = format_args!($($arg)+);
- };
+ }};
}
macro_rules! error {
(target: $target:expr, $($arg:tt)*) => { log!($target, $($arg)*); };
diff --git a/src/main.rs b/src/main.rs
index df596e0b..2ba2b139 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,6 +1,8 @@
extern crate bindgen;
+#[cfg(feature="logging")]
extern crate env_logger;
#[macro_use]
+#[cfg(feature="logging")]
extern crate log;
extern crate clang_sys;
extern crate clap;
@@ -10,10 +12,15 @@ use bindgen::clang_version;
use std::env;
use std::panic;
+#[macro_use]
+#[cfg(not(feature="logging"))]
+mod log_stubs;
+
mod options;
use options::builder_from_flags;
pub fn main() {
+ #[cfg(feature="logging")]
log::set_logger(|max_log_level| {
use env_logger::Logger;
let env_logger = Logger::new();