diff options
Diffstat (limited to 'scons.1')
-rw-r--r-- | scons.1 | 67 |
1 files changed, 55 insertions, 12 deletions
@@ -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\&. |