blob: f7fdde9c05bb4c4926714ef83153274eeef5784d [file] [log] [blame]
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +00001# Copyright (c) 2013 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# This is the root build file for GN. GN will start processing by loading this
6# file, and recursively load all dependencies until all dependencies are either
7# resolved or known not to exist (which will cause the build to fail). So if
8# you add a new build file, there must be some path of dependencies from this
9# file to your new one or GN won't know about it.
10
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010011import("//build/config/ui.gni")
12
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +000013# In GN, a "group" is a dummy target that just lists other targets.
14group("root") {
Torne (Richard Coles)23730a62014-03-21 14:25:57 +000015 # Note that some dependencies are commented out. These are things that are
16 # currently written but not hooked up to the build yet. They may need to be
17 # completed or possibly just tested and then re-enabled.
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +000018 deps = [
Torne (Richard Coles)23730a62014-03-21 14:25:57 +000019 # This is a temporary test of the not-yet-complete NaCl cross-compilation.
20 #"//base(//build/toolchain/nacl:x86_newlib)",
21
Bo Liu5c02ac12014-05-01 10:37:37 -070022 "//apps/common/api:apps_api",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010023 "//cc",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010024 "//chrome:resources",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010025 "//components/favicon_base",
Ben Murdoche5d81f52014-04-03 12:29:45 +010026 "//components/language_usage_metrics",
Bo Liu5c02ac12014-05-01 10:37:37 -070027 "//components/metrics",
Ben Murdoche5d81f52014-04-03 12:29:45 +010028 "//components/navigation_metrics",
29 "//components/onc",
Ben Murdoch0529e5d2014-04-24 10:50:13 +010030 "//components/os_crypt",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010031 "//components/query_parser",
Ben Murdoch0529e5d2014-04-24 10:50:13 +010032 "//components/resources:components_resources",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010033 "//components/startup_metric_utils",
34 "//components/tracing",
Bo Liu5c02ac12014-05-01 10:37:37 -070035 "//components/translate:translate_core_browser",
36 "//components/translate:translate_core_common",
Ben Murdoch0529e5d2014-04-24 10:50:13 +010037 "//components/url_matcher",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010038 "//content",
Ben Murdocha02191e2014-04-16 11:17:03 +010039 "//crypto",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010040 "//extensions/common/api:extensions_api",
Ben Murdochc5cede92014-04-10 11:22:14 +010041 "//device/usb",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010042 "//gin",
43 "//gpu",
44 "//google_apis",
Ben Murdoche5d81f52014-04-03 12:29:45 +010045 "//ipc",
Bo Liu5c02ac12014-05-01 10:37:37 -070046 "//mojo",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010047 "//mojo/common",
48 "//mojo/environment:chromium",
49 "//mojo/service_manager",
50 "//mojo/system",
Ben Murdoch0529e5d2014-04-24 10:50:13 +010051 "//net",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010052 "//pdf",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010053 "//ppapi:ppapi_c",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010054 "//printing",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010055 "//sandbox",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010056 "//sdch",
Ben Murdochc5cede92014-04-10 11:22:14 +010057 "//skia",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010058 "//sql",
59 "//third_party/angle:translator",
60 "//third_party/brotli",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010061 "//third_party/flac",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010062 "//third_party/harfbuzz-ng",
63 "//third_party/iccjpeg",
Ben Murdocha02191e2014-04-16 11:17:03 +010064 "//third_party/icu",
65 "//third_party/leveldatabase",
Ben Murdochc5cede92014-04-10 11:22:14 +010066 "//third_party/libpng",
67 "//third_party/libusb",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010068 "//third_party/libwebm",
Ben Murdoch0529e5d2014-04-24 10:50:13 +010069 "//third_party/libwebp",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010070 "//third_party/libxslt",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010071 "//third_party/libyuv",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010072 "//third_party/lzma_sdk",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010073 "//third_party/mesa",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010074 "//third_party/ots",
75 "//third_party/protobuf:protobuf_lite",
76 "//third_party/qcms",
Ben Murdochc5cede92014-04-10 11:22:14 +010077 "//third_party/re2",
78 "//third_party/smhasher:cityhash",
79 "//third_party/smhasher:murmurhash3",
80 "//third_party/smhasher:pmurhash",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010081 "//third_party/speex",
82 "//third_party/WebKit/public:blink_headers",
Bo Liu5c02ac12014-05-01 10:37:37 -070083 "//third_party/WebKit/Source/wtf",
Ben Murdochc5cede92014-04-10 11:22:14 +010084 "//third_party/zlib",
Torne (Richard Coles)010d83a2014-05-14 12:12:37 +010085 "//third_party:jpeg",
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +000086 "//tools/gn",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010087 "//ui/aura",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010088 "//ui/accessibility",
89 "//ui/base",
Ben Murdochc5cede92014-04-10 11:22:14 +010090 "//ui/events",
Ben Murdocha02191e2014-04-16 11:17:03 +010091 "//ui/gfx",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010092 "//ui/gl",
93 "//ui/native_theme",
Ben Murdoch0529e5d2014-04-24 10:50:13 +010094 "//ui/resources",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010095 "//ui/snapshot",
96 "//ui/strings",
97 "//ui/surface",
Ben Murdoche5d81f52014-04-03 12:29:45 +010098 "//url",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010099 "//v8:v8",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100100 "//webkit/browser:storage",
101 "//webkit/child",
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +0000102 ]
Ben Murdocha02191e2014-04-16 11:17:03 +0100103
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100104 if (!is_win) {
105 # TODO(brettw) re-enable once this compiles reliably.
106 #deps += [ "//breakpad:symupload" ]
107 }
108
Ben Murdocha02191e2014-04-16 11:17:03 +0100109 if (is_linux) {
110 deps += [
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100111 "//dbus",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +0100112 "//third_party/fontconfig",
Ben Murdocha02191e2014-04-16 11:17:03 +0100113 "//third_party/freetype2",
114 ]
115 }
116
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100117 if (is_win) {
118 deps += [
119 "//ui/metro_viewer",
120 ]
121 }
122
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +0100123 if (is_win || is_mac || is_chromeos) {
124 # RLZ works on these platforms.
125 deps += [
126 "//rlz:rlz_lib",
127 ]
128 }
129
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100130 if (cpu_arch == "x86" || cpu_arch == "x64") {
131 # YASM is x86/x64 only.
132 deps += [ "//third_party/yasm($host_toolchain)" ]
133 }
134
Ben Murdocha02191e2014-04-16 11:17:03 +0100135 if (is_android) {
136 deps -= [
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100137 "//cc",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100138 "//content",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +0100139 "//extensions/common/api:extensions_api",
140 "//pdf", # Not compiled on Android in GYP yet, either.
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100141 "//ppapi:ppapi_c",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +0100142 "//sandbox",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100143 "//third_party/libusb",
144
145 # Seems to not be compiled on Android. Otherwise it will need a config.h.
146 "//third_party/libxslt",
147
Ben Murdocha02191e2014-04-16 11:17:03 +0100148 "//tools/gn",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100149 "//ui/aura",
150
151 # Fails on Android for unknown reasons.
152 "//third_party/flac",
153
154 # TODO(brettw) make Blink work on Android.
155 "//third_party/WebKit/public:blink_headers",
156 "//third_party/WebKit/Source/wtf",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100157
158 # Not tested on Android yet:
159 "//webkit/browser:storage",
160 "//webkit/child",
Ben Murdocha02191e2014-04-16 11:17:03 +0100161 ]
162 }
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100163
164 if (use_ozone) {
165 deps += [
166 "//ui/events/ozone:events_ozone",
167 "//ui/events/ozone:events_ozone_evdev",
168 ]
169 }
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +0000170}