From bcfaad06b1325c1b15e6bffe52af340071e6494c Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Fri, 12 Jul 2024 19:30:02 +0900 Subject: [PATCH] Add LTO build of wasi-libc --- cmake/wasi-sdk-sysroot.cmake | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cmake/wasi-sdk-sysroot.cmake b/cmake/wasi-sdk-sysroot.cmake index 7e7345b..c2df242 100644 --- a/cmake/wasi-sdk-sysroot.cmake +++ b/cmake/wasi-sdk-sysroot.cmake @@ -102,10 +102,13 @@ function(define_wasi_libc target) if(${target} MATCHES threads) set(extra_make_flags THREAD_MODEL=posix) + set(extra_make_flags_lto LTO=full THREAD_MODEL=posix) elseif(${target} MATCHES p2) set(extra_make_flags WASI_SNAPSHOT=p2 default libc_so) + set(extra_make_flags_lto LTO=full WASI_SNAPSHOT=p2 default) else() set(extra_make_flags default libc_so) + set(extra_make_flags_lto LTO=full default) endif() string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER) @@ -129,8 +132,17 @@ function(define_wasi_libc target) NM=${CMAKE_NM} SYSROOT=${wasi_sysroot} EXTRA_CFLAGS=${extra_cflags} - TARGET_TRIPLE=${target} + TARGET_TRIPLE=${target} ${extra_make_flags} + COMMAND + ${MAKE} -j8 -C ${build_dir} + CC=${CMAKE_C_COMPILER} + AR=${CMAKE_AR} + NM=${CMAKE_NM} + SYSROOT=${wasi_sysroot} + EXTRA_CFLAGS=${extra_cflags} + TARGET_TRIPLE=${target} + ${extra_make_flags_lto} INSTALL_COMMAND "" DEPENDS compiler-rt EXCLUDE_FROM_ALL ON