[Python-3000-checkins] r59667 - in python/branches/py3k: Lib/lib-tk/Tkinter.py Lib/test/test_urllib.py Lib/urllib.py Modules/_tkinter.c PC/VS8.0 PC/VS8.0/pyproject.vsprops PC/VS8.0/pythoncore.vcproj PCbuild/pyproject.vsprops PCbuild/readme.txt PCbuild/vs9to8.py PCbuild8 Tools/buildbot/build.bat Tools/buildbot/buildmsi.bat Tools/buildbot/clean.bat Tools/buildbot/external.bat Tools/buildbot/kill_python.c Tools/buildbot/test.bat

christian.heimes python-3000-checkins at python.org
Wed Jan 2 19:30:53 CET 2008


Author: christian.heimes
Date: Wed Jan  2 19:30:52 2008
New Revision: 59667

Added:
   python/branches/py3k/PC/VS8.0/   (props changed)
      - copied from r59665, python/trunk/PC/VS8.0/
   python/branches/py3k/PCbuild/vs9to8.py
      - copied, changed from r59665, python/trunk/PCbuild/vs9to8.py
Removed:
   python/branches/py3k/PCbuild8/
Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/lib-tk/Tkinter.py
   python/branches/py3k/Lib/test/test_urllib.py
   python/branches/py3k/Lib/urllib.py
   python/branches/py3k/Modules/_tkinter.c
   python/branches/py3k/PC/VS8.0/pyproject.vsprops
   python/branches/py3k/PC/VS8.0/pythoncore.vcproj
   python/branches/py3k/PCbuild/pyproject.vsprops
   python/branches/py3k/PCbuild/readme.txt
   python/branches/py3k/Tools/buildbot/build.bat
   python/branches/py3k/Tools/buildbot/buildmsi.bat
   python/branches/py3k/Tools/buildbot/clean.bat
   python/branches/py3k/Tools/buildbot/external.bat
   python/branches/py3k/Tools/buildbot/kill_python.c
   python/branches/py3k/Tools/buildbot/test.bat
Log:
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.
........


Modified: python/branches/py3k/Lib/lib-tk/Tkinter.py
==============================================================================
--- python/branches/py3k/Lib/lib-tk/Tkinter.py	(original)
+++ python/branches/py3k/Lib/lib-tk/Tkinter.py	Wed Jan  2 19:30:52 2008
@@ -2977,7 +2977,7 @@
         return self.tk.call(self._w, "image", "names")
     def index(self, index):
         """Return the index in the form line.char for INDEX."""
-        return self.tk.call(self._w, 'index', index)
+        return str(self.tk.call(self._w, 'index', index))
     def insert(self, index, chars, *args):
         """Insert CHARS before the characters at INDEX. An additional
         tag can be given in ARGS. Additional CHARS and tags can follow in ARGS."""

Modified: python/branches/py3k/Lib/test/test_urllib.py
==============================================================================
--- python/branches/py3k/Lib/test/test_urllib.py	(original)
+++ python/branches/py3k/Lib/test/test_urllib.py	Wed Jan  2 19:30:52 2008
@@ -126,10 +126,23 @@
         finally:
             self.unfakehttp()
 
+    def test_read_bogus(self):
+        # urlopen() should raise IOError for many error codes.
+        self.fakehttp(b'''HTTP/1.1 401 Authentication Required
+Date: Wed, 02 Jan 2008 03:03:54 GMT
+Server: Apache/1.3.33 (Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e
+Connection: close
+Content-Type: text/html; charset=iso-8859-1
+''')
+        try:
+            self.assertRaises(IOError, urllib.urlopen, "http://python.org/")
+        finally:
+            self.unfakehttp()
+
     def test_empty_socket(self):
         # urlopen() raises IOError if the underlying socket does not send any
         # data. (#1680230)
-        self.fakehttp(b"")
+        self.fakehttp(b'')
         try:
             self.assertRaises(IOError, urllib.urlopen, "http://something")
         finally:

Modified: python/branches/py3k/Lib/urllib.py
==============================================================================
--- python/branches/py3k/Lib/urllib.py	(original)
+++ python/branches/py3k/Lib/urllib.py	Wed Jan  2 19:30:52 2008
@@ -359,7 +359,7 @@
 
         # According to RFC 2616, "2xx" code indicates that the client's
         # request was successfully received, understood, and accepted.
-        if not (200 <= response.status < 300):
+        if (200 <= response.status < 300):
             return addinfourl(response.fp, response.msg, "http:" + url)
         else:
             return self.http_error(
@@ -402,6 +402,77 @@
             """Use HTTPS protocol."""
             return self._open_generic_http(self._https_connection, url, data)
 
+            import httplib
+            user_passwd = None
+            proxy_passwd = None
+            if isinstance(url, str):
+                host, selector = splithost(url)
+                if host:
+                    user_passwd, host = splituser(host)
+                    host = unquote(host)
+                realhost = host
+            else:
+                host, selector = url
+                # here, we determine, whether the proxy contains authorization information
+                proxy_passwd, host = splituser(host)
+                urltype, rest = splittype(selector)
+                url = rest
+                user_passwd = None
+                if urltype.lower() != 'https':
+                    realhost = None
+                else:
+                    realhost, rest = splithost(rest)
+                    if realhost:
+                        user_passwd, realhost = splituser(realhost)
+                    if user_passwd:
+                        selector = "%s://%s%s" % (urltype, realhost, rest)
+                #print "proxy via https:", host, selector
+            if not host: raise IOError('https error', 'no host given')
+            if proxy_passwd:
+                import base64
+                proxy_auth = base64.b64encode(proxy_passwd).strip()
+            else:
+                proxy_auth = None
+            if user_passwd:
+                import base64
+                auth = base64.b64encode(user_passwd).strip()
+            else:
+                auth = None
+            h = httplib.HTTPS(host, 0,
+                              key_file=self.key_file,
+                              cert_file=self.cert_file)
+            if data is not None:
+                h.putrequest('POST', selector)
+                h.putheader('Content-Type',
+                            'application/x-www-form-urlencoded')
+                h.putheader('Content-Length', '%d' % len(data))
+            else:
+                h.putrequest('GET', selector)
+            if proxy_auth: h.putheader('Proxy-Authorization', 'Basic %s' % proxy_auth)
+            if auth: h.putheader('Authorization', 'Basic %s' % auth)
+            if realhost: h.putheader('Host', realhost)
+            for args in self.addheaders: h.putheader(*args)
+            h.endheaders()
+            if data is not None:
+                h.send(data)
+            errcode, errmsg, headers = h.getreply()
+            fp = h.getfile()
+            if errcode == -1:
+                if fp: fp.close()
+                # something went wrong with the HTTP status line
+                raise IOError('http protocol error', 0,
+                                'got a bad status line', None)
+            # According to RFC 2616, "2xx" code indicates that the client's
+            # request was successfully received, understood, and accepted.
+            if (200 <= errcode < 300):
+                return addinfourl(fp, headers, "https:" + url)
+            else:
+                if data is None:
+                    return self.http_error(url, fp, errcode, errmsg, headers)
+                else:
+                    return self.http_error(url, fp, errcode, errmsg, headers,
+                                           data)
+
     def open_file(self, url):
         """Use local file or FTP depending on form of URL."""
         if not isinstance(url, str):

Modified: python/branches/py3k/Modules/_tkinter.c
==============================================================================
--- python/branches/py3k/Modules/_tkinter.c	(original)
+++ python/branches/py3k/Modules/_tkinter.c	Wed Jan  2 19:30:52 2008
@@ -1906,7 +1906,7 @@
 	PythonCmd_ClientData *data = (PythonCmd_ClientData *)clientData;
 	PyObject *self, *func, *arg, *res, *s;
 	int i, rv;
-	Tcl_Obj *tres;
+	Tcl_Obj *obj_res;
 
 	ENTER_PYTHON
 
@@ -1939,13 +1939,13 @@
 	if (res == NULL)
 		return PythonCmd_Error(interp);
 
-	tres = AsObj(res);
-	if (tres == NULL) {
+	obj_res = AsObj(res);
+	if (obj_res == NULL) {
 		Py_DECREF(res);
 		return PythonCmd_Error(interp);
 	}
 	else {
-		Tcl_SetObjResult(Tkapp_Interp(self), tres);
+		Tcl_SetObjResult(Tkapp_Interp(self), obj_res);
 		rv = TCL_OK;
 	}
 

Modified: python/branches/py3k/PC/VS8.0/pyproject.vsprops
==============================================================================
--- python/trunk/PC/VS8.0/pyproject.vsprops	(original)
+++ python/branches/py3k/PC/VS8.0/pyproject.vsprops	Wed Jan  2 19:30:52 2008
@@ -38,7 +38,7 @@
 	/>
 	<UserMacro
 		Name="PyDllName"
-		Value="python26"
+		Value="python30"
 	/>
 	<UserMacro
 		Name="PythonExe"

Modified: python/branches/py3k/PC/VS8.0/pythoncore.vcproj
==============================================================================
--- python/trunk/PC/VS8.0/pythoncore.vcproj	(original)
+++ python/branches/py3k/PC/VS8.0/pythoncore.vcproj	Wed Jan  2 19:30:52 2008
@@ -651,7 +651,11 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\Include\bufferobject.h"
+				RelativePath="..\..\Include\bytes_methods.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\Include\bytesobject.h"
 				>
 			</File>
 			<File
@@ -723,6 +727,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\Include\formatter_unicode.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\Include\frameobject.h"
 				>
 			</File>
@@ -979,15 +987,15 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\_functoolsmodule.c"
+				RelativePath="..\..\Modules\_fileio.c"
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\_heapqmodule.c"
+				RelativePath="..\..\Modules\_functoolsmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\_hotshot.c"
+				RelativePath="..\..\Modules\_heapqmodule.c"
 				>
 			</File>
 			<File
@@ -1023,19 +1031,19 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\audioop.c"
+				RelativePath="..\..\Modules\atexitmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\binascii.c"
+				RelativePath="..\..\Modules\audioop.c"
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\cmathmodule.c"
+				RelativePath="..\..\Modules\binascii.c"
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\cPickle.c"
+				RelativePath="..\..\Modules\cmathmodule.c"
 				>
 			</File>
 			<File
@@ -1055,10 +1063,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\imageop.c"
-				>
-			</File>
-			<File
 				RelativePath="..\..\Modules\itertoolsmodule.c"
 				>
 			</File>
@@ -1071,14 +1075,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\md5.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\Modules\md5.h"
-				>
-			</File>
-			<File
 				RelativePath="..\..\Modules\md5module.c"
 				>
 			</File>
@@ -1107,15 +1103,15 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\sha256module.c"
+				RelativePath="..\..\Modules\sha1module.c"
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\sha512module.c"
+				RelativePath="..\..\Modules\sha256module.c"
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\shamodule.c"
+				RelativePath="..\..\Modules\sha512module.c"
 				>
 			</File>
 			<File
@@ -1123,10 +1119,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\Modules\stropmodule.c"
-				>
-			</File>
-			<File
 				RelativePath="..\..\Modules\symtablemodule.c"
 				>
 			</File>
@@ -1339,7 +1331,11 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\Objects\bufferobject.c"
+				RelativePath="..\..\Objects\bytes_methods.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\Objects\bytesobject.c"
 				>
 			</File>
 			<File
@@ -1374,10 +1370,6 @@
 				RelativePath="..\..\Objects\dictobject.c"
 				>
 			</File>
-			<!--File
-				RelativePath="..\..\Objects\doubledigits.c"
-				>
-			</File-->
 			<File
 				RelativePath="..\..\Objects\enumobject.c"
 				>
@@ -1415,10 +1407,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\Objects\intobject.c"
-				>
-			</File>
-			<File
 				RelativePath="..\..\Objects\iterobject.c"
 				>
 			</File>
@@ -1431,6 +1419,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\Objects\memoryobject.c"
+				>
+			</File>
+			<File
 				RelativePath="..\..\Objects\methodobject.c"
 				>
 			</File>
@@ -1635,6 +1627,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\Python\formatter_unicode.c"
+				>
+			</File>
+			<File
 				RelativePath="..\..\Python\frozen.c"
 				>
 			</File>

Modified: python/branches/py3k/PCbuild/pyproject.vsprops
==============================================================================
--- python/branches/py3k/PCbuild/pyproject.vsprops	(original)
+++ python/branches/py3k/PCbuild/pyproject.vsprops	Wed Jan  2 19:30:52 2008
@@ -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>

Modified: python/branches/py3k/PCbuild/readme.txt
==============================================================================
--- python/branches/py3k/PCbuild/readme.txt	(original)
+++ python/branches/py3k/PCbuild/readme.txt	Wed Jan  2 19:30:52 2008
@@ -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 @@
 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

Copied: python/branches/py3k/PCbuild/vs9to8.py (from r59665, python/trunk/PCbuild/vs9to8.py)
==============================================================================
--- python/trunk/PCbuild/vs9to8.py	(original)
+++ python/branches/py3k/PCbuild/vs9to8.py	Wed Jan  2 19:30:52 2008
@@ -11,7 +11,7 @@
         destname = os.path.normpath(os.path.join(dest, name))
         print("%s -> %s" % (filename, destname))
 
-        with open(filename, 'r') as fin:
+        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"')
@@ -22,8 +22,9 @@
             lines = lines.replace('..\\', '..\\..\\')
             lines = lines.replace('..\\..\\..\\..\\', '..\\..\\..\\')
 
-        with open(destname, 'w') as fout:
+        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")
+    vs9to8(src=".", dest="../PC/VS8.0")

Modified: python/branches/py3k/Tools/buildbot/build.bat
==============================================================================
--- python/branches/py3k/Tools/buildbot/build.bat	(original)
+++ python/branches/py3k/Tools/buildbot/build.bat	Wed Jan  2 19:30:52 2008
@@ -1,5 +1,6 @@
 @rem Used by the buildbot "compile" step.
 cmd /c Tools\buildbot\external.bat
-call "%VS71COMNTOOLS%vsvars32.bat"
+call "%VS90COMNTOOLS%vsvars32.bat"
 cmd /q/c Tools\buildbot\kill_python.bat
-devenv.com /useenv /build Debug PC\VS7.1\pcbuild.sln
+vcbuild /useenv PCbuild\pcbuild.sln "Debug|Win32"
+

Modified: python/branches/py3k/Tools/buildbot/buildmsi.bat
==============================================================================
--- python/branches/py3k/Tools/buildbot/buildmsi.bat	(original)
+++ python/branches/py3k/Tools/buildbot/buildmsi.bat	Wed Jan  2 19:30:52 2008
@@ -2,14 +2,14 @@
 
 cmd /c Tools\buildbot\external.bat
 @rem build release versions of things
-call "%VS71COMNTOOLS%vsvars32.bat"
+call "%VS90COMNTOOLS%vsvars32.bat"
 if not exist ..\db-4.4.20\build_win32\release\libdb44s.lib (
    devenv ..\db-4.4.20\build_win32\Berkeley_DB.sln /build Release /project db_static
 )
 
 @rem build Python
 cmd /q/c Tools\buildbot\kill_python.bat
-devenv.com /useenv /build Release PC\VS7.1\pcbuild.sln
+devenv.com /useenv /build Release PCbuild\pcbuild.sln
 
 @rem build the documentation
 bash.exe -c 'cd Doc;make PYTHON=python2.5 update htmlhelp'

Modified: python/branches/py3k/Tools/buildbot/clean.bat
==============================================================================
--- python/branches/py3k/Tools/buildbot/clean.bat	(original)
+++ python/branches/py3k/Tools/buildbot/clean.bat	Wed Jan  2 19:30:52 2008
@@ -1,7 +1,7 @@
 @rem Used by the buildbot "clean" step.
-call "%VS71COMNTOOLS%vsvars32.bat"
-cd PC\VS7.1
+call "%VS90COMNTOOLS%vsvars32.bat"
+cd PCbuild
 @echo Deleting .pyc/.pyo files ...
 del /s Lib\*.pyc Lib\*.pyo
-devenv.com /clean Release pcbuild.sln
-devenv.com /clean Debug pcbuild.sln
+vcbuild /clean pcbuild.sln "Release|Win32"
+vcbuild /clean pcbuild.sln "Debug|Win32"

Modified: python/branches/py3k/Tools/buildbot/external.bat
==============================================================================
--- python/branches/py3k/Tools/buildbot/external.bat	(original)
+++ python/branches/py3k/Tools/buildbot/external.bat	Wed Jan  2 19:30:52 2008
@@ -2,7 +2,7 @@
 
 @rem Assume we start inside the Python source directory
 cd ..
-call "%VS71COMNTOOLS%vsvars32.bat"
+call "%VS90COMNTOOLS%vsvars32.bat"
 
 @rem bzip
 if not exist bzip2-1.0.3 svn export http://svn.python.org/projects/external/bzip2-1.0.3
@@ -10,24 +10,29 @@
 @rem Sleepycat db
 if not exist db-4.4.20 svn export http://svn.python.org/projects/external/db-4.4.20
 if not exist db-4.4.20\build_win32\debug\libdb44sd.lib (
-   devenv db-4.4.20\build_win32\Berkeley_DB.sln /build Debug /project db_static
+   vcbuild db-4.4.20\build_win32\Berkeley_DB.sln /build Debug /project db_static
 )
 
 @rem OpenSSL
-if not exist openssl-0.9.8a svn export http://svn.python.org/projects/external/openssl-0.9.8a
+if not exist openssl-0.9.8g (
+  if exist openssl-0.9.8a rd /s/q openssl-0.9.8a
+  svn export http://svn.python.org/projects/external/openssl-0.9.8g
+)
 
 @rem tcltk
-if not exist tcl8.4.12 (
+if not exist tcl8.4.16 (
    if exist tcltk rd /s/q tcltk
-   svn export http://svn.python.org/projects/external/tcl8.4.12
-   svn export http://svn.python.org/projects/external/tk8.4.12
-   cd tcl8.4.12\win
-   nmake -f makefile.vc
-   nmake -f makefile.vc INSTALLDIR=..\..\tcltk install
+   if exist tcl8.4.12 rd /s/q tcl8.4.12
+   if exist tk8.4.12 rd /s/q tk8.4.12
+   svn export http://svn.python.org/projects/external/tcl8.4.16
+   svn export http://svn.python.org/projects/external/tk8.4.16
+   cd tcl8.4.16\win
+   nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500
+   nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 INSTALLDIR=..\..\tcltk install
    cd ..\..
-   cd tk8.4.12\win
-   nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12
-   nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 INSTALLDIR=..\..\tcltk install
+   cd tk8.4.16\win
+   nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 TCLDIR=..\..\tcl8.4.16
+   nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 TCLDIR=..\..\tcl8.4.16 INSTALLDIR=..\..\tcltk install
    cd ..\..
 )
 

Modified: python/branches/py3k/Tools/buildbot/kill_python.c
==============================================================================
--- python/branches/py3k/Tools/buildbot/kill_python.c	(original)
+++ python/branches/py3k/Tools/buildbot/kill_python.c	Wed Jan  2 19:30:52 2008
@@ -1,4 +1,4 @@
-/* This program looks for processes which have build\PC\VS7.1\python.exe
+/* This program looks for processes which have build\PCbuild\python.exe
    in their path and terminates them. */
 #include <windows.h>
 #include <psapi.h>
@@ -46,14 +46,14 @@
 		/* Check if we are running a buildbot version of Python.
 
 		   On Windows, this will always be a debug build from the
-		   PC\VS7.1 directory.  build\\PC\\VS7.1\\python_d.exe
+		   PCbuild directory.  build\\PCbuild\\python_d.exe
 		   
 		   On Cygwin, the pathname is similar to other Unixes.
 		   Use \\build\\python.exe to ensure we don't match
-		   PC\\VS7.1\\python.exe which could be a normal instance
+		   PCbuild\\python.exe which could be a normal instance
 		   of Python running on vanilla Windows.
 		*/
-		if ((strstr(path, "build\\pc\\vs7.1\\python_d.exe") != NULL) ||
+		if ((strstr(path, "pcbuild\\python_d.exe") != NULL) ||
 		    (strstr(path, "\\build\\python.exe") != NULL)) {
 			printf("Terminating %s (pid %d)\n", path, pids[i]);
 			if (!TerminateProcess(hProcess, 1)) {

Modified: python/branches/py3k/Tools/buildbot/test.bat
==============================================================================
--- python/branches/py3k/Tools/buildbot/test.bat	(original)
+++ python/branches/py3k/Tools/buildbot/test.bat	Wed Jan  2 19:30:52 2008
@@ -1,3 +1,3 @@
 @rem Used by the buildbot "test" step.
-cd PC\VS7.1
+cd PCbuild
 call rt.bat -d -q -uall -rw -n


More information about the Python-3000-checkins mailing list