@@ -5085,18 +5085,22 @@ function(build_awssdk)
5085
5085
# AWS-C-CAL ->
5086
5086
# AWS_C_CAL
5087
5087
string (REGEX REPLACE "-" "_" BASE_VARIABLE_NAME "${BASE_VARIABLE_NAME} " )
5088
- set (${BASE_VARIABLE_NAME} _DIFF_FILE
5089
- "${CMAKE_CURRENT_LIST_DIR} /${AWSSDK_PRODUCT} .diff" )
5090
- if (EXISTS "${${BASE_VARIABLE_NAME} _DIFF_FILE}" )
5091
- if (NOT PATCH)
5092
- find_program (PATCH patch REQUIRED)
5088
+ if (AWSSDK_PRODUCT STREQUAL "s2n-tls" )
5089
+ # S2N_LIBCRYPTO_SUPPORTS_ENGINE.c doesn't refer
5090
+ # S2N_INTERN_LIBCRYPTO. We need to use aws-lc with
5091
+ # S2N_INTERN_LIBCRYPTO but S2N_LIBCRYPTO_SUPPORTS_ENGINE.c may
5092
+ # refer system OpenSSL. So s2n-tls may mix aws-lc and OpenSSL
5093
+ # configurations.
5094
+ if (CMAKE_VERSION VERSION_LESS 3.17)
5095
+ set (${BASE_VARIABLE_NAME} _PATCH_COMMAND
5096
+ ${CMAKE_COMMAND} -E remove tests/features/S2N_LIBCRYPTO_SUPPORTS_ENGINE.c)
5097
+ else ()
5098
+ set (${BASE_VARIABLE_NAME} _PATCH_COMMAND
5099
+ ${CMAKE_COMMAND} -E rm tests/features/S2N_LIBCRYPTO_SUPPORTS_ENGINE.c)
5093
5100
endif ()
5094
- set (${BASE_VARIABLE_NAME} _PATCH_COMMAND ${PATCH} -p1 -i
5095
- "${${BASE_VARIABLE_NAME} _DIFF_FILE}" )
5096
5101
endif ()
5097
5102
fetchcontent_declare(${AWSSDK_PRODUCT}
5098
- ${FC_DECLARE_COMMON_OPTIONS}
5099
- OVERRIDE_FIND_PACKAGE
5103
+ ${FC_DECLARE_COMMON_OPTIONS} OVERRIDE_FIND_PACKAGE
5100
5104
PATCH_COMMAND ${${BASE_VARIABLE_NAME} _PATCH_COMMAND}
5101
5105
URL ${${BASE_VARIABLE_NAME} _SOURCE_URL}
5102
5106
URL_HASH "SHA256=${ARROW_${BASE_VARIABLE_NAME} _BUILD_SHA256_CHECKSUM}"
0 commit comments