Skip to content

Commit

Permalink
Prebuild s2n & aws-lc (#107)
Browse files Browse the repository at this point in the history
  • Loading branch information
waahm7 authored Oct 18, 2024
1 parent 183aaaf commit 37e50ac
Show file tree
Hide file tree
Showing 11 changed files with 38 additions and 15 deletions.
2 changes: 1 addition & 1 deletion crt/aws-c-common
Submodule aws-c-common updated 95 files
+1 −1 .clang-tidy
+17 −8 .github/workflows/ci.yml
+4 −7 .github/workflows/clang-format.yml
+6 −5 .github/workflows/proof_ci_resources/config.yaml
+10 −1 CMakeLists.txt
+2 −1 README.md
+26 −0 THIRD-PARTY-LICENSES.txt
+19 −4 cmake/AwsCheckHeaders.cmake
+77 −0 cmake/AwsPrebuildDependency.cmake
+9 −2 cmake/AwsSIMD.cmake
+6 −4 cmake/AwsSanitizers.cmake
+47 −0 format-check.py
+0 −24 format-check.sh
+1 −1 include/aws/common/array_list.inl
+2 −4 include/aws/common/atomics.h
+1 −1 include/aws/common/byte_buf.h
+449 −0 include/aws/common/cbor.h
+11 −8 include/aws/common/condition_variable.h
+7 −2 include/aws/common/error.h
+68 −1 include/aws/common/json.h
+3 −2 include/aws/common/logging.h
+19 −1 include/aws/common/macros.h
+8 −1 include/aws/common/math.inl
+2 −4 include/aws/common/mutex.h
+19 −0 include/aws/common/private/byte_buf.h
+7 −3 include/aws/common/private/external_module_impl.h
+2 −4 include/aws/common/rw_lock.h
+1 −1 include/aws/common/statistics.h
+1 −2 include/aws/common/thread.h
+129 −0 scripts/import_libcbor.py
+8 −3 scripts/latest_submodules.py
+1 −1 source/allocator.c
+3 −1 source/android/logging.c
+19 −0 source/byte_buf.c
+647 −0 source/cbor.c
+12 −2 source/common.c
+19 −0 source/external/libcbor/allocators.c
+425 −0 source/external/libcbor/cbor.c
+74 −0 source/external/libcbor/cbor.h
+131 −0 source/external/libcbor/cbor/arrays.c
+137 −0 source/external/libcbor/cbor/arrays.h
+119 −0 source/external/libcbor/cbor/bytestrings.c
+150 −0 source/external/libcbor/cbor/bytestrings.h
+121 −0 source/external/libcbor/cbor/callbacks.c
+189 −0 source/external/libcbor/cbor/callbacks.h
+14 −0 source/external/libcbor/cbor/cbor_export.h
+163 −0 source/external/libcbor/cbor/common.c
+339 −0 source/external/libcbor/cbor/common.h
+46 −0 source/external/libcbor/cbor/configuration.h
+264 −0 source/external/libcbor/cbor/data.h
+200 −0 source/external/libcbor/cbor/encoding.c
+140 −0 source/external/libcbor/cbor/encoding.h
+189 −0 source/external/libcbor/cbor/floats_ctrls.c
+240 −0 source/external/libcbor/cbor/floats_ctrls.h
+422 −0 source/external/libcbor/cbor/internal/builder_callbacks.c
+85 −0 source/external/libcbor/cbor/internal/builder_callbacks.h
+98 −0 source/external/libcbor/cbor/internal/encoders.c
+41 −0 source/external/libcbor/cbor/internal/encoders.h
+80 −0 source/external/libcbor/cbor/internal/loaders.c
+43 −0 source/external/libcbor/cbor/internal/loaders.h
+57 −0 source/external/libcbor/cbor/internal/memory_utils.c
+50 −0 source/external/libcbor/cbor/internal/memory_utils.h
+33 −0 source/external/libcbor/cbor/internal/stack.c
+53 −0 source/external/libcbor/cbor/internal/stack.h
+95 −0 source/external/libcbor/cbor/internal/unicode.c
+33 −0 source/external/libcbor/cbor/internal/unicode.h
+190 −0 source/external/libcbor/cbor/ints.c
+211 −0 source/external/libcbor/cbor/ints.h
+125 −0 source/external/libcbor/cbor/maps.c
+121 −0 source/external/libcbor/cbor/maps.h
+368 −0 source/external/libcbor/cbor/serialization.c
+168 −0 source/external/libcbor/cbor/serialization.h
+600 −0 source/external/libcbor/cbor/streaming.c
+37 −0 source/external/libcbor/cbor/streaming.h
+142 −0 source/external/libcbor/cbor/strings.c
+183 −0 source/external/libcbor/cbor/strings.h
+46 −0 source/external/libcbor/cbor/tags.c
+74 −0 source/external/libcbor/cbor/tags.h
+51 −42 source/json.c
+1 −1 source/posix/clock.c
+19 −0 source/posix/thread.c
+1 −1 source/priority_queue.c
+2 −18 source/windows/device_random.c
+1 −0 source/windows/thread.c
+11 −0 tests/CMakeLists.txt
+2 −0 tests/assert_test.c
+58 −1 tests/byte_buf_test.c
+489 −0 tests/cbor_test.c
+18 −14 tests/condition_variable_test.c
+9 −7 tests/error_test.c
+87 −0 tests/fuzz/cbor_decoding_transitive.c
+66 −0 tests/fuzz/cbor_double_encode_decode.c
+12 −7 tests/json_test.c
+212 −184 verification/cbmc/proofs/Makefile.common
+4 −1 verification/cbmc/sources/utils.c
2 changes: 1 addition & 1 deletion crt/aws-lc
2 changes: 1 addition & 1 deletion crt/s2n
Submodule s2n updated from 114cca to ffe0bf
33 changes: 28 additions & 5 deletions native/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,35 @@ if (BUILD_DEPS)
set(BUILD_TESTING OFF)
add_subdirectory(../crt/aws-c-common ${CMAKE_BINARY_DIR}/deps/aws-c-common)
if (UNIX AND NOT APPLE)
set(DISABLE_PERL ON CACHE BOOL "Disable Perl for AWS-LC.")
set(DISABLE_GO ON CACHE BOOL "Disable Go for AWS-LC.")
include(AwsPrebuildDependency)
set(SEARCH_LIBCRYPTO OFF CACHE BOOL "libcrypto will come from aws-lc, don't look for it")
set(BUILD_LIBSSL OFF)
add_subdirectory(../crt/aws-lc ${CMAKE_BINARY_DIR}/deps/aws-lc)
add_subdirectory(../crt/s2n ${CMAKE_BINARY_DIR}/deps/s2n)
set(AWSLC_CMAKE_ARGUMENTS
-DDISABLE_GO=ON # Build without using Go, we don't want the extra dependency
-DDISABLE_PERL=ON # Build without using Perl, we don't want the extra dependency
-DBUILD_LIBSSL=OFF # Don't need libssl, only need libcrypto
-DBUILD_TESTING=OFF
)
if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "5.0")
# Disable AVX512 on old GCC that not supports it.
list(APPEND AWSLC_CMAKE_ARGUMENTS -DMY_ASSEMBLER_IS_TOO_OLD_FOR_512AVX=ON)
endif()

# s2n-tls uses libcrypto during its configuration, so we need to prebuild aws-lc.
aws_prebuild_dependency(
DEPENDENCY_NAME AWSLC
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../crt/aws-lc
CMAKE_ARGUMENTS ${AWSLC_CMAKE_ARGUMENTS}
)

# prebuild s2n-tls.
aws_prebuild_dependency(
DEPENDENCY_NAME S2N
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../crt/s2n
CMAKE_ARGUMENTS
-DUNSAFE_TREAT_WARNINGS_AS_ERRORS=OFF
-DBUILD_TESTING=OFF
)

endif()
add_subdirectory(../crt/aws-c-io ${CMAKE_BINARY_DIR}/deps/aws-c-io)
add_subdirectory(../crt/aws-c-sdkutils ${CMAKE_BINARY_DIR}/deps/sdkutils)
Expand Down

0 comments on commit 37e50ac

Please sign in to comment.