AI-generated Key Takeaways
-
This document lists build variables used for configuring the Cobalt platform across different target environments.
-
Variables control aspects such as executable type, library sources (EGL/GLES), compiler options, and Starboard API version.
-
Developers can override default values to customize the build process for their specific platform needs.
-
Several variables are related to the integration of Starboard, an abstraction layer for platform services.
-
Variables related to V8, the JavaScript engine, determine features like pointer compression and WebAssembly support.
| Variables |
|---|
asan_symbolizer_pathA symbolizer path for ASAN can be added to allow translation of callstacks. The default value is "<clang_base_path>/bin/llvm-symbolizer". |
cobalt_licenses_platformSub-directory to copy license file to. The default value is "default". |
cobalt_platform_dependenciesList of platform-specific targets that get compiled into cobalt. The default value is []. |
cobalt_v8_emit_builtins_as_inline_asmSome 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_dependencyOverride this value to adjust the default rasterizer setting for your platform. The default value is "//cobalt/renderer:default_options". |
enable_in_app_dialEnables 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. |
executable_configsTarget-specific configurations for executable targets. The default value is []. |
final_executable_typeThe target type for executable targets. Allows changing the target type on platforms where the native code may require an additional packaging step (ex. Android). The default value is "executable". |
gl_typeThe source of EGL and GLES headers and libraries. Valid values (case and everything sensitive!):
|
gtest_target_typeThe target type for test targets. Allows 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_targetsWhether the platform has platform-specific targets to depend on. The default value is false. |
install_target_pathThe 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". |
is_clang_16Enable when using clang 16. The default value is false. |
loadable_module_configsTarget-specific configurations for loadable_module targets. The default value is []. |
nasm_existsEnables the nasm compiler to be used to compile .asm files. The default value is false. |
path_to_nasmWhere yasm can be found on the host device. The default value is "nasm". |
platform_tests_pathSet to the starboard_platform_tests target if the platform implements them. The default value is "". |
sabi_pathWhere the Starboard ABI file for this platform can be found. The default value is "starboard/sabi/default/sabi.json". |
sb_api_versionThe 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 16. |
sb_enable_benchmarkUsed to enable benchmarks. The default value is false. |
sb_enable_cpp17_auditEnables an NPLB audit of C++17 support. The default value is true. |
sb_enable_cpp20_auditEnables an NPLB audit of C++20 support. The default value is true. |
sb_enable_libEnables 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_sseEnables optimizations on SSE compatible platforms. The default value is true. |
sb_evergreen_compatible_packageWhether to generate the whole package containing both Loader app and Cobalt core on the Evergreen compatible platform. The default value is false. |
sb_evergreen_compatible_use_libunwindWhether to use the libunwind library on Evergreen compatible platform. The default value is false. |
sb_filter_based_playerUsed to indicate that the player is filter based. The default value is true. |
sb_has_unused_symbol_issueSet this to true if the modular toolchain linker doesn't strip all unused symbols and nplb fails to link. The default value is false. |
sb_is_evergreenWhether this is an Evergreen build. The default value is false. |
sb_is_evergreen_compatibleWhether 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_methodThe 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_dirDirectory path to static contents' data. The default value is "/project_out_dir/content/data". |
sb_use_no_rttiWhether or not to disable run-time type information (adding no_rtti flag). The default value is false. |
separate_install_targets_for_bundlingSet to true to separate install target directories. The default value is false. |
shared_library_configsTarget-specific configurations for shared_library targets. The default value is []. |
source_set_configsTarget-specific configurations for source_set targets. The default value is []. |
starboard_level_final_executable_typeThe default value is "executable". |
starboard_level_gtest_target_typeThe default value is "executable". |
static_library_configsTarget-specific configurations for static_library targets. The default value is []. |
v8_enable_pointer_compression_overrideSet to true to enable pointer compression for v8. The default value is true. |
v8_enable_webassemblyEnable WASM and install WebAssembly global. The default value is false. |