@@ -194,6 +194,9 @@ jobs:
194194 -DLLVM_ENABLE_LIBPFM=OFF \
195195 -DCLANG_BUILD_TOOLS=OFF \
196196 -DLLVM_NATIVE_TOOL_DIR=$NATIVE_DIR \
197+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0" \
198+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0" \
199+ -DLLVM_ENABLE_LTO=Full \
197200 ../llvm
198201 emmake ninja clang cling lld gtest_main
199202 else
@@ -225,6 +228,9 @@ jobs:
225228 -DCLANG_BUILD_TOOLS=OFF \
226229 -G Ninja \
227230 -DLLVM_NATIVE_TOOL_DIR=$NATIVE_DIR \
231+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0" \
232+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0" \
233+ -DLLVM_ENABLE_LTO=Full \
228234 ../llvm
229235 emmake ninja libclang clangInterpreter clangStaticAnalyzerCore lldWasm
230236 fi
@@ -295,6 +301,9 @@ jobs:
295301 -DLLVM_BUILD_TOOLS=OFF `
296302 -DLLVM_ENABLE_LIBPFM=OFF `
297303 -DCLANG_BUILD_TOOLS=OFF `
304+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0" `
305+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0" `
306+ -DLLVM_ENABLE_LTO=Full `
298307 ..\llvm
299308 emmake make clang cling lld gtest_main
300309 }
@@ -335,6 +344,9 @@ jobs:
335344 -DLLVM_BUILD_TOOLS=OFF `
336345 -DLLVM_ENABLE_LIBPFM=OFF `
337346 -DCLANG_BUILD_TOOLS=OFF `
347+ -DCMAKE_C_FLAGS_RELEASE="-Oz -g0" `
348+ -DCMAKE_CXX_FLAGS_RELEASE="-Oz -g0" `
349+ -DLLVM_ENABLE_LTO=Full `
338350 -G Ninja `
339351 ..\llvm
340352 emmake ninja libclang clangInterpreter clangStaticAnalyzerCore lldWasm
@@ -519,6 +531,15 @@ jobs:
519531 fi
520532
521533 emmake make -j ${{ env.ncpus }} check-cppinterop
534+ os="${{ matrix.os }}"
535+ if [[ "${os}" != macos* ]] ; then
536+ max_size=$((46 * 1024 * 1024))
537+ actual_size=$(stat -c%s "./lib/libclangCppInterOp.so")
538+ if [[ "$actual_size" -gt "$max_size" ]]; then
539+ echo "Error: libclangCppInterOp.so is larger than 46 MB."
540+ exit 1
541+ fi
542+ fi
522543 cd ./unittests/CppInterOp/
523544 # Fresh install browsers, and run Emscripten tests in them
524545 # This is to match the Emscripten build instructions, where
0 commit comments