From 0dbd2b36c6ecbc34059dc3661abc7777ec1c6014 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Wed, 16 Jul 2025 09:35:53 -0700 Subject: [PATCH 01/39] initial implementation of soft deprecation macro, mqttclient deprecation, and test exclusion --- include/aws/crt/Exports.h | 27 +++++++++++++++++++++++++++ include/aws/iot/MqttClient.h | 4 +++- tests/CMakeLists.txt | 4 ++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/include/aws/crt/Exports.h b/include/aws/crt/Exports.h index 61a595635..c6f87ee3e 100644 --- a/include/aws/crt/Exports.h +++ b/include/aws/crt/Exports.h @@ -36,3 +36,30 @@ # define AWS_CRT_CPP_API # endif #endif + +/* + * Deprecation warnings are emitted unless callers + * compile with -DAWS_CRT_DISABLE_DEPRECATION_WARNINGS. + */ +#ifndef AWS_CRT_SOFT_DEPRECATED +# if !defined(AWS_CRT_DISABLE_DEPRECATION_WARNINGS) +# if defined(__has_attribute) /* Clang, GCC, Apple Clang, ICC all implement __has_attribute */ +# if __has_attribute(deprecated) +/* In these instances, we will use what's already provided */ +# define AWS_CRT_SOFT_DEPRECATED(msg) __attribute__((deprecated(msg))) +# endif +# endif +/* We fallback to standard C++14 or MSVC syntax */ +# if !defined(AWS_CRT_SOFT_DEPRECATED) +# if __cplusplus >= 201402L /* C++14 supports [[deprecated]] */ +# define AWS_CRT_SOFT_DEPRECATED(msg) [[deprecated(msg)]] +# elif defined(_MSC_VER) /* Older MSVC */ +# define AWS_CRT_SOFT_DEPRECATED(msg) __declspec(deprecated(msg)) +# else /* Unknown compiler → bail out */ +# define AWS_CRT_SOFT_DEPRECATED(msg) +# endif +# endif +# else +# define AWS_CRT_SOFT_DEPRECATED(msg) +# endif +#endif diff --git a/include/aws/iot/MqttClient.h b/include/aws/iot/MqttClient.h index 966d039b3..b022ee46f 100644 --- a/include/aws/iot/MqttClient.h +++ b/include/aws/iot/MqttClient.h @@ -457,7 +457,9 @@ namespace Aws * MqttClientConnectionConfig to use. Once NewConnection returns, you use it's return value identically * to how you would use Aws::Crt::Mqtt::MqttConnection */ - class AWS_CRT_CPP_API MqttClient final + class AWS_CRT_CPP_API AWS_CRT_SOFT_DEPRECATED("Prefer Aws::Crt::Mqtt5::Mqtt5Client for new code; " + "MQTTClient uses MQTT 3.1.1 spec and remains fully supported.") + MqttClient final { public: MqttClient(Crt::Io::ClientBootstrap &bootstrap, Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept; diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 66be8d9e7..1988b4e7a 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -311,6 +311,10 @@ add_test_case(CborTimeStampTest) generate_cpp_test_driver(${TEST_BINARY_NAME}) +# -- Silence soft-deprecation warnings inside THIS test binary -- +target_compile_definitions(${TEST_BINARY_NAME} + PRIVATE AWS_CRT_DISABLE_DEPRECATION_WARNINGS) + aws_add_sanitizers(${TEST_BINARY_NAME}) # set extra warning flags From 67a5f642a1880964f6a4c1466c2d433e826775ac Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Wed, 16 Jul 2025 11:07:07 -0700 Subject: [PATCH 02/39] try adding @deprecated tag to MqttClient constructor --- include/aws/iot/MqttClient.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/aws/iot/MqttClient.h b/include/aws/iot/MqttClient.h index b022ee46f..75eaa46be 100644 --- a/include/aws/iot/MqttClient.h +++ b/include/aws/iot/MqttClient.h @@ -465,6 +465,9 @@ namespace Aws MqttClient(Crt::Io::ClientBootstrap &bootstrap, Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept; /** + * @deprecated Aws::Iot::Mqtt5Client is available as a more robust and feature-rich replacement for the + * MQTT 3.1.1 client. + * * Constructs a new Mqtt Client object using the static default ClientBootstrap. * * For more information on the default ClientBootstrap see From ac963af009cfce9f37d1164a317e28c976173807 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Wed, 16 Jul 2025 13:25:47 -0700 Subject: [PATCH 03/39] test updated deprecation text --- include/aws/iot/MqttClient.h | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/include/aws/iot/MqttClient.h b/include/aws/iot/MqttClient.h index 75eaa46be..c9c61e574 100644 --- a/include/aws/iot/MqttClient.h +++ b/include/aws/iot/MqttClient.h @@ -453,21 +453,25 @@ namespace Aws }; /** + * @deprecated Please use Aws::Crt::Mqtt5::Mqtt5Client for new code. There are no current plans to fully + * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to have + * access to a more robust feature set, clearer error handling, and lifetime management. More details can be + * found here: + * * AWS IOT specific Mqtt Client. Sets defaults for using the AWS IOT service. You'll need an instance of * MqttClientConnectionConfig to use. Once NewConnection returns, you use it's return value identically * to how you would use Aws::Crt::Mqtt::MqttConnection */ - class AWS_CRT_CPP_API AWS_CRT_SOFT_DEPRECATED("Prefer Aws::Crt::Mqtt5::Mqtt5Client for new code; " - "MQTTClient uses MQTT 3.1.1 spec and remains fully supported.") - MqttClient final + class AWS_CRT_CPP_API AWS_CRT_SOFT_DEPRECATED( + "Please use Aws::Crt::Mqtt5::Mqtt5Client for new code. There are " + "no current plans to fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate " + "to the MQTT5 client to have access to a more robust feature set, clearer error handling, and lifetime " + "management. More details can be found here: ") MqttClient final { public: MqttClient(Crt::Io::ClientBootstrap &bootstrap, Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept; /** - * @deprecated Aws::Iot::Mqtt5Client is available as a more robust and feature-rich replacement for the - * MQTT 3.1.1 client. - * * Constructs a new Mqtt Client object using the static default ClientBootstrap. * * For more information on the default ClientBootstrap see From 04f7e28002080b4fb8a4d958e07881af36d56b25 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Wed, 16 Jul 2025 13:35:56 -0700 Subject: [PATCH 04/39] add @deprecation tag to MqttClientConnectionConfigBuilder --- include/aws/iot/MqttClient.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/aws/iot/MqttClient.h b/include/aws/iot/MqttClient.h index c9c61e574..022dd5923 100644 --- a/include/aws/iot/MqttClient.h +++ b/include/aws/iot/MqttClient.h @@ -101,6 +101,11 @@ namespace Aws }; /** + * @deprecated Please use Aws::Iot::Mqtt5ClientBuilder for new code. There are no current plans to fully + * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to have + * access to a more robust feature set, clearer error handling, and lifetime management. More details can be + * found here: + * * Represents configuration parameters for building a MqttClientConnectionConfig object. You can use a single * instance of this class PER MqttClientConnectionConfig you want to generate. If you want to generate a config * for a different endpoint or port etc... you need a new instance of this class. From a448a4ec8ab25c0ab5f7fd261f2108e196b494e3 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 22 Jul 2025 10:08:05 -0700 Subject: [PATCH 05/39] add temp @deprecated notifications to MQTT client constructors --- include/aws/iot/MqttClient.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/aws/iot/MqttClient.h b/include/aws/iot/MqttClient.h index 022dd5923..a1f83e4da 100644 --- a/include/aws/iot/MqttClient.h +++ b/include/aws/iot/MqttClient.h @@ -477,6 +477,11 @@ namespace Aws MqttClient(Crt::Io::ClientBootstrap &bootstrap, Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept; /** + * @deprecated Prefer Aws::Crt::Mqtt5::Mqtt5Client for new code. There are no current plans to fully + * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to + * have access to a more robust feature set, clearer error handling, and lifetime management. More details + * can be found here: + * * Constructs a new Mqtt Client object using the static default ClientBootstrap. * * For more information on the default ClientBootstrap see @@ -485,6 +490,11 @@ namespace Aws MqttClient(Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept; /** + * @deprecated Prefer Aws::Crt::Mqtt5::Mqtt5Client for new code. There are no current plans to fully + * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to + * have access to a more robust feature set, clearer error handling, and lifetime management. More details + * can be found here: + * * Creates a new mqtt connection from a connection configuration object * @param config mqtt connection configuration * @return a new mqtt connection From d6df9f780046b39c608cd87f484f35aeea3b160b Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Mon, 4 Aug 2025 10:33:30 -0700 Subject: [PATCH 06/39] removed Mqtt5ClientCore from MqttClient.h include as it's forward declared in MqttConnection.h and not needed --- include/aws/crt/mqtt/MqttClient.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/include/aws/crt/mqtt/MqttClient.h b/include/aws/crt/mqtt/MqttClient.h index 19b2236a3..9c0c7ac6e 100644 --- a/include/aws/crt/mqtt/MqttClient.h +++ b/include/aws/crt/mqtt/MqttClient.h @@ -32,11 +32,6 @@ namespace Aws class HttpRequest; } - namespace Mqtt5 - { - class Mqtt5ClientCore; - } - namespace Mqtt { /** From 09d8f9b2ca742301186203a623b068dcfd3494d7 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Mon, 4 Aug 2025 10:49:10 -0700 Subject: [PATCH 07/39] include deprecation tags to Aws::Crt::Mqtt::MqttClient as well --- include/aws/crt/mqtt/MqttClient.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/include/aws/crt/mqtt/MqttClient.h b/include/aws/crt/mqtt/MqttClient.h index 9c0c7ac6e..59e998577 100644 --- a/include/aws/crt/mqtt/MqttClient.h +++ b/include/aws/crt/mqtt/MqttClient.h @@ -39,15 +39,30 @@ namespace Aws * all function arguments need only to live through the duration of the * function call. */ - class AWS_CRT_CPP_API MqttClient final + class AWS_CRT_CPP_API AWS_CRT_SOFT_DEPRECATED( + "Please use Aws::Crt::Mqtt5::Mqtt5Client for new code. There are " + "no current plans to fully deprecate the MQTT 3.1.1 client but it is highly recommended customers " + "migrate " + "to the MQTT5 client to have access to a more robust feature set, clearer error handling, and lifetime " + "management. More details can be found here: ") MqttClient final { public: /** + * @deprecated Prefer Aws::Crt::Mqtt5::Mqtt5Client for new code. There are no current plans to fully + * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to + * have access to a more robust feature set, clearer error handling, and lifetime management. More + * details can be found here: + * * Initialize an MqttClient using bootstrap and allocator */ MqttClient(Io::ClientBootstrap &bootstrap, Allocator *allocator = ApiAllocator()) noexcept; /** + * @deprecated Prefer Aws::Crt::Mqtt5::Mqtt5Client for new code. There are no current plans to fully + * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to + * have access to a more robust feature set, clearer error handling, and lifetime management. More + * details can be found here: + * * Initialize an MqttClient using a allocator and the default ClientBootstrap * * For more information on the default ClientBootstrap see From 9d1d8da614e9538c2be5a7aca159186b734b534f Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Mon, 4 Aug 2025 13:20:28 -0700 Subject: [PATCH 08/39] --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF on necessary CI jobs --- .github/workflows/ci.yml | 44 +++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 95e18ff71..77ea0c87e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_OPENSSL=ON + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF # These linux-compat images need to run without -DUSE_OPENSSL because they do not have OpenSSL packages # that are up-to-date (AL2) or don't provide OpenSSL development packages that is found in CMake (alpine) @@ -71,7 +72,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF linux-compiler-compat: runs-on: ubuntu-24.04 # latest @@ -103,7 +104,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} --cmake-extra=-DUSE_OPENSSL=ON + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF raspberry: runs-on: ubuntu-24.04 # latest @@ -142,7 +144,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} with cxx${{ matrix.cxx-std }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DCMAKE_CXX_STANDARD=${{ matrix.cxx-std }} + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DCMAKE_CXX_STANDARD=${{ matrix.cxx-std }} --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF byo-crypto: runs-on: ubuntu-24.04 # latest @@ -155,7 +158,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBYO_CRYPTO=ON --cmake-extra=-DUSE_OPENSSL=ON + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} + --cmake-extra=-DBYO_CRYPTO=ON --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF linux-shared-libs: runs-on: ubuntu-24.04 # latest @@ -171,7 +175,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} --cmake-extra=-DBUILD_SHARED_LIBS=ON + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} + --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF linux-glibcxx-ancient-abi: runs-on: ubuntu-24.04 # latest @@ -183,7 +188,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=gcc-11 --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=gcc-11 + --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF linux-openssl-static: runs-on: ubuntu-24.04 # latest @@ -196,7 +202,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl --cmake-extra=-DUSE_OPENSSL=ON + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF linux-openssl-shared: runs-on: ubuntu-24.04 # latest @@ -209,7 +216,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DBUILD_SHARED_LIBS=ON + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF linux-no-cpu-extensions: runs-on: ubuntu-24.04 # latest @@ -222,7 +230,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DUSE_OPENSSL=ON + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} + --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF windows: runs-on: windows-2025 # latest @@ -234,7 +243,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF windows-vc17: runs-on: windows-2025 # latest @@ -249,7 +258,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF windows-shared-libs: runs-on: windows-2025 # latest @@ -261,7 +270,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} + --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -279,7 +289,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} + --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -291,7 +302,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF + python builder.pyz build -p ${{ env.PACKAGE_NAME }} + --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF macos: runs-on: macos-14 # latest @@ -351,7 +363,7 @@ jobs: run: | python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder - ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false + ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF # check that docs can still build check-docs: From a05e9478ff9d181d07d6500fd34ef067ae5d9671 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Mon, 4 Aug 2025 13:42:55 -0700 Subject: [PATCH 09/39] AWS_CRT_DISABLE_DEPRECATION_WARNINGS to CI jobs --- .github/workflows/ci.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77ea0c87e..f665db5f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON # These linux-compat images need to run without -DUSE_OPENSSL because they do not have OpenSSL packages # that are up-to-date (AL2) or don't provide OpenSSL development packages that is found in CMake (alpine) @@ -72,7 +72,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-compiler-compat: runs-on: ubuntu-24.04 # latest @@ -105,7 +105,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON raspberry: runs-on: ubuntu-24.04 # latest @@ -145,7 +145,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DCMAKE_CXX_STANDARD=${{ matrix.cxx-std }} --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DCMAKE_CXX_STANDARD=${{ matrix.cxx-std }} --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON byo-crypto: runs-on: ubuntu-24.04 # latest @@ -159,7 +159,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} - --cmake-extra=-DBYO_CRYPTO=ON --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DBYO_CRYPTO=ON --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-shared-libs: runs-on: ubuntu-24.04 # latest @@ -176,7 +176,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} - --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-glibcxx-ancient-abi: runs-on: ubuntu-24.04 # latest @@ -189,7 +189,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=gcc-11 - --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-openssl-static: runs-on: ubuntu-24.04 # latest @@ -203,7 +203,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-openssl-shared: runs-on: ubuntu-24.04 # latest @@ -217,7 +217,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-no-cpu-extensions: runs-on: ubuntu-24.04 # latest @@ -231,7 +231,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} - --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON windows: runs-on: windows-2025 # latest @@ -243,7 +243,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON windows-vc17: runs-on: windows-2025 # latest @@ -258,7 +258,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON windows-shared-libs: runs-on: windows-2025 # latest @@ -271,7 +271,7 @@ jobs: run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" python builder.pyz build -p ${{ env.PACKAGE_NAME }} - --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -290,7 +290,7 @@ jobs: run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" python builder.pyz build -p ${{ env.PACKAGE_NAME }} - --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -303,7 +303,7 @@ jobs: run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" python builder.pyz build -p ${{ env.PACKAGE_NAME }} - --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON macos: runs-on: macos-14 # latest @@ -363,7 +363,7 @@ jobs: run: | python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder - ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false --cmake-extra=-DAWS_WARNINGS_ARE_ERRORS=OFF + ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON # check that docs can still build check-docs: From c695dbeed05412f3e8e337e9199de5a853e93e80 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Mon, 4 Aug 2025 13:56:55 -0700 Subject: [PATCH 10/39] windows python needs to be on a singluar line --- .github/workflows/ci.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f665db5f5..29184640a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -270,8 +270,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} - --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -289,8 +288,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} - --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -302,8 +300,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} - --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON macos: runs-on: macos-14 # latest From 8f1611cb9bedad0ad91f1d5e6f9f8be6fbdfa466 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Mon, 4 Aug 2025 14:05:52 -0700 Subject: [PATCH 11/39] \ to newline cmake-extra commands --- .github/workflows/ci.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 29184640a..1840fab1d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} \ --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON # These linux-compat images need to run without -DUSE_OPENSSL because they do not have OpenSSL packages @@ -72,7 +72,8 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} \ + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-compiler-compat: runs-on: ubuntu-24.04 # latest @@ -104,7 +105,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON raspberry: @@ -144,7 +145,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} with cxx${{ matrix.cxx-std }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DCMAKE_CXX_STANDARD=${{ matrix.cxx-std }} --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON byo-crypto: @@ -158,7 +159,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} \ --cmake-extra=-DBYO_CRYPTO=ON --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-shared-libs: @@ -175,7 +176,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-glibcxx-ancient-abi: @@ -188,7 +189,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=gcc-11 + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=gcc-11 \ --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-openssl-static: @@ -202,7 +203,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl \ --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-openssl-shared: @@ -216,7 +217,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl \ --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-no-cpu-extensions: @@ -230,7 +231,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} \ --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON windows: From e1740c20a52cdf79c8afc6b4838eaed443db8078 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Mon, 4 Aug 2025 14:25:53 -0700 Subject: [PATCH 12/39] use flags --- .github/workflows/ci.yml | 43 ++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1840fab1d..d023e8ba6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,9 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" # These linux-compat images need to run without -DUSE_OPENSSL because they do not have OpenSSL packages # that are up-to-date (AL2) or don't provide OpenSSL development packages that is found in CMake (alpine) @@ -73,7 +75,8 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" linux-compiler-compat: runs-on: ubuntu-24.04 # latest @@ -106,7 +109,9 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" raspberry: runs-on: ubuntu-24.04 # latest @@ -146,7 +151,9 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DCMAKE_CXX_STANDARD=${{ matrix.cxx-std }} --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DCMAKE_CXX_STANDARD=${{ matrix.cxx-std }} \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" byo-crypto: runs-on: ubuntu-24.04 # latest @@ -160,7 +167,9 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DBYO_CRYPTO=ON --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DBYO_CRYPTO=ON --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" linux-shared-libs: runs-on: ubuntu-24.04 # latest @@ -177,7 +186,9 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ - --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DBUILD_SHARED_LIBS=ON \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" linux-glibcxx-ancient-abi: runs-on: ubuntu-24.04 # latest @@ -190,7 +201,9 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=gcc-11 \ - --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" linux-openssl-static: runs-on: ubuntu-24.04 # latest @@ -204,7 +217,9 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl \ - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" linux-openssl-shared: runs-on: ubuntu-24.04 # latest @@ -218,7 +233,9 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl \ - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DBUILD_SHARED_LIBS=ON \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" linux-no-cpu-extensions: runs-on: ubuntu-24.04 # latest @@ -232,7 +249,9 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows: runs-on: windows-2025 # latest @@ -244,7 +263,9 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows-vc17: runs-on: windows-2025 # latest From 11e492b59df37d84ee32fff2f9207db4222d13d1 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Mon, 4 Aug 2025 14:27:20 -0700 Subject: [PATCH 13/39] windows flags --- .github/workflows/ci.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d023e8ba6..e4f2d68ea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -263,9 +263,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra="-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" --cmake-extra="-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows-vc17: runs-on: windows-2025 # latest @@ -280,7 +278,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra="-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" --cmake-extra="-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows-shared-libs: runs-on: windows-2025 # latest @@ -292,7 +290,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" --cmake-extra="-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -310,7 +308,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" --cmake-extra="-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -322,7 +320,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra="-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" --cmake-extra="-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" macos: runs-on: macos-14 # latest From 0d33e434502abe7d4dae0f518b593bca73967c05 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Mon, 4 Aug 2025 14:52:13 -0700 Subject: [PATCH 14/39] don't touch cmake flags and just add the pre-processor definitions --- .github/workflows/ci.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e4f2d68ea..204a2aac2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -263,7 +263,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra="-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" --cmake-extra="-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows-vc17: runs-on: windows-2025 # latest @@ -278,7 +278,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra="-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" --cmake-extra="-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows-shared-libs: runs-on: windows-2025 # latest @@ -290,7 +290,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" --cmake-extra="-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -308,7 +308,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" --cmake-extra="-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -320,7 +320,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra="-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" --cmake-extra="-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" macos: runs-on: macos-14 # latest @@ -380,7 +380,9 @@ jobs: run: | python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder - ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false \ + --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ + --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" # check that docs can still build check-docs: From 2a414d572152175d3cf82355fc5ce917b5f9ecf4 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 08:22:45 -0700 Subject: [PATCH 15/39] =ON for Windows CI --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 204a2aac2..8a86ae5cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -263,7 +263,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON" windows-vc17: runs-on: windows-2025 # latest @@ -278,7 +278,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON" windows-shared-libs: runs-on: windows-2025 # latest @@ -290,7 +290,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON" # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -308,7 +308,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON" windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -320,7 +320,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON" macos: runs-on: macos-14 # latest From 91d1cd7531f4eb5eb013e3fd9d0d2a230a198ed8 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 09:09:12 -0700 Subject: [PATCH 16/39] make the arg global for windows CI builds --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8a86ae5cc..ec1f15e1a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -263,7 +263,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra="-DGLOBAL_CMAKE_ARGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows-vc17: runs-on: windows-2025 # latest @@ -278,7 +278,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra="-DGLOBAL_CMAKE_ARGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows-shared-libs: runs-on: windows-2025 # latest @@ -290,7 +290,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DGLOBAL_CMAKE_ARGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -308,7 +308,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DGLOBAL_CMAKE_ARGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -320,7 +320,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra="-DGLOBAL_CMAKE_ARGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" macos: runs-on: macos-14 # latest From 15835bd6d748ec9a7dcdf902b467c97542413194 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 09:17:16 -0700 Subject: [PATCH 17/39] try appending the CMAKE flags for windows --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec1f15e1a..619bdfc66 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -263,7 +263,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra="-DGLOBAL_CMAKE_ARGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra="-DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" --cmake-extra="-DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" windows-vc17: runs-on: windows-2025 # latest @@ -278,7 +278,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra="-DGLOBAL_CMAKE_ARGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra="-DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" --cmake-extra="-DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" windows-shared-libs: runs-on: windows-2025 # latest @@ -290,7 +290,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DGLOBAL_CMAKE_ARGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" --cmake-extra="-DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -308,7 +308,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DGLOBAL_CMAKE_ARGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" --cmake-extra="-DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -320,7 +320,7 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra="-DGLOBAL_CMAKE_ARGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra="-DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" --cmake-extra="-DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" macos: runs-on: macos-14 # latest From f1e5559a82e6d5fbdb94e8f1b8c262ed1278c80d Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 09:47:48 -0700 Subject: [PATCH 18/39] just prepend --- .github/workflows/ci.yml | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 619bdfc66..851f1e5c0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -263,7 +263,9 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra="-DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" --cmake-extra="-DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} ` + --cmake-extra=-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS ` + --cmake-extra=-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS windows-vc17: runs-on: windows-2025 # latest @@ -278,7 +280,9 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} --cmake-extra="-DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" --cmake-extra="-DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} ` + --cmake-extra=-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS ` + --cmake-extra=-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS windows-shared-libs: runs-on: windows-2025 # latest @@ -290,7 +294,9 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" --cmake-extra="-DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON ` + --cmake-extra=-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS ` + --cmake-extra=-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -308,7 +314,9 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra="-DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" --cmake-extra="-DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON ` + --cmake-extra=-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS ` + --cmake-extra=-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -320,7 +328,9 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra="-DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" --cmake-extra="-DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS} /DAWS_CRT_DISABLE_DEPRECATION_WARNINGS\"" + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF ` + --cmake-extra=-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS ` + --cmake-extra=-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS macos: runs-on: macos-14 # latest From bc932eed88c1c974160fdb274dbc5e52016cb984 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 10:12:04 -0700 Subject: [PATCH 19/39] try using CL to set env variables for windows compile to pick up --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 851f1e5c0..daaf498c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -261,11 +261,12 @@ jobs: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers + env: + CL: "/D AWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" python builder.pyz build -p ${{ env.PACKAGE_NAME }} ` - --cmake-extra=-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS ` - --cmake-extra=-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON windows-vc17: runs-on: windows-2025 # latest From 0798b957e736c39b695f3ee5952b098337d357d9 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 10:26:13 -0700 Subject: [PATCH 20/39] DAWS not D AWS --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index daaf498c8..a890a758b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -262,7 +262,7 @@ jobs: aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers env: - CL: "/D AWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" + CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" python builder.pyz build -p ${{ env.PACKAGE_NAME }} ` From 3be6e36d54737a1be22c438c2411f8646729f55b Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 11:06:32 -0700 Subject: [PATCH 21/39] fix rest of windows CI warnings --- .github/workflows/ci.yml | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a890a758b..3bc554364 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -265,8 +265,7 @@ jobs: CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} ` - --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} windows-vc17: runs-on: windows-2025 # latest @@ -279,11 +278,11 @@ jobs: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers + env: + CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} ` - --cmake-extra=-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS ` - --cmake-extra=-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 --target windows-${{ matrix.arch }} windows-shared-libs: runs-on: windows-2025 # latest @@ -293,11 +292,11 @@ jobs: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers + env: + CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON ` - --cmake-extra=-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS ` - --cmake-extra=-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -313,11 +312,11 @@ jobs: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers + env: + CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON ` - --cmake-extra=-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS ` - --cmake-extra=-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -327,11 +326,11 @@ jobs: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers + env: + CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF ` - --cmake-extra=-DCMAKE_C_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS ` - --cmake-extra=-DCMAKE_CXX_FLAGS=/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF macos: runs-on: macos-14 # latest @@ -392,8 +391,7 @@ jobs: python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" # check that docs can still build check-docs: From 7304575fd7b2ff0805739ffec95976931ae12995 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 11:18:20 -0700 Subject: [PATCH 22/39] fix cross_compile --- .github/workflows/ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3bc554364..026e0ff0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -387,11 +387,15 @@ jobs: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers + env: + # <- these are forwarded into the dockcross container and + # automatically appended to every gcc/g++ invocation + CFLAGS: -DAWS_CRT_DISABLE_DEPRECATION_WARNINGS + CXXFLAGS: -DAWS_CRT_DISABLE_DEPRECATION_WARNINGS run: | python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder - ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false \ - --cmake-extra="-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false # check that docs can still build check-docs: From 846a3b43d6e075b4a41e1f63882252704099e3dd Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 11:29:30 -0700 Subject: [PATCH 23/39] attempt to add extra flags to dockercross --- .github/workflows/ci.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 026e0ff0d..957ba7763 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -380,22 +380,17 @@ jobs: strategy: matrix: arch: [linux-armv6, linux-armv7, linux-arm64, android-armv7] - steps: - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ env.CRT_CI_ROLE }} aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers - env: - # <- these are forwarded into the dockcross container and - # automatically appended to every gcc/g++ invocation - CFLAGS: -DAWS_CRT_DISABLE_DEPRECATION_WARNINGS - CXXFLAGS: -DAWS_CRT_DISABLE_DEPRECATION_WARNINGS run: | python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder - ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false + ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false \ + --dockcross-extra-args "-e CFLAGS='-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS' -e CXXFLAGS='-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS'" # check that docs can still build check-docs: From 3d9a6e1ea471405573e9d4a1de4ac906b1f6ad2e Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 11:52:27 -0700 Subject: [PATCH 24/39] try splitting the extra args for dockcross --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 957ba7763..61ee9dd03 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -390,7 +390,8 @@ jobs: python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false \ - --dockcross-extra-args "-e CFLAGS='-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS' -e CXXFLAGS='-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS'" + --dockcross-extra-args -e CFLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS \ + --dockcross-extra-args -e CXXFLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS # check that docs can still build check-docs: From d6c1a02ce504acdc30ad2b708b68240d2736c416 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 13:13:04 -0700 Subject: [PATCH 25/39] try setting C_FLAGS and CXX_FLAGS directly --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 61ee9dd03..0e258087c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -390,8 +390,8 @@ jobs: python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false \ - --dockcross-extra-args -e CFLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS \ - --dockcross-extra-args -e CXXFLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS + --cmake-extra=-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS \ + --cmake-extra=-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS # check that docs can still build check-docs: From e9ef56593b7723ad71e472e696bb4b07ecb41f95 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 13:49:39 -0700 Subject: [PATCH 26/39] add a -DAWS_CRT_DISABLE_DEPRECATION_WARNINGS option to CMakeLists.txt --- .github/workflows/ci.yml | 3 +-- CMakeLists.txt | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0e258087c..8c4e7e5ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -390,8 +390,7 @@ jobs: python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder ./builder build -p aws-crt-cpp --spec=downstream --target=${{matrix.arch}} run_tests=false \ - --cmake-extra=-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS \ - --cmake-extra=-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON # check that docs can still build check-docs: diff --git a/CMakeLists.txt b/CMakeLists.txt index e9a382733..aafdfc022 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,10 @@ option(BUILD_DEPS "Builds aws common runtime dependencies as part of build. Turn option(BYO_CRYPTO "Don't build a tls implementation or link against a crypto interface. This feature is only for unix builds currently" OFF) option(USE_OPENSSL "Set this if you want to use your system's OpenSSL 1.0.2/1.1.1 compatible libcrypto" OFF) option(ENFORCE_SUBMODULE_VERSIONS "Check and enforce submodule versions to verify they are the minimum expected version or later. Versioning is only checked if BUILD_DEPS is ON." ON) +option(AWS_CRT_DISABLE_DEPRECATION_WARNINGS "Define this to slience [[de[recated]] warnings coming from aws-crt-cpp headers" OFF) +if(AWS_CRT_DISABLE_DEPRECATION_WARNINGS) + add_compile_definitions(AWS_CRT_DISABLE_DEPRECATION_WARNINGS) +endif() # Let aws-iot-device-sdk-cpp-v2 report its own version in MQTT connections (instead of reporting aws-crt-cpp's version). option(AWS_IOT_SDK_VERSION "Set the version reported by Aws::Iot::MqttClientConnectionConfigBuilder") From 76598233ef2c1d9a45e816743ec584beaff8c1c5 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 5 Aug 2025 14:45:08 -0700 Subject: [PATCH 27/39] use the option across linux tests --- .github/workflows/ci.yml | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c4e7e5ef..6e9008f9e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,9 +42,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DUSE_OPENSSL=ON \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON # These linux-compat images need to run without -DUSE_OPENSSL because they do not have OpenSSL packages # that are up-to-date (AL2) or don't provide OpenSSL development packages that is found in CMake (alpine) @@ -75,8 +73,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-compiler-compat: runs-on: ubuntu-24.04 # latest @@ -109,9 +106,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ - --cmake-extra=-DUSE_OPENSSL=ON \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON raspberry: runs-on: ubuntu-24.04 # latest @@ -152,8 +147,7 @@ jobs: aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DCMAKE_CXX_STANDARD=${{ matrix.cxx-std }} \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON byo-crypto: runs-on: ubuntu-24.04 # latest @@ -168,8 +162,7 @@ jobs: aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} \ --cmake-extra=-DBYO_CRYPTO=ON --cmake-extra=-DUSE_OPENSSL=ON \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-shared-libs: runs-on: ubuntu-24.04 # latest @@ -187,8 +180,7 @@ jobs: aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ --cmake-extra=-DBUILD_SHARED_LIBS=ON \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-glibcxx-ancient-abi: runs-on: ubuntu-24.04 # latest @@ -218,8 +210,7 @@ jobs: aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl \ --cmake-extra=-DUSE_OPENSSL=ON \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-openssl-shared: runs-on: ubuntu-24.04 # latest @@ -234,8 +225,7 @@ jobs: aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl \ --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DBUILD_SHARED_LIBS=ON \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-no-cpu-extensions: runs-on: ubuntu-24.04 # latest @@ -250,8 +240,7 @@ jobs: aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} \ --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DUSE_OPENSSL=ON \ - --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ - --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON windows: runs-on: windows-2025 # latest From 574bd2aa90cce5b10dc40902bdc63b34b086a787 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Wed, 6 Aug 2025 11:44:17 -0700 Subject: [PATCH 28/39] Disable deprecation warnings for the codebuild integration tests --- codebuild/linux-integration-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codebuild/linux-integration-tests.yml b/codebuild/linux-integration-tests.yml index bbc858251..df7df2972 100644 --- a/codebuild/linux-integration-tests.yml +++ b/codebuild/linux-integration-tests.yml @@ -24,7 +24,7 @@ phases: - git submodule update --init # Build using builder, which will also run tests - python3 -c "from urllib.request import urlretrieve; urlretrieve('$BUILDER_HOST/$BUILDER_SOURCE/$BUILDER_VERSION/builder.pyz?run=$CODEBUILD_BUILD_ID', 'builder.pyz')" - - python3 builder.pyz build --project aws-crt-cpp downstream --cmake-extra=-DUSE_OPENSSL=ON + - python3 builder.pyz build --project aws-crt-cpp downstream --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON post_build: commands: - echo Build completed on `date` From 01fa8bca1b453888f827ff1b2a3c2ab399a44eba Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Wed, 6 Aug 2025 11:58:58 -0700 Subject: [PATCH 29/39] turn off fail-fast for linux-compiler-compat ci jobs --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6e9008f9e..a0b5fd028 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,6 +78,7 @@ jobs: linux-compiler-compat: runs-on: ubuntu-24.04 # latest strategy: + fail-fast: false matrix: compiler: - clang-6 From a24f57771c2e58096e15a13ebd840cdce24dc583 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Thu, 7 Aug 2025 10:35:15 -0700 Subject: [PATCH 30/39] turn off fail fast on remaining ci matrix jobs --- .github/workflows/ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0b5fd028..c95dfa4b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,6 +28,7 @@ jobs: linux-compat-use-openssl: runs-on: ubuntu-24.04 # latest strategy: + fail-fast: false matrix: image: - fedora-34-x64 @@ -134,6 +135,7 @@ jobs: std-compat: runs-on: ubuntu-24.04 # latest strategy: + fail-fast: false matrix: compiler: [gcc-8, clang-9] cxx-std: ["11", "14", "17", "20"] @@ -168,6 +170,7 @@ jobs: linux-shared-libs: runs-on: ubuntu-24.04 # latest strategy: + fail-fast: false matrix: compiler: [gcc-4.8, gcc-11] # oldest, latest steps: @@ -260,6 +263,7 @@ jobs: windows-vc17: runs-on: windows-2025 # latest strategy: + fail-fast: false matrix: arch: [x86, x64] steps: @@ -368,6 +372,7 @@ jobs: name: Cross Compile ${{matrix.arch}} runs-on: ubuntu-24.04 # latest strategy: + fail-fast: false matrix: arch: [linux-armv6, linux-armv7, linux-arm64, android-armv7] steps: @@ -418,6 +423,7 @@ jobs: clang-sanitizers: runs-on: ubuntu-24.04 # latest strategy: + fail-fast: false matrix: sanitizers: ["thread", "address,undefined"] steps: From 99d7bc1627f7e89bc4f2b2b00ad8a828e12a5fd8 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 12 Aug 2025 09:10:09 -0700 Subject: [PATCH 31/39] typos and definition update --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index aafdfc022..3a5d31e3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ option(BUILD_DEPS "Builds aws common runtime dependencies as part of build. Turn option(BYO_CRYPTO "Don't build a tls implementation or link against a crypto interface. This feature is only for unix builds currently" OFF) option(USE_OPENSSL "Set this if you want to use your system's OpenSSL 1.0.2/1.1.1 compatible libcrypto" OFF) option(ENFORCE_SUBMODULE_VERSIONS "Check and enforce submodule versions to verify they are the minimum expected version or later. Versioning is only checked if BUILD_DEPS is ON." ON) -option(AWS_CRT_DISABLE_DEPRECATION_WARNINGS "Define this to slience [[de[recated]] warnings coming from aws-crt-cpp headers" OFF) +option(AWS_CRT_DISABLE_DEPRECATION_WARNINGS "Set this to silence [[deprecated]] warnings coming from aws-crt-cpp headers" OFF) if(AWS_CRT_DISABLE_DEPRECATION_WARNINGS) add_compile_definitions(AWS_CRT_DISABLE_DEPRECATION_WARNINGS) endif() From a14fe2b7ea67ec69c1a9dde681d7fe58b383e079 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 12 Aug 2025 09:12:37 -0700 Subject: [PATCH 32/39] organize cmake-extra in ci.yml --- .github/workflows/ci.yml | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c95dfa4b6..da659f311 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,8 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON # These linux-compat images need to run without -DUSE_OPENSSL because they do not have OpenSSL packages # that are up-to-date (AL2) or don't provide OpenSSL development packages that is found in CMake (alpine) @@ -108,7 +109,8 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON + --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON raspberry: runs-on: ubuntu-24.04 # latest @@ -149,7 +151,8 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} \ - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DCMAKE_CXX_STANDARD=${{ matrix.cxx-std }} \ + --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra=-DCMAKE_CXX_STANDARD=${{ matrix.cxx-std }} \ --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON byo-crypto: @@ -164,7 +167,8 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DBYO_CRYPTO=ON --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra=-DBYO_CRYPTO=ON \ + --cmake-extra=-DUSE_OPENSSL=ON \ --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-shared-libs: @@ -197,7 +201,8 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=gcc-11 \ - --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 \ + --cmake-extra=-DBUILD_SHARED_LIBS=ON \ + --cmake-extra=-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 \ --cmake-extra="-DCMAKE_C_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" \ --cmake-extra="-DCMAKE_CXX_FLAGS=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS" @@ -228,7 +233,8 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --variant=openssl \ - --cmake-extra=-DUSE_OPENSSL=ON --cmake-extra=-DBUILD_SHARED_LIBS=ON \ + --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra=-DBUILD_SHARED_LIBS=ON \ --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON linux-no-cpu-extensions: @@ -243,7 +249,8 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF --cmake-extra=-DUSE_OPENSSL=ON \ + --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF \ + --cmake-extra=-DUSE_OPENSSL=ON \ --cmake-extra=-DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON windows: @@ -290,7 +297,8 @@ jobs: CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} \ + --cmake-extra=-DBUILD_SHARED_LIBS=ON # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -310,7 +318,8 @@ jobs: CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} \ + --cmake-extra=-DBUILD_SHARED_LIBS=ON windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -324,7 +333,8 @@ jobs: CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF + python builder.pyz build -p ${{ env.PACKAGE_NAME }} \ + --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF macos: runs-on: macos-14 # latest @@ -366,7 +376,8 @@ jobs: run: | python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder - ./builder build -p ${{ env.PACKAGE_NAME }} --target=ios-arm64 --cmake-extra=-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO + ./builder build -p ${{ env.PACKAGE_NAME }} --target=ios-arm64 \ + --cmake-extra=-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO cross_compile: name: Cross Compile ${{matrix.arch}} @@ -435,4 +446,6 @@ jobs: - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=clang-12 --cmake-extra=-DENABLE_SANITIZERS=ON --cmake-extra=-DSANITIZERS="${{ matrix.sanitizers }}" + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=clang-12 \ + --cmake-extra=-DENABLE_SANITIZERS=ON \ + --cmake-extra=-DSANITIZERS="${{ matrix.sanitizers }}" From 28f96dbbabc0c2f081e4699cfca3d0b58cbfd34b Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 12 Aug 2025 09:27:24 -0700 Subject: [PATCH 33/39] clarify AWS_CRT_SOFT_DEPRECATED in Exports.h --- include/aws/crt/Exports.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/include/aws/crt/Exports.h b/include/aws/crt/Exports.h index c6f87ee3e..c3b02d3ed 100644 --- a/include/aws/crt/Exports.h +++ b/include/aws/crt/Exports.h @@ -38,28 +38,28 @@ #endif /* - * Deprecation warnings are emitted unless callers - * compile with -DAWS_CRT_DISABLE_DEPRECATION_WARNINGS. + * Deprecation warnings are emitted unless callers compile with -DAWS_CRT_DISABLE_DEPRECATION_WARNINGS=ON. */ #ifndef AWS_CRT_SOFT_DEPRECATED # if !defined(AWS_CRT_DISABLE_DEPRECATION_WARNINGS) -# if defined(__has_attribute) /* Clang, GCC, Apple Clang, ICC all implement __has_attribute */ +/* On compilers that support __has_atribute check whether the `deprecated` attribute exists */ +# if defined(__has_attribute) # if __has_attribute(deprecated) -/* In these instances, we will use what's already provided */ # define AWS_CRT_SOFT_DEPRECATED(msg) __attribute__((deprecated(msg))) # endif # endif -/* We fallback to standard C++14 or MSVC syntax */ +/* Otherwise we fallback to standard C++14 or MSVC syntax */ # if !defined(AWS_CRT_SOFT_DEPRECATED) -# if __cplusplus >= 201402L /* C++14 supports [[deprecated]] */ +# if __cplusplus >= 201402L /* C++14 supports [[deprecated]] */ # define AWS_CRT_SOFT_DEPRECATED(msg) [[deprecated(msg)]] -# elif defined(_MSC_VER) /* Older MSVC */ +# elif defined(_MSC_VER) /* Older MSVC */ # define AWS_CRT_SOFT_DEPRECATED(msg) __declspec(deprecated(msg)) -# else /* Unknown compiler → bail out */ +# else /* Unknown compiler. Do nothing. */ # define AWS_CRT_SOFT_DEPRECATED(msg) # endif # endif # else +/* If AWS_CRT_DISABLE_DEPRECATION_WARNINGS do nothing */ # define AWS_CRT_SOFT_DEPRECATED(msg) # endif #endif From 24be1dc1fbdaae64932901977bf8202facf7289e Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 12 Aug 2025 09:46:57 -0700 Subject: [PATCH 34/39] ci.yml windows needs to be on a single line --- .github/workflows/ci.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index da659f311..ea1cf3e35 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -297,8 +297,7 @@ jobs: CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DBUILD_SHARED_LIBS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON # Ensure users can link with /DELAYLOAD:aws-crt-cpp.dll # We test by building everything using those linker flags. @@ -318,8 +317,7 @@ jobs: CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DBUILD_SHARED_LIBS=ON + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON windows-no-cpu-extensions: runs-on: windows-2025 # latest @@ -333,8 +331,7 @@ jobs: CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" - python builder.pyz build -p ${{ env.PACKAGE_NAME }} \ - --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF + python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF macos: runs-on: macos-14 # latest From c6e5135a942b926b195a599a013285530cd29ab9 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 12 Aug 2025 09:53:14 -0700 Subject: [PATCH 35/39] updated deprecation warning text --- include/aws/crt/mqtt/MqttClient.h | 26 +++++++++++--------- include/aws/iot/MqttClient.h | 40 +++++++++++++++---------------- 2 files changed, 35 insertions(+), 31 deletions(-) diff --git a/include/aws/crt/mqtt/MqttClient.h b/include/aws/crt/mqtt/MqttClient.h index 59e998577..8be854bc4 100644 --- a/include/aws/crt/mqtt/MqttClient.h +++ b/include/aws/crt/mqtt/MqttClient.h @@ -35,22 +35,26 @@ namespace Aws namespace Mqtt { /** + * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to + * fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client + * to access a more robust feature set, clearer error handling, and lifetime management. More details can be + * found here: + * * An MQTT client. This is a move-only type. Unless otherwise specified, * all function arguments need only to live through the duration of the * function call. */ class AWS_CRT_CPP_API AWS_CRT_SOFT_DEPRECATED( - "Please use Aws::Crt::Mqtt5::Mqtt5Client for new code. There are " - "no current plans to fully deprecate the MQTT 3.1.1 client but it is highly recommended customers " - "migrate " - "to the MQTT5 client to have access to a more robust feature set, clearer error handling, and lifetime " - "management. More details can be found here: ") MqttClient final + "We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully " + "deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to " + "access a more robust feature set, clearer error handling, and lifetime management. More details can " + "be found here: ") MqttClient final { public: /** - * @deprecated Prefer Aws::Crt::Mqtt5::Mqtt5Client for new code. There are no current plans to fully - * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to - * have access to a more robust feature set, clearer error handling, and lifetime management. More + * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans + * to fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 + * client to access a more robust feature set, clearer error handling, and lifetime management. More * details can be found here: * * Initialize an MqttClient using bootstrap and allocator @@ -58,9 +62,9 @@ namespace Aws MqttClient(Io::ClientBootstrap &bootstrap, Allocator *allocator = ApiAllocator()) noexcept; /** - * @deprecated Prefer Aws::Crt::Mqtt5::Mqtt5Client for new code. There are no current plans to fully - * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to - * have access to a more robust feature set, clearer error handling, and lifetime management. More + * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans + * to fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 + * client to access a more robust feature set, clearer error handling, and lifetime management. More * details can be found here: * * Initialize an MqttClient using a allocator and the default ClientBootstrap diff --git a/include/aws/iot/MqttClient.h b/include/aws/iot/MqttClient.h index 0406e25f2..808cd0bfa 100644 --- a/include/aws/iot/MqttClient.h +++ b/include/aws/iot/MqttClient.h @@ -101,10 +101,10 @@ namespace Aws }; /** - * @deprecated Please use Aws::Iot::Mqtt5ClientBuilder for new code. There are no current plans to fully - * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to have - * access to a more robust feature set, clearer error handling, and lifetime management. More details can be - * found here: + * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully + * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to access + * a more robust feature set, clearer error handling, and lifetime management. More details can be found here: + * * * Represents configuration parameters for building a MqttClientConnectionConfig object. You can use a single * instance of this class PER MqttClientConnectionConfig you want to generate. If you want to generate a config @@ -470,29 +470,29 @@ namespace Aws }; /** - * @deprecated Please use Aws::Crt::Mqtt5::Mqtt5Client for new code. There are no current plans to fully - * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to have - * access to a more robust feature set, clearer error handling, and lifetime management. More details can be - * found here: + * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully + * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to access + * a more robust feature set, clearer error handling, and lifetime management. More details can be found here: + * * * AWS IOT specific Mqtt Client. Sets defaults for using the AWS IOT service. You'll need an instance of * MqttClientConnectionConfig to use. Once NewConnection returns, you use it's return value identically * to how you would use Aws::Crt::Mqtt::MqttConnection */ class AWS_CRT_CPP_API AWS_CRT_SOFT_DEPRECATED( - "Please use Aws::Crt::Mqtt5::Mqtt5Client for new code. There are " - "no current plans to fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate " - "to the MQTT5 client to have access to a more robust feature set, clearer error handling, and lifetime " - "management. More details can be found here: ") MqttClient final + "We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully " + "deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to " + "access a more robust feature set, clearer error handling, and lifetime management. More details can be " + "found here: ") MqttClient final { public: MqttClient(Crt::Io::ClientBootstrap &bootstrap, Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept; /** - * @deprecated Prefer Aws::Crt::Mqtt5::Mqtt5Client for new code. There are no current plans to fully - * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to - * have access to a more robust feature set, clearer error handling, and lifetime management. More details - * can be found here: + * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to + * fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client + * to access a more robust feature set, clearer error handling, and lifetime management. More details can be + * found here: * * Constructs a new Mqtt Client object using the static default ClientBootstrap. * @@ -502,10 +502,10 @@ namespace Aws MqttClient(Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept; /** - * @deprecated Prefer Aws::Crt::Mqtt5::Mqtt5Client for new code. There are no current plans to fully - * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to - * have access to a more robust feature set, clearer error handling, and lifetime management. More details - * can be found here: + * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to + * fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client + * to access a more robust feature set, clearer error handling, and lifetime management. More details can be + * found here: * * Creates a new mqtt connection from a connection configuration object * @param config mqtt connection configuration From f7d10b810e1ae627b534579ea95998c2de41ab0b Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 12 Aug 2025 09:56:40 -0700 Subject: [PATCH 36/39] Change to BLOG LINK DEBUG WIP for now. Need to update it to a proper link later --- include/aws/crt/mqtt/MqttClient.h | 8 ++++---- include/aws/iot/MqttClient.h | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/aws/crt/mqtt/MqttClient.h b/include/aws/crt/mqtt/MqttClient.h index 8be854bc4..57ac32a59 100644 --- a/include/aws/crt/mqtt/MqttClient.h +++ b/include/aws/crt/mqtt/MqttClient.h @@ -38,7 +38,7 @@ namespace Aws * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to * fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client * to access a more robust feature set, clearer error handling, and lifetime management. More details can be - * found here: + * found here: BLOG LINK DEBUG WIP * * An MQTT client. This is a move-only type. Unless otherwise specified, * all function arguments need only to live through the duration of the @@ -48,14 +48,14 @@ namespace Aws "We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully " "deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to " "access a more robust feature set, clearer error handling, and lifetime management. More details can " - "be found here: ") MqttClient final + "be found here: BLOG LINK DEBUG WIP") MqttClient final { public: /** * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans * to fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 * client to access a more robust feature set, clearer error handling, and lifetime management. More - * details can be found here: + * details can be found here: BLOG LINK DEBUG WIP * * Initialize an MqttClient using bootstrap and allocator */ @@ -65,7 +65,7 @@ namespace Aws * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans * to fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 * client to access a more robust feature set, clearer error handling, and lifetime management. More - * details can be found here: + * details can be found here: BLOG LINK DEBUG WIP * * Initialize an MqttClient using a allocator and the default ClientBootstrap * diff --git a/include/aws/iot/MqttClient.h b/include/aws/iot/MqttClient.h index 808cd0bfa..8205cfba0 100644 --- a/include/aws/iot/MqttClient.h +++ b/include/aws/iot/MqttClient.h @@ -104,7 +104,7 @@ namespace Aws * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to access * a more robust feature set, clearer error handling, and lifetime management. More details can be found here: - * + * BLOG LINK DEBUG WIP * * Represents configuration parameters for building a MqttClientConnectionConfig object. You can use a single * instance of this class PER MqttClientConnectionConfig you want to generate. If you want to generate a config @@ -473,7 +473,7 @@ namespace Aws * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to access * a more robust feature set, clearer error handling, and lifetime management. More details can be found here: - * + * BLOG LINK DEBUG WIP * * AWS IOT specific Mqtt Client. Sets defaults for using the AWS IOT service. You'll need an instance of * MqttClientConnectionConfig to use. Once NewConnection returns, you use it's return value identically @@ -483,7 +483,7 @@ namespace Aws "We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully " "deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to " "access a more robust feature set, clearer error handling, and lifetime management. More details can be " - "found here: ") MqttClient final + "found here: BLOG LINK DEBUG WIP") MqttClient final { public: MqttClient(Crt::Io::ClientBootstrap &bootstrap, Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept; @@ -492,7 +492,7 @@ namespace Aws * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to * fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client * to access a more robust feature set, clearer error handling, and lifetime management. More details can be - * found here: + * found here: BLOG LINK DEBUG WIP * * Constructs a new Mqtt Client object using the static default ClientBootstrap. * @@ -505,7 +505,7 @@ namespace Aws * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to * fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client * to access a more robust feature set, clearer error handling, and lifetime management. More details can be - * found here: + * found here: BLOG LINK DEBUG WIP * * Creates a new mqtt connection from a connection configuration object * @param config mqtt connection configuration From 040b8219ed0d344b688304f9abcf28b1836d2168 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 12 Aug 2025 10:18:54 -0700 Subject: [PATCH 37/39] handle the Macros being used for deprecation errors in doxygen --- docsrc/Doxyfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docsrc/Doxyfile b/docsrc/Doxyfile index a7711d0d8..faba05a94 100644 --- a/docsrc/Doxyfile +++ b/docsrc/Doxyfile @@ -2284,7 +2284,7 @@ ENABLE_PREPROCESSING = YES # The default value is: NO. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -MACRO_EXPANSION = NO +MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then # the macro expansion is limited to the macros specified with the PREDEFINED and @@ -2292,7 +2292,7 @@ MACRO_EXPANSION = NO # The default value is: NO. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -EXPAND_ONLY_PREDEF = NO +EXPAND_ONLY_PREDEF = YES # If the SEARCH_INCLUDES tag is set to YES, the include files in the # INCLUDE_PATH will be searched if a #include is found. @@ -2325,7 +2325,8 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = +PREDEFINED += AWS_CRT_SOFT_DEPRECATED(x)= +PREDEFINED += AWS_CRT_CPP_API= # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The From e7e7bc8004577edd77cf699a74ddf7969f9c27ca Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 12 Aug 2025 13:26:25 -0700 Subject: [PATCH 38/39] update deprecated annotation to reference the FAQ --- include/aws/crt/mqtt/MqttClient.h | 8 ++++---- include/aws/iot/MqttClient.h | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/aws/crt/mqtt/MqttClient.h b/include/aws/crt/mqtt/MqttClient.h index 57ac32a59..377ab1ef3 100644 --- a/include/aws/crt/mqtt/MqttClient.h +++ b/include/aws/crt/mqtt/MqttClient.h @@ -38,7 +38,7 @@ namespace Aws * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to * fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client * to access a more robust feature set, clearer error handling, and lifetime management. More details can be - * found here: BLOG LINK DEBUG WIP + * found in the GitHub Repo FAQ * * An MQTT client. This is a move-only type. Unless otherwise specified, * all function arguments need only to live through the duration of the @@ -48,14 +48,14 @@ namespace Aws "We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully " "deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to " "access a more robust feature set, clearer error handling, and lifetime management. More details can " - "be found here: BLOG LINK DEBUG WIP") MqttClient final + "be found in the GitHub Repo FAQ") MqttClient final { public: /** * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans * to fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 * client to access a more robust feature set, clearer error handling, and lifetime management. More - * details can be found here: BLOG LINK DEBUG WIP + * details can be found in the GitHub Repo FAQ * * Initialize an MqttClient using bootstrap and allocator */ @@ -65,7 +65,7 @@ namespace Aws * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans * to fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 * client to access a more robust feature set, clearer error handling, and lifetime management. More - * details can be found here: BLOG LINK DEBUG WIP + * details can be found in the GitHub Repo FAQ * * Initialize an MqttClient using a allocator and the default ClientBootstrap * diff --git a/include/aws/iot/MqttClient.h b/include/aws/iot/MqttClient.h index 8205cfba0..2a7d4aa80 100644 --- a/include/aws/iot/MqttClient.h +++ b/include/aws/iot/MqttClient.h @@ -103,8 +103,8 @@ namespace Aws /** * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to access - * a more robust feature set, clearer error handling, and lifetime management. More details can be found here: - * BLOG LINK DEBUG WIP + * a more robust feature set, clearer error handling, and lifetime management. More details can be found in the + * GitHub Repo FAQ * * Represents configuration parameters for building a MqttClientConnectionConfig object. You can use a single * instance of this class PER MqttClientConnectionConfig you want to generate. If you want to generate a config @@ -472,8 +472,8 @@ namespace Aws /** * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully * deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to access - * a more robust feature set, clearer error handling, and lifetime management. More details can be found here: - * BLOG LINK DEBUG WIP + * a more robust feature set, clearer error handling, and lifetime management. More details can be found in the + * GitHub Repo FAQ * * AWS IOT specific Mqtt Client. Sets defaults for using the AWS IOT service. You'll need an instance of * MqttClientConnectionConfig to use. Once NewConnection returns, you use it's return value identically @@ -483,7 +483,7 @@ namespace Aws "We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to fully " "deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client to " "access a more robust feature set, clearer error handling, and lifetime management. More details can be " - "found here: BLOG LINK DEBUG WIP") MqttClient final + "found in the GitHub Repo FAQ") MqttClient final { public: MqttClient(Crt::Io::ClientBootstrap &bootstrap, Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept; @@ -492,7 +492,7 @@ namespace Aws * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to * fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client * to access a more robust feature set, clearer error handling, and lifetime management. More details can be - * found here: BLOG LINK DEBUG WIP + * found in the GitHub Repo FAQ * * Constructs a new Mqtt Client object using the static default ClientBootstrap. * @@ -505,7 +505,7 @@ namespace Aws * @deprecated We strongly recommend using the Aws::Crt::Mqtt5::Mqtt5Client. There are no current plans to * fully deprecate the MQTT 3.1.1 client but it is highly recommended customers migrate to the MQTT5 client * to access a more robust feature set, clearer error handling, and lifetime management. More details can be - * found here: BLOG LINK DEBUG WIP + * found in the GitHub Repo FAQ * * Creates a new mqtt connection from a connection configuration object * @param config mqtt connection configuration From f5deca00cd64e14e97cbe52ee501c5bf41a0ec9a Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Tue, 30 Sep 2025 08:32:01 -0700 Subject: [PATCH 39/39] add deprecation option to windows lean ci job --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e9cb56ee9..fe9e14d92 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -272,6 +272,7 @@ jobs: env: CFLAGS: "-DWIN32_LEAN_AND_MEAN" CXXFLAGS: "-DWIN32_LEAN_AND_MEAN" + CL: "/DAWS_CRT_DISABLE_DEPRECATION_WARNINGS /EHsc" steps: - uses: aws-actions/configure-aws-credentials@v4 with: