OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 an action to provide a rule that strips | 5 # This file is meant to be included into an action to provide a rule that |
6 # native libraries. | 6 # inserts a chromium version string into native libraries. |
7 # | 7 # |
8 # To use this, create a gyp target with the following form: | 8 # To use this, create a gyp target with the following form: |
9 # { | 9 # { |
10 # 'action_name': 'strip_native_libraries', | 10 # 'action_name': 'insert_chromium_version', |
11 # 'actions': [ | 11 # 'actions': [ |
12 # 'variables': { | 12 # 'variables': { |
13 # 'ordered_libraries_file': 'file generated by write_ordered_libraries' | 13 # 'ordered_libraries_file': 'file generated by write_ordered_libraries' |
| 14 # 'libraries_source_dir': 'the directory contains native libraries' |
14 # 'input_paths': 'files to be added to the list of inputs' | 15 # 'input_paths': 'files to be added to the list of inputs' |
15 # 'stamp': 'file to touch when the action is complete' | 16 # 'stamp': 'file to touch when the action is complete' |
16 # 'stripped_libraries_dir': 'directory to store stripped libraries', | 17 # 'version_string': 'chromium version string to be inserted' |
17 # }, | 18 # 'includes': [ '../../build/android/insert_chromium_version.gypi' ], |
18 # 'includes': [ '../../build/android/strip_native_libraries.gypi' ], | |
19 # ], | 19 # ], |
20 # }, | 20 # }, |
21 # | 21 # |
22 | 22 |
23 { | 23 { |
24 'message': 'Stripping libraries for <(_target_name)', | 24 'message': 'Inserting chromium version string into native libraries', |
25 'variables': { | 25 'variables': { |
26 'input_paths': [], | 26 'input_paths': [], |
27 }, | 27 }, |
28 'inputs': [ | 28 'inputs': [ |
29 '<(DEPTH)/build/android/gyp/util/build_utils.py', | 29 '<(DEPTH)/build/android/gyp/util/build_utils.py', |
30 '<(DEPTH)/build/android/gyp/strip_library_for_device.py', | 30 '<(DEPTH)/build/android/gyp/insert_chromium_version.py', |
31 '<(ordered_libraries_file)', | 31 '<(ordered_libraries_file)', |
32 '>@(input_paths)', | 32 '>@(input_paths)', |
33 ], | 33 ], |
34 'outputs': [ | 34 'outputs': [ |
35 '<(stamp)', | 35 '<(stamp)', |
36 ], | 36 ], |
| 37 'action': [ |
| 38 'python', '<(DEPTH)/build/android/gyp/insert_chromium_version.py', |
| 39 '--android-objcopy=<(android_objcopy)', |
| 40 '--libraries-source-dir=<(libraries_source_dir)', |
| 41 '--libraries=@FileArg(<(ordered_libraries_file):libraries)', |
| 42 '--version-string=<(version_string)', |
| 43 '--stamp=<(stamp)', |
| 44 ], |
37 'conditions': [ | 45 'conditions': [ |
38 ['component == "shared_library"', { | 46 ['component == "shared_library"', { |
39 # Add a fake output to force the build to always re-run this step. This | 47 # Add a fake output to force the build to always re-run this step. This |
40 # is required because the real inputs are not known at gyp-time and | 48 # is required because the real inputs are not known at gyp-time and |
41 # changing base.so may not trigger changes to dependent libraries. | 49 # changing base.so may not trigger changes to dependent libraries. |
42 'outputs': [ '<(stamp).fake' ] | 50 'outputs': [ '<(stamp).fake' ] |
43 }], | 51 }], |
44 ], | 52 ], |
45 'action': [ | |
46 'python', '<(DEPTH)/build/android/gyp/strip_library_for_device.py', | |
47 '--android-strip=<(android_strip)', | |
48 '--android-strip-arg=--strip-unneeded', | |
49 '--stripped-libraries-dir=<(stripped_libraries_dir)', | |
50 '--libraries-dir=<(SHARED_LIB_DIR),<(PRODUCT_DIR)', | |
51 '--libraries=@FileArg(<(ordered_libraries_file):libraries)', | |
52 '--stamp=<(stamp)', | |
53 ], | |
54 } | 53 } |
OLD | NEW |