@@ -24,30 +24,13 @@ ARCH_SPECIFIC_SRCS = [
2424
2525PTHREADS_IMPL_SRCS = PORTABLE_SRCS + ["src/pthreads.c" ]
2626
27- GCD_IMPL_SRCS = PORTABLE_SRCS + ["src/gcd.c" ]
28-
29- WINDOWS_IMPL_SRCS = PORTABLE_SRCS + ["src/windows.c" ]
30-
3127SHIM_IMPL_SRCS = ["src/shim.c" ]
3228
3329cc_library (
3430 name = "pthreadpool" ,
3531 srcs = select ({
36- ":pthreadpool_sync_primitive_explicit_condvar" : INTERNAL_HDRS + PTHREADS_IMPL_SRCS ,
37- ":pthreadpool_sync_primitive_explicit_futex" : INTERNAL_HDRS + PTHREADS_IMPL_SRCS ,
38- ":pthreadpool_sync_primitive_explicit_gcd" : INTERNAL_HDRS + GCD_IMPL_SRCS ,
39- ":pthreadpool_sync_primitive_explicit_event" : INTERNAL_HDRS + WINDOWS_IMPL_SRCS ,
40- ":emscripten_with_threads" : INTERNAL_HDRS + PTHREADS_IMPL_SRCS ,
41- ":emscripten" : INTERNAL_HDRS + SHIM_IMPL_SRCS ,
42- ":macos_x86" : INTERNAL_HDRS + GCD_IMPL_SRCS ,
43- ":macos_x86_64" : INTERNAL_HDRS + GCD_IMPL_SRCS ,
44- ":macos_arm64" : INTERNAL_HDRS + GCD_IMPL_SRCS ,
45- ":ios" : INTERNAL_HDRS + GCD_IMPL_SRCS ,
46- ":watchos" : INTERNAL_HDRS + GCD_IMPL_SRCS ,
47- ":tvos" : INTERNAL_HDRS + GCD_IMPL_SRCS ,
48- ":windows_x86_64" : INTERNAL_HDRS + WINDOWS_IMPL_SRCS ,
49- ":windows_arm64" : INTERNAL_HDRS + WINDOWS_IMPL_SRCS ,
50- "//conditions:default" : INTERNAL_HDRS + PTHREADS_IMPL_SRCS ,
32+ ":emscripten" : SHIM_IMPL_SRCS ,
33+ "//conditions:default" : PTHREADS_IMPL_SRCS ,
5134 }) + select ({
5235 ":linux_x86_64" : ARCH_SPECIFIC_SRCS ,
5336 ":android_x86" : ARCH_SPECIFIC_SRCS ,
@@ -72,60 +55,42 @@ cc_library(
7255 ] + select ({
7356 ":optimized_build" : ["-O2" ],
7457 "//conditions:default" : [],
75- }) + select ({
76- ":linux_arm" : ["-DPTHREADPOOL_USE_CPUINFO=1" ],
77- ":linux_armeabi" : ["-DPTHREADPOOL_USE_CPUINFO=1" ],
78- ":linux_armhf" : ["-DPTHREADPOOL_USE_CPUINFO=1" ],
79- ":linux_armv7a" : ["-DPTHREADPOOL_USE_CPUINFO=1" ],
80- ":linux_aarch64" : ["-DPTHREADPOOL_USE_CPUINFO=1" ],
81- ":android_armv7" : ["-DPTHREADPOOL_USE_CPUINFO=1" ],
82- ":android_arm64" : ["-DPTHREADPOOL_USE_CPUINFO=1" ],
83- "//conditions:default" : ["-DPTHREADPOOL_USE_CPUINFO=0" ],
58+ }),
59+ defines = select ({
60+ ":linux_arm" : ["PTHREADPOOL_USE_CPUINFO=1" ],
61+ ":linux_armeabi" : ["PTHREADPOOL_USE_CPUINFO=1" ],
62+ ":linux_armhf" : ["PTHREADPOOL_USE_CPUINFO=1" ],
63+ ":linux_armv7a" : ["PTHREADPOOL_USE_CPUINFO=1" ],
64+ ":linux_aarch64" : ["PTHREADPOOL_USE_CPUINFO=1" ],
65+ ":android_armv7" : ["PTHREADPOOL_USE_CPUINFO=1" ],
66+ ":android_arm64" : ["PTHREADPOOL_USE_CPUINFO=1" ],
67+ "//conditions:default" : ["PTHREADPOOL_USE_CPUINFO=0" ],
8468 }) + select ({
8569 ":pthreadpool_sync_primitive_explicit_condvar" : [
86- "-DPTHREADPOOL_USE_CONDVAR=1" ,
87- "-DPTHREADPOOL_USE_FUTEX=0" ,
88- "-DPTHREADPOOL_USE_GCD=0" ,
89- "-DPTHREADPOOL_USE_EVENT=0" ,
70+ "PTHREADPOOL_USE_CONDVAR=1" ,
71+ "PTHREADPOOL_USE_FUTEX=0" ,
9072 ],
9173 ":pthreadpool_sync_primitive_explicit_futex" : [
92- "-DPTHREADPOOL_USE_CONDVAR=0" ,
93- "-DPTHREADPOOL_USE_FUTEX=1" ,
94- "-DPTHREADPOOL_USE_GCD=0" ,
95- "-DPTHREADPOOL_USE_EVENT=0" ,
96- ],
97- ":pthreadpool_sync_primitive_explicit_gcd" : [
98- "-DPTHREADPOOL_USE_CONDVAR=0" ,
99- "-DPTHREADPOOL_USE_FUTEX=0" ,
100- "-DPTHREADPOOL_USE_GCD=1" ,
101- "-DPTHREADPOOL_USE_EVENT=0" ,
102- ],
103- ":pthreadpool_sync_primitive_explicit_event" : [
104- "-DPTHREADPOOL_USE_CONDVAR=0" ,
105- "-DPTHREADPOOL_USE_FUTEX=0" ,
106- "-DPTHREADPOOL_USE_GCD=0" ,
107- "-DPTHREADPOOL_USE_EVENT=1" ,
74+ "PTHREADPOOL_USE_CONDVAR=0" ,
75+ "PTHREADPOOL_USE_FUTEX=1" ,
10876 ],
10977 "//conditions:default" : [],
11078 }) + select ({
111- ":linux_x86_64" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
112- ":android_x86" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
113- ":android_x86_64" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
114- ":windows_x86_64" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
115- ":windows_arm64" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
116- ":macos_x86" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
117- ":macos_x86_64" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
118- ":macos_arm64" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
119- ":ios_x86" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
120- ":ios_x86_64" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
121- ":watchos_x86" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
122- ":watchos_x86_64" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
123- ":tvos_x86_64" : ["-DPTHREADPOOL_USE_FASTPATH=1" ],
124- "//conditions:default" : ["-DPTHREADPOOL_USE_FASTPATH=0" ],
125- }),
126- defines = [
127- "PTHREADPOOL_NO_DEPRECATED_API" ,
128- ],
79+ ":linux_x86_64" : ["PTHREADPOOL_USE_FASTPATH=1" ],
80+ ":android_x86" : ["PTHREADPOOL_USE_FASTPATH=1" ],
81+ ":android_x86_64" : ["PTHREADPOOL_USE_FASTPATH=1" ],
82+ ":windows_x86_64" : ["PTHREADPOOL_USE_FASTPATH=1" ],
83+ ":windows_arm64" : ["PTHREADPOOL_USE_FASTPATH=1" ],
84+ ":macos_x86" : ["PTHREADPOOL_USE_FASTPATH=1" ],
85+ ":macos_x86_64" : ["PTHREADPOOL_USE_FASTPATH=1" ],
86+ ":macos_arm64" : ["PTHREADPOOL_USE_FASTPATH=1" ],
87+ ":ios_x86" : ["PTHREADPOOL_USE_FASTPATH=1" ],
88+ ":ios_x86_64" : ["PTHREADPOOL_USE_FASTPATH=1" ],
89+ ":watchos_x86" : ["PTHREADPOOL_USE_FASTPATH=1" ],
90+ ":watchos_x86_64" : ["PTHREADPOOL_USE_FASTPATH=1" ],
91+ ":tvos_x86_64" : ["PTHREADPOOL_USE_FASTPATH=1" ],
92+ "//conditions:default" : ["PTHREADPOOL_USE_FASTPATH=0" ],
93+ }) + ["PTHREADPOOL_NO_DEPRECATED_API" ],
12994 includes = [
13095 "include" ,
13196 ],
@@ -137,6 +102,10 @@ cc_library(
137102 "//conditions:default" : [],
138103 }),
139104 strip_include_prefix = "include" ,
105+ # These headers are listed here to prevent them from being parsed. G3 toolchain runs the
106+ # compiler in C++ mode on this step and can not complete correctly.
107+ # These are NOT public headers and should not be included from other targets.
108+ textual_hdrs = INTERNAL_HDRS ,
140109 visibility = ["//visibility:public" ],
141110 deps = [
142111 "@FXdiv" ,
@@ -238,18 +207,6 @@ config_setting(
238207 define_values = {"pthreadpool_sync_primitive" : "futex" },
239208)
240209
241- # Synchronize workers using Grand Central Dispatch.
242- config_setting (
243- name = "pthreadpool_sync_primitive_explicit_gcd" ,
244- define_values = {"pthreadpool_sync_primitive" : "gcd" },
245- )
246-
247- # Synchronize workers using WinAPI event.
248- config_setting (
249- name = "pthreadpool_sync_primitive_explicit_event" ,
250- define_values = {"pthreadpool_sync_primitive" : "event" },
251- )
252-
253210config_setting (
254211 name = "optimized_build" ,
255212 values = {
0 commit comments