Starboard: gyp_configuration Reference Guide

Variables
abort_on_allocation_failure

Halt execution on failure to allocate memory.

The default value is 1.
actual_target_arch

The "real" target_arch that is used to select the correct delegate source. other than Windows

The default value is '<(target_arch)'.
clang_use_chrome_plugins

Prevents common.gypi from running a bash script which is not required to compile Cobalt.

The default value is 0.
cobalt

Whether Cobalt is being built.

The default value is 1.
cobalt_code

Similarly to chromium_code, marks the projects that are created by the Cobalt team and thus are held to the highest standards of code health.

The default value is 0.
cobalt_config

Contains the current build configuration.

The default value is 'gold'.
cobalt_enable_jit

Enable jit by default. It can be set to 0 to run in interpreter-only mode. Setting this to 1 on a platform or engine for which there is no JIT implementation is a no-op.

The default value is 1.
cobalt_fastbuild

Contains the current build configuration.

The default value is 0.
cobalt_font_package

Contains the current font package selection. This can be used to trade font quality, coverage, and latency with smaller font package size. See content/fonts/README.md for more details.

The default value is 'unlimited'.
cobalt_minimum_frame_time_in_milliseconds

Allow throttling of the frame rate. This is expressed in terms of milliseconds and can be a floating point number. Keep in mind that swapping frames may take some additional processing time, so it may be better to specify a lower delay. For example, '33' instead of '33.33' for 30 Hz refresh.

The default value is '0'.
cobalt_version

Build version number.

The default value is 0.
compiler_flags_<config>

Specifies compiler or linker flags by build configuration. Platform-specific .gypi includes and .gyp targets can use them to add additional flags.The following configurations are supported:
  • [default]
  • c_debug
  • c_devel
  • c_gold
  • c_host
  • c_qa
  • cc_debug
  • cc_devel
  • cc_gold
  • cc_host
  • cc_qa
  • debug
  • devel
  • gold
  • host
  • qa
default_renderer_options_dependency

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

The default value is '<(DEPTH)/cobalt/renderer/default_options_starboard.gyp:default_options'.
enable_account_manager

Set to 1 to enable H5vccAccountManager.

The default value is 0.
enable_spdy

Set to 1 to compile with SPDY support.

The default value is 0.
final_executable_type

Allows changing of 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_gles3 - Use the system implementation of EGL + GLES3. The headers and libraries must be on the system include and link paths.
  • 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.
Choosing an unsupported value will result in a GYP error: "cobalt/renderer/egl_and_gles/egl_and_gles_.gyp not found"

The default value is 'system_gles2'.
gtest_target_type

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

The default value is 'executable'.
host_os

Contains the name of the hosting OS. The value is defined by gyp_cobalt.

The default value is 'win'.
image_cache_capacity_multiplier_when_playing_video

Modifying this value to be non-1.0f will result in the image cache capacity being cleared and then temporarily reduced for the duration that a video is playing. This can be useful for some platforms if they are particularly constrained for (GPU) memory during video playback. When playing a video, the image cache is reduced to: image_cache_size_in_bytes * image_cache_capacity_multiplier_when_playing_video.

The default value is '1.0f'.
image_cache_size_in_bytes

Determines the capacity of the image cache which manages image surfaces downloaded from a web page. While it depends on the platform, often (and ideally) these images are cached within GPU memory.

The default value is 64 * 1024 * 1024.
in_app_dial

Set to 1 to build with DIAL support.

The default value is 0.
lbshell_root

Needed for backwards compatibility with lbshell code.

The default value is '<(DEPTH)/lbshell'.
linker_flags_<config>

Specifies compiler or linker flags by build configuration. Platform-specific .gypi includes and .gyp targets can use them to add additional flags.The following configurations are supported:
  • [default]
  • debug
  • devel
  • gold
  • host
  • qa
linux_use_tcmalloc

Cobalt doesn't currently support tcmalloc.

The default value is 0.
platform_libraries

The default value is [].
posix_emulation_target_type

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

The default value is 'static_library'.
rasterizer_type

Defines what kind of rasterizer will be used. This can be adjusted to force a stub graphics implementation or software graphics implementation. It can be one of the following options:
  • hardware - As much hardware acceleration of graphics commands as possible. Required for 360 rendering.
  • software - Perform most rasterization using the CPU and only interact with the GPU to send the final image to the output window.
  • stub - Stub graphics rasterization. A rasterizer object will still be available and valid, but it will do nothing.

    The default value is 'hardware'.
remote_typeface_cache_size_in_bytes

Determines the capacity of the remote typefaces cache which manages all typefaces downloaded from a web page.

The default value is 5 * 1024 * 1024.
sb_has_deploy_step

The default value is 0.
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_media_platform

Used by cobalt/media/media.gyp to pick a proper media platform.

The default value is 'starboard'.
sb_target_platform

The target platform id as a string, like 'ps3', 'ps4', etc..

The default value is ''.
scratch_surface_cache_size_in_bytes

Determines the capacity of the scratch surface cache. The scratch surface cache facilitates the reuse of temporary offscreen surfaces within a single frame. This setting is only relevant when using the hardware-accelerated Skia rasterizer.

The default value is 7 * 1024 * 1024.
skia_cache_size_in_bytes

Determines the capacity of the skia cache. The Skia cache is maintained within Skia and is used to cache the results of complicated effects such as shadows, so that Skia draw calls that are used repeatedly across frames can be cached into surfaces. This setting is only relevant when using the hardware-accelerated Skia rasterizer (e.g. as opposed to the Blitter API).

The default value is 4 * 1024 * 1024.
skia_glyph_atlas_height

Determines the size in pixels of the glyph atlas where rendered glyphs are cached. The resulting memory usage is 2 bytes of GPU memory per pixel. When a value is used that is too small, thrashing may occur that will result in visible stutter. Such thrashing is more likely to occur when CJK language glyphs are rendered and when the size of the glyphs in pixels is larger, such as for higher resolution displays.

The default value is '2048'.
skia_glyph_atlas_width

Determines the size in pixels of the glyph atlas where rendered glyphs are cached. The resulting memory usage is 2 bytes of GPU memory per pixel. When a value is used that is too small, thrashing may occur that will result in visible stutter. Such thrashing is more likely to occur when CJK language glyphs are rendered and when the size of the glyphs in pixels is larger, such as for higher resolution displays.

The default value is '2048'.
software_surface_cache_size_in_bytes

Only relevant if you are using the Blitter API. Determines the capacity of the software surface cache, which is used to cache all surfaces that are rendered via a software rasterizer to avoid re-rendering them.

The default value is 10 * 1024 * 1024.
starboard_path

The relative path from src/ to the directory containing the starboard_platform.gyp file. It is currently set to 'starboard/<(target_arch)' to make semi-starboard platforms work.

The default value is 'starboard/<(target_arch)'.
surface_cache_size_in_bytes

Determines the capacity of the surface cache. The surface cache tracks which render tree nodes are being re-used across frames and stores the nodes that are most CPU-expensive to render into surfaces.

The default value is 0.
target_os

The operating system of the target, separate from the target_arch. In many cases, an 'unknown' value is fine, but, if set to 'linux', then we can assume some things, and it'll save us some configuration time.

The default value is 'unknown'.
use_official_google_api_keys

Disable a check that looks for an official google api key.

The default value is 0.
webkit_target_type

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

The default value is 'static_library'.
werror

Disables treat warnings as errors.

The default value is ''.