summaryrefslogtreecommitdiffstats
path: root/PCbuild
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2008-01-02 18:30:52 (GMT)
committerChristian Heimes <christian@cheimes.de>2008-01-02 18:30:52 (GMT)
commit57dddfbbd6b4bf8b327bc4c978befedaba5034e7 (patch)
tree5661ca9d4c4c79765f0355c4c52728b2cda6af91 /PCbuild
parentba3febcba70e4dea84b38c28d7f791d75473f6e9 (diff)
downloadcpython-57dddfbbd6b4bf8b327bc4c978befedaba5034e7.zip
cpython-57dddfbbd6b4bf8b327bc4c978befedaba5034e7.tar.gz
cpython-57dddfbbd6b4bf8b327bc4c978befedaba5034e7.tar.bz2
Merged revisions 59642-59665 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r59653 | martin.v.loewis | 2008-01-01 22:05:17 +0100 (Tue, 01 Jan 2008) | 3 lines Return results from Python callbacks to Tcl as Tcl objects. Fixes Tk issue #1851526 ........ r59654 | martin.v.loewis | 2008-01-01 22:08:18 +0100 (Tue, 01 Jan 2008) | 4 lines Always convert Text.index result to string. This improves compatibility with Tcl 8.5, which would otherwise return textindex objects. ........ r59655 | martin.v.loewis | 2008-01-01 22:09:07 +0100 (Tue, 01 Jan 2008) | 2 lines News item for r59653. ........ r59656 | martin.v.loewis | 2008-01-02 00:00:00 +0100 (Wed, 02 Jan 2008) | 1 line Don't link with Tix; Tix is loaded dynamically by Tcl. ........ r59657 | martin.v.loewis | 2008-01-02 00:00:48 +0100 (Wed, 02 Jan 2008) | 1 line Use Visual Studio 2009 on the build slaves. ........ r59658 | martin.v.loewis | 2008-01-02 00:36:24 +0100 (Wed, 02 Jan 2008) | 1 line Test in PCbuild directory. ........ r59661 | kurt.kaiser | 2008-01-02 05:11:28 +0100 (Wed, 02 Jan 2008) | 6 lines Issue1177 r58207 and r58247 patch logic is reversed. I noticed this when I tried to use urllib to retrieve a file which required auth. Fix that and add a test for 401 error to verify. ........ r59662 | kurt.kaiser | 2008-01-02 06:23:38 +0100 (Wed, 02 Jan 2008) | 2 lines Change docstrings to comments so test output will display normally. ........ r59665 | christian.heimes | 2008-01-02 18:43:40 +0100 (Wed, 02 Jan 2008) | 5 lines Removed PCbuild8/ directory and added a new build directory for VS 2005 based on the VS 2008 build directory to PC/VS8.0. The script PCbuild/vs8to9.py was added to sync changes from PCbuild to PC/VS8.0. Kristjan, the initial creator of the PCbuild8 directory is fine with the replacement. I've moved the new version of the VS 2005 build directory next to the other legacy build directories. The new sync script is based on the work of wreck and syncs changes in the project, property and solution files. ........
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")