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

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

Issue 640363002: Make crazy linker work in gn build (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gn-chrome-shell-apk
Patch Set: Created 6 years, 2 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
« no previous file with comments | « base/base.gyp ('k') | content/browser/BUILD.gn » ('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/android/internal_rules.gni") 6 import("//build/config/android/internal_rules.gni")
7 import("//tools/grit/grit_rule.gni") 7 import("//tools/grit/grit_rule.gni")
8 8
9 assert(is_android) 9 assert(is_android)
10 10
(...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after
762 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk" 762 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk"
763 } 763 }
764 _dist_jar_path_list = process_file_template( 764 _dist_jar_path_list = process_file_template(
765 [ _final_apk_path ], 765 [ _final_apk_path ],
766 "$root_build_dir/test.lib.java/{{source_name_part}}.jar" 766 "$root_build_dir/test.lib.java/{{source_name_part}}.jar"
767 ) 767 )
768 _dist_jar_path = _dist_jar_path_list[0] 768 _dist_jar_path = _dist_jar_path_list[0]
769 769
770 _native_libs = [] 770 _native_libs = []
771 if (defined(invoker.native_libs)) { 771 if (defined(invoker.native_libs)) {
772 _use_chromium_linker = false
773 if (defined(invoker.use_chromium_linker)) {
774 _use_chromium_linker = invoker.use_chromium_linker
775 }
776
777 # TODO(GYP) add "|| profiling_full_stack_frames
778 # Only enable the chromium linker on regular builds, since the
779 # component build crashes on Android 4.4. See b/11379966
780 if (is_component_build || cpu_arch == "arm64" || cpu_arch == "x64") {
781 _use_chromium_linker = false
782 }
783
772 _native_libs = invoker.native_libs 784 _native_libs = invoker.native_libs
773 _native_libs_dir = base_path + "/libs" 785 _native_libs_dir = base_path + "/libs"
786
787 if (_use_chromium_linker) {
788 _native_libs += [
789 "$root_build_dir/lib.stripped/libchromium_android_linker.so"
790 ]
791 }
774 } 792 }
775 793
776 _keystore_path = android_default_keystore_path 794 _keystore_path = android_default_keystore_path
777 _keystore_name = android_default_keystore_name 795 _keystore_name = android_default_keystore_name
778 _keystore_password = android_default_keystore_password 796 _keystore_password = android_default_keystore_password
779 797
780 if (defined(invoker.keystore_path)) { 798 if (defined(invoker.keystore_path)) {
781 _keystore_path = invoker.keystore_path 799 _keystore_path = invoker.keystore_path
782 _keystore_name = invoker.keystore_name 800 _keystore_name = invoker.keystore_name
783 _keystore_password = invoker.keystore_password 801 _keystore_password = invoker.keystore_password
(...skipping 24 matching lines...) Expand all
808 process_resources("${_template_name}__process_resources") { 826 process_resources("${_template_name}__process_resources") {
809 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" 827 srcjar_path = "${target_gen_dir}/${target_name}.srcjar"
810 android_manifest = invoker.android_manifest 828 android_manifest = invoker.android_manifest
811 resource_dirs = ["//build/android/ant/empty/res"] 829 resource_dirs = ["//build/android/ant/empty/res"]
812 zip_path = resources_zip_path 830 zip_path = resources_zip_path
813 generate_constant_ids = true 831 generate_constant_ids = true
814 } 832 }
815 _srcjar_deps += [":${_template_name}__process_resources"] 833 _srcjar_deps += [":${_template_name}__process_resources"]
816 834
817 if (_native_libs != []) { 835 if (_native_libs != []) {
818 _use_chromium_linker = false
819 _enable_chromium_linker_tests = false 836 _enable_chromium_linker_tests = false
837 if (defined(invoker.enable_chromium_linker_tests)) {
838 _enable_chromium_linker_tests = invoker.enable_chromium_linker_tests
839 }
840
820 _load_library_from_apk = false 841 _load_library_from_apk = false
821 _native_lib_version_name = "" 842 _native_lib_version_name = ""
822 843
823
824 java_cpp_template("${_template_name}__native_libraries_java") { 844 java_cpp_template("${_template_name}__native_libraries_java") {
825 package_name = "org/chromium/base/library_loader" 845 package_name = "org/chromium/base/library_loader"
826 sources = [ 846 sources = [
827 "//base/android/java/templates/NativeLibraries.template", 847 "//base/android/java/templates/NativeLibraries.template",
828 ] 848 ]
829 inputs = [ 849 inputs = [
830 build_config, 850 build_config,
831 ] 851 ]
832 852
833 defines = [ 853 defines = [
834 "NATIVE_LIBRARIES_LIST=" + 854 "NATIVE_LIBRARIES_LIST=" +
835 "@FileArg($_rebased_build_config:native:java_libraries_list)", 855 "@FileArg($_rebased_build_config:native:java_libraries_list)",
836 "NATIVE_LIBRARIES_VERSION_NUMBER=\"$_native_lib_version_name\"", 856 "NATIVE_LIBRARIES_VERSION_NUMBER=\"$_native_lib_version_name\"",
837 ] 857 ]
838 if (_use_chromium_linker) { 858 if (_use_chromium_linker) {
839 defines += ["ENABLED_CHROMIUM_LINKER"] 859 defines += ["ENABLE_CHROMIUM_LINKER"]
840 } 860 }
841 if (_load_library_from_apk) { 861 if (_load_library_from_apk) {
842 defines += ["ENABLE_CHROMIUM_LINKER_LIBRARY_IN_ZIP_FILE"] 862 defines += ["ENABLE_CHROMIUM_LINKER_LIBRARY_IN_ZIP_FILE"]
843 } 863 }
844 if (_enable_chromium_linker_tests) { 864 if (_enable_chromium_linker_tests) {
845 defines += ["ENABLE_CHROMIUM_LINKER_TESTS"] 865 defines += ["ENABLE_CHROMIUM_LINKER_TESTS"]
846 } 866 }
847 } 867 }
848 _srcjar_deps += [ ":${_template_name}__native_libraries_java" ] 868 _srcjar_deps += [ ":${_template_name}__native_libraries_java" ]
849 } 869 }
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
1205 } 1225 }
1206 1226
1207 # TODO(GYP): implement this. 1227 # TODO(GYP): implement this.
1208 template("uiautomator_test") { 1228 template("uiautomator_test") {
1209 if (defined(invoker.testonly)) { testonly = invoker.testonly } 1229 if (defined(invoker.testonly)) { testonly = invoker.testonly }
1210 assert(target_name != "") 1230 assert(target_name != "")
1211 assert(invoker.deps != [] || true) 1231 assert(invoker.deps != [] || true)
1212 group(target_name) { 1232 group(target_name) {
1213 } 1233 }
1214 } 1234 }
OLDNEW
« no previous file with comments | « base/base.gyp ('k') | content/browser/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698