Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(699)

Unified Diff: base/allocator/BUILD.gn

Issue 1839783005: Revert of Allocator shims working on VS2015. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | base/allocator/allocator.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/allocator/BUILD.gn
diff --git a/base/allocator/BUILD.gn b/base/allocator/BUILD.gn
index c1599bb6855669c1a2d39fe2b038f0918e5c42f5..9fdb9566e3498f79aef3c2c6e6377dc356899c7d 100644
--- a/base/allocator/BUILD.gn
+++ b/base/allocator/BUILD.gn
@@ -5,6 +5,10 @@
import("//build/buildflag_header.gni")
import("//build/config/allocator.gni")
import("//build/config/compiler/compiler.gni")
+
+if (is_win) {
+ import("//build/config/win/visual_studio_version.gni")
+}
declare_args() {
# Provide a way to force disable debugallocation in Debug builds,
@@ -13,21 +17,19 @@
enable_debugallocation = is_debug
}
-# Allocator shim is only enabled for Release static builds.
-win_use_allocator_shim = is_win && !is_component_build && !is_debug
-
# This "allocator" meta-target will forward to the default allocator according
# to the build settings.
group("allocator") {
- public_deps = []
deps = []
if (use_allocator == "tcmalloc") {
deps += [ ":tcmalloc" ]
}
- if (win_use_allocator_shim) {
- public_deps += [ ":allocator_shim" ]
+ # This condition expresses the win_use_allocator_shim in the GYP build.
+ if (is_win && !is_component_build && visual_studio_version != "2015") {
+ deps += [ ":allocator_shim" ]
+ all_dependent_configs = [ ":nocmt" ]
}
}
@@ -38,7 +40,7 @@
# assumes that the library using it will eventually be linked with
# //base/allocator in the default way. Clean this up and delete this.
config("allocator_shim_define") {
- if (win_use_allocator_shim) {
+ if (is_win && !is_component_build && visual_studio_version != "2015") {
defines = [ "ALLOCATOR_SHIM" ]
}
}
@@ -74,15 +76,46 @@
}
}
-# This config is only used on Windows static release builds for the
-# allocator shim.
-if (win_use_allocator_shim) {
- source_set("allocator_shim") {
- sources = [
- "allocator_shim_win.cc",
- "allocator_shim_win.h",
- ]
- configs += [ ":allocator_shim_define" ]
+# This config and libc modification are only used on Windows.
+if (is_win) {
+ config("nocmt") {
+ ldflags = [
+ "/NODEFAULTLIB:libcmt",
+ "/NODEFAULTLIB:libcmtd",
+ ]
+ libs = [ rebase_path("$target_gen_dir/allocator/libcmt.lib") ]
+ }
+
+ if (!is_component_build && visual_studio_version != "2015") {
+ action("prep_libc") {
+ script = "prep_libc.py"
+ outputs = [
+ "$target_gen_dir/allocator/libcmt.lib",
+ ]
+ args = [
+ visual_studio_path + "/vc/lib",
+ rebase_path("$target_gen_dir/allocator"),
+ current_cpu,
+
+ # The environment file in the build directory. This is required because
+ # the Windows toolchain setup saves the VC paths and such so that
+ # running "mc.exe" will work with the configured toolchain. This file
+ # is in the root build dir.
+ "environment.$current_cpu",
+ ]
+ }
+
+ source_set("allocator_shim") {
+ sources = [
+ "allocator_shim_win.cc",
+ ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+
+ deps = [
+ ":prep_libc",
+ ]
+ }
}
}
« no previous file with comments | « no previous file | base/allocator/allocator.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698