diff options
Diffstat (limited to '3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/msvc.xml')
-rw-r--r-- | 3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/msvc.xml | 468 |
1 files changed, 468 insertions, 0 deletions
diff --git a/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/msvc.xml b/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/msvc.xml new file mode 100644 index 0000000..1823a89 --- /dev/null +++ b/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/msvc.xml @@ -0,0 +1,468 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +__COPYRIGHT__ + +This file is processed by the bin/SConsDoc.py module. +See its __doc__ string for a discussion of the format. +--> + +<!DOCTYPE sconsdoc [ +<!ENTITY % scons SYSTEM '../../../../doc/scons.mod'> +%scons; +<!ENTITY % builders-mod SYSTEM '../../../../doc/generated/builders.mod'> +%builders-mod; +<!ENTITY % functions-mod SYSTEM '../../../../doc/generated/functions.mod'> +%functions-mod; +<!ENTITY % tools-mod SYSTEM '../../../../doc/generated/tools.mod'> +%tools-mod; +<!ENTITY % variables-mod SYSTEM '../../../../doc/generated/variables.mod'> +%variables-mod; +]> + +<sconsdoc xmlns="http://www.scons.org/dbxsd/v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd"> + +<tool name="msvc"> +<summary> +<para> +Sets construction variables for the Microsoft Visual C/C++ compiler. +</para> +</summary> +<sets> +<item>CCPDBFLAGS</item> +<item>CCPCHFLAGS</item> +<item><!--CCCOMFLAGS--></item> +<item>CC</item> +<item>CCFLAGS</item> +<item>CFLAGS</item> +<item>CCCOM</item> +<item>SHCC</item> +<item>SHCCFLAGS</item> +<item>SHCFLAGS</item> +<item>SHCCCOM</item> +<item>CXX</item> +<item>CXXFLAGS</item> +<item>CXXCOM</item> +<item>SHCXX</item> +<item>SHCXXFLAGS</item> +<item>SHCXXCOM</item> +<item>CPPDEFPREFIX</item> +<item>CPPDEFSUFFIX</item> +<item>INCPREFIX</item> +<item>INCSUFFIX</item> +<item><!--STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME--></item> +<item>RC</item> +<item>RCFLAGS</item> +<item>RCCOM</item> +<item>BUILDERS</item> +<item>OBJPREFIX</item> +<item>OBJSUFFIX</item> +<item>SHOBJPREFIX</item> +<item>SHOBJSUFFIX</item> +<item>CFILESUFFIX</item> +<item>CXXFILESUFFIX</item> +<item>PCHPDBFLAGS</item> +<item>PCHCOM</item> +</sets> +<uses> +<item>CCCOMSTR</item> +<item>SHCCCOMSTR</item> +<item>CXXCOMSTR</item> +<item>SHCXXCOMSTR</item> +<item>PCH</item> +<item>PCHSTOP</item> +<item>PDB</item> +</uses> +</tool> + +<builder name="PCH"> +<summary> +<para> +Builds a Microsoft Visual C++ precompiled header. +Calling this builder method +returns a list of two targets: the PCH as the first element, and the object +file as the second element. Normally the object file is ignored. +This builder method is only +provided when Microsoft Visual C++ is being used as the compiler. +The PCH builder method is generally used in +conjunction with the PCH construction variable to force object files to use +the precompiled header: +</para> + +<example_commands> +env['PCH'] = env.PCH('StdAfx.cpp')[0] +</example_commands> +</summary> +</builder> + +<builder name="RES"> +<summary> +<para> +Builds a Microsoft Visual C++ resource file. +This builder method is only provided +when Microsoft Visual C++ or MinGW is being used as the compiler. The +<filename>.res</filename> +(or +<filename>.o</filename> +for MinGW) suffix is added to the target name if no other suffix is given. +The source +file is scanned for implicit dependencies as though it were a C file. +Example: +</para> + +<example_commands> +env.RES('resource.rc') +</example_commands> +</summary> +</builder> + +<cvar name="CCPCHFLAGS"> +<summary> +<para> +Options added to the compiler command line +to support building with precompiled headers. +The default value expands expands to the appropriate +Microsoft Visual C++ command-line options +when the &cv-link-PCH; construction variable is set. +</para> +</summary> +</cvar> + +<cvar name="CCPDBFLAGS"> +<summary> +<para> +Options added to the compiler command line +to support storing debugging information in a +Microsoft Visual C++ PDB file. +The default value expands expands to appropriate +Microsoft Visual C++ command-line options +when the &cv-link-PDB; construction variable is set. +</para> + +<para> +The Visual C++ compiler option that SCons uses by default +to generate PDB information is <option>/Z7</option>. +This works correctly with parallel (<option>-j</option>) builds +because it embeds the debug information in the intermediate object files, +as opposed to sharing a single PDB file between multiple object files. +This is also the only way to get debug information +embedded into a static library. +Using the <option>/Zi</option> instead may yield improved +link-time performance, +although parallel builds will no longer work. +</para> + +<para> +You can generate PDB files with the <option>/Zi</option> +switch by overriding the default &cv-link-CCPDBFLAGS; variable as follows: +</para> + +<example_commands> +env['CCPDBFLAGS'] = ['${(PDB and "/Zi /Fd%s" % File(PDB)) or ""}'] +</example_commands> + +<para> +An alternative would be to use the <option>/Zi</option> +to put the debugging information in a separate <filename>.pdb</filename> +file for each object file by overriding +the &cv-link-CCPDBFLAGS; variable as follows: +</para> + +<example_commands> +env['CCPDBFLAGS'] = '/Zi /Fd${TARGET}.pdb' +</example_commands> +</summary> +</cvar> + +<cvar name="MSVC_BATCH"> +<summary> +<para> +When set to any true value, +specifies that SCons should batch +compilation of object files +when calling the Microsoft Visual C/C++ compiler. +All compilations of source files from the same source directory +that generate target files in a same output directory +and were configured in SCons using the same construction environment +will be built in a single call to the compiler. +Only source files that have changed since their +object files were built will be passed to each compiler invocation +(via the &cv-link-CHANGED_SOURCES; construction variable). +Any compilations where the object (target) file base name +(minus the <filename>.obj</filename>) +does not match the source file base name +will be compiled separately. +</para> +</summary> +</cvar> + +<cvar name="PCH"> +<summary> +<para> +The Microsoft Visual C++ precompiled header that will be used when compiling +object files. This variable is ignored by tools other than Microsoft Visual C++. +When this variable is +defined SCons will add options to the compiler command line to +cause it to use the precompiled header, and will also set up the +dependencies for the PCH file. +Example: +</para> + +<example_commands> +env['PCH'] = 'StdAfx.pch' +</example_commands> +</summary> +</cvar> + +<cvar name="PCHCOM"> +<summary> +<para> +The command line used by the +&b-PCH; +builder to generated a precompiled header. +</para> +</summary> +</cvar> + +<cvar name="PCHCOMSTR"> +<summary> +<para> +The string displayed when generating a precompiled header. +If this is not set, then &cv-link-PCHCOM; (the command line) is displayed. +</para> +</summary> +</cvar> + +<cvar name="PCHPDBFLAGS"> +<summary> +<para> +A construction variable that, when expanded, +adds the <literal>/yD</literal> flag to the command line +only if the &cv-PDB; construction variable is set. +</para> +</summary> +</cvar> + +<cvar name="PCHSTOP"> +<summary> +<para> +This variable specifies how much of a source file is precompiled. This +variable is ignored by tools other than Microsoft Visual C++, or when +the PCH variable is not being used. When this variable is define it +must be a string that is the name of the header that +is included at the end of the precompiled portion of the source files, or +the empty string if the "#pragma hrdstop" construct is being used: +</para> + +<example_commands> +env['PCHSTOP'] = 'StdAfx.h' +</example_commands> +</summary> +</cvar> + +<cvar name="RC"> +<summary> +<para> +The resource compiler used to build +a Microsoft Visual C++ resource file. +</para> +</summary> +</cvar> + +<cvar name="RCCOM"> +<summary> +<para> +The command line used to build +a Microsoft Visual C++ resource file. +</para> +</summary> +</cvar> + +<cvar name="RCCOMSTR"> +<summary> +<para> +The string displayed when invoking the resource compiler +to build a Microsoft Visual C++ resource file. +If this is not set, then &cv-link-RCCOM; (the command line) is displayed. +</para> +</summary> +</cvar> + +<cvar name="RCFLAGS"> +<summary> +<para> +The flags passed to the resource compiler by the RES builder. +</para> +</summary> +</cvar> + +<cvar name="RCINCFLAGS"> +<summary> +<para> +An automatically-generated construction variable +containing the command-line options +for specifying directories to be searched +by the resource compiler. +The value of &cv-RCINCFLAGS; is created +by appending &cv-RCINCPREFIX; and &cv-RCINCSUFFIX; +to the beginning and end +of each directory in &cv-CPPPATH;. +</para> +</summary> +</cvar> + +<cvar name="RCINCPREFIX"> +<summary> +<para> +The prefix (flag) used to specify an include directory +on the resource compiler command line. +This will be appended to the beginning of each directory +in the &cv-CPPPATH; construction variable +when the &cv-RCINCFLAGS; variable is expanded. +</para> +</summary> +</cvar> + +<cvar name="RCINCSUFFIX"> +<summary> +<para> +The suffix used to specify an include directory +on the resource compiler command line. +This will be appended to the end of each directory +in the &cv-CPPPATH; construction variable +when the &cv-RCINCFLAGS; variable is expanded. +</para> +</summary> +</cvar> + +<cvar name="MSVC_VERSION"> +<summary> +<para> +Sets the preferred version of Microsoft Visual C/C++ to use. +</para> + +<para> +If &cv-MSVC_VERSION; is not set, SCons will (by default) select the +latest version of Visual C/C++ installed on your system. If the +specified version isn't installed, tool initialization will fail. +This variable must be passed as an argument to the Environment() +constructor; setting it later has no effect. +</para> + +<para> +Valid values for Windows are +<literal>14.0</literal>, +<literal>14.0Exp</literal>, +<literal>12.0</literal>, +<literal>12.0Exp</literal>, +<literal>11.0</literal>, +<literal>11.0Exp</literal>, +<literal>10.0</literal>, +<literal>10.0Exp</literal>, +<literal>9.0</literal>, +<literal>9.0Exp</literal>, +<literal>8.0</literal>, +<literal>8.0Exp</literal>, +<literal>7.1</literal>, +<literal>7.0</literal>, +and <literal>6.0</literal>. +Versions ending in <literal>Exp</literal> refer to "Express" or +"Express for Desktop" editions. +</para> + +</summary> +</cvar> + +<cvar name="MSVC_USE_SCRIPT"> +<summary> +<para> +Use a batch script to set up Microsoft Visual Studio compiler +</para> + +<para> +&cv-MSVC_USE_SCRIPT; overrides &cv-MSVC_VERSION; and &cv-TARGET_ARCH;. +If set to the name of a Visual Studio .bat file (e.g. vcvars.bat), +SCons will run that bat file and extract the relevant variables from +the result (typically %INCLUDE%, %LIB%, and %PATH%). Setting +MSVC_USE_SCRIPT to None bypasses the Visual Studio autodetection +entirely; use this if you are running SCons in a Visual Studio cmd +window and importing the shell's environment variables. +</para> +</summary> +</cvar> + +<cvar name="HOST_ARCH"> +<summary> +<para> +Sets the host architecture for Visual Studio compiler. If not set, +default to the detected host architecture: note that this may depend +on the python you are using. +This variable must be passed as an argument to the Environment() +constructor; setting it later has no effect. +</para> + +<para> +Valid values are the same as for &cv-TARGET_ARCH;. +</para> + +<para> +This is currently only used on Windows, but in the future it will be +used on other OSes as well. +</para> +</summary> +</cvar> +<cvar name="TARGET_ARCH"> +<summary> +<para> +Sets the target architecture for Visual Studio compiler (i.e. the arch +of the binaries generated by the compiler). If not set, default to +&cv-HOST_ARCH;, or, if that is unset, to the architecture of the +running machine's OS (note that the python build or architecture has no +effect). +This variable must be passed as an argument to the Environment() +constructor; setting it later has no effect. +This is currently only used on Windows, but in the future it will be +used on other OSes as well. +</para> + +<para> +Valid values for Windows are +<literal>x86</literal>, +<literal>i386</literal> +(for 32 bits); +<literal>amd64</literal>, +<literal>emt64</literal>, +<literal>x86_64</literal> +(for 64 bits); +and <literal>ia64</literal> (Itanium). +For example, if you want to compile 64-bit binaries, you would set +<literal>TARGET_ARCH='x86_64'</literal> in your SCons environment. +</para> +</summary> +</cvar> + +<cvar name="MSVC_UWP_APP"> +<summary> +<para> +Build libraries for a Universal Windows Platform (UWP) Application. +</para> + +<para> +If &cv-MSVC_UWP_APP; is set, the Visual Studio environment will be set up to point +to the Windows Store compatible libraries and Visual Studio runtimes. In doing so, +any libraries that are built will be able to be used in a UWP App and published +to the Windows Store. +This flag will only have an effect with Visual Studio 2015+. +This variable must be passed as an argument to the Environment() +constructor; setting it later has no effect. +</para> + +<para> +Valid values are '1' or '0' +</para> + +</summary> +</cvar> + +</sconsdoc> |