From 0336251a9561c9742222884d02c8b9cc2348001a Mon Sep 17 00:00:00 2001 From: David Ventura Date: Sat, 1 Feb 2025 19:21:50 +0100 Subject: [PATCH] Set and respect PTHREAD_FLAG even for non-WASM builds --- CHANGELOG.md | 1 + CMakeLists.txt | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad24875ca..945eb5190 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +- Set and respect `PTHREAD_FLAG` even for non-WASM builds - Disable the undocumented `mmap()` codepath. It is now used for loading models from binary byte arrays. - Preload model to Item vector before creating scorers diff --git a/CMakeLists.txt b/CMakeLists.txt index e22af91e4..735372694 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -151,6 +151,7 @@ endif() if(USE_THREADS) # Need to set compile definition as well + set(PTHREAD_FLAG "-pthread") add_compile_definitions(USE_PTHREADS) endif() @@ -345,7 +346,6 @@ else(MSVC) if(COMPILE_WASM) if(USE_THREADS) - set(PTHREAD_FLAG "-pthread") set(DISABLE_PTHREAD_MEMGROWTH_WARNING -Wno-error=pthreads-mem-growth) endif(USE_THREADS) set(CMAKE_CXX_FLAGS "-std=c++11 ${PTHREAD_FLAG} ${CMAKE_GCC_FLAGS} -fPIC ${DISABLE_GLOBALLY} ${INTRINSICS}") @@ -364,7 +364,7 @@ else(MSVC) --post-js ${CMAKE_SOURCE_DIR}/wasm/post-module.js \ --shell-file ${CMAKE_SOURCE_DIR}/wasm/custom_shell.html") else(COMPILE_WASM) - set(CMAKE_CXX_FLAGS "-std=c++11 -pthread ${CMAKE_GCC_FLAGS} -fPIC ${DISABLE_GLOBALLY} -march=${BUILD_ARCH} ${INTRINSICS} ${BUILD_WIDTH}") + set(CMAKE_CXX_FLAGS "-std=c++11 ${PTHREAD_FLAG} ${CMAKE_GCC_FLAGS} -fPIC ${DISABLE_GLOBALLY} -march=${BUILD_ARCH} ${INTRINSICS} ${BUILD_WIDTH}") set(CMAKE_CXX_FLAGS_RELEASE "-O3 ${BUILD_WIDTH} -funroll-loops") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g ${CMAKE_RDYNAMIC_FLAG}") set(CMAKE_CXX_FLAGS_SLIM "-O3 ${BUILD_WIDTH} -funroll-loops -DNDEBUG") @@ -374,7 +374,7 @@ else(MSVC) set(CMAKE_CXX_FLAGS_PROFUSE "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fprofile-use -fprofile-correction") # these need to be set separately - set(CMAKE_C_FLAGS "-pthread ${CMAKE_GCC_FLAGS} -fPIC ${DISABLE_GLOBALLY} -march=${BUILD_ARCH} ${INTRINSICS}") + set(CMAKE_C_FLAGS "${PTHREAD_FLAG} ${CMAKE_GCC_FLAGS} -fPIC ${DISABLE_GLOBALLY} -march=${BUILD_ARCH} ${INTRINSICS}") set(CMAKE_C_FLAGS_RELEASE "-O3 ${BUILD_WIDTH} -funroll-loops") set(CMAKE_C_FLAGS_DEBUG "-O0 -g ${CMAKE_RDYNAMIC_FLAG}") set(CMAKE_C_FLAGS_SLIM "-O3 ${BUILD_WIDTH} -funroll-loops -DNDEBUG")