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