xref: /aosp_15_r20/external/protobuf/build_defs/BUILD.bazel (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1*1b3f573fSAndroid Build Coastguard Worker# Internal Starlark definitions for Protobuf.
2*1b3f573fSAndroid Build Coastguard Worker
3*1b3f573fSAndroid Build Coastguard Workerload("@rules_cc//cc:defs.bzl", starlark_cc_proto_library = "cc_proto_library")
4*1b3f573fSAndroid Build Coastguard Workerload("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
5*1b3f573fSAndroid Build Coastguard Workerload(":cc_proto_blacklist_test.bzl", "cc_proto_blacklist_test")
6*1b3f573fSAndroid Build Coastguard Workerload(":compiler_config_setting.bzl", "create_compiler_config_setting")
7*1b3f573fSAndroid Build Coastguard Worker
8*1b3f573fSAndroid Build Coastguard Workerpackage(
9*1b3f573fSAndroid Build Coastguard Worker    default_visibility = [
10*1b3f573fSAndroid Build Coastguard Worker        # Public, but Protobuf only visibility.
11*1b3f573fSAndroid Build Coastguard Worker        "//:__subpackages__",
12*1b3f573fSAndroid Build Coastguard Worker    ],
13*1b3f573fSAndroid Build Coastguard Worker)
14*1b3f573fSAndroid Build Coastguard Worker
15*1b3f573fSAndroid Build Coastguard Workercreate_compiler_config_setting(
16*1b3f573fSAndroid Build Coastguard Worker    name = "config_msvc",
17*1b3f573fSAndroid Build Coastguard Worker    value = "msvc-cl",
18*1b3f573fSAndroid Build Coastguard Worker)
19*1b3f573fSAndroid Build Coastguard Worker
20*1b3f573fSAndroid Build Coastguard Worker# Android NDK builds can specify different crosstool_top flags to choose which
21*1b3f573fSAndroid Build Coastguard Worker# STL they use for C++. We need these multiple variants to catch all of those
22*1b3f573fSAndroid Build Coastguard Worker# versions of crosstool_top and reliably detect Android.
23*1b3f573fSAndroid Build Coastguard Worker#
24*1b3f573fSAndroid Build Coastguard Worker# For more info on the various crosstool_tops used by NDK Bazel builds, see:
25*1b3f573fSAndroid Build Coastguard Worker# https://docs.bazel.build/versions/master/android-ndk.html#configuring-the-stl
26*1b3f573fSAndroid Build Coastguard Worker
27*1b3f573fSAndroid Build Coastguard Workerconfig_setting(
28*1b3f573fSAndroid Build Coastguard Worker    name = "config_android",
29*1b3f573fSAndroid Build Coastguard Worker    values = {
30*1b3f573fSAndroid Build Coastguard Worker        "crosstool_top": "//external:android/crosstool",
31*1b3f573fSAndroid Build Coastguard Worker    },
32*1b3f573fSAndroid Build Coastguard Worker)
33*1b3f573fSAndroid Build Coastguard Worker
34*1b3f573fSAndroid Build Coastguard Workerconfig_setting(
35*1b3f573fSAndroid Build Coastguard Worker    name = "config_android-stlport",
36*1b3f573fSAndroid Build Coastguard Worker    values = {
37*1b3f573fSAndroid Build Coastguard Worker        "crosstool_top": "@androidndk//:toolchain-stlport",
38*1b3f573fSAndroid Build Coastguard Worker    },
39*1b3f573fSAndroid Build Coastguard Worker)
40*1b3f573fSAndroid Build Coastguard Worker
41*1b3f573fSAndroid Build Coastguard Workerconfig_setting(
42*1b3f573fSAndroid Build Coastguard Worker    name = "config_android-libcpp",
43*1b3f573fSAndroid Build Coastguard Worker    values = {
44*1b3f573fSAndroid Build Coastguard Worker        "crosstool_top": "@androidndk//:toolchain-libcpp",
45*1b3f573fSAndroid Build Coastguard Worker    },
46*1b3f573fSAndroid Build Coastguard Worker)
47*1b3f573fSAndroid Build Coastguard Worker
48*1b3f573fSAndroid Build Coastguard Workerconfig_setting(
49*1b3f573fSAndroid Build Coastguard Worker    name = "config_android-gnu-libstdcpp",
50*1b3f573fSAndroid Build Coastguard Worker    values = {
51*1b3f573fSAndroid Build Coastguard Worker        "crosstool_top": "@androidndk//:toolchain-gnu-libstdcpp",
52*1b3f573fSAndroid Build Coastguard Worker    },
53*1b3f573fSAndroid Build Coastguard Worker)
54*1b3f573fSAndroid Build Coastguard Worker
55*1b3f573fSAndroid Build Coastguard Workerconfig_setting(
56*1b3f573fSAndroid Build Coastguard Worker    name = "config_android-default",
57*1b3f573fSAndroid Build Coastguard Worker    values = {
58*1b3f573fSAndroid Build Coastguard Worker        "crosstool_top": "@androidndk//:default_crosstool",
59*1b3f573fSAndroid Build Coastguard Worker    },
60*1b3f573fSAndroid Build Coastguard Worker)
61*1b3f573fSAndroid Build Coastguard Worker
62*1b3f573fSAndroid Build Coastguard Workerconfig_setting(
63*1b3f573fSAndroid Build Coastguard Worker    name = "config_win32",
64*1b3f573fSAndroid Build Coastguard Worker    values = {
65*1b3f573fSAndroid Build Coastguard Worker        "cpu": "win32",
66*1b3f573fSAndroid Build Coastguard Worker    },
67*1b3f573fSAndroid Build Coastguard Worker)
68*1b3f573fSAndroid Build Coastguard Worker
69*1b3f573fSAndroid Build Coastguard Workerconfig_setting(
70*1b3f573fSAndroid Build Coastguard Worker    name = "config_win64",
71*1b3f573fSAndroid Build Coastguard Worker    values = {
72*1b3f573fSAndroid Build Coastguard Worker        "cpu": "win64",
73*1b3f573fSAndroid Build Coastguard Worker    },
74*1b3f573fSAndroid Build Coastguard Worker)
75*1b3f573fSAndroid Build Coastguard Worker
76*1b3f573fSAndroid Build Coastguard Worker# Internal testing:
77*1b3f573fSAndroid Build Coastguard Worker
78*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
79*1b3f573fSAndroid Build Coastguard Worker    name = "any_cc_proto",
80*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
81*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:any_proto"],
82*1b3f573fSAndroid Build Coastguard Worker)
83*1b3f573fSAndroid Build Coastguard Worker
84*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
85*1b3f573fSAndroid Build Coastguard Worker    name = "api_cc_proto",
86*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
87*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:api_proto"],
88*1b3f573fSAndroid Build Coastguard Worker)
89*1b3f573fSAndroid Build Coastguard Worker
90*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
91*1b3f573fSAndroid Build Coastguard Worker    name = "compiler_plugin_cc_proto",
92*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
93*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:compiler_plugin_proto"],
94*1b3f573fSAndroid Build Coastguard Worker)
95*1b3f573fSAndroid Build Coastguard Worker
96*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
97*1b3f573fSAndroid Build Coastguard Worker    name = "descriptor_cc_proto",
98*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
99*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:descriptor_proto"],
100*1b3f573fSAndroid Build Coastguard Worker)
101*1b3f573fSAndroid Build Coastguard Worker
102*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
103*1b3f573fSAndroid Build Coastguard Worker    name = "duration_cc_proto",
104*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
105*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:duration_proto"],
106*1b3f573fSAndroid Build Coastguard Worker)
107*1b3f573fSAndroid Build Coastguard Worker
108*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
109*1b3f573fSAndroid Build Coastguard Worker    name = "empty_cc_proto",
110*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
111*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:empty_proto"],
112*1b3f573fSAndroid Build Coastguard Worker)
113*1b3f573fSAndroid Build Coastguard Worker
114*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
115*1b3f573fSAndroid Build Coastguard Worker    name = "field_mask_cc_proto",
116*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
117*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:field_mask_proto"],
118*1b3f573fSAndroid Build Coastguard Worker)
119*1b3f573fSAndroid Build Coastguard Worker
120*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
121*1b3f573fSAndroid Build Coastguard Worker    name = "source_context_cc_proto",
122*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
123*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:source_context_proto"],
124*1b3f573fSAndroid Build Coastguard Worker)
125*1b3f573fSAndroid Build Coastguard Worker
126*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
127*1b3f573fSAndroid Build Coastguard Worker    name = "struct_cc_proto",
128*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
129*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:struct_proto"],
130*1b3f573fSAndroid Build Coastguard Worker)
131*1b3f573fSAndroid Build Coastguard Worker
132*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
133*1b3f573fSAndroid Build Coastguard Worker    name = "timestamp_cc_proto",
134*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
135*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:timestamp_proto"],
136*1b3f573fSAndroid Build Coastguard Worker)
137*1b3f573fSAndroid Build Coastguard Worker
138*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
139*1b3f573fSAndroid Build Coastguard Worker    name = "type_cc_proto",
140*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
141*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:type_proto"],
142*1b3f573fSAndroid Build Coastguard Worker)
143*1b3f573fSAndroid Build Coastguard Worker
144*1b3f573fSAndroid Build Coastguard Workerstarlark_cc_proto_library(
145*1b3f573fSAndroid Build Coastguard Worker    name = "wrappers_cc_proto",
146*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
147*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:wrappers_proto"],
148*1b3f573fSAndroid Build Coastguard Worker)
149*1b3f573fSAndroid Build Coastguard Worker
150*1b3f573fSAndroid Build Coastguard Workercc_proto_blacklist_test(
151*1b3f573fSAndroid Build Coastguard Worker    name = "cc_proto_blacklist_test",
152*1b3f573fSAndroid Build Coastguard Worker    deps = [
153*1b3f573fSAndroid Build Coastguard Worker        ":any_cc_proto",
154*1b3f573fSAndroid Build Coastguard Worker        ":api_cc_proto",
155*1b3f573fSAndroid Build Coastguard Worker        ":compiler_plugin_cc_proto",
156*1b3f573fSAndroid Build Coastguard Worker        ":descriptor_cc_proto",
157*1b3f573fSAndroid Build Coastguard Worker        ":duration_cc_proto",
158*1b3f573fSAndroid Build Coastguard Worker        ":empty_cc_proto",
159*1b3f573fSAndroid Build Coastguard Worker        ":field_mask_cc_proto",
160*1b3f573fSAndroid Build Coastguard Worker        ":source_context_cc_proto",
161*1b3f573fSAndroid Build Coastguard Worker        ":struct_cc_proto",
162*1b3f573fSAndroid Build Coastguard Worker        ":timestamp_cc_proto",
163*1b3f573fSAndroid Build Coastguard Worker        ":type_cc_proto",
164*1b3f573fSAndroid Build Coastguard Worker        ":wrappers_cc_proto",
165*1b3f573fSAndroid Build Coastguard Worker    ],
166*1b3f573fSAndroid Build Coastguard Worker)
167*1b3f573fSAndroid Build Coastguard Worker
168*1b3f573fSAndroid Build Coastguard Workerpkg_files(
169*1b3f573fSAndroid Build Coastguard Worker    name = "dist_files",
170*1b3f573fSAndroid Build Coastguard Worker    srcs = glob(["*"]),
171*1b3f573fSAndroid Build Coastguard Worker    strip_prefix = strip_prefix.from_root(""),
172*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//pkg:__pkg__"],
173*1b3f573fSAndroid Build Coastguard Worker)
174