xref: /aosp_15_r20/external/protobuf/pkg/BUILD.bazel (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1*1b3f573fSAndroid Build Coastguard Workerload("@rules_pkg//:pkg.bzl", "pkg_tar", "pkg_zip")
2*1b3f573fSAndroid Build Coastguard Workerload(
3*1b3f573fSAndroid Build Coastguard Worker    "@rules_pkg//:mappings.bzl",
4*1b3f573fSAndroid Build Coastguard Worker    "pkg_attributes",
5*1b3f573fSAndroid Build Coastguard Worker    "pkg_filegroup",
6*1b3f573fSAndroid Build Coastguard Worker    "pkg_files",
7*1b3f573fSAndroid Build Coastguard Worker    "strip_prefix",
8*1b3f573fSAndroid Build Coastguard Worker)
9*1b3f573fSAndroid Build Coastguard Workerload("//:protobuf_release.bzl", "package_naming")
10*1b3f573fSAndroid Build Coastguard Workerload(":build_systems.bzl", "gen_automake_file_lists", "gen_file_lists")
11*1b3f573fSAndroid Build Coastguard Workerload(":cc_dist_library.bzl", "cc_dist_library")
12*1b3f573fSAndroid Build Coastguard Worker
13*1b3f573fSAndroid Build Coastguard Workerpackage_naming(
14*1b3f573fSAndroid Build Coastguard Worker    name = "protobuf_pkg_naming",
15*1b3f573fSAndroid Build Coastguard Worker)
16*1b3f573fSAndroid Build Coastguard Worker
17*1b3f573fSAndroid Build Coastguard Workerpkg_files(
18*1b3f573fSAndroid Build Coastguard Worker    name = "wkt_protos_files",
19*1b3f573fSAndroid Build Coastguard Worker    srcs = [
20*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/any.proto",
21*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/api.proto",
22*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/descriptor.proto",
23*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/duration.proto",
24*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/empty.proto",
25*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/field_mask.proto",
26*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/source_context.proto",
27*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/struct.proto",
28*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/timestamp.proto",
29*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/type.proto",
30*1b3f573fSAndroid Build Coastguard Worker        "//:src/google/protobuf/wrappers.proto",
31*1b3f573fSAndroid Build Coastguard Worker    ],
32*1b3f573fSAndroid Build Coastguard Worker    prefix = "include/google/protobuf",
33*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
34*1b3f573fSAndroid Build Coastguard Worker)
35*1b3f573fSAndroid Build Coastguard Worker
36*1b3f573fSAndroid Build Coastguard Workerpkg_files(
37*1b3f573fSAndroid Build Coastguard Worker    name = "compiler_plugin_protos_files",
38*1b3f573fSAndroid Build Coastguard Worker    srcs = ["//:src/google/protobuf/compiler/plugin.proto"],
39*1b3f573fSAndroid Build Coastguard Worker    prefix = "include/google/protobuf/compiler",
40*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
41*1b3f573fSAndroid Build Coastguard Worker)
42*1b3f573fSAndroid Build Coastguard Worker
43*1b3f573fSAndroid Build Coastguard Worker################################################################################
44*1b3f573fSAndroid Build Coastguard Worker# Generates protoc release artifacts.
45*1b3f573fSAndroid Build Coastguard Worker################################################################################
46*1b3f573fSAndroid Build Coastguard Worker
47*1b3f573fSAndroid Build Coastguard Workergenrule(
48*1b3f573fSAndroid Build Coastguard Worker    name = "protoc_readme",
49*1b3f573fSAndroid Build Coastguard Worker    outs = ["readme.txt"],
50*1b3f573fSAndroid Build Coastguard Worker    cmd = """
51*1b3f573fSAndroid Build Coastguard Workerecho "Protocol Buffers - Google's data interchange format
52*1b3f573fSAndroid Build Coastguard WorkerCopyright 2008 Google Inc.
53*1b3f573fSAndroid Build Coastguard Workerhttps://developers.google.com/protocol-buffers/
54*1b3f573fSAndroid Build Coastguard WorkerThis package contains a precompiled binary version of the protocol buffer
55*1b3f573fSAndroid Build Coastguard Workercompiler (protoc). This binary is intended for users who want to use Protocol
56*1b3f573fSAndroid Build Coastguard WorkerBuffers in languages other than C++ but do not want to compile protoc
57*1b3f573fSAndroid Build Coastguard Workerthemselves. To install, simply place this binary somewhere in your PATH.
58*1b3f573fSAndroid Build Coastguard WorkerIf you intend to use the included well known types then don't forget to
59*1b3f573fSAndroid Build Coastguard Workercopy the contents of the 'include' directory somewhere as well, for example
60*1b3f573fSAndroid Build Coastguard Workerinto '/usr/local/include/'.
61*1b3f573fSAndroid Build Coastguard WorkerPlease refer to our official github site for more installation instructions:
62*1b3f573fSAndroid Build Coastguard Worker  https://github.com/protocolbuffers/protobuf" > $@
63*1b3f573fSAndroid Build Coastguard Worker    """,
64*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
65*1b3f573fSAndroid Build Coastguard Worker)
66*1b3f573fSAndroid Build Coastguard Worker
67*1b3f573fSAndroid Build Coastguard Workerpkg_files(
68*1b3f573fSAndroid Build Coastguard Worker    name = "protoc_files",
69*1b3f573fSAndroid Build Coastguard Worker    srcs = ["//:protoc"],
70*1b3f573fSAndroid Build Coastguard Worker    attributes = pkg_attributes(mode = "0555"),
71*1b3f573fSAndroid Build Coastguard Worker    prefix = "bin/",
72*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
73*1b3f573fSAndroid Build Coastguard Worker)
74*1b3f573fSAndroid Build Coastguard Worker
75*1b3f573fSAndroid Build Coastguard Workerpkg_zip(
76*1b3f573fSAndroid Build Coastguard Worker    name = "protoc_release",
77*1b3f573fSAndroid Build Coastguard Worker    srcs = [
78*1b3f573fSAndroid Build Coastguard Worker        ":compiler_plugin_protos_files",
79*1b3f573fSAndroid Build Coastguard Worker        ":protoc_files",
80*1b3f573fSAndroid Build Coastguard Worker        ":protoc_readme",
81*1b3f573fSAndroid Build Coastguard Worker        ":wkt_protos_files",
82*1b3f573fSAndroid Build Coastguard Worker    ],
83*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protoc-{version}-{platform}.zip",
84*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
85*1b3f573fSAndroid Build Coastguard Worker)
86*1b3f573fSAndroid Build Coastguard Worker
87*1b3f573fSAndroid Build Coastguard Worker################################################################################
88*1b3f573fSAndroid Build Coastguard Worker# Source distribution packaging
89*1b3f573fSAndroid Build Coastguard Worker#
90*1b3f573fSAndroid Build Coastguard Worker# TODO: these will eventually replace autotools for release artifact packaging.
91*1b3f573fSAndroid Build Coastguard Worker################################################################################
92*1b3f573fSAndroid Build Coastguard Worker
93*1b3f573fSAndroid Build Coastguard Workerpkg_filegroup(
94*1b3f573fSAndroid Build Coastguard Worker    name = "dist_common",
95*1b3f573fSAndroid Build Coastguard Worker    srcs = [
96*1b3f573fSAndroid Build Coastguard Worker        ":dist_files",
97*1b3f573fSAndroid Build Coastguard Worker        "//:common_dist_files",
98*1b3f573fSAndroid Build Coastguard Worker        "//:cpp_dist_files",  # to build protoc
99*1b3f573fSAndroid Build Coastguard Worker        "//benchmarks:all_dist_files",
100*1b3f573fSAndroid Build Coastguard Worker        "//build_defs:dist_files",
101*1b3f573fSAndroid Build Coastguard Worker        "//conformance:all_dist_files",
102*1b3f573fSAndroid Build Coastguard Worker        "@com_google_protobuf_examples//:dist_files",
103*1b3f573fSAndroid Build Coastguard Worker    ],
104*1b3f573fSAndroid Build Coastguard Worker)
105*1b3f573fSAndroid Build Coastguard Worker
106*1b3f573fSAndroid Build Coastguard Workerpkg_filegroup(
107*1b3f573fSAndroid Build Coastguard Worker    name = "cpp_srcs",
108*1b3f573fSAndroid Build Coastguard Worker    srcs = [
109*1b3f573fSAndroid Build Coastguard Worker        ":dist_common",
110*1b3f573fSAndroid Build Coastguard Worker        "//:cpp_dist_files",
111*1b3f573fSAndroid Build Coastguard Worker    ],
112*1b3f573fSAndroid Build Coastguard Worker)
113*1b3f573fSAndroid Build Coastguard Worker
114*1b3f573fSAndroid Build Coastguard Workerpkg_tar(
115*1b3f573fSAndroid Build Coastguard Worker    name = "dist_cpp_tar",
116*1b3f573fSAndroid Build Coastguard Worker    srcs = [":cpp_srcs"],
117*1b3f573fSAndroid Build Coastguard Worker    extension = "tar.gz",
118*1b3f573fSAndroid Build Coastguard Worker    package_dir = "protobuf-{version}",
119*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-cpp-{version}.tar.gz",
120*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
121*1b3f573fSAndroid Build Coastguard Worker)
122*1b3f573fSAndroid Build Coastguard Worker
123*1b3f573fSAndroid Build Coastguard Workerpkg_zip(
124*1b3f573fSAndroid Build Coastguard Worker    name = "dist_cpp_zip",
125*1b3f573fSAndroid Build Coastguard Worker    srcs = [":cpp_srcs"],
126*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-cpp-{version}.zip",
127*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
128*1b3f573fSAndroid Build Coastguard Worker)
129*1b3f573fSAndroid Build Coastguard Worker
130*1b3f573fSAndroid Build Coastguard Workerpkg_filegroup(
131*1b3f573fSAndroid Build Coastguard Worker    name = "csharp_srcs",
132*1b3f573fSAndroid Build Coastguard Worker    srcs = [
133*1b3f573fSAndroid Build Coastguard Worker        ":dist_common",
134*1b3f573fSAndroid Build Coastguard Worker        "//:csharp_dist_files",
135*1b3f573fSAndroid Build Coastguard Worker        "//csharp:dist_files",
136*1b3f573fSAndroid Build Coastguard Worker    ],
137*1b3f573fSAndroid Build Coastguard Worker)
138*1b3f573fSAndroid Build Coastguard Worker
139*1b3f573fSAndroid Build Coastguard Workerpkg_tar(
140*1b3f573fSAndroid Build Coastguard Worker    name = "dist_csharp_tar",
141*1b3f573fSAndroid Build Coastguard Worker    srcs = [":csharp_srcs"],
142*1b3f573fSAndroid Build Coastguard Worker    extension = "tar.gz",
143*1b3f573fSAndroid Build Coastguard Worker    package_dir = "protobuf-{version}",
144*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-csharp-{version}.tar.gz",
145*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
146*1b3f573fSAndroid Build Coastguard Worker)
147*1b3f573fSAndroid Build Coastguard Worker
148*1b3f573fSAndroid Build Coastguard Workerpkg_zip(
149*1b3f573fSAndroid Build Coastguard Worker    name = "dist_csharp_zip",
150*1b3f573fSAndroid Build Coastguard Worker    srcs = [":csharp_srcs"],
151*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-csharp-{version}.zip",
152*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
153*1b3f573fSAndroid Build Coastguard Worker)
154*1b3f573fSAndroid Build Coastguard Worker
155*1b3f573fSAndroid Build Coastguard Workerpkg_filegroup(
156*1b3f573fSAndroid Build Coastguard Worker    name = "java_srcs",
157*1b3f573fSAndroid Build Coastguard Worker    srcs = [
158*1b3f573fSAndroid Build Coastguard Worker        ":dist_common",
159*1b3f573fSAndroid Build Coastguard Worker        "//java:all_dist_files",
160*1b3f573fSAndroid Build Coastguard Worker    ],
161*1b3f573fSAndroid Build Coastguard Worker)
162*1b3f573fSAndroid Build Coastguard Worker
163*1b3f573fSAndroid Build Coastguard Workerpkg_tar(
164*1b3f573fSAndroid Build Coastguard Worker    name = "dist_java_tar",
165*1b3f573fSAndroid Build Coastguard Worker    srcs = [":java_srcs"],
166*1b3f573fSAndroid Build Coastguard Worker    extension = "tar.gz",
167*1b3f573fSAndroid Build Coastguard Worker    package_dir = "protobuf-{version}",
168*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-java-{version}.tar.gz",
169*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
170*1b3f573fSAndroid Build Coastguard Worker)
171*1b3f573fSAndroid Build Coastguard Worker
172*1b3f573fSAndroid Build Coastguard Workerpkg_zip(
173*1b3f573fSAndroid Build Coastguard Worker    name = "dist_java_zip",
174*1b3f573fSAndroid Build Coastguard Worker    srcs = [":java_srcs"],
175*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-java-{version}.zip",
176*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
177*1b3f573fSAndroid Build Coastguard Worker)
178*1b3f573fSAndroid Build Coastguard Worker
179*1b3f573fSAndroid Build Coastguard Workerpkg_filegroup(
180*1b3f573fSAndroid Build Coastguard Worker    name = "objectivec_srcs",
181*1b3f573fSAndroid Build Coastguard Worker    srcs = [
182*1b3f573fSAndroid Build Coastguard Worker        ":dist_common",
183*1b3f573fSAndroid Build Coastguard Worker        "//:objectivec_dist_files",
184*1b3f573fSAndroid Build Coastguard Worker        "//objectivec:dist_files",
185*1b3f573fSAndroid Build Coastguard Worker    ],
186*1b3f573fSAndroid Build Coastguard Worker)
187*1b3f573fSAndroid Build Coastguard Worker
188*1b3f573fSAndroid Build Coastguard Workerpkg_tar(
189*1b3f573fSAndroid Build Coastguard Worker    name = "dist_objectivec_tar",
190*1b3f573fSAndroid Build Coastguard Worker    srcs = [":objectivec_srcs"],
191*1b3f573fSAndroid Build Coastguard Worker    extension = "tar.gz",
192*1b3f573fSAndroid Build Coastguard Worker    package_dir = "protobuf-{version}",
193*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-objectivec-{version}.tar.gz",
194*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
195*1b3f573fSAndroid Build Coastguard Worker)
196*1b3f573fSAndroid Build Coastguard Worker
197*1b3f573fSAndroid Build Coastguard Workerpkg_zip(
198*1b3f573fSAndroid Build Coastguard Worker    name = "dist_objectivec_zip",
199*1b3f573fSAndroid Build Coastguard Worker    srcs = [":objectivec_srcs"],
200*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-objectivec-{version}.zip",
201*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
202*1b3f573fSAndroid Build Coastguard Worker)
203*1b3f573fSAndroid Build Coastguard Worker
204*1b3f573fSAndroid Build Coastguard Workerpkg_filegroup(
205*1b3f573fSAndroid Build Coastguard Worker    name = "php_srcs",
206*1b3f573fSAndroid Build Coastguard Worker    srcs = [
207*1b3f573fSAndroid Build Coastguard Worker        ":dist_common",
208*1b3f573fSAndroid Build Coastguard Worker        "//php:dist_files",
209*1b3f573fSAndroid Build Coastguard Worker    ],
210*1b3f573fSAndroid Build Coastguard Worker)
211*1b3f573fSAndroid Build Coastguard Worker
212*1b3f573fSAndroid Build Coastguard Workerpkg_tar(
213*1b3f573fSAndroid Build Coastguard Worker    name = "dist_php_tar",
214*1b3f573fSAndroid Build Coastguard Worker    srcs = [":php_srcs"],
215*1b3f573fSAndroid Build Coastguard Worker    extension = "tar.gz",
216*1b3f573fSAndroid Build Coastguard Worker    package_dir = "protobuf-{version}",
217*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-php-{version}.tar.gz",
218*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
219*1b3f573fSAndroid Build Coastguard Worker)
220*1b3f573fSAndroid Build Coastguard Worker
221*1b3f573fSAndroid Build Coastguard Workerpkg_zip(
222*1b3f573fSAndroid Build Coastguard Worker    name = "dist_php_zip",
223*1b3f573fSAndroid Build Coastguard Worker    srcs = [":php_srcs"],
224*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-php-{version}.zip",
225*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
226*1b3f573fSAndroid Build Coastguard Worker)
227*1b3f573fSAndroid Build Coastguard Worker
228*1b3f573fSAndroid Build Coastguard Workerpkg_filegroup(
229*1b3f573fSAndroid Build Coastguard Worker    name = "python_srcs",
230*1b3f573fSAndroid Build Coastguard Worker    srcs = [
231*1b3f573fSAndroid Build Coastguard Worker        ":dist_common",
232*1b3f573fSAndroid Build Coastguard Worker        "//:python_dist_files",
233*1b3f573fSAndroid Build Coastguard Worker    ],
234*1b3f573fSAndroid Build Coastguard Worker)
235*1b3f573fSAndroid Build Coastguard Worker
236*1b3f573fSAndroid Build Coastguard Workerpkg_tar(
237*1b3f573fSAndroid Build Coastguard Worker    name = "dist_python_tar",
238*1b3f573fSAndroid Build Coastguard Worker    srcs = [":python_srcs"],
239*1b3f573fSAndroid Build Coastguard Worker    extension = "tar.gz",
240*1b3f573fSAndroid Build Coastguard Worker    package_dir = "protobuf-{version}",
241*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-python-{version}.tar.gz",
242*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
243*1b3f573fSAndroid Build Coastguard Worker)
244*1b3f573fSAndroid Build Coastguard Worker
245*1b3f573fSAndroid Build Coastguard Workerpkg_zip(
246*1b3f573fSAndroid Build Coastguard Worker    name = "dist_python_zip",
247*1b3f573fSAndroid Build Coastguard Worker    srcs = [":python_srcs"],
248*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-python-{version}.zip",
249*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
250*1b3f573fSAndroid Build Coastguard Worker)
251*1b3f573fSAndroid Build Coastguard Worker
252*1b3f573fSAndroid Build Coastguard Workerpkg_filegroup(
253*1b3f573fSAndroid Build Coastguard Worker    name = "ruby_srcs",
254*1b3f573fSAndroid Build Coastguard Worker    srcs = [
255*1b3f573fSAndroid Build Coastguard Worker        ":dist_common",
256*1b3f573fSAndroid Build Coastguard Worker        "//ruby:dist_files",
257*1b3f573fSAndroid Build Coastguard Worker    ],
258*1b3f573fSAndroid Build Coastguard Worker)
259*1b3f573fSAndroid Build Coastguard Worker
260*1b3f573fSAndroid Build Coastguard Workerpkg_tar(
261*1b3f573fSAndroid Build Coastguard Worker    name = "dist_ruby_tar",
262*1b3f573fSAndroid Build Coastguard Worker    srcs = [":ruby_srcs"],
263*1b3f573fSAndroid Build Coastguard Worker    extension = "tar.gz",
264*1b3f573fSAndroid Build Coastguard Worker    package_dir = "protobuf-{version}",
265*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-ruby-{version}.tar.gz",
266*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
267*1b3f573fSAndroid Build Coastguard Worker)
268*1b3f573fSAndroid Build Coastguard Worker
269*1b3f573fSAndroid Build Coastguard Workerpkg_zip(
270*1b3f573fSAndroid Build Coastguard Worker    name = "dist_ruby_zip",
271*1b3f573fSAndroid Build Coastguard Worker    srcs = [":ruby_srcs"],
272*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-ruby-{version}.zip",
273*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
274*1b3f573fSAndroid Build Coastguard Worker)
275*1b3f573fSAndroid Build Coastguard Worker
276*1b3f573fSAndroid Build Coastguard Workerpkg_filegroup(
277*1b3f573fSAndroid Build Coastguard Worker    name = "dist_all",
278*1b3f573fSAndroid Build Coastguard Worker    srcs = [
279*1b3f573fSAndroid Build Coastguard Worker        ":cpp_srcs",
280*1b3f573fSAndroid Build Coastguard Worker        ":csharp_srcs",
281*1b3f573fSAndroid Build Coastguard Worker        ":java_srcs",
282*1b3f573fSAndroid Build Coastguard Worker        ":objectivec_srcs",
283*1b3f573fSAndroid Build Coastguard Worker        ":php_srcs",
284*1b3f573fSAndroid Build Coastguard Worker        ":python_srcs",
285*1b3f573fSAndroid Build Coastguard Worker        ":ruby_srcs",
286*1b3f573fSAndroid Build Coastguard Worker    ],
287*1b3f573fSAndroid Build Coastguard Worker)
288*1b3f573fSAndroid Build Coastguard Worker
289*1b3f573fSAndroid Build Coastguard Workerpkg_tar(
290*1b3f573fSAndroid Build Coastguard Worker    name = "dist_all_tar",
291*1b3f573fSAndroid Build Coastguard Worker    srcs = [":dist_all"],
292*1b3f573fSAndroid Build Coastguard Worker    extension = "tar.gz",
293*1b3f573fSAndroid Build Coastguard Worker    package_dir = "protobuf-{version}",
294*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-all-{version}.tar.gz",
295*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
296*1b3f573fSAndroid Build Coastguard Worker)
297*1b3f573fSAndroid Build Coastguard Worker
298*1b3f573fSAndroid Build Coastguard Workerpkg_zip(
299*1b3f573fSAndroid Build Coastguard Worker    name = "dist_all_zip",
300*1b3f573fSAndroid Build Coastguard Worker    srcs = [":dist_all"],
301*1b3f573fSAndroid Build Coastguard Worker    package_file_name = "protobuf-all-{version}.zip",
302*1b3f573fSAndroid Build Coastguard Worker    package_variables = ":protobuf_pkg_naming",
303*1b3f573fSAndroid Build Coastguard Worker)
304*1b3f573fSAndroid Build Coastguard Worker
305*1b3f573fSAndroid Build Coastguard Worker################################################################################
306*1b3f573fSAndroid Build Coastguard Worker# Generated file lists for build systems
307*1b3f573fSAndroid Build Coastguard Worker################################################################################
308*1b3f573fSAndroid Build Coastguard Worker
309*1b3f573fSAndroid Build Coastguard Workergen_file_lists(
310*1b3f573fSAndroid Build Coastguard Worker    name = "gen_src_file_lists",
311*1b3f573fSAndroid Build Coastguard Worker    testonly = 1,
312*1b3f573fSAndroid Build Coastguard Worker    out_stem = "src_file_lists",
313*1b3f573fSAndroid Build Coastguard Worker    src_libs = {
314*1b3f573fSAndroid Build Coastguard Worker        # source rule: name in generated file
315*1b3f573fSAndroid Build Coastguard Worker        "//:protobuf": "libprotobuf",
316*1b3f573fSAndroid Build Coastguard Worker        "//:protoc_lib": "libprotoc",
317*1b3f573fSAndroid Build Coastguard Worker        "//:protobuf_lite": "libprotobuf_lite",
318*1b3f573fSAndroid Build Coastguard Worker    },
319*1b3f573fSAndroid Build Coastguard Worker)
320*1b3f573fSAndroid Build Coastguard Worker
321*1b3f573fSAndroid Build Coastguard Workergen_automake_file_lists(
322*1b3f573fSAndroid Build Coastguard Worker    name = "gen_automake_extra_dist_lists",
323*1b3f573fSAndroid Build Coastguard Worker    testonly = 1,
324*1b3f573fSAndroid Build Coastguard Worker    out = "extra_dist_file_lists.am",
325*1b3f573fSAndroid Build Coastguard Worker    src_libs = {
326*1b3f573fSAndroid Build Coastguard Worker        # source rule: name in generated file
327*1b3f573fSAndroid Build Coastguard Worker        "//:common_dist_files": "dist_common",
328*1b3f573fSAndroid Build Coastguard Worker        "//conformance:dist_files": "dist_conformance",
329*1b3f573fSAndroid Build Coastguard Worker        "//benchmarks:all_dist_files": "dist_benchmark",
330*1b3f573fSAndroid Build Coastguard Worker        "@com_google_protobuf_examples//:dist_files": "dist_example",
331*1b3f573fSAndroid Build Coastguard Worker        "//:csharp_dist_files": "dist_csharp",
332*1b3f573fSAndroid Build Coastguard Worker        "//csharp:dist_files": "dist_csharp2",
333*1b3f573fSAndroid Build Coastguard Worker        "//:objectivec_dist_files": "dist_objectivec",
334*1b3f573fSAndroid Build Coastguard Worker        "//objectivec:dist_files": "dist_objectivec2",
335*1b3f573fSAndroid Build Coastguard Worker        "//php:dist_files": "dist_php",
336*1b3f573fSAndroid Build Coastguard Worker        "//:python_dist_files": "dist_python",
337*1b3f573fSAndroid Build Coastguard Worker        "//ruby:dist_files": "dist_ruby",
338*1b3f573fSAndroid Build Coastguard Worker    },
339*1b3f573fSAndroid Build Coastguard Worker)
340*1b3f573fSAndroid Build Coastguard Worker
341*1b3f573fSAndroid Build Coastguard Worker################################################################################
342*1b3f573fSAndroid Build Coastguard Worker# Protobuf runtime libraries.
343*1b3f573fSAndroid Build Coastguard Worker################################################################################
344*1b3f573fSAndroid Build Coastguard Worker
345*1b3f573fSAndroid Build Coastguard Workercc_dist_library(
346*1b3f573fSAndroid Build Coastguard Worker    name = "protobuf_lite",
347*1b3f573fSAndroid Build Coastguard Worker    linkopts = select({
348*1b3f573fSAndroid Build Coastguard Worker        "//build_defs:config_msvc": [],
349*1b3f573fSAndroid Build Coastguard Worker        "//conditions:default": ["-lpthread"],
350*1b3f573fSAndroid Build Coastguard Worker    }),
351*1b3f573fSAndroid Build Coastguard Worker    deps = [
352*1b3f573fSAndroid Build Coastguard Worker        "//:protobuf_lite",
353*1b3f573fSAndroid Build Coastguard Worker    ],
354*1b3f573fSAndroid Build Coastguard Worker)
355*1b3f573fSAndroid Build Coastguard Worker
356*1b3f573fSAndroid Build Coastguard Workercc_dist_library(
357*1b3f573fSAndroid Build Coastguard Worker    name = "protobuf",
358*1b3f573fSAndroid Build Coastguard Worker    linkopts = select({
359*1b3f573fSAndroid Build Coastguard Worker        "//build_defs:config_msvc": [],
360*1b3f573fSAndroid Build Coastguard Worker        "//conditions:default": [
361*1b3f573fSAndroid Build Coastguard Worker            "-lz",
362*1b3f573fSAndroid Build Coastguard Worker            "-lpthread",
363*1b3f573fSAndroid Build Coastguard Worker        ],
364*1b3f573fSAndroid Build Coastguard Worker    }),
365*1b3f573fSAndroid Build Coastguard Worker    deps = [
366*1b3f573fSAndroid Build Coastguard Worker        "//:protobuf",
367*1b3f573fSAndroid Build Coastguard Worker        "//:protobuf_lite",
368*1b3f573fSAndroid Build Coastguard Worker    ],
369*1b3f573fSAndroid Build Coastguard Worker)
370*1b3f573fSAndroid Build Coastguard Worker
371*1b3f573fSAndroid Build Coastguard Worker################################################################################
372*1b3f573fSAndroid Build Coastguard Worker# Distribution sources
373*1b3f573fSAndroid Build Coastguard Worker################################################################################
374*1b3f573fSAndroid Build Coastguard Worker
375*1b3f573fSAndroid Build Coastguard Workerpkg_files(
376*1b3f573fSAndroid Build Coastguard Worker    name = "dist_files",
377*1b3f573fSAndroid Build Coastguard Worker    srcs = glob(["*"]),
378*1b3f573fSAndroid Build Coastguard Worker    strip_prefix = strip_prefix.from_root(""),
379*1b3f573fSAndroid Build Coastguard Worker)
380