blob: 9ef3103b8f68c9d8d59e46939a0f1466999d1bfd [file] [log] [blame]
# Copyright 2014 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/ui.gni")
import("//ui/ozone/ozone.gni")
import("//testing/test.gni")
assert(use_ozone)
# The list of platforms that will be built.
ozone_platforms = []
# Extra dependencies to pull into ui/ozone for built platforms.
ozone_platform_deps = []
# Extra dependencies to pull into ozone_unittests for built platforms.
ozone_platform_test_deps = []
if (ozone_platform_egltest) {
ozone_platforms += [ "egltest" ]
ozone_platform_deps += [ "platform/egltest" ]
}
if (ozone_platform_headless) {
ozone_platforms += [ "headless" ]
ozone_platform_deps += [ "platform/headless" ]
}
if (ozone_platform_caca) {
ozone_platforms += [ "caca" ]
ozone_platform_deps += [ "platform/caca" ]
}
if (ozone_platform_gbm) {
ozone_platforms += [ "gbm" ]
ozone_platform_deps += [ "platform/drm:gbm" ]
ozone_platform_test_deps += [ "platform/drm:gbm_unittests" ]
}
if (ozone_platform_cast) {
ozone_platforms += [ "cast" ]
ozone_platform_deps += [ "platform/cast" ]
}
if (ozone_platform_wayland) {
ozone_platforms += [ "wayland" ]
ozone_platform_deps += [ "platform/wayland" ]
}
platform_list_cc_file = "$target_gen_dir/platform_list.cc"
platform_list_h_file = "$target_gen_dir/platform_list.h"
platform_list_txt_file = "$target_gen_dir/platform_list.txt"
constructor_list_cc_file = "$target_gen_dir/constructor_list.cc"
config("vgem_map") {
if (use_vgem_map) {
defines = [ "USE_VGEM_MAP" ]
}
}
# GYP version: ui/ozone/ozone.gyp:ozone_base
component("ozone_base") {
sources = [
"common/display_mode_proxy.cc",
"common/display_mode_proxy.h",
"common/display_snapshot_proxy.cc",
"common/display_snapshot_proxy.h",
"common/display_util.cc",
"common/display_util.h",
"common/egl_util.cc",
"common/egl_util.h",
"common/gpu/ozone_gpu_message_generator.cc",
"common/gpu/ozone_gpu_message_generator.h",
"common/gpu/ozone_gpu_message_params.cc",
"common/gpu/ozone_gpu_message_params.h",
"common/gpu/ozone_gpu_messages.h",
"common/native_display_delegate_ozone.cc",
"common/native_display_delegate_ozone.h",
"common/stub_overlay_manager.cc",
"common/stub_overlay_manager.h",
"public/cursor_factory_ozone.cc",
"public/cursor_factory_ozone.h",
"public/gpu_platform_support.cc",
"public/gpu_platform_support.h",
"public/gpu_platform_support_host.cc",
"public/gpu_platform_support_host.h",
"public/input_controller.cc",
"public/input_controller.h",
"public/overlay_candidates_ozone.cc",
"public/overlay_candidates_ozone.h",
"public/overlay_manager_ozone.h",
"public/ozone_switches.cc",
"public/ozone_switches.h",
"public/surface_factory_ozone.cc",
"public/surface_factory_ozone.h",
"public/surface_ozone_canvas.h",
"public/surface_ozone_egl.cc",
"public/surface_ozone_egl.h",
"public/system_input_injector.h",
]
defines = [ "OZONE_BASE_IMPLEMENTATION" ]
deps = [
"//base",
"//ipc",
"//skia",
"//ui/display/types",
"//ui/display/util",
"//ui/events",
"//ui/events:dom_keycode_converter",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/gfx/ipc",
]
}
component("ozone") {
sources = [
"common/stub_client_native_pixmap_factory.cc",
"common/stub_client_native_pixmap_factory.h",
"platform_selection.cc",
"platform_selection.h",
"public/client_native_pixmap_factory.cc",
"public/client_native_pixmap_factory.h",
"public/ozone_gpu_test_helper.cc",
"public/ozone_gpu_test_helper.h",
"public/ozone_platform.cc",
"public/ozone_platform.h",
constructor_list_cc_file,
platform_list_cc_file,
platform_list_h_file,
]
defines = [ "OZONE_IMPLEMENTATION" ]
public_deps = [
":ozone_base",
]
deps =
[
":generate_constructor_list",
":generate_ozone_platform_list",
"//base",
"//ipc",
"//skia",
"//ui/display/types",
"//ui/display/util",
"//ui/events",
"//ui/events/devices",
"//ui/events/ozone:events_ozone",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/gfx/ipc",
"//ui/platform_window",
# TODO(GYP) the GYP version has a way to add additional dependencies via
# build flags.
] + ozone_platform_deps
}
# GYP version: ui/ozone/ozone.gyp:generate_ozone_platform_list
action("generate_ozone_platform_list") {
script = "generate_ozone_platform_list.py"
outputs = [
platform_list_cc_file,
platform_list_h_file,
platform_list_txt_file,
]
args =
[
"--output_cc=" + rebase_path(platform_list_cc_file, root_build_dir),
"--output_h=" + rebase_path(platform_list_h_file, root_build_dir),
"--output_txt=" + rebase_path(platform_list_txt_file, root_build_dir),
"--default=$ozone_platform",
] + ozone_platforms
}
# GYP version: ui/ozone/ozone.gyp:generate_constructor_list
action("generate_constructor_list") {
script = "generate_constructor_list.py"
inputs = [
platform_list_txt_file,
]
outputs = [
constructor_list_cc_file,
]
args = [
"--platform_list=" + rebase_path(platform_list_txt_file, root_build_dir),
"--output_cc=" + rebase_path(constructor_list_cc_file, root_build_dir),
"--namespace=ui",
"--typename=OzonePlatform",
"--typename=ClientNativePixmapFactory",
"--include=\"ui/ozone/public/ozone_platform.h\"",
"--include=\"ui/ozone/public/client_native_pixmap_factory.h\"",
]
deps = [
":generate_ozone_platform_list",
]
}
test("ozone_unittests") {
sources = [
"run_all_unittests.cc",
]
deps = [
"//base/test:test_support",
"//testing/gtest",
"//ui/gfx/geometry",
] + ozone_platform_test_deps
}