Index: third_party/protobuf/patches/00_add_buildfiles.patch |
diff --git a/third_party/protobuf/patches/00_add_buildfiles.patch b/third_party/protobuf/patches/00_add_buildfiles.patch |
new file mode 100644 |
index 0000000000000000000000000000000000000000..90d7292774bda880a688d9084feabe4ead38afe0 |
--- /dev/null |
+++ b/third_party/protobuf/patches/00_add_buildfiles.patch |
@@ -0,0 +1,1517 @@ |
+diff --git a/third_party/protobuf/BUILD.gn b/third_party/protobuf/BUILD.gn |
+new file mode 100644 |
+index 0000000..1c2c85e |
+--- /dev/null |
++++ b/third_party/protobuf/BUILD.gn |
+@@ -0,0 +1,569 @@ |
++# 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", |
++ "HAVE_PTHREAD", |
++ ] |
++ |
++ if (is_mac || (current_toolchain == host_toolchain && host_os == "mac")) { |
++ # Chromium builds don't yet support __thread on Mac -- not sure if the |
++ # limiting factor is using libc++ or having OS X >=10.7. Remove this once |
++ # the above aren't issues. |
++ defines += [ "GOOGLE_PROTOBUF_NO_THREADLOCAL" ] |
++ } |
++} |
++ |
++# 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/descriptor.h", |
++ "src/google/protobuf/descriptor.pb.h", |
++ "src/google/protobuf/extension_set.cc", |
++ "src/google/protobuf/extension_set.h", |
++ "src/google/protobuf/generated_enum_reflection.h", |
++ "src/google/protobuf/generated_enum_util.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/message.h", |
++ "src/google/protobuf/message_lite.cc", |
++ "src/google/protobuf/message_lite.h", |
++ "src/google/protobuf/metadata.h", |
++ "src/google/protobuf/repeated_field.cc", |
++ "src/google/protobuf/repeated_field.h", |
++ "src/google/protobuf/stubs/atomic_sequence_num.h", |
++ "src/google/protobuf/stubs/atomicops.h", |
++ "src/google/protobuf/stubs/atomicops_internals_aix.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_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/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/logging.h", |
++ "src/google/protobuf/stubs/macros.h", |
++ "src/google/protobuf/stubs/map_util.h", |
++ "src/google/protobuf/stubs/mathlimits.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/status.cc", |
++ "src/google/protobuf/stubs/status.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/strutil.cc", |
++ "src/google/protobuf/stubs/strutil.h", |
++ "src/google/protobuf/stubs/template_util.h", |
++ "src/google/protobuf/stubs/time.cc", |
++ "src/google/protobuf/stubs/time.h", |
++ "src/google/protobuf/stubs/type_traits.h", |
++ "src/google/protobuf/testing/googletest.h", |
++ "src/google/protobuf/unknown_field_set.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. |
++ "/wd4355", # 'this' used in base member initializer list. |
++ "/wd4506", # No definition for inline function. |
++ ] |
++} |
++ |
++source_set("protobuf_lite") { |
++ sources = protobuf_lite_sources |
++ |
++ configs -= [ "//build/config/compiler:chromium_code" ] |
++ configs += [ "//build/config/compiler:no_chromium_code" ] |
++ 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 |
++} |
++ |
++# 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. |
++ |
++source_set("protobuf_full") { |
++ # Prevent people from depending on this outside our file. |
++ visibility = [ ":*" ] |
++ |
++ 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.pb.cc", |
++ "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_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 these. |
++ # "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.h", |
++ "src/google/protobuf/map_entry_lite.h", |
++ "src/google/protobuf/map_field.cc", |
++ "src/google/protobuf/map_field.h", |
++ "src/google/protobuf/map_field_inl.h", |
++ "src/google/protobuf/map_field_lite.h", |
++ "src/google/protobuf/map_type_handler.h", |
++ "src/google/protobuf/message.cc", |
++ "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/mathutil.h", |
++ "src/google/protobuf/stubs/shared_ptr.h", |
++ "src/google/protobuf/stubs/singleton.h", |
++ "src/google/protobuf/stubs/status_macros.h", |
++ "src/google/protobuf/stubs/structurally_valid.cc", |
++ "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/util/field_comparator.cc", |
++ "src/google/protobuf/util/field_comparator.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/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/snake2camel_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/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", |
++ ] |
++ |
++ configs -= [ "//build/config/compiler:chromium_code" ] |
++ configs += [ "//build/config/compiler:no_chromium_code" ] |
++ 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 |
++ |
++ deps = [ |
++ ":protobuf_lite", |
++ ] |
++} |
++ |
++# Only compile the compiler for the host architecture. |
++if (current_toolchain == host_toolchain) { |
++ executable("protoc") { |
++ 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_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_names.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_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_umbrella_class.cc", |
++ "src/google/protobuf/compiler/csharp/csharp_umbrella_class.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_extension.cc", |
++ "src/google/protobuf/compiler/java/java_extension.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_params.h", |
++ "src/google/protobuf/compiler/javanano/javanano_primitive_field.cc", |
++ "src/google/protobuf/compiler/javanano/javanano_primitive_field.h", |
++ "src/google/protobuf/compiler/main.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_enum.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_enum.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_enum_field.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_extension.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_extension.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_field.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_field.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_file.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_file.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_generator.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_generator.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_helpers.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_helpers.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_map_field.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_map_field.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_message.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_message.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_message_field.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_message_field.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_oneof.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_oneof.h", |
++ "src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc", |
++ "src/google/protobuf/compiler/objectivec/objectivec_primitive_field.h", |
++ "src/google/protobuf/compiler/plugin.cc", |
++ "src/google/protobuf/compiler/plugin.h", |
++ "src/google/protobuf/compiler/plugin.pb.cc", |
++ "src/google/protobuf/compiler/plugin.pb.h", |
++ "src/google/protobuf/compiler/python/python_generator.cc", |
++ "src/google/protobuf/compiler/python/python_generator.h", |
++ "src/google/protobuf/compiler/ruby/ruby_generator.cc", |
++ "src/google/protobuf/compiler/ruby/ruby_generator.h", |
++ "src/google/protobuf/compiler/subprocess.cc", |
++ "src/google/protobuf/compiler/subprocess.h", |
++ "src/google/protobuf/compiler/zip_writer.cc", |
++ "src/google/protobuf/compiler/zip_writer.h", |
++ ] |
++ |
++ configs -= [ "//build/config/compiler:chromium_code" ] |
++ configs += [ "//build/config/compiler:no_chromium_code" ] |
++ if (is_win) { |
++ # This is defined internally, don't warn on duplicate. |
++ configs -= [ "//build/config/win:lean_and_mean" ] |
++ } |
++ |
++ cflags = protobuf_lite_cflags |
++ |
++ deps = [ |
++ ":protobuf_full", |
++ ] |
++ deps += [ "//build/config/sanitizers:deps" ] |
++ } |
++} |
++ |
++google_python_dir = "$root_out_dir/pyproto/google" |
++ |
++copy("copy_google") { |
++ sources = [ |
++ "python/google/__init__.py", |
++ ] |
++ outputs = [ |
++ "$google_python_dir/{{source_file_part}}", |
++ ] |
++} |
++ |
++copy("copy_google_protobuf") { |
++ sources = [ |
++ "python/google/protobuf/__init__.py", |
++ "python/google/protobuf/descriptor.py", |
++ "python/google/protobuf/descriptor_database.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", |
++ "python/google/protobuf/descriptor_pool.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", |
++ ] |
++ outputs = [ |
++ "$google_python_dir/protobuf/{{source_file_part}}", |
++ ] |
++} |
++ |
++copy("copy_google_protobuf_internal") { |
++ sources = [ |
++ "python/google/protobuf/internal/__init__.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/generator_test.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/wire_format.py", |
++ ] |
++ outputs = [ |
++ "$google_python_dir/protobuf/internal/{{source_file_part}}", |
++ ] |
++} |
++ |
++copy("copy_google_protobuf_pyext") { |
++ sources = [ |
++ "python/google/protobuf/pyext/__init__.py", |
++ "python/google/protobuf/pyext/cpp_message.py", |
++ ] |
++ outputs = [ |
++ "$google_python_dir/protobuf/pyext/{{source_file_part}}", |
++ ] |
++} |
++ |
++group("py_proto") { |
++ public_deps = [ |
++ ":copy_google", |
++ ":copy_google_protobuf", |
++ ":copy_google_protobuf_internal", |
++ ] |
++ |
++ # Targets that depend on this should depend on the copied data files. |
++ data = get_target_outputs(":copy_google") |
++ data += get_target_outputs(":copy_google_protobuf") |
++ data += get_target_outputs(":copy_google_protobuf_internal") |
++} |
+diff --git a/third_party/protobuf/DEPS b/third_party/protobuf/DEPS |
+new file mode 100644 |
+index 0000000..2155370 |
+--- /dev/null |
++++ b/third_party/protobuf/DEPS |
+@@ -0,0 +1,4 @@ |
++include_rules = [ |
++ '+google/protobuf', |
++ '+net/proto', # Bogus include in upstream sources. |
++] |
+diff --git a/third_party/protobuf/OWNERS b/third_party/protobuf/OWNERS |
+new file mode 100644 |
+index 0000000..07e9671 |
+--- /dev/null |
++++ b/third_party/protobuf/OWNERS |
+@@ -0,0 +1,2 @@ |
++agl@chromium.org |
++pkasting@chromium.org |
+diff --git a/third_party/protobuf/README.chromium b/third_party/protobuf/README.chromium |
+new file mode 100644 |
+index 0000000..0375fd1 |
+--- /dev/null |
++++ b/third_party/protobuf/README.chromium |
+@@ -0,0 +1,32 @@ |
++Name: Protocol Buffers |
++Short Name: protobuf |
++URL: https://github.com/google/protobuf |
++License: BSD |
++License File: LICENSE |
++Version: unknown |
++Revision: 6994b07f1480f658e2ea6262f8ca804e836ef1d2 |
++Security Critical: yes |
++ |
++Steps used to create the current version: |
++(1) Download and unpack protobuf sources from |
++ https://github.com/google/protobuf/archive/master.zip . |
++(2) Apply the patches in patches/ in order. In all these cases, after |
++ determining how to adapt the patch to the current protobuf codebase, you |
++ should regenerate the patch for the next maintainer. |
++ |
++ A brief description of each patch: |
++ 00: Add initial GYP/GN buildfiles, DEPS, OWNERS, and README.chromium. You |
++ will need to modify the README to include the correct revision, and modify |
++ the buildfiles to reflect the actual files in the source tree, what they |
++ #include, what warnings they trigger, etc. |
++(3) Generate descriptor_pb2.py using something like the following steps. Make |
++ sure you've regenerated your buildfiles and will build protoc from the |
++ newly-modified sources above. |
++ $ cd $SRC_DIR |
++ $ ninja -C out/Debug protoc |
++ $ cd third_party/protobuf/src |
++ $ ../../../out/Debug/protoc --python_out=../python google/protobuf/descriptor.proto |
++ $ cd .. |
++ $ git add -f python/google/protobuf/descriptor_pb2.py |
++ $ git commit |
++(4) At this point you should be done, and able to successfully build everything. |
+diff --git a/third_party/protobuf/proto_library.gni b/third_party/protobuf/proto_library.gni |
+new file mode 100644 |
+index 0000000..8e7ea14 |
+--- /dev/null |
++++ b/third_party/protobuf/proto_library.gni |
+@@ -0,0 +1,175 @@ |
++# 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. |
++ |
++# Compile a protocol buffer. |
++# |
++# Protobuf parameters: |
++# |
++# proto_out_dir (optional) |
++# Specifies the path suffix that output files are generated under. This |
++# path will be appended to the root_gen_dir. |
++# |
++# Targets that depend on the proto target will be able to include the |
++# resulting proto headers with an include like: |
++# #include "dir/for/my_proto_lib/foo.pb.h" |
++# If undefined, this defaults to matching the input directory for each |
++# .proto file (you should almost always use the default mode). |
++# |
++# cc_generator_options (optional) |
++# List of extra flags passed to the protocol compiler. If you need to |
++# add an EXPORT macro to a protobuf's C++ header, set the |
++# 'cc_generator_options' variable with the value: |
++# 'dllexport_decl=FOO_EXPORT:' (note trailing colon). |
++# |
++# It is likely you also need to #include a file for the above EXPORT |
++# macro to work. See cc_include. |
++# |
++# cc_include (optional) |
++# String listing an extra include that should be passed. |
++# Example: cc_include = "foo/bar.h" |
++# |
++# deps (optional) |
++# Additional dependencies. |
++# |
++# Parameters for compiling the generated code: |
++# |
++# defines (optional) |
++# Defines to supply to the source set that compiles the generated source |
++# code. |
++# |
++# extra_configs (optional) |
++# A list of config labels that will be appended to the configs applying |
++# to the source set. |
++# |
++# Example: |
++# proto_library("mylib") { |
++# sources = [ |
++# "foo.proto", |
++# ] |
++# } |
++ |
++template("proto_library") { |
++ assert(defined(invoker.sources), "Need sources for proto_library") |
++ |
++ # Don't apply OS-specific sources filtering to the assignments later on. |
++ # Platform files should have gotten filtered out in the sources assignment |
++ # when this template was invoked. If they weren't, it was on purpose and |
++ # this template shouldn't re-apply the filter. |
++ set_sources_assignment_filter([]) |
++ |
++ action_name = "${target_name}_gen" |
++ source_set_name = target_name |
++ action_foreach(action_name) { |
++ visibility = [ ":$source_set_name" ] |
++ |
++ script = "//tools/protoc_wrapper/protoc_wrapper.py" |
++ |
++ sources = invoker.sources |
++ |
++ # Compute the output directory, both relative to the source root (for |
++ # declaring "outputs") and relative to the build dir (for passing to the |
++ # script). |
++ if (defined(invoker.proto_out_dir)) { |
++ # Put the results in the specified dir in the gen tree. |
++ out_dir = "$root_gen_dir/" + invoker.proto_out_dir |
++ rel_out_dir = rebase_path(out_dir, root_build_dir) |
++ py_out_dir = "$root_out_dir/pyproto/" + invoker.proto_out_dir |
++ } else { |
++ # Use the gen directory corresponding to the source file for C++ sources. |
++ # This expansion will be done differently in the outputs and the args, so |
++ # we don't need to worry about rebasing as above. Always put Python |
++ # sources in "pyproto". |
++ out_dir = "{{source_gen_dir}}" |
++ rel_out_dir = "{{source_gen_dir}}" |
++ py_out_dir = "$root_out_dir/pyproto/{{source_root_relative_dir}}" |
++ } |
++ rel_py_out_dir = rebase_path(py_out_dir, root_build_dir) |
++ |
++ outputs = [ |
++ "$py_out_dir/{{source_name_part}}_pb2.py", |
++ "$out_dir/{{source_name_part}}.pb.cc", |
++ "$out_dir/{{source_name_part}}.pb.h", |
++ ] |
++ |
++ args = [] |
++ if (defined(invoker.cc_include)) { |
++ args += [ |
++ "--include", |
++ invoker.cc_include, |
++ ] |
++ } |
++ |
++ args += [ |
++ "--protobuf", |
++ "$rel_out_dir/{{source_name_part}}.pb.h", |
++ "--proto-in-dir", |
++ "{{source_dir}}", |
++ "--proto-in-file", |
++ "{{source_file_part}}", |
++ |
++ # TODO(brettw) support system protobuf compiler. |
++ "--use-system-protobuf=0", |
++ ] |
++ |
++ protoc_label = "//third_party/protobuf:protoc($host_toolchain)" |
++ args += [ |
++ "--", |
++ |
++ # Prepend with "./" so this will never pick up the system one (normally |
++ # when not cross-compiling, protoc's output directory will be the same |
++ # as the build dir, so the relative location will be empty). |
++ "./" + |
++ rebase_path(get_label_info(protoc_label, "root_out_dir") + "/protoc", |
++ root_build_dir), |
++ ] |
++ |
++ # If passed cc_generator_options should end in a colon, which will separate |
++ # it from the directory when we concatenate them. The proto compiler |
++ # understands this syntax. |
++ if (defined(invoker.cc_generator_options)) { |
++ cc_generator_options = invoker.cc_generator_options |
++ } else { |
++ cc_generator_options = "" |
++ } |
++ args += [ |
++ # cc_generator_options is supposed to end in a colon if it's nonempty. |
++ "--cpp_out", |
++ "$cc_generator_options$rel_out_dir", |
++ "--python_out", |
++ rel_py_out_dir, |
++ ] |
++ |
++ deps = [ |
++ protoc_label, |
++ ] |
++ if (defined(invoker.deps)) { |
++ deps += invoker.deps |
++ } |
++ } |
++ |
++ source_set(target_name) { |
++ forward_variables_from(invoker, |
++ [ |
++ "visibility", |
++ "defines", |
++ ]) |
++ |
++ sources = get_target_outputs(":$action_name") |
++ |
++ if (defined(invoker.extra_configs)) { |
++ configs += invoker.extra_configs |
++ } |
++ |
++ public_configs = [ "//third_party/protobuf:using_proto" ] |
++ |
++ public_deps = [ |
++ # The generated headers reference headers within protobuf_lite, so |
++ # dependencies must be able to find those headers too. |
++ "//third_party/protobuf:protobuf_lite", |
++ ] |
++ deps = [ |
++ ":$action_name", |
++ ] |
++ } |
++} |
+diff --git a/third_party/protobuf/protobuf.gyp b/third_party/protobuf/protobuf.gyp |
+new file mode 100644 |
+index 0000000..e839ad7 |
+--- /dev/null |
++++ b/third_party/protobuf/protobuf.gyp |
+@@ -0,0 +1,553 @@ |
++# Copyright (c) 2012 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. |
++ |
++{ |
++ 'conditions': [ |
++ ['use_system_protobuf==0', { |
++ 'target_defaults': { |
++ 'conditions': [ |
++ ['OS=="win"', { |
++ 'msvs_disabled_warnings': [ |
++ 4018, # signed/unsigned mismatch in comparison |
++ 4065, # switch statement contains 'default' but no 'case' labels |
++ 4146, # unary minus operator applied to unsigned type |
++ 4244, # implicit conversion, possible loss of data |
++ 4267, # size_t to int truncation |
++ 4291, # no matching operator delete for a placement new |
++ 4355, # 'this' used in base member initializer list |
++ 4506, # no definition for inline function |
++ ], |
++ 'defines!': [ |
++ 'WIN32_LEAN_AND_MEAN', # Protobuf defines this itself. |
++ ], |
++ }], |
++ ['OS=="mac" or OS=="ios"', { |
++ 'defines': [ |
++ # Chromium builds don't yet support __thread on Mac -- not sure if |
++ # the limiting factor is using libc++ or having OS X >=10.7. |
++ # Remove this for Mac once the above aren't issues. |
++ # |
++ # The "ios" bit is for host binaries built on the Mac as part of |
++ # the iOS build process -- target binaries would work anyway due |
++ # to the preprocessor checks for iOS in the codebase. What we |
++ # really want is something like |
++ # '_toolchain="host" and host_os=="mac"', but host_os isn't |
++ # properly defined in all cases, and it's not worth trying to fix |
++ # it, especially since we can do this more correctly in GN. |
++ 'GOOGLE_PROTOBUF_NO_THREADLOCAL', |
++ ], |
++ }], |
++ ], |
++ }, |
++ 'conditions': [ |
++ ['OS=="ios" and "<(GENERATOR)"=="xcode" and "<(GENERATOR_FLAVOR)"!="ninja"', { |
++ 'variables': { |
++ 'ninja_output_dir': 'ninja-protoc', |
++ 'ninja_product_dir': |
++ '<(DEPTH)/xcodebuild/<(ninja_output_dir)/<(CONFIGURATION_NAME)', |
++ # Gyp to rerun |
++ 're_run_targets': [ |
++ 'third_party/protobuf/protobuf.gyp', |
++ ], |
++ }, |
++ 'targets': [ |
++ { |
++ # On iOS, generating protoc is done via two actions: (1) compiling |
++ # the executable with ninja, and (2) copying the executable into a |
++ # location that is shared with other projects. These actions are |
++ # separated into two targets in order to be able to specify that the |
++ # second action should not run until the first action finishes (since |
++ # the ordering of multiple actions in one target is defined only by |
++ # inputs and outputs, and it's impossible to set correct inputs for |
++ # the ninja build, so setting all the inputs and outputs isn't an |
++ # option). The first target is given here; the second target is the |
++ # normal protoc target under the condition that "OS==iOS". |
++ 'target_name': 'compile_protoc', |
++ 'type': 'none', |
++ 'toolsets': ['host'], |
++ 'includes': ['../../build/ios/mac_build.gypi'], |
++ 'actions': [ |
++ { |
++ 'action_name': 'compile protoc', |
++ 'inputs': [], |
++ 'outputs': [], |
++ 'action': [ |
++ '<@(ninja_cmd)', |
++ 'protoc', |
++ ], |
++ 'message': 'Generating the C++ protocol buffers compiler', |
++ }, |
++ ], |
++ }, |
++ ], |
++ }], |
++ ], |
++ 'targets': [ |
++ # The "lite" lib is about 1/7th the size of the heavy lib, |
++ # but it doesn't support some of the more exotic features of |
++ # protobufs, like reflection. To generate C++ code that can link |
++ # against the lite version of the library, add the option line: |
++ # |
++ # option optimize_for = LITE_RUNTIME; |
++ # |
++ # to your .proto file. |
++ { |
++ 'target_name': 'protobuf_lite', |
++ 'type': 'static_library', |
++ 'toolsets': ['host', 'target'], |
++ 'includes': [ |
++ 'protobuf_lite.gypi', |
++ ], |
++ }, |
++ # 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 LINK AGAINST THIS TARGET IN CHROME CODE --agl |
++ { |
++ 'target_name': 'protobuf_full_do_not_use', |
++ 'type': 'static_library', |
++ 'toolsets': ['host','target'], |
++ '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.pb.cc', |
++ '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_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 these. |
++ # '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.h', |
++ 'src/google/protobuf/map_entry_lite.h', |
++ 'src/google/protobuf/map_field.cc', |
++ 'src/google/protobuf/map_field.h', |
++ 'src/google/protobuf/map_field_inl.h', |
++ 'src/google/protobuf/map_field_lite.h', |
++ 'src/google/protobuf/map_type_handler.h', |
++ 'src/google/protobuf/message.cc', |
++ '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/mathutil.h', |
++ 'src/google/protobuf/stubs/shared_ptr.h', |
++ 'src/google/protobuf/stubs/singleton.h', |
++ 'src/google/protobuf/stubs/status_macros.h', |
++ 'src/google/protobuf/stubs/structurally_valid.cc', |
++ '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/util/field_comparator.cc', |
++ 'src/google/protobuf/util/field_comparator.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/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/snake2camel_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/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', |
++ ], |
++ 'dependencies': [ |
++ 'protobuf_lite', |
++ ], |
++ 'export_dependent_settings': [ |
++ 'protobuf_lite', |
++ ], |
++ }, |
++ { |
++ 'target_name': 'protoc', |
++ 'conditions': [ |
++ ['OS!="ios" or "<(GENERATOR)"!="xcode" or "<(GENERATOR_FLAVOR)"=="ninja"', { |
++ 'type': 'executable', |
++ 'toolsets': ['host'], |
++ '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_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_names.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_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_umbrella_class.cc', |
++ 'src/google/protobuf/compiler/csharp/csharp_umbrella_class.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_extension.cc', |
++ 'src/google/protobuf/compiler/java/java_extension.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_params.h', |
++ 'src/google/protobuf/compiler/javanano/javanano_primitive_field.cc', |
++ 'src/google/protobuf/compiler/javanano/javanano_primitive_field.h', |
++ 'src/google/protobuf/compiler/main.cc', |
++ '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', |
++ ], |
++ 'dependencies': [ |
++ 'protobuf_full_do_not_use', |
++ ], |
++ }, { # else, OS=="ios" and "<(GENERATOR)"=="xcode" and "<(GENERATOR_FLAVOR)"!="ninja" |
++ 'type': 'none', |
++ 'toolsets': ['host'], |
++ 'dependencies': [ |
++ 'compile_protoc', |
++ ], |
++ 'actions': [ |
++ { |
++ 'action_name': 'copy protoc', |
++ 'inputs': [ |
++ '<(ninja_product_dir)/protoc', |
++ ], |
++ 'outputs': [ |
++ '<(PRODUCT_DIR)/protoc', |
++ ], |
++ 'action': [ |
++ 'cp', |
++ '<(ninja_product_dir)/protoc', |
++ '<(PRODUCT_DIR)/protoc', |
++ ], |
++ }, |
++ ], |
++ }], |
++ ], |
++ }, |
++ { |
++ # Generate the python module needed by all protoc-generated Python code. |
++ 'target_name': 'py_proto', |
++ 'type': 'none', |
++ 'copies': [ |
++ { |
++ 'destination': '<(PRODUCT_DIR)/pyproto/google/', |
++ 'files': [ |
++ 'python/google/__init__.py', |
++ ], |
++ }, |
++ { |
++ 'destination': '<(PRODUCT_DIR)/pyproto/google/protobuf', |
++ 'files': [ |
++ 'python/google/protobuf/__init__.py', |
++ 'python/google/protobuf/descriptor.py', |
++ 'python/google/protobuf/descriptor_database.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', |
++ 'python/google/protobuf/descriptor_pool.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', |
++ ], |
++ }, |
++ { |
++ 'destination': '<(PRODUCT_DIR)/pyproto/google/protobuf/internal', |
++ 'files': [ |
++ 'python/google/protobuf/internal/__init__.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/generator_test.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/wire_format.py', |
++ ], |
++ }, |
++ { |
++ 'destination': '<(PRODUCT_DIR)/pyproto/google/protobuf/pyext', |
++ 'files': [ |
++ 'python/google/protobuf/pyext/__init__.py', |
++ 'python/google/protobuf/pyext/cpp_message.py', |
++ ], |
++ }, |
++ ], |
++ }, |
++ ], |
++ }, { # use_system_protobuf==1 |
++ 'targets': [ |
++ { |
++ 'target_name': 'protobuf_lite', |
++ 'type': 'none', |
++ 'direct_dependent_settings': { |
++ 'cflags': [ |
++ # Use full protobuf, because vanilla protobuf doesn't have |
++ # our custom patch to retain unknown fields in lite mode. |
++ '<!@(pkg-config --cflags protobuf)', |
++ ], |
++ 'defines': [ |
++ 'USE_SYSTEM_PROTOBUF', |
++ |
++ # This macro must be defined to suppress the use |
++ # of dynamic_cast<>, which requires RTTI. |
++ 'GOOGLE_PROTOBUF_NO_RTTI', |
++ 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER', |
++ ], |
++ }, |
++ 'link_settings': { |
++ # Use full protobuf, because vanilla protobuf doesn't have |
++ # our custom patch to retain unknown fields in lite mode. |
++ 'ldflags': [ |
++ '<!@(pkg-config --libs-only-L --libs-only-other protobuf)', |
++ ], |
++ 'libraries': [ |
++ '<!@(pkg-config --libs-only-l protobuf)', |
++ ], |
++ }, |
++ }, |
++ { |
++ 'target_name': 'protoc', |
++ 'type': 'none', |
++ 'toolsets': ['host', 'target'], |
++ }, |
++ { |
++ 'target_name': 'py_proto', |
++ 'type': 'none', |
++ }, |
++ ], |
++ }], |
++ ], |
++} |
+diff --git a/third_party/protobuf/protobuf_lite.gypi b/third_party/protobuf/protobuf_lite.gypi |
+new file mode 100644 |
+index 0000000..90fe65b |
+--- /dev/null |
++++ b/third_party/protobuf/protobuf_lite.gypi |
+@@ -0,0 +1,109 @@ |
++# Copyright 2013 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. |
++ |
++{ |
++ 'sources': [ |
++ 'src/google/protobuf/arena.cc', |
++ 'src/google/protobuf/arena.h', |
++ 'src/google/protobuf/arenastring.cc', |
++ 'src/google/protobuf/arenastring.h', |
++ 'src/google/protobuf/descriptor.h', |
++ 'src/google/protobuf/descriptor.pb.h', |
++ 'src/google/protobuf/extension_set.cc', |
++ 'src/google/protobuf/extension_set.h', |
++ 'src/google/protobuf/generated_enum_reflection.h', |
++ 'src/google/protobuf/generated_enum_util.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/message.h', |
++ 'src/google/protobuf/message_lite.cc', |
++ 'src/google/protobuf/message_lite.h', |
++ 'src/google/protobuf/metadata.h', |
++ 'src/google/protobuf/repeated_field.cc', |
++ 'src/google/protobuf/repeated_field.h', |
++ 'src/google/protobuf/stubs/atomic_sequence_num.h', |
++ 'src/google/protobuf/stubs/atomicops.h', |
++ 'src/google/protobuf/stubs/atomicops_internals_aix.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_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/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/logging.h', |
++ 'src/google/protobuf/stubs/macros.h', |
++ 'src/google/protobuf/stubs/map_util.h', |
++ 'src/google/protobuf/stubs/mathlimits.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/status.cc', |
++ 'src/google/protobuf/stubs/status.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/strutil.cc', |
++ 'src/google/protobuf/stubs/strutil.h', |
++ 'src/google/protobuf/stubs/template_util.h', |
++ 'src/google/protobuf/stubs/time.cc', |
++ 'src/google/protobuf/stubs/time.h', |
++ 'src/google/protobuf/stubs/type_traits.h', |
++ 'src/google/protobuf/testing/googletest.h', |
++ 'src/google/protobuf/unknown_field_set.h', |
++ 'src/google/protobuf/wire_format_lite.cc', |
++ 'src/google/protobuf/wire_format_lite.h', |
++ 'src/google/protobuf/wire_format_lite_inl.h', |
++ ], |
++ 'include_dirs': [ |
++ 'src', |
++ ], |
++ # This macro must be defined to suppress the use of dynamic_cast<>, |
++ # which requires RTTI. |
++ 'defines': [ |
++ 'GOOGLE_PROTOBUF_NO_RTTI', |
++ 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER', |
++ 'HAVE_PTHREAD', |
++ ], |
++ 'direct_dependent_settings': { |
++ 'include_dirs': [ |
++ 'src', |
++ ], |
++ 'defines': [ |
++ 'GOOGLE_PROTOBUF_NO_RTTI', |
++ 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER', |
++ ], |
++ # TODO(jschuh): http://crbug.com/167187 size_t -> int. |
++ 'msvs_disabled_warnings': [ 4267 ], |
++ }, |
++} |
+diff --git a/third_party/protobuf/protobuf_nacl.gyp b/third_party/protobuf/protobuf_nacl.gyp |
+new file mode 100644 |
+index 0000000..4b63e5c |
+--- /dev/null |
++++ b/third_party/protobuf/protobuf_nacl.gyp |
+@@ -0,0 +1,25 @@ |
++# 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. |
++ |
++{ |
++ 'includes': [ |
++ '../../native_client/build/untrusted.gypi', |
++ ], |
++ 'targets': [ |
++ { |
++ 'target_name': 'protobuf_lite_nacl', |
++ 'type': 'none', |
++ 'variables': { |
++ 'nacl_untrusted_build': 1, |
++ 'nlib_target': 'libprotobuf_lite_nacl.a', |
++ 'build_glibc': 0, |
++ 'build_newlib': 0, |
++ 'build_pnacl_newlib': 1, |
++ }, |
++ 'includes': [ |
++ 'protobuf_lite.gypi', |
++ ], |
++ }, |
++ ] |
++} |