[build] delete GN files These are being transitioned to the protobuf-gn repo. Note I need to leave protoc_wrapper.py for now, since there is one reference to its location here which needs to be transitioned softly: https://fuchsia.googlesource.com/fuchsia/+/ed003ff74ea8768fadcffd26b04266d445c1e9c3/tools/dart-strict-deps/BUILD.gn#69 Bug: 59636 Change-Id: Ib3caca5473dd1e53468f682e1ad2fa8afaeb4e72 Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/protobuf/+/487902 Reviewed-by: Zach Bush <zmbush@google.com>
diff --git a/BUILD.gn b/BUILD.gn deleted file mode 100644 index db3f81b..0000000 --- a/BUILD.gn +++ /dev/null
@@ -1,522 +0,0 @@ -# Copyright 2017 The Fuchsia Authors. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import("//build/compiled_action.gni") - -config("protobuf_config") { - include_dirs = [ "src" ] - defines = [ - "GOOGLE_PROTOBUF_NO_RTTI", - "GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER", - "HAVE_PTHREAD", - ] -} -config("protobuf_warnings") { - cflags = [] - if (is_clang) { - # protobuf-3 contains a few functions that are unused. - cflags += [ "-Wno-unused-function" ] - - # Note(rudominer) I added these because there were a lot of warnings. - cflags += [ - "-Wno-sign-compare", - "-Wno-missing-field-initializers", - "-Wno-enum-compare-switch", - "-Wno-conversion", - ] - } -} - -executable("js_embed") { - sources = [ "src/google/protobuf/compiler/js/embed.cc" ] - configs += [ ":protobuf_warnings" ] -} - -compiled_action("run_js_embed") { - tool = ":js_embed" - - inputs = [ - "src/google/protobuf/compiler/js/well_known_types/any.js", - "src/google/protobuf/compiler/js/well_known_types/struct.js", - "src/google/protobuf/compiler/js/well_known_types/timestamp.js", - ] - - outputs = [ - "$target_gen_dir/google/protobuf/compiler/js/well_known_types_embed.cc", - ] - - args = [ - "--output_file", - rebase_path( - "$target_gen_dir/google/protobuf/compiler/js/well_known_types_embed.cc", - root_build_dir), - ] + rebase_path(inputs, root_build_dir) -} - -# 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", - ] -} - -protobuf_lite_sources = [ - "src/google/protobuf/arena.cc", - "src/google/protobuf/arena.h", - "src/google/protobuf/arenastring.cc", - "src/google/protobuf/arenastring.h", - "src/google/protobuf/extension_set.cc", - "src/google/protobuf/extension_set.h", - "src/google/protobuf/generated_message_util.cc", - "src/google/protobuf/generated_message_util.h", - "src/google/protobuf/io/coded_stream.cc", - "src/google/protobuf/io/coded_stream.h", - "src/google/protobuf/io/coded_stream_inl.h", - "src/google/protobuf/io/zero_copy_stream.cc", - "src/google/protobuf/io/zero_copy_stream.h", - "src/google/protobuf/io/zero_copy_stream_impl_lite.cc", - "src/google/protobuf/io/zero_copy_stream_impl_lite.h", - "src/google/protobuf/map.h", - "src/google/protobuf/map_entry_lite.h", - "src/google/protobuf/map_field_lite.h", - "src/google/protobuf/map_type_handler.h", - "src/google/protobuf/message_lite.cc", - "src/google/protobuf/message_lite.h", - "src/google/protobuf/repeated_field.cc", - "src/google/protobuf/repeated_field.h", - "src/google/protobuf/stubs/atomic_sequence_num.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_generic_c11_atomic.h", - "src/google/protobuf/stubs/atomicops_internals_generic_gcc.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/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/time.cc", - "src/google/protobuf/stubs/time.h", - "src/google/protobuf/stubs/type_traits.h", - "src/google/protobuf/wire_format_lite.cc", - "src/google/protobuf/wire_format_lite.h", - "src/google/protobuf/wire_format_lite_inl.h", -] - -static_library("protobuf_lite") { - sources = protobuf_lite_sources - configs += [ ":protobuf_warnings" ] - public_configs = [ ":protobuf_config" ] - 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. -static_library("protobuf_full") { - sources = protobuf_lite_sources + [ - "src/google/protobuf/any.cc", - "src/google/protobuf/any.h", - "src/google/protobuf/any.pb.cc", - "src/google/protobuf/any.pb.h", - "src/google/protobuf/api.pb.cc", - "src/google/protobuf/api.pb.h", - "src/google/protobuf/compiler/importer.cc", - "src/google/protobuf/compiler/importer.h", - "src/google/protobuf/compiler/parser.cc", - "src/google/protobuf/compiler/parser.h", - "src/google/protobuf/descriptor.cc", - "src/google/protobuf/descriptor.h", - "src/google/protobuf/descriptor.pb.cc", - "src/google/protobuf/descriptor.pb.h", - "src/google/protobuf/descriptor_database.cc", - "src/google/protobuf/descriptor_database.h", - "src/google/protobuf/duration.pb.cc", - "src/google/protobuf/duration.pb.h", - "src/google/protobuf/dynamic_message.cc", - "src/google/protobuf/dynamic_message.h", - "src/google/protobuf/empty.pb.cc", - "src/google/protobuf/empty.pb.h", - "src/google/protobuf/extension_set_heavy.cc", - "src/google/protobuf/field_mask.pb.cc", - "src/google/protobuf/field_mask.pb.h", - "src/google/protobuf/generated_enum_reflection.h", - "src/google/protobuf/generated_enum_util.h", - "src/google/protobuf/generated_message_reflection.cc", - "src/google/protobuf/generated_message_reflection.h", - - # gzip_stream.cc pulls in zlib, but it's not actually used by protoc, just - # by test code, so instead of compiling zlib for the host, let's just - # exclude this. - # "src/google/protobuf/io/gzip_stream.cc", - # "src/google/protobuf/io/gzip_stream.h", - "src/google/protobuf/io/printer.cc", - "src/google/protobuf/io/printer.h", - "src/google/protobuf/io/strtod.cc", - "src/google/protobuf/io/strtod.h", - "src/google/protobuf/io/tokenizer.cc", - "src/google/protobuf/io/tokenizer.h", - "src/google/protobuf/io/zero_copy_stream_impl.cc", - "src/google/protobuf/io/zero_copy_stream_impl.h", - "src/google/protobuf/map_entry.h", - "src/google/protobuf/map_field.cc", - "src/google/protobuf/map_field.h", - "src/google/protobuf/map_field_inl.h", - "src/google/protobuf/message.cc", - "src/google/protobuf/message.h", - "src/google/protobuf/metadata.h", - "src/google/protobuf/reflection.h", - "src/google/protobuf/reflection_internal.h", - "src/google/protobuf/reflection_ops.cc", - "src/google/protobuf/reflection_ops.h", - "src/google/protobuf/service.cc", - "src/google/protobuf/service.h", - "src/google/protobuf/source_context.pb.cc", - "src/google/protobuf/source_context.pb.h", - "src/google/protobuf/struct.pb.cc", - "src/google/protobuf/struct.pb.h", - "src/google/protobuf/stubs/mathlimits.cc", - "src/google/protobuf/stubs/mathlimits.h", - "src/google/protobuf/stubs/mathutil.h", - "src/google/protobuf/stubs/singleton.h", - "src/google/protobuf/stubs/substitute.cc", - "src/google/protobuf/stubs/substitute.h", - "src/google/protobuf/text_format.cc", - "src/google/protobuf/text_format.h", - "src/google/protobuf/timestamp.pb.cc", - "src/google/protobuf/timestamp.pb.h", - "src/google/protobuf/type.pb.cc", - "src/google/protobuf/type.pb.h", - "src/google/protobuf/unknown_field_set.cc", - "src/google/protobuf/unknown_field_set.h", - "src/google/protobuf/util/field_comparator.cc", - "src/google/protobuf/util/field_comparator.h", - "src/google/protobuf/util/field_mask_util.cc", - "src/google/protobuf/util/field_mask_util.h", - "src/google/protobuf/util/internal/constants.h", - "src/google/protobuf/util/internal/datapiece.cc", - "src/google/protobuf/util/internal/datapiece.h", - "src/google/protobuf/util/internal/default_value_objectwriter.cc", - "src/google/protobuf/util/internal/default_value_objectwriter.h", - "src/google/protobuf/util/internal/error_listener.cc", - "src/google/protobuf/util/internal/error_listener.h", - "src/google/protobuf/util/internal/field_mask_utility.cc", - "src/google/protobuf/util/internal/field_mask_utility.h", - "src/google/protobuf/util/internal/json_escaping.cc", - "src/google/protobuf/util/internal/json_escaping.h", - "src/google/protobuf/util/internal/json_objectwriter.cc", - "src/google/protobuf/util/internal/json_objectwriter.h", - "src/google/protobuf/util/internal/json_stream_parser.cc", - "src/google/protobuf/util/internal/json_stream_parser.h", - "src/google/protobuf/util/internal/location_tracker.h", - "src/google/protobuf/util/internal/object_location_tracker.h", - "src/google/protobuf/util/internal/object_source.h", - "src/google/protobuf/util/internal/object_writer.cc", - "src/google/protobuf/util/internal/object_writer.h", - "src/google/protobuf/util/internal/proto_writer.cc", - "src/google/protobuf/util/internal/proto_writer.h", - "src/google/protobuf/util/internal/protostream_objectsource.cc", - "src/google/protobuf/util/internal/protostream_objectsource.h", - "src/google/protobuf/util/internal/protostream_objectwriter.cc", - "src/google/protobuf/util/internal/protostream_objectwriter.h", - "src/google/protobuf/util/internal/structured_objectwriter.h", - "src/google/protobuf/util/internal/type_info.cc", - "src/google/protobuf/util/internal/type_info.h", - "src/google/protobuf/util/internal/type_info_test_helper.cc", - "src/google/protobuf/util/internal/type_info_test_helper.h", - "src/google/protobuf/util/internal/utility.cc", - "src/google/protobuf/util/internal/utility.h", - "src/google/protobuf/util/json_util.cc", - "src/google/protobuf/util/json_util.h", - "src/google/protobuf/util/message_differencer.cc", - "src/google/protobuf/util/message_differencer.h", - "src/google/protobuf/util/time_util.cc", - "src/google/protobuf/util/time_util.h", - "src/google/protobuf/util/type_resolver.h", - "src/google/protobuf/util/type_resolver_util.cc", - "src/google/protobuf/util/type_resolver_util.h", - "src/google/protobuf/wire_format.cc", - "src/google/protobuf/wire_format.h", - "src/google/protobuf/wrappers.pb.cc", - "src/google/protobuf/wrappers.pb.h", - ] - configs += [ ":protobuf_warnings" ] - public_configs = [ ":protobuf_config" ] - cflags = [] -} - -# Only compile the compiler for the host architecture. -if (current_toolchain == host_toolchain) { - # protoc compiler is separated into protoc library and executable targets to - # support protoc plugins that need to link libprotoc, but not the main() - # itself. See src/google/protobuf/compiler/plugin.h - static_library("protoc_lib") { - sources = [ - "$target_gen_dir/google/protobuf/compiler/js/well_known_types_embed.cc", - "src//google/protobuf/compiler/js/well_known_types_embed.h", - "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_padding_optimizer.cc", - "src/google/protobuf/compiler/cpp/cpp_padding_optimizer.h", - "src/google/protobuf/compiler/cpp/cpp_primitive_field.cc", - "src/google/protobuf/compiler/cpp/cpp_primitive_field.h", - "src/google/protobuf/compiler/cpp/cpp_service.cc", - "src/google/protobuf/compiler/cpp/cpp_service.h", - "src/google/protobuf/compiler/cpp/cpp_string_field.cc", - "src/google/protobuf/compiler/cpp/cpp_string_field.h", - "src/google/protobuf/compiler/csharp/csharp_doc_comment.cc", - "src/google/protobuf/compiler/csharp/csharp_doc_comment.h", - "src/google/protobuf/compiler/csharp/csharp_enum.cc", - "src/google/protobuf/compiler/csharp/csharp_enum.h", - "src/google/protobuf/compiler/csharp/csharp_enum_field.cc", - "src/google/protobuf/compiler/csharp/csharp_enum_field.h", - "src/google/protobuf/compiler/csharp/csharp_field_base.cc", - "src/google/protobuf/compiler/csharp/csharp_field_base.h", - "src/google/protobuf/compiler/csharp/csharp_generator.cc", - "src/google/protobuf/compiler/csharp/csharp_generator.h", - "src/google/protobuf/compiler/csharp/csharp_helpers.cc", - "src/google/protobuf/compiler/csharp/csharp_helpers.h", - "src/google/protobuf/compiler/csharp/csharp_map_field.cc", - "src/google/protobuf/compiler/csharp/csharp_map_field.h", - "src/google/protobuf/compiler/csharp/csharp_message.cc", - "src/google/protobuf/compiler/csharp/csharp_message.h", - "src/google/protobuf/compiler/csharp/csharp_message_field.cc", - "src/google/protobuf/compiler/csharp/csharp_message_field.h", - "src/google/protobuf/compiler/csharp/csharp_options.h", - "src/google/protobuf/compiler/csharp/csharp_primitive_field.cc", - "src/google/protobuf/compiler/csharp/csharp_primitive_field.h", - "src/google/protobuf/compiler/csharp/csharp_reflection_class.cc", - "src/google/protobuf/compiler/csharp/csharp_reflection_class.h", - "src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc", - "src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h", - "src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc", - "src/google/protobuf/compiler/csharp/csharp_repeated_message_field.h", - "src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc", - "src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h", - "src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc", - "src/google/protobuf/compiler/csharp/csharp_source_generator_base.h", - "src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc", - "src/google/protobuf/compiler/csharp/csharp_wrapper_field.h", - "src/google/protobuf/compiler/java/java_context.cc", - "src/google/protobuf/compiler/java/java_context.h", - "src/google/protobuf/compiler/java/java_doc_comment.cc", - "src/google/protobuf/compiler/java/java_doc_comment.h", - "src/google/protobuf/compiler/java/java_enum.cc", - "src/google/protobuf/compiler/java/java_enum.h", - "src/google/protobuf/compiler/java/java_enum_field.cc", - "src/google/protobuf/compiler/java/java_enum_field.h", - "src/google/protobuf/compiler/java/java_enum_field_lite.cc", - "src/google/protobuf/compiler/java/java_enum_field_lite.h", - "src/google/protobuf/compiler/java/java_enum_lite.cc", - "src/google/protobuf/compiler/java/java_enum_lite.h", - "src/google/protobuf/compiler/java/java_extension.cc", - "src/google/protobuf/compiler/java/java_extension.h", - "src/google/protobuf/compiler/java/java_extension_lite.cc", - "src/google/protobuf/compiler/java/java_extension_lite.h", - "src/google/protobuf/compiler/java/java_field.cc", - "src/google/protobuf/compiler/java/java_field.h", - "src/google/protobuf/compiler/java/java_file.cc", - "src/google/protobuf/compiler/java/java_file.h", - "src/google/protobuf/compiler/java/java_generator.cc", - "src/google/protobuf/compiler/java/java_generator.h", - "src/google/protobuf/compiler/java/java_generator_factory.cc", - "src/google/protobuf/compiler/java/java_generator_factory.h", - "src/google/protobuf/compiler/java/java_helpers.cc", - "src/google/protobuf/compiler/java/java_helpers.h", - "src/google/protobuf/compiler/java/java_lazy_message_field.cc", - "src/google/protobuf/compiler/java/java_lazy_message_field.h", - "src/google/protobuf/compiler/java/java_lazy_message_field_lite.cc", - "src/google/protobuf/compiler/java/java_lazy_message_field_lite.h", - "src/google/protobuf/compiler/java/java_map_field.cc", - "src/google/protobuf/compiler/java/java_map_field.h", - "src/google/protobuf/compiler/java/java_map_field_lite.cc", - "src/google/protobuf/compiler/java/java_map_field_lite.h", - "src/google/protobuf/compiler/java/java_message.cc", - "src/google/protobuf/compiler/java/java_message.h", - "src/google/protobuf/compiler/java/java_message_builder.cc", - "src/google/protobuf/compiler/java/java_message_builder.h", - "src/google/protobuf/compiler/java/java_message_builder_lite.cc", - "src/google/protobuf/compiler/java/java_message_builder_lite.h", - "src/google/protobuf/compiler/java/java_message_field.cc", - "src/google/protobuf/compiler/java/java_message_field.h", - "src/google/protobuf/compiler/java/java_message_field_lite.cc", - "src/google/protobuf/compiler/java/java_message_field_lite.h", - "src/google/protobuf/compiler/java/java_message_lite.cc", - "src/google/protobuf/compiler/java/java_message_lite.h", - "src/google/protobuf/compiler/java/java_name_resolver.cc", - "src/google/protobuf/compiler/java/java_name_resolver.h", - "src/google/protobuf/compiler/java/java_primitive_field.cc", - "src/google/protobuf/compiler/java/java_primitive_field.h", - "src/google/protobuf/compiler/java/java_primitive_field_lite.cc", - "src/google/protobuf/compiler/java/java_primitive_field_lite.h", - "src/google/protobuf/compiler/java/java_service.cc", - "src/google/protobuf/compiler/java/java_service.h", - "src/google/protobuf/compiler/java/java_shared_code_generator.cc", - "src/google/protobuf/compiler/java/java_shared_code_generator.h", - "src/google/protobuf/compiler/java/java_string_field.cc", - "src/google/protobuf/compiler/java/java_string_field.h", - "src/google/protobuf/compiler/java/java_string_field_lite.cc", - "src/google/protobuf/compiler/java/java_string_field_lite.h", - "src/google/protobuf/compiler/javanano/javanano_enum.cc", - "src/google/protobuf/compiler/javanano/javanano_enum.h", - "src/google/protobuf/compiler/javanano/javanano_enum_field.cc", - "src/google/protobuf/compiler/javanano/javanano_enum_field.h", - "src/google/protobuf/compiler/javanano/javanano_extension.cc", - "src/google/protobuf/compiler/javanano/javanano_extension.h", - "src/google/protobuf/compiler/javanano/javanano_field.cc", - "src/google/protobuf/compiler/javanano/javanano_field.h", - "src/google/protobuf/compiler/javanano/javanano_file.cc", - "src/google/protobuf/compiler/javanano/javanano_file.h", - "src/google/protobuf/compiler/javanano/javanano_generator.cc", - "src/google/protobuf/compiler/javanano/javanano_generator.h", - "src/google/protobuf/compiler/javanano/javanano_helpers.cc", - "src/google/protobuf/compiler/javanano/javanano_helpers.h", - "src/google/protobuf/compiler/javanano/javanano_map_field.cc", - "src/google/protobuf/compiler/javanano/javanano_map_field.h", - "src/google/protobuf/compiler/javanano/javanano_message.cc", - "src/google/protobuf/compiler/javanano/javanano_message.h", - "src/google/protobuf/compiler/javanano/javanano_message_field.cc", - "src/google/protobuf/compiler/javanano/javanano_message_field.h", - "src/google/protobuf/compiler/javanano/javanano_primitive_field.cc", - "src/google/protobuf/compiler/javanano/javanano_primitive_field.h", - "src/google/protobuf/compiler/js/js_generator.cc", - "src/google/protobuf/compiler/js/js_generator.h", - "src/google/protobuf/compiler/objectivec/objectivec_enum.cc", - "src/google/protobuf/compiler/objectivec/objectivec_enum.h", - "src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc", - "src/google/protobuf/compiler/objectivec/objectivec_enum_field.h", - "src/google/protobuf/compiler/objectivec/objectivec_extension.cc", - "src/google/protobuf/compiler/objectivec/objectivec_extension.h", - "src/google/protobuf/compiler/objectivec/objectivec_field.cc", - "src/google/protobuf/compiler/objectivec/objectivec_field.h", - "src/google/protobuf/compiler/objectivec/objectivec_file.cc", - "src/google/protobuf/compiler/objectivec/objectivec_file.h", - "src/google/protobuf/compiler/objectivec/objectivec_generator.cc", - "src/google/protobuf/compiler/objectivec/objectivec_generator.h", - "src/google/protobuf/compiler/objectivec/objectivec_helpers.cc", - "src/google/protobuf/compiler/objectivec/objectivec_helpers.h", - "src/google/protobuf/compiler/objectivec/objectivec_map_field.cc", - "src/google/protobuf/compiler/objectivec/objectivec_map_field.h", - "src/google/protobuf/compiler/objectivec/objectivec_message.cc", - "src/google/protobuf/compiler/objectivec/objectivec_message.h", - "src/google/protobuf/compiler/objectivec/objectivec_message_field.cc", - "src/google/protobuf/compiler/objectivec/objectivec_message_field.h", - "src/google/protobuf/compiler/objectivec/objectivec_oneof.cc", - "src/google/protobuf/compiler/objectivec/objectivec_oneof.h", - "src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc", - "src/google/protobuf/compiler/objectivec/objectivec_primitive_field.h", - "src/google/protobuf/compiler/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 += [ ":protobuf_warnings" ] - public_deps = [ - ":protobuf_full", - ":run_js_embed", - ] - } - - executable("protoc") { - sources = [ "src/google/protobuf/compiler/main.cc" ] - deps = [ ":protoc_lib" ] - } -}
diff --git a/proto_library.gni b/proto_library.gni deleted file mode 100644 index f1f15bf..0000000 --- a/proto_library.gni +++ /dev/null
@@ -1,425 +0,0 @@ -# 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_in_dir (optional) -# Specifies the path relative to the current BUILD.gn file where -# proto files are located and the directory structure of -# this proto library starts. -# -# This option can be calculated automatically but it will raise an -# assertion error if any nested directories are found. -# -# proto_out_dir (optional) -# Specifies the path suffix that output files are generated under. -# This path will be appended to |root_gen_dir|, but for python stubs -# it will be appended to |root_build_dir|/pyproto. -# -# generate_python (optional, default true) -# Generate Python protobuf stubs. -# -# generate_cc (optional, default true) -# Generate C++ protobuf stubs. -# -# generate_descriptor_set (optional, default false) -# Generate a descriptor set file. -# -# generate_go (optional, default false) -# Generate Go protobuf stubs. -# -# 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) and set -# component_build_force_source_set = true. -# -# cc_include (optional) -# String listing an extra include that should be passed. -# Example: cc_include = "foo/bar.h" -# -# generator_plugin_label (optional) -# GN label for plugin executable which generates custom cc stubs. -# Don't specify a toolchain, host toolchain is assumed. -# -# generator_plugin_script (optional) -# Path to plugin script. Mutually exclusive with |generator_plugin_label|. -# -# generator_plugin_script_deps (optional) -# List of additional files required for generator plugin script. -# -# generator_plugin_suffix[es] (required if using a plugin) -# Suffix (before extension) for generated .cc and .h files -# or list of suffixes for all files (with extensions). -# -# generator_plugin_options (optional) -# Extra flags passed to the plugin. See cc_generator_options. -# -# deps (optional) -# Additional dependencies. -# -# use_protobuf_full (optional, default false) -# If adding protobuf library would be required, adds protobuf_full to deps -# instead of protobuf_lite. -# -# import_protobuf_full (optional, default false) -# Allows .proto files to import .proto files from protobuf_full, without -# adding a dependency on all the C++ code in that library. -# -# import_dirs (optional) -# A list of extra import directories to be passed to protoc compiler. The -# default case is just proto_in_dir. -# WARNING: This options should not be used in Chrome code until -# http://crbug.com/691451 is resolved. -# -# 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") - proto_sources = invoker.sources - - forward_variables_from(invoker, [ "visibility" ]) - - # 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([]) - - if (defined(invoker.generate_cc)) { - generate_cc = invoker.generate_cc - } else { - generate_cc = true - } - - if (defined(invoker.generate_python)) { - generate_python = invoker.generate_python - } else { - generate_python = true - } - - if (defined(invoker.generate_descriptor_set)) { - generate_descriptor_set = invoker.generate_descriptor_set - } else { - generate_descriptor_set = false - } - - if (defined(invoker.generate_go)) { - generate_go = invoker.generate_go - } else { - generate_go = false - } - - if (defined(invoker.generator_plugin_label)) { - # Straightforward way to get the name of executable doesn't work because - # |root_out_dir| and |root_build_dir| may differ in cross-compilation and - # also Windows executables have .exe at the end. - - plugin_host_label = invoker.generator_plugin_label + "($host_toolchain)" - plugin_path = get_label_info(plugin_host_label, "root_out_dir") + "/" + - get_label_info(plugin_host_label, "name") - generate_with_plugin = true - } else if (defined(invoker.generator_plugin_script)) { - plugin_path = invoker.generator_plugin_script - generate_with_plugin = true - } else { - generate_with_plugin = false - } - - if (generate_with_plugin) { - if (defined(invoker.generator_plugin_suffix)) { - generator_plugin_suffixes = [ - "${invoker.generator_plugin_suffix}.h", - "${invoker.generator_plugin_suffix}.cc", - ] - } else { - generator_plugin_suffixes = invoker.generator_plugin_suffixes - } - } - - if (defined(invoker.proto_in_dir)) { - proto_in_dir = invoker.proto_in_dir - } else { - proto_in_dir = get_path_info(proto_sources[0], "dir") - - # Sanity check, |proto_in_dir| should be defined to allow sub-directories. - foreach(proto_source, proto_sources) { - assert(get_path_info(proto_source, "dir") == proto_in_dir, - "Please define |proto_in_dir| to allow nested directories.") - } - } - - # Avoid absolute path because of the assumption that |proto_in_dir| is - # relative to the directory of current BUILD.gn file. - proto_in_dir = rebase_path(proto_in_dir, ".") - - if (defined(invoker.proto_out_dir)) { - proto_out_dir = invoker.proto_out_dir - } else { - # Absolute path to the directory of current BUILD.gn file excluding "//". - proto_out_dir = rebase_path(".", "//") - if (proto_in_dir != ".") { - proto_out_dir += "/$proto_in_dir" - } - } - - # We need both absolute path to use in GN statements and a relative one - # to pass to external script. - if (generate_cc || generate_with_plugin) { - cc_out_dir = "$root_gen_dir/" + proto_out_dir - rel_cc_out_dir = rebase_path(cc_out_dir, root_build_dir) - } - if (generate_python) { - py_out_dir = "$root_out_dir/pyproto/" + proto_out_dir - rel_py_out_dir = rebase_path(py_out_dir, root_build_dir) - } - if (generate_go) { - go_out_dir = "$root_gen_dir/go-proto-gen/src/" + proto_out_dir - rel_go_out_dir = rebase_path(go_out_dir, root_build_dir) - } - - protos = rebase_path(invoker.sources, proto_in_dir) - protogens = [] - if (generate_descriptor_set) { - descriptor_set_out_out = "${target_out_dir}/${target_name}.desc.pb" - rel_descriptor_set_out_out = - rebase_path(descriptor_set_out_out, root_build_dir) - protogens += [ descriptor_set_out_out ] - } - - # List output files. - foreach(proto, protos) { - proto_dir = get_path_info(proto, "dir") - proto_name = get_path_info(proto, "name") - proto_path = proto_dir + "/" + proto_name - - if (generate_cc) { - protogens += [ - "$cc_out_dir/$proto_path.pb.h", - "$cc_out_dir/$proto_path.pb.cc", - ] - } - if (generate_python) { - protogens += [ "$py_out_dir/${proto_path}_pb2.py" ] - } - if (generate_go) { - protogens += [ "$go_out_dir/${proto_path}.pb.go" ] - } - if (generate_with_plugin) { - foreach(suffix, generator_plugin_suffixes) { - protogens += [ "$cc_out_dir/${proto_path}${suffix}" ] - } - } - } - - action_name = "${target_name}_gen" - - # Generate protobuf stubs. - action(action_name) { - visibility = [] - visibility = [ ":*" ] - hermetic_deps = false - script = "//third_party/protobuf/protoc_wrapper.py" - sources = proto_sources - outputs = get_path_info(protogens, "abspath") - args = protos - - protoc_label = "//third_party/protobuf:protoc($host_toolchain)" - protoc_path = get_label_info(protoc_label, "root_out_dir") + "/protoc" - - if (generate_go) { - protoc_gen_go_label = "//third_party/golibs/github.com/golang/protobuf/protoc-gen-go($host_toolchain)" - protoc_gen_go_path = - get_label_info(protoc_gen_go_label, "root_out_dir") + "/protoc-gen-go" - } - - args += [ - # Wrapper should never pick a system protoc. - # Path should be rebased because |root_build_dir| for current toolchain - # may be different from |root_out_dir| of protoc built on host toolchain. - "--protoc", - "./" + rebase_path(protoc_path, root_build_dir), - "--proto-in-dir", - rebase_path(proto_in_dir, root_build_dir), - ] - - if (generate_cc) { - args += [ - "--cc-out-dir", - rel_cc_out_dir, - ] - if (defined(invoker.cc_generator_options)) { - args += [ - "--cc-options", - invoker.cc_generator_options, - ] - } - if (defined(invoker.cc_include)) { - args += [ - "--include", - invoker.cc_include, - ] - } - } - - if (generate_python) { - args += [ - "--py-out-dir", - rel_py_out_dir, - ] - } - - if (generate_descriptor_set) { - args += [ - "--descriptor-set-out", - rel_descriptor_set_out_out, - ] - } - - if (generate_go) { - args += [ - "--plugin", - rebase_path(protoc_gen_go_path, root_build_dir), - "--plugin-out-dir", - rel_go_out_dir, - "--plugin-options", - "paths=source_relative", - ] - } - - if (generate_with_plugin) { - args += [ - "--plugin", - rebase_path(plugin_path, root_build_dir), - "--plugin-out-dir", - rel_cc_out_dir, - ] - if (defined(invoker.generator_plugin_options)) { - args += [ - "--plugin-options", - invoker.generator_plugin_options, - ] - } - } - - if (defined(invoker.import_dirs)) { - foreach(path, invoker.import_dirs) { - args += [ "--import-dir=" + rebase_path(path, root_build_dir) ] - } - } - - if ((defined(invoker.use_protobuf_full) && invoker.use_protobuf_full) || - (defined(invoker.import_protobuf_full) && - invoker.import_protobuf_full)) { - args += [ "--import-dir=" + - rebase_path("//third_party/protobuf/src", root_build_dir) ] - } - - # System protoc is not used so it's necessary to build one. - inputs = [ protoc_path ] - deps = [ protoc_label ] - - if (generate_go) { - deps += [ protoc_gen_go_label ] - inputs += [ protoc_gen_go_path ] - } - - if (generate_with_plugin) { - inputs += [ plugin_path ] - if (defined(invoker.generator_plugin_script_deps)) { - # Additional scripts for plugin. - inputs += invoker.generator_plugin_script_deps - } - if (defined(plugin_host_label)) { - # Action depends on native generator plugin but for host toolchain only. - deps += [ plugin_host_label ] - } - } - - if (defined(invoker.deps)) { - # The deps may have steps that have to run before running protoc. - deps += invoker.deps - } - } - - # Option to disable building a library in component build. - if (defined(invoker.component_build_force_source_set) && - invoker.component_build_force_source_set && is_component_build) { - link_target_type = "source_set" - } - - # Build generated protobuf stubs as static libary. - _static_lib_deps = [] - if (generate_cc || generate_python || generate_with_plugin) { - _static_lib_name = "${target_name}_static_lib" - _static_lib_deps = [ ":${_static_lib_name}" ] - static_library(_static_lib_name) { - forward_variables_from(invoker, - [ - "defines", - "deps", - "testonly", - ]) - visibility = [] - visibility = [ ":*" ] - output_name = target_name - sources = [] - foreach(source, get_target_outputs(":${action_name}")) { - extension = get_path_info(source, "extension") - if (extension == "h" || extension == "cc") { - sources += [ source ] - } - } - - if (defined(invoker.extra_configs)) { - configs += invoker.extra_configs - } - - configs += [ "//third_party/protobuf:protobuf_warnings" ] - public_configs = [ "//third_party/protobuf:using_proto" ] - - if (!defined(deps)) { - deps = [] - } - deps += [ ":${action_name}" ] - - # If using built-in cc generator, the resulting headers reference headers - # within protobuf_lite. Hence, dependencies require those headers too. - # If using generator plugin, extra deps should be resolved by the invoker. - if (generate_cc) { - if (defined(invoker.use_protobuf_full) && - invoker.use_protobuf_full == true) { - public_deps = [ "//third_party/protobuf:protobuf_full" ] - } else { - public_deps = [ "//third_party/protobuf:protobuf_lite" ] - } - } - } - } - - group(target_name) { - public_deps = [ ":${action_name}" ] + _static_lib_deps - } -}
diff --git a/test/BUILD.gn b/test/BUILD.gn deleted file mode 100644 index 85fc19d..0000000 --- a/test/BUILD.gn +++ /dev/null
@@ -1,32 +0,0 @@ -import("//build/test.gni") -import("//build/test/test_package.gni") -import("//third_party/protobuf/proto_library.gni") - -proto_library("custom_options_proto") { - sources = [ - "custom_options.proto", - ] - use_protobuf_full = true -} - -test("custom_options_test") { - sources = [ - "custom_options.cc", - ] - deps = [ - ":custom_options_proto", - "//third_party/googletest:gtest_main", - ] -} - -test_package("protobuf_tests") { - deps = [ - ":custom_options_test", - ] - tests = [ - { - name = "custom_options_test" - environments = basic_envs - }, - ] -}