diff options
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 21 |
1 files changed, 20 insertions, 1 deletions
@@ -72,7 +72,7 @@ doc_mod!(ir, ir_docs); doc_mod!(parse, parse_docs); doc_mod!(regex_set, regex_set_docs); -pub use crate::codegen::{AliasVariation, EnumVariation}; +pub use crate::codegen::{AliasVariation, EnumVariation, MacroTypeVariation}; use crate::features::RustFeatures; pub use crate::features::{ RustTarget, LATEST_STABLE_RUST, RUST_TARGET_STRINGS, @@ -267,6 +267,12 @@ impl Builder { ) } + if self.options.default_macro_constant_type != Default::default() { + output_vector.push("--default-macro-constant-type".into()); + output_vector + .push(self.options.default_macro_constant_type.as_str().into()); + } + if self.options.default_alias_style != Default::default() { output_vector.push("--default-alias-style".into()); output_vector @@ -872,6 +878,15 @@ impl Builder { self } + /// Set the default type for macro constants + pub fn default_macro_constant_type( + mut self, + arg: codegen::MacroTypeVariation, + ) -> Builder { + self.options.default_macro_constant_type = arg; + self + } + /// Set the default style of code to generate for typedefs pub fn default_alias_style( mut self, @@ -1513,6 +1528,9 @@ struct BindgenOptions { /// The enum patterns to mark an enum as a set of constants. constified_enums: RegexSet, + /// The default type for C macro constants. + default_macro_constant_type: codegen::MacroTypeVariation, + /// The default style of code to generate for typedefs. default_alias_style: codegen::AliasVariation, @@ -1800,6 +1818,7 @@ impl Default for BindgenOptions { rustified_non_exhaustive_enums: Default::default(), constified_enums: Default::default(), constified_enum_modules: Default::default(), + default_macro_constant_type: Default::default(), default_alias_style: Default::default(), type_alias: Default::default(), new_type_alias: Default::default(), |