1- load ("@rules_cc//cc:defs.bzl" , "cc_binary" , "cc_library" )
1+ load ("@rules_cc//cc:defs.bzl" , "cc_binary" , "cc_library" , "cc_test" )
22
33
44config_setting (
@@ -85,6 +85,16 @@ config_setting(
8585 visibility = [":__subpackages__" ]
8686)
8787
88+ config_setting (
89+ name = "with_http_server_client" ,
90+ define_values = {
91+ "WITH_EVPP" : "ON" ,
92+ "WITH_HTTP" : "ON" ,
93+ "WITH_HTTP_SERVER" : "ON" ,
94+ "WITH_HTTP_CLIENT" : "ON" ,
95+ },
96+ )
97+
8898config_setting (
8999 name = "with_evpp_nghttp2" ,
90100 define_values = {
@@ -120,6 +130,16 @@ config_setting(
120130 define_values = {"WITH_NGHTTP2" : "ON" }
121131)
122132
133+ config_setting (
134+ name = "with_zlib" ,
135+ define_values = {"WITH_ZLIB" : "ON" }
136+ )
137+
138+ config_setting (
139+ name = "with_zstd" ,
140+ define_values = {"WITH_ZSTD" : "ON" }
141+ )
142+
123143config_setting (
124144 name = "with_openssl" ,
125145 define_values = {"WITH_OPENSSL" : "ON" }
@@ -219,6 +239,12 @@ COPTS = select({
219239}) + select ({
220240 "with_nghttp2" : ["-DWITH_NGHTTP2" ],
221241 "//conditions:default" : [],
242+ }) + select ({
243+ "with_zlib" : ["-DWITH_ZLIB" ],
244+ "//conditions:default" : [],
245+ }) + select ({
246+ "with_zstd" : ["-DWITH_ZSTD" ],
247+ "//conditions:default" : [],
222248}) + select ({
223249 "with_openssl" : ["-DWITH_OPENSSL" ],
224250 "//conditions:default" : [],
@@ -253,6 +279,12 @@ LINKOPTS = select({
253279}) + select ({
254280 "@bazel_tools//tools/cpp:gcc" : ["-lrt" ],
255281 "//conditions:default" : [],
282+ }) + select ({
283+ "with_zlib" : ["-lz" ],
284+ "//conditions:default" : [],
285+ }) + select ({
286+ "with_zstd" : ["-lzstd" ],
287+ "//conditions:default" : [],
256288})
257289
258290BASE_HEADERS = [
@@ -332,6 +364,7 @@ PROTOCOL_HEADERS = [
332364HTTP_HEADERS = [
333365 "http/httpdef.h" ,
334366 "http/wsdef.h" ,
367+ "http/HttpCompression.h" ,
335368 "http/http_content.h" ,
336369 "http/HttpMessage.h" ,
337370 "http/HttpParser.h" ,
@@ -449,6 +482,32 @@ cc_library(
449482 visibility = ["//visibility:public" ]
450483)
451484
485+ cc_test (
486+ name = "http_compression_test" ,
487+ srcs = ["unittest/http_compression_test.cpp" ],
488+ copts = COPTS ,
489+ deps = [":hv" ],
490+ )
491+
492+ cc_test (
493+ name = "websocket_compression_test" ,
494+ srcs = ["unittest/websocket_compression_test.cpp" ],
495+ copts = COPTS ,
496+ deps = [":hv" ],
497+ )
498+
499+ filegroup (
500+ name = "unittests" ,
501+ srcs = select ({
502+ "with_http_server_client" : [
503+ ":http_compression_test" ,
504+ ":websocket_compression_test" ,
505+ ],
506+ "//conditions:default" : [],
507+ }),
508+ visibility = ["//:__pkg__" ],
509+ )
510+
452511filegroup (
453512 name = "libhv" ,
454513 srcs = select ({
@@ -460,7 +519,8 @@ filegroup(
460519 }) + select ({
461520 "build_examples" : ["//examples:examples" ],
462521 "//conditions:default" : [],
522+ }) + select ({
523+ "build_unittest" : [":unittests" ],
524+ "//conditions:default" : [],
463525 })
464526)
465-
466-
0 commit comments