js8544 commented on code in PR #34159:
URL: https://github.com/apache/arrow/pull/34159#discussion_r1105263440
##########
cpp/cmake_modules/ThirdpartyToolchain.cmake:
##########
@@ -4827,37 +4881,41 @@ macro(build_awssdk)
DEPENDS aws_c_common_ep)
add_dependencies(AWS::aws-checksums aws_checksums_ep)
- set(S2N_TLS_CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS})
- if(APPLE AND NOT OPENSSL_ROOT_DIR)
- find_program(BREW brew)
- if(BREW)
- execute_process(COMMAND ${BREW} --prefix "[email protected]"
- OUTPUT_VARIABLE OPENSSL11_BREW_PREFIX
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- if(OPENSSL11_BREW_PREFIX)
- set(OPENSSL_ROOT_DIR ${OPENSSL11_BREW_PREFIX})
- else()
- execute_process(COMMAND ${BREW} --prefix "openssl"
- OUTPUT_VARIABLE OPENSSL_BREW_PREFIX
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- if(OPENSSL_BREW_PREFIX)
- set(OPENSSL_ROOT_DIR ${OPENSSL_BREW_PREFIX})
- endif()
- endif()
- endif()
- endif()
- if(OPENSSL_ROOT_DIR)
- # For Findcrypto.cmake in s2n-tls.
- list(APPEND S2N_TLS_CMAKE_ARGS -DCMAKE_PREFIX_PATH=${OPENSSL_ROOT_DIR})
+ if(UNIX AND NOT APPLE) # aws-lc and s2n-tls only needed on linux
+ set(AWS_LC_C_FLAGS ${EP_C_FLAGS})
+ list(APPEND AWS_LC_C_FLAGS "-Wno-error=overlength-strings")
+
+ set(AWS_LC_CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS})
+ list(APPEND AWS_LC_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${AWS_LC_PREFIX}
+ -DCMAKE_C_FLAGS=${AWS_LC_C_FLAGS})
+ externalproject_add(aws_lc_ep
+ ${EP_COMMON_OPTIONS}
+ URL ${AWS_LC_SOURCE_URL}
+ URL_HASH "SHA256=${ARROW_AWS_LC_BUILD_SHA256_CHECKSUM}"
+ CMAKE_ARGS ${AWS_LC_CMAKE_ARGS}
+ BUILD_BYPRODUCTS ${SSL_STATIC_LIBRARY}
${CRYPTO_STATIC_LIBRARY})
+ add_dependencies(AWS::crypto aws_lc_ep)
+ add_dependencies(AWS::ssl aws_lc_ep)
+
+ set(S2N_TLS_CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS})
+ list(APPEND
+ S2N_TLS_CMAKE_ARGS
+ -DS2N_INTERN_LIBCRYPTO=ON # internalize libcrypto to avoid name
conflict with openssl
+ -DCMAKE_PREFIX_PATH=${AWS_LC_PREFIX}) # path to find crypto provided
by aws-lc
+
+ externalproject_add(s2n_tls_ep
+ ${EP_COMMON_OPTIONS}
+ URL ${S2N_TLS_SOURCE_URL}
+ URL_HASH
"SHA256=${ARROW_S2N_TLS_BUILD_SHA256_CHECKSUM}"
+ CMAKE_ARGS ${S2N_TLS_CMAKE_ARGS}
+ BUILD_BYPRODUCTS ${S2N_TLS_STATIC_LIBRARY}
+ DEPENDS aws_lc_ep)
+ add_dependencies(AWS::s2n-tls s2n_tls_ep)
endif()
- externalproject_add(s2n_tls_ep
- ${EP_COMMON_OPTIONS}
- URL ${S2N_TLS_SOURCE_URL}
- URL_HASH "SHA256=${ARROW_S2N_TLS_BUILD_SHA256_CHECKSUM}"
- CMAKE_ARGS ${S2N_TLS_CMAKE_ARGS}
- BUILD_BYPRODUCTS ${S2N_TLS_STATIC_LIBRARY})
- add_dependencies(AWS::s2n-tls s2n_tls_ep)
+ set(AWS_C_CAL_CMAKE_ARGS ${AWSSDK_COMMON_CMAKE_ARGS})
+ # Because aws-c-cal doesn't provide ability to hide libcrypto, we have to
always use openssl
+ list(APPEND AWS_C_CAL_CMAKE_ARGS -DUSE_OPENSSL=ON)
Review Comment:
Seems like it's not needed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]