@@ -11,87 +11,144 @@ licenses(["notice"]) # Apache 2
1111
1212package (default_visibility = ["//visibility:public" ])
1313
14+ exports_files (["LICENSE" ])
15+
1416cc_library (
15- name = "include" ,
16- hdrs = glob (["include/proxy-wasm/**/*.h" ]),
17+ name = "wasm_vm_headers" ,
18+ hdrs = [
19+ "include/proxy-wasm/wasm_vm.h" ,
20+ "include/proxy-wasm/word.h" ,
21+ ],
1722 deps = [
1823 "@proxy_wasm_cpp_sdk//:common_lib" ,
1924 ],
2025)
2126
2227cc_library (
23- name = "common_lib" ,
24- srcs = glob ([
25- "src/*.h" ,
26- "src/*.cc" ,
27- "src/common/*.h" ,
28- "src/null/*.cc" ,
29- ]),
28+ name = "headers" ,
29+ hdrs = [
30+ "include/proxy-wasm/context.h" ,
31+ "include/proxy-wasm/context_interface.h" ,
32+ "include/proxy-wasm/exports.h" ,
33+ "include/proxy-wasm/vm_id_handle.h" ,
34+ "include/proxy-wasm/wasm.h" ,
35+ ],
3036 deps = [
31- ":include" ,
37+ ":wasm_vm_headers" ,
38+ ],
39+ )
40+
41+ cc_library (
42+ name = "base_lib" ,
43+ srcs = [
44+ "src/bytecode_util.cc" ,
45+ "src/context.cc" ,
46+ "src/exports.cc" ,
47+ "src/shared_data.cc" ,
48+ "src/shared_data.h" ,
49+ "src/shared_queue.cc" ,
50+ "src/shared_queue.h" ,
51+ "src/signature_util.cc" ,
52+ "src/vm_id_handle.cc" ,
53+ "src/wasm.cc" ,
54+ ],
55+ hdrs = [
56+ "include/proxy-wasm/bytecode_util.h" ,
57+ "include/proxy-wasm/signature_util.h" ,
58+ ],
59+ deps = [
60+ ":headers" ,
3261 "@boringssl//:crypto" ,
62+ ],
63+ )
64+
65+ cc_library (
66+ name = "null_lib" ,
67+ srcs = [
68+ "src/null/null.cc" ,
69+ "src/null/null_plugin.cc" ,
70+ "src/null/null_vm.cc" ,
71+ ],
72+ hdrs = [
73+ "include/proxy-wasm/null.h" ,
74+ "include/proxy-wasm/null_plugin.h" ,
75+ "include/proxy-wasm/null_vm.h" ,
76+ "include/proxy-wasm/null_vm_plugin.h" ,
77+ "include/proxy-wasm/wasm_api_impl.h" ,
78+ ],
79+ defines = ["PROXY_WASM_HAS_RUNTIME_NULL" ],
80+ deps = [
81+ ":headers" ,
3382 "@proxy_wasm_cpp_sdk//:api_lib" ,
3483 ],
3584)
3685
3786cc_library (
3887 name = "v8_lib" ,
39- srcs = glob ( [
40- # TODO(@mathetake): Add V8 lib.
41- # "src/v8/*.h" ,
42- # "src/v8/*.cc" ,
43- ]) ,
88+ srcs = [
89+ "src/v8/v8.cc" ,
90+ ] ,
91+ hdrs = [ "include/proxy-wasm/v8.h" ] ,
92+ defines = [ "PROXY_WASM_HAS_RUNTIME_V8" ] ,
4493 deps = [
45- ":common_lib " ,
46- # TODO(@mathetake): Add V8 lib.
94+ ":wasm_vm_headers " ,
95+ "//external:wee8" ,
4796 ],
4897)
4998
5099cc_library (
51100 name = "wamr_lib" ,
52- srcs = glob ([
53- "src/wamr/*.h" ,
54- "src/wamr/*.cc" ,
55- ]),
101+ srcs = [
102+ "src/common/types.h" ,
103+ "src/wamr/types.h" ,
104+ "src/wamr/wamr.cc" ,
105+ ],
106+ hdrs = ["include/proxy-wasm/wamr.h" ],
107+ defines = ["PROXY_WASM_HAS_RUNTIME_WAMR" ],
56108 deps = [
57- ":common_lib " ,
58- "@wamr//:wamr_lib " ,
109+ ":wasm_vm_headers " ,
110+ "//external:wamr " ,
59111 ],
60112)
61113
62114cc_library (
63115 name = "wasmtime_lib" ,
64- srcs = glob ([
65- "src/wasmtime/*.h" ,
66- "src/wasmtime/*.cc" ,
67- ]),
116+ srcs = [
117+ "src/common/types.h" ,
118+ "src/wasmtime/types.h" ,
119+ "src/wasmtime/wasmtime.cc" ,
120+ ],
121+ hdrs = ["include/proxy-wasm/wasmtime.h" ],
122+ defines = ["PROXY_WASM_HAS_RUNTIME_WASMTIME" ],
68123 deps = [
69- ":common_lib " ,
70- "@wasm_c_api//:wasmtime_lib " ,
124+ ":wasm_vm_headers " ,
125+ "//external:wasmtime " ,
71126 ],
72127)
73128
74129cc_library (
75130 name = "wavm_lib" ,
76- srcs = glob ( [
77- "src/wavm/*.h " ,
78- "src/wavm/*.cc" ,
79- ]) ,
131+ srcs = [
132+ "src/wavm/wavm.cc " ,
133+ ] ,
134+ hdrs = [ "include/proxy-wasm/wavm.h" ] ,
80135 copts = [
81136 '-DWAVM_API=""' ,
82137 "-Wno-non-virtual-dtor" ,
83138 "-Wno-old-style-cast" ,
84139 ],
140+ defines = ["PROXY_WASM_HAS_RUNTIME_WAVM" ],
85141 deps = [
86- ":common_lib " ,
87- "@wavm//:wavm_lib " ,
142+ ":wasm_vm_headers " ,
143+ "//external:wavm " ,
88144 ],
89145)
90146
91147cc_library (
92148 name = "lib" ,
93149 deps = [
94- ":common_lib" ,
150+ ":base_lib" ,
151+ ":null_lib" ,
95152 ] + proxy_wasm_select_runtime_v8 (
96153 [":v8_lib" ],
97154 ) + proxy_wasm_select_runtime_wamr (
0 commit comments