@@ -107,7 +107,7 @@ jobs:
107107 emsdk_ver : " 3.1.73"
108108
109109 steps :
110- - uses : actions/checkout@v4
110+ - uses : actions/checkout@v5
111111 with :
112112 fetch-depth : 0
113113
@@ -203,7 +203,6 @@ jobs:
203203 -DLLVM_EXTERNAL_CLING_SOURCE_DIR=../../cling \
204204 -DCMAKE_BUILD_TYPE=Release \
205205 -DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten \
206- -DLLVM_ENABLE_ASSERTIONS=ON \
207206 -DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" \
208207 -DLLVM_ENABLE_LIBEDIT=OFF \
209208 -DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects }}" \
@@ -222,6 +221,9 @@ jobs:
222221 -DLLVM_ENABLE_LIBPFM=OFF \
223222 -DCLANG_BUILD_TOOLS=OFF \
224223 -DLLVM_NATIVE_TOOL_DIR=$NATIVE_DIR \
224+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" \
225+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" \
226+ -DLLVM_ENABLE_LTO=Full \
225227 ../llvm
226228 emmake ninja clang cling lld gtest_main
227229 else
@@ -234,7 +236,6 @@ jobs:
234236 cd build
235237 emcmake cmake -DCMAKE_BUILD_TYPE=Release \
236238 -DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten \
237- -DLLVM_ENABLE_ASSERTIONS=ON \
238239 -DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" \
239240 -DLLVM_ENABLE_LIBEDIT=OFF \
240241 -DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects }}" \
@@ -253,6 +254,9 @@ jobs:
253254 -DCLANG_BUILD_TOOLS=OFF \
254255 -G Ninja \
255256 -DLLVM_NATIVE_TOOL_DIR=$NATIVE_DIR \
257+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" \
258+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" \
259+ -DLLVM_ENABLE_LTO=Full \
256260 ../llvm
257261 emmake ninja libclang clangInterpreter clangStaticAnalyzerCore lldWasm
258262 fi
@@ -312,7 +316,6 @@ jobs:
312316 -DLLVM_EXTERNAL_CLING_SOURCE_DIR=../../cling `
313317 -DCMAKE_BUILD_TYPE=Release `
314318 -DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten `
315- -DLLVM_ENABLE_ASSERTIONS=ON `
316319 -DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" `
317320 -DLLVM_ENABLE_LIBEDIT=OFF `
318321 -DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects }}" `
@@ -330,6 +333,9 @@ jobs:
330333 -DLLVM_BUILD_TOOLS=OFF `
331334 -DLLVM_ENABLE_LIBPFM=OFF `
332335 -DCLANG_BUILD_TOOLS=OFF `
336+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" `
337+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" `
338+ -DLLVM_ENABLE_LTO=Full `
333339 -DLLVM_NATIVE_TOOL_DIR="$env:NATIVE_DIR" `
334340 ..\llvm
335341 emmake make clang cling lld gtest_main
@@ -358,7 +364,6 @@ jobs:
358364 echo "Apply clang${{ matrix.clang-runtime }}-*.patch patches:"
359365 emcmake cmake -DCMAKE_BUILD_TYPE=Release `
360366 -DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten `
361- -DLLVM_ENABLE_ASSERTIONS=ON `
362367 -DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" `
363368 -DLLVM_ENABLE_LIBEDIT=OFF `
364369 -DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects }}" `
@@ -375,6 +380,9 @@ jobs:
375380 -DLLVM_BUILD_TOOLS=OFF `
376381 -DLLVM_ENABLE_LIBPFM=OFF `
377382 -DCLANG_BUILD_TOOLS=OFF `
383+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" `
384+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" `
385+ -DLLVM_ENABLE_LTO=Full `
378386 -G Ninja `
379387 -DLLVM_NATIVE_TOOL_DIR="$env:NATIVE_DIR" `
380388 ..\llvm
@@ -490,7 +498,7 @@ jobs:
490498 emsdk_ver : " 3.1.73"
491499
492500 steps :
493- - uses : actions/checkout@v4
501+ - uses : actions/checkout@v5
494502 with :
495503 fetch-depth : 0
496504
@@ -584,6 +592,15 @@ jobs:
584592 fi
585593
586594 emmake make -j ${{ env.ncpus }} check-cppinterop
595+ os="${{ matrix.os }}"
596+ if [[ "${os}" != macos* ]] ; then
597+ actual_size=$(stat -c%s "./lib/libclangCppInterOp.so")
598+ max_size=$((40 * 1024 * 1024))
599+ if [[ "$actual_size" -gt "$max_size" ]]; then
600+ echo "Error: libclangCppInterOp.so is larger than 40 MB."
601+ exit 1
602+ fi
603+ fi
587604 cd ./unittests/CppInterOp/
588605 # Fresh install browsers, and run Emscripten tests in them
589606 # This is to match the Emscripten build instructions, where
@@ -746,7 +763,12 @@ jobs:
746763 -DSYSROOT_PATH=$SYSROOT_PATH \
747764 ../
748765 fi
749- emmake make -j ${{ env.ncpus }} check-cppinterop
766+ os="${{ matrix.os }}"
767+ if [[ "${os}" != macos* ]] ; then
768+ EMCC_CORES=1 emmake make -j 1 check-cppinterop
769+ else
770+ EMCC_CORES=2 emmake make -j 2 check-cppinterop
771+ fi
750772 cd ./unittests/CppInterOp/
751773 # Explaination of options for emrun
752774 # --browser (name of browser on path)
0 commit comments