@@ -175,7 +175,6 @@ jobs:
175175 -DLLVM_EXTERNAL_CLING_SOURCE_DIR=../../cling \
176176 -DCMAKE_BUILD_TYPE=Release \
177177 -DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten \
178- -DLLVM_ENABLE_ASSERTIONS=ON \
179178 -DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" \
180179 -DLLVM_ENABLE_LIBEDIT=OFF \
181180 -DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects }}" \
@@ -194,6 +193,9 @@ jobs:
194193 -DLLVM_ENABLE_LIBPFM=OFF \
195194 -DCLANG_BUILD_TOOLS=OFF \
196195 -DLLVM_NATIVE_TOOL_DIR=$NATIVE_DIR \
196+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" \
197+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" \
198+ -DLLVM_ENABLE_LTO=Full \
197199 ../llvm
198200 emmake ninja clang cling lld gtest_main
199201 else
@@ -206,7 +208,6 @@ jobs:
206208 cd build
207209 emcmake cmake -DCMAKE_BUILD_TYPE=Release \
208210 -DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten \
209- -DLLVM_ENABLE_ASSERTIONS=ON \
210211 -DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" \
211212 -DLLVM_ENABLE_LIBEDIT=OFF \
212213 -DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects }}" \
@@ -225,6 +226,9 @@ jobs:
225226 -DCLANG_BUILD_TOOLS=OFF \
226227 -G Ninja \
227228 -DLLVM_NATIVE_TOOL_DIR=$NATIVE_DIR \
229+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" \
230+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" \
231+ -DLLVM_ENABLE_LTO=Full \
228232 ../llvm
229233 emmake ninja libclang clangInterpreter clangStaticAnalyzerCore lldWasm
230234 fi
@@ -284,7 +288,6 @@ jobs:
284288 -DLLVM_EXTERNAL_CLING_SOURCE_DIR=../../cling `
285289 -DCMAKE_BUILD_TYPE=Release `
286290 -DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten `
287- -DLLVM_ENABLE_ASSERTIONS=ON `
288291 -DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" `
289292 -DLLVM_ENABLE_LIBEDIT=OFF `
290293 -DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects }}" `
@@ -302,6 +305,9 @@ jobs:
302305 -DLLVM_BUILD_TOOLS=OFF `
303306 -DLLVM_ENABLE_LIBPFM=OFF `
304307 -DCLANG_BUILD_TOOLS=OFF `
308+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" `
309+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" `
310+ -DLLVM_ENABLE_LTO=Full `
305311 -DLLVM_NATIVE_TOOL_DIR="$env:NATIVE_DIR" `
306312 ..\llvm
307313 emmake make clang cling lld gtest_main
@@ -325,7 +331,6 @@ jobs:
325331 echo "Apply clang${{ matrix.clang-runtime }}-*.patch patches:"
326332 emcmake cmake -DCMAKE_BUILD_TYPE=Release `
327333 -DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten `
328- -DLLVM_ENABLE_ASSERTIONS=ON `
329334 -DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" `
330335 -DLLVM_ENABLE_LIBEDIT=OFF `
331336 -DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects }}" `
@@ -342,6 +347,9 @@ jobs:
342347 -DLLVM_BUILD_TOOLS=OFF `
343348 -DLLVM_ENABLE_LIBPFM=OFF `
344349 -DCLANG_BUILD_TOOLS=OFF `
350+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" `
351+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0 -DNDEBUG" `
352+ -DLLVM_ENABLE_LTO=Full `
345353 -G Ninja `
346354 -DLLVM_NATIVE_TOOL_DIR="$env:NATIVE_DIR" `
347355 ..\llvm
@@ -527,6 +535,15 @@ jobs:
527535 fi
528536
529537 emmake make -j ${{ env.ncpus }} check-cppinterop
538+ os="${{ matrix.os }}"
539+ if [[ "${os}" != macos* ]] ; then
540+ actual_size=$(stat -c%s "./lib/libclangCppInterOp.so")
541+ max_size=$((40 * 1024 * 1024))
542+ if [[ "$actual_size" -gt "$max_size" ]]; then
543+ echo "Error: libclangCppInterOp.so is larger than 40 MB."
544+ exit 1
545+ fi
546+ fi
530547 cd ./unittests/CppInterOp/
531548 # Fresh install browsers, and run Emscripten tests in them
532549 # This is to match the Emscripten build instructions, where
@@ -689,7 +706,12 @@ jobs:
689706 -DSYSROOT_PATH=$SYSROOT_PATH \
690707 ../
691708 fi
692- emmake make -j ${{ env.ncpus }} check-cppinterop
709+ os="${{ matrix.os }}"
710+ if [[ "${os}" != macos* ]] ; then
711+ EMCC_CORES=1 emmake make -j 1 check-cppinterop
712+ else
713+ EMCC_CORES=2 emmake make -j 2 check-cppinterop
714+ fi
693715 cd ./unittests/CppInterOp/
694716 # Explaination of options for emrun
695717 # --browser (name of browser on path)
0 commit comments