blob: fd632004a2488810fb7a2c207e71da314e5264b7 [file] [log] [blame]
# Copyright 2019 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.
import("//build/config/features.gni")
import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/ui.gni")
import("//build/config/win/console_app.gni")
import("//build/config/win/manifest.gni")
import("//gpu/vulkan/features.gni")
import("//media/media_options.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//tools/grit/grit_rule.gni")
import("//tools/grit/repack.gni")
import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
if (is_android) {
import("//build/config/android/config.gni")
} else if (is_mac) {
import("//build/config/mac/rules.gni")
import("//build/mac/tweak_info_plist.gni")
import("//content/public/app/mac_helpers.gni")
import("//third_party/icu/config.gni")
import("//ui/gl/features.gni")
import("//v8/gni/v8.gni")
}
source_set("android_descriptors") {
sources = [
"browser/android_descriptors.h",
]
public_deps = [
"//content/public/common:content_descriptors",
]
}
jumbo_static_library("weblayer_lib") {
sources = [
"app/content_main_delegate_impl.cc",
"app/content_main_delegate_impl.h",
"app/main.cc",
"browser/browser_controller_impl.cc",
"browser/browser_controller_impl.h",
"browser/browser_main_parts_impl.cc",
"browser/browser_main_parts_impl.h",
"browser/content_browser_client_impl.cc",
"browser/content_browser_client_impl.h",
"browser/navigation_controller_impl.cc",
"browser/navigation_controller_impl.h",
"browser/navigation_impl.cc",
"browser/navigation_impl.h",
"browser/profile_impl.cc",
"browser/profile_impl.h",
"common/content_client_impl.cc",
"common/content_client_impl.h",
"public/browser_controller.h",
"public/browser_observer.h",
"public/main.h",
"public/navigation.h",
"public/navigation_controller.h",
"public/navigation_observer.h",
"public/profile.h",
]
configs += [
"//build/config:precompiled_headers",
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
"//build/config/compiler:no_size_t_to_int_warning",
]
public_deps = [
":android_descriptors",
]
deps = [
"//base",
"//base:base_static",
"//base/third_party/dynamic_annotations",
"//cc",
"//content:resources",
"//content/app/resources",
"//content/app/strings",
"//content/public/app:both",
"//content/public/child:child",
"//content/public/common",
"//content/public/common:service_names",
"//net",
"//net:net_resources",
"//sandbox",
"//skia",
"//third_party/icu",
"//ui/base",
"//ui/base/clipboard",
"//ui/base/ime/init",
"//ui/display",
"//ui/events:events_base",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/gfx/ipc",
"//ui/gfx/ipc/geometry",
"//ui/gfx/ipc/skia",
"//ui/gl",
"//ui/platform_window",
"//url",
"//v8",
]
if (enable_vulkan) {
deps += [ "//gpu/vulkan/init" ]
}
if (mojo_media_host == "browser") {
deps += [
"//media/mojo/mojom:constants",
"//media/mojo/services",
]
}
if (is_win) {
deps += [ "//content:sandbox_helper_win" ]
if (win_console_app) {
defines = [ "WIN_CONSOLE_APP" ]
}
}
if (is_linux) {
deps += [
"//build/config/freetype",
"//third_party/fontconfig",
]
}
if (is_android) {
deps += [
"//components/embedder_support/android:view",
"//ui/android",
"//weblayer/browser/java:jni",
]
sources += [
"browser/browser_observer_proxy.cc",
"browser/browser_observer_proxy.h",
]
}
if (toolkit_views) {
deps += [ "//ui/views" ]
}
if (use_aura) {
deps += [
"//ui/aura",
"//ui/events",
"//ui/strings",
"//ui/wm",
]
}
}
# TODO(jam): move weblayer_shell_resources_grit and copy_shell_resources here in
# a way that's shareable?
if (is_android) {
shared_library("libweblayer") {
sources = [
"app/jni_onload.cc",
]
deps = [
":weblayer_lib",
"//base",
"//content/public/app:both",
]
configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
configs += [ "//build/config/android:hide_all_but_jni" ]
}
}