diff options
Diffstat (limited to 'doc/generated/builders.gen')
| -rw-r--r-- | doc/generated/builders.gen | 647 | 
1 files changed, 367 insertions, 280 deletions
diff --git a/doc/generated/builders.gen b/doc/generated/builders.gen index d851c93..7c62558 100644 --- a/doc/generated/builders.gen +++ b/doc/generated/builders.gen @@ -572,75 +572,77 @@ env.Jar(target = 'bar.jar',        <function>env.Java()</function>      </term>      <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Builds one or more Java class files. -The sources may be any combination of explicit -<filename>.java</filename> files, -or directory trees which will be scanned -for <filename>.java</filename> files. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -SCons will parse each source <filename>.java</filename> file -to find the classes -(including inner classes) -defined within that file, -and from that figure out the -target <filename>.class</filename> files that will be created. -The class files will be placed underneath -the specified target directory. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -SCons will also search each Java file -for the Java package name, -which it assumes can be found on a line -beginning with the string -<literal>package</literal> -in the first column; -the resulting <filename>.class</filename> files -will be placed in a directory reflecting -the specified package name. -For example, -the file -<filename>Foo.java</filename> -defining a single public -<classname>Foo</classname> -class and -containing a package name of -<classname>sub.dir</classname> -will generate a corresponding -<filename>sub/dir/Foo.class</filename> -class file. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Examples: -</para> - -<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env.Java(target = 'classes', source = 'src') -env.Java(target = 'classes', source = ['src1', 'src2']) -env.Java(target = 'classes', source = ['File1.java', 'File2.java']) -</example_commands> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Java source files can use the native encoding for the underlying OS. -Since SCons compiles in simple ASCII mode by default, -the compiler will generate warnings about unmappable characters, -which may lead to errors as the file is processed further. -In this case, the user must specify the <literal>LANG</literal> -environment variable to tell the compiler what encoding is used. -For portibility, it's best if the encoding is hard-coded -so that the compile will work if it is done on a system -with a different encoding. -</para> - -<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env = Environment() -env['ENV']['LANG'] = 'en_GB.UTF-8' -</example_commands> -</listitem> +            <para xmlns="http://www.scons.org/dbxsd/v1.0"> +                Builds one or more Java class files. +                The sources may be any combination of explicit +                <filename>.java</filename> +                files, +                or directory trees which will be scanned +                for <filename>.java</filename> files. +            </para> + +            <para xmlns="http://www.scons.org/dbxsd/v1.0"> +                SCons will parse each source <filename>.java</filename> file +                to find the classes +                (including inner classes) +                defined within that file, +                and from that figure out the +                target <filename>.class</filename> files that will be created. +                The class files will be placed underneath +                the specified target directory. +            </para> + +            <para xmlns="http://www.scons.org/dbxsd/v1.0"> +                SCons will also search each Java file +                for the Java package name, +                which it assumes can be found on a line +                beginning with the string +                <literal>package</literal> +                in the first column; +                the resulting <filename>.class</filename> files +                will be placed in a directory reflecting +                the specified package name. +                For example, +                the file +                <filename>Foo.java</filename> +                defining a single public +                <classname>Foo</classname> +                class and +                containing a package name of +                <classname>sub.dir</classname> +                will generate a corresponding +                <filename>sub/dir/Foo.class</filename> +                class file. +            </para> + +            <para xmlns="http://www.scons.org/dbxsd/v1.0"> +                Examples: +            </para> + +            <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +                env.Java(target = 'classes', source = 'src') +                env.Java(target = 'classes', source = ['src1', 'src2']) +                env.Java(target = 'classes', source = ['File1.java', 'File2.java']) +            </example_commands> + +            <para xmlns="http://www.scons.org/dbxsd/v1.0"> +                Java source files can use the native encoding for the underlying OS. +                Since SCons compiles in simple ASCII mode by default, +                the compiler will generate warnings about unmappable characters, +                which may lead to errors as the file is processed further. +                In this case, the user must specify the +                <literal>LANG</literal> +                environment variable to tell the compiler what encoding is used. +                For portibility, it's best if the encoding is hard-coded +                so that the compile will work if it is done on a system +                with a different encoding. +            </para> + +            <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +                env = Environment() +                env['ENV']['LANG'] = 'en_GB.UTF-8' +            </example_commands> +        </listitem>    </varlistentry>    <varlistentry id="b-JavaH">      <term> @@ -836,148 +838,224 @@ 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><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"> +    <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, 8, and 9, it will +        generate a <filename>.vcproj</filename> file.  For Visual +        Studio 10 and later, it will generate a +        <filename>.vcxproj</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 and later. 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>cppdefines</term> +          <listitem> +            <para> +              Preprocessor definitions for the different variants. +              The number of <literal>cppdefines</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. If you don't give this parameter, SCons +              will use the invoking environment's +              <literal>CPPDEFINES</literal> entry for all variants. +            </para> +          </listitem> +        </varlistentry> +        <varlistentry> +          <term>cpppaths</term> +          <listitem> +            <para> +              Compiler include paths for the different variants. +              The number of <literal>cpppaths</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. If you don't give this parameter, SCons +              will use the invoking environment's +              <literal>CPPPATH</literal> entry for 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']  barmisc = ['bar_readme.txt'] -dll = env.SharedLibrary(target = 'bar.dll', -                        source = barsrcs) +dll = env.SharedLibrary(target='bar.dll', +                        source=barsrcs)  buildtarget = [s for s in dll if str(s).endswith('dll')] -env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], -                srcs = barsrcs, -                incs = barincs, -                localincs = barlocalincs, -                resources = barresources, -                misc = barmisc, -                buildtarget = buildtarget, -                variant = 'Release') -</example_commands> -<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 +env.MSVSProject(target='Bar' + env['MSVSPROJECTSUFFIX'], +                srcs=barsrcs, +                incs=barincs, +                localincs=barlocalincs, +                resources=barresources, +                misc=barmisc, +                buildtarget=buildtarget, +                variant='Release') +      </example_commands> +      <para xmlns="http://www.scons.org/dbxsd/v1.0"> +        Starting with version 2.4 of SCons it is +        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') @@ -986,7 +1064,7 @@ 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") @@ -1021,10 +1099,10 @@ V9DebugSettings = {  }  # -# 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  +# 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 = { @@ -1056,7 +1134,7 @@ V10DebugSettings = {  }  # -# 3. Select the dictionary you want depending on the version of visual Studio  +# 3. Select the dictionary you want depending on the version of visual Studio  # Files you want to generate.  #  if not env.GetOption('userfile'): @@ -1065,7 +1143,7 @@ elif env.get('MSVC_VERSION', None) == '9.0':      dbgSettings = V9DebugSettings  elif env.get('MSVC_VERSION', None) == '11.0':      dbgSettings = V10DebugSettings -else:     +else:      dbgSettings = None  # @@ -1077,20 +1155,21 @@ 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> +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> @@ -1099,54 +1178,60 @@ 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><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> +    <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> @@ -1206,13 +1291,15 @@ the following packagers available:  <para xmlns="http://www.scons.org/dbxsd/v1.0">   * msi - Microsoft Installer - * rpm - Redhat Package Manger + * rpm - RPM Package Manger   * ipkg - Itsy Package Management System - * tarbz2 - compressed tar - * targz - compressed tar + * tarbz2 - bzip2 compressed tar + * targz - gzip compressed tar + * tarxz - xz compressed tar   * zip - zip file - * src_tarbz2 - compressed tar source - * src_targz - compressed tar source + * src_tarbz2 - bzip2 compressed tar source + * src_targz - gzip compressed tar source + * src_tarxz - xz compressed tar source   * src_zip - zip file source  </para> @@ -2322,7 +2409,7 @@ and the result replaces the key.  </para>  <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env = Environment(tools = ['default', 'textfile']) +env = Environment(tools=['default'])  env['prefix'] = '/usr/bin'  script_dict = {'@prefix@': '/bin', '@exec_prefix@': '$prefix'} @@ -2349,7 +2436,7 @@ env.Substfile('bar.in', SUBST_DICT = good_bar)  # the SUBST_DICT may be in common (and not an override)  substutions = {} -subst = Environment(tools = ['textfile'], SUBST_DICT = substitutions) +subst = Environment(tools=['textfile'], SUBST_DICT=substitutions)  substitutions['@foo@'] = 'foo'  subst['SUBST_DICT']['@bar@'] = 'bar'  subst.Substfile('pgm1.c', [Value('#include "@foo@.h"'),  | 
