Merge pull request #4655 from bdbaddog/fix_new_ninja_package
[scons.git] / doc / user / parse_flags_arg.xml
blobd821f6f34a76b359ebfc42ccea2a2166e243b414
1 <?xml version='1.0'?>
3 <!--
4 SPDX-FileCopyrightText: Copyright The SCons Foundation (https://scons.org)
5 SPDX-License-Identifier: MIT
6 SPDX-FileType: DOCUMENTATION
8 This file is processed by the bin/SConsDoc.py module.
9 -->
11 <!DOCTYPE sconsdoc [
12     <!ENTITY % scons SYSTEM "../scons.mod">
13     %scons;
15     <!ENTITY % builders-mod SYSTEM "../generated/builders.mod">
16     %builders-mod;
17     <!ENTITY % functions-mod SYSTEM "../generated/functions.mod">
18     %functions-mod;
19     <!ENTITY % tools-mod SYSTEM "../generated/tools.mod">
20     %tools-mod;
21     <!ENTITY % variables-mod SYSTEM "../generated/variables.mod">
22     %variables-mod;
25 <section id="sect-parse_flags_"
26          xmlns="http://www.scons.org/dbxsd/v1.0"
27          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
28          xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">
29 <title>Merging Options While Creating Environment: the <parameter>parse_flags</parameter> Parameter</title>
31  <para>
33  It is also possible to merge &consvar; values from arguments
34  given to the &f-link-Environment; call itself.
35  If the <parameter>parse_flags</parameter> keyword argument
36  is given, its value is distributed to &consvars; in the
37  new environment in the same way as
38  described for the &MergeFlags; method.
39  This also works when calling &f-link-env-Clone;,
40  as well as in overrides to builder methods
41  (see <xref linkend="builder_overrides"/>).
43  </para>
45  <scons_example name="parse_flags_ex1">
46    <file name="SConstruct" printme="1">
47 env = Environment(parse_flags="-I/opt/include -L/opt/lib -lfoo")
48 for k in ('CPPPATH', 'LIBPATH', 'LIBS'):
49     print("%s:" % k, env.get(k))
50 env.Program("f1.c")
51    </file>
52    <file name="f1.c">
53 int main() { return 0; }
54    </file>
55  </scons_example>
57  <scons_output example="parse_flags_ex1" os="posix" suffix="1">
58     <scons_output_command>scons -Q</scons_output_command>
59  </scons_output>
61 </section>