This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: VS NET 2003 Project Files contain per file compiler settings
Type: Stage:
Components: Build Versions: Python 2.4
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: babydoe, georg.brandl
Priority: normal Keywords: patch

Created on 2005-10-15 09:22 by babydoe, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
python24-vcproj-with-global-file-config.zip babydoe, 2005-10-15 13:35 The modified vcproj files for /PCBuild
python24-vcproj-with-global-file-config-buildresults.zip babydoe, 2005-10-15 13:36 The build results with the new vcproj files
Messages (5)
msg48864 - (view) Author: Doe, Baby (babydoe) Date: 2005-10-15 09:22
A review of the vcproj files shows that not only the
"global" compiler settings affect the compilation, but
also most (not all) of the files to be compiled have
their own overriding compiler settings.

For example mathmodule.c (in pythoncore.vcproj):
		<File
			RelativePath="..\Modules\mathmodule.c">
			<FileConfiguration
				Name="Release|Win32">
				<Tool
					Name="VCCLCompilerTool"
					Optimization="2"
					AdditionalIncludeDirectories=""
			
PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
			</FileConfiguration>
			<FileConfiguration
				Name="Debug|Win32">
				<Tool
					Name="VCCLCompilerTool"
					Optimization="0"
					AdditionalIncludeDirectories=""
				
PreprocessorDefinitions="_DEBUG;USE_DL_EXPORT;WIN32;_WINDOWS;$(NoInherit)"/>
			</FileConfiguration>
			<FileConfiguration
				Name="ReleaseItanium|Win32">
				<Tool
					Name="VCCLCompilerTool"
					Optimization="2"
					AdditionalIncludeDirectories=""
				
PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
			</FileConfiguration>
		</File>

This per file definition makes it very time consuming
to globally change compiler settings for an specific
build (for example adding/removing a preprocessor
definition, or changing the optimisation levels)

Are this per file definitions really necessary (imho
no, but i'm not one of the python developers), or are
they just an artifact of importing the VS6 projects
(this happened to me with all of my converted projects) ?

If the per file configuration is not really necessary
it can be safelly removed by deleting the
<FileConfiguration  ...	</FileConfiguration>
elements contained in the <File ... </File> tags
msg48865 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2005-10-15 10:24
Logged In: YES 
user_id=1188172

Are you willing to provide a patch? Else this must be moved
to the "bugs" tracker.
msg48866 - (view) Author: Doe, Baby (babydoe) Date: 2005-10-15 10:52
Logged In: YES 
user_id=458368

I have to make the changes anyway for my static build, so i
can provide a patch ...

Do you have any special instructions or should i just post a
zip file with the "patched" vcproj files ?
Should I use the files in the 2.4.2 Source distribution
(this is my current base), or do you want me to use the
anonymous CVS ?
msg48867 - (view) Author: Doe, Baby (babydoe) Date: 2005-10-15 13:35
Logged In: YES 
user_id=458368

Just uploaded the modified vcproj files from the Python2.4.2
Sources, and an additional file containing the results of
the build.

I do not have _bsddb, _ssl, _tkinter, bz2 and zlib installed
as source, thus those modules had to fail in my tests.

msg48868 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2006-02-19 15:45
Logged In: YES 
user_id=1188172

This has been fixed now.
History
Date User Action Args
2022-04-11 14:56:13adminsetgithub: 42488
2005-10-15 09:22:25babydoecreate