-
Notifications
You must be signed in to change notification settings - Fork 4.7k
/
quiche.bzl
92 lines (86 loc) · 2.54 KB
/
quiche.bzl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
load(
"@envoy//bazel:envoy_build_system.bzl",
"envoy_cc_library",
"envoy_cc_test_library",
)
load("@envoy//bazel:envoy_select.bzl", "envoy_select_enable_http3")
# These options are only used to suppress errors in brought-in QUICHE tests.
# Use #pragma GCC diagnostic ignored in integration code to suppress these errors.
quiche_common_copts = [
# hpack_huffman_decoder.cc overloads operator<<.
"-Wno-unused-function",
"-Wno-old-style-cast",
]
quiche_copts = select({
# Ignore unguarded #pragma GCC statements in QUICHE sources
"@envoy//bazel:windows_x86_64": ["-wd4068"],
# Remove these after upstream fix.
"//conditions:default": quiche_common_copts,
})
def envoy_quiche_platform_impl_cc_library(
name,
srcs = [],
hdrs = [],
deps = []):
envoy_cc_library(
name = name,
srcs = srcs,
hdrs = hdrs,
deps = deps,
repository = "@envoy",
strip_include_prefix = "quiche/common/platform/default/",
tags = ["nofips"],
visibility = ["//visibility:public"],
)
def envoy_quiche_platform_impl_cc_test_library(
name,
srcs = [],
hdrs = [],
deps = []):
envoy_cc_test_library(
name = name,
srcs = srcs,
hdrs = hdrs,
deps = deps,
repository = "@envoy",
strip_include_prefix = "quiche/common/platform/default/",
tags = ["nofips"],
)
# Used for QUIC libraries
def envoy_quic_cc_library(
name,
srcs = [],
hdrs = [],
deps = [],
defines = [],
external_deps = [],
tags = []):
envoy_cc_library(
name = name,
srcs = envoy_select_enable_http3(srcs, "@envoy"),
hdrs = envoy_select_enable_http3(hdrs, "@envoy"),
repository = "@envoy",
copts = quiche_copts,
tags = ["nofips"] + tags,
visibility = ["//visibility:public"],
defines = defines,
external_deps = external_deps,
deps = envoy_select_enable_http3(deps, "@envoy"),
)
def envoy_quic_cc_test_library(
name,
srcs = [],
hdrs = [],
tags = [],
external_deps = [],
deps = []):
envoy_cc_test_library(
name = name,
srcs = envoy_select_enable_http3(srcs, "@envoy"),
hdrs = envoy_select_enable_http3(hdrs, "@envoy"),
copts = quiche_copts,
repository = "@envoy",
tags = ["nofips"] + tags,
external_deps = external_deps,
deps = envoy_select_enable_http3(deps, "@envoy"),
)