blob: 433d1a3703dcaeba1267b6e080fc8eb8d478d481 [file] [log] [blame] [view]
# GYP to GN Migration Changes
This file tracks changes to configuration meta build configuration variables in
the GYP to GN migration. Reference the table below to find the correct GN
equivalent to a changed variable, deprecated GYP variables not in GN, and added
variables.
## Variable Changes
*GYP* | *GN* | *GN import*
:---------------------------------------- | :--------------------------------------------------- | :----------
`OS` ("starboard"/other) | `is_starboard` (true/false) | (global)
`clang` (0/1) | `is_clang` (true/false) | (global)
`has_input_events_filter` | `is_internal_build` (true/false) | (global)
`has_drm_system_extension` | `is_internal_build` (true/false) | (global)
`has_cdm` | `is_internal_build` (true/false) | (global)
`has_private_system_properties` | `is_internal_build` (true/false) | (global)
`sb_deploy_output_dir` | `sb_install_output_dir` | `//starboard/build/config/base_configuration.gni`
`sb_evergreen` (0/1) | `sb_is_evergreen` (true/false) | `//starboard/build/config/base_configuration.gni`
`sb_evergreen_compatible` (0/1) | `sb_is_evergreen_compatible` (true/false) | `//starboard/build/config/base_configuration.gni`
`sb_evergreen_compatible_libunwind` (0/1) | `sb_evergreen_compatible_use_libunwind` (true/false) | `//starboard/build/config/base_configuration.gni`
`sb_evergreen_compatible_lite` (0/1) | `sb_evergreen_compatible_enable_lite` (true/false) | `//starboard/build/config/base_configuration.gni`
`sb_disable_cpp14_audit` | (none) |
`sb_disable_microphone_idl` | (none) |
`starboard_path` | (none) |
`tizen_os` | (none) |
`includes_starboard` | (none) |
(none) | `has_platform_tests` (true/false) | `//starboard/build/config/base_configuration.gni`
(none) | `has_platform_targets` (true/false) | `//starboard/build/config/base_configuration.gni`
(none) | `install_target_path` (true/false) | `//starboard/build/config/base_configuration.gni`
## Other Changes
*GYP* | *GN* | *Notes* (see below)
:------------------------------ | :---------------------------------------------------- | :------------------
`'STARBOARD_IMPLEMENTATION'` | `"//starboard/build/config:starboard_implementation"` | Starboard Implementation
`optimize_target_for_speed` (0) | `"//starboard/build/config:size"` | Optimizations
`optimize_target_for_speed` (1) | `"//starboard/build/config:speed"` | Optimizations
`compiler_flags_*_speed` | `speed_config_path` | Optimizations
`compiler_flags_*_size` | `size_config_path` | Optimizations
`sb_pedantic_warnings` | `pedantic_warnings_config_path` | Compiler Options
`sb_pedantic_warnings` | `no_pedantic_warnings_config_path` | Compiler Options
Notes:
* *Starboard Implementation:* If your platform defined
`STARBOARD_IMPLENTATION` in its implementation, you would now add the above
config with `configs +=
["//starboard/build/config:starboard_implementation"]`.
* *Optimizations:* Cobalt defaults to building targets to optimize for size.
If you need to optimize a target for speed, remove the size config and add
the speed config with `configs -= [ "//starboard/build/config:size" ]` and
`configs += [ "//starboard/build/config:speed" ]`. You can define these
configurations for your platform by creating `config`s and pointing to the
correct ones for `speed_config_path` and `size_config_path` in your
platform's `platform_configuration/configuration.gni` file.
* *Compiler Options:* Cobalt compiles some targets with stricter settings
than others, depending on the platform. Before these targets would opt into
the stricter settings by settings `sb_pedantic_warnings: 1` in their
`variables` section. Now they will add the appropriate config like so:
`configs += [ "//starboard/build/config:pedantic_warnings" ]` and remove
the default: `configs -= [ "//starboard/build/config:no_pedantic_warnings"
]`. The additional config that is used to compile these targets is
specified with the `pedantic_warnings_config_path` and
`no_pedantic_warnings_config_path` variables in your platform's
`platform_configuration/configuration.gni` file.