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.
5 import("//build/config/chrome_build.gni")
7 content_app_sources = [
8 "android/app_jni_registrar.cc",
9 "android/app_jni_registrar.h",
10 "android/child_process_service.cc",
11 "android/child_process_service.h",
12 "android/content_jni_onload.cc",
13 "android/content_main.cc",
14 "android/content_main.h",
15 "android/library_loader_hooks.cc",
16 "android/library_loader_hooks.h",
18 "content_main_runner.cc",
29 # This is needed by app/content_main_runner.cc
30 # TODO(brettw) this shouldn't be here, only final executables should be
31 # picking the allocator.
34 "//content:startup_helper_win",
35 "//content/public/common:common_sources",
36 "//content/public/common:mojo_bindings",
44 content_app_deps += [ "//sandbox" ]
45 } else if (is_android) {
46 content_app_sources -= [ "content_main.cc" ]
48 "//content/public/android:jni",
51 "//third_party/android_tools:cpu_features",
57 content_app_sources -= [
64 "//mojo/application/public/interfaces",
65 "//mojo/environment:chromium",
66 "//third_party/mojo/src/mojo/edk/system",
70 content_app_extra_configs = [
71 "//build/config/compiler:wexit_time_destructors",
72 "//content:content_implementation",
75 if (!is_multi_dll_chrome) {
76 content_app_deps += [ "//content/gpu:gpu_sources" ]
79 # This includes the app sources for both the browser and child processes.
81 # Only the public target should depend on this. All other targets (even
82 # internal content ones) should depend on the public one.
83 visibility = [ "//content/public/app:*" ]
85 sources = content_app_sources
86 configs += content_app_extra_configs
87 deps = content_app_deps
90 if (is_multi_dll_chrome) {
91 # It doesn't make sense to do the browser/child dll split in component mode.
92 assert(!is_component_build)
94 source_set("browser") {
95 visibility = [ "//content/public/app:browser" ]
97 sources = content_app_sources
98 configs += content_app_extra_configs
99 deps = content_app_deps
101 defines = [ "CHROME_MULTIPLE_DLL_BROWSER" ]
104 source_set("child") {
105 visibility = [ "//content/public/app:child" ]
107 sources = content_app_sources
108 configs += content_app_extra_configs
109 deps = content_app_deps
111 defines = [ "CHROME_MULTIPLE_DLL_CHILD" ]