Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: mojo/shell/BUILD.gn

Issue 775343004: Move //mojo/shell to //shell (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc ('k') | mojo/shell/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # 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
5 import("//build/config/ui.gni")
6 import("//mojo/public/mojo.gni")
7 import("//mojo/public/tools/bindings/mojom.gni")
8
9 # We don't support building in the component build since mojo apps are
10 # inherently components.
11 assert(!is_component_build)
12
13 if (is_android) {
14 import("//build/config/android/config.gni")
15 import("//build/config/android/rules.gni")
16 }
17
18 if (!use_prebuilt_mojo_shell) {
19 executable("mojo_shell") {
20 sources = [
21 "desktop/mojo_main.cc",
22 ]
23
24 deps = [
25 ":init",
26 ":lib",
27 "//base",
28 "//build/config/sanitizers:deps",
29 "//mojo/common",
30 "//mojo/environment:chromium",
31 ]
32 }
33 } # !use_prebuilt_mojo_shell
34
35 executable("mojo_launcher") {
36 sources = [
37 "launcher_main.cc",
38 ]
39
40 deps = [
41 ":external_application_registrar_bindings",
42 ":external_application_registrar_connection",
43 ":init",
44 ":in_process_dynamic_service_runner",
45 "//base",
46 "//build/config/sanitizers:deps",
47 "//mojo/common",
48 "//mojo/edk/system",
49 "//mojo/environment:chromium",
50 "//url",
51 ]
52 }
53
54 source_set("init") {
55 sources = [
56 "init.cc",
57 "init.h",
58 ]
59
60 deps = [
61 "//base",
62 ]
63 }
64
65 source_set("in_process_dynamic_service_runner") {
66 sources = [
67 "dynamic_service_runner.cc",
68 "dynamic_service_runner.h",
69 "in_process_dynamic_service_runner.cc",
70 "in_process_dynamic_service_runner.h",
71 ]
72
73 deps = [
74 "//base",
75 "//mojo/gles2",
76 "//mojo/public/cpp/system",
77 ]
78
79 # This target has to include the public thunk headers, which generally
80 # shouldn't be included without picking an implementation. We are providing
81 # the implementation but the thunk header target cannot declare that we are
82 # permitted to include it since it's in the public SDK and we are not.
83 # Suppress include checking so we can still check the rest of the targets in
84 # this file.
85 check_includes = false
86 }
87
88 source_set("lib") {
89 sources = [
90 "app_child_process.cc",
91 "app_child_process.h",
92 "app_child_process_host.cc",
93 "app_child_process_host.h",
94 "child_process.cc",
95 "child_process.h",
96 "child_process_host.cc",
97 "child_process_host.h",
98 "context.cc",
99 "context.h",
100 "data_pipe_peek.cc",
101 "data_pipe_peek.h",
102 "dynamic_application_loader.cc",
103 "dynamic_application_loader.h",
104 "external_application_listener.h",
105 "external_application_listener_posix.cc",
106 "external_application_listener_win.cc",
107 "filename_util.cc",
108 "filename_util.h",
109 "incoming_connection_listener_posix.cc",
110 "incoming_connection_listener_posix.h",
111 "mojo_url_resolver.cc",
112 "mojo_url_resolver.h",
113 "out_of_process_dynamic_service_runner.cc",
114 "out_of_process_dynamic_service_runner.h",
115 "switches.cc",
116 "switches.h",
117 "task_runners.cc",
118 "task_runners.h",
119 "test_child_process.cc",
120 "test_child_process.h",
121 "ui_application_loader_android.cc",
122 "ui_application_loader_android.h",
123 ]
124
125 deps = [
126 ":app_child_process_bindings",
127 ":external_application_registrar_bindings",
128 ":init",
129 ":in_process_dynamic_service_runner",
130 "//base",
131 "//base/third_party/dynamic_annotations",
132 "//base:base_static",
133 "//mojo/application",
134 "//mojo/application_manager",
135 "//mojo/common",
136 "//mojo/common:tracing_impl",
137 "//mojo/edk/system",
138 "//mojo/public/cpp/bindings",
139 "//mojo/public/interfaces/application",
140 "//mojo/services/public/interfaces/network",
141 "//mojo/shell/domain_socket",
142 "//mojo/spy",
143 "//services/tracing:bindings",
144 "//url",
145 ]
146
147 if (is_win) {
148 deps -= [ "//mojo/shell/domain_socket" ]
149 }
150
151 if (is_android) {
152 sources += [
153 "android/android_handler.h",
154 "android/android_handler.cc",
155 "android/android_handler_loader.h",
156 "android/android_handler_loader.cc",
157 "network_application_loader.cc",
158 "network_application_loader.h",
159 ]
160
161 deps += [
162 ":jni_headers",
163 ":run_android_application_function",
164 "//mojo/application:content_handler",
165 "//mojo/services/network:lib",
166 "//services/gles2",
167 "//services/native_viewport:lib",
168 ]
169 }
170
171 # This target includes some files behind #ifdef OS... guards. Since gn is not
172 # smart enough to understand preprocess includes, it does complains about
173 # these includes when not using the build files for that OS. Suppress checking
174 # so we can enable checking for the rest of the targets in this file.
175 # TODO: Might be better to split the files with OS-specific includes out to a
176 # separate source_set so we can leave checking on for the rest of the target.
177 check_includes = false
178 }
179
180 if (is_android) {
181 generate_jni("jni_headers") {
182 sources = [
183 "android/apk/src/org/chromium/mojo_shell_apk/AndroidHandler.java",
184 "android/apk/src/org/chromium/mojo_shell_apk/Bootstrap.java",
185 "android/apk/src/org/chromium/mojo_shell_apk/MojoMain.java",
186 ]
187 jni_package = "mojo"
188 }
189
190 android_library("bootstrap_java") {
191 java_files =
192 [ "android/apk/src/org/chromium/mojo_shell_apk/Bootstrap.java" ]
193
194 deps = [
195 "//base:base_java",
196 ]
197
198 dex_path = "$target_out_dir/bootstrap_java.dex.jar"
199 }
200
201 shared_library("bootstrap") {
202 sources = [
203 "android/bootstrap.cc",
204 ]
205 deps = [
206 ":jni_headers",
207 ":lib",
208 ":run_android_application_function",
209 "//base",
210 ]
211 }
212
213 # Shared header between the bootstrap and the main shell .so.
214 source_set("run_android_application_function") {
215 sources = [
216 "android/run_android_application_function.h",
217 ]
218 }
219
220 android_library("java") {
221 java_files = [
222 "android/apk/src/org/chromium/mojo_shell_apk/AndroidHandler.java",
223 "android/apk/src/org/chromium/mojo_shell_apk/FileHelper.java",
224 "android/apk/src/org/chromium/mojo_shell_apk/MojoMain.java",
225 "android/apk/src/org/chromium/mojo_shell_apk/MojoShellActivity.java",
226 "android/apk/src/org/chromium/mojo_shell_apk/MojoShellApplication.java",
227 ]
228
229 deps = [
230 "//base:base_java",
231 "//net/android:net_java",
232 ]
233 }
234
235 android_resources("resources") {
236 resource_dirs = [ "android/apk/res" ]
237 custom_package = "org.chromium.mojo_shell_apk"
238 }
239
240 shared_library("libmojo_shell") {
241 sources = [
242 "android/library_loader.cc",
243 "android/mojo_main.cc",
244 "android/mojo_main.h",
245 ]
246 deps = [
247 ":jni_headers",
248 ":lib",
249 "//mojo/application_manager",
250 "//net",
251 "//services/native_viewport:lib",
252 "//ui/gl",
253 ]
254 }
255
256 mojo_shell_assets_dir = "$root_build_dir/mojo_shell_assets"
257
258 copy_ex("copy_mojo_shell_assets") {
259 clear_dir = true
260 dest = mojo_shell_assets_dir
261 sources = [
262 "$root_out_dir/lib.stripped/libbootstrap.so",
263 "$root_out_dir/obj/mojo/shell/bootstrap_java.dex.jar",
264 ]
265 }
266
267 android_apk("mojo_shell_apk") {
268 apk_name = "MojoShell"
269
270 android_manifest = "android/apk/AndroidManifest.xml"
271
272 native_libs = [ "libmojo_shell.so" ]
273
274 asset_location = mojo_shell_assets_dir
275
276 deps = [
277 ":copy_mojo_shell_assets",
278 ":java",
279 ":libmojo_shell",
280 ":resources",
281 "//services/native_viewport:native_viewport_java",
282 ]
283 }
284 }
285
286 mojom("app_child_process_bindings") {
287 sources = [
288 "app_child_process.mojom",
289 ]
290 }
291
292 mojom("external_application_registrar_bindings") {
293 sources = [
294 "external_application_registrar.mojom",
295 ]
296
297 deps = [
298 "//mojo/public/interfaces/application",
299 ]
300 }
301
302 source_set("external_application_registrar_connection") {
303 sources = [
304 "external_application_registrar_connection.cc",
305 "external_application_registrar_connection.h",
306 ]
307
308 deps = [
309 ":external_application_registrar_bindings",
310 "//base",
311 "//mojo/common",
312 "//mojo/edk/system",
313 "//mojo/public/cpp/bindings",
314 "//mojo/public/interfaces/application",
315 "//mojo/shell/domain_socket",
316 "//url",
317 ]
318
319 if (is_win) {
320 deps -= [ "//mojo/shell/domain_socket" ]
321 }
322 }
323
324 # GYP version: mojo/mojo.gyp:mojo_shell_tests
325 test("mojo_shell_tests") {
326 sources = [
327 "child_process_host_unittest.cc",
328 "data_pipe_peek_unittest.cc",
329 "dynamic_application_loader_unittest.cc",
330 "in_process_dynamic_service_runner_unittest.cc",
331 "mojo_url_resolver_unittest.cc",
332 "shell_test_base.cc",
333 "shell_test_base.h",
334 "shell_test_base_unittest.cc",
335 "shell_test_main.cc",
336 ]
337
338 deps = [
339 ":in_process_dynamic_service_runner",
340 ":lib",
341 "//base",
342 "//base:i18n",
343 "//base/test:test_support",
344 "//testing/gtest",
345 "//net:test_support",
346 "//url",
347 "//mojo/application_manager",
348 "//mojo/common",
349 "//mojo/edk/system",
350 "//mojo/environment:chromium",
351 "//mojo/public/cpp/bindings",
352 "//services/test_service:bindings",
353 ]
354
355 datadeps = [
356 "//services/test_service:test_app",
357 "//services/test_service:test_request_tracker_app",
358 ]
359
360 if (is_android) {
361 deps += [
362 # TODO(GYP):
363 #'../testing/android/native_test.gyp:native_test_native_code',
364 ]
365 }
366 }
367
368 # GYP version: mojo/mojo.gyp:mojo_shell_test_support
369 source_set("test_support") {
370 sources = [
371 "shell_test_helper.cc",
372 "shell_test_helper.h",
373 ]
374
375 deps = [
376 ":init",
377 ":lib",
378 "//base",
379 "//mojo/application_manager",
380 "//mojo/edk/system",
381 ]
382 }
383
384 test("external_application_unittests") {
385 sources = [
386 "incoming_connection_listener_unittest.cc",
387 "external_application_listener_unittest.cc",
388 "external_application_test_main.cc",
389 ]
390
391 deps = [
392 ":lib",
393 ":external_application_registrar_connection",
394 ":external_application_registrar_bindings",
395 "//base",
396 "//base/test:test_support",
397 "//testing/gtest",
398 "//url",
399 "//mojo/application",
400 "//mojo/application_manager",
401 "//mojo/common",
402 "//mojo/edk/system",
403 "//mojo/environment:chromium",
404 "//mojo/shell/domain_socket",
405 "//mojo/shell/domain_socket:tests",
406 ]
407
408 if (is_win) {
409 sources -= [
410 "incoming_connection_listener_unittest.cc",
411 "external_application_listener_unittest.cc",
412 ]
413
414 deps -= [
415 ":lib",
416 ":external_application_registrar_connection",
417 ":external_application_registrar_bindings",
418 "//mojo/shell/domain_socket",
419 "//mojo/shell/domain_socket:tests",
420 ]
421 }
422 }
OLDNEW
« no previous file with comments | « mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc ('k') | mojo/shell/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698