Skip to content

Commit fd6e761

Browse files
committed
CI: Use LDC-LLVM v15.0.7 for prebuilt packages
1 parent 5c48fb2 commit fd6e761

File tree

5 files changed

+26
-29
lines changed

5 files changed

+26
-29
lines changed

.circleci/config.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ jobs:
127127
environment:
128128
- PARALLELISM: 4
129129
- CI_OS: osx
130-
- LLVM_VERSION: 14.0.3
130+
- LLVM_VERSION: 15.0.7
131131
- HOST_LDC_VERSION: 1.24.0
132132
- EXTRA_CMAKE_FLAGS: "-DD_COMPILER_FLAGS=-gcc=/usr/bin/c++ -DBUILD_LTO_LIBS=ON"
133133
- MACOSX_DEPLOYMENT_TARGET: 11.0 # silence `ld: warning: object file (…/libphobos2-ldc.a(adler32.c.o)) was built for newer macOS version (11.6) than being linked (11.0)`
@@ -138,7 +138,7 @@ jobs:
138138
environment:
139139
- PARALLELISM: 4
140140
- CI_OS: osx
141-
- LLVM_VERSION: 14.0.3
141+
- LLVM_VERSION: 15.0.7
142142
- HOST_LDC_VERSION: 1.24.0
143143
- EXTRA_CMAKE_FLAGS: "-DD_COMPILER_FLAGS=-gcc=/usr/bin/c++ -DBUILD_SHARED_LIBS=ON -DBUILD_LTO_LIBS=ON"
144144
- MACOSX_DEPLOYMENT_TARGET: 11.0

.cirrus.yml

+17-22
Original file line numberDiff line numberDiff line change
@@ -207,13 +207,12 @@ install_macos_prerequisites_template: &INSTALL_MACOS_PREREQUISITES_TEMPLATE
207207
mkdir ninja
208208
tar -xf ninja-mac.zip -C ninja
209209
rm ninja-mac.zip
210-
# Download & extract LDC-flavoured LLVM (no withAsserts package available for arm64 yet)
211-
assertsSuffix=""
212-
if [[ "$CI_ARCH" == "x86_64" ]]; then
213-
echo 'Using LLVM with enabled assertions'
214-
assertsSuffix="-withAsserts"
215-
fi
216-
curl -fL --retry 3 --max-time 300 -o llvm.tar.xz https://github.com/ldc-developers/llvm-project/releases/download/ldc-v$LLVM_VERSION/llvm-$LLVM_VERSION-osx-${CI_ARCH}${assertsSuffix}.tar.xz
210+
# Download & extract LDC-flavoured LLVM
211+
echo 'Using LLVM with enabled assertions'
212+
assertsSuffix="-withAsserts"
213+
llvm_tag="CI"
214+
if [[ "$LLVM_VERSION" == *.* ]]; then llvm_tag="ldc-v$LLVM_VERSION"; fi
215+
curl -fL --retry 3 --max-time 300 -o llvm.tar.xz https://github.com/ldc-developers/llvm-project/releases/download/$llvm_tag/llvm-$LLVM_VERSION-osx-${CI_ARCH}${assertsSuffix}.tar.xz
217216
mkdir llvm
218217
tar -xf llvm.tar.xz --strip 1 -C llvm
219218
rm llvm.tar.xz
@@ -228,7 +227,8 @@ install_macos_prerequisites_template: &INSTALL_MACOS_PREREQUISITES_TEMPLATE
228227
229228
environment:
230229
CIRRUS_CLONE_DEPTH: 50
231-
HOST_LDC_VERSION: 1.24.0
230+
HOST_LDC_VERSION: 1.31.0
231+
LLVM_VERSION: 15.0.7
232232
GITHUB_TOKEN: ENCRYPTED[0955bd48c8d4e5391446fc0149d0719ad0b63df27ec9e6c180a5730a5b10dc7f28f09d1383423db158d21380ee2b022a]
233233

234234
task:
@@ -289,30 +289,26 @@ task:
289289
allow_failures: true # FIXME
290290
macos_instance:
291291
image: ghcr.io/cirruslabs/macos-monterey-xcode:latest
292-
timeout_in: 15m
292+
timeout_in: 25m
293293
environment:
294294
CI_OS: osx
295-
LLVM_VERSION: 14.0.3
296295
# OS is preset to `darwin`
297296
OS: osx
298297
PATH: ${CIRRUS_WORKING_DIR}/../cmake/bin:${CIRRUS_WORKING_DIR}/../ninja:${CIRRUS_WORKING_DIR}/../llvm/bin:${PATH}
299298
PARALLELISM: 4
300299
matrix:
301300
#- TASK_NAME_SUFFIX: x64 (M1)
302-
# EXTRA_CMAKE_FLAGS: "-DCMAKE_OSX_ARCHITECTURES=x86_64 -DD_COMPILER_FLAGS=-gcc=/usr/bin/c++ -DBUILD_LTO_LIBS=ON"
301+
# EXTRA_CMAKE_FLAGS: -DCMAKE_OSX_ARCHITECTURES=x86_64 -DD_COMPILER_FLAGS=-gcc=/usr/bin/c++ -DBUILD_LTO_LIBS=ON
303302
# CI_ARCH: x86_64
304303
#- TASK_NAME_SUFFIX: x64 (M1) shared-libs-only
305-
# EXTRA_CMAKE_FLAGS: "-DCMAKE_OSX_ARCHITECTURES=x86_64 -DD_COMPILER_FLAGS=-gcc=/usr/bin/c++ -DBUILD_LTO_LIBS=ON -DBUILD_SHARED_LIBS=ON"
304+
# EXTRA_CMAKE_FLAGS: -DCMAKE_OSX_ARCHITECTURES=x86_64 -DD_COMPILER_FLAGS=-gcc=/usr/bin/c++ -DBUILD_LTO_LIBS=ON -DBUILD_SHARED_LIBS=ON
306305
# CI_ARCH: x86_64
307306
- TASK_NAME_SUFFIX: arm64
308-
# no line infos for ldc2 unittests (compiled with -g with v1.30 host compiler - https://github.com/ldc-developers/ldc/issues/3864)
309-
EXTRA_CMAKE_FLAGS: "-DDFLAGS_LDC=-preserve-dwarf-line-section=false -DD_COMPILER_FLAGS=-gcc=/usr/bin/c++ -DBUILD_LTO_LIBS=ON"
307+
EXTRA_CMAKE_FLAGS: -DD_COMPILER_FLAGS=-gcc=/usr/bin/c++ -DBUILD_LTO_LIBS=ON
310308
CI_ARCH: arm64
311-
HOST_LDC_VERSION: 1.30.0
312309
- TASK_NAME_SUFFIX: arm64 shared-libs-only
313-
EXTRA_CMAKE_FLAGS: "-DDFLAGS_LDC=-preserve-dwarf-line-section=false -DD_COMPILER_FLAGS=-gcc=/usr/bin/c++ -DBUILD_LTO_LIBS=ON -DBUILD_SHARED_LIBS=ON"
310+
EXTRA_CMAKE_FLAGS: -DD_COMPILER_FLAGS=-gcc=/usr/bin/c++ -DBUILD_LTO_LIBS=ON -DBUILD_SHARED_LIBS=ON
314311
CI_ARCH: arm64
315-
HOST_LDC_VERSION: 1.30.0
316312
brew_cache:
317313
folder: "$HOME/Library/Caches/Homebrew"
318314
<< : *INSTALL_MACOS_PREREQUISITES_TEMPLATE
@@ -339,8 +335,7 @@ task:
339335
-DLLVM_ROOT_DIR=$CIRRUS_WORKING_DIR/../llvm
340336
-DD_COMPILER=$CIRRUS_WORKING_DIR/../bootstrap-ldc/bin/ldmd2
341337
PARALLELISM: 4
342-
LLVM_VERSION: 14.0.3
343-
CLANG_VERSION: 14.0.0
338+
CLANG_VERSION: '14.0.6' # 15.0.6 requires libtinfo.so.6 (but Ubuntu 18 has v5 only)
344339
CC: $CIRRUS_WORKING_DIR/../clang/bin/clang
345340
CXX: $CIRRUS_WORKING_DIR/../clang/bin/clang++
346341
<< : *INSTALL_UBUNTU_PREREQUISITES_TEMPLATE
@@ -359,16 +354,16 @@ task:
359354
mkdir -p llvm
360355
tar -xf llvm.tar.xz --strip 1 -C llvm
361356
rm llvm.tar.xz
357+
# Make lld the default linker (likely with enabled assertions unfortunately)
358+
ln -sf "$PWD/llvm/bin/ld.lld" /usr/bin/ld
359+
ld --version
362360
# Download & extract clang
363361
download_prebuilt_clang_script: |
364362
cd $CIRRUS_WORKING_DIR/..
365363
curl -fL --retry 3 --max-time 300 -o clang.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-$CLANG_VERSION/clang+llvm-$CLANG_VERSION-$CI_ARCH-linux-gnu.tar.xz
366364
mkdir clang
367365
tar -xf clang.tar.xz --strip 1 -C clang
368366
rm clang.tar.xz
369-
# Make lld the default linker
370-
ln -sf "$PWD/clang/bin/ld.lld" /usr/bin/ld
371-
ld --version
372367
clone_submodules_early_script: |
373368
cd $CIRRUS_WORKING_DIR
374369
git submodule update --init --depth $CIRRUS_CLONE_DEPTH

.github/workflows/main.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ concurrency:
1010
cancel-in-progress: true
1111

1212
env:
13-
CLANG_VERSION: 14.0.0
14-
LLVM_VERSION: 14.0.3
13+
CLANG_VERSION: 15.0.6
14+
LLVM_VERSION: 15.0.7
1515

1616
jobs:
1717
build-native:
@@ -49,7 +49,7 @@ jobs:
4949
with_pgo: true
5050

5151
- job_name: Windows x64
52-
os: windows-2019
52+
os: windows-2022
5353
arch: x64
5454
bootstrap_cmake_flags: -DBUILD_LTO_LIBS=ON
5555
extra_cmake_flags: >-
@@ -59,7 +59,7 @@ jobs:
5959
with_pgo: true
6060

6161
- job_name: Windows x86
62-
os: windows-2019
62+
os: windows-2022
6363
arch: x86
6464
bootstrap_cmake_flags: -DBUILD_LTO_LIBS=ON
6565
# Undefined symbol errors with FullLTO; ThinLTO works.

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
#### Big news
44
- Linker-level dead code elimination is enabled by default for Apple, wasm and *all* ELF targets too now. (#4320)
5+
- LLVM for prebuilt packages bumped to v15.0.7. (#4311)
56

67
#### Platform support
8+
- Supports LLVM 9.0 - 15.0.
79

810
#### Bug fixes
911

bitrise.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ app:
77
- BITRISE_PROJECT_PATH: ldc-build-runtime.tmp/TestRunner/TestRunner.xcodeproj
88
- BITRISE_SCHEME: TestRunner
99
- BITRISE_EXPORT_METHOD: development
10-
- LLVM_VERSION: 14.0.3
10+
- LLVM_VERSION: 15.0.7
1111
- HOST_LDC_VERSION: 1.24.0
1212
- IOS_VERSION: 12.0
1313

0 commit comments

Comments
 (0)