From 077736b96b0e323841d76672dc109c2caba976a4 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Thu, 14 Nov 2002 23:24:40 +0000 Subject: [PATCH] Windows changes to move from Tcl/Tk 8.3.2 to 8.4.1. I tested this by running IDLE, and since I'm not a Tcl Guy I'm not sure what else to do. Up to you! See XXX comments in PCbuild\readme.txt for cautions. Also repaired typos in the new bz2-for-Windows instructions. --- PCbuild/_tkinter.dsp | 8 +++--- PCbuild/python.dsp | 4 +-- PCbuild/python20.wse | 10 ++++---- PCbuild/readme.txt | 60 ++++++++++++++++++++++++++++++++++++++------ 4 files changed, 64 insertions(+), 18 deletions(-) diff --git a/PCbuild/_tkinter.dsp b/PCbuild/_tkinter.dsp index 442af4cea6c..836ff0fe2a2 100644 --- a/PCbuild/_tkinter.dsp +++ b/PCbuild/_tkinter.dsp @@ -44,7 +44,7 @@ RSC=rc.exe # PROP Target_Dir "" F90=df.exe # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\tcl\include" /I "..\Include" /I "..\PC" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "WITH_APPINIT" /YX /FD /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\tcl84\include" /I "..\Include" /I "..\PC" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "WITH_APPINIT" /YX /FD /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 # ADD BASE RSC /l 0x409 /d "_DEBUG" @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 ..\..\tcl\lib\tk83.lib ..\..\tcl\lib\tcl83.lib odbc32.lib odbccp32.lib user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x1e190000" /subsystem:windows /dll /debug /machine:I386 /out:"./_tkinter_d.pyd" /pdbtype:sept /libpath:"C:\Program Files\Tcl\lib" +# ADD LINK32 ..\..\tcl84\lib\tk84.lib ..\..\tcl84\lib\tcl84.lib odbc32.lib odbccp32.lib user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x1e190000" /subsystem:windows /dll /debug /machine:I386 /out:"./_tkinter_d.pyd" /pdbtype:sept /libpath:"C:\Program Files\Tcl\lib" # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "_tkinter - Win32 Release" @@ -72,7 +72,7 @@ LINK32=link.exe # PROP Target_Dir "" F90=df.exe # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\..\tcl\include" /I "..\Include" /I "..\PC" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "WITH_APPINIT" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\..\tcl84\include" /I "..\Include" /I "..\PC" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "WITH_APPINIT" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 # ADD BASE RSC /l 0x409 /d "NDEBUG" @@ -82,7 +82,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 -# ADD LINK32 ..\..\tcl\lib\tk83.lib ..\..\tcl\lib\tcl83.lib odbc32.lib odbccp32.lib user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x1e190000" /subsystem:windows /dll /debug /machine:I386 /out:"./_tkinter.pyd" /libpath:"C:\Program Files\Tcl\lib" +# ADD LINK32 ..\..\tcl84\lib\tk84.lib ..\..\tcl84\lib\tcl84.lib odbc32.lib odbccp32.lib user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x1e190000" /subsystem:windows /dll /debug /machine:I386 /out:"./_tkinter.pyd" /libpath:"C:\Program Files\Tcl\lib" # SUBTRACT LINK32 /pdb:none !ENDIF diff --git a/PCbuild/python.dsp b/PCbuild/python.dsp index 57a473459e9..1c72974fdff 100644 --- a/PCbuild/python.dsp +++ b/PCbuild/python.dsp @@ -4,7 +4,7 @@ # TARGTYPE "Win32 (x86) Console Application" 0x0103 -CFG=python - Win32 Alpha Release +CFG=python - Win32 Release !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE @@ -13,7 +13,7 @@ CFG=python - Win32 Alpha Release !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "python.mak" CFG="python - Win32 Alpha Release" +!MESSAGE NMAKE /f "python.mak" CFG="python - Win32 Release" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE diff --git a/PCbuild/python20.wse b/PCbuild/python20.wse index 0a016d93b98..89c3f059637 100644 --- a/PCbuild/python20.wse +++ b/PCbuild/python20.wse @@ -31,8 +31,8 @@ item: Global Variable Default1=C:\PROGRAM FILES\WISE INSTALLMASTER 8.1 Variable Flags1=00001000 Variable Name2=_TCLMINOR_ - Variable Description2=Tcl/Tk Minor Version (e.g. the "3" in "8.3.1") - Variable Default2=3 + Variable Description2=Tcl/Tk Minor Version (e.g. the "4" in "8.4.1") + Variable Default2=4 Variable Flags2=00001000 Variable Name3=_DOC_ Variable Description3=The unpacked HTML doc directory. @@ -2048,19 +2048,19 @@ item: Remark Text=Tcl/Tk end item: Install File - Source=..\..\tcl\bin\tcl8%_tclminor_%.dll + Source=..\..\tcl84\bin\tcl8%_tclminor_%.dll Destination=%MAINDIR%\DLLs\tcl8%_TCLMINOR_%.dll Description=Tcl/Tk binaries and libraries Flags=0000000000000010 end item: Install File - Source=..\..\tcl\bin\tk8%_tclminor_%.dll + Source=..\..\tcl84\bin\tk8%_tclminor_%.dll Destination=%MAINDIR%\DLLs\tk8%_TCLMINOR_%.dll Description=Tcl/Tk binaries and libraries Flags=0000000000000010 end item: Install File - Source=..\..\tcl\lib\*.* + Source=..\..\tcl84\lib\*.* Destination=%MAINDIR%\tcl Description=Tcl/Tk binaries and libraries Flags=0000000100000010 diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt index 5073a413b2c..5c8fdf6a702 100644 --- a/PCbuild/readme.txt +++ b/PCbuild/readme.txt @@ -71,10 +71,53 @@ directory; for example, if your PCbuild is .......\dist\src\PCbuild\, unpack into new subdirectories of dist\. _tkinter - Python wrapper for the Tk windowing system. Requires tcl832.exe from - http://dev.scriptics.com/software/tcltk/downloadnow83.html - Run the installer, forcing installation into dist\Tcl. - Be sure to install everything, including the Tcl/Tk header files. + Python wrapper for the Tk windowing system. Requires building + Tcl/Tk first. Following are instructions for Tcl/Tk 8.4.1: + + Get source + ---------- + Go to + http://prdownloads.sourceforge.net/tcl/ + and download + tcl841-src.zip + tk841-src.zip + Unzip into + dist\tcl8.4.1\ + dist\tk\8.4.1\ + respectively. + + Build Tcl first (done here w/ MSVC 6 on Win2K) + ---------------------------------------------- + cd dist\tcl8.4.1\win + run vcvars32.bat [necessary even on Win2K] + nmake -f makefile.vc + nmake -f makefile.vc INSTALLDIR=..\..\tcl84 install + + XXX Should we compile with OPTS=threads? + + XXX Some tests failed in "nmake -f makefile.vc test". + + XXX Should rename destination directory to something more generic + XXX then tcl84. But unless I can backport 8.3.4 to the 2.2 line + XXX too, I've got to be able to build using more than oneX Tcl/Tk + XXX release, and that effectively reserves the "tcl" directory name + XXX for the duration. Nothing that requires thought is going to + XXX work when it comes to release crunch times. + + + Build Tk + ------- + cd dist\tk8.4.1\win + nmake -f makefile.vc TCLDIR=..\..\tcl8.4.1 + nmake -f makefile.vc TCLDIR=..\..\tcl8.4.1 INSTALLDIR=..\..\tcl84 install + + XXX Should we compile with OPTS=threads? + + XXX Some tests failed in "nmake -f makefile.vc test". + + XXX Our installer copies a lot of stuff out of the Tcl/Tk install + XXX directory. Is all of that really needed for Python use of Tcl/Tk? + zlib Python wrapper for the zlib compression library. Get the source code @@ -92,13 +135,15 @@ bz2 Python wrapper for the libbz2 compression library. Homepage http://sources.redhat.com/bzip2/ Download the source tarball, bzip2-1.0.2.tar.gz. - Unpack into dist\bzip2-1.0.2. WARNING: If you using WinZip, you + Unpack into dist\bzip2-1.0.2. WARNING: If you're using WinZip, you must disable its "TAR file smart CR/LF conversion" feature (under Options -> Configuration -> Miscellaneous -> Other) for the duration. + Don't bother trying to use libbz2.dsp with MSVC. After 10 minutes of fiddling, I couldn't get it to work. Perhaps it works with MSVC 5 (I used MSVC 6). It's better to run the by-hand makefile - anyway, because it runs a helpful test step at the end. + anyway, because it runs a helpful test step at the end. + cd into dist\bzip2-1.0.2, and run nmake -f makefile.msc [Note that if you're running Win9X, you'll need to run vcvars32.bat @@ -106,11 +151,12 @@ bz2 TODO: make this work like zlib (in particular, MSVC runs the prelink step in an enviroment that already has the correct envars set up). ] - The make step should yield any warnings or errors, and should end + The make step shouldn't yield any warnings or errors, and should end by displaying 6 blocks each terminated with FC: no differences encountered If FC finds differences, see the warning abou WinZip above (when I first tried it, sample3.ref failed due to CRLF conversion). + All of this managed to build bzip2-1.0.2\libbz2.lib, which the Python project links in.