# Copyright 2013 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. { 'variables': { 'chromium_code': 1, 'external_ozone_platforms': [], 'external_ozone_platform_files': [], 'external_ozone_platform_deps': [], 'external_ozone_platform_unittest_deps': [], 'internal_ozone_platforms': [], 'internal_ozone_platform_deps': [], 'internal_ozone_platform_unittest_deps': [], }, 'targets': [ { # GN version: //ui/ozone:ozone_base 'target_name': 'ozone_base', 'type': '<(component)', 'dependencies': [ '<(DEPTH)/base/base.gyp:base', '<(DEPTH)/skia/skia.gyp:skia', '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry', ], 'defines': [ 'OZONE_BASE_IMPLEMENTATION', ], '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/native_pixmap.h', 'public/overlay_candidates_ozone.cc', 'public/overlay_candidates_ozone.h', 'public/surface_factory_ozone.cc', 'public/surface_factory_ozone.h', 'public/surface_ozone_canvas.h', 'public/surface_ozone_egl.h', ], }, { # GN version: //ui/ozone 'target_name': 'ozone', 'type': '<(component)', 'dependencies': [ '<(DEPTH)/base/base.gyp:base', '<(DEPTH)/ipc/ipc.gyp:ipc', '<(DEPTH)/skia/skia.gyp:skia', '<(DEPTH)/ui/events/events.gyp:events', '<(DEPTH)/ui/events/ozone/events_ozone.gyp:events_ozone', '<(DEPTH)/ui/gfx/gfx.gyp:gfx', '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry', '<(DEPTH)/ui/gfx/ipc/gfx_ipc.gyp:gfx_ipc', '<@(external_ozone_platform_deps)', '<@(internal_ozone_platform_deps)', 'ozone_base', ], 'defines': [ 'OZONE_IMPLEMENTATION', ], 'variables': { 'platform_list_cc_file': '<(INTERMEDIATE_DIR)/ui/ozone/platform_list.cc', 'platform_list_h_file': '<(SHARED_INTERMEDIATE_DIR)/ui/ozone/platform_list.h', 'platform_list_txt_file': '<(SHARED_INTERMEDIATE_DIR)/ui/ozone/platform_list.txt', 'constructor_list_cc_file': '<(INTERMEDIATE_DIR)/ui/ozone/constructor_list.cc', 'ozone_platforms': [ '<@(external_ozone_platforms)', '<@(internal_ozone_platforms)', ], }, 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)', ], 'sources': [ '<(platform_list_cc_file)', '<(platform_list_h_file)', '<(constructor_list_cc_file)', # common/chromeos files are excluded automatically when building with # chromeos=0, by exclusion rules in filename_rules.gypi due to the # 'chromeos' folder name. 'common/chromeos/display_mode_proxy.cc', 'common/chromeos/display_mode_proxy.h', 'common/chromeos/display_snapshot_proxy.cc', 'common/chromeos/display_snapshot_proxy.h', 'common/chromeos/display_util.cc', 'common/chromeos/display_util.h', 'common/chromeos/native_display_delegate_ozone.cc', 'common/chromeos/native_display_delegate_ozone.h', 'common/chromeos/touchscreen_device_manager_ozone.cc', 'common/chromeos/touchscreen_device_manager_ozone.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', 'public/ozone_platform.cc', 'public/ozone_platform.h', 'public/ozone_switches.cc', 'public/ozone_switches.h', 'platform_selection.cc', 'platform_selection.h', '<@(external_ozone_platform_files)', ], 'actions': [ { # GN version: //ui/ozone:generate_ozone_platform_list 'action_name': 'generate_ozone_platform_list', 'variables': { 'generator_path': 'generate_ozone_platform_list.py', }, 'inputs': [ '<(generator_path)', ], 'outputs': [ '<(platform_list_cc_file)', '<(platform_list_h_file)', '<(platform_list_txt_file)', ], 'action': [ 'python', '<(generator_path)', '--output_cc=<(platform_list_cc_file)', '--output_h=<(platform_list_h_file)', '--output_txt=<(platform_list_txt_file)', '--default=<(ozone_platform)', '<@(ozone_platforms)', ], }, { # GN version: //ui/ozone:generate_constructor_list 'action_name': 'generate_constructor_list', 'variables': { 'generator_path': 'generate_constructor_list.py', }, 'inputs': [ '<(generator_path)', '<(platform_list_txt_file)', ], 'outputs': [ '<(constructor_list_cc_file)', ], 'action': [ 'python', '<(generator_path)', '--platform_list=<(platform_list_txt_file)', '--output_cc=<(constructor_list_cc_file)', '--namespace=ui', '--typename=OzonePlatform', '--include="ui/ozone/public/ozone_platform.h"' ], }, ], 'conditions': [ ['use_udev == 0', { 'sources/': [ ['exclude', '_udev\\.(h|cc)$'], ], }], ['chromeos==1', { 'dependencies': [ '<(DEPTH)/ui/display/display.gyp:display_types', ], }], ], }, { 'target_name': 'ozone_unittests', 'type': '<(gtest_target_type)', 'sources': [ 'run_all_unittests.cc', ], 'dependencies': [ 'ozone_base', '../../base/base.gyp:base', '../../base/base.gyp:test_support_base', '../../testing/gtest.gyp:gtest', '<@(external_ozone_platform_unittest_deps)', '<@(internal_ozone_platform_unittest_deps)', ], }, ], 'conditions': [ ['<(ozone_platform_caca) == 1', { 'includes': [ 'platform/caca/caca.gypi', ], }], ['<(ozone_platform_dri) == 1 or <(ozone_platform_gbm) == 1', { 'includes': [ 'platform/dri/dri.gypi', ], }], ['<(ozone_platform_egltest) == 1', { 'includes': [ 'platform/egltest/egltest.gypi', ], }], ['<(ozone_platform_gbm) == 1', { 'includes': [ 'platform/dri/gbm.gypi', ], }], ['<(ozone_platform_test) == 1', { 'includes': [ 'platform/test/test.gypi', ], }], ], }