Skip to content

Commit aebc8db

Browse files
committed
WIP
1 parent 96c57f8 commit aebc8db

File tree

2 files changed

+77
-29
lines changed

2 files changed

+77
-29
lines changed

src/conditions/BUILD

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,24 @@ config_setting(
226226
flag_values = {"@rules_cc//cc/compiler:compiler": "msvc-cl"},
227227
)
228228

229+
config_setting(
230+
name = "windows_clang",
231+
constraint_values = ["@platforms//os:windows"],
232+
flag_values = {"@rules_cc//cc/compiler:compiler": "clang"},
233+
)
234+
235+
config_setting(
236+
name = "windows_gcc",
237+
constraint_values = ["@platforms//os:windows"],
238+
flag_values = {"@rules_cc//cc/compiler:compiler": "gcc"},
239+
)
240+
241+
config_setting(
242+
name = "windows_mingw_gcc",
243+
constraint_values = ["@platforms//os:windows"],
244+
flag_values = {"@rules_cc//cc/compiler:compiler": "mingw-gcc"},
245+
)
246+
229247
selects.config_setting_group(
230248
name = "windows_msvc_like",
231249
match_any = [
@@ -235,6 +253,16 @@ selects.config_setting_group(
235253
visibility = ["//visibility:public"],
236254
)
237255

256+
selects.config_setting_group(
257+
name = "windows_gcc_like",
258+
match_any = [
259+
":windows_clang",
260+
":windows_gcc",
261+
":windows_mingw_gcc",
262+
],
263+
visibility = ["//visibility:public"],
264+
)
265+
238266
config_setting(
239267
name = "arm",
240268
constraint_values = ["@platforms//cpu:arm"],

src/main/cpp/BUILD

Lines changed: 49 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,32 @@ cc_library(
4646
"blaze_util.h",
4747
"blaze_util_platform.h",
4848
],
49-
linkopts = select({
50-
"//src/conditions:darwin": [
51-
"-framework CoreFoundation",
52-
],
53-
"//src/conditions:freebsd": [
54-
],
55-
"//src/conditions:openbsd": [
56-
],
57-
"//src/conditions:windows": WIN_LINK_OPTS,
58-
"//conditions:default": [
59-
"-lrt",
60-
],
61-
}),
49+
linkopts = (
50+
select({
51+
"//src/conditions:darwin": [
52+
"-framework CoreFoundation",
53+
],
54+
"//src/conditions:freebsd": [
55+
],
56+
"//src/conditions:openbsd": [
57+
],
58+
"//src/conditions:windows": WIN_LINK_OPTS,
59+
"//conditions:default": [
60+
"-lrt",
61+
],
62+
}) +
63+
select({
64+
"//src/conditions:windows_gcc_like": [
65+
# "-lbcrypt",
66+
# "-liphlpapi",
67+
"-lole32",
68+
# "-lshell32",
69+
"-luuid",
70+
# "-lws2_32",
71+
],
72+
"//conditions:default": [],
73+
})
74+
),
6275
deps = [
6376
"//src/main/cpp/util",
6477
"//src/main/cpp/util:blaze_exit_code",
@@ -109,22 +122,29 @@ cc_binary(
109122
"//src/conditions:windows_msvc_like": ["/wd4018"],
110123
"//conditions:default": ["-Wno-sign-compare"],
111124
}),
112-
linkopts = select({
113-
"//src/conditions:darwin": [
114-
],
115-
"//src/conditions:freebsd": [
116-
"-lprocstat",
117-
"-lm",
118-
],
119-
"//src/conditions:openbsd": [
120-
],
121-
"//src/conditions:windows": [
122-
],
123-
"//conditions:default": [
124-
"-lrt",
125-
"-ldl",
126-
],
127-
}),
125+
linkopts = (
126+
select({
127+
"//src/conditions:darwin": [
128+
],
129+
"//src/conditions:freebsd": [
130+
"-lprocstat",
131+
"-lm",
132+
],
133+
"//src/conditions:openbsd": [
134+
],
135+
"//src/conditions:windows": [
136+
],
137+
"//conditions:default": [
138+
"-lrt",
139+
"-ldl",
140+
],
141+
}) + select({
142+
"//src/conditions:windows_gcc_like": [
143+
# MinGW requires -municode when using wmain.
144+
"-municode",
145+
],
146+
})
147+
),
128148
visibility = ["//src:__pkg__"],
129149
deps = [
130150
":archive_utils",

0 commit comments

Comments
 (0)