blob: 30b37abbd6484f69ca8bc92ad1f118742435038f [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")
cjhopman2fd48fd2014-09-24 00:52:567import("//third_party/icu/config.gni")
cjhopmancd7694af2014-09-08 00:00:048
9generate_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",
ppif581fe92014-10-08 18:52:1915 "java/src/org/chromium/content_shell/ShellMojoTestUtils.java",
cjhopmancd7694af2014-09-08 00:00:0416 "java/src/org/chromium/content_shell/Shell.java",
17 ]
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",
32 "shell_library_loader.h",
cjhopmancd7694af2014-09-08 00:00:0433 ]
34 if (is_android_webview_build) {
scottmg7afc4092014-12-03 19:22:4235 ldflags = [ "-lgabi++" ]
cjhopmancd7694af2014-09-08 00:00:0436 }
37}
38
39android_resources("content_shell_java_resources") {
cjhopman2fd48fd2014-09-24 00:52:5640 testonly = true
cjhopmancd7694af2014-09-08 00:00:0441 resource_dirs = [ "java/res" ]
42 custom_package = "org.chromium.content_shell"
43}
44
45android_library("content_shell_java") {
cjhopman2fd48fd2014-09-24 00:52:5646 testonly = true
cjhopmancd7694af2014-09-08 00:00:0447 deps = [
48 "//base:base_java",
49 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:5450 "//media/base/android:media_java",
ppif581fe92014-10-08 18:52:1951 "//mojo/public/java:system",
cjhopmancd7694af2014-09-08 00:00:0452 "//net/android:net_java",
53 "//ui/android:ui_java",
54 ":content_shell_java_resources",
55 ]
56 DEPRECATED_java_in_dir = "java/src"
57}
58
sievers0350cad2014-12-03 23:50:5559content_shell_manifest = "$target_gen_dir/content_shell_manifest/AndroidManifest.xml"
60
61jinja_template("content_shell_manifest") {
62 testonly = true
63 input = "shell_apk/AndroidManifest.xml"
64 output = content_shell_manifest
65}
66
cjhopmancd7694af2014-09-08 00:00:0467android_resources("content_shell_apk_resources") {
cjhopman2fd48fd2014-09-24 00:52:5668 testonly = true
cjhopmancd7694af2014-09-08 00:00:0469 resource_dirs = [ "shell_apk/res" ]
70 deps = [
scottmg7afc4092014-12-03 19:22:4271 ":content_shell_java_resources",
cjhopmancd7694af2014-09-08 00:00:0472 ]
sievers0350cad2014-12-03 23:50:5573 android_manifest = content_shell_manifest
cjhopmancd7694af2014-09-08 00:00:0474}
75
cjhopman394dfd12014-09-09 08:55:5476android_library("content_shell_apk_java") {
cjhopman2fd48fd2014-09-24 00:52:5677 testonly = true
cjhopman394dfd12014-09-09 08:55:5478 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
cjhopman2fd48fd2014-09-24 00:52:5690content_shell_assets_dir = "$root_build_dir/content_shell/assets"
91copy_ex("copy_content_shell_assets") {
92 clear_dir = true
93 dest = content_shell_assets_dir
94 sources = [
scottmg7afc4092014-12-03 19:22:4295 "$root_out_dir/content_shell.pak",
cjhopman2fd48fd2014-09-24 00:52:5696 ]
97
98 if (icu_use_data_file) {
scottmg7afc4092014-12-03 19:22:4299 sources += [ "$root_build_dir/icudtl.dat" ]
cjhopman2fd48fd2014-09-24 00:52:56100 }
101}
102
cjhopmancd7694af2014-09-08 00:00:04103android_apk("content_shell_apk") {
cjhopmanaac45ed82014-10-17 22:08:19104 use_chromium_linker = true
cjhopman2fd48fd2014-09-24 00:52:56105 testonly = true
cjhopmancd7694af2014-09-08 00:00:04106 datadeps = [
107 # "//tools/android/forwarder",
108 ]
109 deps = [
110 ":content_shell_apk_resources",
111 ":content_shell_java",
cjhopman394dfd12014-09-09 08:55:54112 ":content_shell_apk_java",
cjhopmancd7694af2014-09-08 00:00:04113 ":libcontent_shell_content_view",
cjhopman2fd48fd2014-09-24 00:52:56114 ":copy_content_shell_assets",
cjhopmancd7694af2014-09-08 00:00:04115 "//base:base_java",
116 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:54117 "//media/base/android:media_java",
cjhopmancd7694af2014-09-08 00:00:04118 "//net/android:net_java",
scottmg7afc4092014-12-03 19:22:42119
cjhopmancd7694af2014-09-08 00:00:04120 #"//third_party/mesa:osmesa_in_lib_dir",
121 "//ui/android:ui_java",
122 ]
123 apk_name = "ContentShell"
sievers0350cad2014-12-03 23:50:55124 android_manifest = content_shell_manifest
scottmg7afc4092014-12-03 19:22:42125 native_libs = [ "libcontent_shell_content_view.so" ]
cjhopman2fd48fd2014-09-24 00:52:56126 asset_location = content_shell_assets_dir
cjhopmancd7694af2014-09-08 00:00:04127
128 # TODO(GYP)
cjhopmancd7694af2014-09-08 00:00:04129 #'extra_native_libs': ['<(SHARED_LIB_DIR)/libosmesa.so'],
130
cjhopmancd7694af2014-09-08 00:00:04131 if (is_android_webview_build) {
132 # TODO(GYP)
133 }
134}
cjhopman394dfd12014-09-09 08:55:54135
136android_library("content_shell_test_java") {
cjhopman2fd48fd2014-09-24 00:52:56137 testonly = true
cjhopman394dfd12014-09-09 08:55:54138 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
150android_apk("content_shell_test_apk") {
cjhopman2fd48fd2014-09-24 00:52:56151 testonly = true
cjhopman394dfd12014-09-09 08:55:54152 deps = [
153 "//content/public/android:content_javatests",
154 "//base:base_javatests",
155 "//net/android:net_javatests",
156 ]
cjhopman2fd48fd2014-09-24 00:52:56157 datadeps = [
158 ":content_shell_apk",
159 ]
cjhopman394dfd12014-09-09 08:55:54160 apk_name = "ContentShellTest"
161 android_manifest = "javatests/AndroidManifest.xml"
162}
cjhopmanaac45ed82014-10-17 22:08:19163
164if (cpu_arch != "x64" && cpu_arch != "arm64") {
sievers0350cad2014-12-03 23:50:55165
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
cjhopmanaac45ed82014-10-17 22:08:19174 android_resources("linker_resources") {
175 resource_dirs = [ "linker_test_apk/res" ]
sievers0350cad2014-12-03 23:50:55176 android_manifest = chromium_linker_test_manifest
cjhopmanaac45ed82014-10-17 22:08:19177 }
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 ]
sievers0350cad2014-12-03 23:50:55191 android_manifest = chromium_linker_test_manifest
cjhopmanaac45ed82014-10-17 22:08:19192 asset_location = content_shell_assets_dir
193 apk_name = "ChromiumLinkerTest"
194 DEPRECATED_java_in_dir = "linker_test_apk/src"
scottmg7afc4092014-12-03 19:22:42195 native_libs = [ "liblinker_test.so" ]
cjhopmanaac45ed82014-10-17 22:08:19196 use_chromium_linker = true
197 enable_chromium_linker_tests = true
198 }
199
cjhopmanaac45ed82014-10-17 22:08:19200 # 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",
scottmg7afc4092014-12-03 19:22:42211
cjhopmanaac45ed82014-10-17 22:08:19212 # 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}