# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

config("protobuf_config") {
  include_dirs = [ "src" ]
  defines = [
    "GOOGLE_PROTOBUF_NO_RTTI",
    "GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
  ]
  if (!is_win) {
    defines += [ "HAVE_PTHREAD" ]
  }
}

config("protobuf_warnings") {
  cflags = []
  if (is_clang) {
    # protobuf-3 contains a few functions that are unused.
    cflags += [ "-Wno-unused-function" ]
  }
}

if (is_component_build) {
  config("protobuf_use_dlls") {
    defines = [ "PROTOBUF_USE_DLLS" ]
  }
}

# This config should be applied to targets using generated code from the proto
# compiler. It sets up the include directories properly.
config("using_proto") {
  include_dirs = [
    "src",
    "$root_gen_dir/protoc_out",
  ]
}

protobuf_lite_sources = [
  "src/google/protobuf/arena.cc",
  "src/google/protobuf/arena.h",
  "src/google/protobuf/arenastring.cc",
  "src/google/protobuf/arenastring.h",
  "src/google/protobuf/extension_set.cc",
  "src/google/protobuf/extension_set.h",
  "src/google/protobuf/generated_message_util.cc",
  "src/google/protobuf/generated_message_util.h",
  "src/google/protobuf/io/coded_stream.cc",
  "src/google/protobuf/io/coded_stream.h",
  "src/google/protobuf/io/coded_stream_inl.h",
  "src/google/protobuf/io/zero_copy_stream.cc",
  "src/google/protobuf/io/zero_copy_stream.h",
  "src/google/protobuf/io/zero_copy_stream_impl_lite.cc",
  "src/google/protobuf/io/zero_copy_stream_impl_lite.h",
  "src/google/protobuf/map.h",
  "src/google/protobuf/map_entry_lite.h",
  "src/google/protobuf/map_field_lite.h",
  "src/google/protobuf/map_type_handler.h",
  "src/google/protobuf/message_lite.cc",
  "src/google/protobuf/message_lite.h",
  "src/google/protobuf/repeated_field.cc",
  "src/google/protobuf/repeated_field.h",
  "src/google/protobuf/stubs/atomicops.h",
  "src/google/protobuf/stubs/atomicops_internals_arm64_gcc.h",
  "src/google/protobuf/stubs/atomicops_internals_arm_gcc.h",
  "src/google/protobuf/stubs/atomicops_internals_arm_qnx.h",
  "src/google/protobuf/stubs/atomicops_internals_atomicword_compat.h",
  "src/google/protobuf/stubs/atomicops_internals_generic_gcc.h",
  "src/google/protobuf/stubs/atomicops_internals_macosx.h",
  "src/google/protobuf/stubs/atomicops_internals_mips_gcc.h",
  "src/google/protobuf/stubs/atomicops_internals_pnacl.h",
  "src/google/protobuf/stubs/atomicops_internals_power.h",
  "src/google/protobuf/stubs/atomicops_internals_ppc_gcc.h",
  "src/google/protobuf/stubs/atomicops_internals_solaris.h",
  "src/google/protobuf/stubs/atomicops_internals_tsan.h",
  "src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc",
  "src/google/protobuf/stubs/atomicops_internals_x86_gcc.h",
  "src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc",
  "src/google/protobuf/stubs/atomicops_internals_x86_msvc.h",
  "src/google/protobuf/stubs/atomic_sequence_num.h",
  "src/google/protobuf/stubs/bytestream.cc",
  "src/google/protobuf/stubs/bytestream.h",
  "src/google/protobuf/stubs/callback.h",
  "src/google/protobuf/stubs/casts.h",
  "src/google/protobuf/stubs/common.cc",
  "src/google/protobuf/stubs/common.h",
  "src/google/protobuf/stubs/fastmem.h",
  "src/google/protobuf/stubs/hash.h",
  "src/google/protobuf/stubs/int128.cc",
  "src/google/protobuf/stubs/int128.h",
  "src/google/protobuf/stubs/logging.h",
  "src/google/protobuf/stubs/macros.h",
  "src/google/protobuf/stubs/map_util.h",
  "src/google/protobuf/stubs/mutex.h",
  "src/google/protobuf/stubs/once.cc",
  "src/google/protobuf/stubs/once.h",
  "src/google/protobuf/stubs/platform_macros.h",
  "src/google/protobuf/stubs/port.h",
  "src/google/protobuf/stubs/scoped_ptr.h",
  "src/google/protobuf/stubs/shared_ptr.h",
  "src/google/protobuf/stubs/status.cc",
  "src/google/protobuf/stubs/status.h",
  "src/google/protobuf/stubs/status_macros.h",
  "src/google/protobuf/stubs/statusor.cc",
  "src/google/protobuf/stubs/statusor.h",
  "src/google/protobuf/stubs/stl_util.h",
  "src/google/protobuf/stubs/stringpiece.cc",
  "src/google/protobuf/stubs/stringpiece.h",
  "src/google/protobuf/stubs/stringprintf.cc",
  "src/google/protobuf/stubs/stringprintf.h",
  "src/google/protobuf/stubs/structurally_valid.cc",
  "src/google/protobuf/stubs/strutil.cc",
  "src/google/protobuf/stubs/strutil.h",
  "src/google/protobuf/stubs/template_util.h",
  "src/google/protobuf/stubs/type_traits.h",
  "src/google/protobuf/stubs/time.cc",
  "src/google/protobuf/stubs/time.h",
  "src/google/protobuf/wire_format_lite.cc",
  "src/google/protobuf/wire_format_lite.h",
  "src/google/protobuf/wire_format_lite_inl.h",
]

protobuf_lite_cflags = []
if (is_win) {
  protobuf_lite_cflags = [
    "/wd4018",  # signed/unsigned mismatch in comparison
    "/wd4065",  # switch statement contains 'default' but no 'case' labels
    "/wd4146",  # unary minus operator applied to unsigned type
    "/wd4244",  # implicit conversion, possible loss of data
    "/wd4267",  # size_t to int truncation
    "/wd4291",  # no matching operator delete for a placement new.
    "/wd4305",  # double to float truncation
    "/wd4355",  # 'this' used in base member initializer list
    "/wd4506",  # no definition for inline function (protobuf issue #240)
    "/wd4715",  # not all control paths return a value (fixed in trunk)
  ]
}

# Do not allow libprotobuf_lite to be dynamically linked on Linux.  Later
# versions of Ubuntu like Xenial and Yakkety link in the system
# libprotobuf_lite by the following dependency chain: chrome -> gtk ->
# libmirclient -> libmirprotobuf -> libprotobuf-lite.  Trying to load
# the system libprotobuf-lite after already having loaded the libprotobuf_lite
# component will result in an immediate crash. (crbug.com/700120)
if (is_component_build && is_desktop_linux) {
  shared_library("mirclient") {
    inputs = [
      "mirclient.map",
    ]
    sources = [
      "mirclient.cc",
    ]
    ldflags = [ "-Wl,--version-script=" +
                rebase_path("//third_party/protobuf/mirclient.map") ]
    output_extension = "so.9"
  }
}

component("protobuf_lite") {
  sources = protobuf_lite_sources

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [
    "//build/config/compiler:no_chromium_code",

    # Must be after no_chromium_code for warning flags to be ordered
    # correctly.
    ":protobuf_warnings",
  ]

  if (is_win) {
    configs -= [ "//build/config/win:lean_and_mean" ]
  }

  public_configs = [
    ":protobuf_config",

    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    "//build/config/compiler:no_size_t_to_int_warning",
  ]

  deps = [
    "//build/config:exe_and_shlib_deps",
  ]

  cflags = protobuf_lite_cflags

  if (is_component_build && is_desktop_linux) {
    deps += [ ":mirclient" ]
  }

  # Required for component builds. See http://crbug.com/172800.
  if (is_component_build) {
    public_configs += [ ":protobuf_use_dlls" ]
    defines = [ "LIBPROTOBUF_EXPORTS" ]
  }
}

# This is the full, heavy protobuf lib that's needed for c++ .protos that don't
# specify the LITE_RUNTIME option. The protocol compiler itself (protoc) falls
# into that category. Do not use in Chrome code.
static_library("protobuf_full") {
  # Prevent people from depending on this outside our file.
  visibility = [
    ":*",

    # requires descriptors & reflection; testonly.
    "//third_party/libprotobuf-mutator:*",

    # The traffic_annotation tool is not part of Chrome itself, and needs to
    # parse human-readable protobufs.
    "//tools/traffic_annotation/*",
  ]

  sources = protobuf_lite_sources + [
    "src/google/protobuf/any.cc",
    "src/google/protobuf/any.h",
    "src/google/protobuf/any.pb.cc",
    "src/google/protobuf/any.pb.h",
    "src/google/protobuf/api.pb.cc",
    "src/google/protobuf/api.pb.h",
    "src/google/protobuf/compiler/importer.cc",
    "src/google/protobuf/compiler/importer.h",
    "src/google/protobuf/compiler/parser.cc",
    "src/google/protobuf/compiler/parser.h",
    "src/google/protobuf/descriptor.cc",
    "src/google/protobuf/descriptor.h",
    "src/google/protobuf/descriptor.pb.cc",
    "src/google/protobuf/descriptor.pb.h",
    "src/google/protobuf/descriptor_database.cc",
    "src/google/protobuf/descriptor_database.h",
    "src/google/protobuf/duration.pb.cc",
    "src/google/protobuf/duration.pb.h",
    "src/google/protobuf/dynamic_message.cc",
    "src/google/protobuf/dynamic_message.h",
    "src/google/protobuf/empty.pb.cc",
    "src/google/protobuf/empty.pb.h",
    "src/google/protobuf/extension_set_heavy.cc",
    "src/google/protobuf/field_mask.pb.cc",
    "src/google/protobuf/field_mask.pb.h",
    "src/google/protobuf/generated_enum_reflection.h",
    "src/google/protobuf/generated_enum_util.h",
    "src/google/protobuf/generated_message_reflection.cc",
    "src/google/protobuf/generated_message_reflection.h",

    # gzip_stream.cc pulls in zlib, but it's not actually used by protoc, just
    # by test code, so instead of compiling zlib for the host, let's just
    # exclude this.
    # "src/google/protobuf/io/gzip_stream.cc",
    # "src/google/protobuf/io/gzip_stream.h",

    "src/google/protobuf/io/printer.cc",
    "src/google/protobuf/io/printer.h",
    "src/google/protobuf/io/strtod.cc",
    "src/google/protobuf/io/strtod.h",
    "src/google/protobuf/io/tokenizer.cc",
    "src/google/protobuf/io/tokenizer.h",
    "src/google/protobuf/io/zero_copy_stream_impl.cc",
    "src/google/protobuf/io/zero_copy_stream_impl.h",
    "src/google/protobuf/map_entry.h",
    "src/google/protobuf/map_field.cc",
    "src/google/protobuf/map_field.h",
    "src/google/protobuf/map_field_inl.h",
    "src/google/protobuf/message.cc",
    "src/google/protobuf/message.h",
    "src/google/protobuf/metadata.h",
    "src/google/protobuf/reflection.h",
    "src/google/protobuf/reflection_internal.h",
    "src/google/protobuf/reflection_ops.cc",
    "src/google/protobuf/reflection_ops.h",
    "src/google/protobuf/service.cc",
    "src/google/protobuf/service.h",
    "src/google/protobuf/source_context.pb.cc",
    "src/google/protobuf/source_context.pb.h",
    "src/google/protobuf/struct.pb.cc",
    "src/google/protobuf/struct.pb.h",
    "src/google/protobuf/stubs/mathlimits.cc",
    "src/google/protobuf/stubs/mathlimits.h",
    "src/google/protobuf/stubs/mathutil.h",
    "src/google/protobuf/stubs/singleton.h",
    "src/google/protobuf/stubs/substitute.cc",
    "src/google/protobuf/stubs/substitute.h",
    "src/google/protobuf/text_format.cc",
    "src/google/protobuf/text_format.h",
    "src/google/protobuf/timestamp.pb.cc",
    "src/google/protobuf/timestamp.pb.h",
    "src/google/protobuf/type.pb.cc",
    "src/google/protobuf/type.pb.h",
    "src/google/protobuf/unknown_field_set.cc",
    "src/google/protobuf/unknown_field_set.h",
    "src/google/protobuf/util/field_comparator.cc",
    "src/google/protobuf/util/field_comparator.h",
    "src/google/protobuf/util/field_mask_util.cc",
    "src/google/protobuf/util/field_mask_util.h",
    "src/google/protobuf/util/internal/constants.h",
    "src/google/protobuf/util/internal/datapiece.cc",
    "src/google/protobuf/util/internal/datapiece.h",
    "src/google/protobuf/util/internal/default_value_objectwriter.cc",
    "src/google/protobuf/util/internal/default_value_objectwriter.h",
    "src/google/protobuf/util/internal/error_listener.cc",
    "src/google/protobuf/util/internal/error_listener.h",
    "src/google/protobuf/util/internal/field_mask_utility.cc",
    "src/google/protobuf/util/internal/field_mask_utility.h",
    "src/google/protobuf/util/internal/json_escaping.cc",
    "src/google/protobuf/util/internal/json_escaping.h",
    "src/google/protobuf/util/internal/json_objectwriter.cc",
    "src/google/protobuf/util/internal/json_objectwriter.h",
    "src/google/protobuf/util/internal/json_stream_parser.cc",
    "src/google/protobuf/util/internal/json_stream_parser.h",
    "src/google/protobuf/util/internal/location_tracker.h",
    "src/google/protobuf/util/internal/object_location_tracker.h",
    "src/google/protobuf/util/internal/object_source.h",
    "src/google/protobuf/util/internal/object_writer.cc",
    "src/google/protobuf/util/internal/object_writer.h",
    "src/google/protobuf/util/internal/proto_writer.cc",
    "src/google/protobuf/util/internal/proto_writer.h",
    "src/google/protobuf/util/internal/protostream_objectsource.cc",
    "src/google/protobuf/util/internal/protostream_objectsource.h",
    "src/google/protobuf/util/internal/protostream_objectwriter.cc",
    "src/google/protobuf/util/internal/protostream_objectwriter.h",
    "src/google/protobuf/util/internal/structured_objectwriter.h",
    "src/google/protobuf/util/internal/type_info.cc",
    "src/google/protobuf/util/internal/type_info.h",
    "src/google/protobuf/util/internal/type_info_test_helper.cc",
    "src/google/protobuf/util/internal/type_info_test_helper.h",
    "src/google/protobuf/util/internal/utility.cc",
    "src/google/protobuf/util/internal/utility.h",
    "src/google/protobuf/util/json_util.cc",
    "src/google/protobuf/util/json_util.h",
    "src/google/protobuf/util/message_differencer.cc",
    "src/google/protobuf/util/message_differencer.h",
    "src/google/protobuf/util/time_util.cc",
    "src/google/protobuf/util/time_util.h",
    "src/google/protobuf/util/type_resolver.h",
    "src/google/protobuf/util/type_resolver_util.cc",
    "src/google/protobuf/util/type_resolver_util.h",
    "src/google/protobuf/wire_format.cc",
    "src/google/protobuf/wire_format.h",
    "src/google/protobuf/wrappers.pb.cc",
    "src/google/protobuf/wrappers.pb.h",
  ]

  deps = [
    "//build/config:exe_and_shlib_deps",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [
    "//build/config/compiler:no_chromium_code",

    # Must be after no_chromium_code for warning flags to be ordered
    # correctly.
    ":protobuf_warnings",
  ]
  if (is_win) {
    configs -= [ "//build/config/win:lean_and_mean" ]
  }
  public_configs = [
    ":protobuf_config",

    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    "//build/config/compiler:no_size_t_to_int_warning",
  ]

  cflags = protobuf_lite_cflags
}

# Only compile the compiler for the host architecture.
if (current_toolchain == host_toolchain) {
  # protoc compiler is separated into protoc library and executable targets to
  # support protoc plugins that need to link libprotoc, but not the main()
  # itself. See src/google/protobuf/compiler/plugin.h
  static_library("protoc_lib") {
    sources = [
      "src/google/protobuf/compiler/code_generator.cc",
      "src/google/protobuf/compiler/code_generator.h",
      "src/google/protobuf/compiler/command_line_interface.cc",
      "src/google/protobuf/compiler/command_line_interface.h",
      "src/google/protobuf/compiler/cpp/cpp_enum.cc",
      "src/google/protobuf/compiler/cpp/cpp_enum.h",
      "src/google/protobuf/compiler/cpp/cpp_enum_field.cc",
      "src/google/protobuf/compiler/cpp/cpp_enum_field.h",
      "src/google/protobuf/compiler/cpp/cpp_extension.cc",
      "src/google/protobuf/compiler/cpp/cpp_extension.h",
      "src/google/protobuf/compiler/cpp/cpp_field.cc",
      "src/google/protobuf/compiler/cpp/cpp_field.h",
      "src/google/protobuf/compiler/cpp/cpp_file.cc",
      "src/google/protobuf/compiler/cpp/cpp_file.h",
      "src/google/protobuf/compiler/cpp/cpp_generator.cc",
      "src/google/protobuf/compiler/cpp/cpp_generator.h",
      "src/google/protobuf/compiler/cpp/cpp_helpers.cc",
      "src/google/protobuf/compiler/cpp/cpp_helpers.h",
      "src/google/protobuf/compiler/cpp/cpp_map_field.cc",
      "src/google/protobuf/compiler/cpp/cpp_map_field.h",
      "src/google/protobuf/compiler/cpp/cpp_message.cc",
      "src/google/protobuf/compiler/cpp/cpp_message.h",
      "src/google/protobuf/compiler/cpp/cpp_message_field.cc",
      "src/google/protobuf/compiler/cpp/cpp_message_field.h",
      "src/google/protobuf/compiler/cpp/cpp_options.h",
      "src/google/protobuf/compiler/cpp/cpp_primitive_field.cc",
      "src/google/protobuf/compiler/cpp/cpp_primitive_field.h",
      "src/google/protobuf/compiler/cpp/cpp_service.cc",
      "src/google/protobuf/compiler/cpp/cpp_service.h",
      "src/google/protobuf/compiler/cpp/cpp_string_field.cc",
      "src/google/protobuf/compiler/cpp/cpp_string_field.h",
      "src/google/protobuf/compiler/csharp/csharp_doc_comment.cc",
      "src/google/protobuf/compiler/csharp/csharp_doc_comment.h",
      "src/google/protobuf/compiler/csharp/csharp_enum.cc",
      "src/google/protobuf/compiler/csharp/csharp_enum.h",
      "src/google/protobuf/compiler/csharp/csharp_enum_field.cc",
      "src/google/protobuf/compiler/csharp/csharp_enum_field.h",
      "src/google/protobuf/compiler/csharp/csharp_field_base.cc",
      "src/google/protobuf/compiler/csharp/csharp_field_base.h",
      "src/google/protobuf/compiler/csharp/csharp_generator.cc",
      "src/google/protobuf/compiler/csharp/csharp_generator.h",
      "src/google/protobuf/compiler/csharp/csharp_helpers.cc",
      "src/google/protobuf/compiler/csharp/csharp_helpers.h",
      "src/google/protobuf/compiler/csharp/csharp_map_field.cc",
      "src/google/protobuf/compiler/csharp/csharp_map_field.h",
      "src/google/protobuf/compiler/csharp/csharp_message.cc",
      "src/google/protobuf/compiler/csharp/csharp_message.h",
      "src/google/protobuf/compiler/csharp/csharp_message_field.cc",
      "src/google/protobuf/compiler/csharp/csharp_message_field.h",
      "src/google/protobuf/compiler/csharp/csharp_options.h",
      "src/google/protobuf/compiler/csharp/csharp_primitive_field.cc",
      "src/google/protobuf/compiler/csharp/csharp_primitive_field.h",
      "src/google/protobuf/compiler/csharp/csharp_reflection_class.cc",
      "src/google/protobuf/compiler/csharp/csharp_reflection_class.h",
      "src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc",
      "src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h",
      "src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc",
      "src/google/protobuf/compiler/csharp/csharp_repeated_message_field.h",
      "src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc",
      "src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h",
      "src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc",
      "src/google/protobuf/compiler/csharp/csharp_source_generator_base.h",
      "src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc",
      "src/google/protobuf/compiler/csharp/csharp_wrapper_field.h",
      "src/google/protobuf/compiler/java/java_context.cc",
      "src/google/protobuf/compiler/java/java_context.h",
      "src/google/protobuf/compiler/java/java_doc_comment.cc",
      "src/google/protobuf/compiler/java/java_doc_comment.h",
      "src/google/protobuf/compiler/java/java_enum.cc",
      "src/google/protobuf/compiler/java/java_enum.h",
      "src/google/protobuf/compiler/java/java_enum_field.cc",
      "src/google/protobuf/compiler/java/java_enum_field.h",
      "src/google/protobuf/compiler/java/java_enum_field_lite.cc",
      "src/google/protobuf/compiler/java/java_enum_field_lite.h",
      "src/google/protobuf/compiler/java/java_enum_lite.cc",
      "src/google/protobuf/compiler/java/java_enum_lite.h",
      "src/google/protobuf/compiler/java/java_extension.cc",
      "src/google/protobuf/compiler/java/java_extension.h",
      "src/google/protobuf/compiler/java/java_extension_lite.cc",
      "src/google/protobuf/compiler/java/java_extension_lite.h",
      "src/google/protobuf/compiler/java/java_field.cc",
      "src/google/protobuf/compiler/java/java_field.h",
      "src/google/protobuf/compiler/java/java_file.cc",
      "src/google/protobuf/compiler/java/java_file.h",
      "src/google/protobuf/compiler/java/java_generator.cc",
      "src/google/protobuf/compiler/java/java_generator.h",
      "src/google/protobuf/compiler/java/java_generator_factory.cc",
      "src/google/protobuf/compiler/java/java_generator_factory.h",
      "src/google/protobuf/compiler/java/java_helpers.cc",
      "src/google/protobuf/compiler/java/java_helpers.h",
      "src/google/protobuf/compiler/java/java_lazy_message_field.cc",
      "src/google/protobuf/compiler/java/java_lazy_message_field.h",
      "src/google/protobuf/compiler/java/java_lazy_message_field_lite.cc",
      "src/google/protobuf/compiler/java/java_lazy_message_field_lite.h",
      "src/google/protobuf/compiler/java/java_map_field.cc",
      "src/google/protobuf/compiler/java/java_map_field.h",
      "src/google/protobuf/compiler/java/java_map_field_lite.cc",
      "src/google/protobuf/compiler/java/java_map_field_lite.h",
      "src/google/protobuf/compiler/java/java_message.cc",
      "src/google/protobuf/compiler/java/java_message.h",
      "src/google/protobuf/compiler/java/java_message_builder.cc",
      "src/google/protobuf/compiler/java/java_message_builder.h",
      "src/google/protobuf/compiler/java/java_message_builder_lite.cc",
      "src/google/protobuf/compiler/java/java_message_builder_lite.h",
      "src/google/protobuf/compiler/java/java_message_field.cc",
      "src/google/protobuf/compiler/java/java_message_field.h",
      "src/google/protobuf/compiler/java/java_message_field_lite.cc",
      "src/google/protobuf/compiler/java/java_message_field_lite.h",
      "src/google/protobuf/compiler/java/java_message_lite.cc",
      "src/google/protobuf/compiler/java/java_message_lite.h",
      "src/google/protobuf/compiler/java/java_name_resolver.cc",
      "src/google/protobuf/compiler/java/java_name_resolver.h",
      "src/google/protobuf/compiler/java/java_primitive_field.cc",
      "src/google/protobuf/compiler/java/java_primitive_field.h",
      "src/google/protobuf/compiler/java/java_primitive_field_lite.cc",
      "src/google/protobuf/compiler/java/java_primitive_field_lite.h",
      "src/google/protobuf/compiler/java/java_service.cc",
      "src/google/protobuf/compiler/java/java_service.h",
      "src/google/protobuf/compiler/java/java_shared_code_generator.cc",
      "src/google/protobuf/compiler/java/java_shared_code_generator.h",
      "src/google/protobuf/compiler/java/java_string_field.cc",
      "src/google/protobuf/compiler/java/java_string_field.h",
      "src/google/protobuf/compiler/java/java_string_field_lite.cc",
      "src/google/protobuf/compiler/java/java_string_field_lite.h",
      "src/google/protobuf/compiler/javanano/javanano_enum.cc",
      "src/google/protobuf/compiler/javanano/javanano_enum.h",
      "src/google/protobuf/compiler/javanano/javanano_enum_field.cc",
      "src/google/protobuf/compiler/javanano/javanano_enum_field.h",
      "src/google/protobuf/compiler/javanano/javanano_extension.cc",
      "src/google/protobuf/compiler/javanano/javanano_extension.h",
      "src/google/protobuf/compiler/javanano/javanano_field.cc",
      "src/google/protobuf/compiler/javanano/javanano_field.h",
      "src/google/protobuf/compiler/javanano/javanano_file.cc",
      "src/google/protobuf/compiler/javanano/javanano_file.h",
      "src/google/protobuf/compiler/javanano/javanano_generator.cc",
      "src/google/protobuf/compiler/javanano/javanano_generator.h",
      "src/google/protobuf/compiler/javanano/javanano_helpers.cc",
      "src/google/protobuf/compiler/javanano/javanano_helpers.h",
      "src/google/protobuf/compiler/javanano/javanano_map_field.cc",
      "src/google/protobuf/compiler/javanano/javanano_map_field.h",
      "src/google/protobuf/compiler/javanano/javanano_message.cc",
      "src/google/protobuf/compiler/javanano/javanano_message.h",
      "src/google/protobuf/compiler/javanano/javanano_message_field.cc",
      "src/google/protobuf/compiler/javanano/javanano_message_field.h",
      "src/google/protobuf/compiler/javanano/javanano_primitive_field.cc",
      "src/google/protobuf/compiler/javanano/javanano_primitive_field.h",
      "src/google/protobuf/compiler/js/js_generator.cc",
      "src/google/protobuf/compiler/js/js_generator.h",
      "src/google/protobuf/compiler/objectivec/objectivec_enum.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_enum.h",
      "src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_enum_field.h",
      "src/google/protobuf/compiler/objectivec/objectivec_extension.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_extension.h",
      "src/google/protobuf/compiler/objectivec/objectivec_field.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_field.h",
      "src/google/protobuf/compiler/objectivec/objectivec_file.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_file.h",
      "src/google/protobuf/compiler/objectivec/objectivec_generator.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_generator.h",
      "src/google/protobuf/compiler/objectivec/objectivec_helpers.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_helpers.h",
      "src/google/protobuf/compiler/objectivec/objectivec_map_field.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_map_field.h",
      "src/google/protobuf/compiler/objectivec/objectivec_message.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_message.h",
      "src/google/protobuf/compiler/objectivec/objectivec_message_field.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_message_field.h",
      "src/google/protobuf/compiler/objectivec/objectivec_oneof.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_oneof.h",
      "src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc",
      "src/google/protobuf/compiler/objectivec/objectivec_primitive_field.h",
      "src/google/protobuf/compiler/plugin.cc",
      "src/google/protobuf/compiler/plugin.h",
      "src/google/protobuf/compiler/plugin.pb.cc",
      "src/google/protobuf/compiler/plugin.pb.h",
      "src/google/protobuf/compiler/python/python_generator.cc",
      "src/google/protobuf/compiler/python/python_generator.h",
      "src/google/protobuf/compiler/ruby/ruby_generator.cc",
      "src/google/protobuf/compiler/ruby/ruby_generator.h",
      "src/google/protobuf/compiler/subprocess.cc",
      "src/google/protobuf/compiler/subprocess.h",
      "src/google/protobuf/compiler/zip_writer.cc",
      "src/google/protobuf/compiler/zip_writer.h",
    ]

    configs -= [ "//build/config/compiler:chromium_code" ]
    configs += [
      "//build/config/compiler:no_chromium_code",

      # Must be after no_chromium_code for warning flags to be ordered
      # correctly.
      ":protobuf_warnings",
    ]
    if (is_win) {
      # This is defined internally, don't warn on duplicate.
      configs -= [ "//build/config/win:lean_and_mean" ]
    }

    public_configs = [ ":protobuf_config" ]

    cflags = protobuf_lite_cflags

    public_deps = [
      ":protobuf_full",
    ]
  }

  executable("protoc") {
    sources = [
      "src/google/protobuf/compiler/main.cc",
    ]

    configs -= [ "//build/config/compiler:chromium_code" ]
    configs += [ "//build/config/compiler:no_chromium_code" ]

    cflags = protobuf_lite_cflags

    deps = [
      ":protoc_lib",

      # Default manifest on Windows (a no-op elsewhere).
      "//build/win:default_exe_manifest",
    ]
  }
}

google_python_dir = "$root_out_dir/pyproto/google"

copy("copy_google") {
  sources = [
    "__init__.py",
  ]
  outputs = [
    "$google_python_dir/{{source_file_part}}",
  ]
}

copy("copy_six") {
  sources = [
    "third_party/six/six.py",
  ]
  outputs = [
    "$google_python_dir/third_party/six/{{source_file_part}}",
  ]
}

copy("copy_google_protobuf") {
  sources = [
    "python/google/protobuf/__init__.py",
    "python/google/protobuf/descriptor.py",
    "python/google/protobuf/descriptor_database.py",
    "python/google/protobuf/descriptor_pool.py",
    "python/google/protobuf/json_format.py",
    "python/google/protobuf/message.py",
    "python/google/protobuf/message_factory.py",
    "python/google/protobuf/proto_builder.py",
    "python/google/protobuf/reflection.py",
    "python/google/protobuf/service.py",
    "python/google/protobuf/service_reflection.py",
    "python/google/protobuf/symbol_database.py",
    "python/google/protobuf/text_encoding.py",
    "python/google/protobuf/text_format.py",

    # TODO(ncarter): protoc's python generator treats descriptor.proto
    # specially, but only when the input path is exactly
    # "google/protobuf/descriptor.proto".  I'm not sure how to execute a rule
    # from a different directory.  For now, use a manually-generated copy of
    # descriptor_pb2.py.
    "python/google/protobuf/descriptor_pb2.py",
  ]
  outputs = [
    "$google_python_dir/protobuf/{{source_file_part}}",
  ]
}

copy("copy_google_protobuf_internal") {
  sources = [
    "python/google/protobuf/internal/__init__.py",
    "python/google/protobuf/internal/_parameterized.py",
    "python/google/protobuf/internal/api_implementation.py",
    "python/google/protobuf/internal/containers.py",
    "python/google/protobuf/internal/decoder.py",
    "python/google/protobuf/internal/encoder.py",
    "python/google/protobuf/internal/enum_type_wrapper.py",
    "python/google/protobuf/internal/message_listener.py",
    "python/google/protobuf/internal/python_message.py",
    "python/google/protobuf/internal/type_checkers.py",
    "python/google/protobuf/internal/well_known_types.py",
    "python/google/protobuf/internal/wire_format.py",
  ]
  outputs = [
    "$google_python_dir/protobuf/internal/{{source_file_part}}",
  ]
}

group("py_proto") {
  public_deps = [
    ":copy_google",
    ":copy_google_protobuf",
    ":copy_google_protobuf_internal",
    ":copy_six",
  ]

  # Targets that depend on this should depend on the copied data files.
  data = get_target_outputs(":copy_google")
  data += get_target_outputs(":copy_six")
  data += get_target_outputs(":copy_google_protobuf")
  data += get_target_outputs(":copy_google_protobuf_internal")
}
