summaryrefslogtreecommitdiffstats
path: root/chromium/BUILD.gn
blob: 4308624eddf328edad5d16162e7d20cc9a2e2565 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# Copyright (c) 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This is the root build file for GN. GN will start processing by loading this
# file, and recursively load all dependencies until all dependencies are either
# resolved or known not to exist (which will cause the build to fail). So if
# you add a new build file, there must be some path of dependencies from this
# file to your new one or GN won't know about it.

import("//build/config/ui.gni")

# In GN, a "group" is a dummy target that just lists other targets.
group("root") {
  # Note that some dependencies are commented out. These are things that are
  # currently written but not hooked up to the build yet. They may need to be
  # completed or possibly just tested and then re-enabled.
  deps = [
    # This is a temporary test of the not-yet-complete NaCl cross-compilation.
    #"//base(//build/toolchain/nacl:x86_newlib)",

    "//apps/common/api:apps_api",
    "//cc",
    "//chrome/common",
    "//components:all_components",
    "//content",
    "//crypto",
    "//extensions/common/api:extensions_api",
    "//device/usb",
    "//gin",
    "//gpu",
    "//google_apis",
    "//ipc",
    "//mojo",
    "//mojo/common",
    "//mojo/environment:chromium",
    "//mojo/service_manager",
    "//mojo/system",
    "//net",
    "//pdf",
    "//ppapi:ppapi_c",
    "//printing",
    "//sandbox",
    "//sdch",
    "//skia",
    "//sql",
    "//third_party/angle:translator",
    "//third_party/brotli",
    "//third_party/ffmpeg",
    "//third_party/flac",
    "//third_party/harfbuzz-ng",
    "//third_party/iccjpeg",
    "//third_party/icu",
    "//third_party/leveldatabase",
    "//third_party/libpng",
    "//third_party/libusb",
    "//third_party/libwebm",
    "//third_party/libwebp",
    "//third_party/libxslt",
    "//third_party/libyuv",
    "//third_party/lzma_sdk",
    "//third_party/mesa",
    "//third_party/ots",
    "//third_party/protobuf:protobuf_lite",
    "//third_party/qcms",
    "//third_party/re2",
    "//third_party/smhasher:cityhash",
    "//third_party/smhasher:murmurhash3",
    "//third_party/smhasher:pmurhash",
    "//third_party/speex",
    "//third_party/WebKit/public:all_blink",
    "//third_party/widevine/cdm:version_h",
    "//third_party/zlib",
    "//third_party:jpeg",
    "//tools/gn",
    "//ui/aura",
    "//ui/accessibility",
    "//ui/base",
    "//ui/events",
    "//ui/gfx",
    "//ui/gl",
    "//ui/native_theme",
    "//ui/resources",
    "//ui/snapshot",
    "//ui/strings",
    "//ui/surface",
    "//url",
    "//v8:v8",
    "//webkit/browser:storage",
    "//webkit/child",
  ]

  if (!is_win) {
    deps += [ "//breakpad:symupload" ]
  }

  if (is_linux) {
    deps += [
      "//dbus",
      "//third_party/fontconfig",
      "//third_party/freetype2",
    ]
  }

  if (is_win) {
    deps += [
      "//ui/metro_viewer",
    ]
  }

  if (is_win || is_mac || is_chromeos) {
    # RLZ works on these platforms.
    deps += [
      "//rlz:rlz_lib",
    ]
  }

  if (cpu_arch == "x86" || cpu_arch == "x64") {
    # YASM is x86/x64 only.
    deps += [ "//third_party/yasm($host_toolchain)" ]
  }

  if (is_android) {
    deps -= [
      "//cc",
      "//chrome/common",  # Blocked on content.
      "//content",
      "//extensions/common/api:extensions_api",
      "//pdf",  # Not compiled on Android in GYP yet, either.
      "//ppapi:ppapi_c",
      "//sandbox",
      "//third_party/libusb",

      # Seems to not be compiled on Android. Otherwise it will need a config.h.
      "//third_party/libxslt",

      "//tools/gn",
      "//ui/aura",

      # Fails on Android for unknown reasons.
      "//third_party/flac",
      "//breakpad:symupload",

      # TODO(brettw) make Blink work on Android.
      "//third_party/WebKit/public:all_blink",

      # Not tested on Android yet:
      "//third_party/ffmpeg",
      "//webkit/browser:storage",
      "//webkit/child",
    ]
  }

  if (use_ozone) {
    deps += [
      "//ui/events/ozone:events_ozone",
      "//ui/events/ozone:events_ozone_evdev",
    ]
  }
}