summaryrefslogtreecommitdiff
path: root/scons.1
diff options
context:
space:
mode:
Diffstat (limited to 'scons.1')
-rw-r--r--scons.167
1 files changed, 55 insertions, 12 deletions
diff --git a/scons.1 b/scons.1
index b9e2594..4e75215 100644
--- a/scons.1
+++ b/scons.1
@@ -3,11 +3,11 @@
.\" Author: Steven Knight
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: <pubdate>2004 - 2019</pubdate>
-.\" Manual: SCons 3.0.5
-.\" Source: SCons 3.0.5 version 3.0.5
+.\" Manual: SCons 3.1.0
+.\" Source: SCons 3.1.0 version 3.1.0
.\" Language: English
.\"
-.TH "SCONS" "1" "<pubdate>2004 - 2019</pubdate>" "SCons 3\&.0\&.5 version 3.0.5" "SCons 3\&.0\&.5"
+.TH "SCONS" "1" "<pubdate>2004 - 2019</pubdate>" "SCons 3\&.1\&.0 version 3.1.0" "SCons 3\&.1\&.0"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -1413,14 +1413,14 @@ env[\*(AqBAR\*(Aq] = \*(Aqbar\*(Aq
As a convenience, construction variables may also be set or modified by the
\fIparse_flags\fR
keyword argument, which applies the
-\fBParseFlags\fR
+\fBenv\&.MergeFlags\fR
method (described below) to the argument value after all other processing is completed\&. This is useful either if the exact content of the flags is unknown (for example, read from a control file) or if the flags are distributed to a number of construction variables\&.
.sp
.if n \{\
.RS 4
.\}
.nf
-env = Environment(parse_flags = \*(Aq\-Iinclude \-DEBUG \-lm\*(Aq)
+env = Environment(parse_flags=\*(Aq\-Iinclude \-DEBUG \-lm\*(Aq)
.fi
.if n \{\
.RE
@@ -3875,13 +3875,14 @@ env\&.SharedLibrary(\*(Aqword\*(Aq, \*(Aqword\&.cpp\*(Aq,
.PP
It is also possible to use the
\fIparse_flags\fR
-keyword argument in an override:
+keyword argument in an override, to merge command\-line style arguments into the appropriate construction variables (see
+\fBenv\&.MergeFlags\fR)\&.
.sp
.if n \{\
.RS 4
.\}
.nf
-env = Program(\*(Aqhello\*(Aq, \*(Aqhello\&.c\*(Aq, parse_flags = \*(Aq\-Iinclude \-DEBUG \-lm\*(Aq)
+env = Program(\*(Aqhello\*(Aq, \*(Aqhello\&.c\*(Aq, parse_flags=\*(Aq\-Iinclude \-DEBUG \-lm\*(Aq)
.fi
.if n \{\
.RE
@@ -4891,15 +4892,17 @@ This builds a Visual Studio project file, based on the version of Visual Studio
\fB$MSVS_VERSION\fR
in the Environment constructor)\&. For Visual Studio 6, it will generate a
\&.dsp
-file\&. For Visual Studio 7 (\&.NET) and later versions, it will generate a
+file\&. For Visual Studio 7, 8, and 9, it will generate a
\&.vcproj
+file\&. For Visual Studio 10 and later, it will generate a
+\&.vcxproj
file\&.
.sp
By default, this also generates a solution file for the specified project, a
\&.dsw
file for Visual Studio 6 or a
\&.sln
-file for Visual Studio 7 (\&.NET)\&. This behavior may be disabled by specifying
+file for Visual Studio 7 and later\&. This behavior may be disabled by specifying
auto_build_solution=0
when you call
\fBMSVSProject\fR, in which case you presumably want to build the solution file(s) by calling the
@@ -4951,6 +4954,28 @@ variant
entries, or be empty (not specified)\&. If you give only one, it will automatically be propagated to all variants\&.
.RE
.PP
+cppdefines
+.RS 4
+Preprocessor definitions for the different variants\&. The number of
+cppdefines
+entries must match the number of
+variant
+entries, or be empty (not specified)\&. If you give only one, it will automatically be propagated to all variants\&. If you don\*(Aqt give this parameter, SCons will use the invoking environment\*(Aqs
+CPPDEFINES
+entry for all variants\&.
+.RE
+.PP
+cpppaths
+.RS 4
+Compiler include paths for the different variants\&. The number of
+cpppaths
+entries must match the number of
+variant
+entries, or be empty (not specified)\&. If you give only one, it will automatically be propagated to all variants\&. If you don\*(Aqt give this parameter, SCons will use the invoking environment\*(Aqs
+CPPPATH
+entry for all variants\&.
+.RE
+.PP
buildtarget
.RS 4
An optional string, node, or list of strings or nodes (one per build variant), to tell the Visual Studio debugger what output target to use in what build variant\&. The number of
@@ -7524,14 +7549,15 @@ env4 = env\&.Clone(tools = [\*(Aqmsvc\*(Aq, MyTool])
.sp
The
\fIparse_flags\fR
-keyword argument is also recognized:
+keyword argument is also recognized to allow merging command\-line style arguments into the appropriate construction variables (see
+\fBenv\&.MergeFlags\fR)\&.
.sp
.if n \{\
.RS 4
.\}
.nf
# create an environment for compiling programs that use wxWidgets
-wx_env = env\&.Clone(parse_flags = \*(Aq!wx\-config \-\-cflags \-\-cxxflags\*(Aq)
+wx_env = env\&.Clone(parse_flags=\*(Aq!wx\-config \-\-cflags \-\-cxxflags\*(Aq)
.fi
.if n \{\
.RE
@@ -7704,6 +7730,13 @@ the last time the
\fItarget\fR
was built\&. This can be consulted to match various file characteristics such as the timestamp, size, or content signature\&.
.RE
+.PP
+\fIrepo_node\fR
+.RS 4
+Use this node instead of the one specified by
+\fIdependency\fR
+to determine if the dependency has changed\&.
+.RE
.sp
The
\fIfunction\fR
@@ -7727,7 +7760,7 @@ Example:
.RS 4
.\}
.nf
-def my_decider(dependency, target, prev_ni):
+def my_decider(dependency, target, prev_ni, repo_node=None):
return not os\&.path\&.exists(str(target))
env\&.Decider(my_decider)
@@ -8868,6 +8901,9 @@ Flag values are translated accordig to the prefix found, and added to the follow
\-frameworkdir= FRAMEWORKPATH
\-include CCFLAGS
\-isysroot CCFLAGS, LINKFLAGS
+\-isystem CCFLAGS
+\-iquote CCFLAGS
+\-idirafter CCFLAGS
\-I CPPPATH
\-l LIBS
\-L LIBPATH
@@ -13925,6 +13961,7 @@ If
is not set, SCons will (by default) select the latest version of Visual C/C++ installed on your system\&. If the specified version isn\*(Aqt installed, tool initialization will fail\&. This variable must be passed as an argument to the Environment() constructor; setting it later has no effect\&.
.sp
Valid values for Windows are
+14\&.2,
14\&.1,
14\&.0,
14\&.0Exp,
@@ -16011,6 +16048,12 @@ TARSUFFIX
The suffix used for tar file names\&.
.RE
.PP
+TEMPFILEARGJOIN
+.RS 4
+The string (or character) to be used to join the arguments passed to TEMPFILE when command line exceeds the limit set by
+\fB$MAXLINELENGTH\fR\&. The default value is a space\&. However for MSVC, MSLINK the default is a line seperator characters as defined by os\&.linesep\&. Note this value is used literally and not expanded by the subst logic\&.
+.RE
+.PP
TEMPFILEPREFIX
.RS 4
The prefix for a temporary file used to store lines lines longer than $MAXLINELENGTH as operations which call out to a shell will fail if the line is too long, which particularly impacts linking\&. The default is \*(Aq@\*(Aq, which works for the Microsoft and GNU toolchains on Windows\&. Set this appropriately for other toolchains, for example \*(Aq\-@\*(Aq for the diab compiler or \*(Aq\-via\*(Aq for ARM toolchain\&.