diff --git a/docs/markdown/Builtin-options.md b/docs/markdown/Builtin-options.md index 64f5fbff3..de4ca7286 100644 --- a/docs/markdown/Builtin-options.md +++ b/docs/markdown/Builtin-options.md @@ -223,45 +223,45 @@ c/c++ compiler supports this option. Since *0.63.0* all compiler options can be set per subproject, see [here](#specifying-options-per-subproject) for details on how the default value -is inherited from main project. This is useful for example when the main project -requires C++11 but a subproject requires C++14. The `cpp_std` value from -subproject's `default_options` is now respected. +is inherited from the main project. This is useful, for example, when the main +project requires C++11, but a subproject requires C++14. The `cpp_std` value +from the subproject's `default_options` is now respected. ## Specifying options per machine Since *0.51.0*, some options are specified per machine rather than globally for all machine configurations. Prefixing the option with -`build.` just affects the build machine configuration, while -unprefixed just affects the host machine configuration, respectively. +`build.` only affects the build machine configuration, while leaving it +unprefixed only affects the host machine configuration. For example: - `build.pkg_config_path` controls the paths pkg-config will search - for just `native: true` dependencies (build machine). + for `native: true` (build machine) dependencies. - `pkg_config_path` controls the paths pkg-config will search for - just `native: false` dependencies (host machine). + `native: false` (host machine) dependencies. -This is useful for cross builds. In the native builds, build = host, -and the unprefixed option alone will suffice. +This is useful for cross builds. In native builds, the build and host +machines are the same, and the unprefixed option alone will suffice. -Prior to *0.51.0*, these options just effected native builds when -specified on the command line, as there was no `build.` prefix. +Prior to *0.51.0*, these options only affected native builds when +specified on the command line as there was no `build.` prefix. Similarly named fields in the `[properties]` section of the cross file -would effect cross compilers, but the code paths were fairly different +would affect cross compilers, but the code paths were fairly different, allowing differences in behavior to crop out. ## Specifying options per subproject Since *0.54.0* `default_library` and `werror` built-in options can be -defined per subproject. This is useful for example when building -shared libraries in the main project, but static link a subproject, or -when the main project must build with no warnings but some subprojects +defined per subproject. This is useful, for example, when building +shared libraries in the main project and statically linking a subproject, +or when the main project must build with no warnings but some subprojects cannot. -Most of the time this would be used either by the parent project by +Most of the time, this would be used either in the parent project by setting subproject's default_options (e.g. `subproject('foo', -default_options: 'default_library=static')`), or by the user using the -command line `-Dfoo:default_library=static`. +default_options: 'default_library=static')`), or by the user through the +command line: `-Dfoo:default_library=static`. The value is overridden in this order: - Value from parent project @@ -269,12 +269,13 @@ The value is overridden in this order: - Value from subproject() default_options if set - Value from command line if set -Since 0.56.0 `warning_level` can also be defined per subproject. +Since *0.56.0* `warning_level` can also be defined per subproject. ## Module options -Some Meson modules have built-in options. They can be set by prefixing the option -name with the module name: `-D.