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