Make mojo message building and validation follow the depth-first traversal order.
[chromium-blink-merge.git] / BUILD.gn
blob6b7394d95f9a0f8f1f66f7c0983b290674ec52cc
1 # 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.
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.
11 # In GN, a "group" is a dummy target that just lists other targets.
12 group("root") {
13   # Note that some dependencies are commented out. These are things that are
14   # currently written but not hooked up to the build yet. They may need to be
15   # completed or possibly just tested and then re-enabled.
16   deps = [
17     # This is a temporary test of the not-yet-complete NaCl cross-compilation.
18     #"//base(//build/toolchain/nacl:x86_newlib)",
20     "//apps/common/api:apps_api",
21     "//cc",
22     #"//chrome",
23     "//components/favicon_base",
24     "//components/language_usage_metrics",
25     "//components/metrics",
26     "//components/navigation_metrics",
27     "//components/onc",
28     "//components/os_crypt",
29     "//components/query_parser",
30     "//components/resources:components_resources",
31     "//components/startup_metric_utils",
32     "//components/tracing",
33     "//components/translate:translate_core_browser",
34     "//components/translate:translate_core_common",
35     "//components/url_matcher",
36     #"//content/public/browser",  # Exists but doesn't build yet.
37     "//content/public/common",
38     "//content/public/renderer",
39     "//crypto",
40     "//device/usb",
41     #"//extensions/common/api:extensions_api",
42     "//gin",
43     "//gpu",
44     "//google_apis",
45     "//ipc",
46     "//mojo",
47     "//net",
48     "//ppapi:ppapi_c",
49     "//sandbox",
50     #"//sdch",
51     "//skia",
52     "//sql",
53     "//third_party/angle:translator",
54     "//third_party/brotli",
55     "//third_party/harfbuzz-ng",
56     "//third_party/iccjpeg",
57     "//third_party/icu",
58     "//third_party/leveldatabase",
59     "//third_party/libpng",
60     "//third_party/libusb",
61     "//third_party/libwebm",
62     "//third_party/libwebp",
63     "//third_party/ots",
64     "//third_party/protobuf:protobuf_lite",
65     "//third_party/qcms",
66     "//third_party/re2",
67     "//third_party/smhasher:cityhash",
68     "//third_party/smhasher:murmurhash3",
69     "//third_party/smhasher:pmurhash",
70     # TODO(brettw) re-enable once the unused variables in this .gn file are
71     # fixed and rolled into Chrome.
72     #"//third_party/WebKit/Source/platform",
73     "//third_party/WebKit/Source/wtf",
74     "//third_party/zlib",
75     "//third_party:jpeg",
76     "//tools/gn",
77     "//ui/accessibility",
78     "//ui/base",
79     "//ui/events",
80     "//ui/gfx",
81     "//ui/gl",
82     "//ui/native_theme",
83     "//ui/resources",
84     "//ui/snapshot",
85     "//ui/strings",
86     "//ui/surface",
87     "//url",
88     "//v8:mksnapshot",
89     "//webkit/browser:storage",
90     "//webkit/child",
91   ]
93   if (is_linux) {
94     deps += [
95       "//third_party/fontconfig",
96       "//third_party/freetype2",
97     ]
98   }
100   if (is_win) {
101     deps += [
102       "//ui/metro_viewer",
103     ]
104   }
106   if (is_android) {
107     deps -= [
108       "//cc",
109       "//content/public/common",
110       "//content/public/renderer",
111       "//ppapi:ppapi_c",
112       "//third_party/libusb",
113       #"//third_party/WebKit/Source/platform",
114       "//third_party/WebKit/Source/wtf",  # TODO(brettw) re-enable for Android.
115       "//tools/gn",
117       # Not tested on Android yet:
118       "//webkit/browser:storage",
119       "//webkit/child",
121       # This stuff all depends on ui/surface which requires some .class jni
122       # generators (ui/gl/gl.gyp:surface_jni_headers).
123       "//ui/gl",
124       "//gpu",
125       "//ui/snapshot",
126       "//ui/surface",
127     ]
128   }