Skip bindgen 0.70's layout tests before Rust 1.77
This commit is contained in:
parent
bb373e5550
commit
3044e9ba98
|
|
@ -49,3 +49,4 @@ openssl-macros = "0.1.1"
|
|||
tower = "0.4"
|
||||
tower-layer = "0.3"
|
||||
tower-service = "0.3"
|
||||
autocfg = "1.3.0"
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ pq-experimental = []
|
|||
underscore-wildcards = []
|
||||
|
||||
[build-dependencies]
|
||||
autocfg = { workspace = true }
|
||||
bindgen = { workspace = true }
|
||||
cmake = { workspace = true }
|
||||
fs_extra = { workspace = true }
|
||||
|
|
|
|||
|
|
@ -687,6 +687,10 @@ fn main() {
|
|||
}
|
||||
});
|
||||
|
||||
// bindgen 0.70 replaced the run-time layout tests with compile-time ones,
|
||||
// but they depend on std::mem::offset_of, stabilized in 1.77.
|
||||
let supports_layout_tests = autocfg::new().probe_rustc_version(1, 77);
|
||||
|
||||
let mut builder = bindgen::Builder::default()
|
||||
.rust_target(bindgen::RustTarget::Stable_1_68) // bindgen MSRV is 1.70, so this is enough
|
||||
.derive_copy(true)
|
||||
|
|
@ -701,7 +705,7 @@ fn main() {
|
|||
.generate_comments(true)
|
||||
.fit_macro_constants(false)
|
||||
.size_t_is_usize(true)
|
||||
.layout_tests(true)
|
||||
.layout_tests(supports_layout_tests)
|
||||
.prepend_enum_name(true)
|
||||
.blocklist_type("max_align_t") // Not supported by bindgen on all targets, not used by BoringSSL
|
||||
.clang_args(get_extra_clang_args_for_bindgen(&config))
|
||||
|
|
|
|||
Loading…
Reference in New Issue