summaryrefslogtreecommitdiffstats
path: root/PCbuild
diff options
context:
space:
mode:
Diffstat (limited to 'PCbuild')
-rw-r--r--PCbuild/pyproject.vsprops4
-rw-r--r--PCbuild/readme.txt31
-rw-r--r--PCbuild/vs9to8.py30
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")