blob: 9acd3e78c8b42c33ef3aee07152911be7dfad518 [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 = [
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",
ppif581fe92014-10-08 18:52:1916 "java/src/org/chromium/content_shell/ShellMojoTestUtils.java",
cjhopmancd7694af2014-09-08 00:00:0417 "java/src/org/chromium/content_shell/Shell.java",
18 ]
19}
20
21shared_library("libcontent_shell_content_view") {
cjhopman2fd48fd2014-09-24 00:52:5622 testonly = true
cjhopmancd7694af2014-09-08 00:00:0423 deps = [
24 ":content_shell_jni_headers",
cjhopman2fd48fd2014-09-24 00:52:5625 "//content/shell:content_shell_lib",
26 "//content/shell:pak",
27 "//components/crash/browser",
cjhopmancd7694af2014-09-08 00:00:0428 "//skia",
29 "//media/base/android",
30 ]
31 sources = [
cjhopman2fd48fd2014-09-24 00:52:5632 "shell_library_loader.cc",
33 "shell_library_loader.h",
cjhopmancd7694af2014-09-08 00:00:0434 ]
35 if (is_android_webview_build) {
scottmg7afc4092014-12-03 19:22:4236 ldflags = [ "-lgabi++" ]
cjhopmancd7694af2014-09-08 00:00:0437 }
38}
39
40android_resources("content_shell_java_resources") {
cjhopman2fd48fd2014-09-24 00:52:5641 testonly = true
cjhopmancd7694af2014-09-08 00:00:0442 resource_dirs = [ "java/res" ]
43 custom_package = "org.chromium.content_shell"
44}
45
46android_library("content_shell_java") {
cjhopman2fd48fd2014-09-24 00:52:5647 testonly = true
cjhopmancd7694af2014-09-08 00:00:0448 deps = [
49 "//base:base_java",
50 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:5451 "//media/base/android:media_java",
ppif581fe92014-10-08 18:52:1952 "//mojo/public/java:system",
cjhopmancd7694af2014-09-08 00:00:0453 "//net/android:net_java",
54 "//ui/android:ui_java",
55 ":content_shell_java_resources",
56 ]
57 DEPRECATED_java_in_dir = "java/src"
58}
59
scottmg6da1b582014-12-08 18:31:1560content_shell_manifest =
61 "$target_gen_dir/content_shell_manifest/AndroidManifest.xml"
sievers0350cad2014-12-03 23:50:5562
63jinja_template("content_shell_manifest") {
64 testonly = true
sievers4c08a9c2014-12-05 01:57:2865 input = "shell_apk/AndroidManifest.xml.jinja2"
sievers0350cad2014-12-03 23:50:5566 output = content_shell_manifest
67}
68
cjhopmancd7694af2014-09-08 00:00:0469android_resources("content_shell_apk_resources") {
cjhopman2fd48fd2014-09-24 00:52:5670 testonly = true
cjhopmancd7694af2014-09-08 00:00:0471 resource_dirs = [ "shell_apk/res" ]
72 deps = [
scottmg7afc4092014-12-03 19:22:4273 ":content_shell_java_resources",
cjhopmancd7694af2014-09-08 00:00:0474 ]
sievers0350cad2014-12-03 23:50:5575 android_manifest = content_shell_manifest
cjhopmancd7694af2014-09-08 00:00:0476}
77
cjhopman394dfd12014-09-09 08:55:5478android_library("content_shell_apk_java") {
cjhopman2fd48fd2014-09-24 00:52:5679 testonly = true
cjhopman394dfd12014-09-09 08:55:5480 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
cjhopman2fd48fd2014-09-24 00:52:5692content_shell_assets_dir = "$root_build_dir/content_shell/assets"
93copy_ex("copy_content_shell_assets") {
94 clear_dir = true
95 dest = content_shell_assets_dir
96 sources = [
scottmg7afc4092014-12-03 19:22:4297 "$root_out_dir/content_shell.pak",
cjhopman2fd48fd2014-09-24 00:52:5698 ]
99
100 if (icu_use_data_file) {
scottmg7afc4092014-12-03 19:22:42101 sources += [ "$root_build_dir/icudtl.dat" ]
cjhopman2fd48fd2014-09-24 00:52:56102 }
baixo16600222014-12-04 20:08:38103 if (v8_use_external_startup_data) {
104 sources += [
105 "$root_gen_dir/natives_blob.bin",
106 "$root_gen_dir/snapshot_blob.bin",
107 ]
108 }
cjhopman2fd48fd2014-09-24 00:52:56109}
110
cjhopmancd7694af2014-09-08 00:00:04111android_apk("content_shell_apk") {
cjhopmanaac45ed82014-10-17 22:08:19112 use_chromium_linker = true
cjhopman2fd48fd2014-09-24 00:52:56113 testonly = true
cjhopmancd7694af2014-09-08 00:00:04114 datadeps = [
115 # "//tools/android/forwarder",
116 ]
117 deps = [
118 ":content_shell_apk_resources",
119 ":content_shell_java",
cjhopman394dfd12014-09-09 08:55:54120 ":content_shell_apk_java",
cjhopmancd7694af2014-09-08 00:00:04121 ":libcontent_shell_content_view",
cjhopman2fd48fd2014-09-24 00:52:56122 ":copy_content_shell_assets",
cjhopmancd7694af2014-09-08 00:00:04123 "//base:base_java",
124 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:54125 "//media/base/android:media_java",
cjhopmancd7694af2014-09-08 00:00:04126 "//net/android:net_java",
scottmg7afc4092014-12-03 19:22:42127
cjhopmancd7694af2014-09-08 00:00:04128 #"//third_party/mesa:osmesa_in_lib_dir",
129 "//ui/android:ui_java",
130 ]
131 apk_name = "ContentShell"
sievers0350cad2014-12-03 23:50:55132 android_manifest = content_shell_manifest
scottmg7afc4092014-12-03 19:22:42133 native_libs = [ "libcontent_shell_content_view.so" ]
cjhopman2fd48fd2014-09-24 00:52:56134 asset_location = content_shell_assets_dir
cjhopmancd7694af2014-09-08 00:00:04135
136 # TODO(GYP)
cjhopmancd7694af2014-09-08 00:00:04137 #'extra_native_libs': ['<(SHARED_LIB_DIR)/libosmesa.so'],
138
cjhopmancd7694af2014-09-08 00:00:04139 if (is_android_webview_build) {
140 # TODO(GYP)
141 }
142}
cjhopman394dfd12014-09-09 08:55:54143
144android_library("content_shell_test_java") {
cjhopman2fd48fd2014-09-24 00:52:56145 testonly = true
cjhopman394dfd12014-09-09 08:55:54146 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
158android_apk("content_shell_test_apk") {
cjhopman2fd48fd2014-09-24 00:52:56159 testonly = true
cjhopman394dfd12014-09-09 08:55:54160 deps = [
161 "//content/public/android:content_javatests",
162 "//base:base_javatests",
163 "//net/android:net_javatests",
164 ]
cjhopman2fd48fd2014-09-24 00:52:56165 datadeps = [
166 ":content_shell_apk",
167 ]
cjhopman394dfd12014-09-09 08:55:54168 apk_name = "ContentShellTest"
169 android_manifest = "javatests/AndroidManifest.xml"
170}
cjhopmanaac45ed82014-10-17 22:08:19171
172if (cpu_arch != "x64" && cpu_arch != "arm64") {
scottmg6da1b582014-12-08 18:31:15173 chromium_linker_test_manifest =
174 "$target_gen_dir/linker_test_apk/AndroidManifest.xml"
sievers0350cad2014-12-03 23:50:55175
176 jinja_template("chromium_linker_test_manifest") {
177 testonly = true
sievers4c08a9c2014-12-05 01:57:28178 input = "linker_test_apk/AndroidManifest.xml.jinja2"
sievers0350cad2014-12-03 23:50:55179 output = chromium_linker_test_manifest
180 }
181
cjhopmanaac45ed82014-10-17 22:08:19182 android_resources("linker_resources") {
183 resource_dirs = [ "linker_test_apk/res" ]
sievers0350cad2014-12-03 23:50:55184 android_manifest = chromium_linker_test_manifest
cjhopmanaac45ed82014-10-17 22:08:19185 }
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 ]
sievers0350cad2014-12-03 23:50:55199 android_manifest = chromium_linker_test_manifest
cjhopmanaac45ed82014-10-17 22:08:19200 asset_location = content_shell_assets_dir
201 apk_name = "ChromiumLinkerTest"
202 DEPRECATED_java_in_dir = "linker_test_apk/src"
scottmg7afc4092014-12-03 19:22:42203 native_libs = [ "liblinker_test.so" ]
cjhopmanaac45ed82014-10-17 22:08:19204 use_chromium_linker = true
205 enable_chromium_linker_tests = true
206 }
207
cjhopmanaac45ed82014-10-17 22:08:19208 # 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",
scottmg7afc4092014-12-03 19:22:42219
cjhopmanaac45ed82014-10-17 22:08:19220 # 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}