| OLD | NEW |
| 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import("//build/config/allocator.gni") | 5 import("//build/config/allocator.gni") |
| 6 import("//build/config/compiler/compiler.gni") | 6 import("//build/config/compiler/compiler.gni") |
| 7 | 7 |
| 8 if (is_win) { | 8 if (is_win) { |
| 9 import("//build/config/win/visual_studio_version.gni") | 9 import("//build/config/win/visual_studio_version.gni") |
| 10 } | 10 } |
| 11 | 11 |
| 12 declare_args() { | 12 declare_args() { |
| 13 # Provide a way to force disable debugallocation in Debug builds, | 13 # Provide a way to force disable debugallocation in Debug builds, |
| 14 # e.g. for profiling (it's more rare to profile Debug builds, | 14 # e.g. for profiling (it's more rare to profile Debug builds, |
| 15 # but people sometimes need to do that). | 15 # but people sometimes need to do that). |
| 16 enable_debugallocation = is_debug | 16 enable_debugallocation = is_debug |
| 17 } | 17 } |
| 18 | 18 |
| 19 # Only executables and not libraries should depend on the allocator target; | |
| 20 # only the application (the final executable) knows what allocator makes sense. | |
| 21 # This "allocator" meta-target will forward to the default allocator according | 19 # This "allocator" meta-target will forward to the default allocator according |
| 22 # to the build settings. | 20 # to the build settings. |
| 23 group("allocator") { | 21 group("allocator") { |
| 24 public_deps = [] | 22 if (!is_nacl) { |
| 25 if (use_allocator == "tcmalloc") { | 23 deps = [] |
| 26 public_deps += [ ":tcmalloc" ] | |
| 27 } | |
| 28 | 24 |
| 29 # This condition expresses the win_use_allocator_shim in the GYP build. | 25 if (use_allocator == "tcmalloc") { |
| 30 if (is_win && !is_component_build && visual_studio_version != "2015") { | 26 deps += [ ":tcmalloc" ] |
| 31 public_deps += [ ":allocator_shim" ] | 27 } |
| 32 } | 28 |
| 29 # This condition expresses the win_use_allocator_shim in the GYP build. |
| 30 if (is_win && !is_component_build && visual_studio_version != "2015") { |
| 31 deps += [ ":allocator_shim" ] |
| 32 all_dependent_configs = [ ":nocmt" ] |
| 33 } |
| 34 } # !is_nacl |
| 33 } | 35 } |
| 34 | 36 |
| 35 # This config defines ALLOCATOR_SHIM in the same conditions that the allocator | 37 # This config defines ALLOCATOR_SHIM in the same conditions that the allocator |
| 36 # shim will be used by the allocator target. | 38 # shim will be used by the allocator target. |
| 37 # | 39 # |
| 38 # TODO(brettw) this is only used in one place and is kind of mess, because it | 40 # TODO(brettw) this is only used in one place and is kind of mess, because it |
| 39 # assumes that the library using it will eventually be linked with | 41 # assumes that the library using it will eventually be linked with |
| 40 # //base/allocator in the default way. Clean this up and delete this. | 42 # //base/allocator in the default way. Clean this up and delete this. |
| 41 config("allocator_shim_define") { | 43 config("allocator_shim_define") { |
| 42 if (is_win && !is_component_build && visual_studio_version != "2015") { | 44 if (is_win && !is_component_build && visual_studio_version != "2015") { |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 ] | 102 ] |
| 101 } | 103 } |
| 102 | 104 |
| 103 source_set("allocator_shim") { | 105 source_set("allocator_shim") { |
| 104 sources = [ | 106 sources = [ |
| 105 "allocator_shim_win.cc", | 107 "allocator_shim_win.cc", |
| 106 ] | 108 ] |
| 107 configs -= [ "//build/config/compiler:chromium_code" ] | 109 configs -= [ "//build/config/compiler:chromium_code" ] |
| 108 configs += [ "//build/config/compiler:no_chromium_code" ] | 110 configs += [ "//build/config/compiler:no_chromium_code" ] |
| 109 | 111 |
| 110 public_configs = [ ":nocmt" ] | |
| 111 deps = [ | 112 deps = [ |
| 112 ":prep_libc", | 113 ":prep_libc", |
| 113 "//base", | |
| 114 ] | 114 ] |
| 115 } | 115 } |
| 116 } | 116 } |
| 117 } | 117 } |
| 118 | 118 |
| 119 if (use_allocator == "tcmalloc") { | 119 if (use_allocator == "tcmalloc") { |
| 120 # tcmalloc currently won't compile on Android. | 120 # tcmalloc currently won't compile on Android. |
| 121 source_set("tcmalloc") { | 121 source_set("tcmalloc") { |
| 122 tcmalloc_dir = "//third_party/tcmalloc/chromium" | 122 tcmalloc_dir = "//third_party/tcmalloc/chromium" |
| 123 | 123 |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 # Make sure the allocation library is optimized as much as possible when | 283 # Make sure the allocation library is optimized as much as possible when |
| 284 # we"re in release mode. | 284 # we"re in release mode. |
| 285 if (!is_debug) { | 285 if (!is_debug) { |
| 286 configs -= [ "//build/config/compiler:default_optimization" ] | 286 configs -= [ "//build/config/compiler:default_optimization" ] |
| 287 configs += [ "//build/config/compiler:optimize_max" ] | 287 configs += [ "//build/config/compiler:optimize_max" ] |
| 288 } | 288 } |
| 289 | 289 |
| 290 deps += [ "//base/third_party/dynamic_annotations" ] | 290 deps += [ "//base/third_party/dynamic_annotations" ] |
| 291 } | 291 } |
| 292 } # use_allocator == "tcmalloc" | 292 } # use_allocator == "tcmalloc" |
| OLD | NEW |