summaryrefslogtreecommitdiff
path: root/src/options.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/options.rs')
-rw-r--r--src/options.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/options.rs b/src/options.rs
index 1ba349a9..a850dbbb 100644
--- a/src/options.rs
+++ b/src/options.rs
@@ -1,6 +1,7 @@
use bindgen::{
- builder, AliasVariation, Builder, CodegenConfig, EnumVariation, RustTarget,
- DEFAULT_ANON_FIELDS_PREFIX, RUST_TARGET_STRINGS,
+ builder, AliasVariation, Builder, CodegenConfig, EnumVariation,
+ MacroTypeVariation, RustTarget, DEFAULT_ANON_FIELDS_PREFIX,
+ RUST_TARGET_STRINGS,
};
use clap::{App, Arg};
use std::fs::File;
@@ -87,6 +88,13 @@ where
.takes_value(true)
.multiple(true)
.number_of_values(1),
+ Arg::with_name("default-macro-constant-type")
+ .long("default-macro-constant-type")
+ .help("The default signed/unsigned type for C macro constants.")
+ .value_name("variant")
+ .default_value("unsigned")
+ .possible_values(&["signed", "unsigned"])
+ .multiple(false),
Arg::with_name("default-alias-style")
.long("default-alias-style")
.help("The default style of code used to generate typedefs.")
@@ -522,6 +530,11 @@ where
}
}
+ if let Some(variant) = matches.value_of("default-macro-constant-type") {
+ builder = builder
+ .default_macro_constant_type(MacroTypeVariation::from_str(variant)?)
+ }
+
if let Some(variant) = matches.value_of("default-alias-style") {
builder =
builder.default_alias_style(AliasVariation::from_str(variant)?);