• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
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
11import("//build/config/ui.gni")
12
13# In GN, a "group" is a dummy target that just lists other targets.
14group("root") {
15  # 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.
18  deps = [
19    # This is a temporary test of the not-yet-complete NaCl cross-compilation.
20    #"//base(//build/toolchain/nacl:x86_newlib)",
21
22    "//apps/common/api:apps_api",
23    "//cc",
24    "//chrome/common",
25    "//components:all_components",
26    "//content",
27    "//crypto",
28    "//extensions/common/api:extensions_api",
29    "//device/usb",
30    "//gin",
31    "//gpu",
32    "//google_apis",
33    "//ipc",
34    "//mojo",
35    "//mojo/common",
36    "//mojo/environment:chromium",
37    "//mojo/service_manager",
38    "//mojo/system",
39    "//net",
40    "//pdf",
41    "//ppapi:ppapi_c",
42    "//printing",
43    "//sandbox",
44    "//sdch",
45    "//skia",
46    "//sql",
47    "//third_party/angle:translator",
48    "//third_party/brotli",
49    "//third_party/ffmpeg",
50    "//third_party/flac",
51    "//third_party/harfbuzz-ng",
52    "//third_party/iccjpeg",
53    "//third_party/icu",
54    "//third_party/leveldatabase",
55    "//third_party/libpng",
56    "//third_party/libusb",
57    "//third_party/libwebm",
58    "//third_party/libwebp",
59    "//third_party/libxslt",
60    "//third_party/libyuv",
61    "//third_party/lzma_sdk",
62    "//third_party/mesa",
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    "//third_party/speex",
71    "//third_party/WebKit/public:all_blink",
72    "//third_party/widevine/cdm:version_h",
73    "//third_party/zlib",
74    "//third_party:jpeg",
75    "//tools/gn",
76    "//ui/aura",
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:v8",
89    "//webkit/browser:storage",
90    "//webkit/child",
91  ]
92
93  if (!is_win) {
94    deps += [ "//breakpad:symupload" ]
95  }
96
97  if (is_linux) {
98    deps += [
99      "//dbus",
100      "//third_party/fontconfig",
101      "//third_party/freetype2",
102    ]
103  }
104
105  if (is_win) {
106    deps += [
107      "//ui/metro_viewer",
108    ]
109  }
110
111  if (is_win || is_mac || is_chromeos) {
112    # RLZ works on these platforms.
113    deps += [
114      "//rlz:rlz_lib",
115    ]
116  }
117
118  if (cpu_arch == "x86" || cpu_arch == "x64") {
119    # YASM is x86/x64 only.
120    deps += [ "//third_party/yasm($host_toolchain)" ]
121  }
122
123  if (is_android) {
124    deps -= [
125      "//cc",
126      "//chrome/common",  # Blocked on content.
127      "//content",
128      "//extensions/common/api:extensions_api",
129      "//pdf",  # Not compiled on Android in GYP yet, either.
130      "//ppapi:ppapi_c",
131      "//sandbox",
132      "//third_party/libusb",
133
134      # Seems to not be compiled on Android. Otherwise it will need a config.h.
135      "//third_party/libxslt",
136
137      "//tools/gn",
138      "//ui/aura",
139
140      # Fails on Android for unknown reasons.
141      "//third_party/flac",
142      "//breakpad:symupload",
143
144      # TODO(brettw) make Blink work on Android.
145      "//third_party/WebKit/public:all_blink",
146
147      # Not tested on Android yet:
148      "//third_party/ffmpeg",
149      "//webkit/browser:storage",
150      "//webkit/child",
151    ]
152  }
153
154  if (use_ozone) {
155    deps += [
156      "//ui/events/ozone:events_ozone",
157      "//ui/events/ozone:events_ozone_evdev",
158    ]
159  }
160}
161