# Copyright (C) 2017 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("../gn/perfetto.gni") import("../gn/standalone/libc++/libc++.gni") import("../gn/standalone/sanitizers/vars.gni") # We should never get here in embedder builds. assert(perfetto_build_standalone || is_perfetto_build_generator) # This is to make sure that we don't add accidental dependencies from build # files in src/ or include/ to buildtools. All deps (outside of /gn/*) should # go via the groups defined in gn/BUILD.gn, not directly into buildtools. This # is to allow embedders to re-route targets to their third_party directories. _buildtools_visibility = [ "./*", "../gn:*", "../gn/standalone:*", ] # Used to suppress warnings coming from googletest macros expansions. # These suppressions apply both to gtest/gmock haders and to perfetto's # test translation units. See test/gtest_and_gmock.h for the subset of # suppressions that apply only to the gmock/gtest headers. config("test_warning_suppressions") { visibility = _buildtools_visibility if (is_clang) { cflags = [ "-Wno-covered-switch-default", "-Wno-deprecated-copy-dtor", "-Wno-global-constructors", "-Wno-inconsistent-missing-override", "-Wno-language-extension-token", "-Wno-suggest-destructor-override", "-Wno-suggest-override", "-Wno-undef", "-Wno-unknown-warning-option", "-Wno-unused-member-function", "-Wno-used-but-marked-unused", "-Wno-weak-vtables", "-Wno-zero-as-null-pointer-constant", ] } else if (!is_win) { cflags = [ "-Wno-unknown-warning-option", "-Wno-deprecated-copy", ] } } config("libunwindstack_config") { visibility = _buildtools_visibility cflags = [ # Using -isystem instead of include_dirs (-I), so we don't need to suppress # warnings coming from libunwindstack headers. Doing so would mask warnings # in our own code. perfetto_isystem_cflag, rebase_path("android-unwinding/libunwindstack/include", root_build_dir), perfetto_isystem_cflag, rebase_path("android-libprocinfo/include", root_build_dir), perfetto_isystem_cflag, rebase_path("android-libbase/include", root_build_dir), perfetto_isystem_cflag, rebase_path("android-core/demangle/include", root_build_dir), ] if (is_android) { cflags += [ perfetto_isystem_cflag, rebase_path("bionic/libc/include", root_build_dir), ] } defines = [ "NO_LIBDEXFILE_SUPPORT" ] } # Config to include gtest.h in test targets. config("googletest_config") { visibility = _buildtools_visibility defines = [ "GTEST_LANG_CXX11=1" ] include_dirs = [ "googletest/googletest/include", "googletest/googlemock/include", ] configs = [ ":test_warning_suppressions" ] } source_set("gtest") { visibility = _buildtools_visibility testonly = true include_dirs = [ "googletest/googletest" ] configs -= [ "//gn/standalone:extra_warnings" ] public_configs = [ ":googletest_config" ] all_dependent_configs = [ ":googletest_config" ] sources = [ "googletest/googletest/src/gtest-all.cc" ] deps = [ "//gn:default_deps" ] } source_set("gtest_main") { visibility = _buildtools_visibility testonly = true configs -= [ "//gn/standalone:extra_warnings" ] configs += [ ":googletest_config" ] sources = [ "googletest/googletest/src/gtest_main.cc" ] deps = [ "//gn:default_deps" ] } source_set("gmock") { visibility = _buildtools_visibility testonly = true include_dirs = [ "googletest/googlemock" ] configs -= [ "//gn/standalone:extra_warnings" ] public_configs = [ ":googletest_config" ] all_dependent_configs = [ ":googletest_config" ] sources = [ "googletest/googlemock/src/gmock-all.cc" ] deps = [ "//gn:default_deps" ] } # Configuration used to build libprotobuf_* and the protoc compiler. config("protobuf_config") { visibility = _buildtools_visibility # Apply the lighter supressions and macro definitions from above. configs = [ "//gn:protobuf_gen_config" ] defines = [ "HAVE_PTHREAD=1" ] cflags = [] if (is_clang) { # We do NOT build libprotobuf with -Wextra or -Weverything. But still it # hits some warnings that we need to suppress. cflags += [ "-Wno-unknown-warning-option", "-Wno-enum-compare-switch", "-Wno-user-defined-warnings", "-Wno-tautological-constant-compare", "-Wno-inconsistent-missing-override", ] } else if (!is_win) { # implies gcc cflags += [ "-Wno-return-type" ] } if (is_win) { cflags += [ "/W0" ] } } # Configuration propagated to targets depending on protobuf_full. config("protobuf_full_public_config") { visibility = _buildtools_visibility cflags = [] if (is_clang) { cflags += [ "-Wno-switch-enum" ] } } source_set("protobuf_lite") { visibility = _buildtools_visibility sources = [ "protobuf/src/google/protobuf/any_lite.cc", "protobuf/src/google/protobuf/arena.cc", "protobuf/src/google/protobuf/arena.h", "protobuf/src/google/protobuf/arena_impl.h", "protobuf/src/google/protobuf/arenastring.h", "protobuf/src/google/protobuf/extension_set.cc", "protobuf/src/google/protobuf/extension_set.h", "protobuf/src/google/protobuf/generated_enum_util.cc", "protobuf/src/google/protobuf/generated_enum_util.h", "protobuf/src/google/protobuf/generated_message_table_driven_lite.cc", "protobuf/src/google/protobuf/generated_message_table_driven_lite.h", "protobuf/src/google/protobuf/generated_message_util.cc", "protobuf/src/google/protobuf/generated_message_util.h", "protobuf/src/google/protobuf/has_bits.h", "protobuf/src/google/protobuf/implicit_weak_message.cc", "protobuf/src/google/protobuf/implicit_weak_message.h", "protobuf/src/google/protobuf/inlined_string_field.h", "protobuf/src/google/protobuf/io/coded_stream.cc", "protobuf/src/google/protobuf/io/coded_stream.h", "protobuf/src/google/protobuf/io/coded_stream_inl.h", "protobuf/src/google/protobuf/io/io_win32.cc", "protobuf/src/google/protobuf/io/io_win32.h", "protobuf/src/google/protobuf/io/strtod.cc", "protobuf/src/google/protobuf/io/strtod.h", "protobuf/src/google/protobuf/io/zero_copy_stream.cc", "protobuf/src/google/protobuf/io/zero_copy_stream.h", "protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc", "protobuf/src/google/protobuf/io/zero_copy_stream_impl.h", "protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc", "protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h", "protobuf/src/google/protobuf/map.h", "protobuf/src/google/protobuf/map_entry_lite.h", "protobuf/src/google/protobuf/map_field_lite.h", "protobuf/src/google/protobuf/map_type_handler.h", "protobuf/src/google/protobuf/message_lite.cc", "protobuf/src/google/protobuf/message_lite.h", "protobuf/src/google/protobuf/repeated_field.cc", "protobuf/src/google/protobuf/repeated_field.h", "protobuf/src/google/protobuf/stubs/bytestream.cc", "protobuf/src/google/protobuf/stubs/bytestream.h", "protobuf/src/google/protobuf/stubs/callback.h", "protobuf/src/google/protobuf/stubs/casts.h", "protobuf/src/google/protobuf/stubs/common.cc", "protobuf/src/google/protobuf/stubs/common.h", "protobuf/src/google/protobuf/stubs/fastmem.h", "protobuf/src/google/protobuf/stubs/hash.h", "protobuf/src/google/protobuf/stubs/int128.cc", "protobuf/src/google/protobuf/stubs/int128.h", "protobuf/src/google/protobuf/stubs/logging.h", "protobuf/src/google/protobuf/stubs/macros.h", "protobuf/src/google/protobuf/stubs/map_util.h", "protobuf/src/google/protobuf/stubs/mutex.h", "protobuf/src/google/protobuf/stubs/once.h", "protobuf/src/google/protobuf/stubs/platform_macros.h", "protobuf/src/google/protobuf/stubs/port.h", "protobuf/src/google/protobuf/stubs/status.cc", "protobuf/src/google/protobuf/stubs/status.h", "protobuf/src/google/protobuf/stubs/status_macros.h", "protobuf/src/google/protobuf/stubs/statusor.cc", "protobuf/src/google/protobuf/stubs/statusor.h", "protobuf/src/google/protobuf/stubs/stl_util.h", "protobuf/src/google/protobuf/stubs/stringpiece.cc", "protobuf/src/google/protobuf/stubs/stringpiece.h", "protobuf/src/google/protobuf/stubs/stringprintf.cc", "protobuf/src/google/protobuf/stubs/stringprintf.h", "protobuf/src/google/protobuf/stubs/structurally_valid.cc", "protobuf/src/google/protobuf/stubs/strutil.cc", "protobuf/src/google/protobuf/stubs/strutil.h", "protobuf/src/google/protobuf/stubs/template_util.h", "protobuf/src/google/protobuf/stubs/time.cc", "protobuf/src/google/protobuf/stubs/time.h", "protobuf/src/google/protobuf/wire_format_lite.cc", "protobuf/src/google/protobuf/wire_format_lite.h", ] configs -= [ "//gn/standalone:extra_warnings" ] if (is_win) { # Protobuf has its own #define WIN32_LEAN_AND_MEAN. configs -= [ "//gn/standalone:win32_lean_and_mean" ] } configs += [ ":protobuf_config" ] public_configs = [ "//gn:protobuf_gen_config" ] deps = [ "//gn:default_deps" ] } source_set("protobuf_full") { visibility = _buildtools_visibility deps = [ ":protobuf_lite", "//gn:default_deps", ] sources = [ "protobuf/src/google/protobuf/any.cc", "protobuf/src/google/protobuf/any.h", "protobuf/src/google/protobuf/any.pb.cc", "protobuf/src/google/protobuf/any.pb.h", "protobuf/src/google/protobuf/api.pb.cc", "protobuf/src/google/protobuf/api.pb.h", "protobuf/src/google/protobuf/compiler/importer.cc", "protobuf/src/google/protobuf/compiler/importer.h", "protobuf/src/google/protobuf/compiler/parser.cc", "protobuf/src/google/protobuf/compiler/parser.h", "protobuf/src/google/protobuf/descriptor.cc", "protobuf/src/google/protobuf/descriptor.h", "protobuf/src/google/protobuf/descriptor.pb.cc", "protobuf/src/google/protobuf/descriptor.pb.h", "protobuf/src/google/protobuf/descriptor_database.cc", "protobuf/src/google/protobuf/descriptor_database.h", "protobuf/src/google/protobuf/duration.pb.cc", "protobuf/src/google/protobuf/duration.pb.h", "protobuf/src/google/protobuf/dynamic_message.cc", "protobuf/src/google/protobuf/dynamic_message.h", "protobuf/src/google/protobuf/empty.pb.cc", "protobuf/src/google/protobuf/empty.pb.h", "protobuf/src/google/protobuf/extension_set_heavy.cc", "protobuf/src/google/protobuf/field_mask.pb.cc", "protobuf/src/google/protobuf/field_mask.pb.h", "protobuf/src/google/protobuf/generated_enum_reflection.h", "protobuf/src/google/protobuf/generated_message_reflection.cc", "protobuf/src/google/protobuf/generated_message_reflection.h", "protobuf/src/google/protobuf/io/gzip_stream.cc", "protobuf/src/google/protobuf/io/gzip_stream.h", "protobuf/src/google/protobuf/io/printer.cc", "protobuf/src/google/protobuf/io/printer.h", "protobuf/src/google/protobuf/io/tokenizer.cc", "protobuf/src/google/protobuf/io/tokenizer.h", "protobuf/src/google/protobuf/map_entry.h", "protobuf/src/google/protobuf/map_field.cc", "protobuf/src/google/protobuf/map_field.h", "protobuf/src/google/protobuf/map_field_inl.h", "protobuf/src/google/protobuf/message.cc", "protobuf/src/google/protobuf/message.h", "protobuf/src/google/protobuf/metadata.h", "protobuf/src/google/protobuf/reflection.h", "protobuf/src/google/protobuf/reflection_internal.h", "protobuf/src/google/protobuf/reflection_ops.cc", "protobuf/src/google/protobuf/reflection_ops.h", "protobuf/src/google/protobuf/service.cc", "protobuf/src/google/protobuf/service.h", "protobuf/src/google/protobuf/source_context.pb.cc", "protobuf/src/google/protobuf/source_context.pb.h", "protobuf/src/google/protobuf/struct.pb.cc", "protobuf/src/google/protobuf/struct.pb.h", "protobuf/src/google/protobuf/stubs/mathlimits.cc", "protobuf/src/google/protobuf/stubs/mathlimits.h", "protobuf/src/google/protobuf/stubs/mathutil.h", "protobuf/src/google/protobuf/stubs/substitute.cc", "protobuf/src/google/protobuf/stubs/substitute.h", "protobuf/src/google/protobuf/text_format.cc", "protobuf/src/google/protobuf/text_format.h", "protobuf/src/google/protobuf/timestamp.pb.cc", "protobuf/src/google/protobuf/timestamp.pb.h", "protobuf/src/google/protobuf/type.pb.cc", "protobuf/src/google/protobuf/type.pb.h", "protobuf/src/google/protobuf/unknown_field_set.cc", "protobuf/src/google/protobuf/unknown_field_set.h", "protobuf/src/google/protobuf/util/field_comparator.cc", "protobuf/src/google/protobuf/util/field_comparator.h", "protobuf/src/google/protobuf/util/field_mask_util.cc", "protobuf/src/google/protobuf/util/field_mask_util.h", "protobuf/src/google/protobuf/util/internal/constants.h", "protobuf/src/google/protobuf/util/internal/datapiece.cc", "protobuf/src/google/protobuf/util/internal/datapiece.h", "protobuf/src/google/protobuf/util/internal/default_value_objectwriter.cc", "protobuf/src/google/protobuf/util/internal/default_value_objectwriter.h", "protobuf/src/google/protobuf/util/internal/error_listener.cc", "protobuf/src/google/protobuf/util/internal/error_listener.h", "protobuf/src/google/protobuf/util/internal/field_mask_utility.cc", "protobuf/src/google/protobuf/util/internal/field_mask_utility.h", "protobuf/src/google/protobuf/util/internal/json_escaping.cc", "protobuf/src/google/protobuf/util/internal/json_escaping.h", "protobuf/src/google/protobuf/util/internal/json_objectwriter.cc", "protobuf/src/google/protobuf/util/internal/json_objectwriter.h", "protobuf/src/google/protobuf/util/internal/json_stream_parser.cc", "protobuf/src/google/protobuf/util/internal/json_stream_parser.h", "protobuf/src/google/protobuf/util/internal/location_tracker.h", "protobuf/src/google/protobuf/util/internal/object_location_tracker.h", "protobuf/src/google/protobuf/util/internal/object_source.h", "protobuf/src/google/protobuf/util/internal/object_writer.cc", "protobuf/src/google/protobuf/util/internal/object_writer.h", "protobuf/src/google/protobuf/util/internal/proto_writer.cc", "protobuf/src/google/protobuf/util/internal/proto_writer.h", "protobuf/src/google/protobuf/util/internal/protostream_objectsource.cc", "protobuf/src/google/protobuf/util/internal/protostream_objectsource.h", "protobuf/src/google/protobuf/util/internal/protostream_objectwriter.cc", "protobuf/src/google/protobuf/util/internal/protostream_objectwriter.h", "protobuf/src/google/protobuf/util/internal/structured_objectwriter.h", "protobuf/src/google/protobuf/util/internal/type_info.cc", "protobuf/src/google/protobuf/util/internal/type_info.h", "protobuf/src/google/protobuf/util/internal/type_info_test_helper.cc", "protobuf/src/google/protobuf/util/internal/type_info_test_helper.h", "protobuf/src/google/protobuf/util/internal/utility.cc", "protobuf/src/google/protobuf/util/internal/utility.h", "protobuf/src/google/protobuf/util/json_util.cc", "protobuf/src/google/protobuf/util/json_util.h", "protobuf/src/google/protobuf/util/message_differencer.cc", "protobuf/src/google/protobuf/util/message_differencer.h", "protobuf/src/google/protobuf/util/time_util.cc", "protobuf/src/google/protobuf/util/time_util.h", "protobuf/src/google/protobuf/util/type_resolver.h", "protobuf/src/google/protobuf/util/type_resolver_util.cc", "protobuf/src/google/protobuf/util/type_resolver_util.h", "protobuf/src/google/protobuf/wire_format.cc", "protobuf/src/google/protobuf/wire_format.h", "protobuf/src/google/protobuf/wrappers.pb.cc", "protobuf/src/google/protobuf/wrappers.pb.h", ] configs -= [ "//gn/standalone:extra_warnings" ] if (is_win) { # Protobuf has its own #define WIN32_LEAN_AND_MEAN. configs -= [ "//gn/standalone:win32_lean_and_mean" ] } configs += [ ":protobuf_config" ] public_configs = [ "//gn:protobuf_gen_config", ":protobuf_full_public_config", ] } source_set("protoc_lib") { visibility = _buildtools_visibility deps = [ ":protobuf_full", "//gn:default_deps", ] sources = [ "protobuf/src/google/protobuf/compiler/code_generator.cc", "protobuf/src/google/protobuf/compiler/code_generator.h", "protobuf/src/google/protobuf/compiler/command_line_interface.cc", "protobuf/src/google/protobuf/compiler/command_line_interface.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_enum.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_enum.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_extension.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_extension.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_field.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_field.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_file.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_file.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_generator.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_generator.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_map_field.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_map_field.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_message.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_message.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_message_layout_helper.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_options.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_service.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_service.h", "protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.cc", "protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_doc_comment.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_enum.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_enum.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_enum_field.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_enum_field.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_field_base.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_field_base.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_generator.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_generator.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_helpers.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_helpers.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_map_field.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_map_field.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_message.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_message.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_options.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_primitive_field.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_reflection_class.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_reflection_class.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_source_generator_base.h", "protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc", "protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.h", "protobuf/src/google/protobuf/compiler/java/java_context.cc", "protobuf/src/google/protobuf/compiler/java/java_context.h", "protobuf/src/google/protobuf/compiler/java/java_doc_comment.cc", "protobuf/src/google/protobuf/compiler/java/java_doc_comment.h", "protobuf/src/google/protobuf/compiler/java/java_enum.cc", "protobuf/src/google/protobuf/compiler/java/java_enum.h", "protobuf/src/google/protobuf/compiler/java/java_enum_field.cc", "protobuf/src/google/protobuf/compiler/java/java_enum_field.h", "protobuf/src/google/protobuf/compiler/java/java_enum_field_lite.cc", "protobuf/src/google/protobuf/compiler/java/java_enum_field_lite.h", "protobuf/src/google/protobuf/compiler/java/java_enum_lite.cc", "protobuf/src/google/protobuf/compiler/java/java_enum_lite.h", "protobuf/src/google/protobuf/compiler/java/java_extension.cc", "protobuf/src/google/protobuf/compiler/java/java_extension.h", "protobuf/src/google/protobuf/compiler/java/java_extension_lite.cc", "protobuf/src/google/protobuf/compiler/java/java_extension_lite.h", "protobuf/src/google/protobuf/compiler/java/java_field.cc", "protobuf/src/google/protobuf/compiler/java/java_field.h", "protobuf/src/google/protobuf/compiler/java/java_file.cc", "protobuf/src/google/protobuf/compiler/java/java_file.h", "protobuf/src/google/protobuf/compiler/java/java_generator.cc", "protobuf/src/google/protobuf/compiler/java/java_generator.h", "protobuf/src/google/protobuf/compiler/java/java_generator_factory.cc", "protobuf/src/google/protobuf/compiler/java/java_generator_factory.h", "protobuf/src/google/protobuf/compiler/java/java_helpers.cc", "protobuf/src/google/protobuf/compiler/java/java_helpers.h", "protobuf/src/google/protobuf/compiler/java/java_map_field.cc", "protobuf/src/google/protobuf/compiler/java/java_map_field.h", "protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc", "protobuf/src/google/protobuf/compiler/java/java_map_field_lite.h", "protobuf/src/google/protobuf/compiler/java/java_message.cc", "protobuf/src/google/protobuf/compiler/java/java_message.h", "protobuf/src/google/protobuf/compiler/java/java_message_builder.cc", "protobuf/src/google/protobuf/compiler/java/java_message_builder.h", "protobuf/src/google/protobuf/compiler/java/java_message_builder_lite.cc", "protobuf/src/google/protobuf/compiler/java/java_message_builder_lite.h", "protobuf/src/google/protobuf/compiler/java/java_message_field.cc", "protobuf/src/google/protobuf/compiler/java/java_message_field.h", "protobuf/src/google/protobuf/compiler/java/java_message_field_lite.cc", "protobuf/src/google/protobuf/compiler/java/java_message_field_lite.h", "protobuf/src/google/protobuf/compiler/java/java_message_lite.cc", "protobuf/src/google/protobuf/compiler/java/java_message_lite.h", "protobuf/src/google/protobuf/compiler/java/java_name_resolver.cc", "protobuf/src/google/protobuf/compiler/java/java_name_resolver.h", "protobuf/src/google/protobuf/compiler/java/java_options.h", "protobuf/src/google/protobuf/compiler/java/java_primitive_field.cc", "protobuf/src/google/protobuf/compiler/java/java_primitive_field.h", "protobuf/src/google/protobuf/compiler/java/java_primitive_field_lite.cc", "protobuf/src/google/protobuf/compiler/java/java_primitive_field_lite.h", "protobuf/src/google/protobuf/compiler/java/java_service.cc", "protobuf/src/google/protobuf/compiler/java/java_service.h", "protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.cc", "protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.h", "protobuf/src/google/protobuf/compiler/java/java_string_field.cc", "protobuf/src/google/protobuf/compiler/java/java_string_field.h", "protobuf/src/google/protobuf/compiler/java/java_string_field_lite.cc", "protobuf/src/google/protobuf/compiler/java/java_string_field_lite.h", "protobuf/src/google/protobuf/compiler/js/js_generator.cc", "protobuf/src/google/protobuf/compiler/js/js_generator.h", "protobuf/src/google/protobuf/compiler/js/well_known_types_embed.cc", "protobuf/src/google/protobuf/compiler/js/well_known_types_embed.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum_field.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_extension.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_extension.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_field.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_field.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_generator.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_generator.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_map_field.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_map_field.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_message.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_message.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_message_field.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_message_field.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_oneof.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_oneof.h", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc", "protobuf/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.h", "protobuf/src/google/protobuf/compiler/php/php_generator.cc", "protobuf/src/google/protobuf/compiler/php/php_generator.h", "protobuf/src/google/protobuf/compiler/plugin.cc", "protobuf/src/google/protobuf/compiler/plugin.h", "protobuf/src/google/protobuf/compiler/plugin.pb.cc", "protobuf/src/google/protobuf/compiler/plugin.pb.h", "protobuf/src/google/protobuf/compiler/python/python_generator.cc", "protobuf/src/google/protobuf/compiler/python/python_generator.h", "protobuf/src/google/protobuf/compiler/ruby/ruby_generator.cc", "protobuf/src/google/protobuf/compiler/ruby/ruby_generator.h", "protobuf/src/google/protobuf/compiler/subprocess.cc", "protobuf/src/google/protobuf/compiler/subprocess.h", "protobuf/src/google/protobuf/compiler/zip_writer.cc", "protobuf/src/google/protobuf/compiler/zip_writer.h", ] configs -= [ "//gn/standalone:extra_warnings" ] if (is_win) { # Protobuf does has its own #define WIN32_LEAN_AND_MEAN. configs -= [ "//gn/standalone:win32_lean_and_mean" ] } configs += [ ":protobuf_config" ] public_configs = [ "//gn:protobuf_gen_config", ":protobuf_full_public_config", ] } if (current_toolchain == host_toolchain) { executable("protoc") { visibility = _buildtools_visibility deps = [ ":protoc_lib", "//gn:default_deps", ] sources = [ "protobuf/src/google/protobuf/compiler/main.cc" ] configs -= [ "//gn/standalone:extra_warnings" ] if (is_win) { # Protobuf does has its own #define WIN32_LEAN_AND_MEAN. configs -= [ "//gn/standalone:win32_lean_and_mean" ] } } } # host_toolchain if (use_custom_libcxx) { # Config applied to both libc++ and libc++abi targets below. config("libc++config") { visibility = _buildtools_visibility defines = [ "LIBCXX_BUILDING_LIBCXXABI", "_LIBCXXABI_NO_EXCEPTIONS", "_LIBCPP_OVERRIDABLE_FUNC_VIS=__attribute__((__visibility__(\"default\")))", ] cflags = [ "-fstrict-aliasing" ] } source_set("libunwind") { visibility = _buildtools_visibility cflags = [ # libunwind expects to be compiled with unwind tables so it can # unwind its own frames. "-funwind-tables", "-fstrict-aliasing", ] sources = [ "libunwind/src/Unwind-EHABI.cpp", "libunwind/src/Unwind-sjlj.c", "libunwind/src/UnwindLevel1-gcc-ext.c", "libunwind/src/UnwindLevel1.c", "libunwind/src/UnwindRegistersRestore.S", "libunwind/src/UnwindRegistersSave.S", "libunwind/src/libunwind.cpp", ] include_dirs = [ "libunwind/include" ] configs -= [ "//gn/standalone:extra_warnings", "//gn/standalone:no_exceptions", "//gn/standalone:no_rtti", # When building with msan, libunwind itself triggers memory violations # that causes msan to get stuck into an infinite loop. Just don't # instrument libunwind itself. "//gn/standalone/sanitizers:sanitizers_cflags", ] configs += [ ":libc++config", "//gn/standalone/sanitizers:sanitizer_options_link_helper", ] } source_set("libc++abi") { visibility = _buildtools_visibility sources = [ "libcxxabi/src/abort_message.cpp", "libcxxabi/src/cxa_aux_runtime.cpp", "libcxxabi/src/cxa_default_handlers.cpp", "libcxxabi/src/cxa_demangle.cpp", "libcxxabi/src/cxa_exception.cpp", "libcxxabi/src/cxa_exception_storage.cpp", "libcxxabi/src/cxa_guard.cpp", "libcxxabi/src/cxa_handlers.cpp", "libcxxabi/src/cxa_personality.cpp", "libcxxabi/src/cxa_unexpected.cpp", "libcxxabi/src/cxa_vector.cpp", "libcxxabi/src/cxa_virtual.cpp", "libcxxabi/src/fallback_malloc.cpp", "libcxxabi/src/private_typeinfo.cpp", "libcxxabi/src/stdlib_exception.cpp", "libcxxabi/src/stdlib_stdexcept.cpp", "libcxxabi/src/stdlib_typeinfo.cpp", ] # On linux this seems to introduce an unwanted glibc 2.18 dependency. if (is_android) { sources += [ "libcxxabi/src/cxa_thread_atexit.cpp" ] } configs -= [ "//gn/standalone:extra_warnings", "//gn/standalone:no_exceptions", "//gn/standalone:no_rtti", "//gn/standalone:visibility_hidden", ] configs += [ ":libc++config", "//gn/standalone/sanitizers:sanitizer_options_link_helper", ] deps = [ ":libunwind" ] } if (custom_libcxx_is_static) { libcxx_target_type = "source_set" } else { libcxx_target_type = "shared_library" } target(libcxx_target_type, "libc++") { visibility = _buildtools_visibility visibility += [ "../gn/standalone/libc++:*" ] sources = [ "libcxx/src/algorithm.cpp", "libcxx/src/any.cpp", "libcxx/src/bind.cpp", "libcxx/src/charconv.cpp", "libcxx/src/chrono.cpp", "libcxx/src/condition_variable.cpp", "libcxx/src/condition_variable_destructor.cpp", "libcxx/src/debug.cpp", "libcxx/src/exception.cpp", "libcxx/src/functional.cpp", "libcxx/src/future.cpp", "libcxx/src/hash.cpp", "libcxx/src/ios.cpp", "libcxx/src/iostream.cpp", "libcxx/src/locale.cpp", "libcxx/src/memory.cpp", "libcxx/src/mutex.cpp", "libcxx/src/mutex_destructor.cpp", "libcxx/src/new.cpp", "libcxx/src/optional.cpp", "libcxx/src/random.cpp", "libcxx/src/regex.cpp", "libcxx/src/shared_mutex.cpp", "libcxx/src/stdexcept.cpp", "libcxx/src/string.cpp", "libcxx/src/strstream.cpp", "libcxx/src/system_error.cpp", "libcxx/src/thread.cpp", "libcxx/src/typeinfo.cpp", "libcxx/src/utility.cpp", "libcxx/src/valarray.cpp", "libcxx/src/variant.cpp", "libcxx/src/vector.cpp", ] configs -= [ "//gn/standalone:extra_warnings", "//gn/standalone:no_exceptions", "//gn/standalone:no_rtti", "//gn/standalone:visibility_hidden", ] configs += [ ":libc++config", "//gn/standalone/sanitizers:sanitizer_options_link_helper", ] defines = [ "_LIBCPP_BUILDING_LIBRARY" ] if ((is_linux || is_android) && (is_asan || is_tsan || is_msan)) { # In {a,t,m}san configurations, operator new and operator delete will be # provided by the sanitizer runtime library. Since libc++ defines these # symbols with weak linkage, and the *san runtime uses strong linkage, it # should technically be OK to omit this, but it's added to be explicit. defines += [ "_LIBCPP_DISABLE_NEW_DELETE_DEFINITIONS" ] } deps = [ ":libc++abi" ] } } # if (use_custom_libcxx) config("benchmark_config") { visibility = _buildtools_visibility include_dirs = [ "benchmark/include" ] configs = [ ":test_warning_suppressions" ] } source_set("benchmark") { visibility = _buildtools_visibility testonly = true sources = [ "benchmark/include/benchmark/benchmark.h", "benchmark/src/arraysize.h", "benchmark/src/benchmark.cc", "benchmark/src/benchmark_api_internal.cc", "benchmark/src/benchmark_api_internal.h", "benchmark/src/benchmark_name.cc", "benchmark/src/benchmark_register.cc", "benchmark/src/benchmark_register.h", "benchmark/src/benchmark_runner.cc", "benchmark/src/benchmark_runner.h", "benchmark/src/check.h", "benchmark/src/colorprint.cc", "benchmark/src/colorprint.h", "benchmark/src/commandlineflags.cc", "benchmark/src/commandlineflags.h", "benchmark/src/complexity.cc", "benchmark/src/complexity.h", "benchmark/src/console_reporter.cc", "benchmark/src/counter.cc", "benchmark/src/counter.h", "benchmark/src/csv_reporter.cc", "benchmark/src/cycleclock.h", "benchmark/src/internal_macros.h", "benchmark/src/json_reporter.cc", "benchmark/src/log.h", "benchmark/src/mutex.h", "benchmark/src/re.h", "benchmark/src/reporter.cc", "benchmark/src/sleep.cc", "benchmark/src/sleep.h", "benchmark/src/statistics.cc", "benchmark/src/statistics.h", "benchmark/src/string_util.cc", "benchmark/src/string_util.h", "benchmark/src/sysinfo.cc", "benchmark/src/thread_manager.h", "benchmark/src/thread_timer.h", "benchmark/src/timers.cc", "benchmark/src/timers.h", ] defines = [ "HAVE_POSIX_REGEX" ] public_configs = [ ":benchmark_config" ] all_dependent_configs = [ ":benchmark_config" ] cflags = [ "-Wno-deprecated-declarations" ] configs -= [ "//gn/standalone:extra_warnings" ] deps = [ "//gn:default_deps" ] } # On Linux/Android use libbacktrace in debug builds for better stacktraces. if (is_linux || is_android) { config("libbacktrace_config") { visibility = _buildtools_visibility include_dirs = [ "libbacktrace_config", "libbacktrace", ] cflags = [ # We force include this config file because "config.h" is too generic as a # file name and on some platforms #include "config.h" ends up colliding # importing some other project's config.h. "-include", rebase_path("libbacktrace_config/config.h", root_build_dir), ] } source_set("libbacktrace") { visibility = _buildtools_visibility sources = [ "libbacktrace/dwarf.c", "libbacktrace/elf.c", "libbacktrace/fileline.c", "libbacktrace/mmap.c", "libbacktrace/mmapio.c", "libbacktrace/posix.c", "libbacktrace/sort.c", "libbacktrace/state.c", ] configs -= [ "//gn/standalone:extra_warnings" ] public_configs = [ ":libbacktrace_config" ] deps = [ "//gn:default_deps" ] } } config("sqlite_config") { visibility = _buildtools_visibility include_dirs = [ "sqlite" ] cflags = [ "-DSQLITE_THREADSAFE=0", "-DSQLITE_DEFAULT_MEMSTATUS=0", "-DSQLITE_LIKE_DOESNT_MATCH_BLOBS", "-DSQLITE_OMIT_DEPRECATED", "-DSQLITE_OMIT_SHARED_CACHE", "-DHAVE_USLEEP", "-DHAVE_UTIME", "-DSQLITE_BYTEORDER=1234", "-DSQLITE_DEFAULT_AUTOVACUUM=0", "-DSQLITE_DEFAULT_MMAP_SIZE=0", "-DSQLITE_CORE", "-DSQLITE_TEMP_STORE=3", "-DSQLITE_OMIT_LOAD_EXTENSION", "-DSQLITE_OMIT_RANDOMNESS", "-DSQLITE_OMIT_AUTOINIT", "-DSQLITE_ENABLE_JSON1", ] } source_set("sqlite") { visibility = _buildtools_visibility sources = [ "sqlite/sqlite3.c", "sqlite/sqlite3.h", "sqlite/sqlite3ext.h", "sqlite_src/ext/misc/percentile.c", ] configs -= [ "//gn/standalone:extra_warnings" ] public_configs = [ ":sqlite_config" ] deps = [ "//gn:default_deps" ] } source_set("sqlite_shell") { visibility = _buildtools_visibility testonly = true sources = [ "sqlite/shell.c" ] configs -= [ "//gn/standalone:extra_warnings" ] deps = [ ":sqlite", "//gn:default_deps", ] } source_set("lzma") { visibility = _buildtools_visibility defines = [ "_7ZIP_ST" ] sources = [ "lzma/C/7zAlloc.c", "lzma/C/7zArcIn.c", "lzma/C/7zBuf.c", "lzma/C/7zBuf2.c", "lzma/C/7zCrc.c", "lzma/C/7zCrcOpt.c", "lzma/C/7zDec.c", "lzma/C/7zFile.c", "lzma/C/7zStream.c", "lzma/C/Aes.c", "lzma/C/AesOpt.c", "lzma/C/Alloc.c", "lzma/C/Bcj2.c", "lzma/C/Bra.c", "lzma/C/Bra86.c", "lzma/C/BraIA64.c", "lzma/C/CpuArch.c", "lzma/C/Delta.c", "lzma/C/LzFind.c", "lzma/C/Lzma2Dec.c", "lzma/C/Lzma2Enc.c", "lzma/C/Lzma86Dec.c", "lzma/C/Lzma86Enc.c", "lzma/C/LzmaDec.c", "lzma/C/LzmaEnc.c", "lzma/C/LzmaLib.c", "lzma/C/Ppmd7.c", "lzma/C/Ppmd7Dec.c", "lzma/C/Ppmd7Enc.c", "lzma/C/Sha256.c", "lzma/C/Sort.c", "lzma/C/Xz.c", "lzma/C/XzCrc64.c", "lzma/C/XzCrc64Opt.c", "lzma/C/XzDec.c", "lzma/C/XzEnc.c", "lzma/C/XzIn.c", ] configs -= [ "//gn/standalone:extra_warnings" ] cflags = [ "-Wno-empty-body", "-Wno-enum-conversion", ] deps = [ "//gn:default_deps" ] } source_set("zlib") { visibility = _buildtools_visibility sources = [ "zlib/adler32.c", "zlib/compress.c", "zlib/cpu_features.c", "zlib/crc32.c", "zlib/deflate.c", "zlib/gzclose.c", "zlib/gzlib.c", "zlib/gzread.c", "zlib/gzwrite.c", "zlib/infback.c", "zlib/inffast.c", "zlib/inflate.c", "zlib/inftrees.c", "zlib/trees.c", "zlib/uncompr.c", "zlib/zutil.c", ] configs -= [ "//gn/standalone:extra_warnings" ] cflags = [] public_configs = [ ":zlib_config" ] deps = [ "//gn:default_deps" ] # TODO(primiano): look into ADLER32_SIMD_SSSE3 and other SIMD optimizations # (from chromium's third_party/zlib/BUILD.gn). if (is_win) { defines = [ "X86_WINDOWS" ] } } config("zlib_config") { visibility = _buildtools_visibility if (!is_win) { defines = [ "HAVE_HIDDEN" ] } cflags = [ # Using -isystem instead of include_dirs (-I), so we don't need to suppress # warnings coming from third-party headers. Doing so would mask warnings in # our own code. perfetto_isystem_cflag, rebase_path("zlib", root_build_dir), ] } source_set("libunwindstack") { visibility = _buildtools_visibility include_dirs = [ "android-unwinding/libunwindstack/include", "android-unwinding/libunwindstack", "android-libbase/include", "android-logging/liblog/include", "android-libprocinfo/include", "android-core/include", "android-core/libcutils/include", "bionic/libc/async_safe/include", "bionic/libc/platform/", "lzma/C", ] deps = [ ":lzma", "//gn:default_deps", ] sources = [ "android-libbase/file.cpp", "android-libbase/stringprintf.cpp", "android-libbase/strings.cpp", "android-unwinding/libunwindstack/ArmExidx.cpp", "android-unwinding/libunwindstack/DwarfCfa.cpp", "android-unwinding/libunwindstack/DwarfEhFrameWithHdr.cpp", "android-unwinding/libunwindstack/DwarfMemory.cpp", "android-unwinding/libunwindstack/DwarfOp.cpp", "android-unwinding/libunwindstack/DwarfSection.cpp", "android-unwinding/libunwindstack/Elf.cpp", "android-unwinding/libunwindstack/ElfInterface.cpp", "android-unwinding/libunwindstack/ElfInterfaceArm.cpp", "android-unwinding/libunwindstack/Global.cpp", "android-unwinding/libunwindstack/JitDebug.cpp", "android-unwinding/libunwindstack/LocalUnwinder.cpp", "android-unwinding/libunwindstack/Log.cpp", "android-unwinding/libunwindstack/MapInfo.cpp", "android-unwinding/libunwindstack/Maps.cpp", "android-unwinding/libunwindstack/Memory.cpp", "android-unwinding/libunwindstack/Regs.cpp", "android-unwinding/libunwindstack/RegsArm.cpp", "android-unwinding/libunwindstack/RegsArm64.cpp", "android-unwinding/libunwindstack/RegsMips.cpp", "android-unwinding/libunwindstack/RegsMips64.cpp", "android-unwinding/libunwindstack/RegsX86.cpp", "android-unwinding/libunwindstack/RegsX86_64.cpp", "android-unwinding/libunwindstack/Symbols.cpp", "android-unwinding/libunwindstack/Unwinder.cpp", ] if (!is_android) { sources += [ "android-libbase/liblog_symbols.cpp", "android-libbase/logging.cpp", "android-libbase/threads.cpp", "android-logging/liblog/logger_write.cpp", "android-logging/liblog/properties.cpp", "android-unwinding/libunwindstack/MemoryMte.cpp", ] } if (current_cpu == "x86") { sources += [ "android-unwinding/libunwindstack/AsmGetRegsX86.S" ] } else if (current_cpu == "x64") { sources += [ "android-unwinding/libunwindstack/AsmGetRegsX86_64.S" ] } configs -= [ "//gn/standalone:extra_warnings", "//gn/standalone:c++11", "//gn/standalone:visibility_hidden", ] cflags = [ "-DFAKE_LOG_DEVICE=1" ] public_configs = [ ":libunwindstack_config", "//gn/standalone:c++17", ] } config("bionic_kernel_uapi_headers") { visibility = _buildtools_visibility cflags = [ perfetto_isystem_cflag, rebase_path("bionic/libc/kernel", root_build_dir), ] } config("jsoncpp_config") { visibility = _buildtools_visibility cflags = [ "-DJSON_USE_EXCEPTION=0", "-Wno-deprecated-declarations", # Using -isystem instead of include_dirs (-I), so we don't need to suppress # warnings coming from third-party headers. Doing so would mask warnings in # our own code. perfetto_isystem_cflag, rebase_path("jsoncpp/include", root_build_dir), ] } source_set("jsoncpp") { visibility = _buildtools_visibility sources = [ "jsoncpp/src/lib_json/json_reader.cpp", "jsoncpp/src/lib_json/json_value.cpp", "jsoncpp/src/lib_json/json_writer.cpp", ] configs -= [ "//gn/standalone:extra_warnings" ] public_configs = [ ":jsoncpp_config" ] deps = [ "//gn:default_deps" ] } config("linenoise_config") { visibility = _buildtools_visibility cflags = [ # Using -isystem instead of include_dirs (-I), so we don't need to suppress # warnings coming from third-party headers. Doing so would mask warnings in # our own code. perfetto_isystem_cflag, rebase_path("linenoise", root_build_dir), ] } source_set("linenoise") { visibility = _buildtools_visibility sources = [ "linenoise/linenoise.c", "linenoise/linenoise.h", ] configs -= [ "//gn/standalone:extra_warnings" ] public_configs = [ ":linenoise_config" ] cflags = [ "-Wno-tautological-unsigned-zero-compare" ] deps = [ "//gn:default_deps" ] } if (use_libfuzzer) { source_set("libfuzzer") { visibility = _buildtools_visibility configs -= [ "//gn/standalone:extra_warnings", "//gn/standalone/sanitizers:sanitizers_cflags", ] sources = [ "libfuzzer/FuzzerCrossOver.cpp", "libfuzzer/FuzzerDataFlowTrace.cpp", "libfuzzer/FuzzerDriver.cpp", "libfuzzer/FuzzerExtFunctionsDlsym.cpp", "libfuzzer/FuzzerExtFunctionsWeak.cpp", "libfuzzer/FuzzerExtFunctionsWindows.cpp", "libfuzzer/FuzzerExtraCounters.cpp", "libfuzzer/FuzzerFork.cpp", "libfuzzer/FuzzerIO.cpp", "libfuzzer/FuzzerIOPosix.cpp", "libfuzzer/FuzzerIOWindows.cpp", "libfuzzer/FuzzerLoop.cpp", "libfuzzer/FuzzerMain.cpp", "libfuzzer/FuzzerMerge.cpp", "libfuzzer/FuzzerMutate.cpp", "libfuzzer/FuzzerSHA1.cpp", "libfuzzer/FuzzerTracePC.cpp", "libfuzzer/FuzzerUtil.cpp", "libfuzzer/FuzzerUtilDarwin.cpp", "libfuzzer/FuzzerUtilFuchsia.cpp", "libfuzzer/FuzzerUtilLinux.cpp", "libfuzzer/FuzzerUtilPosix.cpp", "libfuzzer/FuzzerUtilWindows.cpp", ] deps = [ "//gn:default_deps" ] } }