Chromium Code Reviews| Index: base/BUILD.gn |
| diff --git a/base/BUILD.gn b/base/BUILD.gn |
| index 3852d0a866f309e4dbfce3036376b5eff48045e2..67d200baf281ed929169bfb24134131c4b258abc 100644 |
| --- a/base/BUILD.gn |
| +++ b/base/BUILD.gn |
| @@ -642,6 +642,8 @@ component("base") { |
| "sys_info_openbsd.cc", |
| ] |
| + data = [] |
| + |
| configs += [ ":base_implementation" ] |
| deps = [ |
| @@ -746,6 +748,30 @@ component("base") { |
| "sha1_win.cc", |
| ] |
| + # Required for base/stack_trace_win.cc to symbolize correctly. |
| + data += [ "$root_build_dir/dbghelp.dll" ] |
| + |
| + 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/msvcp120${vcrt_suffix}.dll", |
| + "$root_out_dir/msvcr120${vcrt_suffix}.dll", |
| + ] |
| + if (is_asan) { |
| + data += [ "//third_party/llvm-build/Release+Asserts/lib/clang/3.7.0/lib/windows/clang_rt.asan_dynamic-i386.dll" ] |
| + } |
| + } |
| + |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
| @@ -770,6 +796,11 @@ component("base") { |
| "threading/platform_thread_internal_posix.cc", |
| ] |
| + if (is_asan) { |
| + # TODO(GYP) hook up asan on Mac. GYP has this extra dylib: |
| + #data += [ "$root_out_dir/libclang_rt.asan_osx_dynamic.dylib" ] |
| + } |
| + |
| if (is_ios) { |
| sources -= [ |
| "files/file_path_watcher_fsevents.cc", |
| @@ -788,6 +819,11 @@ component("base") { |
| # Linux. |
| if (is_linux) { |
| + if (is_asan || is_lsan || is_msan || is_tsan) { |
| + # For llvm-sanitizer. |
| + data += [ "//third_party/llvm-build/Release+Asserts/lib/libstdc++.so.6" ] |
| + } |
| + |
| # TODO(brettw) this will need to be parameterized at some point. |
| linux_configs = [] |
| if (use_glib) { |
| @@ -867,6 +903,15 @@ component("base") { |
| ] |
| } |
| + if (is_asan || is_lsan || is_msan || is_tsan) { |
| + data += [ "//tools/valgrind/asan/" ] |
| + if (is_win) { |
| + data += [ "//third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer.exe" ] |
| + } else { |
| + data += [ "//third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer" ] |
| + } |
| + } |
| + |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| if (!is_debug) { |
| configs -= [ "//build/config/compiler:optimize" ] |
| @@ -1374,10 +1419,10 @@ test("base_unittests") { |
| data = [ |
| "test/data/", |
| - |
| - # TODO(dpranke): Remove when icu declares this directly. |
| - "$root_out_dir/icudtl.dat", |
| ] |
| + if (is_linux || is_mac || is_win) { |
| + data += [ "//testing/test_env.py" ] |
|
Dirk Pranke
2015/07/14 00:45:22
isn't this more a dependency of //base/test:test_s
|
| + } |
| # Allow more direct string conversions on platforms with native utf8 |
| # strings |
| @@ -1390,6 +1435,8 @@ test("base_unittests") { |
| ":base_java", |
| ":base_java_unittest_support", |
| ] |
| + # TODO(brettw) I think this should not be here, we should not be using |
| + # isolate files. |
|
Dirk Pranke
2015/07/14 00:45:22
We should probably discuss this at some point; it
|
| isolate_file = "base_unittests.isolate" |
| } |
| @@ -1443,6 +1490,15 @@ test("base_unittests") { |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
| + |
| + # Symbols for crashes when running tests on swarming. |
| + if (symbol_level > 0) { |
| + if (is_win) { |
| + data += [ "$root_out_dir/base_unittests.exe.pdb" ] |
| + } else if (is_mac) { |
| + data += [ "$root_out_dir/base_unittests.dSYM/" ] |
| + } |
| + } |
| } |
| if (is_android) { |