diff options
Diffstat (limited to 'src/options.rs')
-rw-r--r-- | src/options.rs | 17 |
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)?); |