Skip to content

Commit

Permalink
GHA Main: Try bumping LDC-LLVM for macOS arm64 cross-compilation job
Browse files Browse the repository at this point in the history
  • Loading branch information
kinke committed May 4, 2024
1 parent b465240 commit 449981d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
16 changes: 10 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,17 +161,18 @@ jobs:
include:

- job_name: macOS arm64
host_os: macos-11
host_os: macos-13 # latest x86_64 image
os: osx
arch: arm64
bootstrap_cmake_flags: -DD_COMPILER_FLAGS=-gcc=/usr/bin/c++
# see native macOS job comment for extra flags (https://github.com/ldc-developers/ldc/issues/4462)
extra_cmake_flags: >-
-DBUILD_LTO_LIBS=ON
-DD_COMPILER_FLAGS="-O -flto=full -defaultlib=phobos2-ldc-lto,druntime-ldc-lto -L-exported_symbol '-L__*' -L-w"
-DEXTRA_CXXFLAGS=-flto=full
with_pgo: true
llvm_version: 17.0.6 # TODO
# FIXME: disabling LTO for C++ parts as well as PGO, out of caution due to
# weird issues for native job experiments in https://github.com/ldc-developers/ldc/pull/4604
# -DEXTRA_CXXFLAGS=-flto=full
#with_pgo: true

- job_name: Android armv7a
host_os: ubuntu-20.04
Expand All @@ -198,11 +199,14 @@ jobs:
with:
submodules: true
fetch-depth: 50
- name: 'macOS 13: Switch to Xcode v15.2' # the LLVM package is built natively on macOS 14, using Xcode v15.3
if: matrix.host_os == 'macos-13'
run: sudo xcode-select -switch /Applications/Xcode_15.2.app
- name: Install prerequisites
uses: ./.github/actions/1-setup
with:
clang_version: ${{ env.CLANG_VERSION }}
llvm_version: ${{ matrix.llvm_version || env.LLVM_VERSION }}
llvm_version: ${{ env.LLVM_VERSION }}
arch: x86_64
- name: Build bootstrap LDC
uses: ./.github/actions/2-build-bootstrap
Expand All @@ -218,7 +222,7 @@ jobs:
with:
arch: ${{ matrix.arch }}
os: ${{ matrix.os }}
llvm_version: ${{ matrix.llvm_version || env.LLVM_VERSION }}
llvm_version: ${{ env.LLVM_VERSION }}
cmake_flags: ${{ matrix.extra_cmake_flags }}
with_pgo: ${{ matrix.with_pgo }}

Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#### Big news
- Frontend, druntime and Phobos are at version [2.108.1](https://dlang.org/changelog/2.108.0.html). (#4591, #4615, #4619, #4622, #4623, #4640)
- Support for [LLVM 18](https://releases.llvm.org/18.1.0/docs/ReleaseNotes.html). The prebuilt packages use v18.1.5 (except for macOS arm64). (#4599, #4605, #4607, #4604, #4628, #4642)
- Support for [LLVM 18](https://releases.llvm.org/18.1.0/docs/ReleaseNotes.html). The prebuilt packages use v18.1.5. (#4599, #4605, #4607, #4604, #4628, #4642)
- Android: Switch to native ELF TLS, supported since API level 29 (Android v10), dropping our former custom TLS emulation (requiring a modified LLVM and a legacy ld.bfd linker). The prebuilt packages themselves require Android v10+ (armv7a) / v11+ (aarch64) too, and are built with NDK r26d. Shared druntime and Phobos libraries are now available (`-link-defaultlib-shared`), as on regular Linux. (#4618)

#### Platform support
Expand Down

0 comments on commit 449981d

Please sign in to comment.