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

Side by Side 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, 7 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 unified diff | 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 »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 %YAML 1.2
2 --- |
3 # GRPC Bazel BUILD file.
4 # This currently builds C, C++ and Objective-C code.
5 # This file has been automatically generated from a template file.
6 # Please look at the templates directory instead.
7 # This file can be regenerated from the template by running
8 # tools/buildgen/generate_projects.sh
9
10 # Copyright 2015, Google Inc.
11 # All rights reserved.
12 #
13 # Redistribution and use in source and binary forms, with or without
14 # modification, are permitted provided that the following conditions are
15 # met:
16 #
17 # * Redistributions of source code must retain the above copyright
18 # notice, this list of conditions and the following disclaimer.
19 # * Redistributions in binary form must reproduce the above
20 # copyright notice, this list of conditions and the following disclaimer
21 # in the documentation and/or other materials provided with the
22 # distribution.
23 # * Neither the name of Google Inc. nor the names of its
24 # contributors may be used to endorse or promote products derived from
25 # this software without specific prior written permission.
26 #
27 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
37 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38
39 licenses(["notice"]) # 3-clause BSD
40
41 package(default_visibility = ["//visibility:public"])
42
43 <%!
44 def get_deps(target_dict):
45 deps = []
46 if target_dict.get('secure', False):
47 deps = [
48 "//external:libssl",
49 ]
50 if target_dict.get('build', None) == 'protoc':
51 deps.append("//external:protobuf_compiler")
52 if target_dict['name'] == 'grpc++_unsecure' or target_dict['name'] == 'grpc+ +':
53 deps.append("//external:protobuf_clib")
54 elif target_dict['name'] == 'grpc':
55 deps.append("//external:zlib")
56 for d in target_dict.get('deps', []):
57 if d.find('//') == 0 or d[0] == ':':
58 deps.append(d)
59 else:
60 deps.append(':%s' % (d))
61 return deps
62 %>
63
64 % for lib in libs:
65 % if lib.build in ("all", "protoc"):
66 ${cc_library(lib)}
67 % endif
68 % endfor
69
70 % for lib in libs:
71 % if lib.name in ("grpc", "gpr"):
72 ${objc_library(lib)}
73 % endif
74 % endfor
75
76 % for tgt in targets:
77 % if tgt.build == 'protoc':
78 ${cc_binary(tgt)}
79 % endif
80 % endfor
81
82 <%def name="cc_library(lib)">
83 cc_library(
84 name = "${lib.name}",
85 srcs = [
86 % for hdr in lib.get("headers", []):
87 "${hdr}",
88 % endfor
89 % for src in lib.src:
90 "${src}",
91 % endfor
92 ],
93 hdrs = [
94 % for hdr in lib.get("public_headers", []):
95 "${hdr}",
96 % endfor
97 ],
98 includes = [
99 "include",
100 ".",
101 ],
102 deps = [
103 % for dep in get_deps(lib):
104 "${dep}",
105 % endfor
106 ],
107 % if lib.name in ("grpc", "grpc_unsecure"):
108 copts = [
109 "-std=gnu99",
110 ],
111 % endif
112 )
113 </%def>
114
115 <%def name="objc_library(lib)">
116 objc_library(
117 name = "${lib.name}_objc",
118 srcs = [
119 % for src in lib.src:
120 "${src}",
121 % endfor
122 ],
123 hdrs = [
124 % for hdr in lib.get("public_headers", []):
125 "${hdr}",
126 % endfor
127 % for hdr in lib.get("headers", []):
128 "${hdr}",
129 % endfor
130 ],
131 includes = [
132 "include",
133 ".",
134 ],
135 deps = [
136 % for dep in lib.get("deps", []):
137 ":${dep}_objc",
138 % endfor
139 % if lib.get('secure', False):
140 "//external:libssl_objc",
141 % endif
142 ],
143 % if lib.get("baselib", false):
144 sdk_dylibs = ["libz"],
145 % endif
146 )
147 </%def>
148
149 <%def name="cc_binary(tgt)">
150 cc_binary(
151 name = "${tgt.name}",
152 srcs = [
153 % for src in tgt.src:
154 "${src}",
155 % endfor
156 ],
157 deps = [
158 % for dep in get_deps(tgt):
159 "${dep}",
160 % endfor
161 ],
162 )
163 </%def>
164
165 objc_path = "src/objective-c"
166
167 rx_library_path = objc_path + "/RxLibrary"
168
169 objc_library(
170 name = "rx_library",
171 hdrs = glob([
172 rx_library_path + "/*.h",
173 rx_library_path + "/transformations/*.h",
174 ]),
175 srcs = glob([
176 rx_library_path + "/*.m",
177 rx_library_path + "/transformations/*.m",
178 ]),
179 includes = [objc_path],
180 deps = [
181 ":rx_library_private",
182 ],
183 )
184
185 objc_library(
186 name = "rx_library_private",
187 hdrs = glob([rx_library_path + "/private/*.h"]),
188 srcs = glob([rx_library_path + "/private/*.m"]),
189 visibility = ["//visibility:private"],
190 )
191
192 objc_client_path = objc_path + "/GRPCClient"
193
194 objc_library(
195 name = "grpc_client",
196 hdrs = glob([
197 objc_client_path + "/*.h",
198 objc_client_path + "/private/*.h",
199 ]),
200 srcs = glob([
201 objc_client_path + "/*.m",
202 objc_client_path + "/private/*.m",
203 ]),
204 includes = [objc_path],
205 bundles = [":gRPCCertificates"],
206 deps = [
207 ":grpc_objc",
208 ":rx_library",
209 ],
210 )
211
212 objc_bundle_library(
213 # The choice of name is signicant here, since it determines the bundle nam e.
214 name = "gRPCCertificates",
215 resources = ["etc/roots.pem"],
216 )
217
218 proto_objc_rpc_path = objc_path + "/ProtoRPC"
219
220 objc_library(
221 name = "proto_objc_rpc",
222 hdrs = glob([
223 proto_objc_rpc_path + "/*.h",
224 ]),
225 srcs = glob([
226 proto_objc_rpc_path + "/*.m",
227 ]),
228 includes = [objc_path],
229 deps = [
230 ":grpc_client",
231 ":rx_library",
232 "//external:protobuf_objc",
233 ],
234 )
OLDNEW
« 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