summaryrefslogtreecommitdiff
path: root/libbindgen/src
diff options
context:
space:
mode:
authorJeff Waugh <jdub@bethesignal.org>2016-11-16 09:27:13 +1100
committerJeff Waugh <jdub@bethesignal.org>2016-11-16 22:21:48 +1100
commita949b5ceef6cf538af59698238f65efa2989ae3c (patch)
tree53329959c1be6b5fce11da804f5cf16f1cb9db7f /libbindgen/src
parent3b1ec9a98752ecf138f937afb8cb5698cd7741d3 (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.rs8
-rw-r--r--libbindgen/src/log_stubs.rs30
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)*); };
+}