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 an action to provide a rule that strips | 5 # This file is meant to be included into an action to provide a rule that strips |
6 # native libraries. | 6 # 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 # 'actions': [ | 10 # 'actions': [ |
11 # 'variables': { | 11 # 'variables': { |
| 12 # 'intermediate_dir': 'location to place intermediate build artifcats' |
12 # 'ordered_libraries_file': 'file generated by write_ordered_libraries' | 13 # 'ordered_libraries_file': 'file generated by write_ordered_libraries' |
13 # 'strip_stamp': 'file to touch when the action is complete' | 14 # 'strip_stamp': 'file to touch when the action is complete' |
14 # 'stripped_libraries_dir': 'directory to store stripped libraries', | 15 # 'stripped_libraries_dir': 'directory to store stripped libraries', |
15 # }, | 16 # }, |
16 # 'includes': [ '../../build/android/strip_native_libraries.gypi' ], | 17 # 'includes': [ '../../build/android/strip_native_libraries.gypi' ], |
17 # ], | 18 # ], |
18 # }, | 19 # }, |
19 # | 20 # |
20 | 21 |
21 { | 22 { |
22 'action_name': 'strip_native_libraries', | 23 'action_name': 'strip_native_libraries', |
23 'message': 'Stripping libraries for <(_target_name)', | 24 'message': 'Stripping libraries for <(_target_name)', |
24 'inputs': [ | 25 'inputs': [ |
25 '<(DEPTH)/build/android/gyp/util/build_utils.py', | 26 '<(DEPTH)/build/android/gyp/util/build_utils.py', |
26 '<(DEPTH)/build/android/gyp/strip_library_for_device.py', | 27 '<(DEPTH)/build/android/gyp/strip_library_for_device.py', |
27 '<(ordered_libraries_file)' | 28 '<(ordered_libraries_file)' |
28 ], | 29 ], |
| 30 'variables': { |
| 31 'strip_output_paths': [], |
| 32 'conditions': [ |
| 33 ['component == "shared_library"', { |
| 34 # Add a fake output to force the build to always re-run this step. This |
| 35 # is required because the real inputs are not known at gyp-time and |
| 36 # changing base.so may not trigger changes to dependent libraries. |
| 37 'variables': { |
| 38 'strip_output_paths': [ |
| 39 '<(intermediate_dir)/<(strip_stamp).fake', |
| 40 ], |
| 41 }, |
| 42 }], |
| 43 ], |
| 44 }, |
29 'outputs': [ | 45 'outputs': [ |
30 '<(strip_stamp)', | 46 '<(strip_stamp)', |
31 # Add a fake output to force the build to always re-run this step. This | 47 '<@(strip_output_paths)', |
32 # is required because the real inputs are not known at gyp-time and | |
33 # changing base.so may not trigger changes to dependent libraries. | |
34 '<(strip_stamp).fake', | |
35 ], | 48 ], |
36 'action': [ | 49 'action': [ |
37 'python', '<(DEPTH)/build/android/gyp/strip_library_for_device.py', | 50 'python', '<(DEPTH)/build/android/gyp/strip_library_for_device.py', |
38 '--android-strip=<(android_strip)', | 51 '--android-strip=<(android_strip)', |
39 '--android-strip-arg=--strip-unneeded', | 52 '--android-strip-arg=--strip-unneeded', |
40 '--stripped-libraries-dir=<(stripped_libraries_dir)', | 53 '--stripped-libraries-dir=<(stripped_libraries_dir)', |
41 '--libraries-dir=<(SHARED_LIB_DIR)', | 54 '--libraries-dir=<(SHARED_LIB_DIR)', |
42 '--libraries-file=<(ordered_libraries_file)', | 55 '--libraries-file=<(ordered_libraries_file)', |
43 '--stamp=<(strip_stamp)', | 56 '--stamp=<(strip_stamp)', |
44 ], | 57 ], |
45 } | 58 } |
OLD | NEW |