1 # Copyright 2013 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 # This file is meant to be included into a target to provide a rule 6 # to strip and place dependent shared libraries required by a native binary in a 7 # single folder that can later be pushed to the device. 8 # 9 # NOTE: consider packaging your binary as an apk instead of running a native 10 # library. 11 # 12 # To use this, create a gyp target with the following form: 13 # { 14 # 'target_name': 'target_that_depends_on_my_binary', 15 # 'type': 'none', 16 # 'dependencies': [ 17 # 'my_binary', 18 # ], 19 # 'variables': { 20 # 'native_binary': '<(PRODUCT_DIR)/my_binary', 21 # 'output_dir': 'location to place binary and dependent libraries' 22 # }, 23 # 'includes': [ '../../build/android/native_app_dependencies.gypi' ], 24 # }, 25 # 26 27 { 28 'copies': [ 29 { 30 'destination': '<(output_dir)', 31 'files': [ '<(native_binary)' ], 32 } 33 ], 34 'conditions': [ 35 ['component == "shared_library"', { 36 'dependencies': [ 37 '<(DEPTH)/build/android/setup.gyp:copy_system_libraries', 38 ], 39 'variables': { 40 'intermediate_dir': '<(PRODUCT_DIR)/<(_target_name)', 41 'ordered_libraries_file': '<(intermediate_dir)/native_libraries.json', 42 }, 43 'actions': [ 44 { 45 'variables': { 46 'input_libraries': ['<(native_binary)'], 47 }, 48 'includes': ['../../build/android/write_ordered_libraries.gypi'], 49 }, 50 { 51 'action_name': 'stripping native libraries', 52 'variables': { 53 'stripped_libraries_dir%': '<(output_dir)', 54 'input_paths': ['<(native_binary)'], 55 'stamp': '<(intermediate_dir)/strip.stamp', 56 }, 57 'includes': ['../../build/android/strip_native_libraries.gypi'], 58 }, 59 ], 60 }], 61 ], 62 } 63