nettle-sys
Low-level Rust bindings for the Nettle cryptographic library.
The documentation can be found here.
Features
This is a list of feature flags for this library:
vendored
: Use a packaged version of the Nettle library. Implies static linking.
Cross compilation
nettle-sys
can be cross compiled using cross
and a custom Docker container. First, build the container and install cross
:
Then, you can cross compile the project:
The build artifacts will be placed in target/debug/<toolchain>
.
Static linking
By default, nettle-sys
is dynamically linked to its dependencies.
By defining the NETTLE_STATIC
environment variable during the build, it can
also be statically link to its dependencies:
This is particularly useful to produce standalone binaries that can be easily distributed.
Pregenerate bindings.rs
By default, nettle-sys
invokes bindgen
to generate bindings for
Nettle. In some build environments, this might not work due to
bindgen
depending on libllvm
. In this case, the bindings.rs
may
be pregenerated, and used by setting:
Note: bindings.rs
is specific to target architecture, operating
system, and Nettle version.
License
This project is licensed under either of
- GNU General Public License, Version 2.0, (LICENSE-GPL2 or https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
- GNU General Public License, Version 3.0, (LICENSE-GPL3 or https://www.gnu.org/licenses/gpl.html)
- GNU Lesser General Public License, Version 3.0, (LICENSE-LGPL3 or https://www.gnu.org/licenses/lgpl.html)
at your option.