# 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.
import("//build/config/sanitizers/sanitizers.gni")

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/has_bits.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_c11_atomic.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_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", root_build_dir) ]
    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",
  ]

  # Remove Sanitizers and coverage for a performance boost when fuzzing. This is
  # OK because the only fuzzers that use protobuf are libprotobuf-mutator based
  # fuzzers, and they don't actually target the protobuf code, they just use it.
  configs -= not_fuzzed_remove_configs
  configs += [ "//build/config/sanitizers:not_fuzzed" ]

  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_android) {
    libs = [ "log" ]  # Used by src/google/protobuf/stubs/common.cc
  }

  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/*",

    # Chromecast requires descriptors and reflection.
    "//chromecast/*",

    # Perfetto uses the full library for testing.
    "//third_party/perfetto/protos/ftrace:full",
    "//third_party/perfetto/gn:protobuf_full_deps",
  ]

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

              "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 = [
    "//third_party/zlib",
  ]

  if (is_android) {
    libs = [ "log" ]  # Used by src/google/protobuf/stubs/common.cc
  }

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

  # Remove coverage and Sanitizers other than ASan for a performance boost when
  # fuzzing. ASan can't be removed here because of a bug preventing unsanitized
  # code from using libc++, which protobuf_full uses.
  configs -= not_fuzzed_remove_nonasan_configs
  configs += [ "//build/config/sanitizers:not_fuzzed" ]

  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

  defines = [ "HAVE_ZLIB" ]
}

# 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_options.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/js/well_known_types_embed.cc",
      "src/google/protobuf/compiler/js/well_known_types_embed.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/php/php_generator.cc",
      "src/google/protobuf/compiler/php/php_generator.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",
    ]
  }

  executable("js_embed") {
    sources = [
      "src/google/protobuf/compiler/js/embed.cc",
    ]

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

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

if (is_android) {
  import("//build/config/android/rules.gni")

  android_library("protobuf_lite_javalib") {
    chromium_code = false
    java_files = [
      "java/core/src/main/java/com/google/protobuf/AbstractMessageLite.java",
      "java/core/src/main/java/com/google/protobuf/AbstractParser.java",
      "java/core/src/main/java/com/google/protobuf/AbstractProtobufList.java",
      "java/core/src/main/java/com/google/protobuf/BooleanArrayList.java",
      "java/core/src/main/java/com/google/protobuf/ByteBufferWriter.java",
      "java/core/src/main/java/com/google/protobuf/ByteOutput.java",
      "java/core/src/main/java/com/google/protobuf/ByteString.java",
      "java/core/src/main/java/com/google/protobuf/CodedInputStream.java",
      "java/core/src/main/java/com/google/protobuf/CodedOutputStream.java",
      "java/core/src/main/java/com/google/protobuf/DoubleArrayList.java",
      "java/core/src/main/java/com/google/protobuf/ExperimentalApi.java",
      "java/core/src/main/java/com/google/protobuf/ExtensionLite.java",
      "java/core/src/main/java/com/google/protobuf/ExtensionRegistryFactory.java",
      "java/core/src/main/java/com/google/protobuf/ExtensionRegistryLite.java",
      "java/core/src/main/java/com/google/protobuf/FieldSet.java",
      "java/core/src/main/java/com/google/protobuf/FloatArrayList.java",
      "java/core/src/main/java/com/google/protobuf/GeneratedMessageLite.java",
      "java/core/src/main/java/com/google/protobuf/IntArrayList.java",
      "java/core/src/main/java/com/google/protobuf/Internal.java",
      "java/core/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java",
      "java/core/src/main/java/com/google/protobuf/LazyField.java",
      "java/core/src/main/java/com/google/protobuf/LazyFieldLite.java",
      "java/core/src/main/java/com/google/protobuf/LazyStringArrayList.java",
      "java/core/src/main/java/com/google/protobuf/LazyStringList.java",
      "java/core/src/main/java/com/google/protobuf/LongArrayList.java",
      "java/core/src/main/java/com/google/protobuf/MapEntryLite.java",
      "java/core/src/main/java/com/google/protobuf/MapFieldLite.java",
      "java/core/src/main/java/com/google/protobuf/MessageLite.java",
      "java/core/src/main/java/com/google/protobuf/MessageLiteOrBuilder.java",
      "java/core/src/main/java/com/google/protobuf/MessageLiteToString.java",
      "java/core/src/main/java/com/google/protobuf/MutabilityOracle.java",
      "java/core/src/main/java/com/google/protobuf/NioByteString.java",
      "java/core/src/main/java/com/google/protobuf/Parser.java",
      "java/core/src/main/java/com/google/protobuf/PrimitiveNonBoxingCollection.java",
      "java/core/src/main/java/com/google/protobuf/ProtobufArrayList.java",
      "java/core/src/main/java/com/google/protobuf/ProtocolStringList.java",
      "java/core/src/main/java/com/google/protobuf/RopeByteString.java",
      "java/core/src/main/java/com/google/protobuf/SmallSortedMap.java",
      "java/core/src/main/java/com/google/protobuf/TextFormatEscaper.java",
      "java/core/src/main/java/com/google/protobuf/UninitializedMessageException.java",
      "java/core/src/main/java/com/google/protobuf/UnknownFieldSetLite.java",
      "java/core/src/main/java/com/google/protobuf/UnmodifiableLazyStringList.java",
      "java/core/src/main/java/com/google/protobuf/UnsafeByteOperations.java",
      "java/core/src/main/java/com/google/protobuf/UnsafeUtil.java",
      "java/core/src/main/java/com/google/protobuf/Utf8.java",
      "java/core/src/main/java/com/google/protobuf/WireFormat.java",
    ]
  }
}
