-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Expand file tree
/
Copy pathBUILD
More file actions
139 lines (133 loc) · 4.71 KB
/
Copy pathBUILD
File metadata and controls
139 lines (133 loc) · 4.71 KB
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
load(
"//bazel:envoy_build_system.bzl",
"envoy_cc_extension",
"envoy_cc_library",
"envoy_extension_package",
)
licenses(["notice"]) # Apache 2
envoy_extension_package()
envoy_cc_library(
name = "wasm_runtime_factory_interface",
hdrs = [
"wasm_runtime_factory.h",
],
deps = [
"//envoy/config:typed_config_interface",
"@proxy-wasm-cpp-host//:wasm_vm_headers",
],
alwayslink = 1,
)
# NB: Used to break the circular dependency between wasm_lib and null_plugin_lib.
envoy_cc_library(
name = "wasm_hdr",
hdrs = [
"context.h",
"plugin.h",
"stats_handler.h",
"wasm.h",
"wasm_vm.h",
],
deps = [
"//envoy/http:codes_interface",
"//envoy/http:filter_interface",
"//envoy/network:dns_interface",
"//envoy/server:lifecycle_notifier_interface",
"//envoy/stats:custom_stat_namespaces_interface",
"//envoy/thread_local:thread_local_object",
"//envoy/upstream:cluster_manager_interface",
"//source/common/config:datasource_lib",
"//source/common/crypto:utility_lib",
"//source/common/protobuf:utility_lib",
"//source/common/singleton:const_singleton",
"//source/common/stats:stats_lib",
"//source/common/version:version_includes",
"//source/extensions/filters/common/expr:cel_state_lib",
"//source/extensions/filters/common/expr:evaluator_lib",
"@envoy_api//envoy/extensions/wasm/v3:pkg_cc_proto",
"@proxy-wasm-cpp-host//:headers",
"@proxy-wasm-cpp-sdk//:common_lib",
],
alwayslink = 1,
)
envoy_cc_library(
name = "remote_async_datasource_lib",
srcs = ["remote_async_datasource.cc"],
hdrs = ["remote_async_datasource.h"],
deps = [
"//envoy/api:api_interface",
"//envoy/init:manager_interface",
"//envoy/upstream:cluster_manager_interface",
"//source/common/common:backoff_lib",
"//source/common/common:empty_string",
"//source/common/config:remote_data_fetcher_lib",
"//source/common/config:utility_lib",
"//source/common/init:target_lib",
"//source/common/protobuf:utility_lib",
"@envoy_api//envoy/config/core/v3:pkg_cc_proto",
],
)
envoy_cc_extension(
name = "wasm_lib",
srcs = [
"context.cc",
"foreign.cc",
"plugin.cc",
"stats_handler.cc",
"wasm.cc",
"wasm_vm.cc",
],
copts = select({
"//bazel:windows_x86_64": [], # TODO: fix the windows ANTLR build
"//conditions:default": [
"-DWASM_USE_CEL_PARSER",
],
}),
visibility = [
"//contrib:__subpackages__",
"//source/extensions:__subpackages__",
"//test/extensions:__subpackages__",
"//test/test_common:__subpackages__",
],
deps = [
":wasm_hdr",
":wasm_runtime_factory_interface",
"//bazel:zlib",
"//envoy/server:lifecycle_notifier_interface",
"//source/common/buffer:buffer_lib",
"//source/common/common:enum_to_int",
"//source/common/common:safe_memcpy_lib",
"//source/common/config:remote_data_fetcher_lib",
"//source/common/http:message_lib",
"//source/common/http:utility_lib",
"//source/common/network/dns_resolver:dns_factory_util_lib",
"//source/common/tracing:http_tracer_lib",
"//source/extensions/common/wasm:remote_async_datasource_lib",
"//source/extensions/common/wasm/ext:declare_property_cc_proto",
"//source/extensions/common/wasm/ext:envoy_null_vm_wasm_api",
"//source/extensions/common/wasm/ext:set_envoy_filter_state_cc_proto",
"//source/extensions/common/wasm/ext:sign_cc_proto",
"//source/extensions/common/wasm/ext:verify_signature_cc_proto",
"//source/extensions/filters/common/expr:context_lib",
"@abseil-cpp//absl/base",
"@abseil-cpp//absl/container:node_hash_map",
"@cel-cpp//eval/public:builtin_func_registrar",
"@cel-cpp//eval/public:cel_expr_builder_factory",
"@cel-cpp//eval/public:cel_value",
"@cel-cpp//eval/public:value_export_util",
"@cel-cpp//eval/public/containers:field_access",
"@cel-cpp//eval/public/containers:field_backed_list_impl",
"@cel-cpp//eval/public/containers:field_backed_map_impl",
"@cel-cpp//eval/public/structs:cel_proto_wrapper",
"@envoy_api//envoy/extensions/wasm/v3:pkg_cc_proto",
"@proxy-wasm-cpp-host//:base_lib",
"@proxy-wasm-cpp-host//:null_lib",
] + select(
{
"//bazel:windows_x86_64": [],
"//conditions:default": [
"@cel-cpp//parser",
],
},
),
alwayslink = 1,
)