From 9e731464fbd24972ec8dacd3153517f36e654c16 Mon Sep 17 00:00:00 2001 From: Mats Wichmann Date: Thu, 23 Nov 2023 10:21:24 -0700 Subject: Update MSVC_VERSION usage and table [skip appveyor] Also convert usage of term Microsoft Visual C++ (which was used in several forms, with/without "Microsoft", as C/C++, etc.) into an entity &MSVC; for consistency. Signed-off-by: Mats Wichmann --- CHANGES.txt | 3 + SCons/Platform/Platform.xml | 6 +- SCons/Tool/mslink.xml | 16 ++--- SCons/Tool/msvc.xml | 159 ++++++++++++++++++++++------------------- SCons/Tool/msvs.xml | 65 ++++++++--------- doc/man/scons.xml | 16 ++--- doc/scons.mod | 1 + doc/user/builders-built-in.xml | 2 +- doc/user/sideeffect.xml | 4 +- doc/user/simple.xml | 4 +- doc/user/troubleshoot.xml | 4 +- 11 files changed, 147 insertions(+), 133 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index fce79a9..db3c2e6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -95,6 +95,9 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER would fail with an exception if called with a module which is not found. It will now return None. Updated manpage entry and docstring.. + - Doc update: standardized on the use of a new entity &MSVC; to + describe the Microsoft C++ compiler. Update the version table slightly. + Amplified the usage of MSVC_VERSION. RELEASE 4.6.0 - Sun, 19 Nov 2023 17:22:20 -0700 diff --git a/SCons/Platform/Platform.xml b/SCons/Platform/Platform.xml index dc9ed79..5d31f6b 100644 --- a/SCons/Platform/Platform.xml +++ b/SCons/Platform/Platform.xml @@ -167,7 +167,7 @@ else: On the win32 platform, - if the Microsoft Visual C++ compiler is available, + if the &MSVC; compiler is available, &t-link-msvc; tool setup is done using &cv-HOST_ARCH; and &cv-link-TARGET_ARCH;. Changing the values at any later time will not cause @@ -196,7 +196,7 @@ else: On the win32 platform, - if the Microsoft Visual C++ compiler is available, + if the &MSVC; compiler is available, &t-link-msvc; tool setup is done using &cv-link-HOST_ARCH; and &cv-TARGET_ARCH;. If a value is not specified, @@ -323,7 +323,7 @@ and The prefix for the name of the temporary file used to store command lines exceeding &cv-link-MAXLINELENGTH;. -The default prefix is '@', which works for the Microsoft +The default prefix is '@', which works for the &MSVC; and GNU toolchains on Windows. Set this appropriately for other toolchains, for example '-@' for the diab compiler diff --git a/SCons/Tool/mslink.xml b/SCons/Tool/mslink.xml index 52aa0f2..a9cd6e0 100644 --- a/SCons/Tool/mslink.xml +++ b/SCons/Tool/mslink.xml @@ -85,9 +85,9 @@ when using Microsoft Visual Studio. -The Microsoft Visual C++ PDB file that will store debugging information for +The &MSVC; PDB file that will store debugging information for object files, shared libraries, and programs. This variable is ignored by -tools other than Microsoft Visual C++. +tools other than &MSVC;. When this variable is defined SCons will add options to the compiler and linker command line to cause them to generate external debugging information, and will also set up the @@ -100,7 +100,7 @@ env['PDB'] = 'hello.pdb' -The Visual C++ compiler switch that SCons uses by default +The &MSVC; compiler switch that SCons uses by default to generate PDB information is . This works correctly with parallel () builds because it embeds the debug information in the intermediate object files, @@ -238,7 +238,7 @@ and must be supplied by the developer. If set to true, &scons; will add the manifest file -generated by Microsoft Visual C++ 8.0 and later +generated by &MSVC; 8.0 and later to the target list so &SCons; will be aware they were generated. In the case of an executable, the manifest file name @@ -294,7 +294,7 @@ Defaults to .exp. The prefix used for executable program manifest files -generated by Microsoft Visual C/C++. +generated by &MSVC;. Defaults to empty. @@ -304,7 +304,7 @@ Defaults to empty. The suffix used for executable program manifest files -generated by Microsoft Visual C/C++. +generated by &MSVC;. Defaults to .manifest. @@ -314,7 +314,7 @@ Defaults to .manifest. The prefix used for shared library manifest files -generated by Microsoft Visual C/C++. +generated by &MSVC;. Defaults to empty. @@ -324,7 +324,7 @@ Defaults to empty. The suffix used for shared library manifest files -generated by Microsoft Visual C/C++. +generated by &MSVC;. Defaults to .manifest. diff --git a/SCons/Tool/msvc.xml b/SCons/Tool/msvc.xml index ab0828e..6316e3a 100644 --- a/SCons/Tool/msvc.xml +++ b/SCons/Tool/msvc.xml @@ -27,7 +27,7 @@ This file is processed by the bin/SConsDoc.py module. -Sets &consvars; for the Microsoft Visual C/C++ compiler. +Sets &consvars; for the &MSVC; compiler. @@ -92,7 +92,7 @@ Sets &consvars; for the Microsoft Visual C/C++ compiler. -Builds a Microsoft Visual C++ precompiled header. +Builds a &MSVC; precompiled header. Calling this builder returns a list of two target nodes: the PCH as the first element, and the object file as the second element. @@ -108,13 +108,12 @@ env['PCH'] = env.PCH('StdAfx.cpp')[0] -This builder is specific to the PCH implementation -in Microsoft Visual C++. +This builder is specific to the PCH implementation in &MSVC;. Other compiler chains also implement precompiled header support, but &b-PCH; does not work with them at this time. As a result, the builder is only generated into the construction environment when -Microsoft Visual C++ is being used as the compiler. +&MSVC; is being used as the compiler. The builder only works correctly in a C++ project. @@ -147,9 +146,9 @@ it may be necessary to remove that file from the list. -Builds a Microsoft Visual C++ resource file. +Builds a &MSVC; resource file. This builder method is only provided -when Microsoft Visual C++ or MinGW is being used as the compiler. The +when &MSVC; or MinGW is being used as the compiler. The .res (or .o @@ -171,7 +170,7 @@ env.RES('resource.rc') 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 +&MSVC; command-line options when the &cv-link-PCH; &consvar; is set. @@ -182,14 +181,14 @@ when the &cv-link-PCH; &consvar; is set. Options added to the compiler command line to support storing debugging information in a -Microsoft Visual C++ PDB file. +&MSVC; PDB file. The default value expands expands to appropriate -Microsoft Visual C++ command-line options +&MSVC; command-line options when the &cv-link-PDB; &consvar; is set. -The Visual C++ compiler option that &SCons; uses by default +The &MSVC; compiler option that &SCons; uses by default to generate PDB information is . This works correctly with parallel () builds because it embeds the debug information in the intermediate object files, @@ -229,7 +228,7 @@ env['CCPDBFLAGS'] = '/Zi /Fd${TARGET}.pdb' When set to any true value, specifies that &SCons; should batch compilation of object files -when calling the Microsoft Visual C/C++ compiler. +when calling the &MSVC; 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 &consenv; @@ -248,9 +247,9 @@ will be compiled separately. -A node for the Microsoft Visual C++ precompiled header that will be +A node for the &MSVC; precompiled header that will be used when compiling object files. -This variable is ignored by tools other than Microsoft Visual C++. +This variable is ignored by tools other than &MSVC;. 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 @@ -298,7 +297,7 @@ only if the &cv-link-PDB; &consvar; is set. This variable specifies how much of a source file is precompiled. This -variable is ignored by tools other than Microsoft Visual C++, or when +variable is ignored by tools other than &MSVC;, 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 @@ -315,7 +314,7 @@ env['PCHSTOP'] = 'StdAfx.h' The resource compiler used to build -a Microsoft Visual C++ resource file. +a &MSVC; resource file. @@ -324,7 +323,7 @@ a Microsoft Visual C++ resource file. The command line used to build -a Microsoft Visual C++ resource file. +a &MSVC; resource file. @@ -333,7 +332,7 @@ a Microsoft Visual C++ resource file. The string displayed when invoking the resource compiler -to build a Microsoft Visual C++ resource file. +to build a &MSVC; resource file. If this is not set, then &cv-link-RCCOM; (the command line) is displayed. @@ -390,31 +389,38 @@ when the &cv-link-RCINCFLAGS; variable is expanded. -Sets the preferred version of Microsoft Visual C/C++ to use. -If the specified version is unavailable (not installed, -or not discoverable), tool initialization will fail. +A string to select the preferred version of &MSVC;. +If the specified version is unavailable and/or unknown to &SCons;, +a warning is issued showing the versions actually discovered, +and the build will eventually fail indicating a missing compiler binary. If &cv-MSVC_VERSION; is not set, &SCons; will (by default) select the -latest version of Visual C/C++ installed on your system. +latest version of &MSVC; installed on your system. +The valid values for &cv-MSVC_VERSION; represent major versions +of the compiler, except that versions ending in Exp +refer to "Express" or "Express for Desktop" Visual Studio editions, +which require distinct entries because they use a different +filesystem layout and have feature limitations compared to +the full version. +Values that do not look like a valid compiler version +string are not supported. -&cv-MSVC_VERSION; must be passed as an argument to the &f-link-Environment; -constructor when an msvc tool (e.g., &t-link-msvc;, &t-link-msvs;, etc.) is -loaded via the default tools list or via a tools list passed to the -&f-link-Environment; constructor. +To have the desired effect, &cv-MSVC_VERSION; must be set by the +time compiler discovery takes place. +If the default tools list +or an excplicit tools list including &t-link-msvc; is used, +discovery takes place as the &consenv; is created, +so passing it as an argument in the the &f-link-Environment; call +is the effective solution. Otherwise, &cv-MSVC_VERSION; must be set before the first msvc tool is loaded into the environment. +See the manpage section "Construction Environments" for an example. -The valid values for &cv-MSVC_VERSION; represent major versions -of the compiler, except that versions ending in Exp -refer to "Express" or "Express for Desktop" Visual Studio editions, -which require distict entries because they use a different -filesystem layout and have some feature limitations compared to -the full version. -The following table shows correspondence -of the selector string to various version indicators +The following table shows the correspondence +of &cv-MSVC_VERSION; values to various version indicators ('x' is used as a placeholder for a single digit that can vary). Note that it is not necessary to install Visual Studio @@ -435,141 +441,148 @@ correspond to the indicated versions. SCons Key - MSVC++ Version + +Visual C++ +Version _MSVC_VER - VS Product - MSBuild/VS Version + Visual Studio Product + + +MSBuild / +Visual Studio - 14.3 + "14.3" 14.3x 193x Visual Studio 2022 - 17.x + 17.x, 17.1x - 14.2 + "14.2" 14.2x 192x Visual Studio 2019 16.x, 16.1x - 14.1 + "14.1" 14.1 or 14.1x 191x Visual Studio 2017 15.x - 14.1Exp + "14.1Exp" 14.1 1910 Visual Studio 2017 Express 15.0 - 14.0 + "14.0" 14.0 1900 Visual Studio 2015 14.0 - 14.0Exp + "14.0Exp" 14.0 1900 Visual Studio 2015 Express 14.0 - 12.0 + "12.0" 12.0 1800 Visual Studio 2013 12.0 - 12.0Exp + "12.0Exp" 12.0 1800 Visual Studio 2013 Express 12.0 - 11.0 + "11.0" 11.0 1700 Visual Studio 2012 11.0 - 11.0Exp + "11.0Exp" 11.0 1700 Visual Studio 2012 Express 11.0 - 10.0 + "10.0" 10.0 1600 Visual Studio 2010 10.0 - 10.0Exp + "10.0Exp" 10.0 1600 Visual C++ Express 2010 10.0 - 9.0 + "9.0" 9.0 1500 Visual Studio 2008 9.0 - 9.0Exp + "9.0Exp" 9.0 1500 Visual C++ Express 2008 9.0 - 8.0 + "8.0" 8.0 1400 Visual Studio 2005 8.0 - 8.0Exp + "8.0Exp" 8.0 1400 Visual C++ Express 2005 8.0 - 7.1 + "7.1" 7.1 1300 Visual Studio .NET 2003 7.1 - 7.0 + "7.0" 7.0 1200 Visual Studio .NET 2002 7.0 - 6.0 + "6.0" 6.0 1100 Visual Studio 6.0 @@ -595,7 +608,7 @@ and &cv-link-MSVC_USE_SETTINGS;. -Use a batch script to set up the Microsoft Visual C++ compiler. +Use a batch script to set up the &MSVC; compiler. @@ -646,7 +659,7 @@ Provides arguments passed to the script &cv-link-MSVC_USE_SCRIPT;. -Use a dictionary to set up the Microsoft Visual C++ compiler. +Use a dictionary to set up the &MSVC; compiler. @@ -664,7 +677,7 @@ the environment when bypassing Visual Studio autodetection entirely by setting -Here is an example of configuring a build environment using the Microsoft Visual C/C++ compiler +Here is an example of configuring a build environment using the &MSVC; compiler included in the Microsoft SDK on a 64-bit host and building for a 64-bit architecture: # Microsoft SDK 6.0 (MSVC 8.0): 64-bit host and 64-bit target @@ -753,7 +766,7 @@ ensure successful builds. -Build with the Universal Windows Platform (UWP) application Visual C++ libraries. +Build with the Universal Windows Platform (UWP) application &MSVC; libraries. @@ -764,8 +777,8 @@ or None. When &cv-MSVC_UWP_APP; is enabled (i.e., True or -'1'), the Visual C++ environment will be set up to point -to the Windows Store compatible libraries and Visual C++ runtimes. In doing so, +'1'), the &MSVC; environment will be set up to point +to the Windows Store compatible libraries and &MSVC; 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. @@ -873,7 +886,7 @@ and also before &f-link-env-Tool; is called to ininitialize any of those tools: -Specify the &scons; behavior when the Microsoft Visual C/C++ compiler is not detected. +Specify the &scons; behavior when the &MSVC; compiler is not detected. @@ -983,7 +996,7 @@ subject to the conditions listed above. The default &scons; behavior may change -Specify the &scons; behavior when Microsoft Visual C/C++ batch file errors are detected. +Specify the &scons; behavior when &MSVC; batch file errors are detected. @@ -1113,7 +1126,7 @@ when setting the script error policy to raise an exception (e.g., 'Erro -Pass user-defined arguments to the Visual C++ batch file determined via autodetection. +Pass user-defined arguments to the &MSVC; file determined via autodetection. @@ -1371,7 +1384,7 @@ specify a Windows 10 SDK (e.g., '10.0.20348.0') for the build -Build with a specific Visual C++ toolset version. +Build with a specific &MSVC; toolset version. @@ -1474,9 +1487,9 @@ prefix is selected. When &cv-MSVC_TOOLSET_VERSION; is specified using the major msvc version prefix (i.e., 'XX.Y') and the major msvc version is that of the latest release of -Visual Studio, the selected toolset version may not be the same as the default Visual C++ toolset version. +Visual Studio, the selected toolset version may not be the same as the default &MSVC; toolset version. -In the latest release of Visual Studio, the default Visual C++ toolset version is not necessarily the +In the latest release of Visual Studio, the default &MSVC; toolset version is not necessarily the toolset with the largest version number. @@ -1543,7 +1556,7 @@ The burden is on the user to ensure the requisite toolset target architecture bu -Build with the spectre-mitigated Visual C++ libraries. +Build with the spectre-mitigated &MSVC; libraries. @@ -1553,8 +1566,8 @@ The valid values for &cv-MSVC_SPECTRE_LIBS; are: True, When &cv-MSVC_SPECTRE_LIBS; is enabled (i.e., True), -the Visual C++ environment will include the paths to the spectre-mitigated implementations -of the Microsoft Visual C++ libraries. +the &MSVC; environment will include the paths to the spectre-mitigated implementations +of the &MSVC; libraries. @@ -1581,7 +1594,7 @@ components. -Example - A Visual Studio 2022 build with spectre mitigated Visual C++ libraries: +Example - A Visual Studio 2022 build with spectre mitigated &MSVC; libraries: env = Environment(MSVC_VERSION='14.3', MSVC_SPECTRE_LIBS=True) diff --git a/SCons/Tool/msvs.xml b/SCons/Tool/msvs.xml index 864d9a2..ecea9f0 100644 --- a/SCons/Tool/msvs.xml +++ b/SCons/Tool/msvs.xml @@ -41,7 +41,7 @@ This file is processed by the bin/SConsDoc.py module - Build a Microsoft Visual C++ project file and solution file. + Build a C++ project file and solution file. Builds a C++ project file based on the @@ -59,7 +59,7 @@ This file is processed by the bin/SConsDoc.py module see the description of &cv-link-MSVC_VERSION; for equivalences. &SCons; does not know how to construct project files for other languages (such as .csproj for C#, - .vbproj for Visual Basic or + .vbproj for Visual Basic or .pyproject for Python)). @@ -237,7 +237,7 @@ This file is processed by the bin/SConsDoc.py module The name of the file that Visual Studio 7 and later will run and debug. This appears as the value of the Output field in the - resulting Visual C++ project file. If this is not + resulting C++ project file. If this is not specified, the default is the same as the specified buildtarget value. @@ -256,7 +256,7 @@ This file is processed by the bin/SConsDoc.py module than the directory of the &SConstruct; file, 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++ + be remedied by adding the &MSVC; compiler option to the &cv-link-CCFLAGS; variable so that the compiler will print the full path name of any files that cause compilation errors. @@ -567,7 +567,7 @@ env.MSVSSolution( VCINSTALLDIR - installed directory of Visual C++ + installed directory of &MSVC; @@ -646,10 +646,9 @@ env.MSVSSolution( The string placed in a generated -Microsoft Visual C++ project file as the value of the + C++ project file as the value of the ProjectGUID attribute. There is no default - value. If not -defined, a new GUID is generated. + value. If not defined, a new GUID is generated. @@ -657,11 +656,10 @@ defined, a new GUID is generated. The path name placed in a generated -Microsoft Visual C++ project file as the value of the + C++ project file as the value of the SccAuxPath attribute if the MSVS_SCC_PROVIDER &consvar; is - also set. There is -no default value. + also set. There is no default value. @@ -671,7 +669,7 @@ no default value. The root path of projects in your SCC workspace, i.e the path under which all project and solution files will be generated. It is used as a reference path from which the - relative paths of the generated Microsoft Visual C++ project + relative paths of the generated C++ project and solution files are computed. The relative project file path is placed as the value of the SccLocalPath attribute of the project file and as the values of the @@ -691,8 +689,8 @@ no default value. - The project name placed in a generated Microsoft - Visual C++ project file as the value of the + The project name placed in a generated C++ + project file as the value of the SccProjectName attribute if the MSVS_SCC_PROVIDER &consvar; is also set. In this case the string is also placed in @@ -705,8 +703,8 @@ no default value. - The string placed in a generated Microsoft - Visual C++ project file as the value of the + The string placed in a generated C++ + project file as the value of the SccProvider attribute. The string is also placed in the SccProvider0 attribute of the GlobalSection(SourceCodeControl) @@ -741,8 +739,8 @@ no default value. - The build command line placed in a generated Microsoft Visual - C++ project file. The default is to have Visual Studio + The build command line placed in a generated C++ + project file. The default is to have Visual Studio invoke &SCons; with any specified build targets. @@ -750,8 +748,8 @@ no default value. - The clean command line placed in a generated Microsoft Visual - C++ project file. The default is to have Visual Studio + The clean command line placed in a generated C++ + project file. The default is to have Visual Studio invoke &SCons; with the option to remove any specified targets. @@ -759,22 +757,22 @@ no default value. - The encoding string placed in a generated Microsoft - Visual C++ project file. The default is encoding + The encoding string placed in a generated C++ + project file. The default is encoding Windows-1252. - The action used to generate Microsoft Visual C++ project files. + The action used to generate C++ project files. - The suffix used for Microsoft Visual C++ project (DSP) - files. The default value is + The suffix used for C++ project (DSP) + files. The default value is .vcxproj when using Visual Studio 2010 and later, .vcproj when using Visual Studio versions between 2002 and 2008, @@ -785,8 +783,8 @@ no default value. - The rebuild command line placed in a generated Microsoft - Visual C++ project file. The default is to have Visual + The rebuild command line placed in a generated C++ + project file. The default is to have Visual Studio invoke &SCons; with any specified rebuild targets. @@ -795,7 +793,7 @@ no default value. - The &SCons; used in generated Microsoft Visual C++ project + The &SCons; used in generated C++ project files. The default is the version of &SCons; being used to generate the project file. @@ -804,15 +802,14 @@ no default value. - The &SCons; flags used in generated Microsoft Visual C++ project files. + The &SCons; flags used in generated C++ project files. - The default &SCons; command used in generated Microsoft Visual - C++ project files. + The default &SCons; command used in generated C++ project files. @@ -820,7 +817,7 @@ no default value. The sconscript file (that is, &SConstruct; or &SConscript; - file) that will be invoked by Visual C++ project files + file) that will be invoked by C++ project files (through the &cv-link-MSVSSCONSCOM; variable). The default is the same sconscript file that contains the call to &b-link-MSVSProject; to build the project file. @@ -847,8 +844,8 @@ no default value. The (optional) path to the &SCons; library directory, initialized from the external environment. If set, this is used to construct a shorter and more efficient search path in - the &cv-link-MSVSSCONS; command line executed from Microsoft - Visual C++ project files. + the &cv-link-MSVSSCONS; command line executed from C++ + project files. diff --git a/doc/man/scons.xml b/doc/man/scons.xml index d4b52d1..1ef6186 100644 --- a/doc/man/scons.xml +++ b/doc/man/scons.xml @@ -419,7 +419,7 @@ on various systems and initializes itself based on what is found. On Windows systems which identify as win32, &scons; searches in order for the -Microsoft Visual C++ tools, +&MSVC; tools, the MinGW tool chain, the Intel compiler tools, and the PharLap ETS compiler. @@ -431,7 +431,7 @@ On OS/2 systems, searches in order for the OS/2 compiler, the GCC tool chain, -and the Microsoft Visual C++ tools, +and the &MSVC; tools, On SGI IRIX, IBM AIX, Hewlett Packard HP-UX, and Oracle Solaris systems, &scons; searches for the native compiler tools @@ -2484,7 +2484,7 @@ env['FOO'] = 'foo' referenced only when the tools are initializided, so you either need either to supply them as part of the call to &f-link-Environment;, or defer tool initialization. -For example, initializing the Microsoft Visual C++ version you wish to use: +For example, initializing the &MSVC; version you wish to use: @@ -6406,7 +6406,7 @@ by processing multiple independent source files simultaneously. of multiple object files by passing multiple source files to a single invocation of a compiler -such as Microsoft's Visual C / C++ compiler.) +such as &MSVC;. If the batch_key argument evaluates True and is not a callable object, @@ -7907,7 +7907,7 @@ the issue by adopting the following guidelines: When using Cygwin's &gcc; for compiling, use the Cygwin-supplied &Python; interpreter to run &scons;; -when using Microsoft Visual C/C++ +when using &MSVC; (or some other "native" Windows compiler) use the python.org, Microsoft Store, ActiveState or other native version of &Python; to run &scons;. @@ -8458,7 +8458,7 @@ CC: The C compiler. -Using Microsoft Visual C++ precompiled headers +Using &MSVC; precompiled headers Since windows.h includes everything and the kitchen sink, it can take quite @@ -8522,7 +8522,7 @@ headers consult the MSDN documentation for -Using Microsoft Visual C++ external debugging information +Using &MSVC; external debugging information Since including debugging information in programs and shared libraries can cause their size to increase significantly, Microsoft provides a mechanism @@ -8585,7 +8585,7 @@ so the command line can be used to override SCONS_CACHE_MSVC_CONFIG (Windows only). If set, save the shell environment variables -generated when setting up the Microsoft Visual C++ compiler +generated when setting up the &MSVC; compiler (and/or Build Tools) to a cache file, to give these settings persistence across &scons; invocations. Generating this information is relatively expensive, diff --git a/doc/scons.mod b/doc/scons.mod index 2d3f5a4..2288879 100644 --- a/doc/scons.mod +++ b/doc/scons.mod @@ -76,6 +76,7 @@ m4"> Make"> Make++"> +Microsoft Visual C++"> ninja"> pdflatex"> pdftex"> diff --git a/doc/user/builders-built-in.xml b/doc/user/builders-built-in.xml index 85a5d69..7c243ed 100644 --- a/doc/user/builders-built-in.xml +++ b/doc/user/builders-built-in.xml @@ -578,7 +578,7 @@ SharedLibrary(['file.c', 'another.c'])
- Microsoft Visual C++ Resource Files: the &RES; Builder + &MSVC; Resource Files: the &RES; Builder diff --git a/doc/user/sideeffect.xml b/doc/user/sideeffect.xml index 48d3d9c..863bb71 100644 --- a/doc/user/sideeffect.xml +++ b/doc/user/sideeffect.xml @@ -112,7 +112,7 @@ f1 = env.Command( In general, &SideEffect; is not intended for the case when a command produces extra target files (that is, files which will be used as sources to other build steps). For example, the - the Microsoft Visual C/C++ compiler is capable of performing + the &MSVC; compiler is capable of performing incremental linking, for which it uses a status file - such that linking foo.exe also produces a foo.ilk, or uses it if it was already present, @@ -136,7 +136,7 @@ f1 = env.Command( Unfortunately, the tool which sets up the &b-Program; builder - for the MSVC compiler chain does not come prebuilt + for the &MSVC; compiler chain does not come prebuilt with an understanding of the details of the .ilk example - that the target list would need to change in the presence of that specific option flag. Unlike the trivial diff --git a/doc/user/simple.xml b/doc/user/simple.xml index 3fa8cea..34a3761 100644 --- a/doc/user/simple.xml +++ b/doc/user/simple.xml @@ -106,7 +106,7 @@ int main() { printf("Hello, world!\n"); } - On a Windows system with the Microsoft Visual C++ compiler, + On a Windows system with the &MSVC; compiler, you'll see something like: @@ -215,7 +215,7 @@ int main() { printf("Hello, world!\n"); } And just the &hello_obj; object file - on a Windows system (with the Microsoft Visual C++ compiler): + on a Windows system (with the &MSVC; compiler): diff --git a/doc/user/troubleshoot.xml b/doc/user/troubleshoot.xml index 7a13b64..e7ee81e 100644 --- a/doc/user/troubleshoot.xml +++ b/doc/user/troubleshoot.xml @@ -288,7 +288,7 @@ print(env.Dump()) - On a Windows system with Visual C++ + On a Windows system with &MSVC; the output might look like: @@ -300,7 +300,7 @@ print(env.Dump()) The &consenvs; in these examples have - actually been restricted to just gcc and Visual C++, + actually been restricted to just gcc and &MSVC; respectively. In a real-life situation, the &consenvs; will -- cgit v0.12 From 1e8bf43a21a8e737b0babcbe40fc99c3b67d56db Mon Sep 17 00:00:00 2001 From: Mats Wichmann Date: Mon, 19 Feb 2024 07:46:24 -0700 Subject: Markup more MSVC C++ refs [skip appveyor] Also style MSBuild (did not create an entity for it) Signed-off-by: Mats Wichmann --- SCons/Tool/msvc.xml | 2 +- SCons/Tool/msvs.xml | 31 +++++++++++++++++-------------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/SCons/Tool/msvc.xml b/SCons/Tool/msvc.xml index 6316e3a..a5f873d 100644 --- a/SCons/Tool/msvc.xml +++ b/SCons/Tool/msvc.xml @@ -1126,7 +1126,7 @@ when setting the script error policy to raise an exception (e.g., 'Erro -Pass user-defined arguments to the &MSVC; file determined via autodetection. +Pass user-defined arguments to the &MSVC; batch file determined via autodetection. diff --git a/SCons/Tool/msvs.xml b/SCons/Tool/msvs.xml index ecea9f0..824b8c1 100644 --- a/SCons/Tool/msvs.xml +++ b/SCons/Tool/msvs.xml @@ -41,11 +41,12 @@ This file is processed by the bin/SConsDoc.py module - Build a C++ project file and solution file. + Build a &MSVC; project file and solution file. - Builds a C++ project file based on the - version of Visual Studio (or to be more precise, of MSBuild) + Builds a &MSVC; project file based on the + version of Visual Studio (or to be more precise, of + MSBuild) that is configured: either the latest installed version, or the version specified by &cv-link-MSVC_VERSION; in the current &consenv;. @@ -57,10 +58,10 @@ This file is processed by the bin/SConsDoc.py module Note there are multiple versioning schemes involved in the Microsoft compilation environment - see the description of &cv-link-MSVC_VERSION; for equivalences. - &SCons; does not know how to construct project files for - other languages (such as .csproj for C#, + Note &SCons; does not know how to construct project files for + other languages (e.g. .csproj for C#, .vbproj for Visual Basic or - .pyproject for Python)). + .pyproject for Python). For the .vcxproj file, the underlying @@ -69,7 +70,7 @@ This file is processed by the bin/SConsDoc.py module https://learn.microsoft.com/en-us/cpp/build/reference/vcxproj-file-structure. The generated solution file enables Visual Studio to understand the project structure, and allows building it - using MSBuild to call back to &SCons;. + using MSBuild to call back to &SCons;. The project file encodes a toolset version that has been selected by &SCons; as described above. Since recent Visual Studio versions support multiple concurrent toolsets, @@ -77,7 +78,7 @@ This file is processed by the bin/SConsDoc.py module it does not match the &SCons; default. The project file also includes entries which describe how to call &SCons; to build the project from within Visual Studio - (or from an MSBuild command line). + (or from an MSBuild command line). In some situations &SCons; may generate this incorrectly - notably when using the scons-local distribution, which is not installed in a way that that @@ -112,7 +113,8 @@ This file is processed by the bin/SConsDoc.py module (for example if you generate files for inclusion by using the &f-link-Glob; function, the results should be converted to a list of strings before passing them to &b-MSVSProject;). - This is because Visual Studio and MSBuild know nothing about &SCons; + This is because Visual Studio and + MSBuild know nothing about &SCons; Node types. Each of the filename lists are individually optional, but at least one list must be specified for the resulting project file to @@ -272,7 +274,8 @@ This file is processed by the bin/SConsDoc.py module of the build. - If the project file is used to drive MSBuild (such as selecting + If the project file is used to drive + MSBuild (such as selecting "build" from the Visual Studio interface) you lose the direct control of target selection and command-line options you would have if launching the build directly from &SCons;, @@ -283,7 +286,8 @@ This file is processed by the bin/SConsDoc.py module targets, arguments, defines, flags and paths for different variants. - If the build is divided into a solution with multiple MSBuild + If the build is divided into a solution with multiple + MSBuild projects the mapping is further strained. In this case, it is important not to set Visual Studio to do parallel builds, as it will then launch the separate project builds in parallel, @@ -529,7 +533,8 @@ env.MSVSProject( into the solution file. Note that these filenames need to be specified as strings, NOT as &SCons; File Nodes. - This is because the solution file will be interpreted by MSBuild + This is because the solution file will be interpreted by + MSBuild and by Visual Studio, which know nothing about &SCons; Node types. @@ -649,7 +654,6 @@ env.MSVSSolution( C++ project file as the value of the ProjectGUID attribute. There is no default value. If not defined, a new GUID is generated. - @@ -660,7 +664,6 @@ env.MSVSSolution( SccAuxPath attribute if the MSVS_SCC_PROVIDER &consvar; is also set. There is no default value. - -- cgit v0.12 From ace74481e5520d2f29fe13eed0b3e39b4c7ec496 Mon Sep 17 00:00:00 2001 From: William Deegan Date: Thu, 29 Feb 2024 17:41:22 -0800 Subject: fixed a few typos and changed all references to c++ project file to be MSVC (entity) project file --- SCons/Tool/msvc.xml | 4 +- SCons/Tool/msvs.xml | 32 +-- doc/generated/builders.gen | 46 +++-- doc/generated/examples/caching_ex-random_1.xml | 4 +- doc/generated/examples/troubleshoot_explain1_3.xml | 2 +- .../examples/troubleshoot_stacktrace_2.xml | 4 +- .../examples/troubleshoot_taskmastertrace_1.xml | 25 +++ doc/generated/functions.gen | 86 +++++--- doc/generated/tools.gen | 2 +- doc/generated/variables.gen | 229 +++++++++++---------- 10 files changed, 252 insertions(+), 182 deletions(-) diff --git a/SCons/Tool/msvc.xml b/SCons/Tool/msvc.xml index a5f873d..a0f6573 100644 --- a/SCons/Tool/msvc.xml +++ b/SCons/Tool/msvc.xml @@ -409,7 +409,7 @@ Values that do not look like a valid compiler version To have the desired effect, &cv-MSVC_VERSION; must be set by the time compiler discovery takes place. If the default tools list -or an excplicit tools list including &t-link-msvc; is used, +or an explicit tools list including &t-link-msvc; is used, discovery takes place as the &consenv; is created, so passing it as an argument in the the &f-link-Environment; call is the effective solution. @@ -427,7 +427,7 @@ Note that it is not necessary to install Visual Studio to build with &SCons; (for example, you can install only Build Tools), but if Visual Studio is installed, additional builders such as &b-link-MSVSSolution; and -&b-link-MSVSProject; become avaialable and will +&b-link-MSVSProject; become available and will correspond to the indicated versions. diff --git a/SCons/Tool/msvs.xml b/SCons/Tool/msvs.xml index 824b8c1..5adf025 100644 --- a/SCons/Tool/msvs.xml +++ b/SCons/Tool/msvs.xml @@ -239,7 +239,7 @@ This file is processed by the bin/SConsDoc.py module The name of the file that Visual Studio 7 and later will run and debug. This appears as the value of the Output field in the - resulting C++ project file. If this is not + resulting &MSVC; project file. If this is not specified, the default is the same as the specified buildtarget value. @@ -651,7 +651,7 @@ env.MSVSSolution( The string placed in a generated - C++ project file as the value of the + &MSVC; project file as the value of the ProjectGUID attribute. There is no default value. If not defined, a new GUID is generated. @@ -660,7 +660,7 @@ env.MSVSSolution( The path name placed in a generated - C++ project file as the value of the + &MSVC; project file as the value of the SccAuxPath attribute if the MSVS_SCC_PROVIDER &consvar; is also set. There is no default value. @@ -672,7 +672,7 @@ env.MSVSSolution( The root path of projects in your SCC workspace, i.e the path under which all project and solution files will be generated. It is used as a reference path from which the - relative paths of the generated C++ project + relative paths of the generated &MSVC; project and solution files are computed. The relative project file path is placed as the value of the SccLocalPath attribute of the project file and as the values of the @@ -692,7 +692,7 @@ env.MSVSSolution( - The project name placed in a generated C++ + The project name placed in a generated &MSVC; project file as the value of the SccProjectName attribute if the MSVS_SCC_PROVIDER &consvar; @@ -706,7 +706,7 @@ env.MSVSSolution( - The string placed in a generated C++ + The string placed in a generated &MSVC; project file as the value of the SccProvider attribute. The string is also placed in the SccProvider0 attribute @@ -742,7 +742,7 @@ env.MSVSSolution( - The build command line placed in a generated C++ + The build command line placed in a generated &MSVC; project file. The default is to have Visual Studio invoke &SCons; with any specified build targets. @@ -751,7 +751,7 @@ env.MSVSSolution( - The clean command line placed in a generated C++ + The clean command line placed in a generated &MSVC; project file. The default is to have Visual Studio invoke &SCons; with the option to remove any specified targets. @@ -760,7 +760,7 @@ env.MSVSSolution( - The encoding string placed in a generated C++ + The encoding string placed in a generated &MSVC; project file. The default is encoding Windows-1252. @@ -768,13 +768,13 @@ env.MSVSSolution( - The action used to generate C++ project files. + The action used to generate &MSVC; project files. - The suffix used for C++ project (DSP) + The suffix used for &MSVC; project (DSP) files. The default value is .vcxproj when using Visual Studio 2010 and later, .vcproj @@ -786,7 +786,7 @@ env.MSVSSolution( - The rebuild command line placed in a generated C++ + The rebuild command line placed in a generated &MSVC; project file. The default is to have Visual Studio invoke &SCons; with any specified rebuild targets. @@ -796,7 +796,7 @@ env.MSVSSolution( - The &SCons; used in generated C++ project + The &SCons; used in generated &MSVC; project files. The default is the version of &SCons; being used to generate the project file. @@ -805,14 +805,14 @@ env.MSVSSolution( - The &SCons; flags used in generated C++ project files. + The &SCons; flags used in generated &MSVC; project files. - The default &SCons; command used in generated C++ project files. + The default &SCons; command used in generated &MSVC; project files. @@ -820,7 +820,7 @@ env.MSVSSolution( The sconscript file (that is, &SConstruct; or &SConscript; - file) that will be invoked by C++ project files + file) that will be invoked by &MSVC; project files (through the &cv-link-MSVSSCONSCOM; variable). The default is the same sconscript file that contains the call to &b-link-MSVSProject; to build the project file. diff --git a/doc/generated/builders.gen b/doc/generated/builders.gen index 25254b2..0515377 100644 --- a/doc/generated/builders.gen +++ b/doc/generated/builders.gen @@ -836,11 +836,12 @@ Compile files for languages defined in LINGUAS file MSVSProject() env.MSVSProject() - Build a Microsoft Visual C++ project file and solution file. + Build a &MSVC; project file and solution file. - Builds a C++ project file based on the - version of Visual Studio (or to be more precise, of MSBuild) + Builds a &MSVC; project file based on the + version of Visual Studio (or to be more precise, of + MSBuild) that is configured: either the latest installed version, or the version specified by &cv-link-MSVC_VERSION; in the current &consenv;. @@ -852,10 +853,10 @@ Compile files for languages defined in LINGUAS file Note there are multiple versioning schemes involved in the Microsoft compilation environment - see the description of &cv-link-MSVC_VERSION; for equivalences. - &SCons; does not know how to construct project files for - other languages (such as .csproj for C#, - .vbproj for Visual Basic or - .pyproject for Python)). + Note &SCons; does not know how to construct project files for + other languages (e.g. .csproj for C#, + .vbproj for Visual Basic or + .pyproject for Python). For the .vcxproj file, the underlying @@ -864,7 +865,7 @@ Compile files for languages defined in LINGUAS file https://learn.microsoft.com/en-us/cpp/build/reference/vcxproj-file-structure. The generated solution file enables Visual Studio to understand the project structure, and allows building it - using MSBuild to call back to &SCons;. + using MSBuild to call back to &SCons;. The project file encodes a toolset version that has been selected by &SCons; as described above. Since recent Visual Studio versions support multiple concurrent toolsets, @@ -872,7 +873,7 @@ Compile files for languages defined in LINGUAS file it does not match the &SCons; default. The project file also includes entries which describe how to call &SCons; to build the project from within Visual Studio - (or from an MSBuild command line). + (or from an MSBuild command line). In some situations &SCons; may generate this incorrectly - notably when using the scons-local distribution, which is not installed in a way that that @@ -907,7 +908,8 @@ Compile files for languages defined in LINGUAS file (for example if you generate files for inclusion by using the &f-link-Glob; function, the results should be converted to a list of strings before passing them to &b-MSVSProject;). - This is because Visual Studio and MSBuild know nothing about &SCons; + This is because Visual Studio and + MSBuild know nothing about &SCons; Node types. Each of the filename lists are individually optional, but at least one list must be specified for the resulting project file to @@ -1032,7 +1034,7 @@ Compile files for languages defined in LINGUAS file The name of the file that Visual Studio 7 and later will run and debug. This appears as the value of the Output field in the - resulting Visual C++ project file. If this is not + resulting &MSVC; project file. If this is not specified, the default is the same as the specified buildtarget value. @@ -1051,7 +1053,7 @@ Compile files for languages defined in LINGUAS file than the directory of the &SConstruct; file, 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++ + be remedied by adding the &MSVC; compiler option to the &cv-link-CCFLAGS; variable so that the compiler will print the full path name of any files that cause compilation errors. @@ -1067,7 +1069,8 @@ Compile files for languages defined in LINGUAS file of the build. - If the project file is used to drive MSBuild (such as selecting + If the project file is used to drive + MSBuild (such as selecting "build" from the Visual Studio interface) you lose the direct control of target selection and command-line options you would have if launching the build directly from &SCons;, @@ -1078,7 +1081,8 @@ Compile files for languages defined in LINGUAS file targets, arguments, defines, flags and paths for different variants. - If the build is divided into a solution with multiple MSBuild + If the build is divided into a solution with multiple + MSBuild projects the mapping is further strained. In this case, it is important not to set Visual Studio to do parallel builds, as it will then launch the separate project builds in parallel, @@ -1325,7 +1329,8 @@ env.MSVSProject( into the solution file. Note that these filenames need to be specified as strings, NOT as &SCons; File Nodes. - This is because the solution file will be interpreted by MSBuild + This is because the solution file will be interpreted by + MSBuild and by Visual Studio, which know nothing about &SCons; Node types. @@ -1537,7 +1542,7 @@ the top directory of the project. PCH() env.PCH() -Builds a Microsoft Visual C++ precompiled header. +Builds a &MSVC; precompiled header. Calling this builder returns a list of two target nodes: the PCH as the first element, and the object file as the second element. @@ -1553,13 +1558,12 @@ env['PCH'] = env.PCH('StdAfx.cpp')[0] -This builder is specific to the PCH implementation -in Microsoft Visual C++. +This builder is specific to the PCH implementation in &MSVC;. Other compiler chains also implement precompiled header support, but &b-PCH; does not work with them at this time. As a result, the builder is only generated into the construction environment when -Microsoft Visual C++ is being used as the compiler. +&MSVC; is being used as the compiler. The builder only works correctly in a C++ project. @@ -2074,9 +2078,9 @@ env.Program(target='foo', source=['foo.o', 'bar.c', 'baz.f']) RES() env.RES() -Builds a Microsoft Visual C++ resource file. +Builds a &MSVC; resource file. This builder method is only provided -when Microsoft Visual C++ or MinGW is being used as the compiler. The +when &MSVC; or MinGW is being used as the compiler. The .res (or .o diff --git a/doc/generated/examples/caching_ex-random_1.xml b/doc/generated/examples/caching_ex-random_1.xml index 940377d..a1f68fe 100644 --- a/doc/generated/examples/caching_ex-random_1.xml +++ b/doc/generated/examples/caching_ex-random_1.xml @@ -1,8 +1,8 @@ % scons -Q -cc -o f2.o -c f2.c cc -o f3.o -c f3.c cc -o f5.o -c f5.c -cc -o f1.o -c f1.c cc -o f4.o -c f4.c +cc -o f2.o -c f2.c +cc -o f1.o -c f1.c cc -o prog f1.o f2.o f3.o f4.o f5.o diff --git a/doc/generated/examples/troubleshoot_explain1_3.xml b/doc/generated/examples/troubleshoot_explain1_3.xml index e658d89..76e4b79 100644 --- a/doc/generated/examples/troubleshoot_explain1_3.xml +++ b/doc/generated/examples/troubleshoot_explain1_3.xml @@ -2,5 +2,5 @@ cp file.in file.oout scons: warning: Cannot find target file.out after building -File "/Users/bdbaddog/devel/scons/git/as_scons/scripts/scons.py", line 97, in <module> +File "/Users/bdbaddog/devel/scons/git/mwichmann/scripts/scons.py", line 97, in <module> diff --git a/doc/generated/examples/troubleshoot_stacktrace_2.xml b/doc/generated/examples/troubleshoot_stacktrace_2.xml index 668e67f..0250025 100644 --- a/doc/generated/examples/troubleshoot_stacktrace_2.xml +++ b/doc/generated/examples/troubleshoot_stacktrace_2.xml @@ -1,13 +1,13 @@ % scons -Q --debug=stacktrace scons: *** [prog.o] Source `prog.c' not found, needed by target `prog.o'. scons: internal stack trace: - File "SCons/Taskmaster/Job.py", line 219, in start + File "SCons/Taskmaster/Job.py", line 671, in _work task.prepare() File "SCons/Script/Main.py", line 201, in prepare return SCons.Taskmaster.OutOfDateTask.prepare(self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "SCons/Taskmaster/__init__.py", line 195, in prepare executor.prepare() - File "SCons/Executor.py", line 418, in prepare + File "SCons/Executor.py", line 420, in prepare raise SCons.Errors.StopError(msg % (s, self.batches[0].targets[0])) diff --git a/doc/generated/examples/troubleshoot_taskmastertrace_1.xml b/doc/generated/examples/troubleshoot_taskmastertrace_1.xml index 1a3041d..fe821ba 100644 --- a/doc/generated/examples/troubleshoot_taskmastertrace_1.xml +++ b/doc/generated/examples/troubleshoot_taskmastertrace_1.xml @@ -1,4 +1,8 @@ % scons -Q --taskmastertrace=- prog +Job.NewParallel._work(): [Thread:8453497088] Gained exclusive access +Job.NewParallel._work(): [Thread:8453497088] Starting search +Job.NewParallel._work(): [Thread:8453497088] Found 0 completed tasks to process +Job.NewParallel._work(): [Thread:8453497088] Searching for new tasks Taskmaster: Looking for a node to evaluate Taskmaster: Considering node <no_state 0 'prog'> and its children: @@ -14,10 +18,12 @@ Taskmaster: Evaluating <pending 0 'prog.c'> Task.make_ready_current(): node <pending 0 'prog.c'> Task.prepare(): node <up_to_date 0 'prog.c'> +Job.NewParallel._work(): [Thread:8453497088] Found internal task Task.executed_with_callbacks(): node <up_to_date 0 'prog.c'> Task.postprocess(): node <up_to_date 0 'prog.c'> Task.postprocess(): removing <up_to_date 0 'prog.c'> Task.postprocess(): adjusted parent ref count <pending 1 'prog.o'> +Job.NewParallel._work(): [Thread:8453497088] Searching for new tasks Taskmaster: Looking for a node to evaluate Taskmaster: Considering node <no_state 0 'inc.h'> and its children: @@ -25,10 +31,12 @@ Taskmaster: Evaluating <pending 0 'inc.h'> Task.make_ready_current(): node <pending 0 'inc.h'> Task.prepare(): node <up_to_date 0 'inc.h'> +Job.NewParallel._work(): [Thread:8453497088] Found internal task Task.executed_with_callbacks(): node <up_to_date 0 'inc.h'> Task.postprocess(): node <up_to_date 0 'inc.h'> Task.postprocess(): removing <up_to_date 0 'inc.h'> Task.postprocess(): adjusted parent ref count <pending 0 'prog.o'> +Job.NewParallel._work(): [Thread:8453497088] Searching for new tasks Taskmaster: Looking for a node to evaluate Taskmaster: Considering node <pending 0 'prog.o'> and its children: @@ -38,12 +46,19 @@ Taskmaster: Evaluating <pending 0 'prog.o'> Task.make_ready_current(): node <pending 0 'prog.o'> Task.prepare(): node <executing 0 'prog.o'> +Job.NewParallel._work(): [Thread:8453497088] Found task requiring execution +Job.NewParallel._work(): [Thread:8453497088] Executing task Task.execute(): node <executing 0 'prog.o'> cc -o prog.o -c -I. prog.c +Job.NewParallel._work(): [Thread:8453497088] Enqueueing executed task results +Job.NewParallel._work(): [Thread:8453497088] Gained exclusive access +Job.NewParallel._work(): [Thread:8453497088] Starting search +Job.NewParallel._work(): [Thread:8453497088] Found 1 completed tasks to process Task.executed_with_callbacks(): node <executing 0 'prog.o'> Task.postprocess(): node <executed 0 'prog.o'> Task.postprocess(): removing <executed 0 'prog.o'> Task.postprocess(): adjusted parent ref count <pending 0 'prog'> +Job.NewParallel._work(): [Thread:8453497088] Searching for new tasks Taskmaster: Looking for a node to evaluate Taskmaster: Considering node <pending 0 'prog'> and its children: @@ -52,11 +67,21 @@ Taskmaster: Evaluating <pending 0 'prog'> Task.make_ready_current(): node <pending 0 'prog'> Task.prepare(): node <executing 0 'prog'> +Job.NewParallel._work(): [Thread:8453497088] Found task requiring execution +Job.NewParallel._work(): [Thread:8453497088] Executing task Task.execute(): node <executing 0 'prog'> cc -o prog prog.o +Job.NewParallel._work(): [Thread:8453497088] Enqueueing executed task results +Job.NewParallel._work(): [Thread:8453497088] Gained exclusive access +Job.NewParallel._work(): [Thread:8453497088] Starting search +Job.NewParallel._work(): [Thread:8453497088] Found 1 completed tasks to process Task.executed_with_callbacks(): node <executing 0 'prog'> Task.postprocess(): node <executed 0 'prog'> +Job.NewParallel._work(): [Thread:8453497088] Searching for new tasks Taskmaster: Looking for a node to evaluate Taskmaster: No candidate anymore. +Job.NewParallel._work(): [Thread:8453497088] Found no task requiring execution, and have no jobs: marking complete +Job.NewParallel._work(): [Thread:8453497088] Gained exclusive access +Job.NewParallel._work(): [Thread:8453497088] Completion detected, breaking from main loop diff --git a/doc/generated/functions.gen b/doc/generated/functions.gen index 2068b55..b93fa8d 100644 --- a/doc/generated/functions.gen +++ b/doc/generated/functions.gen @@ -3246,13 +3246,12 @@ See the manpage section "Construction Environments" for more details. Precious(target, ...) env.Precious(target, ...) -Marks each given -target -as precious so it is not deleted before it is rebuilt. Normally -&scons; -deletes a target before building it. -Multiple targets can be passed in to a single call to -&f-Precious;. +Marks target as precious so it is not +deleted before it is rebuilt. +Normally &SCons; deletes a target before building it. +Multiple targets can be passed in a single call, +and may be strings and/or nodes. +Returns a list of the affected target nodes. @@ -3500,16 +3499,24 @@ Progress(['-\r', '\\\r', '|\r', '/\r'], interval=5) Pseudo(target, ...) env.Pseudo(target, ...) -This indicates that each given -target -should not be created by the build rule, and if the target is created, -an error will be generated. This is similar to the gnu make .PHONY -target. However, in the vast majority of cases, an -&f-Alias; -is more appropriate. +Marks target as a pseudo target, +not representing the production of any physical target file. +If any pseudo target does exist, +&SCons; will abort the build with an error. +Multiple targets can be passed in a single call, +and may be strings and/or Nodes. +Returns a list of the affected target nodes. + -Multiple targets can be passed in to a single call to -&f-Pseudo;. + +&f-Pseudo; may be useful in conjuction with a builder +call (such as &f-link-Command;) which does not create a physical target, +and the behavior if the target accidentally existed would be incorrect. +This is similar in concept to the GNU make +.PHONY target. +&SCons; also provides a powerful target alias capability +(see &f-link-Alias;) which may provide more flexibility +in many situations when defining target names that are not directly built. @@ -3517,20 +3524,41 @@ Multiple targets can be passed in to a single call to PyPackageDir(modulename) env.PyPackageDir(modulename) -This returns a Directory Node similar to Dir. -The python module / package is looked up and if located -the directory is returned for the location. -modulename -Is a named python package / module to -lookup the directory for it's location. - - -If -modulename -is a list, SCons returns a list of Dir nodes. +Finds the location of modulename, +which can be a string or a sequence of strings, +each representing the name of a &Python; module. Construction variables are expanded in modulename. +Returns a Directory Node (see &f-link-Dir;), +or a list of Directory Nodes if +modulename is a sequence. +None is returned for any module not found. + + +When a Tool module which is installed as a +&Python; module is used, you need +to specify a toolpath argument to +&f-link-Tool;, +&f-link-Environment; +or &f-link-Clone;, +as tools outside the standard project locations +(site_scons/site_tools) +will not be found otherwise. +Using &f-PyPackageDir; allows this path to be +discovered at runtime instead of hardcoding the path. + + + +Example: + + + +env = Environment( + tools=["default", "ExampleTool"], + toolpath=[PyPackageDir("example_tool")] +) + @@ -3615,6 +3643,10 @@ but the target file(s) do not actually depend on the prerequisites and will not be rebuilt simply because the prerequisite file(s) change. +target and +prerequisite may each +be a string or Node, or a list of strings or Nodes. +Returns a list of the affected target nodes. diff --git a/doc/generated/tools.gen b/doc/generated/tools.gen index 3e1b0dc..d6f2eb2 100644 --- a/doc/generated/tools.gen +++ b/doc/generated/tools.gen @@ -779,7 +779,7 @@ the Microsoft toolchain: msvc -Sets &consvars; for the Microsoft Visual C/C++ compiler. +Sets &consvars; for the &MSVC; compiler. Sets: &cv-link-BUILDERS;, &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCDEPFLAGS;, &cv-link-CCFLAGS;, &cv-link-CCPCHFLAGS;, &cv-link-CCPDBFLAGS;, &cv-link-CFILESUFFIX;, &cv-link-CFLAGS;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-CXXFLAGS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-OBJPREFIX;, &cv-link-OBJSUFFIX;, &cv-link-PCHCOM;, &cv-link-PCHPDBFLAGS;, &cv-link-RC;, &cv-link-RCCOM;, &cv-link-RCFLAGS;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJPREFIX;, &cv-link-SHOBJSUFFIX;.Uses: &cv-link-CCCOMSTR;, &cv-link-CXXCOMSTR;, &cv-link-MSVC_NOTFOUND_POLICY;, &cv-link-MSVC_SCRIPTERROR_POLICY;, &cv-link-MSVC_SCRIPT_ARGS;, &cv-link-MSVC_SDK_VERSION;, &cv-link-MSVC_SPECTRE_LIBS;, &cv-link-MSVC_TOOLSET_VERSION;, &cv-link-MSVC_USE_SCRIPT;, &cv-link-MSVC_USE_SCRIPT_ARGS;, &cv-link-MSVC_USE_SETTINGS;, &cv-link-MSVC_VERSION;, &cv-link-PCH;, &cv-link-PCHSTOP;, &cv-link-PDB;, &cv-link-SHCCCOMSTR;, &cv-link-SHCXXCOMSTR;. diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen index 621853d..3f42b49 100644 --- a/doc/generated/variables.gen +++ b/doc/generated/variables.gen @@ -447,7 +447,7 @@ See also &cv-link-SHCCFLAGS; for compiling to shared objects. 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 +&MSVC; command-line options when the &cv-link-PCH; &consvar; is set. @@ -459,14 +459,14 @@ when the &cv-link-PCH; &consvar; is set. Options added to the compiler command line to support storing debugging information in a -Microsoft Visual C++ PDB file. +&MSVC; PDB file. The default value expands expands to appropriate -Microsoft Visual C++ command-line options +&MSVC; command-line options when the &cv-link-PDB; &consvar; is set. -The Visual C++ compiler option that &SCons; uses by default +The &MSVC; compiler option that &SCons; uses by default to generate PDB information is . This works correctly with parallel () builds because it embeds the debug information in the intermediate object files, @@ -3210,7 +3210,7 @@ is -dNOPAUSE -dBATCH -sDEVICE=pdfwrite On the win32 platform, - if the Microsoft Visual C++ compiler is available, + if the &MSVC; compiler is available, &t-link-msvc; tool setup is done using &cv-HOST_ARCH; and &cv-link-TARGET_ARCH;. Changing the values at any later time will not cause @@ -4965,7 +4965,7 @@ and When set to any true value, specifies that &SCons; should batch compilation of object files -when calling the Microsoft Visual C/C++ compiler. +when calling the &MSVC; 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 &consenv; @@ -4985,7 +4985,7 @@ will be compiled separately. MSVC_NOTFOUND_POLICY -Specify the &scons; behavior when the Microsoft Visual C/C++ compiler is not detected. +Specify the &scons; behavior when the &MSVC; compiler is not detected. @@ -5096,7 +5096,7 @@ subject to the conditions listed above. The default &scons; behavior may change MSVC_SCRIPT_ARGS -Pass user-defined arguments to the Visual C++ batch file determined via autodetection. +Pass user-defined arguments to the &MSVC; batch file determined via autodetection. @@ -5235,7 +5235,7 @@ and compatible with the version of msvc selected. MSVC_SCRIPTERROR_POLICY -Specify the &scons; behavior when Microsoft Visual C/C++ batch file errors are detected. +Specify the &scons; behavior when &MSVC; batch file errors are detected. @@ -5487,7 +5487,7 @@ specify a Windows 10 SDK (e.g., '10.0.20348.0') for the build MSVC_SPECTRE_LIBS -Build with the spectre-mitigated Visual C++ libraries. +Build with the spectre-mitigated &MSVC; libraries. @@ -5497,8 +5497,8 @@ The valid values for &cv-MSVC_SPECTRE_LIBS; are: True, When &cv-MSVC_SPECTRE_LIBS; is enabled (i.e., True), -the Visual C++ environment will include the paths to the spectre-mitigated implementations -of the Microsoft Visual C++ libraries. +the &MSVC; environment will include the paths to the spectre-mitigated implementations +of the &MSVC; libraries. @@ -5525,7 +5525,7 @@ components. -Example - A Visual Studio 2022 build with spectre mitigated Visual C++ libraries: +Example - A Visual Studio 2022 build with spectre mitigated &MSVC; libraries: env = Environment(MSVC_VERSION='14.3', MSVC_SPECTRE_LIBS=True) @@ -5570,7 +5570,7 @@ The burden is on the user to ensure the requisite libraries with spectre mitigat MSVC_TOOLSET_VERSION -Build with a specific Visual C++ toolset version. +Build with a specific &MSVC; toolset version. @@ -5673,9 +5673,9 @@ prefix is selected. When &cv-MSVC_TOOLSET_VERSION; is specified using the major msvc version prefix (i.e., 'XX.Y') and the major msvc version is that of the latest release of -Visual Studio, the selected toolset version may not be the same as the default Visual C++ toolset version. +Visual Studio, the selected toolset version may not be the same as the default &MSVC; toolset version. -In the latest release of Visual Studio, the default Visual C++ toolset version is not necessarily the +In the latest release of Visual Studio, the default &MSVC; toolset version is not necessarily the toolset with the largest version number. @@ -5743,7 +5743,7 @@ The burden is on the user to ensure the requisite toolset target architecture bu MSVC_USE_SCRIPT -Use a batch script to set up the Microsoft Visual C++ compiler. +Use a batch script to set up the &MSVC; compiler. @@ -5796,7 +5796,7 @@ Provides arguments passed to the script &cv-link-MSVC_USE_SCRIPT;. MSVC_USE_SETTINGS -Use a dictionary to set up the Microsoft Visual C++ compiler. +Use a dictionary to set up the &MSVC; compiler. @@ -5814,7 +5814,7 @@ the environment when bypassing Visual Studio autodetection entirely by setting -Here is an example of configuring a build environment using the Microsoft Visual C/C++ compiler +Here is an example of configuring a build environment using the &MSVC; compiler included in the Microsoft SDK on a 64-bit host and building for a 64-bit architecture: # Microsoft SDK 6.0 (MSVC 8.0): 64-bit host and 64-bit target @@ -5886,7 +5886,7 @@ ensure successful builds. MSVC_UWP_APP -Build with the Universal Windows Platform (UWP) application Visual C++ libraries. +Build with the Universal Windows Platform (UWP) application &MSVC; libraries. @@ -5897,8 +5897,8 @@ or None. When &cv-MSVC_UWP_APP; is enabled (i.e., True or -'1'), the Visual C++ environment will be set up to point -to the Windows Store compatible libraries and Visual C++ runtimes. In doing so, +'1'), the &MSVC; environment will be set up to point +to the Windows Store compatible libraries and &MSVC; 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. @@ -5958,38 +5958,45 @@ The burden is on the user to ensure the requisite UWP libraries are installed. MSVC_VERSION -Sets the preferred version of Microsoft Visual C/C++ to use. -If the specified version is unavailable (not installed, -or not discoverable), tool initialization will fail. +A string to select the preferred version of &MSVC;. +If the specified version is unavailable and/or unknown to &SCons;, +a warning is issued showing the versions actually discovered, +and the build will eventually fail indicating a missing compiler binary. If &cv-MSVC_VERSION; is not set, &SCons; will (by default) select the -latest version of Visual C/C++ installed on your system. +latest version of &MSVC; installed on your system. +The valid values for &cv-MSVC_VERSION; represent major versions +of the compiler, except that versions ending in Exp +refer to "Express" or "Express for Desktop" Visual Studio editions, +which require distinct entries because they use a different +filesystem layout and have feature limitations compared to +the full version. +Values that do not look like a valid compiler version +string are not supported. -&cv-MSVC_VERSION; must be passed as an argument to the &f-link-Environment; -constructor when an msvc tool (e.g., &t-link-msvc;, &t-link-msvs;, etc.) is -loaded via the default tools list or via a tools list passed to the -&f-link-Environment; constructor. +To have the desired effect, &cv-MSVC_VERSION; must be set by the +time compiler discovery takes place. +If the default tools list +or an explicit tools list including &t-link-msvc; is used, +discovery takes place as the &consenv; is created, +so passing it as an argument in the the &f-link-Environment; call +is the effective solution. Otherwise, &cv-MSVC_VERSION; must be set before the first msvc tool is loaded into the environment. +See the manpage section "Construction Environments" for an example. -The valid values for &cv-MSVC_VERSION; represent major versions -of the compiler, except that versions ending in Exp -refer to "Express" or "Express for Desktop" Visual Studio editions, -which require distict entries because they use a different -filesystem layout and have some feature limitations compared to -the full version. -The following table shows correspondence -of the selector string to various version indicators +The following table shows the correspondence +of &cv-MSVC_VERSION; values to various version indicators ('x' is used as a placeholder for a single digit that can vary). Note that it is not necessary to install Visual Studio to build with &SCons; (for example, you can install only Build Tools), but if Visual Studio is installed, additional builders such as &b-link-MSVSSolution; and -&b-link-MSVSProject; become avaialable and will +&b-link-MSVSProject; become available and will correspond to the indicated versions. @@ -6003,141 +6010,148 @@ correspond to the indicated versions. SCons Key - MSVC++ Version + +Visual C++ +Version _MSVC_VER - VS Product - MSBuild/VS Version + Visual Studio Product + + +MSBuild / +Visual Studio - 14.3 + "14.3" 14.3x 193x Visual Studio 2022 - 17.x + 17.x, 17.1x - 14.2 + "14.2" 14.2x 192x Visual Studio 2019 16.x, 16.1x - 14.1 + "14.1" 14.1 or 14.1x 191x Visual Studio 2017 15.x - 14.1Exp + "14.1Exp" 14.1 1910 Visual Studio 2017 Express 15.0 - 14.0 + "14.0" 14.0 1900 Visual Studio 2015 14.0 - 14.0Exp + "14.0Exp" 14.0 1900 Visual Studio 2015 Express 14.0 - 12.0 + "12.0" 12.0 1800 Visual Studio 2013 12.0 - 12.0Exp + "12.0Exp" 12.0 1800 Visual Studio 2013 Express 12.0 - 11.0 + "11.0" 11.0 1700 Visual Studio 2012 11.0 - 11.0Exp + "11.0Exp" 11.0 1700 Visual Studio 2012 Express 11.0 - 10.0 + "10.0" 10.0 1600 Visual Studio 2010 10.0 - 10.0Exp + "10.0Exp" 10.0 1600 Visual C++ Express 2010 10.0 - 9.0 + "9.0" 9.0 1500 Visual Studio 2008 9.0 - 9.0Exp + "9.0Exp" 9.0 1500 Visual C++ Express 2008 9.0 - 8.0 + "8.0" 8.0 1400 Visual Studio 2005 8.0 - 8.0Exp + "8.0Exp" 8.0 1400 Visual C++ Express 2005 8.0 - 7.1 + "7.1" 7.1 1300 Visual Studio .NET 2003 7.1 - 7.0 + "7.0" 7.0 1200 Visual Studio .NET 2002 7.0 - 6.0 + "6.0" 6.0 1100 Visual Studio 6.0 @@ -6184,7 +6198,7 @@ and &cv-link-MSVC_USE_SETTINGS;. VCINSTALLDIR - installed directory of Visual C++ + installed directory of &MSVC; @@ -6269,11 +6283,9 @@ and &cv-link-MSVC_USE_SETTINGS;. The string placed in a generated -Microsoft Visual C++ project file as the value of the + &MSVC; project file as the value of the ProjectGUID attribute. There is no default - value. If not -defined, a new GUID is generated. - + value. If not defined, a new GUID is generated. @@ -6283,12 +6295,10 @@ defined, a new GUID is generated. The path name placed in a generated -Microsoft Visual C++ project file as the value of the + &MSVC; project file as the value of the SccAuxPath attribute if the MSVS_SCC_PROVIDER &consvar; is - also set. There is -no default value. - + also set. There is no default value. @@ -6300,7 +6310,7 @@ no default value. The root path of projects in your SCC workspace, i.e the path under which all project and solution files will be generated. It is used as a reference path from which the - relative paths of the generated Microsoft Visual C++ project + relative paths of the generated &MSVC; project and solution files are computed. The relative project file path is placed as the value of the SccLocalPath attribute of the project file and as the values of the @@ -6323,8 +6333,8 @@ no default value. MSVS_SCC_PROJECT_NAME - The project name placed in a generated Microsoft - Visual C++ project file as the value of the + The project name placed in a generated &MSVC; + project file as the value of the SccProjectName attribute if the MSVS_SCC_PROVIDER &consvar; is also set. In this case the string is also placed in @@ -6340,8 +6350,8 @@ no default value. MSVS_SCC_PROVIDER - The string placed in a generated Microsoft - Visual C++ project file as the value of the + The string placed in a generated &MSVC; + project file as the value of the SccProvider attribute. The string is also placed in the SccProvider0 attribute of the GlobalSection(SourceCodeControl) @@ -6381,8 +6391,8 @@ no default value. MSVSBUILDCOM - The build command line placed in a generated Microsoft Visual - C++ project file. The default is to have Visual Studio + The build command line placed in a generated &MSVC; + project file. The default is to have Visual Studio invoke &SCons; with any specified build targets. @@ -6392,8 +6402,8 @@ no default value. MSVSCLEANCOM - The clean command line placed in a generated Microsoft Visual - C++ project file. The default is to have Visual Studio + The clean command line placed in a generated &MSVC; + project file. The default is to have Visual Studio invoke &SCons; with the option to remove any specified targets. @@ -6404,8 +6414,8 @@ no default value. MSVSENCODING - The encoding string placed in a generated Microsoft - Visual C++ project file. The default is encoding + The encoding string placed in a generated &MSVC; + project file. The default is encoding Windows-1252. @@ -6414,7 +6424,7 @@ no default value. MSVSPROJECTCOM - The action used to generate Microsoft Visual C++ project files. + The action used to generate &MSVC; project files. @@ -6422,8 +6432,8 @@ no default value. MSVSPROJECTSUFFIX - The suffix used for Microsoft Visual C++ project (DSP) - files. The default value is + The suffix used for &MSVC; project (DSP) + files. The default value is .vcxproj when using Visual Studio 2010 and later, .vcproj when using Visual Studio versions between 2002 and 2008, @@ -6436,8 +6446,8 @@ no default value. MSVSREBUILDCOM - The rebuild command line placed in a generated Microsoft - Visual C++ project file. The default is to have Visual + The rebuild command line placed in a generated &MSVC; + project file. The default is to have Visual Studio invoke &SCons; with any specified rebuild targets. @@ -6448,7 +6458,7 @@ no default value. MSVSSCONS - The &SCons; used in generated Microsoft Visual C++ project + The &SCons; used in generated &MSVC; project files. The default is the version of &SCons; being used to generate the project file. @@ -6459,8 +6469,7 @@ no default value. MSVSSCONSCOM - The default &SCons; command used in generated Microsoft Visual - C++ project files. + The default &SCons; command used in generated &MSVC; project files. @@ -6470,7 +6479,7 @@ no default value. The sconscript file (that is, &SConstruct; or &SConscript; - file) that will be invoked by Visual C++ project files + file) that will be invoked by &MSVC; project files (through the &cv-link-MSVSSCONSCOM; variable). The default is the same sconscript file that contains the call to &b-link-MSVSProject; to build the project file. @@ -6482,7 +6491,7 @@ no default value. MSVSSCONSFLAGS - The &SCons; flags used in generated Microsoft Visual C++ project files. + The &SCons; flags used in generated &MSVC; project files. @@ -6885,9 +6894,9 @@ not the underlying project code itself. PCH -A node for the Microsoft Visual C++ precompiled header that will be +A node for the &MSVC; precompiled header that will be used when compiling object files. -This variable is ignored by tools other than Microsoft Visual C++. +This variable is ignored by tools other than &MSVC;. 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 @@ -6939,7 +6948,7 @@ only if the &cv-link-PDB; &consvar; is set. This variable specifies how much of a source file is precompiled. This -variable is ignored by tools other than Microsoft Visual C++, or when +variable is ignored by tools other than &MSVC;, 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 @@ -6956,9 +6965,9 @@ env['PCHSTOP'] = 'StdAfx.h' PDB -The Microsoft Visual C++ PDB file that will store debugging information for +The &MSVC; PDB file that will store debugging information for object files, shared libraries, and programs. This variable is ignored by -tools other than Microsoft Visual C++. +tools other than &MSVC;. When this variable is defined SCons will add options to the compiler and linker command line to cause them to generate external debugging information, and will also set up the @@ -6971,7 +6980,7 @@ env['PDB'] = 'hello.pdb' -The Visual C++ compiler switch that SCons uses by default +The &MSVC; compiler switch that SCons uses by default to generate PDB information is . This works correctly with parallel () builds because it embeds the debug information in the intermediate object files, @@ -7772,7 +7781,7 @@ General options passed to the archive indexer. The resource compiler used to build -a Microsoft Visual C++ resource file. +a &MSVC; resource file. @@ -7782,7 +7791,7 @@ a Microsoft Visual C++ resource file. The command line used to build -a Microsoft Visual C++ resource file. +a &MSVC; resource file. @@ -7792,7 +7801,7 @@ a Microsoft Visual C++ resource file. The string displayed when invoking the resource compiler -to build a Microsoft Visual C++ resource file. +to build a &MSVC; resource file. If this is not set, then &cv-link-RCCOM; (the command line) is displayed. @@ -8109,8 +8118,8 @@ for more information. The (optional) path to the &SCons; library directory, initialized from the external environment. If set, this is used to construct a shorter and more efficient search path in - the &cv-link-MSVSSCONS; command line executed from Microsoft - Visual C++ project files. + the &cv-link-MSVSSCONS; command line executed from C++ + project files. @@ -9513,7 +9522,7 @@ for more information). On the win32 platform, - if the Microsoft Visual C++ compiler is available, + if the &MSVC; compiler is available, &t-link-msvc; tool setup is done using &cv-link-HOST_ARCH; and &cv-TARGET_ARCH;. If a value is not specified, @@ -9676,7 +9685,7 @@ The directory to create the long-lines temporary file in. The prefix for the name of the temporary file used to store command lines exceeding &cv-link-MAXLINELENGTH;. -The default prefix is '@', which works for the Microsoft +The default prefix is '@', which works for the &MSVC; and GNU toolchains on Windows. Set this appropriately for other toolchains, for example '-@' for the diab compiler @@ -9927,7 +9936,7 @@ and must be supplied by the developer. If set to true, &scons; will add the manifest file -generated by Microsoft Visual C++ 8.0 and later +generated by &MSVC; 8.0 and later to the target list so &SCons; will be aware they were generated. In the case of an executable, the manifest file name @@ -9988,7 +9997,7 @@ Defaults to .exp. The prefix used for executable program manifest files -generated by Microsoft Visual C/C++. +generated by &MSVC;. Defaults to empty. @@ -9999,7 +10008,7 @@ Defaults to empty. The suffix used for executable program manifest files -generated by Microsoft Visual C/C++. +generated by &MSVC;. Defaults to .manifest. @@ -10010,7 +10019,7 @@ Defaults to .manifest. The prefix used for shared library manifest files -generated by Microsoft Visual C/C++. +generated by &MSVC;. Defaults to empty. @@ -10021,7 +10030,7 @@ Defaults to empty. The suffix used for shared library manifest files -generated by Microsoft Visual C/C++. +generated by &MSVC;. Defaults to .manifest. -- cgit v0.12