summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 9bbefaad..0bcdf789 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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(),