Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / tools / android / heap_profiler / heap_profiler.gyp
blob50e6797cefab9a0a20400c76c883f08f090b56a5
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6   'targets': [
7     {
8       # libheap_profiler is the library that will be preloaded in the Android
9       # Zygote and contains the black magic to hook malloc/mmap calls.
10       'target_name': 'heap_profiler',
11       'type': 'shared_library',
12       'include_dirs': [ '../../..' ],
13       'sources': [ 'heap_profiler_hooks_android.c' ],
14       'dependencies': [ 'heap_profiler_core' ],
15     },
16     {
17       # heap_profiler_core contains only the tracking metadata code without any
18       # hooks. It is required by both the hprof library itself and the unittest.
19       'target_name': 'heap_profiler_core',
20       'type': 'static_library',
21       'sources': [
22         'heap_profiler.c',
23         'heap_profiler.h',
24       ],
25       'include_dirs': [ '../../..' ],
26     },
27     {
28       'target_name': 'heap_dump',
29       'type': 'executable',
30       'sources': [ 'heap_dump.c' ],
31       'include_dirs': [ '../../..' ],
32     },
33     {
34       'target_name': 'heap_profiler_unittests',
35       'type': '<(gtest_target_type)',
36       'sources': [ 'heap_profiler_unittest.cc' ],
37       'dependencies': [
38         'heap_profiler_core',
39         '../../../testing/android/native_test.gyp:native_test_native_code',
40         '../../../testing/gtest.gyp:gtest',
41         '../../../testing/gtest.gyp:gtest_main',
42       ],
43       'include_dirs': [ '../../..' ],
44     },
45     {
46       'target_name': 'heap_profiler_unittests_apk',
47       'type': 'none',
48       'dependencies': [
49         'heap_profiler_unittests',
50       ],
51       'variables': {
52         'test_suite_name': 'heap_profiler_unittests',
53       },
54       'includes': [ '../../../build/apk_test.gypi' ],
55     },
56     {
57       'target_name': 'heap_profiler_integrationtest',
58       'type': 'executable',
59       'sources': [ 'heap_profiler_integrationtest.cc' ],
60       'dependencies': [ '../../../testing/gtest.gyp:gtest' ],
61       'include_dirs': [ '../../..' ],
62     },
63     {
64       'target_name': 'heap_profiler_integrationtest_stripped',
65       'type': 'none',
66       'dependencies': [ 'heap_profiler_integrationtest' ],
67       'actions': [{
68         'action_name': 'strip heap_profiler_integrationtest',
69         'inputs': [ '<(PRODUCT_DIR)/heap_profiler_integrationtest' ],
70         'outputs': [ '<(PRODUCT_DIR)/heap_profiler_integrationtest_stripped' ],
71         'action': [ '<(android_strip)', '<@(_inputs)', '-o', '<@(_outputs)' ],
72       }],
73     },
74   ],