Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Side by Side Diff: build/config/android/internal_rules.gni

Issue 1619553003: Support uncompress and page align shared libraries (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2014 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 import("//build/config/android/config.gni") 5 import("//build/config/android/config.gni")
6 import("//build/config/sanitizers/sanitizers.gni") 6 import("//build/config/sanitizers/sanitizers.gni")
7 import("//build/config/zip.gni") 7 import("//build/config/zip.gni")
8 import("//third_party/ijar/ijar.gni") 8 import("//third_party/ijar/ijar.gni")
9 9
10 assert(is_android) 10 assert(is_android)
(...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 } 757 }
758 if (_native_lib_placeholders != []) { 758 if (_native_lib_placeholders != []) {
759 args += [ "--native-lib-placeholders=$_native_lib_placeholders" ] 759 args += [ "--native-lib-placeholders=$_native_lib_placeholders" ]
760 } 760 }
761 761
762 if (defined(invoker.emma_instrument) && invoker.emma_instrument) { 762 if (defined(invoker.emma_instrument) && invoker.emma_instrument) {
763 _emma_device_jar = "$android_sdk_root/tools/lib/emma_device.jar" 763 _emma_device_jar = "$android_sdk_root/tools/lib/emma_device.jar"
764 _rebased_emma_device_jar = rebase_path(_emma_device_jar, root_build_dir) 764 _rebased_emma_device_jar = rebase_path(_emma_device_jar, root_build_dir)
765 args += [ "--emma-device-jar=$_rebased_emma_device_jar" ] 765 args += [ "--emma-device-jar=$_rebased_emma_device_jar" ]
766 } 766 }
767
768 if (defined(invoker.uncompress_shared_libraries) &&
769 invoker.uncompress_shared_libraries) {
770 args += [ "--uncompress-shared-libraries" ]
771 }
767 } 772 }
768 } 773 }
769 774
770 # Signs & zipaligns an apk. 775 # Signs & zipaligns an apk.
771 # 776 #
772 # Variables 777 # Variables
773 # input_apk_path: Path of the .apk to be finalized. 778 # input_apk_path: Path of the .apk to be finalized.
774 # output_apk_path: Output path for the generated .apk. 779 # output_apk_path: Output path for the generated .apk.
775 # keystore_path: Path to keystore to use for signing. 780 # keystore_path: Path to keystore to use for signing.
776 # keystore_name: Key alias to use. 781 # keystore_name: Key alias to use.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 ] 823 ]
819 if (defined(invoker.rezip_apk) && invoker.rezip_apk) { 824 if (defined(invoker.rezip_apk) && invoker.rezip_apk) {
820 deps += [ "//build/android/rezip" ] 825 deps += [ "//build/android/rezip" ]
821 _rezip_jar_path = "$root_build_dir/lib.java/rezip_apk.jar" 826 _rezip_jar_path = "$root_build_dir/lib.java/rezip_apk.jar"
822 args += [ 827 args += [
823 "--load-library-from-zip=1", 828 "--load-library-from-zip=1",
824 "--rezip-apk-jar-path", 829 "--rezip-apk-jar-path",
825 rebase_path(_rezip_jar_path, root_build_dir), 830 rebase_path(_rezip_jar_path, root_build_dir),
826 ] 831 ]
827 } 832 }
833
834 if (defined(invoker.page_align_shared_libraries) &&
835 invoker.page_align_shared_libraries) {
836 args += [ "--page-align-shared-libraries" ]
837 }
828 } 838 }
829 } 839 }
830 840
831 # Packages resources, assets, dex, and native libraries into an apk. Signs and 841 # Packages resources, assets, dex, and native libraries into an apk. Signs and
832 # zipaligns the apk. 842 # zipaligns the apk.
833 template("create_apk") { 843 template("create_apk") {
834 set_sources_assignment_filter([]) 844 set_sources_assignment_filter([])
835 forward_variables_from(invoker, [ "testonly" ]) 845 forward_variables_from(invoker, [ "testonly" ])
836 846
837 _android_manifest = invoker.android_manifest 847 _android_manifest = invoker.android_manifest
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
1054 } 1064 }
1055 1065
1056 package_target = "${target_name}__package" 1066 package_target = "${target_name}__package"
1057 package_apk(package_target) { 1067 package_apk(package_target) {
1058 forward_variables_from(invoker, 1068 forward_variables_from(invoker,
1059 [ 1069 [
1060 "assets_build_config", 1070 "assets_build_config",
1061 "emma_instrument", 1071 "emma_instrument",
1062 "native_lib_placeholders", 1072 "native_lib_placeholders",
1063 "native_libs_filearg", 1073 "native_libs_filearg",
1074 "uncompress_shared_libraries",
1064 "write_asset_list", 1075 "write_asset_list",
1065 ]) 1076 ])
1066 deps = _deps + [ ":${_package_resources_target_name}" ] 1077 deps = _deps + [ ":${_package_resources_target_name}" ]
1067 native_libs = _native_libs + _native_libs_even_when_incremental 1078 native_libs = _native_libs + _native_libs_even_when_incremental
1068 1079
1069 if (defined(_dex_path)) { 1080 if (defined(_dex_path)) {
1070 dex_path = _dex_path 1081 dex_path = _dex_path
1071 } 1082 }
1072 1083
1073 output_apk_path = _packaged_apk_path 1084 output_apk_path = _packaged_apk_path
1074 resource_packaged_apk_path = _resource_packaged_apk_path 1085 resource_packaged_apk_path = _resource_packaged_apk_path
1075 } 1086 }
1076 1087
1077 _incremental_package_target = "${target_name}_incremental__package" 1088 _incremental_package_target = "${target_name}_incremental__package"
1078 package_apk(_incremental_package_target) { 1089 package_apk(_incremental_package_target) {
1079 forward_variables_from(invoker, 1090 forward_variables_from(invoker,
1080 [ 1091 [
1081 "assets_build_config", 1092 "assets_build_config",
1082 "emma_instrument", 1093 "emma_instrument",
1094 "uncompress_shared_libraries",
1083 ]) 1095 ])
1084 _dex_target = "//build/android/incremental_install:bootstrap_java__dex" 1096 _dex_target = "//build/android/incremental_install:bootstrap_java__dex"
1085 deps = _incremental_deps + [ 1097 deps = _incremental_deps + [
1086 ":${_incremental_package_resources_target_name}", 1098 ":${_incremental_package_resources_target_name}",
1087 _dex_target, 1099 _dex_target,
1088 ] 1100 ]
1089 1101
1090 if (defined(_dex_path)) { 1102 if (defined(_dex_path)) {
1091 dex_path = 1103 dex_path =
1092 get_label_info(_dex_target, "target_gen_dir") + "/bootstrap.dex" 1104 get_label_info(_dex_target, "target_gen_dir") + "/bootstrap.dex"
1093 } 1105 }
1094 1106
1095 native_libs = _native_libs_even_when_incremental 1107 native_libs = _native_libs_even_when_incremental
1096 1108
1097 # http://crbug.com/384638 1109 # http://crbug.com/384638
1098 _has_native_libs = 1110 _has_native_libs =
1099 defined(invoker.native_libs_filearg) || _native_libs != [] 1111 defined(invoker.native_libs_filearg) || _native_libs != []
1100 if (_has_native_libs && _native_libs_even_when_incremental == []) { 1112 if (_has_native_libs && _native_libs_even_when_incremental == []) {
1101 native_lib_placeholders = [ "libfix.crbug.384638.so" ] 1113 native_lib_placeholders = [ "libfix.crbug.384638.so" ]
1102 } 1114 }
1103 1115
1104 output_apk_path = _incremental_packaged_apk_path 1116 output_apk_path = _incremental_packaged_apk_path
1105 resource_packaged_apk_path = _incremental_resource_packaged_apk_path 1117 resource_packaged_apk_path = _incremental_resource_packaged_apk_path
1106 } 1118 }
1107 1119
1108 _finalize_apk_rule_name = "${target_name}__finalize" 1120 _finalize_apk_rule_name = "${target_name}__finalize"
1109 finalize_apk(_finalize_apk_rule_name) { 1121 finalize_apk(_finalize_apk_rule_name) {
1122 forward_variables_from(invoker, [ "page_align_shared_libraries" ])
1123
1110 input_apk_path = _packaged_apk_path 1124 input_apk_path = _packaged_apk_path
1111 output_apk_path = _final_apk_path 1125 output_apk_path = _final_apk_path
1112 keystore_path = _keystore_path 1126 keystore_path = _keystore_path
1113 keystore_name = _keystore_name 1127 keystore_name = _keystore_name
1114 keystore_password = _keystore_password 1128 keystore_password = _keystore_password
1115 rezip_apk = _load_library_from_apk 1129 rezip_apk = _load_library_from_apk
1116 1130
1117 public_deps = [ 1131 public_deps = [
1118 # Generator of the _packaged_apk_path this target takes as input. 1132 # Generator of the _packaged_apk_path this target takes as input.
1119 ":$package_target", 1133 ":$package_target",
1120 ] 1134 ]
1121 } 1135 }
1122 1136
1123 _incremental_finalize_apk_rule_name = "${target_name}_incremental__finalize" 1137 _incremental_finalize_apk_rule_name = "${target_name}_incremental__finalize"
1124 finalize_apk(_incremental_finalize_apk_rule_name) { 1138 finalize_apk(_incremental_finalize_apk_rule_name) {
1139 forward_variables_from(invoker, [ "page_align_shared_libraries" ])
Yaron 2016/01/21 20:22:46 did you test this? incremental apks have a special
michaelbai 2016/01/21 21:58:03 No, I didn't test it, actually, I don't know how t
1140
1125 input_apk_path = _incremental_packaged_apk_path 1141 input_apk_path = _incremental_packaged_apk_path
1126 output_apk_path = _incremental_final_apk_path 1142 output_apk_path = _incremental_final_apk_path
1127 keystore_path = _keystore_path 1143 keystore_path = _keystore_path
1128 keystore_name = _keystore_name 1144 keystore_name = _keystore_name
1129 keystore_password = _keystore_password 1145 keystore_password = _keystore_password
1130 1146
1131 public_deps = [ 1147 public_deps = [
1132 ":$_incremental_package_target", 1148 ":$_incremental_package_target",
1133 ] 1149 ]
1134 } 1150 }
(...skipping 947 matching lines...) Expand 10 before | Expand all | Expand 10 after
2082 ] 2098 ]
2083 args = [ 2099 args = [
2084 "--depfile", 2100 "--depfile",
2085 rebase_path(depfile, root_build_dir), 2101 rebase_path(depfile, root_build_dir),
2086 "--script-output-path", 2102 "--script-output-path",
2087 rebase_path(generated_script, root_build_dir), 2103 rebase_path(generated_script, root_build_dir),
2088 ] 2104 ]
2089 args += test_runner_args 2105 args += test_runner_args
2090 } 2106 }
2091 } 2107 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698