@@ -21,25 +21,22 @@ jobs:
21
21
fail-fast : false
22
22
matrix :
23
23
include :
24
- - name : ubu24-arm-gcc12- clang-repl-19-emscripten
24
+ - name : ubu24-arm-clang-repl-19-emscripten
25
25
os : ubuntu-24.04-arm
26
- compiler : gcc-12
27
26
clang-runtime : ' 19'
28
27
cling : Off
29
28
llvm_enable_projects : " clang;lld"
30
29
llvm_targets_to_build : " WebAssembly"
31
30
emsdk_ver : " 3.1.73"
32
- - name : osx15-arm-clang-clang- repl-19-emscripten
31
+ - name : osx15-arm-clang-repl-19-emscripten
33
32
os : macos-15
34
- compiler : clang
35
33
clang-runtime : ' 19'
36
34
cling : Off
37
35
llvm_enable_projects : " clang;lld"
38
36
llvm_targets_to_build : " WebAssembly"
39
37
emsdk_ver : " 3.1.73"
40
- - name : ubu24-x86-gcc12- clang-repl-19-emscripten
38
+ - name : ubu24-x86-clang-repl-19-emscripten
41
39
os : ubuntu-24.04
42
- compiler : gcc-12
43
40
clang-runtime : ' 19'
44
41
cling : Off
45
42
llvm_enable_projects : " clang;lld"
@@ -112,7 +109,7 @@ jobs:
112
109
path : |
113
110
llvm-project
114
111
${{ matrix.cling=='On' && 'cling' || '' }}
115
- key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}- clang-${{ matrix.clang-runtime }}.x-emscripten
112
+ key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-clang-${{ matrix.clang-runtime }}.x-emscripten
116
113
lookup-only : true
117
114
118
115
- name : Setup emsdk
@@ -127,12 +124,6 @@ jobs:
127
124
run : |
128
125
echo "BUILD_TYPE=Release" >> $GITHUB_ENV
129
126
echo "CODE_COVERAGE=0" >> $GITHUB_ENV
130
- os="${{ matrix.os }}"
131
- if [[ "${os}" == "macos"* ]]; then
132
- echo "ncpus=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
133
- else
134
- echo "ncpus=$(nproc --all)" >> $GITHUB_ENV
135
- fi
136
127
137
128
- name : Setup default Build Type on Windows
138
129
if : ${{ runner.os == 'windows' && steps.cache.outputs.cache-hit != 'true' }}
@@ -142,92 +133,6 @@ jobs:
142
133
$env:ncpus=$([Environment]::ProcessorCount)
143
134
echo "ncpus=$env:ncpus" >> $env:GITHUB_ENV
144
135
145
- - name : Setup compiler on Linux
146
- if : ${{ runner.os == 'Linux' && steps.cache.outputs.cache-hit != 'true' }}
147
- run : |
148
- # https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
149
- vers="${compiler#*-}"
150
- os_codename="`cat /etc/os-release | grep UBUNTU_CODENAME | cut -d = -f 2`"
151
- ##sudo apt update
152
- if [[ "${{ matrix.compiler }}" == *"gcc"* ]]; then
153
- sudo apt install -y gcc-${vers} g++-${vers} lld
154
- echo "CC=gcc-${vers}" >> $GITHUB_ENV
155
- echo "CXX=g++-${vers}" >> $GITHUB_ENV
156
- else
157
- if ! sudo apt install -y clang-${vers}; then
158
- curl https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
159
- echo "deb https://apt.llvm.org/${os_codename}/ llvm-toolchain-${os_codename}-${vers} main" | sudo tee -a /etc/apt/sources.list
160
- sudo apt-get update
161
- sudo apt-get install -y clang-${vers}
162
- fi
163
- echo "CC=clang-${vers}" >> $GITHUB_ENV
164
- echo "CXX=clang++-${vers}" >> $GITHUB_ENV
165
- fi
166
- env :
167
- compiler : ${{ matrix.compiler }}
168
-
169
- - name : Setup compiler on macOS
170
- if : ${{ runner.os == 'macOS' && steps.cache.outputs.cache-hit != 'true' }}
171
- run : |
172
- vers="${compiler#*-}"
173
- if [[ "${{ matrix.compiler }}" == *"gcc"* ]]; then
174
- brew install "gcc@$vers"
175
- echo "CC=gcc-${vers}" >> $GITHUB_ENV
176
- echo "CXX=g++-${vers}" >> $GITHUB_ENV
177
- else
178
- export ARCHITECHURE=$(uname -m)
179
- if [[ "$ARCHITECHURE" == "arm64" ]]; then
180
- cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
181
- if [[ "${cling_on}" == "ON" ]]; then
182
- brew install llvm@15
183
- brew remove llvm@18
184
- brew cleanup
185
- #FIXME: Do not believe setting all these environment variables are necessary
186
- # They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests
187
- echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV
188
- echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV
189
- echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV
190
- echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV
191
- echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
192
- echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
193
- else
194
- echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
195
- echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
196
- fi
197
- else
198
- echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
199
- echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
200
- fi
201
- fi
202
- echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
203
- env :
204
- compiler : ${{ matrix.compiler }}
205
-
206
- # Section slightly modified version of
207
- # https://github.com/vgvassilev/clad/blob/40d8bec11bde47b14a281078183a4f6147abeac5/.github/workflows/ci.yml#L510C1-L534C10
208
- - name : Setup compiler on Windows
209
- if : ${{ runner.os == 'windows' && steps.cache.outputs.cache-hit != 'true' }}
210
- run : |
211
- if ( "${{ matrix.compiler }}" -imatch "clang" )
212
- {
213
- $ver="${{ matrix.compiler }}".split("-")[1]
214
- choco install llvm --version=$ver --no-progress -my
215
- clang --version
216
- #
217
- $env:CC="clang"
218
- $env:CXX="clang++"
219
- echo "CC=clang" >> $env:GITHUB_ENV
220
- echo "CXX=clang++" >> $env:GITHUB_ENV
221
- }
222
- elseif ( "${{ matrix.compiler }}" -imatch "msvc" )
223
- {
224
- # MSVC is builtin in container image
225
- }
226
- else
227
- {
228
- echo "Unsupported compiler - fix YAML file"
229
- }
230
-
231
136
- name : Install deps on Windows
232
137
if : ${{ runner.os == 'windows' && steps.cache.outputs.cache-hit != 'true' }}
233
138
run : |
@@ -299,8 +204,11 @@ jobs:
299
204
-DLLVM_INCLUDE_TESTS=OFF \
300
205
-DLLVM_ENABLE_THREADS=OFF \
301
206
-G Ninja \
207
+ -DLLVM_BUILD_TOOLS=OFF \
208
+ -DLLVM_ENABLE_LIBPFM=OFF \
209
+ -DCLANG_BUILD_TOOLS=OFF \
302
210
../llvm
303
- emmake ninja clang cling lld gtest_main -j ${{ env.ncpus }}
211
+ emmake ninja clang cling lld gtest_main
304
212
else
305
213
# Apply patches
306
214
llvm_vers=$(echo "${{ matrix.clang-runtime }}" | tr '[:lower:]' '[:upper:]')
@@ -325,10 +233,14 @@ jobs:
325
233
-DLLVM_INCLUDE_EXAMPLES=OFF \
326
234
-DLLVM_INCLUDE_TESTS=OFF \
327
235
-DLLVM_ENABLE_THREADS=OFF \
236
+ -DLLVM_BUILD_TOOLS=OFF \
237
+ -DLLVM_ENABLE_LIBPFM=OFF \
238
+ -DCLANG_BUILD_TOOLS=OFF \
328
239
-G Ninja \
329
240
../llvm
330
- emmake ninja libclang clangInterpreter clangStaticAnalyzerCore lldWasm -j ${{ env.ncpus }}
241
+ emmake ninja libclang clangInterpreter clangStaticAnalyzerCore lldWasm
331
242
fi
243
+ rm -rf ./NATIVE/
332
244
cd ../
333
245
rm -rf $(find . -maxdepth 1 ! -name "build" ! -name "llvm" ! -name "clang" ! -name ".")
334
246
if [[ "${cling_on}" == "ON" ]]; then
@@ -457,23 +369,20 @@ jobs:
457
369
fail-fast : false
458
370
matrix :
459
371
include :
460
- - name : ubu24-x86-gcc12- clang-repl-19-emscripten_wasm
372
+ - name : ubu24-x86-clang-repl-19-emscripten_wasm
461
373
os : ubuntu-24.04
462
- compiler : gcc-12
463
374
clang-runtime : ' 19'
464
375
cling : Off
465
376
micromamba_shell_init : bash
466
377
emsdk_ver : " 3.1.73"
467
- - name : osx15-arm-clang-clang- repl-19-emscripten_wasm
378
+ - name : osx15-arm-clang-repl-19-emscripten_wasm
468
379
os : macos-15
469
- compiler : clang
470
380
clang-runtime : ' 19'
471
381
cling : Off
472
382
micromamba_shell_init : bash
473
383
emsdk_ver : " 3.1.73"
474
- - name : ubu24-arm-gcc12- clang-repl-19-emscripten_wasm
384
+ - name : ubu24-arm-clang-repl-19-emscripten_wasm
475
385
os : ubuntu-24.04-arm
476
- compiler : gcc-12
477
386
clang-runtime : ' 19'
478
387
cling : Off
479
388
micromamba_shell_init : bash
@@ -484,11 +393,6 @@ jobs:
484
393
with :
485
394
fetch-depth : 0
486
395
487
- - name : Set up Python
488
- uses : actions/setup-python@v5
489
- with :
490
- python-version : ' 3.11'
491
-
492
396
- name : Save PR Info on Unix systems
493
397
if : ${{ runner.os != 'windows' }}
494
398
run : |
@@ -542,7 +446,7 @@ jobs:
542
446
path : |
543
447
llvm-project
544
448
${{ matrix.cling=='On' && 'cling' || '' }}
545
- key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}- clang-${{ matrix.clang-runtime }}.x-emscripten
449
+ key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-clang-${{ matrix.clang-runtime }}.x-emscripten
546
450
547
451
- name : Emscripten build of CppInterOp on Unix systems
548
452
if : ${{ runner.os != 'windows' }}
0 commit comments