From 1a447fdce72f9198106cb4193eb2f2e317bf2cad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nenad=20Miks=CC=8Ca?= Date: Sun, 31 Aug 2025 10:53:41 +0200 Subject: [PATCH] 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 --- BUILD.bazel | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/BUILD.bazel b/BUILD.bazel index 03392c6b..9527fad3 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -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({