avoid `-lpthread` link option when building with emscripten without threads

- having this flag causes emscripten to generate binary with pthread
  support, which is not compatible with browsers that do not support
  pthreads or with web pages that do not enable pthread support
This commit is contained in:
Nenad Mikša 2025-08-31 10:53:41 +02:00
parent 91c99b6ffe
commit 1a447fdce7
1 changed files with 13 additions and 0 deletions

View File

@ -58,6 +58,16 @@ config_setting(
constraint_values = ["@platforms//os:openbsd"],
)
config_setting(
name = "emscripten_without_threads",
constraint_values = [
"@platforms//os:emscripten",
],
values = {
"features": "-use_pthreads",
},
)
# NOTE: Fuchsia is not an officially supported platform.
config_setting(
name = "fuchsia",
@ -113,10 +123,12 @@ cc_library(
copts = select({
":qnx": [],
":windows": [],
":emscripten_without_threads": [],
"//conditions:default": ["-pthread"],
}),
defines = select({
":has_absl": ["GTEST_HAS_ABSL=1"],
":emscripten_without_threads": ["GTEST_HAS_PTHREAD=0"],
"//conditions:default": [],
}),
features = select({
@ -140,6 +152,7 @@ cc_library(
"-lm",
"-pthread",
],
":emscripten_without_threads": [],
"//conditions:default": ["-pthread"],
}),
deps = select({