# 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" ] } 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_client_native_pixmap_factory.cc", "common/stub_client_native_pixmap_factory.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 = [ "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", # 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 }