Skip to content

Commit 29524ed

Browse files
authored
update pthreadpool to latest version and make it compatible with Bazel 8 platforms (#6000)
Note: This depends on [this PR](#5991) getting merged before.
1 parent 910a585 commit 29524ed

File tree

6 files changed

+427
-1
lines changed

6 files changed

+427
-1
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
module(
2+
name = "pthreadpool",
3+
version = "0.0.0-20250926-560c60d",
4+
compatibility_level = 1,
5+
bazel_compatibility = [">=7.2.1"],
6+
)
7+
8+
bazel_dep(
9+
name = "cpuinfo",
10+
version = "0.0.0-20250925-877328f",
11+
)
12+
bazel_dep(
13+
name = "fxdiv",
14+
version = "0.0.0-20201209-63058ef",
15+
)
16+
bazel_dep(
17+
name = "google_benchmark",
18+
version = "1.8.3",
19+
repo_name = "com_google_benchmark",
20+
)
21+
bazel_dep(
22+
name = "googletest",
23+
version = "1.17.0",
24+
repo_name = "com_google_googletest",
25+
)
26+
bazel_dep(
27+
name = "rules_cc",
28+
version = "0.2.8",
29+
)
30+
bazel_dep(
31+
name = "rules_license",
32+
version = "1.0.0",
33+
)
34+
bazel_dep(
35+
name = "platforms",
36+
version = "1.0.0",
37+
)
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
diff --git a/MODULE.bazel b/MODULE.bazel
2+
new file mode 100644
3+
index 0000000..218786b
4+
--- /dev/null
5+
+++ b/MODULE.bazel
6+
@@ -0,0 +1,37 @@
7+
+module(
8+
+ name = "pthreadpool",
9+
+ version = "0.0.0-20250926-560c60d",
10+
+ compatibility_level = 1,
11+
+ bazel_compatibility = [">=7.2.1"],
12+
+)
13+
+
14+
+bazel_dep(
15+
+ name = "cpuinfo",
16+
+ version = "0.0.0-20250925-877328f",
17+
+)
18+
+bazel_dep(
19+
+ name = "fxdiv",
20+
+ version = "0.0.0-20201209-63058ef",
21+
+)
22+
+bazel_dep(
23+
+ name = "google_benchmark",
24+
+ version = "1.8.3",
25+
+ repo_name = "com_google_benchmark",
26+
+)
27+
+bazel_dep(
28+
+ name = "googletest",
29+
+ version = "1.17.0",
30+
+ repo_name = "com_google_googletest",
31+
+)
32+
+bazel_dep(
33+
+ name = "rules_cc",
34+
+ version = "0.2.8",
35+
+)
36+
+bazel_dep(
37+
+ name = "rules_license",
38+
+ version = "1.0.0",
39+
+)
40+
+bazel_dep(
41+
+ name = "platforms",
42+
+ version = "1.0.0",
43+
+)
Lines changed: 314 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,314 @@
1+
diff --git a/BUILD.bazel b/BUILD.bazel
2+
index adea02a..47bc82d 100644
3+
--- a/BUILD.bazel
4+
+++ b/BUILD.bazel
5+
@@ -1,9 +1,20 @@
6+
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
7+
+load("@rules_license//rules:license.bzl", "license")
8+
+
9+
+package(
10+
+ default_applicable_licenses = [":license"],
11+
+)
12+
13+
licenses(["notice"])
14+
15+
exports_files(["LICENSE"])
16+
17+
+license(
18+
+ name = "license",
19+
+ license_kinds = ["@rules_license//licenses/spdx:BSD-2-Clause"],
20+
+ license_text = "LICENSE",
21+
+)
22+
+
23+
############################## pthreadpool library #############################
24+
25+
INTERNAL_HDRS = [
26+
@@ -138,7 +149,7 @@ cc_library(
27+
}),
28+
strip_include_prefix = "include",
29+
deps = [
30+
- "@FXdiv",
31+
+ "@fxdiv//:FXdiv",
32+
] + select({
33+
":linux_arm": ["@cpuinfo"],
34+
":linux_armeabi": ["@cpuinfo"],
35+
@@ -259,64 +270,80 @@ config_setting(
36+
37+
config_setting(
38+
name = "linux_x86_64",
39+
- values = {"cpu": "k8"},
40+
+ constraint_values = [
41+
+ "@platforms//cpu:x86_64",
42+
+ "@platforms//os:linux",
43+
+ ],
44+
)
45+
46+
config_setting(
47+
name = "linux_arm",
48+
- values = {"cpu": "arm"},
49+
+ constraint_values = [
50+
+ "@platforms//cpu:arm",
51+
+ "@platforms//os:linux",
52+
+ ],
53+
)
54+
55+
-config_setting(
56+
+alias(
57+
name = "linux_armeabi",
58+
- values = {"cpu": "armeabi"},
59+
+ actual = ":linux_arm",
60+
)
61+
62+
-config_setting(
63+
+alias(
64+
name = "linux_armhf",
65+
- values = {"cpu": "armhf"},
66+
+ actual = ":linux_arm",
67+
)
68+
69+
config_setting(
70+
name = "linux_armv7a",
71+
- values = {"cpu": "armv7a"},
72+
+ constraint_values = [
73+
+ "@platforms//cpu:armv7",
74+
+ "@platforms//os:linux",
75+
+ ],
76+
)
77+
78+
config_setting(
79+
name = "linux_aarch64",
80+
- values = {"cpu": "aarch64"},
81+
+ constraint_values = [
82+
+ "@platforms//os:linux",
83+
+ "@platforms//cpu:aarch64",
84+
+ ],
85+
)
86+
87+
config_setting(
88+
name = "android_x86",
89+
- values = {
90+
- "crosstool_top": "//external:android/crosstool",
91+
- "cpu": "x86",
92+
- },
93+
+ constraint_values = [
94+
+ "@platforms//os:android",
95+
+ "@platforms//cpu:x86_32",
96+
+ ],
97+
+ visibility = ["//visibility:public"],
98+
)
99+
100+
config_setting(
101+
name = "android_x86_64",
102+
- values = {
103+
- "crosstool_top": "//external:android/crosstool",
104+
- "cpu": "x86_64",
105+
- },
106+
+ constraint_values = [
107+
+ "@platforms//os:android",
108+
+ "@platforms//cpu:x86_64",
109+
+ ],
110+
+ visibility = ["//visibility:public"],
111+
)
112+
113+
config_setting(
114+
name = "android_armv7",
115+
- values = {
116+
- "crosstool_top": "//external:android/crosstool",
117+
- "cpu": "armeabi-v7a",
118+
- },
119+
+ constraint_values = [
120+
+ "@platforms//os:android",
121+
+ "@platforms//cpu:armv7",
122+
+ ],
123+
+ visibility = ["//visibility:public"],
124+
)
125+
126+
config_setting(
127+
name = "android_arm64",
128+
- values = {
129+
- "crosstool_top": "//external:android/crosstool",
130+
- "cpu": "arm64-v8a",
131+
- },
132+
+ constraint_values = [
133+
+ "@platforms//os:android",
134+
+ "@platforms//cpu:arm64",
135+
+ ],
136+
+ visibility = ["//visibility:public"],
137+
)
138+
139+
# Note: we need to individually match x86 and x86-64 macOS rather than use
140+
@@ -324,117 +351,118 @@ config_setting(
141+
# "macos" even when building on Linux!
142+
config_setting(
143+
name = "macos_x86",
144+
- values = {
145+
- "apple_platform_type": "macos",
146+
- "cpu": "darwin",
147+
- },
148+
+ constraint_values = [
149+
+ "@platforms//os:macos",
150+
+ "@platforms//cpu:x86_32",
151+
+ ],
152+
)
153+
154+
config_setting(
155+
name = "macos_x86_64",
156+
- values = {
157+
- "apple_platform_type": "macos",
158+
- "cpu": "darwin_x86_64",
159+
- },
160+
+ constraint_values = [
161+
+ "@platforms//os:macos",
162+
+ "@platforms//cpu:x86_64",
163+
+ ],
164+
)
165+
166+
config_setting(
167+
name = "macos_arm64",
168+
- values = {
169+
- "apple_platform_type": "macos",
170+
- "cpu": "darwin_arm64",
171+
- },
172+
+ constraint_values = [
173+
+ "@platforms//cpu:arm64",
174+
+ "@platforms//os:macos",
175+
+ ],
176+
)
177+
178+
config_setting(
179+
name = "ios",
180+
- values = {
181+
- "crosstool_top": "@bazel_tools//tools/cpp:toolchain",
182+
- "apple_platform_type": "ios",
183+
- },
184+
+ constraint_values = [
185+
+ "@platforms//os:ios",
186+
+ ],
187+
)
188+
189+
config_setting(
190+
name = "ios_x86",
191+
- values = {
192+
- "apple_platform_type": "ios",
193+
- "cpu": "ios_i386",
194+
- },
195+
+ constraint_values = [
196+
+ "@platforms//cpu:x86_32",
197+
+ "@platforms//os:ios",
198+
+ ],
199+
)
200+
201+
config_setting(
202+
name = "ios_x86_64",
203+
- values = {
204+
- "apple_platform_type": "ios",
205+
- "cpu": "ios_x86_64",
206+
- },
207+
+ constraint_values = [
208+
+ "@platforms//cpu:x86_64",
209+
+ "@platforms//os:ios",
210+
+ ],
211+
)
212+
213+
config_setting(
214+
name = "watchos",
215+
- values = {
216+
- "crosstool_top": "@bazel_tools//tools/cpp:toolchain",
217+
- "apple_platform_type": "watchos",
218+
- },
219+
+ constraint_values = [
220+
+ "@platforms//os:watchos",
221+
+ ],
222+
)
223+
224+
config_setting(
225+
name = "watchos_x86",
226+
- values = {
227+
- "apple_platform_type": "watchos",
228+
- "cpu": "watchos_i386",
229+
- },
230+
+ constraint_values = [
231+
+ "@platforms//os:watchos",
232+
+ "@platforms//cpu:x86_32",
233+
+ ],
234+
)
235+
236+
config_setting(
237+
name = "watchos_x86_64",
238+
- values = {
239+
- "apple_platform_type": "watchos",
240+
- "cpu": "watchos_x86_64",
241+
- },
242+
+ constraint_values = [
243+
+ "@platforms//os:watchos",
244+
+ "@platforms//cpu:x86_64",
245+
+ ],
246+
)
247+
248+
config_setting(
249+
name = "tvos",
250+
- values = {
251+
- "crosstool_top": "@bazel_tools//tools/cpp:toolchain",
252+
- "apple_platform_type": "tvos",
253+
- },
254+
+ constraint_values = [
255+
+ "@platforms//os:tvos",
256+
+ ],
257+
)
258+
259+
config_setting(
260+
name = "tvos_x86_64",
261+
- values = {
262+
- "apple_platform_type": "tvos",
263+
- "cpu": "tvos_x86_64",
264+
- },
265+
+ constraint_values = [
266+
+ "@platforms//cpu:x86_64",
267+
+ "@platforms//os:tvos",
268+
+ ],
269+
)
270+
271+
config_setting(
272+
name = "windows_x86_64",
273+
- values = {
274+
- "cpu": "x64_windows",
275+
- },
276+
+ constraint_values = [
277+
+ "@platforms//os:windows",
278+
+ "@platforms//cpu:x86_64",
279+
+ ],
280+
)
281+
282+
config_setting(
283+
name = "windows_arm64",
284+
- values = {
285+
- "cpu": "arm64_windows",
286+
- },
287+
+ constraint_values = [
288+
+ "@platforms//os:windows",
289+
+ "@platforms//cpu:arm64",
290+
+ ],
291+
)
292+
293+
config_setting(
294+
name = "emscripten",
295+
- values = {
296+
- "crosstool_top": "//toolchain:emscripten",
297+
- }
298+
+ constraint_values = [
299+
+ "@platforms//os:emscripten",
300+
+ ],
301+
)
302+
303+
config_setting(
304+
name = "emscripten_with_threads",
305+
+ constraint_values = [
306+
+ "@platforms//os:emscripten",
307+
+ ],
308+
values = {
309+
- "crosstool_top": "//toolchain:emscripten",
310+
- "copt": "-pthread",
311+
- }
312+
+ "features": "use_pthreads",
313+
+ },
314+
)

0 commit comments

Comments
 (0)