xref: /aosp_15_r20/external/cronet/base/win/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2016 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Workerimport("//build/buildflag_header.gni")
6*6777b538SAndroid Build Coastguard Workerimport("//build/config/win/control_flow_guard.gni")
7*6777b538SAndroid Build Coastguard Worker
8*6777b538SAndroid Build Coastguard Workerdeclare_args() {
9*6777b538SAndroid Build Coastguard Worker  # Indicates if the handle verifier should operate in a single module mode. By
10*6777b538SAndroid Build Coastguard Worker  # default a single instance gets shared by all the modules.
11*6777b538SAndroid Build Coastguard Worker  single_module_mode_handle_verifier = false
12*6777b538SAndroid Build Coastguard Worker}
13*6777b538SAndroid Build Coastguard Worker
14*6777b538SAndroid Build Coastguard Worker# Ensure that the handle verifier is always used in a single module mode for the
15*6777b538SAndroid Build Coastguard Worker# component builds.
16*6777b538SAndroid Build Coastguard Workerif (is_component_build) {
17*6777b538SAndroid Build Coastguard Worker  single_module_mode_handle_verifier = true
18*6777b538SAndroid Build Coastguard Worker}
19*6777b538SAndroid Build Coastguard Worker
20*6777b538SAndroid Build Coastguard Workerbuildflag_header("base_win_buildflags") {
21*6777b538SAndroid Build Coastguard Worker  header = "base_win_buildflags.h"
22*6777b538SAndroid Build Coastguard Worker  header_dir = "base/win"
23*6777b538SAndroid Build Coastguard Worker  flags = [
24*6777b538SAndroid Build Coastguard Worker    "SINGLE_MODULE_MODE_HANDLE_VERIFIER=$single_module_mode_handle_verifier",
25*6777b538SAndroid Build Coastguard Worker    "WIN_ENABLE_CFG_GUARDS=$win_enable_cfg_guards",
26*6777b538SAndroid Build Coastguard Worker  ]
27*6777b538SAndroid Build Coastguard Worker}
28*6777b538SAndroid Build Coastguard Worker
29*6777b538SAndroid Build Coastguard Workerstatic_library("pe_image") {
30*6777b538SAndroid Build Coastguard Worker  sources = [
31*6777b538SAndroid Build Coastguard Worker    "../no_destructor.h",
32*6777b538SAndroid Build Coastguard Worker    "current_module.h",
33*6777b538SAndroid Build Coastguard Worker    "pe_image.cc",
34*6777b538SAndroid Build Coastguard Worker    "pe_image.h",
35*6777b538SAndroid Build Coastguard Worker  ]
36*6777b538SAndroid Build Coastguard Worker}
37