blob: bb3a64ef691f3dfeff9170e6c8d66ed733685b70 [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
sievers0350cad2014-12-03 23:50:5560content_shell_manifest = "$target_gen_dir/content_shell_manifest/AndroidManifest.xml"
61
62jinja_template("content_shell_manifest") {
63 testonly = true
64 input = "shell_apk/AndroidManifest.xml"
65 output = content_shell_manifest
66}
67
cjhopmancd7694af2014-09-08 00:00:0468android_resources("content_shell_apk_resources") {
cjhopman2fd48fd2014-09-24 00:52:5669 testonly = true
cjhopmancd7694af2014-09-08 00:00:0470 resource_dirs = [ "shell_apk/res" ]
71 deps = [
scottmg7afc4092014-12-03 19:22:4272 ":content_shell_java_resources",
cjhopmancd7694af2014-09-08 00:00:0473 ]
sievers0350cad2014-12-03 23:50:5574 android_manifest = content_shell_manifest
cjhopmancd7694af2014-09-08 00:00:0475}
76
cjhopman394dfd12014-09-09 08:55:5477android_library("content_shell_apk_java") {
cjhopman2fd48fd2014-09-24 00:52:5678 testonly = true
cjhopman394dfd12014-09-09 08:55:5479 deps = [
80 ":content_shell_apk_resources",
81 ":content_shell_java",
82 "//base:base_java",
83 "//content/public/android:content_java",
84 "//media/base/android:media_java",
85 "//net/android:net_java",
86 "//ui/android:ui_java",
87 ]
88 DEPRECATED_java_in_dir = "shell_apk/src"
89}
90
cjhopman2fd48fd2014-09-24 00:52:5691content_shell_assets_dir = "$root_build_dir/content_shell/assets"
92copy_ex("copy_content_shell_assets") {
93 clear_dir = true
94 dest = content_shell_assets_dir
95 sources = [
scottmg7afc4092014-12-03 19:22:4296 "$root_out_dir/content_shell.pak",
cjhopman2fd48fd2014-09-24 00:52:5697 ]
98
99 if (icu_use_data_file) {
scottmg7afc4092014-12-03 19:22:42100 sources += [ "$root_build_dir/icudtl.dat" ]
cjhopman2fd48fd2014-09-24 00:52:56101 }
baixo16600222014-12-04 20:08:38102 if (v8_use_external_startup_data) {
103 sources += [
104 "$root_gen_dir/natives_blob.bin",
105 "$root_gen_dir/snapshot_blob.bin",
106 ]
107 }
cjhopman2fd48fd2014-09-24 00:52:56108}
109
cjhopmancd7694af2014-09-08 00:00:04110android_apk("content_shell_apk") {
cjhopmanaac45ed82014-10-17 22:08:19111 use_chromium_linker = true
cjhopman2fd48fd2014-09-24 00:52:56112 testonly = true
cjhopmancd7694af2014-09-08 00:00:04113 datadeps = [
114 # "//tools/android/forwarder",
115 ]
116 deps = [
117 ":content_shell_apk_resources",
118 ":content_shell_java",
cjhopman394dfd12014-09-09 08:55:54119 ":content_shell_apk_java",
cjhopmancd7694af2014-09-08 00:00:04120 ":libcontent_shell_content_view",
cjhopman2fd48fd2014-09-24 00:52:56121 ":copy_content_shell_assets",
cjhopmancd7694af2014-09-08 00:00:04122 "//base:base_java",
123 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:54124 "//media/base/android:media_java",
cjhopmancd7694af2014-09-08 00:00:04125 "//net/android:net_java",
scottmg7afc4092014-12-03 19:22:42126
cjhopmancd7694af2014-09-08 00:00:04127 #"//third_party/mesa:osmesa_in_lib_dir",
128 "//ui/android:ui_java",
129 ]
130 apk_name = "ContentShell"
sievers0350cad2014-12-03 23:50:55131 android_manifest = content_shell_manifest
scottmg7afc4092014-12-03 19:22:42132 native_libs = [ "libcontent_shell_content_view.so" ]
cjhopman2fd48fd2014-09-24 00:52:56133 asset_location = content_shell_assets_dir
cjhopmancd7694af2014-09-08 00:00:04134
135 # TODO(GYP)
cjhopmancd7694af2014-09-08 00:00:04136 #'extra_native_libs': ['<(SHARED_LIB_DIR)/libosmesa.so'],
137
cjhopmancd7694af2014-09-08 00:00:04138 if (is_android_webview_build) {
139 # TODO(GYP)
140 }
141}
cjhopman394dfd12014-09-09 08:55:54142
143android_library("content_shell_test_java") {
cjhopman2fd48fd2014-09-24 00:52:56144 testonly = true
cjhopman394dfd12014-09-09 08:55:54145 deps = [
146 ":content_shell_java",
147 ":content_shell_apk_java",
148 "//base:base_java",
149 "//base:base_java_test_support",
150 "//content/public/test/android:content_java_test_support",
151 "//content/shell/android:content_shell_java",
152 "//content/public/android:content_java",
153 ]
154 DEPRECATED_java_in_dir = "javatests/src"
155}
156
157android_apk("content_shell_test_apk") {
cjhopman2fd48fd2014-09-24 00:52:56158 testonly = true
cjhopman394dfd12014-09-09 08:55:54159 deps = [
160 "//content/public/android:content_javatests",
161 "//base:base_javatests",
162 "//net/android:net_javatests",
163 ]
cjhopman2fd48fd2014-09-24 00:52:56164 datadeps = [
165 ":content_shell_apk",
166 ]
cjhopman394dfd12014-09-09 08:55:54167 apk_name = "ContentShellTest"
168 android_manifest = "javatests/AndroidManifest.xml"
169}
cjhopmanaac45ed82014-10-17 22:08:19170
171if (cpu_arch != "x64" && cpu_arch != "arm64") {
sievers0350cad2014-12-03 23:50:55172
173 chromium_linker_test_manifest = "$target_gen_dir/linker_test_apk/AndroidManifest.xml"
174
175 jinja_template("chromium_linker_test_manifest") {
176 testonly = true
177 input = "linker_test_apk/AndroidManifest.xml"
178 output = chromium_linker_test_manifest
179 }
180
cjhopmanaac45ed82014-10-17 22:08:19181 android_resources("linker_resources") {
182 resource_dirs = [ "linker_test_apk/res" ]
sievers0350cad2014-12-03 23:50:55183 android_manifest = chromium_linker_test_manifest
cjhopmanaac45ed82014-10-17 22:08:19184 }
185
186 # GYP: //content/content_tests.gypi:chromium_linker_test_apk
187 android_apk("chromium_linker_test_apk") {
188 testonly = true
189 deps = [
190 ":content_shell_java",
191 ":copy_content_shell_assets",
192 ":linker_resources",
193 ":linker_test",
194 "//base:base_java",
195 "//content/public/android:content_java",
196 "//ui/android:ui_java",
197 ]
sievers0350cad2014-12-03 23:50:55198 android_manifest = chromium_linker_test_manifest
cjhopmanaac45ed82014-10-17 22:08:19199 asset_location = content_shell_assets_dir
200 apk_name = "ChromiumLinkerTest"
201 DEPRECATED_java_in_dir = "linker_test_apk/src"
scottmg7afc4092014-12-03 19:22:42202 native_libs = [ "liblinker_test.so" ]
cjhopmanaac45ed82014-10-17 22:08:19203 use_chromium_linker = true
204 enable_chromium_linker_tests = true
205 }
206
cjhopmanaac45ed82014-10-17 22:08:19207 # GYP: //content/content_tests.gypi:chromium_android_linker_test
208 shared_library("linker_test") {
209 testonly = true
210 sources = [
211 "linker_test_apk/chromium_linker_test_android.cc",
212 "linker_test_apk/chromium_linker_test_linker_tests.cc",
213 ]
214
215 deps = [
216 ":linker_test_jni_headers",
217 "//content/shell:content_shell_lib",
scottmg7afc4092014-12-03 19:22:42218
cjhopmanaac45ed82014-10-17 22:08:19219 # Required to include "content/public/browser/android/compositor.h"
220 # in chromium_linker_test_android.cc :-(
221 "//skia",
222 ]
223 }
224
225 # GYP: //content/content_tests.gypi:chromium_android_linker_test_jni_headers
226 generate_jni("linker_test_jni_headers") {
227 testonly = true
228 jni_package = "content/shell"
229 sources = [
230 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java",
231 ]
232 }
233}