| Index: tools/gn/docs/reference.md
|
| diff --git a/tools/gn/docs/reference.md b/tools/gn/docs/reference.md
|
| index ab3233aa4ed5f32d6e2e2bf2388477a6fc5cbea8..1aa56f1d4542e1623bb07afb7f12549834472f46 100644
|
| --- a/tools/gn/docs/reference.md
|
| +++ b/tools/gn/docs/reference.md
|
| @@ -1641,9 +1641,8 @@
|
|
|
| The precise behavior of declare args is:
|
|
|
| - 1. The declare_args() block executes. Any variable defined in the enclosing
|
| - scope is available for reading, but any variable defined earlier in
|
| - the current scope is not (since the overrides haven't been applied yet).
|
| + 1. The declare_arg block executes. Any variables in the enclosing scope are
|
| + available for reading.
|
|
|
| 2. At the end of executing the block, any variables set within that scope
|
| are saved globally as build arguments, with their current values being
|
| @@ -1662,10 +1661,12 @@
|
| like [], "", or -1, and after the declare_args block, call exec_script if
|
| the value is unset by the user.
|
|
|
| - - Because you cannot read the value of a variable defined in the same
|
| - block, if you need to make the default value of one arg depend
|
| - on the possibly-overridden value of another, write two separate
|
| - declare_args() blocks:
|
| + - Any code inside of the declare_args block will see the default values of
|
| + previous variables defined in the block rather than the user-overridden
|
| + value. This can be surprising because you will be used to seeing the
|
| + overridden value. If you need to make the default value of one arg
|
| + dependent on the possibly-overridden value of another, write two separate
|
| + declare_args blocks:
|
|
|
| declare_args() {
|
| enable_foo = true
|
|
|