-
Notifications
You must be signed in to change notification settings - Fork 49
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
170 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,81 @@ | ||
# aws-lc-sys | ||
|
||
[![crates.io](https://img.shields.io/crates/v/aws-lc-sys.svg)](https://crates.io/crates/aws-lc-sys) | ||
[![GitHub](https://img.shields.io/badge/GitHub-awslabs%2Faws--lc--rs-blue)](https://github.com/awslabs/aws-lc-rs) | ||
[![GitHub](https://img.shields.io/badge/GitHub-aws%2Faws--lc--rs-blue)](https://github.com/aws/aws-lc-rs) | ||
|
||
**Autogenerated** Low-level AWS-LC bindings for the Rust programming language. We do not recommend directly relying on these bindings. | ||
**Autogenerated** Low-level bindings to the AWS-LC library for the Rust programming language. The versioning for this | ||
crate will be unstable. | ||
New releases of AWS-LC will correspond to a new `0.x.0` version of this crate. Features and/or fixes from AWS-LC | ||
will not be backported to older versions of this crate. We do not recommend taking a direct dependency on this crate. | ||
|
||
See our [User Guide](https://aws.github.io/aws-lc-rs/) for guidance on installing build requirements. | ||
|
||
[Documentation](https://github.com/aws/aws-lc). | ||
|
||
## Release Support | ||
## Build Support | ||
|
||
This crate pulls in the source code of AWS-LC to build with it. Bindings for platforms we officially support are pre-generated. To generate bindings for any platforms where pre-generated bindings aren't available, you can use the `generate_bindings` feature to do so. | ||
This crate pulls in the source code of AWS-LC to build with it. Bindings for popular platforms are pre-generated. | ||
To generate bindings for platforms where pre-generated bindings aren't available, you can either specify our `bindgen` | ||
feature or install the [bindgen-cli](https://crates.io/crates/bindgen-cli). | ||
|
||
### Pregenerated Bindings Availability | ||
|
||
CPU|OS | ||
-------------|------------- | ||
x86|Linux | ||
x86-64|Linux | ||
arm-64|Linux | ||
x86-64|MacOS | ||
Targets | ||
------------- | ||
aarch64_apple_darwin | ||
aarch64_pc_windows_msvc | ||
aarch64_unknown_linux_gnu | ||
aarch64_unknown_linux_musl | ||
i686_pc_windows_msvc | ||
i686_unknown_linux_gnu | ||
x86_64_apple_darwin | ||
x86_64_pc_windows_gnu | ||
x86_64_pc_windows_msvc | ||
x86_64_unknown_linux_gnu | ||
x86_64_unknown_linux_musl | ||
|
||
### Use of prebuilt NASM objects | ||
|
||
For Windows x86 and x86-64, the AWS-LC assembly code requires NASM to build. On these platforms, | ||
we recommend that you install [the NASM assembler](https://www.nasm.us/). If a NASM assembler is | ||
found during the build process, then it *will* be used to compile the assembly files. However, | ||
if a NASM assembler is not found, then the build may fail except in the following case: | ||
|
||
* You are building for `x86-64` and either: | ||
* The `AWS_LC_SYS_PREBUILT_NASM` environment variable is found and has a value of "1" (or the value is empty); OR | ||
* `AWS_LC_SYS_PREBUILT_NASM` is *not found* in the environment AND the "prebuilt-nasm" feature has been enabled. | ||
|
||
If the above cases apply, then our prebuilt NASM objects may be used for the build. To prevent our prebuilt NASM | ||
objects from being used, please install NASM and/or set `AWS_LC_SYS_PREBUILT_NASM=0` in your build environment to | ||
prevent their use. | ||
|
||
#### About prebuilt NASM objects | ||
|
||
Our prebuilt NASM objects are generated using the same automation that produces our pregenerated bindings. See our | ||
[GitHub workflow configuration](https://github.com/aws/aws-lc-rs/blob/main/.github/workflows/sys-bindings-generator.yml). | ||
The prebuilt NASM objects are checked into our repository | ||
and are [available for inspection](https://github.com/aws/aws-lc-rs/tree/main/aws-lc-sys/builder/prebuilt-nasm). | ||
For each PR submitted, | ||
[our CI verifies](https://github.com/aws/aws-lc-rs/blob/8fb6869fc7bde92529a5cca40cf79513820984f7/.github/workflows/tests.yml#L209-L241) | ||
that the NASM objects newly built from source match the NASM objects currently in the repository. | ||
|
||
## Build Prerequisites | ||
|
||
Since this crate builds AWS-LC as a native library, most build tools needed to build AWS-LC are applicable to `aws-lc-sys` as well. Go and Perl aren't absolutely necessary for `aws-lc-sys`, as AWS-LC provides generated build files. | ||
Since this crate builds AWS-LC as a native library, most build tools needed to build AWS-LC are applicable | ||
to `aws-lc-sys` as well. Go and Perl aren't absolutely necessary for `aws-lc-sys`, as AWS-LC provides generated build | ||
files. | ||
|
||
[Building AWS-LC](https://github.com/awslabs/aws-lc/blob/main/BUILDING.md) | ||
[Building AWS-LC](https://github.com/aws/aws-lc/blob/main/BUILDING.md) | ||
|
||
AWS-LC is tested on a variety of C/C++ compiler, OS, and CPU combinations. For a complete list of tested combinations see [tests/ci/Readme.md](https://github.com/awslabs/aws-lc/tree/main/tests/ci#unit-tests). If you use a different build combination and would like us to support it, please open an issue to us at [AWS-LC](https://github.com/awslabs/aws-lc/issues/new?assignees=&labels=&template=build-issue.md&title=). | ||
AWS-LC is tested on a variety of C/C++ compiler, OS, and CPU combinations. For a complete list of tested combinations | ||
see [tests/ci/Readme.md](https://github.com/aws/aws-lc/tree/main/tests/ci#unit-tests). If you use a different build | ||
combination and would like us to support it, please open an issue to us | ||
at [AWS-LC](https://github.com/aws/aws-lc/issues/new?assignees=&labels=&template=build-issue.md&title=). | ||
|
||
## Building with a FIPS-validated module | ||
|
||
This crate does not offer the AWS-LC FIPS build. To use AWS-LC FIPS, please use the FIPS version of this crate, available at [aws-lc-fips-sys](https://crates.io/crates/aws-lc-fips-sys). | ||
This crate does not offer the AWS-LC FIPS build. To use AWS-LC FIPS, please use the FIPS version of this crate, | ||
available at [aws-lc-fips-sys](https://crates.io/crates/aws-lc-fips-sys). | ||
|
||
## Security Notification Process | ||
|
||
|
@@ -45,8 +90,8 @@ Please contact [email protected]. | |
|
||
## Contribution | ||
|
||
See contributing file at [AWS-LC](https://github.com/awslabs/aws-lc/blob/main/CONTRIBUTING.md) | ||
See contributing file at [AWS-LC](https://github.com/aws/aws-lc/blob/main/CONTRIBUTING.md) | ||
|
||
## Licensing | ||
|
||
See license at [AWS-LC](https://github.com/awslabs/aws-lc/blob/main/LICENSE) | ||
See license at [AWS-LC](https://github.com/aws/aws-lc/blob/main/LICENSE) |