From 238e53161715b053c9be0b214d49346692afe269 Mon Sep 17 00:00:00 2001 From: Justin Smith Date: Fri, 20 Mar 2026 11:19:40 -0400 Subject: [PATCH 1/3] Fix entropy source selection for Apple cross-compilation targets --- crypto/rand_extra/internal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/rand_extra/internal.h b/crypto/rand_extra/internal.h index b79627d9df8..5553acba105 100644 --- a/crypto/rand_extra/internal.h +++ b/crypto/rand_extra/internal.h @@ -15,7 +15,7 @@ defined(OPENSSL_SOLARIS) || defined(OPENSSL_WASM) || \ (defined(OPENSSL_LINUX) && !defined(HAVE_LINUX_RANDOM_H)) #define OPENSSL_RAND_GETENTROPY -#elif defined(OPENSSL_IOS) +#elif defined(OPENSSL_APPLE) #define OPENSSL_RAND_CCRANDOMGENERATEBYTES #else #define OPENSSL_RAND_URANDOM From 23af6b296a11f1cd06bf044cce606cd187fc76c7 Mon Sep 17 00:00:00 2001 From: Justin Smith Date: Fri, 20 Mar 2026 12:03:47 -0400 Subject: [PATCH 2/3] Add CI job --- .github/workflows/aws-lc-rs.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.github/workflows/aws-lc-rs.yml b/.github/workflows/aws-lc-rs.yml index c14132707a5..8ea032926d0 100644 --- a/.github/workflows/aws-lc-rs.yml +++ b/.github/workflows/aws-lc-rs.yml @@ -147,6 +147,32 @@ jobs: cargo test -p aws-lc-sys cargo test -p aws-lc-rs + # iOS cross-compilation build test (aarch64-apple-ios) + aws-lc-rs-ios-aarch64: + if: github.repository_owner == 'aws' + name: aws-lc-rs iOS aarch64 cross-compilation + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + with: + repository: aws/aws-lc-rs + path: ./aws-lc-rs + submodules: 'recursive' + - name: Remove aws-lc submodule from crate directory + working-directory: ./aws-lc-rs/aws-lc-sys + shell: bash + run: rm -rf aws-lc + - uses: actions/checkout@v4 + with: + path: ./aws-lc-rs/aws-lc-sys/aws-lc + - run: brew install llvm + - uses: dtolnay/rust-toolchain@stable + with: + target: aarch64-apple-ios + - name: Build for aarch64-apple-ios + working-directory: ./aws-lc-rs + run: cargo build -p aws-lc-rs --target aarch64-apple-ios --features bindgen + # Full bindings pre-generation test on Windows (x86_64-pc-windows-msvc) aws-lc-rs-windows: if: github.repository_owner == 'aws' From 102bf4470623ed1ff3d3e1aed290099273f4eff7 Mon Sep 17 00:00:00 2001 From: Justin Smith Date: Mon, 23 Mar 2026 17:04:42 -0400 Subject: [PATCH 3/3] Per PR feedback; ensure CI uses Homebrew clang --- .github/workflows/aws-lc-rs.yml | 3 +++ crypto/rand_extra/internal.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/.github/workflows/aws-lc-rs.yml b/.github/workflows/aws-lc-rs.yml index 8ea032926d0..7572e98e589 100644 --- a/.github/workflows/aws-lc-rs.yml +++ b/.github/workflows/aws-lc-rs.yml @@ -171,6 +171,9 @@ jobs: target: aarch64-apple-ios - name: Build for aarch64-apple-ios working-directory: ./aws-lc-rs + env: + CC: /opt/homebrew/opt/llvm/bin/clang + CXX: /opt/homebrew/opt/llvm/bin/clang++ run: cargo build -p aws-lc-rs --target aarch64-apple-ios --features bindgen # Full bindings pre-generation test on Windows (x86_64-pc-windows-msvc) diff --git a/crypto/rand_extra/internal.h b/crypto/rand_extra/internal.h index 5553acba105..55ae272d438 100644 --- a/crypto/rand_extra/internal.h +++ b/crypto/rand_extra/internal.h @@ -15,6 +15,8 @@ defined(OPENSSL_SOLARIS) || defined(OPENSSL_WASM) || \ (defined(OPENSSL_LINUX) && !defined(HAVE_LINUX_RANDOM_H)) #define OPENSSL_RAND_GETENTROPY +// OPENSSL_APPLE is always defined when OPENSSL_MACOS is defined, so this +// branch must come after the OPENSSL_MACOS branch above. #elif defined(OPENSSL_APPLE) #define OPENSSL_RAND_CCRANDOMGENERATEBYTES #else