| # Copyright 2015 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. |
| |
| if (is_mac) { |
| import("//build/config/sysroot.gni") |
| } |
| |
| # Allows the source set to inject ldflags for targets that link to it. |
| config("util_link_config") { |
| if (is_mac) { |
| libs = [ "bsm" ] |
| } |
| } |
| |
| if (is_mac) { |
| action_foreach("mig") { |
| script = "mach/mig.py" |
| sources = [ |
| "$sysroot/usr/include/mach/exc.defs", |
| "$sysroot/usr/include/mach/mach_exc.defs", |
| "$sysroot/usr/include/mach/notify.defs", |
| "mach/child_port.defs", |
| ] |
| |
| outputs = [ |
| "$target_gen_dir/mach/{{source_name_part}}User.c", |
| "$target_gen_dir/mach/{{source_name_part}}Server.c", |
| "$target_gen_dir/mach/{{source_name_part}}.h", |
| "$target_gen_dir/mach/{{source_name_part}}Server.h", |
| ] |
| |
| args = [ "{{source}}" ] |
| args += rebase_path(outputs, root_build_dir) |
| } |
| } |
| |
| source_set("util") { |
| sources = [ |
| "file/file_io.cc", |
| "file/file_io.h", |
| "file/file_io_posix.cc", |
| "file/file_io_win.cc", |
| "file/file_reader.cc", |
| "file/file_reader.h", |
| "file/file_seeker.cc", |
| "file/file_seeker.h", |
| "file/file_writer.cc", |
| "file/file_writer.h", |
| "file/string_file.cc", |
| "file/string_file.h", |
| "mac/checked_mach_address_range.h", |
| "mac/launchd.h", |
| "mac/launchd.mm", |
| "mac/mac_util.cc", |
| "mac/mac_util.h", |
| "mac/service_management.cc", |
| "mac/service_management.h", |
| "mac/xattr.cc", |
| "mac/xattr.h", |
| "misc/clock.h", |
| "misc/clock_mac.cc", |
| "misc/clock_posix.cc", |
| "misc/clock_win.cc", |
| "misc/implicit_cast.h", |
| "misc/initialization_state.h", |
| "misc/initialization_state_dcheck.cc", |
| "misc/initialization_state_dcheck.h", |
| "misc/pdb_structures.cc", |
| "misc/pdb_structures.h", |
| "misc/random_string.cc", |
| "misc/random_string.h", |
| "misc/scoped_forbid_return.cc", |
| "misc/scoped_forbid_return.h", |
| "misc/symbolic_constants_common.h", |
| "misc/tri_state.h", |
| "misc/uuid.cc", |
| "misc/uuid.h", |
| "net/http_body.cc", |
| "net/http_body.h", |
| "net/http_headers.cc", |
| "net/http_headers.h", |
| "net/http_multipart_builder.cc", |
| "net/http_multipart_builder.h", |
| "net/http_transport.cc", |
| "net/http_transport.h", |
| "net/http_transport_mac.mm", |
| "net/http_transport_win.cc", |
| "numeric/checked_address_range.cc", |
| "numeric/checked_address_range.h", |
| "numeric/checked_range.h", |
| "numeric/in_range_cast.h", |
| "numeric/int128.h", |
| "numeric/safe_assignment.h", |
| "posix/close_multiple.cc", |
| "posix/close_multiple.h", |
| "posix/close_stdio.cc", |
| "posix/close_stdio.h", |
| "posix/drop_privileges.cc", |
| "posix/drop_privileges.h", |
| "posix/process_info.h", |
| "posix/process_info_mac.cc", |
| "posix/symbolic_constants_posix.cc", |
| "posix/symbolic_constants_posix.h", |
| "stdlib/aligned_allocator.cc", |
| "stdlib/aligned_allocator.h", |
| "stdlib/cxx.h", |
| "stdlib/map_insert.h", |
| "stdlib/objc.h", |
| "stdlib/pointer_container.h", |
| "stdlib/string_number_conversion.cc", |
| "stdlib/string_number_conversion.h", |
| "stdlib/strlcpy.cc", |
| "stdlib/strlcpy.h", |
| "stdlib/strnlen.cc", |
| "stdlib/strnlen.h", |
| "string/split_string.cc", |
| "string/split_string.h", |
| "synchronization/semaphore.h", |
| "synchronization/semaphore_mac.cc", |
| "synchronization/semaphore_posix.cc", |
| "synchronization/semaphore_win.cc", |
| "thread/thread.cc", |
| "thread/thread.h", |
| "thread/thread_log_messages.cc", |
| "thread/thread_log_messages.h", |
| "thread/thread_posix.cc", |
| "thread/thread_win.cc", |
| "thread/worker_thread.cc", |
| "thread/worker_thread.h", |
| "win/address_types.h", |
| "win/capture_context.asm", |
| "win/capture_context.h", |
| "win/checked_win_address_range.h", |
| "win/command_line.cc", |
| "win/command_line.h", |
| "win/critical_section_with_debug_info.cc", |
| "win/critical_section_with_debug_info.h", |
| "win/exception_handler_server.cc", |
| "win/exception_handler_server.h", |
| "win/get_function.cc", |
| "win/get_function.h", |
| "win/get_module_information.cc", |
| "win/get_module_information.h", |
| "win/handle.cc", |
| "win/handle.h", |
| "win/module_version.cc", |
| "win/module_version.h", |
| "win/nt_internals.cc", |
| "win/nt_internals.h", |
| "win/ntstatus_logging.cc", |
| "win/ntstatus_logging.h", |
| "win/process_info.cc", |
| "win/process_info.h", |
| "win/process_structs.h", |
| "win/registration_protocol_win.cc", |
| "win/registration_protocol_win.h", |
| "win/scoped_handle.cc", |
| "win/scoped_handle.h", |
| "win/scoped_local_alloc.cc", |
| "win/scoped_local_alloc.h", |
| "win/scoped_process_suspend.cc", |
| "win/scoped_process_suspend.h", |
| "win/time.cc", |
| "win/time.h", |
| "win/xp_compat.h", |
| ] |
| |
| if (is_mac) { |
| # mach/ are not globally filtered. |
| sources += [ |
| "mach/child_port_handshake.cc", |
| "mach/child_port_handshake.h", |
| "mach/child_port_server.cc", |
| "mach/child_port_server.h", |
| "mach/child_port_types.h", |
| "mach/composite_mach_message_server.cc", |
| "mach/composite_mach_message_server.h", |
| "mach/exc_client_variants.cc", |
| "mach/exc_client_variants.h", |
| "mach/exc_server_variants.cc", |
| "mach/exc_server_variants.h", |
| "mach/exception_behaviors.cc", |
| "mach/exception_behaviors.h", |
| "mach/exception_ports.cc", |
| "mach/exception_ports.h", |
| "mach/exception_types.cc", |
| "mach/exception_types.h", |
| "mach/mach_extensions.cc", |
| "mach/mach_extensions.h", |
| "mach/mach_message.cc", |
| "mach/mach_message.h", |
| "mach/mach_message_server.cc", |
| "mach/mach_message_server.h", |
| "mach/notify_server.cc", |
| "mach/notify_server.h", |
| "mach/scoped_task_suspend.cc", |
| "mach/scoped_task_suspend.h", |
| "mach/symbolic_constants_mach.cc", |
| "mach/symbolic_constants_mach.h", |
| "mach/task_for_pid.cc", |
| "mach/task_for_pid.h", |
| "mach/task_memory.cc", |
| "mach/task_memory.h", |
| ] |
| } |
| |
| # Include files from here and generated files starting with "util". |
| include_dirs = [ |
| "..", |
| "$root_gen_dir/third_party/crashpad/crashpad", |
| ] |
| |
| all_dependent_configs = [ ":util_link_config" ] |
| |
| deps = [ |
| "//base", |
| "//third_party/crashpad/crashpad/compat", |
| ] |
| |
| if (is_win) { |
| libs = [ |
| "rpcrt4.lib", |
| "winhttp.lib", |
| ] |
| cflags = [ |
| "/wd4201", # nonstandard extension used : nameless struct/union. |
| "/wd4577", # 'noexcept' used with no exception handling mode specified. |
| ] |
| |
| if (current_cpu == "x86") { |
| asmflags = [ "/safeseh" ] |
| } |
| } else if (is_mac) { |
| sources += get_target_outputs(":mig") |
| deps += [ ":mig" ] |
| libs = [ |
| "CoreFoundation.framework", |
| "Foundation.framework", |
| "IOKit.framework", |
| ] |
| } |
| } |