diff options
Diffstat (limited to 'PCbuild')
-rw-r--r-- | PCbuild/pyproject.vsprops | 4 | ||||
-rw-r--r-- | PCbuild/readme.txt | 31 | ||||
-rw-r--r-- | PCbuild/vs9to8.py | 30 |
3 files changed, 63 insertions, 2 deletions
diff --git a/PCbuild/pyproject.vsprops b/PCbuild/pyproject.vsprops index 64cadc3..54819e88 100644 --- a/PCbuild/pyproject.vsprops +++ b/PCbuild/pyproject.vsprops @@ -70,10 +70,10 @@ /> <UserMacro Name="tcltkLib" - Value="$(tcltkDir)\lib\tcl84.lib $(tcltkDir)\lib\tk84.lib $(tcltkDir)\lib\tix8.4\tix84.lib" + Value="$(tcltkDir)\lib\tcl84.lib $(tcltkDir)\lib\tk84.lib" /> <UserMacro Name="tcltk64Lib" - Value="$(tcltk64Dir)\lib\tcl84.lib $(tcltk64Dir)\lib\tk84.lib $(tcltk64Dir)\lib\tix8.4\tix84.lib" + Value="$(tcltk64Dir)\lib\tcl84.lib $(tcltk64Dir)\lib\tk84.lib" /> </VisualStudioPropertySheet> diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt index fe264e3..00b7de0 100644 --- a/PCbuild/readme.txt +++ b/PCbuild/readme.txt @@ -1,5 +1,6 @@ Building Python using VC++ 9.0 ------------------------------ + This directory is used to build Python for Win32 platforms, e.g. Windows 2000, XP and Vista. It requires Microsoft Visual C++ 9.0 (a.k.a. Visual Studio .NET 2008). @@ -36,6 +37,36 @@ The 32bit builds end up in the solution folder PCbuild while the x64 builds land in the amd64 subfolder. The PGI and PGO builds for profile guided optimization end up in their own folders, too. +Legacy support +-------------- + +You can find build directories for older versions of Visual Studio and +Visual C++ in the PC directory. The legacy build directories are no longer +actively maintained and may not work out of the box. + +PC/VC6/ + Visual C++ 6.0 +PC/VS7.1/ + Visual Studio 2003 (7.1) +PCbuild8/ + Visual Studio 2005 (8.0) + + +C RUNTIME +--------- + +Visual Studio 2008 uses version 9 of the C runtime (MSVCRT9). The executables +are linked to a CRT "side by side" assembly which must be present on the target +machine. This is avalible under the VC/Redist folder of your visual studio +distribution. On XP and later operating systems that support +side-by-side assemblies it is not enough to have the msvcrt80.dll present, +it has to be there as a whole assembly, that is, a folder with the .dll +and a .manifest. Also, a check is made for the correct version. +Therefore, one should distribute this assembly with the dlls, and keep +it in the same directory. For compatibility with older systems, one should +also set the PATH to this directory so that the dll can be found. +For more info, see the Readme in the VC/Redist folder. + SUBPROJECTS ----------- These subprojects should build out of the box. Subprojects other than the diff --git a/PCbuild/vs9to8.py b/PCbuild/vs9to8.py new file mode 100644 index 0000000..09496ae --- /dev/null +++ b/PCbuild/vs9to8.py @@ -0,0 +1,30 @@ +from __future__ import with_statement +import os + +def vs9to8(src, dest): + for name in os.listdir(src): + path, ext = os.path.splitext(name) + if ext.lower() not in ('.sln', '.vcproj', '.vsprops'): + continue + + filename = os.path.normpath(os.path.join(src, name)) + destname = os.path.normpath(os.path.join(dest, name)) + print("%s -> %s" % (filename, destname)) + + with open(filename, 'rU') as fin: + lines = fin.read() + lines = lines.replace('Version="9,00"', 'Version="8.00"') + lines = lines.replace('Version="9.00"', 'Version="8.00"') + lines = lines.replace('Format Version 10.00', 'Format Version 9.00') + lines = lines.replace('Visual Studio 2008', 'Visual Studio 2005') + + lines = lines.replace('wininst-9.0', 'wininst-8.0') + lines = lines.replace('..\\', '..\\..\\') + lines = lines.replace('..\\..\\..\\..\\', '..\\..\\..\\') + + with open(destname, 'wb') as fout: + lines = lines.replace("\n", "\r\n").encode() + fout.write(lines) + +if __name__ == "__main__": + vs9to8(src=".", dest="../PC/VS8.0") |