Index: base/allocator/allocator.gyp |
diff --git a/base/allocator/allocator.gyp b/base/allocator/allocator.gyp |
index 002ce2185a67e8ec6c600908075602565138511c..3d1a053d21e232e3f08b4284749e048433bc087d 100644 |
--- a/base/allocator/allocator.gyp |
+++ b/base/allocator/allocator.gyp |
@@ -303,6 +303,19 @@ |
}, |
}, |
'conditions': [ |
+ ['OS=="linux" and clang_type_profiler==1', { |
+ 'dependencies': [ |
+ 'type_profiler_tcmalloc', |
+ ], |
+ # It is undoing dependencies and cflags_cc for type_profiler which |
+ # build/common.gypi injects into all targets. |
+ 'dependencies!': [ |
+ 'type_profiler', |
+ ], |
+ 'cflags_cc!': [ |
+ '-fintercept-allocation-functions', |
+ ], |
+ }], |
['OS=="win"', { |
'defines': [ |
'PERFTOOLS_DLL_DECL=', |
@@ -466,6 +479,18 @@ |
'include_dirs': [ |
'../../' |
], |
+ 'conditions': [ |
+ ['OS=="linux" and clang_type_profiler==1', { |
+ # It is undoing dependencies and cflags_cc for type_profiler which |
+ # build/common.gypi injects into all targets. |
+ 'dependencies!': [ |
+ 'type_profiler', |
+ ], |
+ 'cflags_cc!': [ |
+ '-fintercept-allocation-functions', |
+ ], |
+ }], |
+ ], |
}, |
], |
'conditions': [ |
@@ -548,5 +573,91 @@ |
}, |
], |
}], |
+ ['OS=="linux" and clang_type_profiler==1', { |
+ # Some targets in this section undo dependencies and cflags_cc for |
+ # type_profiler which build/common.gypi injects into all targets. |
+ 'targets': [ |
+ { |
+ 'target_name': 'type_profiler', |
+ 'type': 'static_library', |
+ 'dependencies!': [ |
+ 'type_profiler', |
+ ], |
+ 'cflags_cc!': [ |
+ '-fintercept-allocation-functions', |
+ ], |
+ 'include_dirs': [ |
+ '../..', |
+ ], |
+ 'sources': [ |
+ 'type_profiler.cc', |
+ 'type_profiler.h', |
+ 'type_profiler_control.h', |
+ ], |
+ }, |
+ { |
+ 'target_name': 'type_profiler_tcmalloc', |
+ 'type': 'static_library', |
+ 'dependencies!': [ |
+ 'type_profiler', |
+ ], |
+ 'cflags_cc!': [ |
+ '-fintercept-allocation-functions', |
+ ], |
+ 'include_dirs': [ |
+ '<(tcmalloc_dir)/src', |
+ '../..', |
Ryan Sleevi
2012/09/13 09:13:25
Why the ../../ include (which is effectively <(DEP
Dai Mikurube (NOT FULLTIME)
2012/09/13 10:45:04
Without "../..", I cannot include base/allocator/t
Ryan Sleevi
2012/09/14 23:11:05
Thank you for your clarification.
It seems that m
Dai Mikurube (NOT FULLTIME)
2012/09/17 03:57:27
Thanks for the information. I keep it as is.
|
+ ], |
+ 'sources': [ |
+ 'type_profiler_tcmalloc.cc', |
+ 'type_profiler_tcmalloc.h', |
+ '<(tcmalloc_dir)/src/type_profiler_map.cc', |
+ '<(tcmalloc_dir)/src/gperftools/type_profiler_map.h', |
Ryan Sleevi
2012/09/13 09:13:25
nit: sort
Dai Mikurube (NOT FULLTIME)
2012/09/13 10:45:04
Done.
|
+ ], |
+ }, |
+ { |
+ 'target_name': 'type_profiler_unittests', |
+ 'type': 'executable', |
+ 'dependencies': [ |
+ '../../testing/gtest.gyp:gtest', |
+ '../base.gyp:base', |
+ 'allocator', |
+ 'type_profiler_tcmalloc', |
+ ], |
+ 'include_dirs': [ |
+ '../..', |
+ ], |
+ 'sources': [ |
+ 'type_profiler_control.cc', |
+ 'type_profiler_control.h', |
+ 'type_profiler_unittests.cc', |
+ ], |
+ }, |
+ { |
+ 'target_name': 'type_profiler_map_unittests', |
+ 'type': 'executable', |
+ 'dependencies': [ |
+ '../../testing/gtest.gyp:gtest', |
+ '../base.gyp:base', |
+ 'allocator', |
+ ], |
+ 'dependencies!': [ |
+ 'type_profiler', |
+ ], |
+ 'cflags_cc!': [ |
+ '-fintercept-allocation-functions', |
+ ], |
+ 'include_dirs': [ |
+ '<(tcmalloc_dir)/src', |
+ '../..', |
+ ], |
+ 'sources': [ |
+ 'type_profiler_map_unittests.cc', |
+ '<(tcmalloc_dir)/src/type_profiler_map.cc', |
+ '<(tcmalloc_dir)/src/gperftools/type_profiler_map.h', |
Ryan Sleevi
2012/09/13 09:13:25
nit: sort
Dai Mikurube (NOT FULLTIME)
2012/09/13 10:45:04
Done.
|
+ ], |
+ }, |
+ ], |
+ }], |
], |
} |