summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Environment.xml
blob: a8611052bc078927dd602fc4c07706fc772aee0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<!--
__COPYRIGHT__

This file is processed by the bin/SConsDoc.py module.
See its __doc__ string for a discussion of the format.
-->
<cvar name="BUILDERS">
<summary>
A dictionary mapping the names of the builders
available through this environment
to underlying Builder objects.
Builders named
Alias, CFile, CXXFile, DVI, Library, Object, PDF, PostScript, and Program
are available by default.
If you initialize this variable when an
Environment is created:

<example>
env = Environment(BUILDERS = {'NewBuilder' : foo})
</example>

the default Builders will no longer be available.
To use a new Builder object in addition to the default Builders,
add your new Builder object like this:

<example>
env = Environment()
env.Append(BUILDERS = {'NewBuilder' : foo})
</example>

or this:

<example>
env = Environment()
env['BUILDERS]['NewBuilder'] = foo
</example>
</summary>
</cvar>

<cvar name="Dir">
<summary>
A function that converts a string
into a Dir instance relative to the target being built.
</summary>
</cvar>

<cvar name="ENV">
<summary>
A dictionary of environment variables
to use when invoking commands. When
&cv-ENV; is used in a command all list
values will be joined using the path separator and any other non-string
values will simply be coerced to a string.
Note that, by default,
&scons;
does
<emphasis>not</emphasis>
propagate the environment in force when you
execute
&scons;
to the commands used to build target files.
This is so that builds will be guaranteed
repeatable regardless of the environment
variables set at the time
&scons;
is invoked.

If you want to propagate your
environment variables
to the commands executed
to build target files,
you must do so explicitly:

<example>
import os
env = Environment(ENV = os.environ)
</example>

Note that you can choose only to propagate
certain environment variables.
A common example is
the system
<envar>PATH</envar>
environment variable,
so that
&scons;
uses the same utilities
as the invoking shell (or other process):

<example>
import os
env = Environment(ENV = {'PATH' : os.environ['PATH']})
</example>
</summary>
</cvar>

<cvar name="File">
<summary>
A function that converts a string into a File instance relative to the
target being built.
</summary>
</cvar>

<cvar name="SCANNERS">
<summary>
A list of the available implicit dependency scanners.
New file scanners may be added by
appending to this list,
although the more flexible approach
is to associate scanners
with a specific Builder.
See the sections "Builder Objects"
and "Scanner Objects,"
below, for more information.
</summary>
</cvar>

<cvar name="SOURCE">
<summary>
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</summary>
</cvar>

<cvar name="SOURCES">
<summary>
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</summary>
</cvar>

<cvar name="TARGET">
<summary>
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</summary>
</cvar>

<cvar name="TARGETS">
<summary>
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</summary>
</cvar>

<cvar name="TOOLS">
<summary>
A list of the names of the Tool specifications
that are part of this construction environment.
</summary>
</cvar>