# Copyright 2022 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Description:
#   Crashpad is a crash-reporting system.
load("//third_party/crashpad:copts.bzl", "CRASHPAD_COMMON_COPTS")

# Makes crashpad headers available at their subdirectory locations.
cc_library(
    name = "internal",
    hdrs = ["src/package.h"],
    copts = CRASHPAD_COMMON_COPTS,
    includes = ["src"],
)

cc_library(
    name = "minidump",
    srcs = [
        "src/minidump/minidump_annotation_writer.cc",
        "src/minidump/minidump_byte_array_writer.cc",
        "src/minidump/minidump_context_writer.cc",
        "src/minidump/minidump_crashpad_info_writer.cc",
        "src/minidump/minidump_exception_writer.cc",
        "src/minidump/minidump_file_writer.cc",
        "src/minidump/minidump_handle_writer.cc",
        "src/minidump/minidump_memory_info_writer.cc",
        "src/minidump/minidump_memory_writer.cc",
        "src/minidump/minidump_misc_info_writer.cc",
        "src/minidump/minidump_module_crashpad_info_writer.cc",
        "src/minidump/minidump_module_writer.cc",
        "src/minidump/minidump_rva_list_writer.cc",
        "src/minidump/minidump_simple_string_dictionary_writer.cc",
        "src/minidump/minidump_stream_writer.cc",
        "src/minidump/minidump_string_writer.cc",
        "src/minidump/minidump_system_info_writer.cc",
        "src/minidump/minidump_thread_id_map.cc",
        "src/minidump/minidump_thread_name_list_writer.cc",
        "src/minidump/minidump_thread_writer.cc",
        "src/minidump/minidump_unloaded_module_writer.cc",
        "src/minidump/minidump_user_extension_stream_data_source.cc",
        "src/minidump/minidump_user_stream_writer.cc",
        "src/minidump/minidump_writable.cc",
        "src/minidump/minidump_writer_util.cc",
        "src/minidump/minidump_writer_util.h",
    ],
    hdrs = [
        "src/minidump/minidump_annotation_writer.h",
        "src/minidump/minidump_byte_array_writer.h",
        "src/minidump/minidump_context.h",
        "src/minidump/minidump_context_writer.h",
        "src/minidump/minidump_crashpad_info_writer.h",
        "src/minidump/minidump_exception_writer.h",
        "src/minidump/minidump_extensions.h",
        "src/minidump/minidump_file_writer.h",
        "src/minidump/minidump_handle_writer.h",
        "src/minidump/minidump_memory_info_writer.h",
        "src/minidump/minidump_memory_writer.h",
        "src/minidump/minidump_misc_info_writer.h",
        "src/minidump/minidump_module_crashpad_info_writer.h",
        "src/minidump/minidump_module_writer.h",
        "src/minidump/minidump_rva_list_writer.h",
        "src/minidump/minidump_simple_string_dictionary_writer.h",
        "src/minidump/minidump_stream_writer.h",
        "src/minidump/minidump_string_writer.h",
        "src/minidump/minidump_system_info_writer.h",
        "src/minidump/minidump_thread_id_map.h",
        "src/minidump/minidump_thread_name_list_writer.h",
        "src/minidump/minidump_thread_writer.h",
        "src/minidump/minidump_unloaded_module_writer.h",
        "src/minidump/minidump_user_extension_stream_data_source.h",
        "src/minidump/minidump_user_stream_writer.h",
        "src/minidump/minidump_writable.h",
    ],
    copts = CRASHPAD_COMMON_COPTS,
    features = ["-use_header_modules"],
    visibility = ["//visibility:public"],
    deps = [
        ":compat",
        ":internal",
        ":minidump_format",
        ":snapshot",
        ":util",
        "//third_party/mini_chromium:base",
    ],
)

cc_library(
    name = "minidump_extensions_header",
    hdrs = [
        "src/minidump/minidump_extensions.h",
    ],
    copts = CRASHPAD_COMMON_COPTS,
    features = ["-use_header_modules"],
    deps = [
        ":compat",
        ":internal",
        ":util",
        "//third_party/mini_chromium:base",
    ],
)

cc_library(
    name = "minidump_format",
    srcs = [
        "src/minidump/minidump_extensions.cc",
    ],
    hdrs = [
        "src/minidump/minidump_context.h",
        "src/minidump/minidump_extensions.h",
    ],
    copts = CRASHPAD_COMMON_COPTS,
    features = ["-use_header_modules"],
    deps = [
        ":compat",
        ":snapshot_context",
        ":util",
        "//third_party/mini_chromium:base",
    ],
)

COMPAT_LINUX_SOURCES = [
    "src/compat/linux/sys/mman_memfd_create.cc",
]

COMPAT_LINUX_HEADERS = [
    "src/compat/linux/signal.h",
    "src/compat/linux/sys/mman.h",
    "src/compat/linux/sys/ptrace.h",
    "src/compat/linux/sys/user.h",
]

COMPAT_APPLE_SOURCES = [
]

COMPAT_APPLE_HEADERS = [
    "src/compat/mac/Availability.h",
    "src/compat/mac/AvailabilityVersions.h",
    "src/compat/mac/kern/exc_resource.h",
    "src/compat/mac/mach/mach.h",
    "src/compat/mac/mach-o/loader.h",
    "src/compat/mac/sys/resource.h",
]

COMPAT_MAC_SOURCES = [
]

COMPAT_MAC_HEADERS = [
    "src/compat/mac/mach/i386/thread_state.h",
]

COMPAT_NONMAC_SOURCES = [
]

COMPAT_NONMAC_HEADERS = [
    "src/compat/non_mac/mach/mach.h",
]

COMPAT_NONWIN_SOURCES = [
    "src/compat/non_win/minwinbase.h",
    "src/compat/non_win/timezoneapi.h",
    "src/compat/non_win/verrsrc.h",
]

COMPAT_NONWIN_HEADERS = [
    "src/compat/non_win/dbghelp.h",
    "src/compat/non_win/windows.h",
    "src/compat/non_win/winnt.h",
]

cc_library(
    name = "compat",
    srcs = select({
        "@platforms//os:fuchsia": COMPAT_NONWIN_SOURCES + COMPAT_NONMAC_SOURCES,
        "@platforms//os:osx": COMPAT_APPLE_SOURCES + COMPAT_MAC_SOURCES +
                              COMPAT_NONWIN_SOURCES,
        "@platforms//os:linux": COMPAT_LINUX_SOURCES +
                                COMPAT_NONMAC_SOURCES + COMPAT_NONWIN_SOURCES,
    }),
    hdrs = select({
        "@platforms//os:fuchsia": COMPAT_NONWIN_HEADERS + COMPAT_NONMAC_HEADERS,
        "@platforms//os:osx": COMPAT_APPLE_HEADERS + COMPAT_MAC_HEADERS +
                              COMPAT_NONWIN_HEADERS,
        "@platforms//os:linux": COMPAT_LINUX_HEADERS +
                                COMPAT_NONMAC_HEADERS + COMPAT_NONWIN_HEADERS,
    }),
    includes = [
        "src/compat/non_mac",
        "src/compat/non_win",
    ],
    linkopts = ["-ldl"],
    visibility = ["//visibility:public"],
    deps = [
        ":internal",
        ":util_no_cfi_icall",
        "//third_party/mini_chromium:base",
    ],
)

CRASHPAD_UTIL_SOURCES = [
    "src/util/file/delimited_file_reader.cc",
    "src/util/file/file_helper.cc",
    "src/util/file/file_io.cc",
    "src/util/file/file_reader.cc",
    "src/util/file/file_seeker.cc",
    "src/util/file/file_seeker.h",
    "src/util/file/file_writer.cc",
    "src/util/file/output_stream_file_writer.cc",
    "src/util/file/scoped_remove_file.cc",
    "src/util/file/string_file.cc",
    "src/util/misc/initialization_state_dcheck.cc",
    "src/util/misc/lexing.cc",
    "src/util/misc/lexing.h",
    "src/util/misc/metrics.cc",
    "src/util/misc/pdb_structures.cc",
    "src/util/misc/random_string.cc",
    "src/util/misc/range_set.cc",
    "src/util/misc/reinterpret_bytes.cc",
    "src/util/misc/scoped_forbid_return.cc",
    "src/util/misc/symbolic_constants_common.h",
    "src/util/misc/time.cc",
    "src/util/misc/uuid.cc",
    "src/util/misc/zlib.cc",
    "src/util/net/http_body.cc",
    "src/util/net/http_body_gzip.cc",
    "src/util/net/http_multipart_builder.cc",
    "src/util/net/http_transport.cc",
    "src/util/net/url.cc",
    "src/util/numeric/checked_address_range.cc",
    "src/util/process/process_memory.cc",
    "src/util/process/process_memory_range.cc",
    "src/util/stdlib/aligned_allocator.cc",
    "src/util/stdlib/string_number_conversion.cc",
    "src/util/stdlib/strlcpy.cc",
    "src/util/stdlib/strnlen.cc",
    "src/util/stream/base94_output_stream.cc",
    "src/util/stream/file_encoder.cc",
    "src/util/stream/file_output_stream.cc",
    "src/util/stream/log_output_stream.cc",
    "src/util/stream/zlib_output_stream.cc",
    "src/util/string/split_string.cc",
    "src/util/thread/thread.cc",
    "src/util/thread/thread_log_messages.cc",
    "src/util/thread/worker_thread.cc",
]

CRASHPAD_UTIL_HEADERS = [
    "src/util/file/delimited_file_reader.h",
    "src/util/file/directory_reader.h",
    "src/util/file/file_helper.h",
    "src/util/file/file_io.h",
    "src/util/file/file_reader.h",
    "src/util/file/file_writer.h",
    "src/util/file/filesystem.h",
    "src/util/file/output_stream_file_writer.h",
    "src/util/file/scoped_remove_file.h",
    "src/util/file/string_file.h",
    "src/util/misc/address_sanitizer.h",
    "src/util/misc/address_types.h",
    "src/util/misc/arm64_pac_bti.S",
    "src/util/misc/arraysize.h",
    "src/util/misc/as_underlying_type.h",
    "src/util/misc/capture_context.h",
    "src/util/misc/clock.h",
    "src/util/misc/elf_note_types.h",
    "src/util/misc/from_pointer_cast.h",
    "src/util/misc/implicit_cast.h",
    "src/util/misc/initialization_state.h",
    "src/util/misc/initialization_state_dcheck.h",
    "src/util/misc/memory_sanitizer.h",
    "src/util/misc/metrics.h",
    "src/util/misc/paths.h",
    "src/util/misc/pdb_structures.h",
    "src/util/misc/random_string.h",
    "src/util/misc/range_set.h",
    "src/util/misc/reinterpret_bytes.h",
    "src/util/misc/scoped_forbid_return.h",
    "src/util/misc/time.h",
    "src/util/misc/tri_state.h",
    "src/util/misc/uuid.h",
    "src/util/misc/zlib.h",
    "src/util/net/http_body.h",
    "src/util/net/http_body_gzip.h",
    "src/util/net/http_headers.h",
    "src/util/net/http_multipart_builder.h",
    "src/util/net/http_transport.h",
    "src/util/net/url.h",
    "src/util/numeric/checked_address_range.h",
    "src/util/numeric/checked_range.h",
    "src/util/numeric/checked_vm_address_range.h",
    "src/util/numeric/in_range_cast.h",
    "src/util/numeric/int128.h",
    "src/util/numeric/safe_assignment.h",
    "src/util/process/process_id.h",
    "src/util/process/process_memory.h",
    "src/util/process/process_memory_native.h",
    "src/util/process/process_memory_range.h",
    "src/util/stdlib/aligned_allocator.h",
    "src/util/stdlib/map_insert.h",
    "src/util/stdlib/string_number_conversion.h",
    "src/util/stdlib/strlcpy.h",
    "src/util/stdlib/strnlen.h",
    "src/util/stdlib/thread_safe_vector.h",
    "src/util/stream/base94_output_stream.h",
    "src/util/stream/file_encoder.h",
    "src/util/stream/file_output_stream.h",
    "src/util/stream/log_output_stream.h",
    "src/util/stream/output_stream_interface.h",
    "src/util/stream/zlib_output_stream.h",
    "src/util/string/split_string.h",
    "src/util/synchronization/semaphore.h",
    "src/util/thread/stoppable.h",
    "src/util/thread/thread.h",
    "src/util/thread/thread_log_messages.h",
    "src/util/thread/worker_thread.h",
]

CRASHPAD_UTIL_LINUX_SOURCES = [
    "src/util/linux/auxiliary_vector.cc",
    "src/util/linux/checked_linux_address_range.h",
    "src/util/linux/direct_ptrace_connection.cc",
    "src/util/linux/exception_handler_client.cc",
    "src/util/linux/exception_handler_protocol.cc",
    "src/util/linux/memory_map.cc",
    "src/util/linux/proc_stat_reader.cc",
    "src/util/linux/proc_task_reader.cc",
    "src/util/linux/ptrace_broker.cc",
    "src/util/linux/ptrace_client.cc",
    "src/util/linux/ptracer.cc",
    "src/util/linux/scoped_pr_set_dumpable.cc",
    "src/util/linux/scoped_pr_set_ptracer.cc",
    "src/util/linux/scoped_ptrace_attach.cc",
    "src/util/linux/socket.cc",
    "src/util/linux/thread_info.cc",
    "src/util/misc/capture_context_linux.S",
    "src/util/misc/paths_linux.cc",
    "src/util/misc/time_linux.cc",
    "src/util/net/http_transport_socket.cc",
    "src/util/posix/process_info_linux.cc",
    "src/util/process/process_memory_linux.cc",
    "src/util/process/process_memory_sanitized.cc",
]

CRASHPAD_UTIL_LINUX_HEADERS = [
    "src/util/linux/address_types.h",
    "src/util/linux/auxiliary_vector.h",
    "src/util/linux/direct_ptrace_connection.h",
    "src/util/linux/exception_handler_client.h",
    "src/util/linux/exception_handler_protocol.h",
    "src/util/linux/exception_information.h",
    "src/util/linux/memory_map.h",
    "src/util/linux/proc_stat_reader.h",
    "src/util/linux/proc_task_reader.h",
    "src/util/linux/ptrace_broker.h",
    "src/util/linux/ptrace_client.h",
    "src/util/linux/ptrace_connection.h",
    "src/util/linux/ptracer.h",
    "src/util/linux/scoped_pr_set_dumpable.h",
    "src/util/linux/scoped_pr_set_ptracer.h",
    "src/util/linux/scoped_ptrace_attach.h",
    "src/util/linux/socket.h",
    "src/util/linux/thread_info.h",
    "src/util/linux/traits.h",
    "src/util/process/process_memory_linux.h",
    "src/util/process/process_memory_sanitized.h",
]

CRASHPAD_UTIL_MACOS_HEADERS = [
    "src/util/process/process_memory_mac.h",
    "src/util/ios/ios_intermediate_dump_format.h",
    "src/util/ios/scoped_background_task.h",
]

CRASHPAD_UTIL_POSIX_SOURCES = [
    "src/util/file/directory_reader_posix.cc",
    "src/util/file/file_io_posix.cc",
    "src/util/file/filesystem_posix.cc",
    "src/util/misc/clock_posix.cc",
    "src/util/posix/close_multiple.cc",
    "src/util/posix/close_stdio.cc",
    "src/util/posix/drop_privileges.cc",
    "src/util/posix/scoped_dir.cc",
    "src/util/posix/scoped_mmap.cc",
    "src/util/posix/signals.cc",
    "src/util/posix/spawn_subprocess.cc",
    "src/util/posix/symbolic_constants_posix.cc",
    "src/util/synchronization/semaphore_posix.cc",
    "src/util/thread/thread_posix.cc",
]

CRASHPAD_UTIL_POSIX_HEADERS = [
    "src/util/posix/close_multiple.h",
    "src/util/posix/close_stdio.h",
    "src/util/posix/drop_privileges.h",
    "src/util/posix/process_info.h",
    "src/util/posix/scoped_dir.h",
    "src/util/posix/scoped_mmap.h",
    "src/util/posix/signals.h",
    "src/util/posix/spawn_subprocess.h",
    "src/util/posix/symbolic_constants_posix.h",
]

CRASHPAD_UTIL_FUCHSIA_POSIX_SOURCES = [
    "src/util/file/directory_reader_posix.cc",
    "src/util/file/file_io_posix.cc",
    "src/util/file/filesystem_posix.cc",
    "src/util/misc/clock_posix.cc",
    "src/util/posix/close_stdio.cc",
    "src/util/posix/scoped_dir.cc",
    "src/util/posix/scoped_mmap.cc",
    "src/util/posix/signals.cc",
    "src/util/synchronization/semaphore_posix.cc",
    "src/util/thread/thread_posix.cc",
]

CRASHPAD_UTIL_FUCHSIA_POSIX_HEADERS = [
    "src/util/posix/close_stdio.h",
    "src/util/posix/scoped_dir.h",
    "src/util/posix/scoped_mmap.h",
    "src/util/posix/signals.h",
]

CRASHPAD_UTIL_FUCHSIA_SOURCES = [
    "src/util/fuchsia/koid_utilities.cc",
    "src/util/fuchsia/scoped_task_suspend.cc",
    "src/util/misc/capture_context_fuchsia.S",
    "src/util/misc/paths_fuchsia.cc",
    "src/util/process/process_memory_fuchsia.cc",
]

CRASHPAD_UTIL_FUCHSIA_HEADERS = [
    "src/util/fuchsia/koid_utilities.h",
    "src/util/fuchsia/scoped_task_suspend.h",
    "src/util/fuchsia/traits.h",
    "src/util/process/process_memory_fuchsia.h",
]

cc_library(
    name = "util",
    srcs = CRASHPAD_UTIL_SOURCES +
           select({
               "@platforms//os:fuchsia": CRASHPAD_UTIL_FUCHSIA_POSIX_SOURCES +
                                         CRASHPAD_UTIL_FUCHSIA_SOURCES,
               "@platforms//os:osx": CRASHPAD_UTIL_POSIX_SOURCES,
               "@platforms//os:linux": CRASHPAD_UTIL_LINUX_SOURCES +
                                       CRASHPAD_UTIL_POSIX_SOURCES,
           }),
    hdrs = CRASHPAD_UTIL_HEADERS +
           select({
               "@platforms//os:fuchsia": CRASHPAD_UTIL_FUCHSIA_POSIX_HEADERS +
                                         CRASHPAD_UTIL_FUCHSIA_HEADERS,
               "@platforms//os:osx": CRASHPAD_UTIL_MACOS_HEADERS + CRASHPAD_UTIL_POSIX_HEADERS,
               "@platforms//os:linux": CRASHPAD_UTIL_LINUX_HEADERS +
                                       CRASHPAD_UTIL_POSIX_HEADERS,
           }),
    copts = CRASHPAD_COMMON_COPTS + [
        "-DZLIB_CONST",
        "-Wno-vla",
    ],
    features = ["-use_header_modules"],
    includes = ["src"],
    linkopts = select({
        "@platforms//os:linux": [
            # There is an intentional reference cycle between thread_posix.cc
            # and client/pthread_create_linux.cc, which provides an interposer
            # for pthread_create.
            "-Wl,--warn-backrefs-exclude=*/pthread_create/pthread_create_linux.*",
        ],
        "//conditions:default": [],
    }),
    visibility = ["//visibility:public"],
    deps = [
        ":util_no_cfi_icall",
        ":internal",
        ":compat",
        ":third_party_lss",
        ":third_party_zlib",
        "//third_party/mini_chromium:base",
    ] + select({
        "@platforms//os:fuchsia": ["@fuchsia_sdk//pkg/zx"],
        "//conditions:default": [],
    }),
)

cc_library(
    name = "third_party_lss",
    hdrs = ["src/third_party/lss/lss.h"],
    defines = ["CRASHPAD_LSS_SOURCE_FUCHSIA"],
    deps = ["//third_party/linux-syscall-support"],
)

cc_library(
    name = "third_party_zlib",
    hdrs = ["src/third_party/zlib/zlib_crashpad.h"],
    defines = ["CRASHPAD_ZLIB_SOURCE_EXTERNAL"],
    deps = ["//third_party/zlib:zlibsystem"],
)

cc_library(
    name = "util_no_cfi_icall",
    hdrs = ["src/util/misc/no_cfi_icall.h"],
    features = ["-use_header_modules"],
    deps = ["//third_party/mini_chromium:base"],
)

CRASHPAD_SNAPSHOT_SOURCES = [
    "src/snapshot/annotation_snapshot.cc",
    "src/snapshot/capture_memory.cc",
    "src/snapshot/capture_memory.h",
    "src/snapshot/crashpad_info_client_options.cc",
    "src/snapshot/handle_snapshot.cc",
    "src/snapshot/memory_snapshot.cc",
    "src/snapshot/memory_snapshot_generic.h",
    "src/snapshot/minidump/exception_snapshot_minidump.cc",
    "src/snapshot/minidump/memory_snapshot_minidump.cc",
    "src/snapshot/minidump/minidump_annotation_reader.cc",
    "src/snapshot/minidump/minidump_context_converter.cc",
    "src/snapshot/minidump/minidump_simple_string_dictionary_reader.cc",
    "src/snapshot/minidump/minidump_simple_string_dictionary_reader.h",
    "src/snapshot/minidump/minidump_string_list_reader.cc",
    "src/snapshot/minidump/minidump_string_list_reader.h",
    "src/snapshot/minidump/minidump_string_reader.cc",
    "src/snapshot/minidump/minidump_string_reader.h",
    "src/snapshot/minidump/module_snapshot_minidump.cc",
    "src/snapshot/minidump/module_snapshot_minidump.h",
    "src/snapshot/minidump/process_snapshot_minidump.cc",
    "src/snapshot/minidump/system_snapshot_minidump.cc",
    "src/snapshot/minidump/thread_snapshot_minidump.cc",
    "src/snapshot/unloaded_module_snapshot.cc",
]

CRASHPAD_SNAPSHOT_HEADERS = [
    "src/snapshot/annotation_snapshot.h",
    "src/snapshot/cpu_architecture.h",
    "src/snapshot/cpu_context.h",
    "src/snapshot/crashpad_info_client_options.h",
    "src/snapshot/exception_snapshot.h",
    "src/snapshot/handle_snapshot.h",
    "src/snapshot/memory_map_region_snapshot.h",
    "src/snapshot/memory_snapshot.h",
    "src/snapshot/minidump/exception_snapshot_minidump.h",
    "src/snapshot/minidump/memory_snapshot_minidump.h",
    "src/snapshot/minidump/minidump_annotation_reader.h",
    "src/snapshot/minidump/minidump_context_converter.h",
    "src/snapshot/minidump/minidump_stream.h",
    "src/snapshot/minidump/process_snapshot_minidump.h",
    "src/snapshot/minidump/system_snapshot_minidump.h",
    "src/snapshot/minidump/thread_snapshot_minidump.h",
    "src/snapshot/module_snapshot.h",
    "src/snapshot/process_snapshot.h",
    "src/snapshot/system_snapshot.h",
    "src/snapshot/thread_snapshot.h",
    "src/snapshot/unloaded_module_snapshot.h",
]

CRASHPAD_SNAPSHOT_TEXTUAL_HEADERS = [
    "src/snapshot/snapshot_constants.h",
]

CRASHPAD_SNAPSHOT_MACOS_SOURCES = [
    "src/snapshot/mac/cpu_context_mac.cc",
    "src/snapshot/mac/exception_snapshot_mac.cc",
    "src/snapshot/mac/mach_o_image_annotations_reader.cc",
    "src/snapshot/mac/mach_o_image_reader.cc",
    "src/snapshot/mac/mach_o_image_segment_reader.cc",
    "src/snapshot/mac/mach_o_image_symbol_table_reader.cc",
    "src/snapshot/mac/mach_o_image_symbol_table_reader.h",
    "src/snapshot/mac/module_snapshot_mac.cc",
    "src/snapshot/mac/process_reader_mac.cc",
    "src/snapshot/mac/process_snapshot_mac.cc",
    "src/snapshot/mac/process_types.cc",
    "src/snapshot/mac/process_types/custom.cc",
    "src/snapshot/mac/system_snapshot_mac.cc",
    "src/snapshot/mac/thread_snapshot_mac.cc",
]

CRASHPAD_SNAPSHOT_MACOS_HEADERS = [
    "src/snapshot/mac/cpu_context_mac.h",
    "src/snapshot/mac/exception_snapshot_mac.h",
    "src/snapshot/mac/mach_o_image_annotations_reader.h",
    "src/snapshot/mac/mach_o_image_reader.h",
    "src/snapshot/mac/mach_o_image_segment_reader.h",
    "src/snapshot/mac/module_snapshot_mac.h",
    "src/snapshot/mac/process_reader_mac.h",
    "src/snapshot/mac/process_snapshot_mac.h",
    "src/snapshot/mac/process_types.h",
    "src/snapshot/mac/process_types/internal.h",
    "src/snapshot/mac/process_types/traits.h",
    "src/snapshot/mac/system_snapshot_mac.h",
    "src/snapshot/mac/thread_snapshot_mac.h",
]

CRASHPAD_SNAPSHOT_MACOS_TEXTUAL_HEADERS = [
    "src/snapshot/mac/process_types/all.proctype",
    "src/snapshot/mac/process_types/annotation.proctype",
    "src/snapshot/mac/process_types/crashpad_info.proctype",
    "src/snapshot/mac/process_types/crashreporterclient.proctype",
    "src/snapshot/mac/process_types/dyld_images.proctype",
    "src/snapshot/mac/process_types/flavors.h",
    "src/snapshot/mac/process_types/loader.proctype",
    "src/snapshot/mac/process_types/nlist.proctype",
]

CRASHPAD_SNAPSHOT_POSIX_SOURCES = [
    "src/snapshot/posix/timezone.cc",
]

CRASHPAD_SNAPSHOT_POSIX_HEADERS = [
    "src/snapshot/posix/timezone.h",
]

CRASHPAD_SNAPSHOT_LINUX_SOURCES = [
    "src/snapshot/crashpad_types/crashpad_info_reader.cc",
    "src/snapshot/crashpad_types/image_annotation_reader.cc",
    "src/snapshot/elf/elf_dynamic_array_reader.cc",
    "src/snapshot/elf/elf_image_reader.cc",
    "src/snapshot/elf/elf_symbol_table_reader.cc",
    "src/snapshot/elf/module_snapshot_elf.cc",
    "src/snapshot/linux/capture_memory_delegate_linux.h",
    "src/snapshot/linux/capture_memory_delegate_linux.cc",
    "src/snapshot/linux/cpu_context_linux.cc",
    "src/snapshot/linux/cpu_context_linux.h",
    "src/snapshot/linux/debug_rendezvous.cc",
    "src/snapshot/linux/exception_snapshot_linux.cc",
    "src/snapshot/linux/process_reader_linux.cc",
    "src/snapshot/linux/process_snapshot_linux.cc",
    "src/snapshot/linux/system_snapshot_linux.cc",
    "src/snapshot/linux/thread_snapshot_linux.cc",
    "src/snapshot/sanitized/memory_snapshot_sanitized.cc",
    "src/snapshot/sanitized/module_snapshot_sanitized.cc",
    "src/snapshot/sanitized/process_snapshot_sanitized.cc",
    "src/snapshot/sanitized/sanitization_information.cc",
    "src/snapshot/sanitized/thread_snapshot_sanitized.cc",
]

CRASHPAD_SNAPSHOT_LINUX_HEADERS = [
    "src/snapshot/crashpad_types/crashpad_info_reader.h",
    "src/snapshot/crashpad_types/image_annotation_reader.h",
    "src/snapshot/elf/elf_dynamic_array_reader.h",
    "src/snapshot/elf/elf_image_reader.h",
    "src/snapshot/elf/elf_symbol_table_reader.h",
    "src/snapshot/elf/module_snapshot_elf.h",
    "src/snapshot/linux/debug_rendezvous.h",
    "src/snapshot/linux/exception_snapshot_linux.h",
    "src/snapshot/linux/process_reader_linux.h",
    "src/snapshot/linux/process_snapshot_linux.h",
    "src/snapshot/linux/system_snapshot_linux.h",
    "src/snapshot/linux/thread_snapshot_linux.h",
    "src/snapshot/sanitized/memory_snapshot_sanitized.h",
    "src/snapshot/sanitized/module_snapshot_sanitized.h",
    "src/snapshot/sanitized/process_snapshot_sanitized.h",
    "src/snapshot/sanitized/sanitization_information.h",
    "src/snapshot/sanitized/thread_snapshot_sanitized.h",
]

CRASHPAD_SNAPSHOT_FUCHSIA_SOURCES = [
    "src/snapshot/crashpad_types/crashpad_info_reader.cc",
    "src/snapshot/crashpad_types/image_annotation_reader.cc",
    "src/snapshot/elf/elf_dynamic_array_reader.cc",
    "src/snapshot/elf/elf_image_reader.cc",
    "src/snapshot/elf/elf_symbol_table_reader.cc",
    "src/snapshot/elf/module_snapshot_elf.cc",
    "src/snapshot/fuchsia/cpu_context_fuchsia.cc",
    "src/snapshot/fuchsia/exception_snapshot_fuchsia.cc",
    "src/snapshot/fuchsia/memory_map_fuchsia.cc",
    "src/snapshot/fuchsia/memory_map_region_snapshot_fuchsia.cc",
    "src/snapshot/fuchsia/process_reader_fuchsia.cc",
    "src/snapshot/fuchsia/process_snapshot_fuchsia.cc",
    "src/snapshot/fuchsia/system_snapshot_fuchsia.cc",
    "src/snapshot/fuchsia/thread_snapshot_fuchsia.cc",
]

CRASHPAD_SNAPSHOT_FUCHSIA_HEADERS = [
    "src/snapshot/crashpad_types/crashpad_info_reader.h",
    "src/snapshot/crashpad_types/image_annotation_reader.h",
    "src/snapshot/elf/elf_dynamic_array_reader.h",
    "src/snapshot/elf/elf_image_reader.h",
    "src/snapshot/elf/elf_symbol_table_reader.h",
    "src/snapshot/elf/module_snapshot_elf.h",
    "src/snapshot/fuchsia/cpu_context_fuchsia.h",
    "src/snapshot/fuchsia/exception_snapshot_fuchsia.h",
    "src/snapshot/fuchsia/memory_map_fuchsia.h",
    "src/snapshot/fuchsia/memory_map_region_snapshot_fuchsia.h",
    "src/snapshot/fuchsia/process_reader_fuchsia.h",
    "src/snapshot/fuchsia/process_snapshot_fuchsia.h",
    "src/snapshot/fuchsia/system_snapshot_fuchsia.h",
    "src/snapshot/fuchsia/thread_snapshot_fuchsia.h",
]

CRASHPAD_SNAPSHOT_LINUX_TEXTUAL_HEADERS = [
    "src/snapshot/linux/signal_context.h",
]

CRASHPAD_SNAPSHOT_X86_SOURCES = [
    "src/snapshot/x86/cpuid_reader.cc",
    "src/snapshot/x86/cpuid_reader.h",
]

cc_library(
    name = "snapshot",
    srcs = CRASHPAD_SNAPSHOT_SOURCES +
           select({
               "@platforms//os:osx": CRASHPAD_SNAPSHOT_MACOS_SOURCES +
                                     CRASHPAD_SNAPSHOT_POSIX_SOURCES,
               "@platforms//os:fuchsia": CRASHPAD_SNAPSHOT_FUCHSIA_SOURCES +
                                         CRASHPAD_SNAPSHOT_POSIX_SOURCES,
               "@platforms//os:linux": CRASHPAD_SNAPSHOT_LINUX_SOURCES +
                                       CRASHPAD_SNAPSHOT_POSIX_SOURCES,
           }) +
           select({
               "@platforms//cpu:x86_64": CRASHPAD_SNAPSHOT_X86_SOURCES,
               "//conditions:default": [],
           }),
    hdrs = CRASHPAD_SNAPSHOT_HEADERS +
           select({
               "@platforms//os:osx": CRASHPAD_SNAPSHOT_MACOS_HEADERS +
                                     CRASHPAD_SNAPSHOT_POSIX_HEADERS,
               "@platforms//os:fuchsia": CRASHPAD_SNAPSHOT_FUCHSIA_HEADERS +
                                         CRASHPAD_SNAPSHOT_POSIX_HEADERS,
               "@platforms//os:linux": CRASHPAD_SNAPSHOT_LINUX_HEADERS +
                                       CRASHPAD_SNAPSHOT_POSIX_HEADERS,
           }),
    copts = CRASHPAD_COMMON_COPTS,
    features = ["-use_header_modules"],
    includes = ["src"],
    textual_hdrs = CRASHPAD_SNAPSHOT_TEXTUAL_HEADERS + select({
        "@platforms//os:osx": CRASHPAD_SNAPSHOT_MACOS_TEXTUAL_HEADERS,
        "@platforms//os:linux": CRASHPAD_SNAPSHOT_LINUX_TEXTUAL_HEADERS,
        "//conditions:default": [],
    }),
    visibility = ["//visibility:public"],
    deps = [
        ":snapshot_context",
        ":internal",
        ":client_common",
        ":compat",
        ":minidump_extensions_header",
        ":minidump_format",
        ":util",
        "//third_party/mini_chromium:base",
    ] + select({
        # TODO(jayzhuang): Mac targets TBA.
        # "@platforms//os:osx": [
        #     "//third_party/crashpad/crashpad/util:util_mac",
        #     "//third_party/mini_chromium:base_mac",
        # ],
        "@platforms//os:fuchsia": ["@fuchsia_sdk//pkg/zx"],
        "//conditions:default": [],
    }),
)

cc_library(
    name = "snapshot_context",
    srcs = [
        "src/snapshot/cpu_context.cc",
    ],
    hdrs = [
        "src/snapshot/cpu_architecture.h",
        "src/snapshot/cpu_context.h",
    ],
    copts = CRASHPAD_COMMON_COPTS,
    features = ["-use_header_modules"],
    deps = [
        "//third_party/crashpad:util",
        "//third_party/mini_chromium:base",
    ],
)

cc_library(
    name = "client_common",
    srcs = [
        "src/client/annotation.cc",
        "src/client/annotation_list.cc",
        "src/client/crash_report_database.cc",
        "src/client/crashpad_info.cc",
        "src/client/settings.cc",
    ] + select({
        "//conditions:default": [
            "src/client/crashpad_info_note.S",
            "src/client/crash_report_database_generic.cc",
        ],
    }),
    hdrs = [
        "src/client/annotation.h",
        "src/client/annotation_list.h",
        "src/client/crash_report_database.h",
        "src/client/crashpad_info.h",
        "src/client/settings.h",
        "src/client/simple_address_range_bag.h",
        "src/client/simple_string_dictionary.h",
    ],
    copts = CRASHPAD_COMMON_COPTS,
    features = ["-use_header_modules"],
    linkopts = select({
        "@platforms//os:osx": [],
        "//conditions:default": [],
    }),
    deps = [
        ":compat",
        ":util",
        "//third_party/mini_chromium:base",
    ],
)
