Index: webrtc/base/BUILD.gn |
diff --git a/webrtc/base/BUILD.gn b/webrtc/base/BUILD.gn |
index 880d89798690422a6bac24a5b3256331383d0a91..3c13ce7709fba947e6f33bb67577e5473e3ad2e8 100644 |
--- a/webrtc/base/BUILD.gn |
+++ b/webrtc/base/BUILD.gn |
@@ -14,6 +14,9 @@ if (is_android) { |
import("//build/config/android/config.gni") |
import("//build/config/android/rules.gni") |
} |
+if (is_win) { |
+ import("//build/config/win/visual_studio_version.gni") |
+} |
config("rtc_base_approved_all_dependent_config") { |
if (is_mac && !build_with_chromium) { |
@@ -195,6 +198,85 @@ rtc_static_library("rtc_base_approved") { |
"logging_mac.mm", |
] |
} |
+ if (is_component_build && is_win) { |
+ # 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. |
+ # This is a copy of https://codereview.chromium.org/1783973002. |
+ # TODO(ehmaldonado): We'd like Chromium to make this changes easier to use, |
+ # so we don't have to copy their changes and risk breakages. |
+ # See http://crbug.com/653569 |
+ 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. |
+ if (visual_studio_version == "2015") { |
+ data = [ |
+ "$root_out_dir/msvcp140${vcrt_suffix}.dll", |
+ "$root_out_dir/vccorlib140${vcrt_suffix}.dll", |
+ "$root_out_dir/vcruntime140${vcrt_suffix}.dll", |
+ |
+ # 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/ucrtbase${vcrt_suffix}.dll", |
+ ] |
+ } else { |
+ data = [ |
+ "$root_out_dir/msvcp120${vcrt_suffix}.dll", |
+ "$root_out_dir/msvcr120${vcrt_suffix}.dll", |
+ ] |
+ } |
+ if (is_asan) { |
+ if (current_cpu == "x64") { |
+ data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-x86_64.dll" ] |
Nico
2016/10/17 15:32:24
you need to import build/config/clang/clang.gni at
|
+ } else { |
+ data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-i386.dll" ] |
+ } |
+ } |
+ } |
} |
config("enable_libevent_config") { |