summaryrefslogtreecommitdiff
path: root/doc/generated/builders.gen
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2015-06-21 07:55:15 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2015-06-21 07:55:15 +0200
commitf7e5d2b46b03cc4bc09c38f7e0873378bb9c3b78 (patch)
tree583fe67e23e2e7f8737b77d1834633086283c393 /doc/generated/builders.gen
parenta2795b63dd02ecddd8a0109dcc1b64108f68eace (diff)
Imported Upstream version 2.3.5upstream/2.3.5
Diffstat (limited to 'doc/generated/builders.gen')
-rw-r--r--doc/generated/builders.gen528
1 files changed, 304 insertions, 224 deletions
diff --git a/doc/generated/builders.gen b/doc/generated/builders.gen
index 3d534b0..02dc04b 100644
--- a/doc/generated/builders.gen
+++ b/doc/generated/builders.gen
@@ -486,6 +486,14 @@ and
source
arguments list different numbers of files or directories.
</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
+env.InstallAs(target = '/usr/local/bin/foo',
+ source = 'foo_debug')
+env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'],
+ source = ['libFOO.a', 'libBAR.a'])
+</example_commands>
+
</listitem>
</varlistentry>
<varlistentry id="b-InstallVersionedLib">
@@ -500,14 +508,17 @@ arguments list different numbers of files or directories.
Installs a versioned shared library. The <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link>
construction variable should be defined in the environment
to confirm the version number in the library name.
+If <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> is not defined a warning will be issued
+and the name of the library will be parsed to derive the version.
The symlinks appropriate to the architecture will be generated.
</para>
<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
-env.InstallAs(target = '/usr/local/bin/foo',
- source = 'foo_debug')
-env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'],
- source = ['libFOO.a', 'libBAR.a'])
+env.InstallVersionedLib(target = '/usr/local/bin/foo',
+ source = 'libxyz.1.5.2.so')
+env.InstallVersionedLib(target = '/usr/local/bin/foo',
+ source = 'libxyz.1.5.2.so',
+ SHLIBVERSION='1.5.2')
</example_commands>
</listitem>
</varlistentry>
@@ -832,161 +843,105 @@ Compile files for languages defined in <filename>LINGUAS</filename> file
<term>
<function>env.MSVSProject()</function>
</term>
- <listitem>
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-Builds a Microsoft Visual Studio project file,
-and by default builds a solution file as well.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-This builds a Visual Studio project file, based on the version of
-Visual Studio that is configured (either the latest installed version,
-or the version specified by
-<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link>
-in the Environment constructor).
-For Visual Studio 6, it will generate a
-<filename>.dsp</filename>
-file.
-For Visual Studio 7 (.NET) and later versions, it will generate a
-<filename>.vcproj</filename>
-file.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-By default,
-this also generates a solution file
-for the specified project,
-a
-<filename>.dsw</filename>
-file for Visual Studio 6
-or a
-<filename>.sln</filename>
-file for Visual Studio 7 (.NET).
-This behavior may be disabled by specifying
-<literal>auto_build_solution=0</literal>
-when you call
-<function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function>,
-in which case you presumably want to
-build the solution file(s)
-by calling the
-<function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSSolution</function>
-Builder (see below).
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-The <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> builder
-takes several lists of filenames
-to be placed into the project file.
-These are currently limited to
-<literal>srcs</literal>,
-<literal>incs</literal>,
-<literal>localincs</literal>,
-<literal>resources</literal>,
-and
-<literal>misc</literal>.
-These are pretty self-explanatory, but it should be noted that these
-lists are added to the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SOURCES"><envar>$SOURCES</envar></link> construction variable as strings,
-NOT as SCons File Nodes. This is because they represent file
-names to be added to the project file, not the source files used to
-build the project file.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-The above filename lists are all optional,
-although at least one must be specified
-for the resulting project file to be non-empty.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-In addition to the above lists of values,
-the following values may be specified:
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-<literal>target</literal>:
-The name of the target
-<filename>.dsp</filename>
-or
-<filename>.vcproj</filename>
-file.
-The correct
-suffix for the version of Visual Studio must be used,
-but the
-<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSPROJECTSUFFIX"><envar>$MSVSPROJECTSUFFIX</envar></link>
-construction variable
-will be defined to the correct value (see example below).
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-<literal>variant</literal>:
-The name of this particular variant.
-For Visual Studio 7 projects,
-this can also be a list of variant names.
-These are typically things like "Debug" or "Release", but really
-can be anything you want.
-For Visual Studio 7 projects,
-they may also specify a target platform
-separated from the variant name by a
-<literal>|</literal>
-(vertical pipe)
-character:
-<literal>Debug|Xbox</literal>.
-The default target platform is Win32.
-Multiple calls to
-<function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function>
-with different variants are allowed;
-all variants will be added to the project file with their appropriate
-build targets and sources.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-<literal>buildtarget</literal>:
-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
-<literal>buildtarget</literal>
-entries must match the number of
-<literal>variant</literal>
-entries.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-<literal>runfile</literal>:
-The name of the file that Visual Studio 7 and later
-will run and debug.
-This appears as the value of the
-<literal>Output</literal>
-field in the resutling Visual Studio project file.
-If this is not specified,
-the default is the same as the specified
-<literal>buildtarget</literal>
-value.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-Note that because <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> always executes its build commands
-from the directory in which the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> file is located,
-if you generate a project file in a different directory
-than the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> directory,
-users will not be able to double-click
-on the file name in compilation error messages
-displayed in the Visual Studio console output window.
-This can be remedied by adding the
-Visual C/C++
-<literal>/FC</literal>
-compiler option to the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCFLAGS"><envar>$CCFLAGS</envar></link> variable
-so that the compiler will print
-the full path name of any
-files that cause compilation errors.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-Example usage:
-</para>
-
-<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
-barsrcs = ['bar.cpp'],
+ <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> Builds a Microsoft Visual Studio project
+file, and by default builds a solution file as well. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> This
+builds a Visual Studio project file, based on the version of Visual Studio
+that is configured (either the latest installed version, or the version
+specified by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link> in the Environment constructor). For
+Visual Studio 6, it will generate a <filename>.dsp</filename> file. For Visual
+Studio 7 (.NET) and later versions, it will generate a
+<filename>.vcproj</filename> file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> By default, this also
+generates a solution file for the specified project, a
+<filename>.dsw</filename> file for Visual Studio 6 or a
+<filename>.sln</filename> file for Visual Studio 7 (.NET). This behavior may
+be disabled by specifying <literal>auto_build_solution=0</literal> when you
+call <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function>, in which case you presumably want to build the solution
+file(s) by calling the <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSSolution</function> Builder (see below). </para> <para xmlns="http://www.scons.org/dbxsd/v1.0">
+The <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> builder takes several lists of filenames to be placed into
+the project file. These are currently limited to <literal>srcs</literal>,
+<literal>incs</literal>, <literal>localincs</literal>,
+<literal>resources</literal>, and <literal>misc</literal>. These are pretty
+self-explanatory, but it should be noted that these lists are added to the
+<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SOURCES"><envar>$SOURCES</envar></link> construction variable as strings, NOT as SCons File Nodes.
+This is because they represent file names to be added to the project file, not
+the source files used to build the project file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> The above
+filename lists are all optional, although at least one must be specified for
+the resulting project file to be non-empty. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> In addition to the
+above lists of values, the following values may be specified:
+</para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0">
+ <varlistentry>
+ <term>target</term>
+
+ <listitem>
+ <para>The name of the target <filename>.dsp</filename> or
+ <filename>.vcproj</filename> file. The correct suffix for the version
+ of Visual Studio must be used, but the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSPROJECTSUFFIX"><envar>$MSVSPROJECTSUFFIX</envar></link>
+ construction variable will be defined to the correct value (see
+ example below).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>variant</term>
+
+ <listitem>
+ <para>The name of this particular variant. For Visual Studio 7
+ projects, this can also be a list of variant names. These are
+ typically things like "Debug" or "Release", but really can be anything
+ you want. For Visual Studio 7 projects, they may also specify a target
+ platform separated from the variant name by a <literal>|</literal>
+ (vertical pipe) character: <literal>Debug|Xbox</literal>. The default
+ target platform is Win32. Multiple calls to <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> with
+ different variants are allowed; all variants will be added to the
+ project file with their appropriate build targets and
+ sources.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>cmdargs</term>
+
+ <listitem>
+ <para>Additional command line arguments for the different
+ variants. The number of <literal>cmdargs</literal> entries must match
+ the number of <literal>variant</literal> entries, or be empty (not
+ specified). If you give only one, it will automatically be propagated
+ to all variants.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>buildtarget</term>
+
+ <listitem>
+ <para>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
+ <literal>buildtarget</literal> entries must match the number of
+ <literal>variant</literal> entries.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>runfile</term>
+
+ <listitem>
+ <para>The name of the file that Visual Studio 7 and later will
+ run and debug. This appears as the value of the
+ <literal>Output</literal> field in the resulting Visual Studio project
+ file. If this is not specified, the default is the same as the
+ specified <literal>buildtarget</literal> value.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist><para xmlns="http://www.scons.org/dbxsd/v1.0"> Note that because <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> always executes its build
+commands from the directory in which the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> file is located, if you
+generate a project file in a different directory than the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename>
+directory, users will not be able to double-click on the file name in
+compilation error messages displayed in the Visual Studio console output
+window. This can be remedied by adding the Visual C/C++ <literal>/FC</literal>
+compiler option to the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCFLAGS"><envar>$CCFLAGS</envar></link> variable so that the compiler will
+print the full path name of any files that cause compilation errors. </para>
+<para xmlns="http://www.scons.org/dbxsd/v1.0"> Example usage: </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0">barsrcs = ['bar.cpp'],
barincs = ['bar.h'],
barlocalincs = ['StdAfx.h']
barresources = ['bar.rc','resource.h']
@@ -1004,7 +959,143 @@ env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'],
buildtarget = dll,
variant = 'Release')
</example_commands>
-</listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Starting with version 2.4 of
+SCons it's also possible to specify the optional argument
+<parameter>DebugSettings</parameter>, which creates files for debugging under
+Visual Studio:</para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0">
+ <varlistentry>
+ <term>DebugSettings</term>
+
+ <listitem>
+ <para>A dictionary of debug settings that get written to the
+ <filename>.vcproj.user</filename> or the
+ <filename>.vcxproj.user</filename> file, depending on the version
+ installed. As it is done for cmdargs (see above), you can specify a
+ <parameter>DebugSettings</parameter> dictionary per variant. If you
+ give only one, it will be propagated to all variants.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist><para xmlns="http://www.scons.org/dbxsd/v1.0">Currently, only Visual Studio v9.0 and Visual Studio
+version v11 are implemented, for other versions no file is generated. To
+generate the user file, you just need to add a
+<parameter>DebugSettings</parameter> dictionary to the environment with the
+right parameters for your MSVS version. If the dictionary is empty, or does
+not contain any good value, no file will be generated.</para><para xmlns="http://www.scons.org/dbxsd/v1.0">Following
+is a more contrived example, involving the setup of a project for variants and
+DebugSettings:</para><example_commands xmlns="http://www.scons.org/dbxsd/v1.0"># Assuming you store your defaults in a file
+vars = Variables('variables.py')
+msvcver = vars.args.get('vc', '9')
+
+# Check command args to force one Microsoft Visual Studio version
+if msvcver == '9' or msvcver == '11':
+ env = Environment(MSVC_VERSION=msvcver+'.0', MSVC_BATCH=False)
+else:
+ env = Environment()
+
+AddOption('--userfile', action='store_true', dest='userfile', default=False,
+ help="Create Visual Studio Project user file")
+
+#
+# 1. Configure your Debug Setting dictionary with options you want in the list
+# of allowed options, for instance if you want to create a user file to launch
+# a specific application for testing your dll with Microsoft Visual Studio 2008 (v9):
+#
+V9DebugSettings = {
+ 'Command':'c:\\myapp\\using\\thisdll.exe',
+ 'WorkingDirectory': 'c:\\myapp\\using\\',
+ 'CommandArguments': '-p password',
+# 'Attach':'false',
+# 'DebuggerType':'3',
+# 'Remote':'1',
+# 'RemoteMachine': None,
+# 'RemoteCommand': None,
+# 'HttpUrl': None,
+# 'PDBPath': None,
+# 'SQLDebugging': None,
+# 'Environment': '',
+# 'EnvironmentMerge':'true',
+# 'DebuggerFlavor': None,
+# 'MPIRunCommand': None,
+# 'MPIRunArguments': None,
+# 'MPIRunWorkingDirectory': None,
+# 'ApplicationCommand': None,
+# 'ApplicationArguments': None,
+# 'ShimCommand': None,
+# 'MPIAcceptMode': None,
+# 'MPIAcceptFilter': None,
+}
+
+#
+# 2. Because there are a lot of different options depending on the Microsoft
+# Visual Studio version, if you use more than one version you have to
+# define a dictionary per version, for instance if you want to create a user
+# file to launch a specific application for testing your dll with Microsoft
+# Visual Studio 2012 (v11):
+#
+V10DebugSettings = {
+ 'LocalDebuggerCommand': 'c:\\myapp\\using\\thisdll.exe',
+ 'LocalDebuggerWorkingDirectory': 'c:\\myapp\\using\\',
+ 'LocalDebuggerCommandArguments': '-p password',
+# 'LocalDebuggerEnvironment': None,
+# 'DebuggerFlavor': 'WindowsLocalDebugger',
+# 'LocalDebuggerAttach': None,
+# 'LocalDebuggerDebuggerType': None,
+# 'LocalDebuggerMergeEnvironment': None,
+# 'LocalDebuggerSQLDebugging': None,
+# 'RemoteDebuggerCommand': None,
+# 'RemoteDebuggerCommandArguments': None,
+# 'RemoteDebuggerWorkingDirectory': None,
+# 'RemoteDebuggerServerName': None,
+# 'RemoteDebuggerConnection': None,
+# 'RemoteDebuggerDebuggerType': None,
+# 'RemoteDebuggerAttach': None,
+# 'RemoteDebuggerSQLDebugging': None,
+# 'DeploymentDirectory': None,
+# 'AdditionalFiles': None,
+# 'RemoteDebuggerDeployDebugCppRuntime': None,
+# 'WebBrowserDebuggerHttpUrl': None,
+# 'WebBrowserDebuggerDebuggerType': None,
+# 'WebServiceDebuggerHttpUrl': None,
+# 'WebServiceDebuggerDebuggerType': None,
+# 'WebServiceDebuggerSQLDebugging': None,
+}
+
+#
+# 3. Select the dictionary you want depending on the version of visual Studio
+# Files you want to generate.
+#
+if not env.GetOption('userfile'):
+ dbgSettings = None
+elif env.get('MSVC_VERSION', None) == '9.0':
+ dbgSettings = V9DebugSettings
+elif env.get('MSVC_VERSION', None) == '11.0':
+ dbgSettings = V10DebugSettings
+else:
+ dbgSettings = None
+
+#
+# 4. Add the dictionary to the DebugSettings keyword.
+#
+barsrcs = ['bar.cpp', 'dllmain.cpp', 'stdafx.cpp']
+barincs = ['targetver.h']
+barlocalincs = ['StdAfx.h']
+barresources = ['bar.rc','resource.h']
+barmisc = ['ReadMe.txt']
+
+dll = env.SharedLibrary(target = 'bar.dll',
+ source = barsrcs)
+
+env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'],
+ srcs = barsrcs,
+ incs = barincs,
+ localincs = barlocalincs,
+ resources = barresources,
+ misc = barmisc,
+ buildtarget = [dll[0]] * 2,
+ variant = ('Debug|Win32', 'Release|Win32'),
+ cmdargs = 'vc=%s' % msvcver,
+ DebugSettings = (dbgSettings, {}))
+</example_commands> </listitem>
</varlistentry>
<varlistentry id="b-MSVSSolution">
<term>
@@ -1013,70 +1104,54 @@ env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'],
<term>
<function>env.MSVSSolution()</function>
</term>
- <listitem>
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-Builds a Microsoft Visual Studio solution file.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-This builds a Visual Studio solution file,
-based on the version of Visual Studio that is configured
-(either the latest installed version,
-or the version specified by
-<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link>
-in the construction environment).
-For Visual Studio 6, it will generate a
-<filename>.dsw</filename>
-file.
-For Visual Studio 7 (.NET), it will
-generate a
-<filename>.sln</filename>
-file.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-The following values must be specified:
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-<literal>target</literal>:
-The name of the target .dsw or .sln file. The correct
-suffix for the version of Visual Studio must be used, but the value
-<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSOLUTIONSUFFIX"><envar>$MSVSSOLUTIONSUFFIX</envar></link>
-will be defined to the correct value (see example below).
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-<literal>variant</literal>:
-The name of this particular variant, or a list of variant
-names (the latter is only supported for MSVS 7 solutions). These are
-typically things like "Debug" or "Release", but really can be anything
-you want. For MSVS 7 they may also specify target platform, like this
-"Debug|Xbox". Default platform is Win32.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-<literal>projects</literal>:
-A list of project file names, or Project nodes returned by calls to the
-<function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function>
-Builder,
-to be placed into the solution file.
-It should be noted that these file names are NOT added to the $SOURCES
-environment variable in form of files, but rather as strings. This
-is because they represent file names to be added to the solution file,
-not the source files used to build the solution file.
-</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
-Example Usage:
-</para>
-
-<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
-env.MSVSSolution(target = 'Bar' + env['MSVSSOLUTIONSUFFIX'],
- projects = ['bar' + env['MSVSPROJECTSUFFIX']],
- variant = 'Release')
-</example_commands>
-</listitem>
+ <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">Builds a Microsoft Visual Studio solution
+file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0">This builds a Visual Studio solution file, based on the
+version of Visual Studio that is configured (either the latest installed
+version, or the version specified by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link> in the
+construction environment). For Visual Studio 6, it will generate a
+<filename>.dsw</filename> file. For Visual Studio 7 (.NET), it will generate a
+<filename>.sln</filename> file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> The following values must be
+specified: </para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0">
+ <varlistentry>
+ <term>target</term>
+
+ <listitem>
+ <para>The name of the target .dsw or .sln file. The correct
+ suffix for the version of Visual Studio must be used, but the value
+ <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSOLUTIONSUFFIX"><envar>$MSVSSOLUTIONSUFFIX</envar></link> will be defined to the correct value (see
+ example below).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>variant</term>
+
+ <listitem>
+ <para>The name of this particular variant, or a list of variant
+ names (the latter is only supported for MSVS 7 solutions). These are
+ typically things like "Debug" or "Release", but really can be anything
+ you want. For MSVS 7 they may also specify target platform, like this
+ "Debug|Xbox". Default platform is Win32.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>projects</term>
+
+ <listitem>
+ <para>A list of project file names, or Project nodes returned by
+ calls to the <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> Builder, to be placed into the solution
+ file. It should be noted that these file names are NOT added to the
+ $SOURCES environment variable in form of files, but rather as strings.
+ This is because they represent file names to be added to the solution
+ file, not the source files used to build the solution
+ file.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist> <para xmlns="http://www.scons.org/dbxsd/v1.0"> Example Usage: </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
+env.MSVSSolution(target = 'Bar' + env['MSVSSOLUTIONSUFFIX'], projects = ['bar'
++ env['MSVSPROJECTSUFFIX']], variant = 'Release')
+</example_commands></listitem>
</varlistentry>
<varlistentry id="b-Object">
<term>
@@ -1925,6 +2000,11 @@ and Y are numbers, and Z is a number but can also contain letters to designate
alpha, beta, or release candidate patch levels.
</para>
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
+env.SharedLibrary(target = 'bar', source = ['bar.c', 'foo.o'], SHLIBVERSION='1.5.2')
+</example_commands>
+
+
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This builder may create multiple links to the library. On a POSIX system,
for the shared library libbar.so.2.3.1, the links created would be