Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Unified Diff: third_party/grpc/templates/BUILD.template

Issue 1932353002: Initial checkin of gRPC to third_party/ Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/grpc/summerofcode/ideas.md ('k') | third_party/grpc/templates/Makefile.template » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/grpc/templates/BUILD.template
diff --git a/third_party/grpc/templates/BUILD.template b/third_party/grpc/templates/BUILD.template
new file mode 100644
index 0000000000000000000000000000000000000000..54dc69712526d5367085bd0654c9dc052df41803
--- /dev/null
+++ b/third_party/grpc/templates/BUILD.template
@@ -0,0 +1,234 @@
+%YAML 1.2
+--- |
+ # GRPC Bazel BUILD file.
+ # This currently builds C, C++ and Objective-C code.
+ # This file has been automatically generated from a template file.
+ # Please look at the templates directory instead.
+ # This file can be regenerated from the template by running
+ # tools/buildgen/generate_projects.sh
+
+ # Copyright 2015, Google Inc.
+ # All rights reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions are
+ # met:
+ #
+ # * Redistributions of source code must retain the above copyright
+ # notice, this list of conditions and the following disclaimer.
+ # * Redistributions in binary form must reproduce the above
+ # copyright notice, this list of conditions and the following disclaimer
+ # in the documentation and/or other materials provided with the
+ # distribution.
+ # * Neither the name of Google Inc. nor the names of its
+ # contributors may be used to endorse or promote products derived from
+ # this software without specific prior written permission.
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ licenses(["notice"]) # 3-clause BSD
+
+ package(default_visibility = ["//visibility:public"])
+
+ <%!
+ def get_deps(target_dict):
+ deps = []
+ if target_dict.get('secure', False):
+ deps = [
+ "//external:libssl",
+ ]
+ if target_dict.get('build', None) == 'protoc':
+ deps.append("//external:protobuf_compiler")
+ if target_dict['name'] == 'grpc++_unsecure' or target_dict['name'] == 'grpc++':
+ deps.append("//external:protobuf_clib")
+ elif target_dict['name'] == 'grpc':
+ deps.append("//external:zlib")
+ for d in target_dict.get('deps', []):
+ if d.find('//') == 0 or d[0] == ':':
+ deps.append(d)
+ else:
+ deps.append(':%s' % (d))
+ return deps
+ %>
+
+ % for lib in libs:
+ % if lib.build in ("all", "protoc"):
+ ${cc_library(lib)}
+ % endif
+ % endfor
+
+ % for lib in libs:
+ % if lib.name in ("grpc", "gpr"):
+ ${objc_library(lib)}
+ % endif
+ % endfor
+
+ % for tgt in targets:
+ % if tgt.build == 'protoc':
+ ${cc_binary(tgt)}
+ % endif
+ % endfor
+
+ <%def name="cc_library(lib)">
+ cc_library(
+ name = "${lib.name}",
+ srcs = [
+ % for hdr in lib.get("headers", []):
+ "${hdr}",
+ % endfor
+ % for src in lib.src:
+ "${src}",
+ % endfor
+ ],
+ hdrs = [
+ % for hdr in lib.get("public_headers", []):
+ "${hdr}",
+ % endfor
+ ],
+ includes = [
+ "include",
+ ".",
+ ],
+ deps = [
+ % for dep in get_deps(lib):
+ "${dep}",
+ % endfor
+ ],
+ % if lib.name in ("grpc", "grpc_unsecure"):
+ copts = [
+ "-std=gnu99",
+ ],
+ % endif
+ )
+ </%def>
+
+ <%def name="objc_library(lib)">
+ objc_library(
+ name = "${lib.name}_objc",
+ srcs = [
+ % for src in lib.src:
+ "${src}",
+ % endfor
+ ],
+ hdrs = [
+ % for hdr in lib.get("public_headers", []):
+ "${hdr}",
+ % endfor
+ % for hdr in lib.get("headers", []):
+ "${hdr}",
+ % endfor
+ ],
+ includes = [
+ "include",
+ ".",
+ ],
+ deps = [
+ % for dep in lib.get("deps", []):
+ ":${dep}_objc",
+ % endfor
+ % if lib.get('secure', False):
+ "//external:libssl_objc",
+ % endif
+ ],
+ % if lib.get("baselib", false):
+ sdk_dylibs = ["libz"],
+ % endif
+ )
+ </%def>
+
+ <%def name="cc_binary(tgt)">
+ cc_binary(
+ name = "${tgt.name}",
+ srcs = [
+ % for src in tgt.src:
+ "${src}",
+ % endfor
+ ],
+ deps = [
+ % for dep in get_deps(tgt):
+ "${dep}",
+ % endfor
+ ],
+ )
+ </%def>
+
+ objc_path = "src/objective-c"
+
+ rx_library_path = objc_path + "/RxLibrary"
+
+ objc_library(
+ name = "rx_library",
+ hdrs = glob([
+ rx_library_path + "/*.h",
+ rx_library_path + "/transformations/*.h",
+ ]),
+ srcs = glob([
+ rx_library_path + "/*.m",
+ rx_library_path + "/transformations/*.m",
+ ]),
+ includes = [objc_path],
+ deps = [
+ ":rx_library_private",
+ ],
+ )
+
+ objc_library(
+ name = "rx_library_private",
+ hdrs = glob([rx_library_path + "/private/*.h"]),
+ srcs = glob([rx_library_path + "/private/*.m"]),
+ visibility = ["//visibility:private"],
+ )
+
+ objc_client_path = objc_path + "/GRPCClient"
+
+ objc_library(
+ name = "grpc_client",
+ hdrs = glob([
+ objc_client_path + "/*.h",
+ objc_client_path + "/private/*.h",
+ ]),
+ srcs = glob([
+ objc_client_path + "/*.m",
+ objc_client_path + "/private/*.m",
+ ]),
+ includes = [objc_path],
+ bundles = [":gRPCCertificates"],
+ deps = [
+ ":grpc_objc",
+ ":rx_library",
+ ],
+ )
+
+ objc_bundle_library(
+ # The choice of name is signicant here, since it determines the bundle name.
+ name = "gRPCCertificates",
+ resources = ["etc/roots.pem"],
+ )
+
+ proto_objc_rpc_path = objc_path + "/ProtoRPC"
+
+ objc_library(
+ name = "proto_objc_rpc",
+ hdrs = glob([
+ proto_objc_rpc_path + "/*.h",
+ ]),
+ srcs = glob([
+ proto_objc_rpc_path + "/*.m",
+ ]),
+ includes = [objc_path],
+ deps = [
+ ":grpc_client",
+ ":rx_library",
+ "//external:protobuf_objc",
+ ],
+ )
« no previous file with comments | « third_party/grpc/summerofcode/ideas.md ('k') | third_party/grpc/templates/Makefile.template » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698