Skip to content

Commit fb11672

Browse files
committed
[Mac Build] Add stdlib build
* Add cache files for the stdlib build * Adapt stdlib job to build for both Windows and Mac.
1 parent 9e94f0f commit fb11672

File tree

4 files changed

+201
-152
lines changed

4 files changed

+201
-152
lines changed

.github/workflows/build-toolchain.yml

+58-4
Original file line numberDiff line numberDiff line change
@@ -354,72 +354,114 @@ jobs:
354354
"include": [
355355
{
356356
"arch": "amd64",
357+
"cpu": "x86_64",
357358
"os": "Windows",
359+
"platform": "Windows",
360+
"triple": "x86_64-unknown-windows-msvc",
361+
"triple_no_api_level": "x86_64-unknown-windows-msvc",
358362
"cc": "cl",
359363
"cflags": "${{ steps.context.outputs.WINDOWS_CMAKE_C_FLAGS }}",
360364
"cxx": "cl",
361365
"cxxflags": "${{ steps.context.outputs.WINDOWS_CMAKE_CXX_FLAGS }}",
362366
"swiftflags": "${{ steps.context.outputs.WINDOWS_CMAKE_Swift_FLAGS }}",
367+
"cmake_linker_flags": "-D CMAKE_EXE_LINKER_FLAGS=\"${{ steps.context.outputs.WINDOWS_CMAKE_EXE_LINKER_FLAGS }}\" -D CMAKE_SHARED_LINKER_FLAGS=\"${{ steps.context.outputs.WINDOWS_CMAKE_EXE_LINKER_FLAGS }}\"",
368+
"llvm_flags": "",
363369
"extra_flags": "-D CMAKE_SYSTEM_PROCESSOR=AMD64 -D CMAKE_MT=mt"
364370
},
365371
{
366372
"arch": "arm64",
373+
"cpu": "aarch64",
367374
"os": "Windows",
375+
"platform": "Windows",
376+
"triple": "aarch64-unknown-windows-msvc",
377+
"triple_no_api_level": "aarch64-unknown-windows-msvc",
368378
"cc": "cl",
369379
"cflags": "${{ steps.context.outputs.WINDOWS_CMAKE_C_FLAGS }}",
370380
"cxx": "cl",
371381
"cxxflags": "${{ steps.context.outputs.WINDOWS_CMAKE_CXX_FLAGS }}",
372382
"swiftflags": "${{ steps.context.outputs.WINDOWS_CMAKE_Swift_FLAGS }}",
383+
"cmake_linker_flags": "-D CMAKE_EXE_LINKER_FLAGS=\"${{ steps.context.outputs.WINDOWS_CMAKE_EXE_LINKER_FLAGS }}\" -D CMAKE_SHARED_LINKER_FLAGS=\"${{ steps.context.outputs.WINDOWS_CMAKE_EXE_LINKER_FLAGS }}\"",
384+
"llvm_flags": "",
373385
"extra_flags": "-D CMAKE_SYSTEM_PROCESSOR=ARM64 -D CMAKE_MT=mt"
374386
},
375387
{
376388
"arch": "x86",
389+
"cpu": "i686",
377390
"os": "Windows",
391+
"platform": "Windows",
392+
"triple": "i686-unknown-windows-msvc",
393+
"triple_no_api_level": "i686-unknown-windows-msvc",
378394
"cc": "cl",
379395
"cflags": "${{ steps.context.outputs.WINDOWS_CMAKE_C_FLAGS }}",
380396
"cxx": "cl",
381397
"cxxflags": "${{ steps.context.outputs.WINDOWS_CMAKE_CXX_FLAGS }}",
382398
"swiftflags": "",
399+
"cmake_linker_flags": "-D CMAKE_EXE_LINKER_FLAGS=\"${{ steps.context.outputs.WINDOWS_CMAKE_EXE_LINKER_FLAGS }}\" -D CMAKE_SHARED_LINKER_FLAGS=\"${{ steps.context.outputs.WINDOWS_CMAKE_EXE_LINKER_FLAGS }}\"",
400+
"llvm_flags": "",
383401
"extra_flags": "-D CMAKE_SYSTEM_PROCESSOR=X86 -D CMAKE_MT=mt"
384402
},
385403
{
386404
"arch": "arm64",
405+
"cpu": "aarch64",
387406
"os": "Android",
407+
"platform": "Android",
408+
"triple": "aarch64-unknown-linux-android${{ inputs.ANDROID_API_LEVEL }}",
409+
"triple_no_api_level": "aarch64-unknown-linux-android",
388410
"cc": "clang",
389411
"cflags": "${{ steps.context.outputs.ANDROID_CMAKE_C_FLAGS }}",
390412
"cxx": "clang++",
391413
"cxxflags": "${{ steps.context.outputs.ANDROID_CMAKE_CXX_FLAGS }}",
392-
"swiftflags": "",
414+
"swiftflags": "-sdk $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/sysroot -Xclang-linker -target -Xclang-linker aarch64-unknown-linux-android${{ inputs.ANDROID_API_LEVEL }} -Xclang-linker --sysroot -Xclang-linker $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/sysroot -Xclang-linker -resource-dir -Xclang-linker $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/lib/clang/17 -L ${{ github.workspace }}/BinaryCache/swift/lib/swift/android -g",
415+
"cmake_linker_flags": "-D CMAKE_EXE_LINKER_FLAGS=\"${{ steps.context.outputs.ANDROID_CMAKE_EXE_LINKER_FLAGS }}\" -D CMAKE_SHARED_LINKER_FLAGS=\"${{ steps.context.outputs.ANDROID_CMAKE_SHARED_LINKER_FLAGS }}\"",
416+
"llvm_flags": "-DCMAKE_SYSTEM_PROCESSOR=aarch64 -DLLVM_HOST_TRIPLE=aarch64-unknown-linux-android${{ inputs.ANDROID_API_LEVEL }}",
393417
"extra_flags": "-DCMAKE_ANDROID_API=${{ inputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a"
394418
},
395419
{
396420
"arch": "armv7",
421+
"cpu": "armv7-a",
397422
"os": "Android",
423+
"platform": "Android",
424+
"triple": "armv7-unknown-linux-androideabi${{ inputs.ANDROID_API_LEVEL }}",
425+
"triple_no_api_level": "armv7-unknown-linux-androideabi",
398426
"cc": "clang",
399427
"cflags": "${{ steps.context.outputs.ANDROID_CMAKE_C_FLAGS }}",
400428
"cxx": "clang++",
401429
"cxxflags": "${{ steps.context.outputs.ANDROID_CMAKE_CXX_FLAGS }}",
402-
"swiftflags": "",
430+
"swiftflags": "-sdk $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/sysroot -Xclang-linker -target -Xclang-linker armv7a-unknown-linux-androideabi${{ inputs.ANDROID_API_LEVEL }} -Xclang-linker --sysroot -Xclang-linker $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/sysroot -Xclang-linker -resource-dir -Xclang-linker $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/lib/clang/17 -L ${{ github.workspace }}/BinaryCache/swift/lib/swift/android -g",
431+
"cmake_linker_flags": "-D CMAKE_EXE_LINKER_FLAGS=\"${{ steps.context.outputs.ANDROID_CMAKE_EXE_LINKER_FLAGS }}\" -D CMAKE_SHARED_LINKER_FLAGS=\"${{ steps.context.outputs.ANDROID_CMAKE_SHARED_LINKER_FLAGS }}\"",
432+
"llvm_flags": "-DCMAKE_SYSTEM_PROCESSOR=armv7-a -DLLVM_HOST_TRIPLE=armv7a-unknown-linux-androideabi${{ inputs.ANDROID_API_LEVEL }}",
403433
"extra_flags": "-DCMAKE_ANDROID_API=${{ inputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a"
404434
},
405435
{
406436
"arch": "i686",
437+
"cpu": "i686",
407438
"os": "Android",
439+
"platform": "Android",
440+
"triple": "i686-unknown-linux-android${{ inputs.ANDROID_API_LEVEL }}",
441+
"triple_no_api_level": "i686-unknown-linux-android",
408442
"cc": "clang",
409443
"cflags": "${{ steps.context.outputs.ANDROID_CMAKE_C_FLAGS }}",
410444
"cxx": "clang++",
411445
"cxxflags": "${{ steps.context.outputs.ANDROID_CMAKE_CXX_FLAGS }}",
412-
"swiftflags": "",
446+
"swiftflags": "-sdk $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/sysroot -Xclang-linker -target -Xclang-linker i686-unknown-linux-android${{ inputs.ANDROID_API_LEVEL }} -Xclang-linker --sysroot -Xclang-linker $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/sysroot -Xclang-linker -resource-dir -Xclang-linker $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/lib/clang/17 -L ${{ github.workspace }}/BinaryCache/swift/lib/swift/android -g",
447+
"cmake_linker_flags": "-D CMAKE_EXE_LINKER_FLAGS=\"${{ steps.context.outputs.ANDROID_CMAKE_EXE_LINKER_FLAGS }}\" -D CMAKE_SHARED_LINKER_FLAGS=\"${{ steps.context.outputs.ANDROID_CMAKE_SHARED_LINKER_FLAGS }}\"",
448+
"llvm_flags": "-DCMAKE_SYSTEM_PROCESSOR=i686 -DLLVM_HOST_TRIPLE=i686-unknown-linux-android${{ inputs.ANDROID_API_LEVEL }}",
413449
"extra_flags": "-DCMAKE_ANDROID_API=${{ inputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=x86"
414450
},
415451
{
416452
"arch": "x86_64",
453+
"cpu": "x86_64",
417454
"os": "Android",
455+
"platform": "Android",
456+
"triple": "x86_64-unknown-linux-android${{ inputs.ANDROID_API_LEVEL }}",
457+
"triple_no_api_level": "x86_64-unknown-linux-android",
418458
"cc": "clang",
419459
"cflags": "${{ steps.context.outputs.ANDROID_CMAKE_C_FLAGS }}",
420460
"cxx": "clang++",
421461
"cxxflags": "${{ steps.context.outputs.ANDROID_CMAKE_CXX_FLAGS }}",
422-
"swiftflags": "",
462+
"swiftflags": "-sdk $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/sysroot -Xclang-linker -target -Xclang-linker x86_64-unknown-linux-android${{ inputs.ANDROID_API_LEVEL }} -Xclang-linker --sysroot -Xclang-linker $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/sysroot -Xclang-linker -resource-dir -Xclang-linker $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/lib/clang/17 -L ${{ github.workspace }}/BinaryCache/swift/lib/swift/android -g",
463+
"cmake_linker_flags": "-D CMAKE_EXE_LINKER_FLAGS=\"${{ steps.context.outputs.ANDROID_CMAKE_EXE_LINKER_FLAGS }}\" -D CMAKE_SHARED_LINKER_FLAGS=\"${{ steps.context.outputs.ANDROID_CMAKE_SHARED_LINKER_FLAGS }}\"",
464+
"llvm_flags": "-DCMAKE_SYSTEM_PROCESSOR=x86_64 -DLLVM_HOST_TRIPLE=x86_64-unknown-linux-android${{ inputs.ANDROID_API_LEVEL }}",
423465
"extra_flags": "-DCMAKE_ANDROID_API=${{ inputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=x86_64"
424466
}
425467
]
@@ -471,22 +513,34 @@ jobs:
471513
"include": [
472514
{
473515
"arch": "x86_64",
516+
"cpu": "x86_64",
474517
"os": "Darwin",
518+
"platform": "MacOSX",
519+
"triple": "x86_64-apple-macosx15.0",
520+
"triple_no_api_level": "x86_64-apple-macosx15.0",
475521
"cc": "clang",
476522
"cflags": "${{ steps.context.outputs.DARWIN_CMAKE_C_FLAGS }}",
477523
"cxx": "clang++",
478524
"cxxflags": "${{ steps.context.outputs.DARWIN_CMAKE_CXX_FLAGS }}",
479525
"swiftflags": "${{ steps.context.outputs.DARWIN_CMAKE_Swift_FLAGS }}",
526+
"cmake_linker_flags": "-D CMAKE_EXE_LINKER_FLAGS=\"${{ steps.context.outputs.DARWIN_CMAKE_EXE_LINKER_FLAGS }}\" -D CMAKE_SHARED_LINKER_FLAGS=\"${{ steps.context.outputs.DARWIN_CMAKE_SHARED_LINKER_FLAGS }}\"",
527+
"llvm_flags": "",
480528
"extra_flags": "-D CMAKE_SYSTEM_PROCESSOR=x86_64 -D CMAKE_OSX_DEPLOYMENT_TARGET=15.0 -D CMAKE_OSX_ARCHITECTURES=x86_64"
481529
},
482530
{
483531
"arch": "arm64",
532+
"cpu": "aarch64",
484533
"os": "Darwin",
534+
"platform": "MacOSX",
535+
"triple": "aarch64-apple-macosx15.0",
536+
"triple_no_api_level": "aarch64-apple-macosx15.0",
485537
"cc": "clang",
486538
"cflags": "${{ steps.context.outputs.DARWIN_CMAKE_C_FLAGS }}",
487539
"cxx": "clang++",
488540
"cxxflags": "${{ steps.context.outputs.DARWIN_CMAKE_CXX_FLAGS }}",
489541
"swiftflags": "${{ steps.context.outputs.DARWIN_CMAKE_Swift_FLAGS }}",
542+
"cmake_linker_flags": "-D CMAKE_EXE_LINKER_FLAGS=\"${{ steps.context.outputs.DARWIN_CMAKE_EXE_LINKER_FLAGS }}\" -D CMAKE_SHARED_LINKER_FLAGS=\"${{ steps.context.outputs.DARWIN_CMAKE_SHARED_LINKER_FLAGS }}\"",
543+
"llvm_flags": "",
490544
"extra_flags": "-D CMAKE_SYSTEM_PROCESSOR=arm64 -D CMAKE_OSX_DEPLOYMENT_TARGET=15.0 -D CMAKE_OSX_ARCHITECTURES=arm64"
491545
}
492546
]

0 commit comments

Comments
 (0)