Merge pull request #9501 from JacobBarthelmeh/xcode

Fix for XCODE build with ARM assembly
This commit is contained in:
David Garske
2025-12-09 15:38:31 -08:00
committed by GitHub
2 changed files with 93 additions and 4 deletions

89
.github/workflows/xcode.yml vendored Normal file
View File

@@ -0,0 +1,89 @@
name: Xcode Build Tests
# START OF COMMON SECTION
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# END OF COMMON SECTION
jobs:
build:
if: github.repository_owner == 'wolfssl'
runs-on: macos-latest
# This should be a safe limit for the tests to run.
timeout-minutes: 10
strategy:
matrix:
include:
# macOS builds
- target: wolfssl_osx
arch: arm64
config: Release
sdk: macosx
name: macOS (ARM64, Release)
- target: wolfssl_osx
arch: x86_64
config: Release
sdk: macosx
name: macOS (x86_64, Release)
- target: wolfssl_osx
arch: arm64
config: Debug
sdk: macosx
name: macOS (ARM64, Debug)
- target: wolfssl_osx
arch: x86_64
config: Debug
sdk: macosx
name: macOS (x86_64, Debug)
# Universal build (both architectures)
- target: wolfssl_osx
arch: arm64
arch2: x86_64
config: Release
sdk: macosx
name: macOS (Universal, Release)
universal: true
# tvOS builds
- target: wolfssl_tvos
arch: arm64
config: Release
sdk: appletvos
name: tvOS (ARM64, Release)
- target: wolfssl_tvos
arch: arm64
config: Release
sdk: appletvsimulator
name: tvOS Simulator (ARM64, Release)
steps:
- uses: actions/checkout@v4
- name: Build wolfSSL with Xcode (${{ matrix.name }})
working-directory: ./IDE/XCODE
run: |
if [ "${{ matrix.universal }}" == "true" ]; then
xcodebuild -project wolfssl.xcodeproj \
-target ${{ matrix.target }} \
-configuration ${{ matrix.config }} \
-arch ${{ matrix.arch }} \
-arch ${{ matrix.arch2 }} \
-sdk ${{ matrix.sdk }} \
SYMROOT=build \
OBJROOT=build \
build
else
xcodebuild -project wolfssl.xcodeproj \
-target ${{ matrix.target }} \
-configuration ${{ matrix.config }} \
-arch ${{ matrix.arch }} \
-sdk ${{ matrix.sdk }} \
SYMROOT=build \
OBJROOT=build \
build
fi

View File

@@ -1069,11 +1069,11 @@
700F0C892A2FBE8200755BA7 /* ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ssl.h; path = ../../wolfssl/openssl/ssl.h; sourceTree = "<group>"; };
700F0C8A2A2FBE8200755BA7 /* rsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rsa.h; path = ../../wolfssl/openssl/rsa.h; sourceTree = "<group>"; };
9D01058F291CEA4F00A854D3 /* armv8-sha512-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-sha512-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-sha512-asm.S"; sourceTree = "<group>"; };
9D010591291CEA4F00A854D3 /* armv8-sha256-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "armv8-sha256-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-sha256-asm.S"; sourceTree = "<group>"; };
9D010593291CEA4F00A854D3 /* armv8-poly1305-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "armv8-poly1305-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-poly1305-asm.S"; sourceTree = "<group>"; };
9D010591291CEA4F00A854D3 /* armv8-sha256-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-sha256-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-sha256-asm.S"; sourceTree = "<group>"; };
9D010593291CEA4F00A854D3 /* armv8-poly1305-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-poly1305-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-poly1305-asm.S"; sourceTree = "<group>"; };
9D010595291CEA4F00A854D3 /* armv8-sha3-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-sha3-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-sha3-asm.S"; sourceTree = "<group>"; };
9D010596291CEA4F00A854D3 /* armv8-chacha-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "armv8-chacha-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-chacha-asm.S"; sourceTree = "<group>"; };
9D010598291CEA4F00A854D3 /* armv8-aes-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "armv8-aes-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-aes-asm.S"; sourceTree = "<group>"; };
9D010596291CEA4F00A854D3 /* armv8-chacha-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-chacha-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-chacha-asm.S"; sourceTree = "<group>"; };
9D010598291CEA4F00A854D3 /* armv8-aes-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-aes-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-aes-asm.S"; sourceTree = "<group>"; };
9D010599291CEA4F00A854D3 /* armv8-curve25519.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-curve25519.S"; path = "../../wolfcrypt/src/port/arm/armv8-curve25519.S"; sourceTree = "<group>"; };
9D2E31CA291CDF120082B941 /* quic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = quic.c; path = ../../src/quic.c; sourceTree = "<group>"; };
9D2E31CB291CDF120082B941 /* dtls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dtls.c; path = ../../src/dtls.c; sourceTree = "<group>"; };