blob: 39858b88c8c293bf067ac72fb88aa13749ead163 [file] [log] [blame]
# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/chrome_build.gni")
import("//build/config/chromebox_for_meetings/buildflags.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/locales.gni")
import("//build/config/ozone.gni")
import("//build/config/ui.gni")
import("//chrome/common/features.gni")
import("//crypto/features.gni")
import("//tools/grit/grit_rule.gni")
assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome")
if (is_android) {
import("//build/config/android/rules.gni")
}
# This target is for dependency tracking for the command ID header.
source_set("command_ids") {
sources = [ "chrome_command_ids.h" ]
public_deps = [
"//build:branding_buildflags",
"//services/screen_ai/buildflags",
]
deps = [ "//ui/base:constants" ]
}
# On Windows, links chrome_dll.rc. On other platforms, does nothing so you can
# unconditionally depend on it.
source_set("chrome_dll_resources") {
# This source is added unconditionally for include checking on non-Windows
# platforms.
sources = [ "chrome_dll_resource.h" ]
deps = [ ":command_ids" ]
if (is_win) {
sources += [
"chrome_dll.rc",
"etw_events/chrome_events_win.rc",
]
deps += [
"//build:branding_buildflags",
"//printing/buildflags",
]
}
}
if (is_win) {
source_set("chrome_exe_main_exports") {
sources = [ "chrome_exe_main_win.h" ]
}
source_set("exit_code_watcher") {
sources = [
"exit_code_watcher_win.cc",
"exit_code_watcher_win.h",
]
public_deps = [ "//base" ]
}
source_set("win_unit_tests") {
testonly = true
sources = [
"chrome_crash_reporter_client_win_unittest.cc",
"exit_code_watcher_win_unittest.cc",
]
deps = [
":exit_code_watcher",
"//base",
"//base/test:test_support",
"//chrome/chrome_elf:crash",
"//testing/gtest",
]
}
}
grit_strings("generated_resources") {
source = "generated_resources.grd"
defines = chrome_grit_defines + [ "is_cfm=${is_cfm}" ]
output_dir = "$root_gen_dir/chrome"
outputs = [ "grit/generated_resources.h" ]
if (is_android) {
create_android_resources = true
}
}
if (is_android) {
java_strings_grd_prebuilt("branded_resources_grd") {
generating_target = ":branded_strings"
}
java_strings_grd_prebuilt("generated_resources_grd") {
generating_target = ":generated_resources"
}
java_group("java_strings_grd") {
public_deps = [
":branded_resources_grd",
":generated_resources_grd",
]
}
}
grit_strings("branded_strings") {
source = "${branding_path_product}_strings.grd"
defines = chrome_grit_defines
output_dir = "$root_gen_dir/chrome"
outputs = [ "grit/branded_strings.h" ]
if (is_android) {
create_android_resources = true
}
}
static_library("test_support") {
testonly = true
visibility = [ "//chrome/test:test_support" ]
sources = [
"chrome_main_delegate.cc",
"chrome_main_delegate.h",
"startup_timestamps.h",
]
deps = [
"//base",
"//chrome/browser",
"//chrome/browser:buildflags",
"//chrome/browser:shell_integration",
"//chrome/browser/policy:path_parser",
"//chrome/child",
"//chrome/common",
"//chrome/common:version_header",
"//chrome/gpu",
"//chrome/renderer",
"//chrome/utility",
"//components/crash/core/app",
"//components/crash/core/app:test_support",
"//components/devtools/devtools_pipe",
"//components/memory_system",
"//components/startup_metric_utils",
"//components/variations/service",
"//components/webui/about",
"//content/public/app",
"//content/public/common",
"//extensions/buildflags",
"//printing/buildflags",
"//services/tracing/public/cpp",
"//ui/base",
"//v8:v8_headers",
]
public_deps = [ "//ui/lottie" ]
if (is_mac || is_win || is_linux || is_chromeos) {
deps += [ "//components/webapps/isolated_web_apps:scheme" ]
}
if (is_android) {
deps += [
"//chrome/browser/flags:flags_android",
"//components/crash/android:crash_android",
]
}
if (is_mac) {
sources += [ "chrome_main_mac.mm" ]
deps += [ "//chrome:chrome_framework" ]
}
if (is_win) {
deps += [
"//chrome/chrome_elf:test_stubs",
"//chrome/install_static:install_static_util",
"//sandbox/win:sandbox",
]
}
if (is_chromeos) {
deps += [
"//ash/constants",
"//chrome/browser/ash/boot_times_recorder",
"//chrome/browser/ash/dbus",
"//chrome/browser/ash/locale",
"//chrome/browser/ash/schedqos",
"//chromeos/ash/components/memory",
"//chromeos/ash/experiences/arc:arc_base_utils",
"//chromeos/dbus/constants",
]
}
if (use_ozone) {
deps += [ "//ui/ozone" ]
if (is_linux) {
deps += [ "//ui/linux:display_server_utils" ]
}
}
}