@@ -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