1# Copyright 2023 gRPC authors. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_package") 16 17licenses(["notice"]) 18 19grpc_package( 20 name = "test/cpp/microbenchmarks/huffman_geometries", 21 visibility = "public", 22) 23 24genrule( 25 name = "generate_huffman_geometries", 26 outs = ["shard_%d.cc" % i for i in range(100)] + 27 ["shard_%d.h" % i for i in range(100)] + [ 28 "index.h", 29 ], 30 cmd = "GEN_OUT=$(@D)/../../../.. $(location //tools/codegen/core:gen_huffman_decompressor) microbenchmarks", 31 tools = [ 32 "//tools/codegen/core:gen_huffman_decompressor", 33 ], 34) 35 36grpc_cc_library( 37 name = "huffman_geometries", 38 srcs = ["shard_%d.cc" % i for i in range(100)], 39 hdrs = ["shard_%d.h" % i for i in range(100)] + [ 40 "index.h", 41 ], 42 deps = ["//:gpr_platform"], 43) 44