commit
87edf7b558
69 changed files with 448 additions and 264 deletions
@ -1,4 +1,5 @@ |
||||
# These are fetched as external repositories. |
||||
third_party/abseil-cpp |
||||
third_party/benchmark |
||||
third_party/googletest |
||||
_build/ |
||||
|
@ -0,0 +1,117 @@ |
||||
load("@rules_pkg//:pkg.bzl", "pkg_zip") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_attributes", "pkg_files") |
||||
load("//:protobuf_release.bzl", "package_naming") |
||||
load(":cc_dist_library.bzl", "cc_dist_library") |
||||
|
||||
pkg_files( |
||||
name = "wkt_protos_files", |
||||
srcs = [ |
||||
"//:any_proto", |
||||
"//:api_proto", |
||||
"//:duration_proto", |
||||
"//:empty_proto", |
||||
"//:field_mask_proto", |
||||
"//:source_context_proto", |
||||
"//:struct_proto", |
||||
"//:timestamp_proto", |
||||
"//:type_proto", |
||||
"//:wrappers_proto", |
||||
], |
||||
prefix = "include/google/protobuf", |
||||
visibility = ["//visibility:private"], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "descriptor_protos_files", |
||||
srcs = [ |
||||
"//:descriptor_proto", |
||||
], |
||||
prefix = "include/google/protobuf", |
||||
visibility = ["//visibility:private"], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "compiler_plugin_protos_files", |
||||
srcs = ["//:compiler_plugin_proto"], |
||||
prefix = "include/google/protobuf/compiler", |
||||
visibility = ["//visibility:private"], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Generates protoc release artifacts. |
||||
################################################################################ |
||||
|
||||
genrule( |
||||
name = "protoc_readme", |
||||
outs = ["readme.txt"], |
||||
cmd = """ |
||||
echo "Protocol Buffers - Google's data interchange format |
||||
Copyright 2008 Google Inc. |
||||
https://developers.google.com/protocol-buffers/ |
||||
This package contains a precompiled binary version of the protocol buffer |
||||
compiler (protoc). This binary is intended for users who want to use Protocol |
||||
Buffers in languages other than C++ but do not want to compile protoc |
||||
themselves. To install, simply place this binary somewhere in your PATH. |
||||
If you intend to use the included well known types then don't forget to |
||||
copy the contents of the 'include' directory somewhere as well, for example |
||||
into '/usr/local/include/'. |
||||
Please refer to our official github site for more installation instructions: |
||||
https://github.com/protocolbuffers/protobuf" > $@ |
||||
""", |
||||
visibility = ["//visibility:private"], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "protoc_files", |
||||
srcs = ["//:protoc"], |
||||
attributes = pkg_attributes(mode = "0555"), |
||||
prefix = "bin/", |
||||
visibility = ["//visibility:private"], |
||||
) |
||||
|
||||
package_naming( |
||||
name = "protoc_pkg_naming", |
||||
) |
||||
|
||||
pkg_zip( |
||||
name = "protoc_release", |
||||
srcs = [ |
||||
":compiler_plugin_protos_files", |
||||
":descriptor_protos_files", |
||||
":protoc_files", |
||||
":protoc_readme", |
||||
":wkt_protos_files", |
||||
], |
||||
package_file_name = "protoc-{version}-{platform}.zip", |
||||
package_variables = ":protoc_pkg_naming", |
||||
) |
||||
|
||||
################################################################################ |
||||
# Protobuf runtime libraries. |
||||
################################################################################ |
||||
|
||||
cc_dist_library( |
||||
name = "protobuf_lite", |
||||
linkopts = select({ |
||||
"//:msvc": [], |
||||
"//conditions:default": ["-lpthread"], |
||||
}), |
||||
deps = [ |
||||
"//:protobuf_lite", |
||||
], |
||||
) |
||||
|
||||
cc_dist_library( |
||||
name = "protobuf", |
||||
linkopts = select({ |
||||
"//:msvc": [], |
||||
"//conditions:default": [ |
||||
"-lz", |
||||
"-lpthread", |
||||
], |
||||
}), |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//:protobuf_lite", |
||||
], |
||||
) |
@ -0,0 +1 @@ |
||||
Subproject commit 8c6e53ef3adb1227fffa442c50349dab134a54bc |
Loading…
Reference in new issue