896e6c7f2d
Licenses are boring as hell, so is are all the comments at the top of each file. This patch makes no comment on the merit of license comments in each file, rather this patch reduces the license comment to the minimum possible with no loss of meaning - an SPDX license identifier. Note also please that we remove the "written by" comments as well for the following reasons (discussed recently on rust-bitcoin repo): - they are not descriptive because many devs contributed - they have a tendency to include the wrong date because of cut'n'pasta - all this info is in the git history ref: https://spdx.dev/ids/#how |
||
---|---|---|
.. | ||
depend | ||
src | ||
wasm | ||
CHANGELOG.md | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
build.rs | ||
vendor-libsecp.sh |
README.md
secp256k1-sys
This crate provides Rust definitions for the FFI structures and methods.
Vendoring
The default build process is to build using the vendored libsecp256k1 sources in
the depend folder. These sources are prefixed with a special
rust-secp256k1-sys-specific prefix rustsecp256k1_v1_2_3_
.
This prefix ensures that no symbol collision can happen:
- when a Rust project has two different versions of rust-secp256k1 in its depepdency tree, or
- when rust-secp256k1 is used for building a static library in a context where existing libsecp256k1 symbols are already linked.
To update the vendored sources, use the vendor-libsecp.sh
script:
$ ./vendor-libsecp.sh <rev>
Where <rev>
is the git revision of libsecp256k1 to checkout. If you do not
specify a revision, the script will simply clone the repo and use whatever
revision the default branch is pointing to.
Linking to external symbols
If you want to compile this library without using the bundled symbols (which may
be required for integration into other build systems), you can do so by adding
--cfg=rust_secp_no_symbol_renaming'
to your RUSTFLAGS
variable.
Minimum Supported Rust Version
This library should always compile with any combination of features on Rust 1.48.0.