Starboard: configuration.gni Reference Guide

Variables
abort_on_allocation_failure

Halt execution on failure to allocate memory.

The default value is true.
asan_symbolizer_path

A symbolizer path for ASAN can be added to allow translation of callstacks.

The default value is "$clang_base_path/bin/llvm-symbolizer".
cobalt_licenses_platform

Sub-directory to copy license file to.

The default value is "default".
cobalt_platform_dependencies

TODO(b/173248397): Migrate to CobaltExtensions or PlatformServices. List of platform-specific targets that get compiled into cobalt.

The default value is [].
cobalt_v8_emit_builtins_as_inline_asm

Some compiler can not compile with raw assembly(.S files) and v8 converts asm to inline assembly for these platforms.

The default value is false.
default_renderer_options_dependency

Override this value to adjust the default rasterizer setting for your platform.

The default value is "//cobalt/renderer:default_options".
enable_account_manager

Set to true to enable H5vccAccountManager.

The default value is false.
enable_in_app_dial

Enables or disables the DIAL server that runs inside Cobalt. Note: Only enable if there's no system-wide DIAL support.

The default value is false.
enable_sso

Set to true to enable H5vccSSO (Single Sign On).

The default value is false.
enable_xhr_header_filtering

Set to true to enable filtering of HTTP headers before sending.

The default value is false.
executable_configs

Target-specific configurations for each platform.

The default value is [].
final_executable_type

The variables allow changing the target type on platforms where the native code may require an additional packaging step (ex. Android).

The default value is "executable".
gl_type

The source of EGL and GLES headers and libraries. Valid values (case and everything sensitive!):
  • none - No EGL + GLES implementation is available on this platform.
  • system_gles2 - Use the system implementation of EGL + GLES2. The headers and libraries must be on the system include and link paths.
  • glimp - Cobalt's own EGL + GLES2 implementation. This requires a valid Glimp implementation for the platform.
  • angle - A DirectX-to-OpenGL adaptation layer. This requires a valid ANGLE implementation for the platform.

    The default value is "system_gles2".
gtest_target_type

The variables allow changing the target type on platforms where the native code may require an additional packaging step (ex. Android).

The default value is "executable".
has_platform_targets

Whether the platform has platform-specific targets to depend on.

The default value is false.
install_target_path

The path to the gni file containing the install_target template which defines how the build should produce the install/ directory.

The default value is "//starboard/build/install/no_install.gni".
loadable_module_configs

Target-specific configurations for each platform.

The default value is [].
path_to_yasm

Where yasm can be found on the host device.

The default value is "yasm".
platform_tests_path

Set to the starboard_platform_tests target if the platform implements them.

The default value is "".
sabi_path

Where the Starboard ABI file for this platform can be found.

The default value is "starboard/sabi/default/sabi.json".
sb_api_version

The Starboard API version of the current build configuration. The default value is meant to be overridden by a Starboard ABI file.

The default value is 15.
sb_enable_benchmark

Used to enable benchmarks.

The default value is false.
sb_enable_cpp17_audit

Enables an NPLB audit of C++17 support.

The default value is true.
sb_enable_lib

Enables embedding Cobalt as a shared library within another app. This requires a 'lib' starboard implementation for the corresponding platform.

The default value is false.
sb_enable_opus_sse

Enables optimizations on SSE compatible platforms.

The default value is true.
sb_evergreen_compatible_enable_lite

Whether to adopt Evergreen Lite on the Evergreen compatible platform.

The default value is false.
sb_evergreen_compatible_use_libunwind

Whether to use the libunwind library on Evergreen compatible platform.

The default value is false.
sb_filter_based_player

Used to indicate that the player is filter based.

The default value is true.
sb_is_evergreen

Whether this is an Evergreen build.

The default value is false.
sb_is_evergreen_compatible

Whether this is an Evergreen compatible platform. A compatible platform can run the elf_loader and launch the Evergreen build.

The default value is false.
sb_libevent_method

The event polling mechanism available on this platform to support libevent. Platforms may redefine to 'poll' if necessary. Other mechanisms, e.g. devpoll, kqueue, select, are not yet supported.

The default value is "epoll".
sb_static_contents_output_data_dir

Directory path to static contents' data.

The default value is "$root_out_dir/content/data".
sb_use_no_rtti

The default value is false.
separate_install_targets_for_bundling

Set to true to separate install target directories.

The default value is false.
shared_library_configs

Target-specific configurations for each platform.

The default value is [].
source_set_configs

Target-specific configurations for each platform.

The default value is [].
static_library_configs

Target-specific configurations for each platform.

The default value is [].
use_skia_next

Flag to use a future version of Skia, currently not available

The default value is false.
use_thin_archive

Whether or not to link with thin archives.

The default value is true.
v8_enable_pointer_compression_override

Set to true to enable pointer compression for v8.

The default value is true.
yasm_exists

Enables the yasm compiler to be used to compile .asm files.

The default value is false.