blob: 8f49c9e11a5179dafb1d8a1a62c8f35bc241a66c [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
59android_resources("content_shell_apk_resources") {
cjhopman2fd48fd2014-09-24 00:52:5660 testonly = true
cjhopmancd7694af2014-09-08 00:00:0461 resource_dirs = [ "shell_apk/res" ]
62 deps = [
scottmg7afc4092014-12-03 19:22:4263 ":content_shell_java_resources",
cjhopmancd7694af2014-09-08 00:00:0464 ]
65 android_manifest = "shell_apk/AndroidManifest.xml"
66}
67
cjhopman394dfd12014-09-09 08:55:5468android_library("content_shell_apk_java") {
cjhopman2fd48fd2014-09-24 00:52:5669 testonly = true
cjhopman394dfd12014-09-09 08:55:5470 deps = [
71 ":content_shell_apk_resources",
72 ":content_shell_java",
73 "//base:base_java",
74 "//content/public/android:content_java",
75 "//media/base/android:media_java",
76 "//net/android:net_java",
77 "//ui/android:ui_java",
78 ]
79 DEPRECATED_java_in_dir = "shell_apk/src"
80}
81
cjhopman2fd48fd2014-09-24 00:52:5682content_shell_assets_dir = "$root_build_dir/content_shell/assets"
83copy_ex("copy_content_shell_assets") {
84 clear_dir = true
85 dest = content_shell_assets_dir
86 sources = [
scottmg7afc4092014-12-03 19:22:4287 "$root_out_dir/content_shell.pak",
cjhopman2fd48fd2014-09-24 00:52:5688 ]
89
90 if (icu_use_data_file) {
scottmg7afc4092014-12-03 19:22:4291 sources += [ "$root_build_dir/icudtl.dat" ]
cjhopman2fd48fd2014-09-24 00:52:5692 }
93}
94
cjhopmancd7694af2014-09-08 00:00:0495android_apk("content_shell_apk") {
cjhopmanaac45ed82014-10-17 22:08:1996 use_chromium_linker = true
cjhopman2fd48fd2014-09-24 00:52:5697 testonly = true
cjhopmancd7694af2014-09-08 00:00:0498 datadeps = [
99 # "//tools/android/forwarder",
100 ]
101 deps = [
102 ":content_shell_apk_resources",
103 ":content_shell_java",
cjhopman394dfd12014-09-09 08:55:54104 ":content_shell_apk_java",
cjhopmancd7694af2014-09-08 00:00:04105 ":libcontent_shell_content_view",
cjhopman2fd48fd2014-09-24 00:52:56106 ":copy_content_shell_assets",
cjhopmancd7694af2014-09-08 00:00:04107 "//base:base_java",
108 "//content/public/android:content_java",
cjhopman394dfd12014-09-09 08:55:54109 "//media/base/android:media_java",
cjhopmancd7694af2014-09-08 00:00:04110 "//net/android:net_java",
scottmg7afc4092014-12-03 19:22:42111
cjhopmancd7694af2014-09-08 00:00:04112 #"//third_party/mesa:osmesa_in_lib_dir",
113 "//ui/android:ui_java",
114 ]
115 apk_name = "ContentShell"
116 android_manifest = "shell_apk/AndroidManifest.xml"
scottmg7afc4092014-12-03 19:22:42117 native_libs = [ "libcontent_shell_content_view.so" ]
cjhopman2fd48fd2014-09-24 00:52:56118 asset_location = content_shell_assets_dir
cjhopmancd7694af2014-09-08 00:00:04119
120 # TODO(GYP)
cjhopmancd7694af2014-09-08 00:00:04121 #'extra_native_libs': ['<(SHARED_LIB_DIR)/libosmesa.so'],
122
cjhopmancd7694af2014-09-08 00:00:04123 if (is_android_webview_build) {
124 # TODO(GYP)
125 }
126}
cjhopman394dfd12014-09-09 08:55:54127
128android_library("content_shell_test_java") {
cjhopman2fd48fd2014-09-24 00:52:56129 testonly = true
cjhopman394dfd12014-09-09 08:55:54130 deps = [
131 ":content_shell_java",
132 ":content_shell_apk_java",
133 "//base:base_java",
134 "//base:base_java_test_support",
135 "//content/public/test/android:content_java_test_support",
136 "//content/shell/android:content_shell_java",
137 "//content/public/android:content_java",
138 ]
139 DEPRECATED_java_in_dir = "javatests/src"
140}
141
142android_apk("content_shell_test_apk") {
cjhopman2fd48fd2014-09-24 00:52:56143 testonly = true
cjhopman394dfd12014-09-09 08:55:54144 deps = [
145 "//content/public/android:content_javatests",
146 "//base:base_javatests",
147 "//net/android:net_javatests",
148 ]
cjhopman2fd48fd2014-09-24 00:52:56149 datadeps = [
150 ":content_shell_apk",
151 ]
cjhopman394dfd12014-09-09 08:55:54152 apk_name = "ContentShellTest"
153 android_manifest = "javatests/AndroidManifest.xml"
154}
cjhopmanaac45ed82014-10-17 22:08:19155
156if (cpu_arch != "x64" && cpu_arch != "arm64") {
cjhopmanaac45ed82014-10-17 22:08:19157 android_resources("linker_resources") {
158 resource_dirs = [ "linker_test_apk/res" ]
159 android_manifest = "linker_test_apk/AndroidManifest.xml"
160 }
161
162 # GYP: //content/content_tests.gypi:chromium_linker_test_apk
163 android_apk("chromium_linker_test_apk") {
164 testonly = true
165 deps = [
166 ":content_shell_java",
167 ":copy_content_shell_assets",
168 ":linker_resources",
169 ":linker_test",
170 "//base:base_java",
171 "//content/public/android:content_java",
172 "//ui/android:ui_java",
173 ]
174 android_manifest = "linker_test_apk/AndroidManifest.xml"
175 asset_location = content_shell_assets_dir
176 apk_name = "ChromiumLinkerTest"
177 DEPRECATED_java_in_dir = "linker_test_apk/src"
scottmg7afc4092014-12-03 19:22:42178 native_libs = [ "liblinker_test.so" ]
cjhopmanaac45ed82014-10-17 22:08:19179 use_chromium_linker = true
180 enable_chromium_linker_tests = true
181 }
182
cjhopmanaac45ed82014-10-17 22:08:19183 # GYP: //content/content_tests.gypi:chromium_android_linker_test
184 shared_library("linker_test") {
185 testonly = true
186 sources = [
187 "linker_test_apk/chromium_linker_test_android.cc",
188 "linker_test_apk/chromium_linker_test_linker_tests.cc",
189 ]
190
191 deps = [
192 ":linker_test_jni_headers",
193 "//content/shell:content_shell_lib",
scottmg7afc4092014-12-03 19:22:42194
cjhopmanaac45ed82014-10-17 22:08:19195 # Required to include "content/public/browser/android/compositor.h"
196 # in chromium_linker_test_android.cc :-(
197 "//skia",
198 ]
199 }
200
201 # GYP: //content/content_tests.gypi:chromium_android_linker_test_jni_headers
202 generate_jni("linker_test_jni_headers") {
203 testonly = true
204 jni_package = "content/shell"
205 sources = [
206 "linker_test_apk/src/org/chromium/chromium_linker_test_apk/LinkerTests.java",
207 ]
208 }
209}