| # 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" ] |
| } |
| } |
| } |
| } |
| } |