blob: 25e59634bc93a18307eeee043a3cac4a9017f1a5 [file] [log] [blame]
# 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.
import("//build/config/clang/clang.gni")
import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/win/manifest.gni")
if (is_starboard) {
# Never use a manifest in Starboard.
group("default_exe_manifest") {}
} else {
# Depending on this target will cause the manifests for Chrome's default
# Windows and common control compatibility and elevation for executables.
windows_manifest("default_exe_manifest") {
sources = [
as_invoker_manifest,
common_controls_manifest,
default_compatibility_manifest,
]
}
}
if (is_win) {
assert(host_os != "mac" || target_cpu != "x86",
"Windows cross-builds from Mac must be 64-bit.")
if (!is_starboard) {
action("copy_cdb_to_output") {
script = "//build/win/copy_cdb_to_output.py"
inputs = [
script,
"//build/vs_toolchain.py",
]
outputs = [
"$root_out_dir/cdb/cdb.exe",
"$root_out_dir/cdb/dbgeng.dll",
"$root_out_dir/cdb/dbghelp.dll",
"$root_out_dir/cdb/dbgmodel.dll",
"$root_out_dir/cdb/winext/ext.dll",
"$root_out_dir/cdb/winext/uext.dll",
"$root_out_dir/cdb/winxp/exts.dll",
"$root_out_dir/cdb/winxp/ntsdexts.dll",
]
if (current_cpu != "arm64") {
# The UCRT files are not redistributable for ARM64 Win32.
outputs += [
"$root_out_dir/cdb/api-ms-win-core-console-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-datetime-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-debug-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-errorhandling-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-file-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-file-l1-2-0.dll",
"$root_out_dir/cdb/api-ms-win-core-file-l2-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-handle-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-heap-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-interlocked-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-libraryloader-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-localization-l1-2-0.dll",
"$root_out_dir/cdb/api-ms-win-core-memory-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-namedpipe-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-processenvironment-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-processthreads-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-processthreads-l1-1-1.dll",
"$root_out_dir/cdb/api-ms-win-core-profile-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-rtlsupport-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-string-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-synch-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-synch-l1-2-0.dll",
"$root_out_dir/cdb/api-ms-win-core-sysinfo-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-timezone-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-core-util-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-conio-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-convert-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-environment-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-filesystem-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-heap-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-locale-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-math-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-multibyte-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-private-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-process-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-runtime-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-stdio-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-string-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-time-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-crt-utility-l1-1-0.dll",
"$root_out_dir/cdb/api-ms-win-downlevel-kernel32-l2-1-0.dll",
"$root_out_dir/cdb/api-ms-win-eventing-provider-l1-1-0.dll",
"$root_out_dir/cdb/ucrtbase.dll",
]
}
args = [
rebase_path("$root_out_dir/cdb", root_out_dir),
current_cpu,
]
}
}
group("runtime_libs") {
data = []
if (is_component_build) {
# Copy the VS runtime DLLs into the isolate so that they don't have to be
# preinstalled on the target machine. The debug runtimes have a "d" at
# the end.
if (is_debug) {
vcrt_suffix = "d"
} else {
vcrt_suffix = ""
}
# These runtime files are copied to the output directory by the
# vs_toolchain script that runs as part of toolchain configuration.
data += [
"$root_out_dir/msvcp140${vcrt_suffix}.dll",
"$root_out_dir/vccorlib140${vcrt_suffix}.dll",
"$root_out_dir/vcruntime140${vcrt_suffix}.dll",
]
if (current_cpu == "x64") {
data += [ "$root_out_dir/vcruntime140_1${vcrt_suffix}.dll" ]
}
if (is_debug) {
data += [ "$root_out_dir/ucrtbased.dll" ]
}
if (is_asan) {
assert(target_cpu == "x64",
"ASan is only supported in 64-bit builds on Windows.")
data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-x86_64.dll" ]
}
if (current_cpu != "arm64") {
data += [
# Universal Windows 10 CRT files
"$root_out_dir/api-ms-win-core-console-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-datetime-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-debug-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-errorhandling-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-file-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-file-l1-2-0.dll",
"$root_out_dir/api-ms-win-core-file-l2-1-0.dll",
"$root_out_dir/api-ms-win-core-handle-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-heap-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-interlocked-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-libraryloader-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-localization-l1-2-0.dll",
"$root_out_dir/api-ms-win-core-memory-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-namedpipe-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-processenvironment-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-processthreads-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-processthreads-l1-1-1.dll",
"$root_out_dir/api-ms-win-core-profile-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-rtlsupport-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-string-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-synch-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-synch-l1-2-0.dll",
"$root_out_dir/api-ms-win-core-sysinfo-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-timezone-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-util-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-conio-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-convert-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-environment-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-filesystem-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-heap-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-locale-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-math-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-multibyte-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-private-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-process-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-runtime-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-stdio-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-string-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-time-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-utility-l1-1-0.dll",
"$root_out_dir/api-ms-win-downlevel-kernel32-l2-1-0.dll",
"$root_out_dir/api-ms-win-eventing-provider-l1-1-0.dll",
]
if (!is_debug) {
data += [ "$root_out_dir/ucrtbase.dll" ]
}
}
}
}
}