Home | History | Annotate | Download | only in heap_profiler
      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.
      4 
      5 {
      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   ],
     75 }
     76