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

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

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

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