Move WASM const definitions to a source file
Currently we are defining the WASM integer size and alignments in the `stdio.h` header file, this is wrong because this file is included in the build by way of `build.rs` as well as by upstream `libsecp256k1`. Move WASM integer definitions to a `C` source file and build the file into the binary if target is WASM.
This commit is contained in:
parent
ae985dd191
commit
bfd88dbd6c
|
@ -52,9 +52,10 @@ fn main() {
|
|||
#[cfg(feature = "recovery")]
|
||||
base_config.define("ENABLE_MODULE_RECOVERY", Some("1"));
|
||||
|
||||
// Header files. WASM only.
|
||||
// WASM headers and size/align defines.
|
||||
if env::var("CARGO_CFG_TARGET_ARCH").unwrap() == "wasm32" {
|
||||
base_config.include("wasm-sysroot");
|
||||
base_config.include("wasm/wasm-sysroot")
|
||||
.file("wasm/wasm.c");
|
||||
}
|
||||
|
||||
// secp256k1
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
#include <stddef.h>
|
||||
#define alignof(type) offsetof (struct { char c; type member; }, member)
|
||||
|
||||
extern const unsigned char WASM32_INT_SIZE = sizeof(int);
|
||||
extern const unsigned char WASM32_INT_ALIGN = alignof(int);
|
||||
|
||||
extern const unsigned char WASM32_UNSIGNED_INT_SIZE = sizeof(unsigned int);
|
||||
extern const unsigned char WASM32_UNSIGNED_INT_ALIGN = alignof(unsigned int);
|
||||
|
||||
extern const unsigned char WASM32_SIZE_T_SIZE = sizeof(size_t);
|
||||
extern const unsigned char WASM32_SIZE_T_ALIGN = alignof(size_t);
|
||||
|
||||
extern const unsigned char WASM32_UNSIGNED_CHAR_SIZE = sizeof(unsigned char);
|
||||
extern const unsigned char WASM32_UNSIGNED_CHAR_ALIGN = alignof(unsigned char);
|
||||
|
||||
extern const unsigned char WASM32_PTR_SIZE = sizeof(void*);
|
||||
extern const unsigned char WASM32_PTR_ALIGN = alignof(void*);
|
|
@ -0,0 +1,17 @@
|
|||
#include <stddef.h>
|
||||
#define alignof(type) offsetof (struct { char c; type member; }, member)
|
||||
|
||||
const unsigned char WASM32_INT_SIZE = sizeof(int);
|
||||
const unsigned char WASM32_INT_ALIGN = alignof(int);
|
||||
|
||||
const unsigned char WASM32_UNSIGNED_INT_SIZE = sizeof(unsigned int);
|
||||
const unsigned char WASM32_UNSIGNED_INT_ALIGN = alignof(unsigned int);
|
||||
|
||||
const unsigned char WASM32_SIZE_T_SIZE = sizeof(size_t);
|
||||
const unsigned char WASM32_SIZE_T_ALIGN = alignof(size_t);
|
||||
|
||||
const unsigned char WASM32_UNSIGNED_CHAR_SIZE = sizeof(unsigned char);
|
||||
const unsigned char WASM32_UNSIGNED_CHAR_ALIGN = alignof(unsigned char);
|
||||
|
||||
const unsigned char WASM32_PTR_SIZE = sizeof(void*);
|
||||
const unsigned char WASM32_PTR_ALIGN = alignof(void*);
|
Loading…
Reference in New Issue