blob: cda661f3d16a4538264c6168dea353db1a4551b4 [file] [log] [blame]
# 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,
# Normally, the external_ozone_platform* variables below can be
# overridden by supplement.gypi which must exist exactly one level
# below the top-level src directory. They can now also be set in
# $GYP_DEFINES
'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': [],
# This enables memory-mapped access to accelerated graphics buffers via
# the VGEM ("virtual GEM") driver. This is currently only available on
# Chrome OS kernels and affects code in the GBM ozone platform.
# TODO(dshwang): remove this flag when all gbm hardware supports vgem map.
# crbug.com/519587
'use_vgem_map%': 0,
},
'targets': [
{
# GN version: //ui/ozone:ozone_base
'target_name': 'ozone_base',
'type': '<(component)',
'dependencies': [
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/ipc/ipc.gyp:ipc',
'<(DEPTH)/skia/skia.gyp:skia',
'<(DEPTH)/ui/display/display.gyp:display_types',
'<(DEPTH)/ui/display/display.gyp:display_util',
'<(DEPTH)/ui/gl/gl.gyp:gl',
'<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
'<(DEPTH)/ui/gfx/ipc/geometry/gfx_ipc_geometry.gyp:gfx_ipc_geometry',
'<(DEPTH)/ui/gfx/ipc/gfx_ipc.gyp:gfx_ipc',
'<(DEPTH)/ui/gfx/ipc/skia/gfx_ipc_skia.gyp:gfx_ipc_skia',
],
'defines': [
'OZONE_BASE_IMPLEMENTATION',
],
'sources': [
'public/client_native_pixmap.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/native_pixmap.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',
],
},
{
# GN version: //ui/ozone/common
'target_name': 'ozone_common',
'type': 'static_library',
'dependencies': [
'ozone_base',
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/ipc/ipc.gyp:ipc',
'<(DEPTH)/skia/skia.gyp:skia',
'<(DEPTH)/ui/display/display.gyp:display_types',
'<(DEPTH)/ui/display/display.gyp:display_util',
'<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
'<(DEPTH)/ui/gfx/ipc/geometry/gfx_ipc_geometry.gyp:gfx_ipc_geometry',
'<(DEPTH)/ui/gfx/ipc/skia/gfx_ipc_skia.gyp:gfx_ipc_skia',
],
'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',
],
},
{
# GN version: //ui/ozone:platform
'target_name': 'ozone_platform',
'type': 'static_library',
'dependencies': [
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/ipc/ipc.gyp:ipc',
'<(DEPTH)/skia/skia.gyp:skia',
'<(DEPTH)/ui/display/display.gyp:display_types',
'<(DEPTH)/ui/display/display.gyp:display_util',
'<(DEPTH)/ui/events/events.gyp:events',
'<(DEPTH)/ui/events/devices/events_devices.gyp:events_devices',
'<(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',
'<(DEPTH)/ui/gfx/ipc/skia/gfx_ipc_skia.gyp:gfx_ipc_skia',
'<@(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/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',
'<@(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',
'--typename=ClientNativePixmapFactory',
'--include="ui/ozone/public/ozone_platform.h"',
'--include="ui/ozone/public/client_native_pixmap_factory.h"'
],
},
],
'conditions': [
['use_udev == 0', {
'sources/': [
['exclude', '_udev\\.(h|cc)$'],
],
}],
],
},
{
# GN version: //ui/ozone
'target_name': 'ozone',
'type': '<(component)',
'sources': [
'empty.cc',
],
'dependencies': [
'ozone_platform',
],
},
{
'target_name': 'ozone_unittests',
'type': '<(gtest_target_type)',
'sources': [
'run_all_unittests.cc',
],
'dependencies': [
'../../base/base.gyp:base',
'../../base/base.gyp:test_support_base',
'../../testing/gtest.gyp:gtest',
'../gfx/gfx.gyp:gfx_geometry',
'<@(external_ozone_platform_unittest_deps)',
'<@(internal_ozone_platform_unittest_deps)',
],
},
{
'target_name': 'vgem_map',
'type': 'none',
'conditions': [
['use_vgem_map==1', {
'direct_dependent_settings': {
'defines': [
'USE_VGEM_MAP',
],
},
}],
],
},
],
'conditions': [
['<(ozone_platform_caca) == 1', {
'includes': [
'platform/caca/caca.gypi',
],
}],
['<(ozone_platform_cast) == 1', {
'includes': [
'platform/cast/cast.gypi',
],
}],
['<(ozone_platform_gbm) == 1', {
'includes': [
'platform/drm/gbm.gypi',
],
}],
['<(ozone_platform_headless) == 1', {
'includes': [
'platform/headless/headless.gypi',
],
}],
['<(ozone_platform_wayland) == 1', {
'includes': [
'platform/wayland/wayland.gypi',
],
}],
],
}