blob: 5843b1212b524879af40a8787e3009e69ddeb513 [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) {
35 ldflags = [
36 "-lgabi++",
37 ]
38 }
39}
40
41android_resources("content_shell_java_resources") {
cjhopman2fd48fd2014-09-24 00:52:5642 testonly = true
cjhopmancd7694af2014-09-08 00:00:0443 resource_dirs = [ "java/res" ]
44 custom_package = "org.chromium.content_shell"
45}
46
47android_library("content_shell_java") {
cjhopman2fd48fd2014-09-24 00:52:5648 testonly = true
cjhopmancd7694af2014-09-08 00:00:0449 deps = [
50 "//base:base_java",
51 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:5452 "//media/base/android:media_java",
ppif581fe92014-10-08 18:52:1953 "//mojo/public/java:system",
cjhopmancd7694af2014-09-08 00:00:0454 "//net/android:net_java",
55 "//ui/android:ui_java",
56 ":content_shell_java_resources",
57 ]
58 DEPRECATED_java_in_dir = "java/src"
59}
60
61android_resources("content_shell_apk_resources") {
cjhopman2fd48fd2014-09-24 00:52:5662 testonly = true
cjhopmancd7694af2014-09-08 00:00:0463 resource_dirs = [ "shell_apk/res" ]
64 deps = [
65 ":content_shell_java_resources"
66 ]
67 android_manifest = "shell_apk/AndroidManifest.xml"
68}
69
cjhopman394dfd12014-09-09 08:55:5470android_library("content_shell_apk_java") {
cjhopman2fd48fd2014-09-24 00:52:5671 testonly = true
cjhopman394dfd12014-09-09 08:55:5472 deps = [
73 ":content_shell_apk_resources",
74 ":content_shell_java",
75 "//base:base_java",
76 "//content/public/android:content_java",
77 "//media/base/android:media_java",
78 "//net/android:net_java",
79 "//ui/android:ui_java",
80 ]
81 DEPRECATED_java_in_dir = "shell_apk/src"
82}
83
cjhopman2fd48fd2014-09-24 00:52:5684content_shell_assets_dir = "$root_build_dir/content_shell/assets"
85copy_ex("copy_content_shell_assets") {
86 clear_dir = true
87 dest = content_shell_assets_dir
88 sources = [
89 "$root_out_dir/content_shell.pak"
90 ]
91
92 if (icu_use_data_file) {
93 sources += [
94 "$root_build_dir/icudtl.dat"
95 ]
96 }
97}
98
cjhopmancd7694af2014-09-08 00:00:0499android_apk("content_shell_apk") {
cjhopmanaac45ed82014-10-17 22:08:19100 use_chromium_linker = true
cjhopman2fd48fd2014-09-24 00:52:56101 testonly = true
cjhopmancd7694af2014-09-08 00:00:04102 datadeps = [
103 # "//tools/android/forwarder",
104 ]
105 deps = [
106 ":content_shell_apk_resources",
107 ":content_shell_java",
cjhopman394dfd12014-09-09 08:55:54108 ":content_shell_apk_java",
cjhopmancd7694af2014-09-08 00:00:04109 ":libcontent_shell_content_view",
cjhopman2fd48fd2014-09-24 00:52:56110 ":copy_content_shell_assets",
cjhopmancd7694af2014-09-08 00:00:04111 "//base:base_java",
112 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:54113 "//media/base/android:media_java",
cjhopmancd7694af2014-09-08 00:00:04114 "//net/android:net_java",
115 #"//third_party/mesa:osmesa_in_lib_dir",
116 "//ui/android:ui_java",
117 ]
118 apk_name = "ContentShell"
119 android_manifest = "shell_apk/AndroidManifest.xml"
cjhopmancd7694af2014-09-08 00:00:04120 native_libs = [
121 "$root_build_dir/lib.stripped/libcontent_shell_content_view.so"
122 ]
cjhopman2fd48fd2014-09-24 00:52:56123 asset_location = content_shell_assets_dir
cjhopmancd7694af2014-09-08 00:00:04124
125 # TODO(GYP)
cjhopmancd7694af2014-09-08 00:00:04126 #'extra_native_libs': ['<(SHARED_LIB_DIR)/libosmesa.so'],
127
cjhopmancd7694af2014-09-08 00:00:04128 if (is_android_webview_build) {
129 # TODO(GYP)
130 }
131}
cjhopman394dfd12014-09-09 08:55:54132
133android_library("content_shell_test_java") {
cjhopman2fd48fd2014-09-24 00:52:56134 testonly = true
cjhopman394dfd12014-09-09 08:55:54135 deps = [
136 ":content_shell_java",
137 ":content_shell_apk_java",
138 "//base:base_java",
139 "//base:base_java_test_support",
140 "//content/public/test/android:content_java_test_support",
141 "//content/shell/android:content_shell_java",
142 "//content/public/android:content_java",
143 ]
144 DEPRECATED_java_in_dir = "javatests/src"
145}
146
147android_apk("content_shell_test_apk") {
cjhopman2fd48fd2014-09-24 00:52:56148 testonly = true
cjhopman394dfd12014-09-09 08:55:54149 deps = [
150 "//content/public/android:content_javatests",
151 "//base:base_javatests",
152 "//net/android:net_javatests",
153 ]
cjhopman2fd48fd2014-09-24 00:52:56154 datadeps = [
155 ":content_shell_apk",
156 ]
cjhopman394dfd12014-09-09 08:55:54157 apk_name = "ContentShellTest"
158 android_manifest = "javatests/AndroidManifest.xml"
159}
cjhopmanaac45ed82014-10-17 22:08:19160
161if (cpu_arch != "x64" && cpu_arch != "arm64") {
162
163 android_resources("linker_resources") {
164 resource_dirs = [ "linker_test_apk/res" ]
165 android_manifest = "linker_test_apk/AndroidManifest.xml"
166 }
167
168 # GYP: //content/content_tests.gypi:chromium_linker_test_apk
169 android_apk("chromium_linker_test_apk") {
170 testonly = true
171 deps = [
172 ":content_shell_java",
173 ":copy_content_shell_assets",
174 ":linker_resources",
175 ":linker_test",
176 "//base:base_java",
177 "//content/public/android:content_java",
178 "//ui/android:ui_java",
179 ]
180 android_manifest = "linker_test_apk/AndroidManifest.xml"
181 asset_location = content_shell_assets_dir
182 apk_name = "ChromiumLinkerTest"
183 DEPRECATED_java_in_dir = "linker_test_apk/src"
184 native_libs = [
185 "$root_build_dir/lib.stripped/liblinker_test.so"
186 ]
187 use_chromium_linker = true
188 enable_chromium_linker_tests = true
189 }
190
191
192 # GYP: //content/content_tests.gypi:chromium_android_linker_test
193 shared_library("linker_test") {
194 testonly = true
195 sources = [
196 "linker_test_apk/chromium_linker_test_android.cc",
197 "linker_test_apk/chromium_linker_test_linker_tests.cc",
198 ]
199
200 deps = [
201 ":linker_test_jni_headers",
202 "//content/shell:content_shell_lib",
203 # Required to include "content/public/browser/android/compositor.h"
204 # in chromium_linker_test_android.cc :-(
205 "//skia",
206 ]
207 }
208
209 # GYP: //content/content_tests.gypi:chromium_android_linker_test_jni_headers
210 generate_jni("linker_test_jni_headers") {
211 testonly = true
212 jni_package = "content/shell"
213 sources = [
214 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java",
215 ]
216 }
217}