| # Copyright 2017 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/sanitizers/sanitizers.gni") |
| import("//build/win/message_compiler.gni") |
| import("//chrome/process_version_rc_template.gni") |
| |
| message_compiler("eventlog_messages") { |
| visibility = [ |
| ":eventlog_provider", |
| "//chrome/common:common_lib", |
| ] |
| |
| sources = [ "eventlog_messages.mc" ] |
| |
| user_mode_logging = false |
| compile_generated_code = false |
| } |
| |
| process_version_rc_template("eventlog_provider_dll_version") { |
| sources = [ "eventlog_provider.ver" ] |
| output = "$target_gen_dir/eventlog_provider_dll_version.rc" |
| } |
| |
| shared_library("eventlog_provider") { |
| sources = [ |
| "$root_gen_dir/chrome/common/win/eventlog_messages.rc", |
| "eventlog_provider.cc", |
| ] |
| |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| |
| if (!is_asan && !use_clang_profiling) { |
| no_default_deps = true |
| ldflags = [ "/NOENTRY" ] |
| } |
| |
| deps = [ ":eventlog_provider_dll_version" ] |
| public_deps = [ ":eventlog_messages" ] |
| } |
| |
| # The delay load hook must be a source_set to ensure that it has external |
| # linkage and will correctly emplace over the correct symbols in delayimp.lib at |
| # link time. |
| source_set("delay_load_hooks") { |
| sources = [ |
| "delay_load_failure_hook.cc", |
| "delay_load_notify_hook.cc", |
| "delay_load_notify_hook.h", |
| ] |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| deps = [ |
| ":delay_load_failure_support", |
| "//base", |
| ] |
| } |
| |
| source_set("delay_load_failure_support") { |
| sources = [ |
| "delay_load_failure_support.cc", |
| "delay_load_failure_support.h", |
| ] |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| deps = [ "//base" ] |
| } |