# Copyright (c) 2009-2021, Google LLC
# All rights reserved.
#
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

# begin:google_only
# load(
#     "//protos/bazel:upb_cc_proto_library.bzl",
#     "upb_cc_proto_library_copts",
# )
# load(
#     "//upb/bazel:build_defs.bzl",
#     "UPB_DEFAULT_CPPOPTS",
# )
#
# package(default_applicable_licenses = ["//upb:license"])
#
# licenses(["notice"])
#
# cc_library(
#     name = "repeated_field",
#     hdrs = [
#         "repeated_field.h",
#         "repeated_field_iterator.h",
#     ],
#     copts = UPB_DEFAULT_CPPOPTS,
#     visibility = ["//visibility:public"],
#     deps = [
#         "//hpb:repeated_field",
#     ],
# )
#
# cc_library(
#     name = "protos",
#     hdrs = [
#         "protos.h",
#     ],
#     copts = UPB_DEFAULT_CPPOPTS,
#     visibility = ["//visibility:public"],
#     deps = [
#         "//hpb",
#     ],
# )
#
# # Internally used type traits.
# cc_library(
#     name = "protos_traits",
#     hdrs = [
#         "protos_traits.h",
#     ],
#     copts = UPB_DEFAULT_CPPOPTS,
#     visibility = ["//visibility:private"],
#     deps = [
#         "//hpb:traits",
#     ],
# )
#
# cc_library(
#     name = "protos_internal",
#     hdrs = ["protos_internal.h"],
#     copts = UPB_DEFAULT_CPPOPTS,
#     visibility = ["//visibility:public"],
#     deps = [
#         "//hpb:internal",
#     ],
# )
#
# cc_library(
#     name = "protos_extension_lock",
#     hdrs = ["protos_extension_lock.h"],
#     copts = UPB_DEFAULT_CPPOPTS,
#     visibility = ["//visibility:public"],
#     deps = [
#         "//hpb:extension_lock",
#     ],
# )
#
# # Common support code for C++ generated code.
# cc_library(
#     name = "generated_protos_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me",
#     hdrs = [
#         "protos_internal.h",
#     ],
#     copts = UPB_DEFAULT_CPPOPTS,
#     visibility = ["//visibility:public"],
#     deps = [
#         "//hpb:generated_protos_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me",
#     ],
# )
#
# upb_cc_proto_library_copts(
#     name = "upb_cc_proto_library_copts__for_generated_code_only_do_not_use",
#     copts = UPB_DEFAULT_CPPOPTS,
#     visibility = ["//visibility:public"],
# )
#
# end:google_only
