# 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"
starboard_level_final_executable_type = "shared_library"
starboard_level_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"

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

v8_enable_webassembly = true
