This is an automated email from the ASF dual-hosted git repository.
adebreceni pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
The following commit(s) were added to refs/heads/main by this push:
new b010dd8 MINIFICPP-1611 - Upgrade AWS SDK version to 1.9.65
MINIFICPP-1611 - Replace cmake set_property functions with target specific
equivalents
b010dd8 is described below
commit b010dd8aa4ba84323b49d17e7b32bce18697eb31
Author: Gabor Gyimesi <[email protected]>
AuthorDate: Tue Aug 3 09:17:59 2021 +0200
MINIFICPP-1611 - Upgrade AWS SDK version to 1.9.65
MINIFICPP-1611 - Replace cmake set_property functions with target specific
equivalents
Signed-off-by: Adam Debreceni <[email protected]>
This closes #1140
---
.github/workflows/ci.yml | 2 +
cmake/BundledAwsSdkCpp.cmake | 182 ++++++++++++++++++++-----------------------
2 files changed, 86 insertions(+), 98 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 0008755..1e77bb6 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -48,6 +48,8 @@ jobs:
env:
CLCACHE_DIR: ${{ GITHUB.WORKSPACE }}\clcache
steps:
+ - name: Support longpaths
+ run: git config --system core.longpaths true
- id: checkout
uses: actions/checkout@v2
- id: cache
diff --git a/cmake/BundledAwsSdkCpp.cmake b/cmake/BundledAwsSdkCpp.cmake
index ad2d600..500bb2f 100755
--- a/cmake/BundledAwsSdkCpp.cmake
+++ b/cmake/BundledAwsSdkCpp.cmake
@@ -33,7 +33,22 @@ function(use_bundled_libaws SOURCE_DIR BINARY_DIR)
set(SUFFIX "a")
set(PREFIX "lib")
endif()
- set(BYPRODUCTS
+
+ if (NOT WIN32 AND NOT APPLE)
+ list(APPEND BYPRODUCTS
"${CMAKE_INSTALL_LIBDIR}/${PREFIX}s2n.${SUFFIX}")
+ endif()
+ list(APPEND BYPRODUCTS
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-checksums.${SUFFIX}"
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-event-stream.${SUFFIX}"
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-s3.${SUFFIX}"
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-crt-cpp.${SUFFIX}"
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-common.${SUFFIX}"
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-mqtt.${SUFFIX}"
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-io.${SUFFIX}"
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-http.${SUFFIX}"
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-auth.${SUFFIX}"
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-cal.${SUFFIX}"
+ "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-compression.${SUFFIX}"
"${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-cpp-sdk-core.${SUFFIX}"
"${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-cpp-sdk-s3.${SUFFIX}")
@@ -41,79 +56,21 @@ function(use_bundled_libaws SOURCE_DIR BINARY_DIR)
LIST(APPEND AWSSDK_LIBRARIES_LIST
"${BINARY_DIR}/thirdparty/libaws-install/${BYPRODUCT}")
ENDFOREACH(BYPRODUCT)
- # Set build options
- set(AWS_C_COMMON_CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
- -DCMAKE_PREFIX_PATH=${BINARY_DIR}/thirdparty/libaws-install
- -DCMAKE_INSTALL_PREFIX=${BINARY_DIR}/thirdparty/libaws-install
- -DENABLE_TESTING=OFF
- -DBUILD_SHARED_LIBS=OFF)
-
- append_third_party_passthrough_args(AWS_C_COMMON_CMAKE_ARGS
"${AWS_C_COMMON_CMAKE_ARGS}")
-
- set(AWS_CHECKSUM_CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
- -DCMAKE_PREFIX_PATH=${BINARY_DIR}/thirdparty/libaws-install
- -DCMAKE_INSTALL_PREFIX=${BINARY_DIR}/thirdparty/libaws-install
- -DBUILD_SHARED_LIBS=OFF)
-
- append_third_party_passthrough_args(AWS_CHECKSUM_CMAKE_ARGS
"${AWS_CHECKSUM_CMAKE_ARGS}")
-
- set(AWS_C_EVENT_STREAM_CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
- -DCMAKE_PREFIX_PATH=${BINARY_DIR}/thirdparty/libaws-install
- -DCMAKE_INSTALL_PREFIX=${BINARY_DIR}/thirdparty/libaws-install
-
-DCMAKE_MODULE_PATH=${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/cmake/
- -DBUILD_SHARED_LIBS=OFF)
-
- append_third_party_passthrough_args(AWS_C_EVENT_STREAM_CMAKE_ARGS
"${AWS_C_EVENT_STREAM_CMAKE_ARGS}")
-
set(AWS_SDK_CPP_CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
-DCMAKE_PREFIX_PATH=${BINARY_DIR}/thirdparty/libaws-install
-DCMAKE_INSTALL_PREFIX=${BINARY_DIR}/thirdparty/libaws-install
-DBUILD_ONLY=s3
-DENABLE_TESTING=OFF
-DBUILD_SHARED_LIBS=OFF
- -DENABLE_UNITY_BUILD=${AWS_ENABLE_UNITY_BUILD}
- -DBUILD_DEPS=OFF)
+ -DENABLE_UNITY_BUILD=${AWS_ENABLE_UNITY_BUILD})
append_third_party_passthrough_args(AWS_SDK_CPP_CMAKE_ARGS
"${AWS_SDK_CPP_CMAKE_ARGS}")
- # Build project
- ExternalProject_Add(
- aws-c-common-external
- GIT_REPOSITORY "https://github.com/awslabs/aws-c-common.git"
- GIT_TAG "d8f6f067975cd3670c62cca0455b9d381db19756"
- SOURCE_DIR "${BINARY_DIR}/thirdparty/aws-c-common-src"
- INSTALL_DIR "${BINARY_DIR}/thirdparty/libaws-install"
- LIST_SEPARATOR % # This is needed for passing semicolon-separated
lists
- CMAKE_ARGS ${AWS_C_COMMON_CMAKE_ARGS}
- BUILD_BYPRODUCTS
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-common.${SUFFIX}"
- EXCLUDE_FROM_ALL TRUE
- )
- ExternalProject_Add(
- aws-checksum-external
- GIT_REPOSITORY "https://github.com/awslabs/aws-checksums.git"
- GIT_TAG "8e1a84c2924774db1b9d945c556343b217d71d05"
- SOURCE_DIR "${BINARY_DIR}/thirdparty/aws-checksums-src"
- INSTALL_DIR "${BINARY_DIR}/thirdparty/libaws-install"
- LIST_SEPARATOR % # This is needed for passing semicolon-separated
lists
- CMAKE_ARGS ${AWS_CHECKSUM_CMAKE_ARGS}
- BUILD_BYPRODUCTS
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-checksums.${SUFFIX}"
- EXCLUDE_FROM_ALL TRUE
- )
- ExternalProject_Add(
- aws-c-event-stream-external
- GIT_REPOSITORY "https://github.com/awslabs/aws-c-event-stream.git"
- GIT_TAG "3462b68d563d8f9b3a26517b833671a24ab81cc5"
- SOURCE_DIR "${BINARY_DIR}/thirdparty/aws-c-event-stream-src"
- INSTALL_DIR "${BINARY_DIR}/thirdparty/libaws-install"
- LIST_SEPARATOR % # This is needed for passing semicolon-separated
lists
- CMAKE_ARGS ${AWS_C_EVENT_STREAM_CMAKE_ARGS}
- BUILD_BYPRODUCTS
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-event-stream.${SUFFIX}"
- EXCLUDE_FROM_ALL TRUE
- )
ExternalProject_Add(
aws-sdk-cpp-external
GIT_REPOSITORY "https://github.com/aws/aws-sdk-cpp.git"
- GIT_TAG "1.8.52"
+ GIT_TAG "1.9.65"
+ UPDATE_COMMAND git submodule update --init --recursive
SOURCE_DIR "${BINARY_DIR}/thirdparty/aws-sdk-cpp-src"
INSTALL_DIR "${BINARY_DIR}/thirdparty/libaws-install"
LIST_SEPARATOR % # This is needed for passing semicolon-separated
lists
@@ -124,21 +81,13 @@ function(use_bundled_libaws SOURCE_DIR BINARY_DIR)
)
# Set dependencies
- add_dependencies(aws-c-common-external CURL::libcurl OpenSSL::Crypto
OpenSSL::SSL ZLIB::ZLIB)
- add_dependencies(aws-checksum-external aws-c-common-external CURL::libcurl
OpenSSL::Crypto OpenSSL::SSL ZLIB::ZLIB)
- add_dependencies(aws-c-event-stream-external CURL::libcurl OpenSSL::Crypto
OpenSSL::SSL ZLIB::ZLIB)
- add_dependencies(aws-c-event-stream-external aws-c-common-external
aws-checksum-external)
add_dependencies(aws-sdk-cpp-external CURL::libcurl OpenSSL::Crypto
OpenSSL::SSL ZLIB::ZLIB)
- add_dependencies(aws-sdk-cpp-external aws-c-event-stream-external
aws-c-common-external aws-checksum-external)
# Set variables
set(LIBAWS_FOUND "YES" CACHE STRING "" FORCE)
set(LIBAWS_INCLUDE_DIR "${BINARY_DIR}/thirdparty/libaws-install/include"
CACHE STRING "" FORCE)
set(LIBAWS_LIBRARIES
${AWSSDK_LIBRARIES_LIST}
-
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-event-stream.${SUFFIX}"
-
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-common.${SUFFIX}"
-
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-checksums.${SUFFIX}"
CACHE STRING "" FORCE)
# Create imported targets
@@ -146,49 +95,86 @@ function(use_bundled_libaws SOURCE_DIR BINARY_DIR)
add_library(AWS::aws-c-common STATIC IMPORTED)
set_target_properties(AWS::aws-c-common PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-common.${SUFFIX}")
- add_dependencies(AWS::aws-c-common aws-c-common-external)
- set_property(TARGET AWS::aws-c-common APPEND PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${LIBAWS_INCLUDE_DIR})
- set_property(TARGET AWS::aws-c-common APPEND PROPERTY
INTERFACE_LINK_LIBRARIES CURL::libcurl OpenSSL::Crypto OpenSSL::SSL ZLIB::ZLIB
Threads::Threads)
- if (APPLE)
- set_property(TARGET AWS::aws-c-common APPEND PROPERTY
INTERFACE_LINK_LIBRARIES "-framework CoreFoundation")
+ add_dependencies(AWS::aws-c-common aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-c-common INTERFACE
${LIBAWS_INCLUDE_DIR})
+
+ if (NOT WIN32 AND NOT APPLE)
+ add_library(AWS::s2n STATIC IMPORTED)
+ set_target_properties(AWS::s2n PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}s2n.${SUFFIX}")
+ add_dependencies(AWS::s2n aws-sdk-cpp-external)
+ target_include_directories(AWS::s2n INTERFACE ${LIBAWS_INCLUDE_DIR})
endif()
+ add_library(AWS::aws-c-io STATIC IMPORTED)
+ set_target_properties(AWS::aws-c-io PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-io.${SUFFIX}")
+ add_dependencies(AWS::aws-c-io aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-c-io INTERFACE ${LIBAWS_INCLUDE_DIR})
+ target_link_libraries(AWS::aws-c-io INTERFACE AWS::aws-c-common)
+
add_library(AWS::aws-checksums STATIC IMPORTED)
set_target_properties(AWS::aws-checksums PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-checksums.${SUFFIX}")
- add_dependencies(AWS::aws-checksums aws-checksums-external)
- set_property(TARGET AWS::aws-checksums APPEND PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${LIBAWS_INCLUDE_DIR})
- set_property(TARGET AWS::aws-checksums APPEND PROPERTY
INTERFACE_LINK_LIBRARIES CURL::libcurl OpenSSL::Crypto OpenSSL::SSL ZLIB::ZLIB
Threads::Threads)
- if (APPLE)
- set_property(TARGET AWS::aws-checksums APPEND PROPERTY
INTERFACE_LINK_LIBRARIES "-framework CoreFoundation")
- endif()
+ add_dependencies(AWS::aws-checksums aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-checksums INTERFACE
${LIBAWS_INCLUDE_DIR})
add_library(AWS::aws-c-event-stream STATIC IMPORTED)
set_target_properties(AWS::aws-c-event-stream PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-event-stream.${SUFFIX}")
- add_dependencies(AWS::aws-c-event-stream aws-c-event-stream-external)
- set_property(TARGET AWS::aws-c-event-stream APPEND PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${LIBAWS_INCLUDE_DIR})
- set_property(TARGET AWS::aws-c-event-stream APPEND PROPERTY
INTERFACE_LINK_LIBRARIES AWS::aws-c-common AWS::aws-checksums CURL::libcurl
OpenSSL::Crypto OpenSSL::SSL ZLIB::ZLIB Threads::Threads)
- if (APPLE)
- set_property(TARGET AWS::aws-c-event-stream APPEND PROPERTY
INTERFACE_LINK_LIBRARIES "-framework CoreFoundation")
- endif()
+ add_dependencies(AWS::aws-c-event-stream aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-c-event-stream INTERFACE
${LIBAWS_INCLUDE_DIR})
+ target_link_libraries(AWS::aws-c-event-stream INTERFACE AWS::aws-checksums
AWS::aws-c-io)
+
+ add_library(AWS::aws-c-auth STATIC IMPORTED)
+ set_target_properties(AWS::aws-c-auth PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-auth.${SUFFIX}")
+ add_dependencies(AWS::aws-c-auth aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-c-auth INTERFACE ${LIBAWS_INCLUDE_DIR})
+
+ add_library(AWS::aws-c-s3 STATIC IMPORTED)
+ set_target_properties(AWS::aws-c-s3 PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-s3.${SUFFIX}")
+ add_dependencies(AWS::aws-c-s3 aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-c-s3 INTERFACE ${LIBAWS_INCLUDE_DIR})
+ target_link_libraries(AWS::aws-c-s3 INTERFACE AWS::aws-c-auth)
+
+ add_library(AWS::aws-c-mqtt STATIC IMPORTED)
+ set_target_properties(AWS::aws-c-mqtt PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-mqtt.${SUFFIX}")
+ add_dependencies(AWS::aws-c-mqtt aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-c-mqtt INTERFACE ${LIBAWS_INCLUDE_DIR})
+
+ add_library(AWS::aws-c-http STATIC IMPORTED)
+ set_target_properties(AWS::aws-c-http PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-http.${SUFFIX}")
+ add_dependencies(AWS::aws-c-http aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-c-http INTERFACE ${LIBAWS_INCLUDE_DIR})
+
+ add_library(AWS::aws-c-cal STATIC IMPORTED)
+ set_target_properties(AWS::aws-c-cal PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-cal.${SUFFIX}")
+ add_dependencies(AWS::aws-c-cal aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-c-cal INTERFACE ${LIBAWS_INCLUDE_DIR})
+
+ add_library(AWS::aws-c-compression STATIC IMPORTED)
+ set_target_properties(AWS::aws-c-compression PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-compression.${SUFFIX}")
+ add_dependencies(AWS::aws-c-compression aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-c-compression INTERFACE
${LIBAWS_INCLUDE_DIR})
+
+ add_library(AWS::aws-crt-cpp STATIC IMPORTED)
+ set_target_properties(AWS::aws-crt-cpp PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-crt-cpp.${SUFFIX}")
+ add_dependencies(AWS::aws-crt-cpp aws-sdk-cpp-external)
+ target_include_directories(AWS::aws-crt-cpp INTERFACE
${LIBAWS_INCLUDE_DIR})
+ target_link_libraries(AWS::aws-crt-cpp INTERFACE AWS::aws-c-io
AWS::aws-c-s3 AWS::aws-c-mqtt AWS::aws-c-http AWS::aws-c-cal
AWS::aws-c-compression)
add_library(AWS::aws-cpp-sdk-core STATIC IMPORTED)
set_target_properties(AWS::aws-cpp-sdk-core PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-cpp-sdk-core.${SUFFIX}")
add_dependencies(AWS::aws-cpp-sdk-core aws-sdk-cpp-external)
- set_property(TARGET AWS::aws-cpp-sdk-core APPEND PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${LIBAWS_INCLUDE_DIR})
- set_property(TARGET AWS::aws-cpp-sdk-core APPEND PROPERTY
INTERFACE_LINK_LIBRARIES AWS::aws-c-event-stream AWS::aws-c-common
AWS::aws-checksums CURL::libcurl OpenSSL::Crypto OpenSSL::SSL ZLIB::ZLIB
Threads::Threads)
+ target_include_directories(AWS::aws-cpp-sdk-core INTERFACE
${LIBAWS_INCLUDE_DIR})
+ target_link_libraries(AWS::aws-cpp-sdk-core INTERFACE AWS::aws-crt-cpp
AWS::aws-c-event-stream CURL::libcurl OpenSSL::Crypto OpenSSL::SSL ZLIB::ZLIB
Threads::Threads)
if (APPLE)
- set_property(TARGET AWS::aws-cpp-sdk-core APPEND PROPERTY
INTERFACE_LINK_LIBRARIES "-framework CoreFoundation")
- endif()
- if (WIN32)
- set_property(TARGET AWS::aws-cpp-sdk-core APPEND PROPERTY
INTERFACE_LINK_LIBRARIES userenv.lib ws2_32.lib Wininet.lib winhttp.lib
bcrypt.lib version.lib)
+ target_link_libraries(AWS::aws-cpp-sdk-core INTERFACE "-framework
CoreFoundation -framework Security")
+ elseif (WIN32)
+ target_link_libraries(AWS::aws-cpp-sdk-core INTERFACE userenv.lib
ws2_32.lib Wininet.lib winhttp.lib bcrypt.lib version.lib Secur32 Crypt32
Shlwapi)
+ else()
+ target_link_libraries(AWS::aws-cpp-sdk-core INTERFACE AWS::s2n)
endif()
add_library(AWS::aws-cpp-sdk-s3 STATIC IMPORTED)
set_target_properties(AWS::aws-cpp-sdk-s3 PROPERTIES IMPORTED_LOCATION
"${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-cpp-sdk-s3.${SUFFIX}")
add_dependencies(AWS::aws-cpp-sdk-s3 aws-sdk-cpp-external)
- set_property(TARGET AWS::aws-cpp-sdk-s3 APPEND PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${LIBAWS_INCLUDE_DIR})
- set_property(TARGET AWS::aws-cpp-sdk-s3 APPEND PROPERTY
INTERFACE_LINK_LIBRARIES CURL::libcurl OpenSSL::Crypto OpenSSL::SSL ZLIB::ZLIB
Threads::Threads AWS::aws-cpp-sdk-core)
- if (APPLE)
- set_property(TARGET AWS::aws-cpp-sdk-s3 APPEND PROPERTY
INTERFACE_LINK_LIBRARIES "-framework CoreFoundation")
- endif()
+ target_include_directories(AWS::aws-cpp-sdk-s3 INTERFACE
${LIBAWS_INCLUDE_DIR})
+ target_link_libraries(AWS::aws-cpp-sdk-s3 INTERFACE AWS::aws-cpp-sdk-core)
endfunction(use_bundled_libaws)