| # Copyright (c) 2009-2021, Google LLC |
| # Use of this source code is governed by a BSD-style |
| # license that can be found in the LICENSE file or at |
| # https://developers.google.com/open-source/licenses/bsd |
| # load("@rules_cc//cc:defs.bzl", _cc_proto_library = "cc_proto_library") |
| _cc_proto_library = native.cc_proto_library |
| def proto_library(**kwargs): |
| kwargs["cc_api_version"] = 2 |
| def tmpl_cc_binary(name, gen, args, replacements = [], **kwargs): |
| name = name + "_gen_srcs", |
| cmd = "$(location " + gen + ") " + " ".join(args) + " > $@", |
| kwargs["malloc"] = "//base:system_malloc" |
| kwargs["features"] = ["-static_linking_mode"] |
| def cc_optimizefor_proto_library(name, srcs, outs, optimize_for): |
| fail("Currently srcs must have exactly 1 element") |
| name = name + "_gen_proto", |
| cmd = "cp $< $@ && chmod a+w $@ && echo 'option optimize_for = " + optimize_for + ";' >> $@", |
| deps = [":" + name + "_proto"], |
| def expand_suffixes(vals, suffixes): |