@@ -153,8 +153,8 @@ LIBCXX_CMAKE_FLAGS = \
153153 -DLLVM_CONFIG_PATH=$(ROOT_DIR ) /build/llvm/bin/llvm-config \
154154 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
155155 -DCXX_SUPPORTS_CXX11=ON \
156- -DLIBCXX_ENABLE_THREADS:BOOL=OFF \
157- -DLIBCXX_HAS_PTHREAD_API:BOOL=OFF \
156+ -DLIBCXX_ENABLE_THREADS:BOOL=@PTHREAD@ \
157+ -DLIBCXX_HAS_PTHREAD_API:BOOL=@PTHREAD@ \
158158 -DLIBCXX_HAS_EXTERNAL_THREAD_API:BOOL=OFF \
159159 -DLIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \
160160 -DLIBCXX_HAS_WIN32_THREAD_API:BOOL=OFF \
@@ -171,8 +171,8 @@ LIBCXX_CMAKE_FLAGS = \
171171 -DLIBCXXABI_ENABLE_EXCEPTIONS:BOOL=OFF \
172172 -DLIBCXXABI_ENABLE_SHARED:BOOL=OFF \
173173 -DLIBCXXABI_SILENT_TERMINATE:BOOL=ON \
174- -DLIBCXXABI_ENABLE_THREADS:BOOL=OFF \
175- -DLIBCXXABI_HAS_PTHREAD_API:BOOL=OFF \
174+ -DLIBCXXABI_ENABLE_THREADS:BOOL=@PTHREAD@ \
175+ -DLIBCXXABI_HAS_PTHREAD_API:BOOL=@PTHREAD@ \
176176 -DLIBCXXABI_HAS_EXTERNAL_THREAD_API:BOOL=OFF \
177177 -DLIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \
178178 -DLIBCXXABI_HAS_WIN32_THREAD_API:BOOL=OFF \
@@ -184,7 +184,7 @@ LIBCXX_CMAKE_FLAGS = \
184184build/libcxx.BUILT : build/llvm.BUILT build/compiler-rt.BUILT build/wasi-libc.BUILT
185185 # Do the build.
186186 mkdir -p build/libcxx
187- cd build/libcxx && cmake -G Ninja $(LIBCXX_CMAKE_FLAGS ) \
187+ cd build/libcxx && cmake -G Ninja $(LIBCXX_CMAKE_FLAGS:@PTHREAD@=OFF ) \
188188 -DCMAKE_SYSROOT=$(BUILD_PREFIX ) /share/wasi-sysroot \
189189 -DCMAKE_C_FLAGS=" $( DEBUG_PREFIX_MAP) " \
190190 -DCMAKE_CXX_FLAGS=" $( DEBUG_PREFIX_MAP) " \
@@ -193,8 +193,19 @@ build/libcxx.BUILT: build/llvm.BUILT build/compiler-rt.BUILT build/wasi-libc.BUI
193193 -DLLVM_ENABLE_RUNTIMES=" libcxx;libcxxabi" \
194194 $(LLVM_PROJ_DIR ) /runtimes
195195 ninja $(NINJA_FLAGS ) -C build/libcxx
196+ mkdir -p build/libcxx-threads
197+ cd build/libcxx-threads && cmake -G Ninja $(LIBCXX_CMAKE_FLAGS:@PTHREAD@=ON ) \
198+ -DCMAKE_SYSROOT=$(BUILD_PREFIX ) /share/wasi-sysroot \
199+ -DCMAKE_C_FLAGS=" $( DEBUG_PREFIX_MAP) -pthread" \
200+ -DCMAKE_CXX_FLAGS=" $( DEBUG_PREFIX_MAP) -pthread" \
201+ -DLIBCXX_LIBDIR_SUFFIX=$(ESCAPE_SLASH ) /wasm32-wasi-threads \
202+ -DLIBCXXABI_LIBDIR_SUFFIX=$(ESCAPE_SLASH ) /wasm32-wasi-threads \
203+ -DLLVM_ENABLE_RUNTIMES=" libcxx;libcxxabi" \
204+ $(LLVM_PROJ_DIR ) /runtimes
205+ ninja $(NINJA_FLAGS ) -C build/libcxx-threads
196206 # Do the install.
197207 DESTDIR=$(DESTDIR ) ninja $(NINJA_FLAGS ) -C build/libcxx install
208+ DESTDIR=$(DESTDIR ) ninja $(NINJA_FLAGS ) -C build/libcxx-threads install
198209 touch build/libcxx.BUILT
199210
200211build/config.BUILT :
0 commit comments