This crate contains the logic to build Tongsuo and is intended to be consumed by
the openssl-sys
crate. You likely in theory aren't interacting with this too
much!
This crate is based on openssl-src-rs.
There are currently two maintained branches:
main
which builds Tongsuo 8.4.0stable-8.3
which builds Tongsuo 8.3.2
The crates versions follow the X.Y.Z+B
pattern:
- The major version
X
is the upstream OpenSSL version:832
for 8.3.2840
for 8.4.0 (to be higher than832
)
- The minor
Y
and patchZ
versions are incremented when making changes to the crate, either OpenSSL update or internal changes. B
contains the full upstream OpenSSL version, like8.3.2
or8.4.0-pre1
. Note that this field is actually ignored in comparisons and only there for documentation.
Building OpenSSL for windows-msvc
targets, users can choose whether to enable
assembly language routines, which requires nasm.
The build process will automatically detect whether nasm.exe
is installed in
PATH. If found, the assembly language routines will be enabled (in other words,
the no-asm
option will NOT be configured).
You can manipulate this behavior by setting the OPENSSL_RUST_USE_NASM
environment
variable:
1
: Force enable the assembly language routines. (panic ifnasm.exe
is not available.)0
: Force disable the assembly language routines even if thenasm.exe
can be found in PATH.- not set: Let the build process automatically detect whether
nasm.exe
is installed. If found, enable. If not, disable.
However, this environment variable does NOT take effects on non-windows platforms.
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in openssl-src by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.