Chromium Code Reviews| Index: build/android/pack_arm_relocations.gypi |
| diff --git a/build/android/pack_arm_relocations.gypi b/build/android/pack_arm_relocations.gypi |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1e387a7c08eb57468191fa827eab3855e3dce094 |
| --- /dev/null |
| +++ b/build/android/pack_arm_relocations.gypi |
| @@ -0,0 +1,76 @@ |
| +# Copyright 2014 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +# This file is meant to be included into an action to provide a rule that |
| +# packs ARM relative relocations in native libraries. |
| +# |
| +# To use this, create a gyp target with the following form: |
| +# { |
| +# 'action_name': 'pack_arm_relocations', |
| +# 'actions': [ |
| +# 'variables': { |
| +# 'enable_packing': 'pack relocations if 1, plain file copy if 0' |
| +# 'suppress_packing': 'names of libraries explicitly not packed', |
|
rmcilroy
2014/07/01 11:13:03
nit - 'suppress_packing' sounds like the opposite
simonb (inactive)
2014/07/01 14:20:29
Done.
|
| +# 'ordered_libraries_file': 'file generated by write_ordered_libraries' |
| +# 'input_paths': 'files to be added to the list of inputs' |
| +# 'stamp': 'file to touch when the action is complete' |
| +# 'stripped_libraries_dir': 'directory holding stripped libraries', |
| +# 'packed_libraries_dir': 'directory holding packed libraries', |
| +# 'includes': [ '../../build/android/pack_arm_relocations.gypi' ], |
| +# ], |
| +# }, |
| +# |
| + |
| +{ |
| + 'variables': { |
| + 'input_paths': [], |
| + }, |
| + 'inputs': [ |
| + '<(DEPTH)/build/android/gyp/util/build_utils.py', |
| + '<(DEPTH)/build/android/gyp/pack_arm_relocations.py', |
| + '<(ordered_libraries_file)', |
| + '>@(input_paths)', |
| + ], |
| + 'outputs': [ |
| + '<(stamp)', |
| + ], |
| + 'conditions': [ |
| + ['enable_packing == 1', { |
| + 'message': 'Packing ARM relative relocations for <(_target_name)', |
| + 'dependencies': [ |
| + '<(DEPTH)/tools/relocation_packer/relocation_packer.gyp:relocation_packer#host', |
| + ], |
| + 'inputs': [ |
| + '<(PRODUCT_DIR)/relocation_packer', |
| + ], |
| + 'action': [ |
| + 'python', '<(DEPTH)/build/android/gyp/pack_arm_relocations.py', |
| + '--enable-packing=1', |
| + '--suppress-packing=<@(suppress_packing)', |
| + '--android-pack-relocations=<(PRODUCT_DIR)/relocation_packer', |
| + '--android-objcopy=<(android_objcopy)', |
| + '--stripped-libraries-dir=<(stripped_libraries_dir)', |
| + '--packed-libraries-dir=<(packed_libraries_dir)', |
| + '--libraries-file=<(ordered_libraries_file)', |
| + '--stamp=<(stamp)', |
| + ], |
| + }, { |
| + 'message': 'Copying libraries (no relocation packing) for <(_target_name)', |
| + 'action': [ |
| + 'python', '<(DEPTH)/build/android/gyp/pack_arm_relocations.py', |
| + '--enable-packing=0', |
| + '--stripped-libraries-dir=<(stripped_libraries_dir)', |
| + '--packed-libraries-dir=<(packed_libraries_dir)', |
| + '--libraries-file=<(ordered_libraries_file)', |
| + '--stamp=<(stamp)', |
| + ], |
| + }], |
| + ['component == "shared_library"', { |
| + # Add a fake output to force the build to always re-run this step. This |
| + # is required because the real inputs are not known at gyp-time and |
| + # changing base.so may not trigger changes to dependent libraries. |
| + 'outputs': [ '<(stamp).fake' ] |
| + }], |
| + ], |
| +} |