blob: 4d55a65d7089541d25d7b52ce78ab17289890ac5 [file] [log] [blame]
# 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)",
"//ash",
"//cc",
"//chrome/browser",
"//chrome/browser/devtools",
"//chrome/browser/ui",
"//chrome/browser/ui/views",
"//chrome/common",
"//chrome/plugin",
"//chrome/renderer",
"//chrome/service",
"//chrome/utility",
"//components:all_components",
"//content",
"//crypto",
"//device/bluetooth",
"//device/nfc",
"//device/usb",
"//extensions/common/api",
"//gin",
"//gpu",
"//google_apis",
"//google_apis/gcm",
"//ipc",
"//media",
"//mojo",
"//mojo/common",
"//mojo/environment:chromium",
"//mojo/service_manager",
"//mojo/system",
"//net",
"//pdf",
"//ppapi:ppapi_c",
"//printing",
"//sandbox",
"//sdch",
"//skia",
"//sql",
"//third_party/WebKit/public:all_blink",
"//third_party/angle:translator",
"//third_party/brotli",
"//third_party/cacheinvalidation",
"//third_party/cld",
"//third_party/cld_2",
"//third_party/ffmpeg",
"//third_party/flac",
"//third_party/harfbuzz-ng",
"//third_party/hunspell",
"//third_party/iccjpeg",
"//third_party/icu",
"//third_party/leveldatabase",
"//third_party/libaddressinput",
"//third_party/libphonenumber",
"//third_party/libpng",
"//third_party/libsrtp",
"//third_party/libusb",
"//third_party/libwebm",
"//third_party/libwebp",
"//third_party/libxslt",
"//third_party/libyuv",
"//third_party/lzma_sdk",
"//third_party/mesa",
"//third_party/opus",
"//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/snappy",
"//third_party/speex",
"//third_party/widevine/cdm:version_h",
"//third_party/zlib",
"//third_party:jpeg",
"//tools/gn",
"//ui/app_list",
"//ui/aura",
"//ui/accessibility",
"//ui/base",
"//ui/display",
"//ui/events",
"//ui/gfx",
"//ui/gl",
"//ui/keyboard",
"//ui/native_theme",
"//ui/resources",
"//ui/snapshot",
"//ui/strings",
"//ui/surface",
"//ui/views",
"//ui/views/controls/webview",
"//ui/web_dialogs",
"//ui/wm",
"//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 += [
"//ui/android:ui_java"
]
deps -= [
"//cc",
"//chrome/browser", # Blocked on content.
"//chrome/browser/devtools", # Blocked on content.
"//chrome/browser/ui", # Blocked on content.
"//chrome/browser/ui/views", # Blocked on content.
"//chrome/common", # Blocked on content.
"//chrome/plugin", # Blocked on content.
"//chrome/renderer", # Blocked on content.
"//chrome/service", # Blocked on content.
"//chrome/utility", # Blocked on content.
"//content",
"//extensions/common/api",
"//pdf", # Not compiled on Android in GYP yet, either.
"//ppapi:ppapi_c",
"//sandbox",
"//third_party/libusb",
"//ui/keyboard", # Blocked on content.
# Seems to not be compiled on Android. Otherwise it will need a config.h.
"//third_party/libxslt",
# Not relevant to Android.
"//ash",
"//tools/gn",
"//ui/aura",
"//ui/display",
"//ui/views",
"//ui/views/controls/webview",
# 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:
"//google_apis/gcm",
"//third_party/cld_2",
"//third_party/libaddressinput",
"//third_party/ffmpeg",
"//ui/app_list",
"//ui/web_dialogs",
"//ui/wm",
"//webkit/browser:storage",
"//webkit/child",
]
}
if (use_ozone) {
deps += [
"//ui/events/ozone:events_ozone",
"//ui/events/ozone:events_ozone_evdev",
]
}
}