Merge rust-bitcoin/rust-secp256k1#488: Support non-WASM platforms that are missing `string.h`
92b733386f
Support non-WASM platforms that are missing `string.h` (Matt Corallo) Pull request description: Dunno why we haven't seen this elsewhere, but when trying to build locally for an ARM embedded target `secp256k1-sys` failed to compile as it was missing `string.h`, just like WASM. This patch adds a trivial fallback - if we fail to compile initially we unconditionally retry with the wasm-sysroot, giving us a valid `string.h`. ACKs for top commit: tcharding: ACK92b733386f
apoelstra: ACK92b733386f
Tree-SHA512: 81cbc5023f349681a3bef138506d9314be948b8b7b78bb2b2ffacf43b0c97d92ea67238105009a94b05a0a3adbd4113ed68f79a0a303708d95c6a7f520d5170e
This commit is contained in:
commit
5a546945ad
|
@ -62,7 +62,14 @@ fn main() {
|
|||
base_config.file("depend/secp256k1/contrib/lax_der_parsing.c")
|
||||
.file("depend/secp256k1/src/precomputed_ecmult_gen.c")
|
||||
.file("depend/secp256k1/src/precomputed_ecmult.c")
|
||||
.file("depend/secp256k1/src/secp256k1.c")
|
||||
.compile("libsecp256k1.a");
|
||||
.file("depend/secp256k1/src/secp256k1.c");
|
||||
|
||||
if base_config.try_compile("libsecp256k1.a").is_err() {
|
||||
// Some embedded platforms may not have, eg, string.h available, so if the build fails
|
||||
// simply try again with the wasm sysroot (but without the wasm type sizes) in the hopes
|
||||
// that it works.
|
||||
base_config.include("wasm/wasm-sysroot");
|
||||
base_config.compile("libsecp256k1.a");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue