Skip to content
Snippets Groups Projects
Commit b7b8d05f authored by Rob Earhart's avatar Rob Earhart
Browse files

Fix the Bazel build re/nanopb

This change modifies the BUILD rule dependencies used for nanopb,
switching them from third_party to //external -- the former uses
submodules, which don't work well with Bazel (since Bazel removes
submodules from repositories as it fetches them, preferring instead to
unify submodule versions across the workspace via the top-level
WORKSPACE configuration).
parent 6e6230a6
No related branches found
No related tags found
No related merge requests found
......@@ -41,6 +41,7 @@ package(default_visibility = ["//visibility:public"])
cc_library(
name = "gpr",
srcs = [
......@@ -154,6 +155,7 @@ cc_library(
)
cc_library(
name = "grpc",
srcs = [
......@@ -294,10 +296,6 @@ cc_library(
"src/core/lib/tsi/ssl_types.h",
"src/core/lib/tsi/transport_security.h",
"src/core/lib/tsi/transport_security_interface.h",
"third_party/nanopb/pb.h",
"third_party/nanopb/pb_common.h",
"third_party/nanopb/pb_decode.h",
"third_party/nanopb/pb_encode.h",
"src/core/ext/transport/chttp2/client/insecure/channel_create.c",
"src/core/ext/transport/chttp2/client/secure/secure_channel_create.c",
"src/core/ext/transport/chttp2/server/insecure/server_chttp2.c",
......@@ -459,9 +457,6 @@ cc_library(
"src/core/lib/tsi/fake_transport_security.c",
"src/core/lib/tsi/ssl_transport_security.c",
"src/core/lib/tsi/transport_security.c",
"third_party/nanopb/pb_common.c",
"third_party/nanopb/pb_decode.c",
"third_party/nanopb/pb_encode.c",
],
hdrs = [
"include/grpc/byte_buffer.h",
......@@ -486,6 +481,7 @@ cc_library(
"//external:libssl",
"//external:zlib",
":gpr",
"//external:nanopb",
],
copts = [
"-std=gnu99",
......@@ -493,6 +489,7 @@ cc_library(
)
cc_library(
name = "grpc_codegen_lib",
srcs = [
......@@ -529,6 +526,7 @@ cc_library(
)
cc_library(
name = "grpc_unsecure",
srcs = [
......@@ -655,10 +653,6 @@ cc_library(
"src/core/lib/transport/static_metadata.h",
"src/core/lib/transport/transport.h",
"src/core/lib/transport/transport_impl.h",
"third_party/nanopb/pb.h",
"third_party/nanopb/pb_common.h",
"third_party/nanopb/pb_decode.h",
"third_party/nanopb/pb_encode.h",
"src/core/ext/transport/chttp2/client/insecure/channel_create.c",
"src/core/ext/transport/chttp2/server/insecure/server_chttp2.c",
"src/core/ext/transport/chttp2/transport/alpn.c",
......@@ -800,9 +794,6 @@ cc_library(
"src/core/lib/transport/static_metadata.c",
"src/core/lib/transport/transport.c",
"src/core/lib/transport/transport_op_string.c",
"third_party/nanopb/pb_common.c",
"third_party/nanopb/pb_decode.c",
"third_party/nanopb/pb_encode.c",
],
hdrs = [
"include/grpc/byte_buffer.h",
......@@ -824,6 +815,7 @@ cc_library(
],
deps = [
":gpr",
"//external:nanopb",
],
copts = [
"-std=gnu99",
......@@ -831,6 +823,7 @@ cc_library(
)
cc_library(
name = "grpc_zookeeper",
srcs = [
......@@ -851,6 +844,7 @@ cc_library(
)
cc_library(
name = "grpc++",
srcs = [
......@@ -983,6 +977,7 @@ cc_library(
)
cc_library(
name = "grpc++_codegen_lib",
srcs = [
......@@ -1050,6 +1045,7 @@ cc_library(
)
cc_library(
name = "grpc++_unsecure",
srcs = [
......@@ -1174,6 +1170,7 @@ cc_library(
)
cc_library(
name = "grpc_plugin_support",
srcs = [
......@@ -1225,6 +1222,7 @@ cc_library(
)
cc_library(
name = "grpc_csharp_ext",
srcs = [
......@@ -1244,6 +1242,7 @@ cc_library(
objc_library(
name = "gpr_objc",
srcs = [
......@@ -1357,6 +1356,7 @@ objc_library(
)
objc_library(
name = "grpc_objc",
srcs = [
......@@ -1521,9 +1521,6 @@ objc_library(
"src/core/lib/tsi/fake_transport_security.c",
"src/core/lib/tsi/ssl_transport_security.c",
"src/core/lib/tsi/transport_security.c",
"third_party/nanopb/pb_common.c",
"third_party/nanopb/pb_decode.c",
"third_party/nanopb/pb_encode.c",
],
hdrs = [
"include/grpc/byte_buffer.h",
......@@ -1676,10 +1673,6 @@ objc_library(
"src/core/lib/tsi/ssl_types.h",
"src/core/lib/tsi/transport_security.h",
"src/core/lib/tsi/transport_security_interface.h",
"third_party/nanopb/pb.h",
"third_party/nanopb/pb_common.h",
"third_party/nanopb/pb_decode.h",
"third_party/nanopb/pb_encode.h",
],
includes = [
"include",
......@@ -1688,6 +1681,7 @@ objc_library(
deps = [
":gpr_objc",
"//external:libssl_objc",
"//external:nanopb",
],
sdk_dylibs = ["libz"],
)
......
......@@ -60,7 +60,7 @@
deps.append(':%s' % (d))
return deps
%>
% for lib in libs:
% if lib.build in ("all", "protoc"):
${cc_library(lib)}
......@@ -80,13 +80,19 @@
% endfor
<%def name="cc_library(lib)">
<%
lib_hdrs = lib.get("headers", [])
hdrs = [h for h in lib_hdrs if not h.startswith('third_party/nanopb')]
srcs = [s for s in lib.src if not s.startswith('third_party/nanopb')]
uses_nanopb = len(lib_hdrs) != len(hdrs) or len(srcs) != len(lib.src)
%>
cc_library(
name = "${lib.name}",
srcs = [
% for hdr in lib.get("headers", []):
% for hdr in hdrs:
"${hdr}",
% endfor
% for src in lib.src:
% for src in srcs:
"${src}",
% endfor
],
......@@ -103,6 +109,9 @@
% for dep in get_deps(lib):
"${dep}",
% endfor
% if uses_nanopb:
"//external:nanopb",
% endif
],
% if lib.name in ("grpc", "grpc_unsecure"):
copts = [
......@@ -113,10 +122,16 @@
</%def>
<%def name="objc_library(lib)">
<%
lib_hdrs = lib.get("headers", [])
hdrs = [h for h in lib_hdrs if not h.startswith('third_party/nanopb')]
srcs = [s for s in lib.src if not s.startswith('third_party/nanopb')]
uses_nanopb = len(lib_hdrs) != len(hdrs) or len(srcs) != len(lib.src)
%>
objc_library(
name = "${lib.name}_objc",
srcs = [
% for src in lib.src:
% for src in srcs:
"${src}",
% endfor
],
......@@ -124,7 +139,7 @@
% for hdr in lib.get("public_headers", []):
"${hdr}",
% endfor
% for hdr in lib.get("headers", []):
% for hdr in hdrs:
"${hdr}",
% endfor
],
......@@ -138,6 +153,9 @@
% endfor
% if lib.get('secure', False):
"//external:libssl_objc",
% endif
% if uses_nanopb:
"//external:nanopb",
% endif
],
% if lib.get("baselib", false):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment