GPU workaround to simulate Out of Memory errors with large textures
[chromium-blink-merge.git] / content / app / BUILD.gn
blob4e48811cda682a66f5720adaa7b903614cced228
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 # TODO(GYP) enable chrome_multiple_dll support
6 is_chrome_multiple_dll = false
8 content_app_sources = [
9   "android/app_jni_registrar.cc",
10   "android/app_jni_registrar.h",
11   "android/child_process_service.cc",
12   "android/child_process_service.h",
13   "android/content_jni_onload.cc",
14   "android/content_main.cc",
15   "android/content_main.h",
16   "android/library_loader_hooks.cc",
17   "android/library_loader_hooks.h",
18   "content_main.cc",
19   "content_main_runner.cc",
20   "mojo/mojo_init.cc",
21   "mojo/mojo_init.h",
22   "startup_helper_win.cc",
25 content_app_deps = [
26   "//base",
27   "//base:i18n",
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.
32   "//base/allocator",
33   "//content:export",
34   "//content/public/common:common_sources",
35   "//content/public/common:mojo_bindings",
36   "//crypto",
37   "//ui/base",
38   "//ui/gfx",
39   "//ui/gfx/geometry",
42 if (is_win) {
43   content_app_deps += [ "//sandbox" ]
44 } else if (is_android) {
45   content_app_sources -= [ "content_main.cc" ]
46   content_app_deps += [
47     "//content/public/android:jni",
48     "//device/vibration",
49     "//skia",
50     "//third_party/android_tools:cpu_features",
51     "//ui/android",
52   ]
55 if (is_ios) {
56   content_app_sources -= [
57     "content_main.cc",
58     "mojo/mojo_init.cc",
59     "mojo/mojo_init.h",
60   ]
61 } else {
62   content_app_deps += [
63     "//mojo/environment:chromium",
64     "//third_party/mojo/src/mojo/edk/system",
65     "//third_party/mojo/src/mojo/public/interfaces/application",
66   ]
69 content_app_extra_configs = [
70   "//build/config/compiler:wexit_time_destructors",
71   "//content:content_implementation",
74 if (!is_chrome_multiple_dll) {
75   content_app_deps += [ "//content/gpu" ]
78 # This includes the app sources for both the browser and child processes.
79 source_set("both") {
80   # Only the public target should depend on this. All other targets (even
81   # internal content ones) should depend on the public one.
82   visibility = [ "//content/public/app:*" ]
84   sources = content_app_sources
85   configs += content_app_extra_configs
86   deps = content_app_deps
89 if (is_chrome_multiple_dll) {
90   # It doesn't make sense to do the browser/child dll split in component mode.
91   assert(!is_component_build)
93   source_set("browser") {
94     visibility = [ "//content/public/app:browser" ]
96     sources = content_app_sources
97     configs += content_app_extra_configs
98     deps = content_app_deps
100     defines += [ "CHROME_MULTIPLE_DLL_BROWSER" ]
101   }
103   source_set("child") {
104     visibility = [ "//content/public/app:child" ]
106     sources = content_app_sources
107     configs += content_app_extra_configs
108     deps = content_app_deps
110     defines += [ "CHROME_MULTIPLE_DLL_CHILD" ]
111   }