@ -95,6 +95,10 @@ build/compiler-rt.BUILT: build/llvm.BUILT
# Do the build, and install it.
# Do the build, and install it.
mkdir -p build/compiler-rt
mkdir -p build/compiler-rt
cd build/compiler-rt && cmake -G Ninja \
cd build/compiler-rt && cmake -G Ninja \
-DCMAKE_C_COMPILER_WORKS= ON \
-DCMAKE_CXX_COMPILER_WORKS= ON \
-DCMAKE_AR= $( BUILD_PREFIX) /bin/ar \
-DCMAKE_MODULE_PATH= $( ROOT_DIR) /cmake \
-DCMAKE_BUILD_TYPE= RelWithDebInfo \
-DCMAKE_BUILD_TYPE= RelWithDebInfo \
-DCMAKE_TOOLCHAIN_FILE= $( ROOT_DIR) /wasi-sdk.cmake \
-DCMAKE_TOOLCHAIN_FILE= $( ROOT_DIR) /wasi-sdk.cmake \
-DCOMPILER_RT_BAREMETAL_BUILD= On \
-DCOMPILER_RT_BAREMETAL_BUILD= On \
@ -104,7 +108,7 @@ build/compiler-rt.BUILT: build/llvm.BUILT
-DCOMPILER_RT_ENABLE_IOS= OFF \
-DCOMPILER_RT_ENABLE_IOS= OFF \
-DCOMPILER_RT_DEFAULT_TARGET_ONLY= On \
-DCOMPILER_RT_DEFAULT_TARGET_ONLY= On \
-DWASI_SDK_PREFIX= $( BUILD_PREFIX) \
-DWASI_SDK_PREFIX= $( BUILD_PREFIX) \
-DCMAKE_C_FLAGS= " -O1 $( DEBUG_PREFIX_MAP) " \
-DCMAKE_C_FLAGS= " $( DEBUG_PREFIX_MAP) --sysroot= $( BUILD_PREFIX) /share/wasi-sysroot " \
-DLLVM_CONFIG_PATH= $( ROOT_DIR) /build/llvm/bin/llvm-config \
-DLLVM_CONFIG_PATH= $( ROOT_DIR) /build/llvm/bin/llvm-config \
-DCOMPILER_RT_OS_DIR= wasi \
-DCOMPILER_RT_OS_DIR= wasi \
-DCMAKE_INSTALL_PREFIX= $( PREFIX) /lib/clang/$( CLANG_VERSION) / \
-DCMAKE_INSTALL_PREFIX= $( PREFIX) /lib/clang/$( CLANG_VERSION) / \
@ -117,6 +121,10 @@ build/compiler-rt.BUILT: build/llvm.BUILT
# Flags for libcxx.
# Flags for libcxx.
LIBCXX_CMAKE_FLAGS = \
LIBCXX_CMAKE_FLAGS = \
-DCMAKE_C_COMPILER_WORKS= ON \
-DCMAKE_CXX_COMPILER_WORKS= ON \
-DCMAKE_AR= $( BUILD_PREFIX) /bin/ar \
-DCMAKE_MODULE_PATH= $( ROOT_DIR) /cmake \
-DCMAKE_TOOLCHAIN_FILE= $( ROOT_DIR) /wasi-sdk.cmake \
-DCMAKE_TOOLCHAIN_FILE= $( ROOT_DIR) /wasi-sdk.cmake \
-DCMAKE_STAGING_PREFIX= $( PREFIX) /share/wasi-sysroot \
-DCMAKE_STAGING_PREFIX= $( PREFIX) /share/wasi-sysroot \
-DLLVM_CONFIG_PATH= $( ROOT_DIR) /build/llvm/bin/llvm-config \
-DLLVM_CONFIG_PATH= $( ROOT_DIR) /build/llvm/bin/llvm-config \
@ -138,14 +146,12 @@ LIBCXX_CMAKE_FLAGS = \
-DWASI_SDK_PREFIX= $( BUILD_PREFIX) \
-DWASI_SDK_PREFIX= $( BUILD_PREFIX) \
--debug-trycompile
--debug-trycompile
#-DCMAKE_STAGING_PREFIX=
build/libcxx.BUILT : build /llvm .BUILT build /compiler -rt .BUILT build /wasi -libc .BUILT
build/libcxx.BUILT : build /llvm .BUILT build /compiler -rt .BUILT build /wasi -libc .BUILT
# Do the build.
# Do the build.
mkdir -p build/libcxx
mkdir -p build/libcxx
cd build/libcxx && cmake -G Ninja $( LIBCXX_CMAKE_FLAGS) \
cd build/libcxx && cmake -G Ninja $( LIBCXX_CMAKE_FLAGS) \
-DCMAKE_C_FLAGS= " $( DEBUG_PREFIX_MAP) " \
-DCMAKE_C_FLAGS= " $( DEBUG_PREFIX_MAP) --sysroot=$( BUILD_PREFIX) /share/wasi-sysroot " \
-DCMAKE_CXX_FLAGS= " $( DEBUG_PREFIX_MAP) " \
-DCMAKE_CXX_FLAGS= " $( DEBUG_PREFIX_MAP) --sysroot=$( BUILD_PREFIX) /share/wasi-sysroot " \
-DLIBCXX_LIBDIR_SUFFIX= $( ESCAPE_SLASH) /wasm32-wasi \
-DLIBCXX_LIBDIR_SUFFIX= $( ESCAPE_SLASH) /wasm32-wasi \
$( LLVM_PROJ_DIR) /libcxx
$( LLVM_PROJ_DIR) /libcxx
ninja $( NINJA_FLAGS) -v -C build/libcxx
ninja $( NINJA_FLAGS) -v -C build/libcxx
@ -155,9 +161,11 @@ build/libcxx.BUILT: build/llvm.BUILT build/compiler-rt.BUILT build/wasi-libc.BUI
# Flags for libcxxabi.
# Flags for libcxxabi.
LIBCXXABI_CMAKE_FLAGS = \
LIBCXXABI_CMAKE_FLAGS = \
-DCMAKE_VERBOSE_MAKEFILE:BOOL= ON \
-DCMAKE_CXX_COMPILER_WORKS= ON \
-DCMAKE_C_COMPILER_WORKS= ON \
-DCMAKE_C_COMPILER_WORKS= ON \
-DCMAKE_CXX_COMPILER_WORKS= ON \
-DCMAKE_AR= $( BUILD_PREFIX) /bin/ar \
-DCMAKE_MODULE_PATH= $( ROOT_DIR) /cmake \
-DCMAKE_VERBOSE_MAKEFILE:BOOL= ON \
-DLIBCXXABI_ENABLE_EXCEPTIONS:BOOL= OFF \
-DLIBCXXABI_ENABLE_EXCEPTIONS:BOOL= OFF \
-DLIBCXXABI_ENABLE_SHARED:BOOL= OFF \
-DLIBCXXABI_ENABLE_SHARED:BOOL= OFF \
-DLIBCXXABI_SILENT_TERMINATE:BOOL= ON \
-DLIBCXXABI_SILENT_TERMINATE:BOOL= ON \
@ -183,8 +191,8 @@ build/libcxxabi.BUILT: build/libcxx.BUILT build/llvm.BUILT
# Do the build.
# Do the build.
mkdir -p build/libcxxabi
mkdir -p build/libcxxabi
cd build/libcxxabi && cmake -G Ninja $( LIBCXXABI_CMAKE_FLAGS) \
cd build/libcxxabi && cmake -G Ninja $( LIBCXXABI_CMAKE_FLAGS) \
-DCMAKE_C_FLAGS= " $( DEBUG_PREFIX_MAP) " \
-DCMAKE_C_FLAGS= " $( DEBUG_PREFIX_MAP) --sysroot=$( BUILD_PREFIX) /share/wasi-sysroot " \
-DCMAKE_CXX_FLAGS= " $( DEBUG_PREFIX_MAP) " \
-DCMAKE_CXX_FLAGS= " $( DEBUG_PREFIX_MAP) --sysroot=$( BUILD_PREFIX) /share/wasi-sysroot " \
-DLIBCXXABI_LIBDIR_SUFFIX= $( ESCAPE_SLASH) /wasm32-wasi \
-DLIBCXXABI_LIBDIR_SUFFIX= $( ESCAPE_SLASH) /wasm32-wasi \
$( LLVM_PROJ_DIR) /libcxxabi
$( LLVM_PROJ_DIR) /libcxxabi
ninja $( NINJA_FLAGS) -v -C build/libcxxabi
ninja $( NINJA_FLAGS) -v -C build/libcxxabi