blob: dc2e2a805f582d140980f5bf84835e5ad993b961 [file] [log] [blame]
cjhopmancd7694af2014-09-08 00:00:041# 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
5import("//build/config/android/config.gni")
6import("//build/config/android/rules.gni")
baixo16600222014-12-04 20:08:387import("//build/module_args/v8.gni")
cjhopman2fd48fd2014-09-24 00:52:568import("//third_party/icu/config.gni")
cjhopmancd7694af2014-09-08 00:00:049
10generate_jni("content_shell_jni_headers") {
11 jni_package = "content/shell"
12 sources = [
scottmg7c7296f42015-02-28 02:23:0913 "java/src/org/chromium/content_shell/Shell.java",
cjhopmancd7694af2014-09-08 00:00:0414 "java/src/org/chromium/content_shell/ShellLayoutTestUtils.java",
15 "java/src/org/chromium/content_shell/ShellManager.java",
ppif581fe92014-10-08 18:52:1916 "java/src/org/chromium/content_shell/ShellMojoTestUtils.java",
cjhopmancd7694af2014-09-08 00:00:0417 ]
18}
19
20shared_library("libcontent_shell_content_view") {
cjhopman2fd48fd2014-09-24 00:52:5621 testonly = true
cjhopmancd7694af2014-09-08 00:00:0422 deps = [
23 ":content_shell_jni_headers",
cjhopman2fd48fd2014-09-24 00:52:5624 "//content/shell:content_shell_lib",
25 "//content/shell:pak",
26 "//components/crash/browser",
cjhopmancd7694af2014-09-08 00:00:0427 "//skia",
28 "//media/base/android",
29 ]
30 sources = [
cjhopman2fd48fd2014-09-24 00:52:5631 "shell_library_loader.cc",
cjhopmancd7694af2014-09-08 00:00:0432 ]
cjhopmancd7694af2014-09-08 00:00:0433}
34
35android_resources("content_shell_java_resources") {
cjhopman2fd48fd2014-09-24 00:52:5636 testonly = true
cjhopmancd7694af2014-09-08 00:00:0437 resource_dirs = [ "java/res" ]
38 custom_package = "org.chromium.content_shell"
39}
40
41android_library("content_shell_java") {
cjhopman2fd48fd2014-09-24 00:52:5642 testonly = true
cjhopmancd7694af2014-09-08 00:00:0443 deps = [
44 "//base:base_java",
45 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:5446 "//media/base/android:media_java",
cjhopmancd7694af2014-09-08 00:00:0447 "//net/android:net_java",
blundell70fb547672015-01-19 17:18:3348 "//third_party/mojo/src/mojo/public/java:system",
cjhopmancd7694af2014-09-08 00:00:0449 "//ui/android:ui_java",
50 ":content_shell_java_resources",
51 ]
52 DEPRECATED_java_in_dir = "java/src"
53}
54
scottmg6da1b582014-12-08 18:31:1555content_shell_manifest =
56 "$target_gen_dir/content_shell_manifest/AndroidManifest.xml"
sievers0350cad2014-12-03 23:50:5557
58jinja_template("content_shell_manifest") {
59 testonly = true
sievers4c08a9c2014-12-05 01:57:2860 input = "shell_apk/AndroidManifest.xml.jinja2"
sievers0350cad2014-12-03 23:50:5561 output = content_shell_manifest
62}
63
cjhopmancd7694af2014-09-08 00:00:0464android_resources("content_shell_apk_resources") {
cjhopman2fd48fd2014-09-24 00:52:5665 testonly = true
cjhopmancd7694af2014-09-08 00:00:0466 resource_dirs = [ "shell_apk/res" ]
67 deps = [
scottmg7afc4092014-12-03 19:22:4268 ":content_shell_java_resources",
brettwf9505792015-06-03 19:43:3869 ":content_shell_manifest",
cjhopmancd7694af2014-09-08 00:00:0470 ]
sievers0350cad2014-12-03 23:50:5571 android_manifest = content_shell_manifest
cjhopmancd7694af2014-09-08 00:00:0472}
73
cjhopman394dfd12014-09-09 08:55:5474android_library("content_shell_apk_java") {
cjhopman2fd48fd2014-09-24 00:52:5675 testonly = true
cjhopman394dfd12014-09-09 08:55:5476 deps = [
77 ":content_shell_apk_resources",
78 ":content_shell_java",
79 "//base:base_java",
80 "//content/public/android:content_java",
81 "//media/base/android:media_java",
82 "//net/android:net_java",
83 "//ui/android:ui_java",
84 ]
85 DEPRECATED_java_in_dir = "shell_apk/src"
86}
87
cjhopman2fd48fd2014-09-24 00:52:5688content_shell_assets_dir = "$root_build_dir/content_shell/assets"
89copy_ex("copy_content_shell_assets") {
90 clear_dir = true
91 dest = content_shell_assets_dir
92 sources = [
scottmg7afc4092014-12-03 19:22:4293 "$root_out_dir/content_shell.pak",
cjhopman2fd48fd2014-09-24 00:52:5694 ]
brettwf9505792015-06-03 19:43:3895 deps = [
96 "//content/shell:pak",
97 ]
cjhopman2fd48fd2014-09-24 00:52:5698
99 if (icu_use_data_file) {
scottmg7afc4092014-12-03 19:22:42100 sources += [ "$root_build_dir/icudtl.dat" ]
brettwde2ee7332015-06-01 18:32:40101 deps += [ "//third_party/icu:icudata" ]
cjhopman2fd48fd2014-09-24 00:52:56102 }
baixo16600222014-12-04 20:08:38103 if (v8_use_external_startup_data) {
104 sources += [
rmcilroy5837d332014-12-17 14:30:58105 "$root_build_dir/natives_blob.bin",
106 "$root_build_dir/snapshot_blob.bin",
baixo16600222014-12-04 20:08:38107 ]
brettwde2ee7332015-06-01 18:32:40108 deps += [ "//v8" ]
baixo16600222014-12-04 20:08:38109 }
cjhopman2fd48fd2014-09-24 00:52:56110}
111
cjhopmancd7694af2014-09-08 00:00:04112android_apk("content_shell_apk") {
cjhopmanaac45ed82014-10-17 22:08:19113 use_chromium_linker = true
cjhopman2fd48fd2014-09-24 00:52:56114 testonly = true
brettwf883517a2015-06-02 17:38:29115 data_deps = [
cjhopmancd7694af2014-09-08 00:00:04116 # "//tools/android/forwarder",
117 ]
118 deps = [
brettwf9505792015-06-03 19:43:38119 ":content_shell_apk_java",
cjhopmancd7694af2014-09-08 00:00:04120 ":content_shell_apk_resources",
121 ":content_shell_java",
brettwf9505792015-06-03 19:43:38122 ":content_shell_manifest",
cjhopman2fd48fd2014-09-24 00:52:56123 ":copy_content_shell_assets",
brettwf9505792015-06-03 19:43:38124 ":libcontent_shell_content_view",
cjhopmancd7694af2014-09-08 00:00:04125 "//base:base_java",
126 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:54127 "//media/base/android:media_java",
cjhopmancd7694af2014-09-08 00:00:04128 "//net/android:net_java",
scottmg7afc4092014-12-03 19:22:42129
cjhopmancd7694af2014-09-08 00:00:04130 #"//third_party/mesa:osmesa_in_lib_dir",
131 "//ui/android:ui_java",
132 ]
133 apk_name = "ContentShell"
sievers0350cad2014-12-03 23:50:55134 android_manifest = content_shell_manifest
scottmg7afc4092014-12-03 19:22:42135 native_libs = [ "libcontent_shell_content_view.so" ]
cjhopman2fd48fd2014-09-24 00:52:56136 asset_location = content_shell_assets_dir
cjhopmancd7694af2014-09-08 00:00:04137
138 # TODO(GYP)
cjhopmancd7694af2014-09-08 00:00:04139 #'extra_native_libs': ['<(SHARED_LIB_DIR)/libosmesa.so'],
cjhopmancd7694af2014-09-08 00:00:04140}
cjhopman394dfd12014-09-09 08:55:54141
142android_library("content_shell_test_java") {
cjhopman2fd48fd2014-09-24 00:52:56143 testonly = true
cjhopman394dfd12014-09-09 08:55:54144 deps = [
145 ":content_shell_java",
146 ":content_shell_apk_java",
147 "//base:base_java",
148 "//base:base_java_test_support",
149 "//content/public/test/android:content_java_test_support",
150 "//content/shell/android:content_shell_java",
151 "//content/public/android:content_java",
152 ]
153 DEPRECATED_java_in_dir = "javatests/src"
154}
155
mikecase56d80d72015-06-03 00:57:26156instrumentation_test_apk("content_shell_test_apk") {
cjhopman394dfd12014-09-09 08:55:54157 deps = [
158 "//content/public/android:content_javatests",
159 "//base:base_javatests",
160 "//net/android:net_javatests",
161 ]
mikecase56d80d72015-06-03 00:57:26162 data_deps = [ ":content_shell_apk" ]
cjhopman7b9ba2e2015-04-22 23:31:53163 apk_under_test = ":content_shell_apk"
cjhopman394dfd12014-09-09 08:55:54164 apk_name = "ContentShellTest"
165 android_manifest = "javatests/AndroidManifest.xml"
mikecase56d80d72015-06-03 00:57:26166 isolate_file = "../../content_shell_test_apk.isolate"
cjhopman394dfd12014-09-09 08:55:54167}
cjhopmanaac45ed82014-10-17 22:08:19168
dpranke43276212015-02-20 02:55:19169if (current_cpu != "x64" && current_cpu != "arm64") {
scottmg6da1b582014-12-08 18:31:15170 chromium_linker_test_manifest =
171 "$target_gen_dir/linker_test_apk/AndroidManifest.xml"
sievers0350cad2014-12-03 23:50:55172
173 jinja_template("chromium_linker_test_manifest") {
174 testonly = true
sievers4c08a9c2014-12-05 01:57:28175 input = "linker_test_apk/AndroidManifest.xml.jinja2"
sievers0350cad2014-12-03 23:50:55176 output = chromium_linker_test_manifest
177 }
178
cjhopmanaac45ed82014-10-17 22:08:19179 android_resources("linker_resources") {
brettwf9505792015-06-03 19:43:38180 testonly = true
cjhopmanaac45ed82014-10-17 22:08:19181 resource_dirs = [ "linker_test_apk/res" ]
sievers0350cad2014-12-03 23:50:55182 android_manifest = chromium_linker_test_manifest
brettwf9505792015-06-03 19:43:38183 deps = [
184 ":chromium_linker_test_manifest",
185 ]
cjhopmanaac45ed82014-10-17 22:08:19186 }
187
188 # GYP: //content/content_tests.gypi:chromium_linker_test_apk
189 android_apk("chromium_linker_test_apk") {
190 testonly = true
191 deps = [
brettwf9505792015-06-03 19:43:38192 ":chromium_linker_test_manifest",
cjhopmanaac45ed82014-10-17 22:08:19193 ":content_shell_java",
194 ":copy_content_shell_assets",
195 ":linker_resources",
196 ":linker_test",
197 "//base:base_java",
198 "//content/public/android:content_java",
199 "//ui/android:ui_java",
200 ]
sievers0350cad2014-12-03 23:50:55201 android_manifest = chromium_linker_test_manifest
cjhopmanaac45ed82014-10-17 22:08:19202 asset_location = content_shell_assets_dir
203 apk_name = "ChromiumLinkerTest"
204 DEPRECATED_java_in_dir = "linker_test_apk/src"
scottmg7afc4092014-12-03 19:22:42205 native_libs = [ "liblinker_test.so" ]
cjhopmanaac45ed82014-10-17 22:08:19206 use_chromium_linker = true
207 enable_chromium_linker_tests = true
208 }
209
cjhopmanaac45ed82014-10-17 22:08:19210 # GYP: //content/content_tests.gypi:chromium_android_linker_test
211 shared_library("linker_test") {
212 testonly = true
213 sources = [
214 "linker_test_apk/chromium_linker_test_android.cc",
215 "linker_test_apk/chromium_linker_test_linker_tests.cc",
216 ]
217
218 deps = [
219 ":linker_test_jni_headers",
220 "//content/shell:content_shell_lib",
scottmg7afc4092014-12-03 19:22:42221
cjhopmanaac45ed82014-10-17 22:08:19222 # Required to include "content/public/browser/android/compositor.h"
223 # in chromium_linker_test_android.cc :-(
224 "//skia",
simonb01cb97b2015-08-24 15:54:09225 "//third_party/re2",
cjhopmanaac45ed82014-10-17 22:08:19226 ]
227 }
228
229 # GYP: //content/content_tests.gypi:chromium_android_linker_test_jni_headers
230 generate_jni("linker_test_jni_headers") {
231 testonly = true
232 jni_package = "content/shell"
233 sources = [
234 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java",
235 ]
236 }
237}