| # 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("//ui/ozone/ozone.gni") |
| import("//testing/test.gni") |
| |
| # 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_test) { |
| ozone_platforms += [ "test" ] |
| ozone_platform_deps += [ "platform/test" ] |
| } |
| |
| if (ozone_platform_caca) { |
| ozone_platforms += [ "caca" ] |
| ozone_platform_deps += [ "platform/caca" ] |
| } |
| |
| if (ozone_platform_dri || ozone_platform_drm) { |
| ozone_platforms += [ |
| "dri", |
| "drm", |
| ] |
| ozone_platform_deps += [ |
| "platform/drm", |
| "platform/drm:drm_common", |
| ] |
| ozone_platform_test_deps += [ "platform/drm:drm_unittests" ] |
| } |
| |
| if (ozone_platform_gbm) { |
| ozone_platforms += [ "gbm" ] |
| ozone_platform_deps += [ |
| "platform/drm:drm_common", |
| "platform/drm:gbm", |
| ] |
| ozone_platform_test_deps += [ "platform/drm:drm_unittests" ] |
| } |
| |
| 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" |
| |
| # GYP version: ui/ozone/ozone.gyp:ozone_base |
| component("ozone_base") { |
| sources = [ |
| "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/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", |
| "//skia", |
| "//ui/events:events_base", |
| "//ui/events:dom_keycode_converter", |
| "//ui/gfx/geometry", |
| "//ui/gfx", |
| ] |
| } |
| |
| source_set("ozone_common_message_types") { |
| sources = [ |
| "common/gpu/ozone_gpu_message_params.cc", |
| "common/gpu/ozone_gpu_message_params.h", |
| ] |
| deps = [ |
| ":ozone_base", |
| "//ui/display/types", |
| "//ui/gfx/geometry", |
| ] |
| } |
| |
| component("ozone") { |
| 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/native_display_delegate_ozone.cc", |
| "common/native_display_delegate_ozone.h", |
| "common/stub_overlay_manager.cc", |
| "common/stub_overlay_manager.h", |
| "platform_selection.cc", |
| "platform_selection.h", |
| "public/ozone_platform.cc", |
| "public/ozone_platform.h", |
| "public/ozone_switches.cc", |
| "public/ozone_switches.h", |
| constructor_list_cc_file, |
| platform_list_cc_file, |
| platform_list_h_file, |
| ] |
| |
| defines = [ "OZONE_IMPLEMENTATION" ] |
| |
| deps = |
| [ |
| ":generate_constructor_list", |
| ":generate_ozone_platform_list", |
| ":ozone_base", |
| ":ozone_common_message_types", |
| "//base", |
| "//skia", |
| "//ui/display/types", |
| "//ui/display/util", |
| "//ui/events", |
| "//ui/events/devices", |
| "//ui/events/ozone:events_ozone", |
| "//ui/gfx", |
| |
| # TODO(GYP) the GYP version has a way to add additional dependencies via |
| # build flags. |
| ] + ozone_platform_deps |
| |
| allow_circular_includes_from = [ |
| "platform/drm:drm_common", |
| "platform/drm:gbm", |
| "//ui/events/ozone:events_ozone", |
| ] |
| } |
| |
| # 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", |
| "--include=\"ui/ozone/public/ozone_platform.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 |
| } |