# Copyright 2021 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import("//starboard/build/config/base_configuration.gni")

declare_args() {
  enable_vulkan = false
}

final_executable_type = "shared_library"
gtest_target_type = "shared_library"
sb_enable_benchmark = true

size_config_path = "//starboard/android/shared/platform_configuration:size"
speed_config_path = "//starboard/android/shared/platform_configuration:speed"

pedantic_warnings_config_path =
    "//starboard/android/shared/platform_configuration:pedantic_warnings"

if (current_toolchain == default_toolchain) {
  executable_configs +=
      [ "//starboard/android/shared/platform_configuration:executable_config" ]
  shared_library_configs +=
      [ "//starboard/android/shared/platform_configuration:library_config" ]
  static_library_configs +=
      [ "//starboard/android/shared/platform_configuration:library_config" ]
}

install_target_path = "//starboard/android/shared/install_target.gni"

sb_widevine_platform = "android"
platform_tests_path = "//starboard/android/shared:starboard_platform_tests"

cobalt_licenses_platform = "android"

enable_account_manager = true

cobalt_platform_dependencies =
    [ "//starboard/android/shared/cobalt:cobalt_platform" ]

cobalt_font_package = "android_system"

separate_install_targets_for_bundling = true
