cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 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 |
| 3 | # found in the LICENSE file. |
| 4 | |
| 5 | import("//build/config/android/config.gni") |
| 6 | import("//build/config/android/rules.gni") |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 7 | import("//third_party/icu/config.gni") |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 8 | |
| 9 | generate_jni("content_shell_jni_headers") { |
| 10 | jni_package = "content/shell" |
| 11 | sources = [ |
| 12 | "browsertests_apk/src/org/chromium/content_browsertests_apk/ContentBrowserTestsActivity.java", |
| 13 | "java/src/org/chromium/content_shell/ShellLayoutTestUtils.java", |
| 14 | "java/src/org/chromium/content_shell/ShellManager.java", |
ppi | f581fe9 | 2014-10-08 18:52:19 | [diff] [blame] | 15 | "java/src/org/chromium/content_shell/ShellMojoTestUtils.java", |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 16 | "java/src/org/chromium/content_shell/Shell.java", |
| 17 | ] |
| 18 | } |
| 19 | |
| 20 | shared_library("libcontent_shell_content_view") { |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 21 | testonly = true |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 22 | deps = [ |
| 23 | ":content_shell_jni_headers", |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 24 | "//content/shell:content_shell_lib", |
| 25 | "//content/shell:pak", |
| 26 | "//components/crash/browser", |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 27 | "//skia", |
| 28 | "//media/base/android", |
| 29 | ] |
| 30 | sources = [ |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 31 | "shell_library_loader.cc", |
| 32 | "shell_library_loader.h", |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 33 | ] |
| 34 | if (is_android_webview_build) { |
scottmg | 7afc409 | 2014-12-03 19:22:42 | [diff] [blame] | 35 | ldflags = [ "-lgabi++" ] |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 36 | } |
| 37 | } |
| 38 | |
| 39 | android_resources("content_shell_java_resources") { |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 40 | testonly = true |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 41 | resource_dirs = [ "java/res" ] |
| 42 | custom_package = "org.chromium.content_shell" |
| 43 | } |
| 44 | |
| 45 | android_library("content_shell_java") { |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 46 | testonly = true |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 47 | deps = [ |
| 48 | "//base:base_java", |
| 49 | "//content/public/android:content_java", |
cjhopman | 394dfd1 | 2014-09-09 08:55:54 | [diff] [blame] | 50 | "//media/base/android:media_java", |
ppi | f581fe9 | 2014-10-08 18:52:19 | [diff] [blame] | 51 | "//mojo/public/java:system", |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 52 | "//net/android:net_java", |
| 53 | "//ui/android:ui_java", |
| 54 | ":content_shell_java_resources", |
| 55 | ] |
| 56 | DEPRECATED_java_in_dir = "java/src" |
| 57 | } |
| 58 | |
sievers | 0350cad | 2014-12-03 23:50:55 | [diff] [blame^] | 59 | content_shell_manifest = "$target_gen_dir/content_shell_manifest/AndroidManifest.xml" |
| 60 | |
| 61 | jinja_template("content_shell_manifest") { |
| 62 | testonly = true |
| 63 | input = "shell_apk/AndroidManifest.xml" |
| 64 | output = content_shell_manifest |
| 65 | } |
| 66 | |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 67 | android_resources("content_shell_apk_resources") { |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 68 | testonly = true |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 69 | resource_dirs = [ "shell_apk/res" ] |
| 70 | deps = [ |
scottmg | 7afc409 | 2014-12-03 19:22:42 | [diff] [blame] | 71 | ":content_shell_java_resources", |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 72 | ] |
sievers | 0350cad | 2014-12-03 23:50:55 | [diff] [blame^] | 73 | android_manifest = content_shell_manifest |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 74 | } |
| 75 | |
cjhopman | 394dfd1 | 2014-09-09 08:55:54 | [diff] [blame] | 76 | android_library("content_shell_apk_java") { |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 77 | testonly = true |
cjhopman | 394dfd1 | 2014-09-09 08:55:54 | [diff] [blame] | 78 | deps = [ |
| 79 | ":content_shell_apk_resources", |
| 80 | ":content_shell_java", |
| 81 | "//base:base_java", |
| 82 | "//content/public/android:content_java", |
| 83 | "//media/base/android:media_java", |
| 84 | "//net/android:net_java", |
| 85 | "//ui/android:ui_java", |
| 86 | ] |
| 87 | DEPRECATED_java_in_dir = "shell_apk/src" |
| 88 | } |
| 89 | |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 90 | content_shell_assets_dir = "$root_build_dir/content_shell/assets" |
| 91 | copy_ex("copy_content_shell_assets") { |
| 92 | clear_dir = true |
| 93 | dest = content_shell_assets_dir |
| 94 | sources = [ |
scottmg | 7afc409 | 2014-12-03 19:22:42 | [diff] [blame] | 95 | "$root_out_dir/content_shell.pak", |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 96 | ] |
| 97 | |
| 98 | if (icu_use_data_file) { |
scottmg | 7afc409 | 2014-12-03 19:22:42 | [diff] [blame] | 99 | sources += [ "$root_build_dir/icudtl.dat" ] |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 100 | } |
| 101 | } |
| 102 | |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 103 | android_apk("content_shell_apk") { |
cjhopman | aac45ed8 | 2014-10-17 22:08:19 | [diff] [blame] | 104 | use_chromium_linker = true |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 105 | testonly = true |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 106 | datadeps = [ |
| 107 | # "//tools/android/forwarder", |
| 108 | ] |
| 109 | deps = [ |
| 110 | ":content_shell_apk_resources", |
| 111 | ":content_shell_java", |
cjhopman | 394dfd1 | 2014-09-09 08:55:54 | [diff] [blame] | 112 | ":content_shell_apk_java", |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 113 | ":libcontent_shell_content_view", |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 114 | ":copy_content_shell_assets", |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 115 | "//base:base_java", |
| 116 | "//content/public/android:content_java", |
cjhopman | 394dfd1 | 2014-09-09 08:55:54 | [diff] [blame] | 117 | "//media/base/android:media_java", |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 118 | "//net/android:net_java", |
scottmg | 7afc409 | 2014-12-03 19:22:42 | [diff] [blame] | 119 | |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 120 | #"//third_party/mesa:osmesa_in_lib_dir", |
| 121 | "//ui/android:ui_java", |
| 122 | ] |
| 123 | apk_name = "ContentShell" |
sievers | 0350cad | 2014-12-03 23:50:55 | [diff] [blame^] | 124 | android_manifest = content_shell_manifest |
scottmg | 7afc409 | 2014-12-03 19:22:42 | [diff] [blame] | 125 | native_libs = [ "libcontent_shell_content_view.so" ] |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 126 | asset_location = content_shell_assets_dir |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 127 | |
| 128 | # TODO(GYP) |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 129 | #'extra_native_libs': ['<(SHARED_LIB_DIR)/libosmesa.so'], |
| 130 | |
cjhopman | cd7694af | 2014-09-08 00:00:04 | [diff] [blame] | 131 | if (is_android_webview_build) { |
| 132 | # TODO(GYP) |
| 133 | } |
| 134 | } |
cjhopman | 394dfd1 | 2014-09-09 08:55:54 | [diff] [blame] | 135 | |
| 136 | android_library("content_shell_test_java") { |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 137 | testonly = true |
cjhopman | 394dfd1 | 2014-09-09 08:55:54 | [diff] [blame] | 138 | deps = [ |
| 139 | ":content_shell_java", |
| 140 | ":content_shell_apk_java", |
| 141 | "//base:base_java", |
| 142 | "//base:base_java_test_support", |
| 143 | "//content/public/test/android:content_java_test_support", |
| 144 | "//content/shell/android:content_shell_java", |
| 145 | "//content/public/android:content_java", |
| 146 | ] |
| 147 | DEPRECATED_java_in_dir = "javatests/src" |
| 148 | } |
| 149 | |
| 150 | android_apk("content_shell_test_apk") { |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 151 | testonly = true |
cjhopman | 394dfd1 | 2014-09-09 08:55:54 | [diff] [blame] | 152 | deps = [ |
| 153 | "//content/public/android:content_javatests", |
| 154 | "//base:base_javatests", |
| 155 | "//net/android:net_javatests", |
| 156 | ] |
cjhopman | 2fd48fd | 2014-09-24 00:52:56 | [diff] [blame] | 157 | datadeps = [ |
| 158 | ":content_shell_apk", |
| 159 | ] |
cjhopman | 394dfd1 | 2014-09-09 08:55:54 | [diff] [blame] | 160 | apk_name = "ContentShellTest" |
| 161 | android_manifest = "javatests/AndroidManifest.xml" |
| 162 | } |
cjhopman | aac45ed8 | 2014-10-17 22:08:19 | [diff] [blame] | 163 | |
| 164 | if (cpu_arch != "x64" && cpu_arch != "arm64") { |
sievers | 0350cad | 2014-12-03 23:50:55 | [diff] [blame^] | 165 | |
| 166 | chromium_linker_test_manifest = "$target_gen_dir/linker_test_apk/AndroidManifest.xml" |
| 167 | |
| 168 | jinja_template("chromium_linker_test_manifest") { |
| 169 | testonly = true |
| 170 | input = "linker_test_apk/AndroidManifest.xml" |
| 171 | output = chromium_linker_test_manifest |
| 172 | } |
| 173 | |
cjhopman | aac45ed8 | 2014-10-17 22:08:19 | [diff] [blame] | 174 | android_resources("linker_resources") { |
| 175 | resource_dirs = [ "linker_test_apk/res" ] |
sievers | 0350cad | 2014-12-03 23:50:55 | [diff] [blame^] | 176 | android_manifest = chromium_linker_test_manifest |
cjhopman | aac45ed8 | 2014-10-17 22:08:19 | [diff] [blame] | 177 | } |
| 178 | |
| 179 | # GYP: //content/content_tests.gypi:chromium_linker_test_apk |
| 180 | android_apk("chromium_linker_test_apk") { |
| 181 | testonly = true |
| 182 | deps = [ |
| 183 | ":content_shell_java", |
| 184 | ":copy_content_shell_assets", |
| 185 | ":linker_resources", |
| 186 | ":linker_test", |
| 187 | "//base:base_java", |
| 188 | "//content/public/android:content_java", |
| 189 | "//ui/android:ui_java", |
| 190 | ] |
sievers | 0350cad | 2014-12-03 23:50:55 | [diff] [blame^] | 191 | android_manifest = chromium_linker_test_manifest |
cjhopman | aac45ed8 | 2014-10-17 22:08:19 | [diff] [blame] | 192 | asset_location = content_shell_assets_dir |
| 193 | apk_name = "ChromiumLinkerTest" |
| 194 | DEPRECATED_java_in_dir = "linker_test_apk/src" |
scottmg | 7afc409 | 2014-12-03 19:22:42 | [diff] [blame] | 195 | native_libs = [ "liblinker_test.so" ] |
cjhopman | aac45ed8 | 2014-10-17 22:08:19 | [diff] [blame] | 196 | use_chromium_linker = true |
| 197 | enable_chromium_linker_tests = true |
| 198 | } |
| 199 | |
cjhopman | aac45ed8 | 2014-10-17 22:08:19 | [diff] [blame] | 200 | # GYP: //content/content_tests.gypi:chromium_android_linker_test |
| 201 | shared_library("linker_test") { |
| 202 | testonly = true |
| 203 | sources = [ |
| 204 | "linker_test_apk/chromium_linker_test_android.cc", |
| 205 | "linker_test_apk/chromium_linker_test_linker_tests.cc", |
| 206 | ] |
| 207 | |
| 208 | deps = [ |
| 209 | ":linker_test_jni_headers", |
| 210 | "//content/shell:content_shell_lib", |
scottmg | 7afc409 | 2014-12-03 19:22:42 | [diff] [blame] | 211 | |
cjhopman | aac45ed8 | 2014-10-17 22:08:19 | [diff] [blame] | 212 | # Required to include "content/public/browser/android/compositor.h" |
| 213 | # in chromium_linker_test_android.cc :-( |
| 214 | "//skia", |
| 215 | ] |
| 216 | } |
| 217 | |
| 218 | # GYP: //content/content_tests.gypi:chromium_android_linker_test_jni_headers |
| 219 | generate_jni("linker_test_jni_headers") { |
| 220 | testonly = true |
| 221 | jni_package = "content/shell" |
| 222 | sources = [ |
| 223 | "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java", |
| 224 | ] |
| 225 | } |
| 226 | } |