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 'variables': { | 28 'variables': { |
29 'include_main_binary%': 1, | 29 'include_main_binary%': 1, |
| 30 'extra_files%': [], |
30 }, | 31 }, |
31 'conditions': [ | 32 'conditions': [ |
32 ['android_must_copy_system_libraries == 1', { | 33 ['android_must_copy_system_libraries == 1', { |
33 'dependencies': [ | 34 'dependencies': [ |
34 '<(DEPTH)/build/android/setup.gyp:copy_system_libraries', | 35 '<(DEPTH)/build/android/setup.gyp:copy_system_libraries', |
35 ], | 36 ], |
36 'variables': { | 37 'variables': { |
37 'intermediate_dir': '<(PRODUCT_DIR)/<(_target_name)', | 38 'intermediate_dir': '<(PRODUCT_DIR)/<(_target_name)', |
38 'ordered_libraries_file': '<(intermediate_dir)/native_libraries.json', | 39 'ordered_libraries_file': '<(intermediate_dir)/native_libraries.json', |
39 }, | 40 }, |
40 'actions': [ | 41 'actions': [ |
41 { | 42 { |
42 'variables': { | 43 'variables': { |
43 'input_libraries': ['<(native_binary)'], | 44 'input_libraries': ['<(native_binary)'], |
44 }, | 45 }, |
45 'includes': ['../../build/android/write_ordered_libraries.gypi'], | 46 'includes': ['../../build/android/write_ordered_libraries.gypi'], |
46 }, | 47 }, |
47 { | 48 { |
48 'action_name': 'stripping native libraries', | 49 'action_name': 'stripping native libraries', |
49 'variables': { | 50 'variables': { |
50 'stripped_libraries_dir%': '<(output_dir)', | 51 'stripped_libraries_dir%': '<(output_dir)', |
51 'input_paths': ['<(native_binary)'], | 52 'input_paths': ['<(native_binary)'], |
52 'stamp': '<(intermediate_dir)/strip.stamp', | 53 'stamp': '<(intermediate_dir)/strip.stamp', |
53 }, | 54 }, |
54 'includes': ['../../build/android/strip_native_libraries.gypi'], | 55 'includes': ['../../build/android/strip_native_libraries.gypi'], |
55 }, | 56 }, |
56 ], | 57 ], |
57 }], | 58 }], |
| 59 ['extra_files!=[]', { |
| 60 'copies': [ |
| 61 { |
| 62 'destination': '<(output_dir)', |
| 63 'files': [ '<@(extra_files)' ], |
| 64 } |
| 65 ], |
| 66 }], |
58 ['include_main_binary==1', { | 67 ['include_main_binary==1', { |
59 'copies': [ | 68 'copies': [ |
60 { | 69 { |
61 'destination': '<(output_dir)', | 70 'destination': '<(output_dir)', |
62 'files': [ '<(native_binary)' ], | 71 'files': [ '<(native_binary)' ], |
63 } | 72 } |
64 ], | 73 ], |
65 }], | 74 }], |
66 ], | 75 ], |
67 } | 76 } |
OLD | NEW |