| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| { |
| 'targets': [ |
| { |
| # libheap_profiler is the library that will be preloaded in the Android |
| # Zygote and contains the black magic to hook malloc/mmap calls. |
| 'target_name': 'heap_profiler', |
| 'type': 'shared_library', |
| 'include_dirs': [ '../../..' ], |
| 'sources': [ 'heap_profiler_hooks_android.c' ], |
| 'dependencies': [ 'heap_profiler_core' ], |
| }, |
| { |
| # heap_profiler_core contains only the tracking metadata code without any |
| # hooks. It is required by both the hprof library itself and the unittest. |
| 'target_name': 'heap_profiler_core', |
| 'type': 'static_library', |
| 'sources': [ |
| 'heap_profiler.c', |
| 'heap_profiler.h', |
| ], |
| 'include_dirs': [ '../../..' ], |
| }, |
| { |
| 'target_name': 'heap_dump', |
| 'type': 'executable', |
| 'sources': [ 'heap_dump.c' ], |
| 'include_dirs': [ '../../..' ], |
| }, |
| { |
| 'target_name': 'heap_profiler_unittests', |
| 'type': '<(gtest_target_type)', |
| 'sources': [ 'heap_profiler_unittest.cc' ], |
| 'dependencies': [ |
| 'heap_profiler_core', |
| '../../../testing/android/native_test.gyp:native_test_native_code', |
| '../../../testing/gtest.gyp:gtest', |
| '../../../testing/gtest.gyp:gtest_main', |
| ], |
| 'include_dirs': [ '../../..' ], |
| }, |
| { |
| 'target_name': 'heap_profiler_unittests_apk', |
| 'type': 'none', |
| 'dependencies': [ |
| 'heap_profiler_unittests', |
| ], |
| 'variables': { |
| 'test_suite_name': 'heap_profiler_unittests', |
| }, |
| 'includes': [ '../../../build/apk_test.gypi' ], |
| }, |
| { |
| 'target_name': 'heap_profiler_integrationtest', |
| 'type': 'executable', |
| 'sources': [ 'heap_profiler_integrationtest.cc' ], |
| 'dependencies': [ '../../../testing/gtest.gyp:gtest' ], |
| 'include_dirs': [ '../../..' ], |
| }, |
| { |
| 'target_name': 'heap_profiler_integrationtest_stripped', |
| 'type': 'none', |
| 'dependencies': [ 'heap_profiler_integrationtest' ], |
| 'actions': [{ |
| 'action_name': 'strip heap_profiler_integrationtest', |
| 'inputs': [ '<(PRODUCT_DIR)/heap_profiler_integrationtest' ], |
| 'outputs': [ '<(PRODUCT_DIR)/heap_profiler_integrationtest_stripped' ], |
| 'action': [ '<(android_strip)', '<@(_inputs)', '-o', '<@(_outputs)' ], |
| }], |
| }, |
| ], |
| } |