Skip to content

Commit

Permalink
Skip bindgen 0.70's layout tests before Rust 1.77
Browse files Browse the repository at this point in the history
  • Loading branch information
jrose-signal committed Oct 22, 2024
1 parent 889ad0f commit 3d4180b
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,4 @@ linked_hash_set = "0.1"
once_cell = "1.0"
tower = "0.4"
tower-layer = "0.3"
autocfg = "1.3.0"
1 change: 1 addition & 0 deletions boring-sys/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ pq-experimental = []
underscore-wildcards = []

[build-dependencies]
autocfg = { workspace = true }
bindgen = { workspace = true }
cmake = { workspace = true }
fs_extra = { workspace = true }
Expand Down
6 changes: 5 additions & 1 deletion boring-sys/build/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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()
.derive_copy(true)
.derive_debug(true)
Expand All @@ -700,7 +704,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))
Expand Down

0 comments on commit 3d4180b

Please sign in to comment.