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

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

Issue 1483683002: GN(android): Use list of libraries rather than native_lib_dir in all places (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review coments Created 5 years 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
« no previous file with comments | « build/android/incremental_install/installer.py ('k') | build/config/android/rules.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 649 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 # 660 #
661 # Variables 661 # Variables
662 # assets_build_config: Path to android_apk .build_config containing merged 662 # assets_build_config: Path to android_apk .build_config containing merged
663 # asset information. 663 # asset information.
664 # deps: Specifies the dependencies of this target. 664 # deps: Specifies the dependencies of this target.
665 # dex_path: Path to classes.dex file to include (optional). 665 # dex_path: Path to classes.dex file to include (optional).
666 # resource_packaged_apk_path: Path to .ap_ to use. 666 # resource_packaged_apk_path: Path to .ap_ to use.
667 # output_apk_path: Output path for the generated .apk. 667 # output_apk_path: Output path for the generated .apk.
668 # native_lib_placeholders: List of placeholder filenames to add to the apk 668 # native_lib_placeholders: List of placeholder filenames to add to the apk
669 # (optional). 669 # (optional).
670 # native_libs_dir: Directory containing native libraries. 670 # native_libs: List of native libraries.
671 # native_libs_filearg: @FileArg() of additionaly native libraries.
671 # write_asset_list: Adds an extra file to the assets, which contains a list of 672 # write_asset_list: Adds an extra file to the assets, which contains a list of
672 # all other asset files. 673 # all other asset files.
673 template("package_apk") { 674 template("package_apk") {
674 action(target_name) { 675 action(target_name) {
675 forward_variables_from(invoker, 676 forward_variables_from(invoker,
676 [ 677 [
677 "deps", 678 "deps",
678 "public_deps", 679 "public_deps",
679 "testonly", 680 "testonly",
680 ]) 681 ])
681 _native_lib_placeholders = [] 682 _native_lib_placeholders = []
682 if (defined(invoker.native_lib_placeholders)) { 683 if (defined(invoker.native_lib_placeholders)) {
683 _native_lib_placeholders = invoker.native_lib_placeholders 684 _native_lib_placeholders = invoker.native_lib_placeholders
684 } 685 }
685 686
686 script = "//build/android/gyp/apkbuilder.py" 687 script = "//build/android/gyp/apkbuilder.py"
687 depfile = "$target_gen_dir/$target_name.d" 688 depfile = "$target_gen_dir/$target_name.d"
688 data_deps = [ 689 data_deps = [
689 "//tools/android/md5sum", 690 "//tools/android/md5sum",
690 ] # Used when deploying APKs 691 ] # Used when deploying APKs
691 692
692 inputs = [ 693 inputs = invoker.native_libs + [ invoker.resource_packaged_apk_path ]
693 invoker.resource_packaged_apk_path,
694 ]
695 if (defined(invoker.dex_path)) { 694 if (defined(invoker.dex_path)) {
696 inputs += [ invoker.dex_path ] 695 inputs += [ invoker.dex_path ]
697 } 696 }
698 697
699 outputs = [ 698 outputs = [
700 depfile, 699 depfile,
701 invoker.output_apk_path, 700 invoker.output_apk_path,
702 ] 701 ]
703 702
704 _rebased_resource_packaged_apk_path = 703 _rebased_resource_packaged_apk_path =
(...skipping 15 matching lines...) Expand all
720 "--uncompressed-assets=@FileArg($_rebased_build_config:uncompressed_asse ts)", 719 "--uncompressed-assets=@FileArg($_rebased_build_config:uncompressed_asse ts)",
721 ] 720 ]
722 } 721 }
723 if (defined(invoker.write_asset_list) && invoker.write_asset_list) { 722 if (defined(invoker.write_asset_list) && invoker.write_asset_list) {
724 args += [ "--write-asset-list" ] 723 args += [ "--write-asset-list" ]
725 } 724 }
726 if (defined(invoker.dex_path)) { 725 if (defined(invoker.dex_path)) {
727 _rebased_dex_path = rebase_path(invoker.dex_path, root_build_dir) 726 _rebased_dex_path = rebase_path(invoker.dex_path, root_build_dir)
728 args += [ "--dex-file=$_rebased_dex_path" ] 727 args += [ "--dex-file=$_rebased_dex_path" ]
729 } 728 }
730 if (defined(invoker.native_libs_dir) || _native_lib_placeholders != []) { 729 if (invoker.native_libs != [] || defined(invoker.native_libs_filearg) ||
730 _native_lib_placeholders != []) {
731 args += [ "--android-abi=$android_app_abi" ] 731 args += [ "--android-abi=$android_app_abi" ]
732 } 732 }
733 if (defined(invoker.native_libs_dir)) { 733 if (invoker.native_libs != []) {
734 _rebased_native_libs_dir = 734 _rebased_native_libs = rebase_path(invoker.native_libs, root_build_dir)
735 rebase_path(invoker.native_libs_dir, root_build_dir) 735 args += [ "--native-libs=$_rebased_native_libs" ]
736 args += [ "--native-libs-dir=$_rebased_native_libs_dir/$android_app_abi" ] 736 }
737 if (defined(invoker.native_libs_filearg)) {
738 args += [ "--native-libs=${invoker.native_libs_filearg}" ]
737 } 739 }
738 if (_native_lib_placeholders != []) { 740 if (_native_lib_placeholders != []) {
739 args += [ "--native-lib-placeholders=$_native_lib_placeholders" ] 741 args += [ "--native-lib-placeholders=$_native_lib_placeholders" ]
740 } 742 }
741 743
742 if (defined(invoker.emma_instrument) && invoker.emma_instrument) { 744 if (defined(invoker.emma_instrument) && invoker.emma_instrument) {
743 _emma_device_jar = "$android_sdk_root/tools/lib/emma_device.jar" 745 _emma_device_jar = "$android_sdk_root/tools/lib/emma_device.jar"
744 _rebased_emma_device_jar = rebase_path(_emma_device_jar, root_build_dir) 746 _rebased_emma_device_jar = rebase_path(_emma_device_jar, root_build_dir)
745 args += [ "--emma-device-jar=$_rebased_emma_device_jar" ] 747 args += [ "--emma-device-jar=$_rebased_emma_device_jar" ]
746 } 748 }
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
833 _load_library_from_apk = invoker.load_library_from_apk 835 _load_library_from_apk = invoker.load_library_from_apk
834 836
835 _deps = [] 837 _deps = []
836 if (defined(invoker.deps)) { 838 if (defined(invoker.deps)) {
837 _deps = invoker.deps 839 _deps = invoker.deps
838 } 840 }
839 _incremental_deps = [] 841 _incremental_deps = []
840 if (defined(invoker.incremental_deps)) { 842 if (defined(invoker.incremental_deps)) {
841 _incremental_deps = invoker.incremental_deps 843 _incremental_deps = invoker.incremental_deps
842 } 844 }
845 _native_libs = []
846 if (defined(invoker.native_libs)) {
847 _native_libs = invoker.native_libs
848 }
843 849
844 # TODO(agrieve): Remove support for asset_location in favor of using 850 # TODO(agrieve): Remove support for asset_location in favor of using
845 # android_assets() everywhere (http://crbug.com/547162). 851 # android_assets() everywhere (http://crbug.com/547162).
846 if (defined(invoker.asset_location)) { 852 if (defined(invoker.asset_location)) {
847 _asset_location = invoker.asset_location 853 _asset_location = invoker.asset_location
848 assert(_asset_location != "") # Mark as used. 854 assert(_asset_location != "") # Mark as used.
849 } 855 }
850 856
851 _version_code = invoker.version_code 857 _version_code = invoker.version_code
852 _version_name = invoker.version_name 858 _version_name = invoker.version_name
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
1007 resource_packaged_apk_path = _incremental_resource_packaged_apk_path 1013 resource_packaged_apk_path = _incremental_resource_packaged_apk_path
1008 } 1014 }
1009 1015
1010 package_target = "${target_name}__package" 1016 package_target = "${target_name}__package"
1011 package_apk(package_target) { 1017 package_apk(package_target) {
1012 forward_variables_from(invoker, 1018 forward_variables_from(invoker,
1013 [ 1019 [
1014 "assets_build_config", 1020 "assets_build_config",
1015 "emma_instrument", 1021 "emma_instrument",
1016 "native_lib_placeholders", 1022 "native_lib_placeholders",
1017 "native_libs_dir", 1023 "native_libs_filearg",
1018 "write_asset_list", 1024 "write_asset_list",
1019 ]) 1025 ])
1020 deps = _deps + [ ":${_package_resources_target_name}" ] 1026 deps = _deps + [ ":${_package_resources_target_name}" ]
1027 native_libs = _native_libs
1021 1028
1022 if (defined(_dex_path)) { 1029 if (defined(_dex_path)) {
1023 dex_path = _dex_path 1030 dex_path = _dex_path
1024 } 1031 }
1025 1032
1026 output_apk_path = _packaged_apk_path 1033 output_apk_path = _packaged_apk_path
1027 resource_packaged_apk_path = _resource_packaged_apk_path 1034 resource_packaged_apk_path = _resource_packaged_apk_path
1028 } 1035 }
1029 1036
1030 _incremental_package_target = "${target_name}_incremental__package" 1037 _incremental_package_target = "${target_name}_incremental__package"
1031 package_apk(_incremental_package_target) { 1038 package_apk(_incremental_package_target) {
1032 forward_variables_from(invoker, 1039 forward_variables_from(invoker,
1033 [ 1040 [
1034 "assets_build_config", 1041 "assets_build_config",
1035 "emma_instrument", 1042 "emma_instrument",
1036 ]) 1043 ])
1037 _dex_target = "//build/android/incremental_install:bootstrap_java__dex" 1044 _dex_target = "//build/android/incremental_install:bootstrap_java__dex"
1038 deps = _incremental_deps + [ 1045 deps = _incremental_deps + [
1039 ":${_incremental_package_resources_target_name}", 1046 ":${_incremental_package_resources_target_name}",
1040 _dex_target, 1047 _dex_target,
1041 ] 1048 ]
1042 1049
1043 if (defined(_dex_path)) { 1050 if (defined(_dex_path)) {
1044 dex_path = 1051 dex_path =
1045 get_label_info(_dex_target, "target_gen_dir") + "/bootstrap.dex" 1052 get_label_info(_dex_target, "target_gen_dir") + "/bootstrap.dex"
1046 } 1053 }
1047 1054
1055 native_libs = []
1056
1048 # http://crbug.com/384638 1057 # http://crbug.com/384638
1049 if (defined(invoker.native_libs_dir)) { 1058 _has_native_libs =
1059 defined(invoker.native_libs_filearg) || _native_libs != []
1060 if (_has_native_libs) {
1050 native_lib_placeholders = [ "libfix.crbug.384638.so" ] 1061 native_lib_placeholders = [ "libfix.crbug.384638.so" ]
1051 } 1062 }
1052 1063
1053 output_apk_path = _incremental_packaged_apk_path 1064 output_apk_path = _incremental_packaged_apk_path
1054 resource_packaged_apk_path = _incremental_resource_packaged_apk_path 1065 resource_packaged_apk_path = _incremental_resource_packaged_apk_path
1055 } 1066 }
1056 1067
1057 _finalize_apk_rule_name = "${target_name}__finalize" 1068 _finalize_apk_rule_name = "${target_name}__finalize"
1058 finalize_apk(_finalize_apk_rule_name) { 1069 finalize_apk(_finalize_apk_rule_name) {
1059 input_apk_path = _packaged_apk_path 1070 input_apk_path = _packaged_apk_path
(...skipping 929 matching lines...) Expand 10 before | Expand all | Expand 10 after
1989 ] 2000 ]
1990 args = [ 2001 args = [
1991 "--depfile", 2002 "--depfile",
1992 rebase_path(depfile, root_build_dir), 2003 rebase_path(depfile, root_build_dir),
1993 "--script-output-path", 2004 "--script-output-path",
1994 rebase_path(generated_script, root_build_dir), 2005 rebase_path(generated_script, root_build_dir),
1995 ] 2006 ]
1996 args += test_runner_args 2007 args += test_runner_args
1997 } 2008 }
1998 } 2009 }
OLDNEW
« no previous file with comments | « build/android/incremental_install/installer.py ('k') | build/config/android/rules.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698