# 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")

# Stub does not use a filter-based player.
sb_filter_based_player = false

sabi_path = "//starboard/sabi/x64/sysv/sabi-v$sb_api_version.json"

install_target_path = "//starboard/build/install/install_target.gni"

pedantic_warnings_config_path =
    "//starboard/stub/platform_configuration:pedantic_warnings"
no_pedantic_warnings_config_path =
    "//starboard/stub/platform_configuration:no_pedantic_warnings"

is_clang_16 = true
assert(!is_host_win, "Stub build is not (yet) supported on windows host")

v8_enable_webassembly = true
