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