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