| OLD | NEW |
| 1 # Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 # Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 # for details. All rights reserved. Use of this source code is governed by a | 2 # for details. All rights reserved. Use of this source code is governed by a |
| 3 # BSD-style license that can be found in the LICENSE file. | 3 # BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 config("internal_config") { | 5 config("internal_config") { |
| 6 visibility = [ ":*" ] # Only targets in this file can depend on this. | 6 visibility = [ ":*" ] # Only targets in this file can depend on this. |
| 7 cflags = [ | 7 cflags = [ |
| 8 "-Wall", | 8 "-Wall", |
| 9 "-Wextra", | 9 "-Wextra", |
| 10 "-Wno-missing-field-initializers", | 10 "-Wno-missing-field-initializers", |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 "-fno-builtin-free", | 23 "-fno-builtin-free", |
| 24 "-fno-builtin-realloc", | 24 "-fno-builtin-realloc", |
| 25 "-fno-builtin-calloc", | 25 "-fno-builtin-calloc", |
| 26 "-fno-builtin-cfree", | 26 "-fno-builtin-cfree", |
| 27 "-fno-builtin-memalign", | 27 "-fno-builtin-memalign", |
| 28 "-fno-builtin-posix_memalign", | 28 "-fno-builtin-posix_memalign", |
| 29 "-fno-builtin-valloc", | 29 "-fno-builtin-valloc", |
| 30 "-fno-builtin-pvalloc", | 30 "-fno-builtin-pvalloc", |
| 31 ] | 31 ] |
| 32 if (is_clang) { | 32 if (is_clang) { |
| 33 cflags += [ | 33 cflags += [ "-Wno-unused-const-variable" ] |
| 34 "-Wno-unused-const-variable", | |
| 35 ] | |
| 36 } | 34 } |
| 37 } | 35 } |
| 38 | 36 |
| 39 config("link_config") { | 37 config("link_config") { |
| 40 visibility = [ ":*" ] # Only targets in this file can depend on this. | 38 visibility = [ ":*" ] # Only targets in this file can depend on this. |
| 41 ldflags = [ | 39 ldflags = [ |
| 42 # Don't let linker rip this symbol out, otherwise the heap&cpu | 40 # Don't let linker rip this symbol out, otherwise the heap&cpu |
| 43 # profilers will not initialize properly on startup. | 41 # profilers will not initialize properly on startup. |
| 44 "-Wl,-uIsHeapProfilerRunning,-uProfilerStart", | 42 "-Wl,-uIsHeapProfilerRunning,-uProfilerStart", |
| 45 ] | 43 ] |
| 46 } | 44 } |
| 47 | 45 |
| 48 source_set("dynamic_annotations") { | 46 source_set("dynamic_annotations") { |
| 49 configs -= [ "//build/config/compiler:chromium_code" ] | 47 configs -= [ "//build/config/compiler:chromium_code" ] |
| 50 configs += [ ":internal_config" ] | 48 configs += [ ":internal_config" ] |
| 51 | 49 |
| 52 include_dirs = [ | 50 include_dirs = [ |
| 53 "include", | 51 "include", |
| 54 "gperftools/src/base", | 52 "gperftools/src/base", |
| 55 "gperftools/src", | 53 "gperftools/src", |
| 56 ] | 54 ] |
| 57 | 55 |
| 58 sources = [ | 56 sources = [ |
| 59 "gperftools/src/base/dynamic_annotations.c", | 57 "gperftools/src/base/dynamic_annotations.c", |
| 60 "gperftools/src/base/dynamic_annotations.h", | 58 "gperftools/src/base/dynamic_annotations.h", |
| 61 ] | 59 ] |
| 62 } | 60 } |
| 63 | 61 |
| 64 tcmalloc_sources_list = exec_script("../../tools/gypi_to_gn.py", | 62 tcmalloc_sources_list = exec_script("../../tools/gypi_to_gn.py", |
| 65 [rebase_path("tcmalloc_sources.gypi")], | 63 [ rebase_path("tcmalloc_sources.gypi") ], |
| 66 "scope", | 64 "scope", |
| 67 ["tcmalloc_sources.gypi"]) | 65 [ "tcmalloc_sources.gypi" ]) |
| 68 | |
| 69 | 66 |
| 70 source_set("tcmalloc") { | 67 source_set("tcmalloc") { |
| 71 configs -= [ "//build/config/compiler:chromium_code" ] | 68 configs -= [ "//build/config/compiler:chromium_code" ] |
| 72 configs += [ ":internal_config" ] | 69 configs += [ ":internal_config" ] |
| 73 | 70 |
| 74 public_configs = [":link_config"] | 71 public_configs = [ ":link_config" ] |
| 75 | 72 |
| 76 deps = [ | 73 deps = [ |
| 77 ":dynamic_annotations" | 74 ":dynamic_annotations", |
| 78 ] | 75 ] |
| 79 | 76 |
| 80 include_dirs = [ | 77 include_dirs = [ |
| 81 "include", | 78 "include", |
| 82 "gperftools/src/base", | 79 "gperftools/src/base", |
| 83 "gperftools/src", | 80 "gperftools/src", |
| 84 ] | 81 ] |
| 85 | 82 |
| 86 # Disable the heap checker in tcmalloc. | 83 # Disable the heap checker in tcmalloc. |
| 87 defines = [ | 84 defines = [ |
| 88 "ENABLE_EMERGENCY_MALLOC", | 85 "ENABLE_EMERGENCY_MALLOC", |
| 89 "NO_HEAP_CHECK", | 86 "NO_HEAP_CHECK", |
| 87 |
| 90 # Disable debug even in a Dart Debug build. It is too slow. | 88 # Disable debug even in a Dart Debug build. It is too slow. |
| 91 "NDEBUG", | 89 "NDEBUG", |
| 92 ] | 90 ] |
| 93 | 91 |
| 94 # Disable stack sampling for heap profiling in Product builds. | 92 # Disable stack sampling for heap profiling in Product builds. |
| 95 if (is_product) { | 93 if (is_product) { |
| 96 defines += [ | 94 defines += [ "NO_TCMALLOC_SAMPLES" ] |
| 97 "NO_TCMALLOC_SAMPLES", | |
| 98 ] | |
| 99 } | 95 } |
| 100 | 96 |
| 101 cflags = [ | 97 cflags = [ |
| 102 "-Wnon-virtual-dtor", | 98 "-Wnon-virtual-dtor", |
| 103 "-Woverloaded-virtual", | 99 "-Woverloaded-virtual", |
| 104 "-fno-rtti", | 100 "-fno-rtti", |
| 105 "-fpermissive", | 101 "-fpermissive", |
| 106 ] | 102 ] |
| 107 | 103 |
| 108 if (!is_clang && current_cpu == "x86") { | 104 if (!is_clang && current_cpu == "x86") { |
| 109 cflags += [ | 105 cflags += [ "-Wno-format" ] |
| 110 "-Wno-format" | |
| 111 ] | |
| 112 } | 106 } |
| 113 | 107 |
| 114 set_sources_assignment_filter([ | 108 set_sources_assignment_filter([ |
| 115 # No debug allocator. | 109 # No debug allocator. |
| 116 "gperftools/src/debugallocation.cc", | 110 "gperftools/src/debugallocation.cc", |
| 117 # Not needed when using emergency malloc. | 111 |
| 118 "gperftools/src/fake_stacktrace_scope.cc", | 112 # Not needed when using emergency malloc. |
| 119 # Not using the cpuprofiler | 113 "gperftools/src/fake_stacktrace_scope.cc", |
| 120 "gperftools/src/base/thread_lister.c", | 114 |
| 121 "gperftools/src/base/thread_lister.h", | 115 # Not using the cpuprofiler |
| 122 "gperftools/src/profile-handler.cc", | 116 "gperftools/src/base/thread_lister.c", |
| 123 "gperftools/src/profile-handler.h", | 117 "gperftools/src/base/thread_lister.h", |
| 124 "gperftools/src/profiledata.cc", | 118 "gperftools/src/profile-handler.cc", |
| 125 "gperftools/src/profiledata.h", | 119 "gperftools/src/profile-handler.h", |
| 126 "gperftools/src/profiler.cc", | 120 "gperftools/src/profiledata.cc", |
| 127 ]) | 121 "gperftools/src/profiledata.h", |
| 122 "gperftools/src/profiler.cc", |
| 123 ]) |
| 128 | 124 |
| 129 sources = tcmalloc_sources_list.sources | 125 sources = tcmalloc_sources_list.sources |
| 130 } | 126 } |
| OLD | NEW |