aboutsummaryrefslogtreecommitdiff
path: root/protobuf.bzl
diff options
context:
space:
mode:
authorAndreas Bergmeier <a.bergmeier@dsfishlabs.com>2016-08-15 16:57:30 +0200
committerAndreas Bergmeier <a.bergmeier@dsfishlabs.com>2016-08-15 16:57:30 +0200
commitbbeb983bac166392c787ae7130abac474faaae10 (patch)
tree2b577ab8fee673dee71eae6abb5a7a3a55310ff9 /protobuf.bzl
parenta2484208c3291ea522a891114d2821829bd09083 (diff)
downloadprotobuf-bbeb983bac166392c787ae7130abac474faaae10.tar.gz
protobuf-bbeb983bac166392c787ae7130abac474faaae10.tar.bz2
protobuf-bbeb983bac166392c787ae7130abac474faaae10.zip
Need to expose generated protobuf C++ headers so they can actually be accessed from other libraries.
Diffstat (limited to 'protobuf.bzl')
-rw-r--r--protobuf.bzl24
1 files changed, 17 insertions, 7 deletions
diff --git a/protobuf.bzl b/protobuf.bzl
index c5555fde..1291f2aa 100644
--- a/protobuf.bzl
+++ b/protobuf.bzl
@@ -15,14 +15,21 @@ def _GenDir(ctx):
return _GetPath(ctx, ctx.attr.includes[0])
return _GetPath(ctx, ctx.label.package + '/' + ctx.attr.includes[0])
-def _CcOuts(srcs, use_grpc_plugin=False):
- ret = [s[:-len(".proto")] + ".pb.h" for s in srcs] + \
- [s[:-len(".proto")] + ".pb.cc" for s in srcs]
+def _CcHdrs(srcs, use_grpc_plugin=False):
+ ret = [s[:-len(".proto")] + ".pb.h" for s in srcs]
+ if use_grpc_plugin:
+ ret += [s[:-len(".proto")] + ".grpc.pb.h" for s in srcs]
+ return ret
+
+def _CcSrcs(srcs, use_grpc_plugin=False):
+ ret = [s[:-len(".proto")] + ".pb.cc" for s in srcs]
if use_grpc_plugin:
- ret += [s[:-len(".proto")] + ".grpc.pb.h" for s in srcs] + \
- [s[:-len(".proto")] + ".grpc.pb.cc" for s in srcs]
+ ret += [s[:-len(".proto")] + ".grpc.pb.cc" for s in srcs]
return ret
+def _CcOuts(srcs, use_grpc_plugin=False):
+ return _CcHdrs(srcs, use_grpc_plugin) + _CcSrcs(srcs, use_grpc_plugin)
+
def _PyOuts(srcs):
return [s[:-len(".proto")] + "_pb2.py" for s in srcs]
@@ -168,7 +175,9 @@ def cc_proto_library(
if use_grpc_plugin:
grpc_cpp_plugin = "//external:grpc_cpp_plugin"
- outs = _CcOuts(srcs, use_grpc_plugin)
+ gen_srcs = _CcSrcs(srcs, use_grpc_plugin)
+ gen_hdrs = _CcHdrs(srcs, use_grpc_plugin)
+ outs = gen_srcs + gen_hdrs
_proto_gen(
name=name + "_genproto",
@@ -189,7 +198,8 @@ def cc_proto_library(
native.cc_library(
name=name,
- srcs=outs,
+ srcs=gen_srcs,
+ hdrs=gen_hdrs,
deps=cc_libs + deps,
includes=includes,
**kargs)