alexv-smirnov bf0f13dd39 add ymake export to ydb 1 year ago
..
include 3b241dd57c Restoring authorship annotation for <unril@yandex-team.ru>. Commit 2 of 2. 2 years ago
source 870d76c3b5 intermediate changes 2 years ago
CMakeLists.darwin-x86_64.txt 33ed6077e6 Intermediate changes 1 year ago
CMakeLists.linux-aarch64.txt a9e5890a07 NO_COMPILER_WARNINGS in cmake msvc builds 1 year ago
CMakeLists.linux-x86_64.txt 33ed6077e6 Intermediate changes 1 year ago
CMakeLists.txt 887be65957 External build system generator release 29 1 year ago
CMakeLists.windows-x86_64.txt d10a044a8e Optimizers for provider's support in KQP 1 year ago
CODE_OF_CONDUCT.md 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. 2 years ago
CONTRIBUTING.md 870d76c3b5 intermediate changes 2 years ago
LICENSE 3b241dd57c Restoring authorship annotation for <unril@yandex-team.ru>. Commit 2 of 2. 2 years ago
NOTICE 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. 2 years ago
README.md 870d76c3b5 intermediate changes 2 years ago
ya.make bf0f13dd39 add ymake export to ydb 1 year ago

README.md

AWS C Event Stream

C99 implementation of the vnd.amazon.event-stream content-type.

License

This library is licensed under the Apache 2.0 License.

Usage

Building

Building s2n (Linux Only)

If you are building on Linux, you will need to build s2n before being able to build aws-c-io. For our CRT's, we build s2n at a specific commit, and recommend doing the same when using it with this library. That commit hash can be found here. The commands below will build s2n using OpenSSL 1.1.1. For using other versions of OpenSSL, there is additional information in the s2n Usage Guide.

git clone git@github.com:awslabs/s2n.git
cd s2n
git checkout <s2n-commit-hash-used-by-aws-crt-cpp>

# We keep the build artifacts in the -build directory
cd libcrypto-build

# Download the latest version of OpenSSL
curl -LO https://www.openssl.org/source/openssl-1.1.1-latest.tar.gz
tar -xzvf openssl-1.1.1-latest.tar.gz

# Build openssl libcrypto.  Note that the install path specified here must be absolute.
cd `tar ztf openssl-1.1.1-latest.tar.gz | head -n1 | cut -f1 -d/`
./config -fPIC no-shared              \
         no-md2 no-rc5 no-rfc3779 no-sctp no-ssl-trace no-zlib     \
         no-hw no-mdc2 no-seed no-idea enable-ec_nistp_64_gcc_128 no-camellia\
         no-bf no-ripemd no-dsa no-ssl2 no-ssl3 no-capieng                  \
         -DSSL_FORBID_ENULL -DOPENSSL_NO_DTLS1 -DOPENSSL_NO_HEARTBEATS      \
         --prefix=<absolute-install-path>
make
make install

# Build s2n
cd ../../../
cmake -DCMAKE_PREFIX_PATH=<install-path> -DCMAKE_INSTALL_PREFIX=<install-path> -S s2n -B s2n/build
cmake --build s2n/build --target install

Building aws-c-event-stream and Remaining Dependencies

Note that aws-c-event-stream has several dependencies:

git clone git@github.com:awslabs/aws-c-common.git
cmake -DCMAKE_PREFIX_PATH=<install-path> -DCMAKE_INSTALL_PREFIX=<install-path> -S aws-c-common -B aws-c-common/build
cmake --build aws-c-common/build --target install

git clone git@github.com:awslabs/aws-checksums.git
cmake -DCMAKE_PREFIX_PATH=<install-path> -DCMAKE_INSTALL_PREFIX=<install-path> -S aws-checksums -B aws-checksums/build
cmake --build aws-checksums/build --target install

git clone git@github.com:awslabs/aws-c-cal.git
cmake -DCMAKE_PREFIX_PATH=<install-path> -DCMAKE_INSTALL_PREFIX=<install-path> -S aws-c-cal -B aws-c-cal/build
cmake --build aws-c-cal/build --target install

git clone git@github.com:awslabs/aws-c-io.git
cmake -DCMAKE_PREFIX_PATH=<install-path> -DCMAKE_INSTALL_PREFIX=<install-path> -S aws-c-io -B aws-c-io/build
cmake --build aws-c-io/build --target install

git clone git@github.com:awslabs/aws-c-event-stream.git
cmake -DCMAKE_PREFIX_PATH=<install-path> -DCMAKE_INSTALL_PREFIX=<install-path> -S aws-c-event-stream -B aws-c-event-stream/build
cmake --build aws-c-event-stream/build --target install