Index: build/java_apk.gypi |
diff --git a/build/java_apk.gypi b/build/java_apk.gypi |
index b9f1bad914600794d138e1b9bb721587a68471cf..14c40850e9c0700359bd781325bb628d375acfc7 100644 |
--- a/build/java_apk.gypi |
+++ b/build/java_apk.gypi |
@@ -72,6 +72,7 @@ |
'intermediate_dir': '<(PRODUCT_DIR)/<(_target_name)', |
'asset_location%': '<(intermediate_dir)/assets', |
'codegen_stamp': '<(intermediate_dir)/codegen.stamp', |
+ 'compile_input_paths': [ ], |
'compile_stamp': '<(intermediate_dir)/compile.stamp', |
'jar_stamp': '<(intermediate_dir)/jar.stamp', |
'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp', |
@@ -83,6 +84,11 @@ |
'dex_path': '<(intermediate_dir)/classes.dex', |
'android_manifest': '<(java_in_dir)/AndroidManifest.xml', |
'codegen_input_paths': [], |
+ 'ordered_libraries_path': '<(intermediate_dir)/native_libraries.json', |
+ 'native_libraries_template': '<(DEPTH)/content/public/android/java/src/org/chromium/content/app/NativeLibraries.java', |
+ 'native_libraries_java_dir': '<(intermediate_dir)/native_libraries_java/', |
+ 'native_libraries_java_path': '<(intermediate_dir)/native_libraries_java/NativeLibraries.java', |
+ 'native_libraries_stamp': '<(intermediate_dir)/native_libraries.stamp', |
}, |
'sources': [ |
'<@(native_libs_paths)', |
@@ -133,6 +139,51 @@ |
'additional_R_text_files': ['<(PRODUCT_DIR)/<(package_name)/R.txt'], |
}, |
}], |
+ ['native_libs_paths != []', { |
+ 'variables': { |
+ 'compile_input_paths': [ '<(native_libraries_stamp)' ], |
+ 'generated_src_dirs': [ '<(native_libraries_java_dir)' ], |
+ }, |
+ 'actions': [ |
+ { |
+ 'action_name': 'ordered_libraries_<(_target_name)', |
+ 'message': 'Writing dependency ordered libraries for <(_target_name).', |
+ 'inputs': [ |
+ '<(DEPTH)/build/android/pylib/build_utils.py', |
+ '<(DEPTH)/build/android/write_ordered_libraries.py', |
+ '<@(native_libs_paths)', |
+ ], |
+ 'outputs': [ |
+ '<(ordered_libraries_path)', |
+ ], |
+ 'action': [ |
+ 'python', '<(DEPTH)/build/android/write_ordered_libraries.py', |
+ '--input-libraries=<(native_libs_paths)', |
+ '--output=<(ordered_libraries_path)', |
+ ], |
+ }, |
+ { |
+ 'action_name': 'native_libraries_<(_target_name)', |
+ 'message': 'Creating NativeLibraries.java for <(_target_name).', |
+ 'inputs': [ |
+ '<(DEPTH)/build/android/pylib/build_utils.py', |
+ '<(DEPTH)/build/android/create_native_libraries_java.py', |
+ '<(native_libraries_template)', |
+ '<(ordered_libraries_path)', |
+ ], |
+ 'outputs': [ |
+ '<(native_libraries_stamp)', |
+ ], |
+ 'action': [ |
+ 'python', '<(DEPTH)/build/android/create_native_libraries_java.py', |
+ '--template=<(native_libraries_template)', |
+ '--ordered-libraries=<(ordered_libraries_path)', |
+ '--output=<(native_libraries_java_path)', |
+ '--stamp=<(native_libraries_stamp)', |
+ ], |
+ }, |
+ ], |
+ }], |
['java_strings_grd != ""', { |
'variables': { |
'res_grit_dir': '<(SHARED_INTERMEDIATE_DIR)/<(package_name)_apk/res_grit', |
@@ -222,6 +273,7 @@ |
'>!@(find >(java_in_dir) >(additional_src_dirs) -name "*.java")', |
'>@(input_jars_paths)', |
'<(codegen_stamp)', |
+ '>@(compile_input_paths)', |
], |
'outputs': [ |
'<(compile_stamp)', |