Starboard: gyp_configuration Reference Guide

Variables
abort_on_allocation_failure

Halt execution on failure to allocate memory.

The default value is 1.
build_snapshot_app_stats

Some platforms have difficulty linking snapshot_app_stats

The default value is 1.
cobalt

Whether Cobalt is being built.

The default value is 1.
cobalt_config

Contains the current build configuration.

The default value is 'gold'.
cobalt_egl_swap_interval

Cobalt will call eglSwapInterval() and specify this value before calling eglSwapBuffers() each frame.

The default value is 1.
cobalt_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 '<(sb_enable_lib)'.
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 for different font package sizes. The font package can be one of the following options:
  • standard - The default package. It includes all sans-serif, serif, and FCC fonts, non-CJK fallback fonts in both 'normal' and 'bold' weights, 'normal' weight CJK ('bold' weight CJK is synthesized from it), historic script fonts, and color emojis. This package is ~38.3MB.
  • limited - A significantly smaller package than 'standard'. This package removes all but 'normal' and 'bold' weighted sans-serif and serif, removes the FCC fonts (which must be provided by the system or downloaded from the web), replaces standard CJK with low quality CJK, removes historic script fonts, and replaces colored emojis with uncolored ones. Because low quality CJK cannot synthesize bold, bold glyphs are unavailable in Chinese, Japanese and Korean. This package is ~8.3MB.
  • minimal - The smallest possible font package. It only includes Roboto's Basic Latin characters. Everything else must be provided by the system or downloaded from the web. This package is ~40.0KB.
NOTE: When bold is needed, but unavailable, it is typically synthesized, resulting in lower quality glyphs than those generated directly from a bold font. However, this does not occur with low quality CJK, which is not high enough quality to synthesize. Its glyphs always have a 'normal' weight.

The default value is 'standard'.
cobalt_font_package_override_fallback_color_emoji

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of 'normal' and a style of 'normal' are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or bold' and a style of 'normal' are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or 'bold' and a style of either 'normal' or 'italic' are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond 'normal' and 'bold'. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_emoji

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of 'normal' and a style of 'normal' are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or bold' and a style of 'normal' are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or 'bold' and a style of either 'normal' or 'italic' are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond 'normal' and 'bold'. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_historic

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of 'normal' and a style of 'normal' are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or bold' and a style of 'normal' are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or 'bold' and a style of either 'normal' or 'italic' are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond 'normal' and 'bold'. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_lang_cjk

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of 'normal' and a style of 'normal' are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or bold' and a style of 'normal' are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or 'bold' and a style of either 'normal' or 'italic' are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond 'normal' and 'bold'. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_lang_cjk_low_quality

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of 'normal' and a style of 'normal' are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or bold' and a style of 'normal' are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or 'bold' and a style of either 'normal' or 'italic' are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond 'normal' and 'bold'. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_lang_non_cjk

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of 'normal' and a style of 'normal' are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or bold' and a style of 'normal' are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or 'bold' and a style of either 'normal' or 'italic' are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond 'normal' and 'bold'. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_symbols

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of 'normal' and a style of 'normal' are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or bold' and a style of 'normal' are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or 'bold' and a style of either 'normal' or 'italic' are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond 'normal' and 'bold'. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_named_fcc_fonts

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of 'normal' and a style of 'normal' are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or bold' and a style of 'normal' are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or 'bold' and a style of either 'normal' or 'italic' are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond 'normal' and 'bold'. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_named_sans_serif

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of 'normal' and a style of 'normal' are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or bold' and a style of 'normal' are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or 'bold' and a style of either 'normal' or 'italic' are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond 'normal' and 'bold'. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_named_serif

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of 'normal' and a style of 'normal' are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or bold' and a style of 'normal' are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either 'normal' or 'bold' and a style of either 'normal' or 'italic' are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond 'normal' and 'bold'. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_gc_zeal

Can be set to enable zealous garbage collection, if
cobalt_media_buffer_alignment

The media buffer will be allocated using the following alignment. Set this to a larger value may increase the memory consumption of media buffers.

The default value is 1.
cobalt_media_buffer_allocation_unit

When the media stack needs more memory to store media buffers, it will allocate extra memory in units of
cobalt_media_buffer_initial_capacity

The amount of memory that will be used to store media buffers allocated during system startup. To allocate a large chunk at startup helps with reducing fragmentation and can avoid failures to allocate incrementally. This can be set to 0.

The default value is 21 * 1024 * 1024.
cobalt_media_buffer_max_capacity_1080p

The maximum amount of memory that will be used to store media buffers when video resolution is no larger than 1080p. This must be larger than sum of 1080p video budget and non-video budget.

The default value is 36 * 1024 * 1024.
cobalt_media_buffer_max_capacity_4k

The maximum amount of memory that will be used to store media buffers when video resolution is 4k. If 0, then memory can grow without bound. This must be larger than sum of 4k video budget and non-video budget.

The default value is 100 * 1024 * 1024.
cobalt_media_buffer_non_video_budget

Specifies the maximum amount of memory used by audio or text buffers of media source before triggering a garbage collection. A large value will cause more memory being used by audio buffers but will also make JavaScript app less likely to re-download audio data. Note that the JavaScript app may experience significant difficulty if this value is too low.

The default value is 5 * 1024 * 1024.
cobalt_media_buffer_padding

Extra bytes allocated at the end of a media buffer to ensure that the buffer can be use optimally by specific instructions like SIMD. Set to 0 to remove any padding.

The default value is 0.
cobalt_media_buffer_pool_allocate_on_demand

When either
cobalt_media_buffer_progressive_budget

The memory used when playing mp4 videos that is not in DASH format. The resolution of such videos shouldn't go beyond 1080p. Its value should be less than the sum of 'cobalt_media_buffer_non_video_budget' and 'cobalt_media_buffer_video_budget_1080p' but not less than 8 MB.

The default value is 12 * 1024 * 1024.
cobalt_media_buffer_storage_type

This can be set to "memory" or "file". When it is set to "memory", the media buffers will be stored in main memory allocated by SbMemory functions. When it is set to "file", the media buffers will be stored in a temporary file in the system cache folder acquired by calling SbSystemGetPath() with "kSbSystemPathCacheDirectory". Note that when its value is "file" the media stack will still allocate memory to cache the the buffers in use.

The default value is 'memory'.
cobalt_media_buffer_video_budget_1080p

Specifies the maximum amount of memory used by video buffers of media source before triggering a garbage collection when the video resolution is lower than 1080p (1920x1080). A large value will cause more memory being used by video buffers but will also make JavaScript app less likely to re-download video data. Note that the JavaScript app may experience significant difficulty if this value is too low.

The default value is 16 * 1024 * 1024.
cobalt_media_buffer_video_budget_4k

Specifies the maximum amount of memory used by video buffers of media source before triggering a garbage collection when the video resolution is lower than 4k (3840x2160). A large value will cause more memory being used by video buffers but will also make JavaScript app less likely to re-download video data. Note that the JavaScript app may experience significant difficulty if this value is too low.

The default value is 60 * 1024 * 1024.
cobalt_media_source_2016

Use media source extension implementation that is conformed to the Candidate Recommendation of July 5th 2016.

The default value is '<(cobalt_media_source_2016)'.
cobalt_media_source_garbage_collection_duration_threshold_in_seconds

Specifies the duration threshold of media source garbage collection. When the accumulated duration in a source buffer exceeds this value, the media source implementation will try to eject existing buffers from the cache. This is usually triggered when the video being played has a simple content and the encoded data is small. In such case this can limit how much is allocated for the book keeping data of the media buffers and avoid OOM of system heap. This should be set to 170 for most of the platforms. But it can be further reduced on systems with extremely low memory.

The default value is 170.
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 '16.0'.
cobalt_platform_dependencies

List of platform-specific targets that get compiled into cobalt.

The default value is [].
cobalt_splash_screen_file

The path to a splash screen to copy into content/data/web which can be accessed via a file URL starting with "file:///cobalt/browser/splash_screen/". If '', no file is copied.

The default value is ''.
cobalt_user_on_exit_strategy

This variable defines what Cobalt's preferred strategy should be for handling internally triggered application exit requests (e.g. the user chooses to back out of the application).
  • stop - The application should call SbSystemRequestStop() on exit, resulting in a complete shutdown of the application.
  • suspend - The application should call SbSystemRequestSuspend() on exit, resulting in the application being "minimized".
  • noexit - The application should never allow the user to trigger an exit, this will be managed by the system.

    The default value is 'stop'.
cobalt_v8_buildtime_snapshot

Set to "true" to enable v8 snapshot generation at Cobalt build time.

The default value is '<(cobalt_v8_buildtime_snapshot)'.
cobalt_version

Build version number.

The default value is 0.
cobalt_webapi_extension_generated_header_idl_files

We need to define some variables inside of an inner 'variables' scope so that they can be referenced by other outer variables here. Also, it allows for the specification of default values that get referenced by a top level scope.

The default value is [].
cobalt_webapi_extension_source_idl_files

We need to define some variables inside of an inner 'variables' scope so that they can be referenced by other outer variables here. Also, it allows for the specification of default values that get referenced by a top level scope.

The default value is [].
compiler_flags_<config>

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
custom_media_session_client

Set to 1 to enable a custom MediaSessionClient.

The default value is 0.
default_renderer_options_dependency

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

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

and linker_executable_flags_(config) to distinguish the flags for SharedLibraryLinker and ExecutableLinker.

The default value is [].
defines_devel

The default value is [].
defines_gold

The default value is [].
defines_host

The default value is [].
defines_qa

The default value is [].
enable_account_manager

Set to 1 to enable H5vccAccountManager.

The default value is 0.
enable_configure_request_job_factory

Set to 1 to enable setting Interceptors on the URLRequestJobFactory

The default value is 0.
enable_crash_log

Set to 1 to enable H5vccCrashLog.

The default value is 0.
enable_map_to_mesh

Enable support for the map to mesh filter, which is primarily used to implement spherical video playback.

The default value is 0.
enable_spdy

Set to 1 to compile with SPDY support.

The default value is 0.
enable_sso

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

The default value is 0.
enable_xhr_header_filtering

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

The default value is 0.
fallback_splash_screen_url

The URL of default build time splash screen - see cobalt/doc/splash_screen.md for information about this.

The default value is 'none'.
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_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

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'.
host_os

Contains the name of the hosting OS. The value is defined by the gyp wrapper script.

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. Set to -1 to automatically calculate the value at runtime, based on features like windows dimensions and the value of SbSystemGetTotalGPUMemory().

The default value is -1.
in_app_dial

Set to 1 to build with DIAL support.

The default value is 0.
linker_flags_<config>

The following configurations are supported:
  • [default]
  • debug
  • devel
  • gold
  • host
  • qa
local_font_cache_size_in_bytes

Determines the capacity of the local font cache, which manages all fonts loaded from local files. Newly encountered sections of font files are lazily loaded into the cache, enabling subsequent requests to the same file sections to be handled via direct memory access. Once the limit is reached, further requests are handled via file stream. Setting the value to 0 disables memory caching and causes all font file accesses to be done using file streams.

The default value is 16 * 1024 * 1024.
max_cobalt_cpu_usage

Max Cobalt CPU usage specifies that the cobalt program should keep it's size below the specified size. A value of -1 causes this value to be assumed from the starboard API function: SbSystemGetTotalCPUMemory().

The default value is -1.
max_cobalt_gpu_usage

Max Cobalt GPU usage specifies that the cobalt program should keep it's size below the specified size. A value of -1 causes this value to be assumed from the starboard API function: SbSystemGetTotalGPUMemory().

The default value is -1.
mesh_cache_size_in_bytes

Determines the capacity of the mesh cache. Each mesh is held compressed in main memory, to be inflated into a GPU buffer when needed for projection. When set to 'auto', will be adjusted according to whether the enable_map_to_mesh is true or not. If enable_map_to_mesh is false, then the mesh cache size will be set to 0.

The default value is 'auto'.
mozjs_garbage_collection_threshold_in_bytes

Determines the size of garbage collection threshold. After this many bytes have been allocated, the SpiderMonkey garbage collector will run. Lowering this has been found to reduce performance and decrease JavaScript memory usage. For example, we have measured on at least one platform that performance becomes 7% worse on average in certain cases when adjusting this number from 8MB to 1MB.

The default value is 8 * 1024 * 1024.
offscreen_target_cache_size_in_bytes

Determines the amount of GPU memory the offscreen target atlases will use. This is specific to the direct-GLES rasterizer and caches any render tree nodes which require skia for rendering. Two atlases will be allocated from this memory or multiple atlases of the frame size if the limit allows. It is recommended that enough memory be reserved for two RGBA atlases about a quarter of the frame size.

The default value is -1.
path_to_yasm

Where yasm can be found on the target device.

The default value is "yasm".
platform_libraries

The default value is [].
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:
  • direct-gles - Uses a light wrapper over OpenGL ES to handle most draw elements. This will fall back to the skia hardware rasterizer for some render tree node types, but is generally faster on the CPU and GPU. This can handle 360 rendering.
  • hardware - As much hardware acceleration of graphics commands as possible. This uses skia to wrap OpenGL ES commands. 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 'direct-gles'.
reduce_cpu_memory_by

When specified this value will reduce the cpu memory consumption by the specified amount. -1 disables the value. When this value is specified then max_cobalt_cpu_usage will not be used in memory_constrainer, but will still be used for triggering a warning if the engine consumes more memory than this value specifies.

The default value is -1.
reduce_gpu_memory_by

When specified this value will reduce the gpu memory consumption by the specified amount. -1 disables the value. When this value is specified then max_cobalt_gpu_usage will not be used in memory_constrainer, but will still be used for triggering a warning if the engine consumes more memory than this value specifies.

The default value is -1.
remote_font_cache_size_in_bytes

Determines the capacity of the remote font cache, which manages all fonts downloaded from a web page.

The default value is 4 * 1024 * 1024.
render_dirty_region_only

If set to 1, will enable support for rendering only the regions of the display that are modified due to animations, instead of re-rendering the entire scene each frame. This feature can reduce startup time where usually there is a small loading spinner animating on the screen. On GLES renderers, Cobalt will attempt to implement this support by using eglSurfaceAttrib(..., EGL_SWAP_BEHAVIOR, EGL_BUFFER_PRESERVED), otherwise the dirty region will be silently disabled. On Blitter API platforms, if this is enabled, we explicitly create an extra offscreen full-size intermediate surface to render into. Note that some GLES driver implementations may internally allocate an extra full screen surface to support this feature, and many have been noticed to not properly support this functionality (but they report that they do), and for these reasons this value is defaulted to 0.

The default value is 0.
sb_disable_microphone_idl

When this is set to true, the web bindings for the microphone are disabled

The default value is 0.
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 '<(sb_enable_lib)'.
sb_evergreen

Whether this is an evergreen build.

The default value is 0.
sb_filter_based_player

Used to indicate that the player is filter based.

The default value is 1.
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 to pick a proper media platform.

The default value is 'starboard'.
sb_pedantic_warnings

Enabling this variable enables pedantic levels of warnings for the current toolchain.

The default value is 0.
sb_static_contents_output_base_dir

Directory path to static contents.

The default value is '<(sb_static_contents_output_base_dir)'.
sb_static_contents_output_data_dir

Directory path to static contents' data.

The default value is '<(sb_static_contents_output_data_dir)'.
sb_target_platform

The target platform id as a string, like 'linux-x64x11', 'win32', 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 0.
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 negative default values indicates to the engine that these settings should be automatically set.

The default value is '-1'.
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 negative default values indicates to the engine that these settings should be automatically set.

The default value is '-1'.
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 8 * 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. moved to starboard.

The default value is 'starboard/<(target_arch)'.
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'.
tizen_os

Temporary indicator for Tizen - should eventually move to feature defines.

The default value is 0.
yasm_exists

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

The default value is 0.