# 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" ]
  }

  if (is_starboard) {
    if (is_clang) {
      cflags = [
        # protobuf-3 contains a few functions that are unused.
        "-Wno-unused-function",
        # protobuf-3 mixes generated enum types.
        "-Wno-enum-compare-switch",
        # Used by older version of clang.
        "-Wno-enum-compare",
        # Older version of clang don't have -Wno-enum-compare-switch
        "-Wno-unknown-warning-option",
      ]
    }
  }
}

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)
  ]
}

component("protobuf_lite") {
  sources = protobuf_lite_sources

  if (is_starboard) {
    deps = [ "//starboard/common" ]
  } else {
    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",
  ]

  if (is_starboard) {
    public_configs -= [ ":protobuf_config" ]
    all_dependent_configs = [ ":protobuf_config" ]
  } else {
    deps = [
      "//build/config/sanitizers:deps",
    ]
  }

  cflags = protobuf_lite_cflags

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

# Only compile the compiler for the host architecture.
if (current_toolchain == host_toolchain) {
  # 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 = [ ":*" ]

    sources = protobuf_lite_sources
    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",
    ]

    if (is_starboard) {
      deps = [ "//starboard/common" ]
    } else {
      deps = [
        "//build/config/sanitizers: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
  }

  # 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",
    ]

    if (!is_starboard) {
      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",
    ]

    if (!is_starboard) {
      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",
    ]
  }
}

if (!is_starboard) {
  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")
  }
}
