| # 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/chromecast_build.gni") |
| import("//build/config/ui.gni") |
| |
| declare_args() { |
| # Select platforms automatically. Turn this off for manual control. |
| ozone_auto_platforms = use_ozone |
| } |
| |
| declare_args() { |
| # The platform that will used at runtime by default. This can be overridden |
| # with the command line flag --ozone-platform=<platform>. |
| ozone_platform = "" |
| |
| # Compile the 'cast' platform. |
| ozone_platform_cast = false |
| |
| # Compile the 'gbm' platform. |
| ozone_platform_gbm = false |
| |
| # Compile the 'headless' platform. |
| ozone_platform_headless = false |
| |
| # Compile the 'x11' platform. |
| ozone_platform_x11 = false |
| |
| # Compile the 'wayland' platform. |
| ozone_platform_wayland = false |
| |
| if (ozone_auto_platforms) { |
| # Use headless as the default platform unless modified below. |
| ozone_platform = "headless" |
| ozone_platform_headless = true |
| |
| if (is_cast_audio_only) { |
| # Just use headless for audio-only Cast platforms. |
| } else if (is_chromecast) { |
| # Enable the Cast ozone platform on all A/V Cast builds. |
| ozone_platform_cast = true |
| |
| # For visual desktop Chromecast builds, override the default "headless" |
| # platform with --ozone-platform=x11. |
| # TODO(halliwell): Create a libcast_graphics implementation for desktop |
| # using X11, and disable this platform. |
| if (is_cast_desktop_build && !is_cast_audio_only) { |
| ozone_platform_x11 = true |
| } else { |
| ozone_platform = "cast" |
| } |
| } else if (is_chromeos) { |
| ozone_platform = "x11" |
| ozone_platform_gbm = true |
| ozone_platform_x11 = true |
| ozone_platform_wayland = true |
| } else if (is_desktop_linux) { |
| ozone_platform = "x11" |
| ozone_platform_wayland = true |
| ozone_platform_x11 = true |
| } |
| } |
| } |
| |
| assert(use_ozone || !(ozone_platform_cast || ozone_platform_gbm || |
| ozone_platform_headless || ozone_platform_x11 || |
| ozone_platform_wayland), |
| "Must set use_ozone to select ozone platforms") |