Index: build/java_apk.gypi |
diff --git a/build/java_apk.gypi b/build/java_apk.gypi |
index 5f3653dd2f7594e769cadac5d97236e150208253..fb0cf8df4775b4eb6e1bc572eb5494c10100331f 100644 |
--- a/build/java_apk.gypi |
+++ b/build/java_apk.gypi |
@@ -46,6 +46,8 @@ |
# By default, the package given in AndroidManifest.xml will be used. |
# use_chromium_linker - Enable the content dynamic linker that allows sharing the |
# RELRO section of the native libraries between the different processes. |
+# use_relocation_packer - Enable relocation packing. Relies on the chromium |
+# linker, so use_chromium_linker must also be enabled. |
# enable_chromium_linker_tests - Enable the content dynamic linker test support |
# code. This allows a test APK to inject a Linker.TestRunner instance at |
# runtime. Should only be used by the chromium_linker_test_apk target!! |
@@ -93,6 +95,7 @@ |
'instr_stamp': '<(intermediate_dir)/instr.stamp', |
'jar_stamp': '<(intermediate_dir)/jar.stamp', |
'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp', |
+ 'pack_stamp': '<(intermediate_dir)/pack.stamp', |
rmcilroy
2014/06/27 11:14:54
nit - pack_relocations.stamp
simonb (inactive)
2014/06/30 16:23:23
Done.
|
'strip_stamp': '<(intermediate_dir)/strip.stamp', |
'classes_dir': '<(intermediate_dir)/classes/2', |
'javac_includes': [], |
@@ -124,6 +127,7 @@ |
'native_lib_target%': '', |
'native_lib_version_name%': '', |
'use_chromium_linker%' : 0, |
+ 'use_relocation_packer%' : 0, |
'enable_chromium_linker_tests%': 0, |
'is_test_apk%': 0, |
}, |
@@ -148,6 +152,7 @@ |
'native_lib_target%': '', |
'native_lib_version_name%': '', |
'use_chromium_linker%' : 0, |
+ 'use_relocation_packer%' : 0, |
'enable_chromium_linker_tests%': 0, |
'emma_instrument%': '<(emma_instrument)', |
'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)', |
@@ -316,7 +321,7 @@ |
'action_name': 'strip_native_libraries', |
'variables': { |
'ordered_libraries_file%': '<(ordered_libraries_file)', |
- 'stripped_libraries_dir': '<(libraries_source_dir)', |
+ 'stripped_libraries_dir': '<(SHARED_INTERMEDIATE_DIR)', |
rmcilroy
2014/06/27 11:14:55
I'm not entirely familiar with the output director
simonb (inactive)
2014/06/30 16:23:23
SHARED_INTERMEDIATE_DIR doesn't currently hold uns
rmcilroy
2014/07/01 11:13:02
This is perfect, thanks for making the change.
|
'input_paths': [ |
'<@(native_libs_paths)', |
'<@(extra_native_libs)', |
@@ -325,6 +330,29 @@ |
}, |
'includes': ['../build/android/strip_native_libraries.gypi'], |
}, |
+ { |
+ 'action_name': 'pack_arm_relocations', |
+ 'variables': { |
+ 'ordered_libraries_file%': '<(ordered_libraries_file)', |
+ 'stripped_libraries_dir': '<(SHARED_INTERMEDIATE_DIR)', |
+ 'packed_libraries_dir': '<(libraries_source_dir)', |
+ 'input_paths': [ |
+ '<(strip_stamp)', |
+ ], |
+ 'stamp': '<(pack_stamp)', |
+ 'conditions': [ |
+ ['use_chromium_linker == 1 and use_relocation_packer == 1', { |
rmcilroy
2014/06/27 11:14:55
Can you make it an error to have "use_relocation_p
simonb (inactive)
2014/06/30 16:23:23
Gyp appears to lack any mechanism to raise an exce
rmcilroy
2014/07/01 11:13:02
I was afraid of that.. Thanks for checking.
|
+ 'enable_packing': 1, |
+ }, { |
+ 'enable_packing': 0, |
+ }], |
+ ], |
+ }, |
+ 'dependencies': [ |
+ 'strip_native_libraries', |
+ ], |
+ 'includes': ['../build/android/pack_arm_relocations.gypi'], |
+ }, |
], |
'conditions': [ |
['gyp_managed_install == 1', { |