diff options
author | Thomas Wouters <thomas@python.org> | 2006-04-21 10:40:58 (GMT) |
---|---|---|
committer | Thomas Wouters <thomas@python.org> | 2006-04-21 10:40:58 (GMT) |
commit | 49fd7fa4431da299196d74087df4a04f99f9c46f (patch) | |
tree | 35ace5fe78d3d52c7a9ab356ab9f6dbf8d4b71f4 /PCbuild | |
parent | 9ada3d6e29d5165dadacbe6be07bcd35cfbef59d (diff) | |
download | cpython-49fd7fa4431da299196d74087df4a04f99f9c46f.zip cpython-49fd7fa4431da299196d74087df4a04f99f9c46f.tar.gz cpython-49fd7fa4431da299196d74087df4a04f99f9c46f.tar.bz2 |
Merge p3yk branch with the trunk up to revision 45595. This breaks a fair
number of tests, all because of the codecs/_multibytecodecs issue described
here (it's not a Py3K issue, just something Py3K discovers):
http://mail.python.org/pipermail/python-dev/2006-April/064051.html
Hye-Shik Chang promised to look for a fix, so no need to fix it here. The
tests that are expected to break are:
test_codecencodings_cn
test_codecencodings_hk
test_codecencodings_jp
test_codecencodings_kr
test_codecencodings_tw
test_codecs
test_multibytecodec
This merge fixes an actual test failure (test_weakref) in this branch,
though, so I believe merging is the right thing to do anyway.
Diffstat (limited to 'PCbuild')
-rw-r--r-- | PCbuild/_ctypes.vcproj | 10 | ||||
-rw-r--r-- | PCbuild/_sqlite3.vcproj | 289 | ||||
-rw-r--r-- | PCbuild/_ssl.mak | 6 | ||||
-rw-r--r-- | PCbuild/db.build | 10 | ||||
-rw-r--r-- | PCbuild/make_buildinfo.c | 3 | ||||
-rw-r--r-- | PCbuild/pcbuild.sln | 14 | ||||
-rw-r--r-- | PCbuild/python.build | 21 | ||||
-rw-r--r-- | PCbuild/pythoncore.vcproj | 10 | ||||
-rw-r--r-- | PCbuild/readme.txt | 195 |
9 files changed, 512 insertions, 46 deletions
diff --git a/PCbuild/_ctypes.vcproj b/PCbuild/_ctypes.vcproj index 76518e6..4990c9e 100644 --- a/PCbuild/_ctypes.vcproj +++ b/PCbuild/_ctypes.vcproj @@ -33,12 +33,14 @@ Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" + AdditionalOptions="/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE" OutputFile="./_ctypes_d.pyd" LinkIncremental="1" SuppressStartupBanner="TRUE" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\./_ctypes_d.pdb" SubSystem="0" + BaseAddress="0x1D1A0000" ImportLibrary=".\./_ctypes_d.lib" TargetMachine="1"/> <Tool @@ -85,6 +87,7 @@ Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" + AdditionalOptions="/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE" OutputFile="./_ctypes.pyd" LinkIncremental="1" SuppressStartupBanner="TRUE" @@ -93,6 +96,7 @@ SubSystem="0" OptimizeReferences="0" EnableCOMDATFolding="0" + BaseAddress="0x1D1A0000" ImportLibrary=".\./_ctypes.lib" TargetMachine="1"/> <Tool @@ -142,7 +146,7 @@ Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" - AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK" + AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK /EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE" OutputFile="./_ctypes.pyd" LinkIncremental="1" SuppressStartupBanner="TRUE" @@ -151,6 +155,7 @@ SubSystem="0" OptimizeReferences="0" EnableCOMDATFolding="0" + BaseAddress="0x1D1A0000" ImportLibrary=".\./_ctypes.lib" TargetMachine="0"/> <Tool @@ -200,7 +205,7 @@ Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" - AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK" + AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK /EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE" OutputFile="./_ctypes.pyd" LinkIncremental="1" SuppressStartupBanner="TRUE" @@ -209,6 +214,7 @@ SubSystem="0" OptimizeReferences="0" EnableCOMDATFolding="0" + BaseAddress="0x1D1A0000" ImportLibrary=".\./_ctypes.lib" TargetMachine="0"/> <Tool diff --git a/PCbuild/_sqlite3.vcproj b/PCbuild/_sqlite3.vcproj new file mode 100644 index 0000000..bdb1a9b --- /dev/null +++ b/PCbuild/_sqlite3.vcproj @@ -0,0 +1,289 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="7.10" + Name="_sqlite3" + ProjectGUID="{2FF0A312-22F9-4C34-B070-842916DE27A9}" + SccProjectName="_sqlite3" + SccLocalPath=".."> + <Platforms> + <Platform + Name="Win32"/> + </Platforms> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\." + IntermediateDirectory=".\x86-temp-debug\_sqlite3" + ConfigurationType="2" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="FALSE"> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\Include;..\PC;..\..\sqlite-source-3.3.4" + PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;MODULE_NAME=\"sqlite3\"" + RuntimeLibrary="3" + UsePrecompiledHeader="2" + WarningLevel="3" + SuppressStartupBanner="TRUE" + DebugInformationFormat="3" + CompileAs="0"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="..\..\sqlite-source-3.3.4\sqlite3.lib" + OutputFile="./_sqlite3_d.pyd" + LinkIncremental="1" + SuppressStartupBanner="TRUE" + IgnoreDefaultLibraryNames="" + GenerateDebugInformation="TRUE" + ProgramDatabaseFile=".\./_sqlite3_d.pdb" + SubSystem="2" + BaseAddress="0x1e180000" + ImportLibrary=".\./_sqlite3_d.lib" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory=".\." + IntermediateDirectory=".\x86-temp-release\_sqlite3" + ConfigurationType="2" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="FALSE"> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories="..\Include;..\PC;..\..\sqlite-source-3.3.4" + PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;MODULE_NAME=\"sqlite3\"" + StringPooling="TRUE" + RuntimeLibrary="2" + EnableFunctionLevelLinking="TRUE" + UsePrecompiledHeader="2" + WarningLevel="3" + SuppressStartupBanner="TRUE" + DebugInformationFormat="3" + CompileAs="0"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="..\..\sqlite-source-3.3.4\sqlite3.lib" + OutputFile="./_sqlite3.pyd" + LinkIncremental="1" + SuppressStartupBanner="TRUE" + IgnoreDefaultLibraryNames="" + GenerateDebugInformation="TRUE" + ProgramDatabaseFile=".\./_sqlite3.pdb" + SubSystem="2" + BaseAddress="0x1e180000" + ImportLibrary=".\./_sqlite3.lib" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + <Configuration + Name="ReleaseItanium|Win32" + OutputDirectory="./." + IntermediateDirectory=".\ia64-temp-release\_sqlite3" + ConfigurationType="2" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="FALSE"> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions=" /USECL:MS_ITANIUM" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories="{MSSDKPATH}\include\Win64\atl;{MSSDKPATH}\include\Win64\crt;{MSSDKPATH}\include\Win64\crt\sys;{MSSDKPATH}\include\Win64\mfc;..\Include;..\PC;..\..\sqlite-source-3.3.4" + PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;MODULE_NAME=\"sqlite3\"" + StringPooling="TRUE" + BasicRuntimeChecks="0" + RuntimeLibrary="2" + BufferSecurityCheck="FALSE" + EnableFunctionLevelLinking="TRUE" + UsePrecompiledHeader="2" + WarningLevel="3" + SuppressStartupBanner="TRUE" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="3" + CompileAs="0"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK" + AdditionalDependencies="..\..\sqlite-source-3.3.4\ia64\sqlite3.lib" + OutputFile="./_sqlite3.pyd" + LinkIncremental="1" + SuppressStartupBanner="TRUE" + IgnoreDefaultLibraryNames="" + GenerateDebugInformation="TRUE" + ProgramDatabaseFile=".\./_sqlite3.pdb" + SubSystem="2" + BaseAddress="0x1e180000" + ImportLibrary=".\./_sqlite3.lib" + TargetMachine="0"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + <Configuration + Name="ReleaseAMD64|Win32" + OutputDirectory="." + IntermediateDirectory="amd64-temp-release\_sqlite3" + ConfigurationType="2" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="FALSE"> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions=" /USECL:MS_OPTERON" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories="{MSSDKPATH}\include\Win64\atl\amd64;{MSSDKPATH}\include\Win64\crt\amd64;{MSSDKPATH}\include\Win64\crt\amd64\sys;{MSSDKPATH}\include\Win64\mfc\amd64;..\Include;..\PC;..\..\sqlite-source-3.3.4" + PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;MODULE_NAME=\"sqlite3\"" + StringPooling="TRUE" + BasicRuntimeChecks="0" + RuntimeLibrary="2" + BufferSecurityCheck="FALSE" + EnableFunctionLevelLinking="TRUE" + UsePrecompiledHeader="2" + WarningLevel="3" + SuppressStartupBanner="TRUE" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="3" + CompileAs="0"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK" + AdditionalDependencies="..\..\sqlite-source-3.3.4\amd64\sqlite3.lib" + OutputFile="./_sqlite3.pyd" + LinkIncremental="1" + SuppressStartupBanner="TRUE" + IgnoreDefaultLibraryNames="" + GenerateDebugInformation="TRUE" + ProgramDatabaseFile=".\./_sqlite3.pdb" + SubSystem="2" + BaseAddress="0x1e180000" + ImportLibrary=".\./_sqlite3.lib" + TargetMachine="0"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <File + RelativePath="..\Modules\_sqlite\adapters.c"> + </File> + <File + RelativePath="..\Modules\_sqlite\cache.c"> + </File> + <File + RelativePath="..\Modules\_sqlite\connection.c"> + </File> + <File + RelativePath="..\Modules\_sqlite\converters.c"> + </File> + <File + RelativePath="..\Modules\_sqlite\cursor.c"> + </File> + <File + RelativePath="..\Modules\_sqlite\microprotocols.c"> + </File> + <File + RelativePath="..\Modules\_sqlite\module.c"> + </File> + <File + RelativePath="..\Modules\_sqlite\prepare_protocol.c"> + </File> + <File + RelativePath="..\Modules\_sqlite\row.c"> + </File> + <File + RelativePath="..\Modules\_sqlite\statement.c"> + </File> + <File + RelativePath="..\Modules\_sqlite\util.c"> + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/PCbuild/_ssl.mak b/PCbuild/_ssl.mak index c150d65..2c47c6b 100644 --- a/PCbuild/_ssl.mak +++ b/PCbuild/_ssl.mak @@ -2,17 +2,17 @@ !IFDEF DEBUG MODULE=_ssl_d.pyd TEMP_DIR=x86-temp-debug/_ssl -CFLAGS=/Od /Zi /MDd /LDd /DDEBUG /D_DEBUG +CFLAGS=/Od /Zi /MDd /LDd /DDEBUG /D_DEBUG /DWIN32 SSL_LIB_DIR=$(SSL_DIR)/out32.dbg !ELSE MODULE=_ssl.pyd TEMP_DIR=x86-temp-release/_ssl -CFLAGS=/Ox /MD /LD +CFLAGS=/Ox /MD /LD /DWIN32 SSL_LIB_DIR=$(SSL_DIR)/out32 !ENDIF INCLUDES=-I ../Include -I ../PC -I $(SSL_DIR)/inc32 -LIBS=gdi32.lib wsock32.lib /libpath:$(SSL_LIB_DIR) libeay32.lib ssleay32.lib +LIBS=gdi32.lib wsock32.lib user32.lib advapi32.lib /libpath:$(SSL_LIB_DIR) libeay32.lib ssleay32.lib SOURCE=../Modules/_ssl.c $(SSL_LIB_DIR)/libeay32.lib $(SSL_LIB_DIR)/ssleay32.lib diff --git a/PCbuild/db.build b/PCbuild/db.build new file mode 100644 index 0000000..6a87f74 --- /dev/null +++ b/PCbuild/db.build @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<project> + <target name="all" description="Build all targets."> + <solution configuration="release"> + <projects> + <include name="db_static.vcproj" /> + </projects> + </solution> + </target> +</project> diff --git a/PCbuild/make_buildinfo.c b/PCbuild/make_buildinfo.c index 9d2f9f0..4cebf45 100644 --- a/PCbuild/make_buildinfo.c +++ b/PCbuild/make_buildinfo.c @@ -27,6 +27,9 @@ int make_buildinfo2() DWORD type, size; if (_stat(".svn", &st) < 0) return 0; + /* Allow suppression of subwcrev.exe invocation if a no_subwcrev file is present. */ + if (_stat("no_subwcrev", &st) == 0) + return 0; if (RegOpenKey(HKEY_LOCAL_MACHINE, "Software\\TortoiseSVN", &hTortoise) != ERROR_SUCCESS && RegOpenKey(HKEY_CURRENT_USER, "Software\\TortoiseSVN", &hTortoise) != ERROR_SUCCESS) /* Tortoise not installed */ diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln index 88d8c45..20d3ecf 100644 --- a/PCbuild/pcbuild.sln +++ b/PCbuild/pcbuild.sln @@ -96,6 +96,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ctypes", "_ctypes.vcproj", EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ctypes_test", "_ctypes_test.vcproj", "{8CF334D9-4F82-42EB-97AF-83592C5AFD2F}" ProjectSection(ProjectDependencies) = postProject + {F22F40F4-D318-40DC-96B3-88DC81CE0894} = {F22F40F4-D318-40DC-96B3-88DC81CE0894} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_sqlite3", "_sqlite3.vcproj", "{2FF0A312-22F9-4C34-B070-842916DE27A9}" + ProjectSection(ProjectDependencies) = postProject + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} EndProjectSection EndProject Global @@ -260,6 +266,14 @@ Global {8CF334D9-4F82-42EB-97AF-83592C5AFD2F}.Release.Build.0 = Release|Win32 {8CF334D9-4F82-42EB-97AF-83592C5AFD2F}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 {8CF334D9-4F82-42EB-97AF-83592C5AFD2F}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 + {2FF0A312-22F9-4C34-B070-842916DE27A9}.Debug.ActiveCfg = Debug|Win32 + {2FF0A312-22F9-4C34-B070-842916DE27A9}.Debug.Build.0 = Debug|Win32 + {2FF0A312-22F9-4C34-B070-842916DE27A9}.Release.ActiveCfg = Release|Win32 + {2FF0A312-22F9-4C34-B070-842916DE27A9}.Release.Build.0 = Release|Win32 + {2FF0A312-22F9-4C34-B070-842916DE27A9}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {2FF0A312-22F9-4C34-B070-842916DE27A9}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 + {2FF0A312-22F9-4C34-B070-842916DE27A9}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 + {2FF0A312-22F9-4C34-B070-842916DE27A9}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 EndGlobalSection GlobalSection(SolutionItems) = postSolution ..\Modules\getbuildinfo.c = ..\Modules\getbuildinfo.c diff --git a/PCbuild/python.build b/PCbuild/python.build new file mode 100644 index 0000000..61bbe89 --- /dev/null +++ b/PCbuild/python.build @@ -0,0 +1,21 @@ +<?xml version="1.0"?> +<project> + <target name="all" description="Build all targets."> + <solution configuration="release"> + <projects> + <include name="make_versioninfo.vcproj" /> + </projects> + </solution> + <exec program="make_versioninfo" output="pythonnt_rc.h" /> + + <solution configuration="release" solutionfile="pcbuild.sln"> + <excludeprojects> + <include name="_tkinter.vcproj" /> + <include name="bz2.vcproj" /> + <include name="_bsddb.vcproj" /> + <include name="_sqlite3.vcproj" /> + <include name="_ssl.vcproj" /> + </excludeprojects> + </solution> + </target> +</project> diff --git a/PCbuild/pythoncore.vcproj b/PCbuild/pythoncore.vcproj index a1bb0ed..3bd740f 100644 --- a/PCbuild/pythoncore.vcproj +++ b/PCbuild/pythoncore.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++" Version="7.10" Name="pythoncore" - ProjectGUID="{7AFA1F0B-A8A1-455A-A832-BF263404BBEF}" + ProjectGUID="{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}" RootNamespace="pythoncore" SccProjectName="pythoncore" SccLocalPath=".."> @@ -623,7 +623,7 @@ RelativePath="..\Modules\mathmodule.c"> </File> <File - RelativePath="..\Modules\md5c.c"> + RelativePath="..\Modules\md5.c"> </File> <File RelativePath="..\Modules\md5module.c"> @@ -707,12 +707,6 @@ RelativePath="..\Objects\rangeobject.c"> </File> <File - RelativePath="..\Modules\regexmodule.c"> - </File> - <File - RelativePath="..\Modules\regexpr.c"> - </File> - <File RelativePath="..\Modules\rgbimgmodule.c"> </File> <File diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt index 76c314d..e303313 100644 --- a/PCbuild/readme.txt +++ b/PCbuild/readme.txt @@ -64,27 +64,21 @@ unpack into new subdirectories of dist\. _tkinter Python wrapper for the Tk windowing system. Requires building - Tcl/Tk first. Following are instructions for Tcl/Tk 8.4.7; these - should work for version 8.4.6 too, with suitable substitutions: + Tcl/Tk first. Following are instructions for Tcl/Tk 8.4.12. Get source ---------- - Go to - http://prdownloads.sourceforge.net/tcl/ - and download - tcl847-src.zip - tk847-src.zip - Unzip into - dist\tcl8.4.7\ - dist\tk8.4.7\ - respectively. + In the dist directory, run + svn export http://svn.python.org/projects/external/tcl8.4.12 + svn export http://svn.python.org/projects/external/tk8.4.12 + svn export http://svn.python.org/projects/external/tix-8.4.0 Build Tcl first (done here w/ MSVC 7.1 on Windows XP) --------------- Use "Start -> All Programs -> Microsoft Visual Studio .NET 2003 -> Visual Studio .NET Tools -> Visual Studio .NET 2003 Command Prompt" to get a shell window with the correct environment settings - cd dist\tcl8.4.7\win + cd dist\tcl8.4.12\win nmake -f makefile.vc nmake -f makefile.vc INSTALLDIR=..\..\tcltk install @@ -99,9 +93,9 @@ _tkinter Build Tk -------- - cd dist\tk8.4.7\win - nmake -f makefile.vc TCLDIR=..\..\tcl8.4.7 - nmake -f makefile.vc TCLDIR=..\..\tcl8.4.7 INSTALLDIR=..\..\tcltk install + cd dist\tk8.4.12\win + nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 + nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 INSTALLDIR=..\..\tcltk install XXX Should we compile with OPTS=threads? @@ -109,7 +103,7 @@ _tkinter XXX directory. Is all of that really needed for Python use of Tcl/Tk? Optional: run tests, via - nmake -f makefile.vc TCLDIR=..\..\tcl8.4.7 test + nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 test On WinXP Pro, wholly up to date as of 30-Aug-2004: all.tcl: Total 8420 Passed 6826 Skipped 1581 Failed 13 @@ -118,12 +112,9 @@ _tkinter Built Tix --------- - Download from http://prdownloads.sourceforge.net/tix/tix-8.1.4.tar.gz - cd dist\tix-8.1.4 - [cygwin]patch -p1 < ..\..\python\PC\tix.diff - cd win - nmake -f makefile.vc - nmake -f makefile.vc install + cd dist\tix-8.4.0\win + nmake -f python.mak + nmake -f python.mak install bz2 Python wrapper for the libbz2 compression library. Homepage @@ -223,23 +214,24 @@ _bsddb target ("Release IA64" for Itanium, "Release AMD64" for AMD64), e.g. devenv db-4.4.20\build_win32\Berkeley_DB.sln /build "Release AMD64" /project db_static /useenv +_sqlite3 + Python wrapper for SQLite library. + + Get the source code through + + svn export http://svn.python.org/projects/external/sqlite-source-3.3.4 + + To use the extension module in a Python build tree, copy sqlite3.dll into + the PCbuild folder. _ssl Python wrapper for the secure sockets library. - Get the latest source code for OpenSSL from - http://www.openssl.org + Get the source code through - You (probably) don't want the "engine" code. For example, get - openssl-0.9.7d.tar.gz - not - openssl-engine-0.9.7d.tar.gz - - (see #1233049 for using 0.9.8). - Unpack into the "dist" directory, retaining the folder name from - the archive - for example, the latest stable OpenSSL will install as - dist/openssl-0.9.7d + svn export http://svn.python.org/projects/external/openssl-0.9.8a + Alternatively, get the latest version from http://www.openssl.org. You can (theoretically) use any version of OpenSSL you like - the build process will automatically select the latest version. @@ -281,6 +273,143 @@ The build process for the ReleaseAMD64 configuration is very similar to the Itanium configuration; make sure you use the latest version of vsextcomp. +Building Python Using the free MS Toolkit Compiler +-------------------------------------------------- + +The build process for Visual C++ can be used almost unchanged with the free MS +Toolkit Compiler. This provides a way of building Python using freely +available software. + +Requirements + + To build Python, the following tools are required: + + * The Visual C++ Toolkit Compiler + from http://msdn.microsoft.com/visualc/vctoolkit2003/ + * A recent Platform SDK + from http://www.microsoft.com/downloads/details.aspx?FamilyID=484269e2-3b89-47e3-8eb7-1f2be6d7123a + * The .NET 1.1 SDK + from http://www.microsoft.com/downloads/details.aspx?FamilyID=9b3a2ca6-3647-4070-9f41-a333c6b9181d + + [Does anyone have better URLs for the last 2 of these?] + + The toolkit compiler is needed as it is an optimising compiler (the + compiler supplied with the .NET SDK is a non-optimising version). The + platform SDK is needed to provide the Windows header files and libraries + (the Windows 2003 Server SP1 edition, typical install, is known to work - + other configurations or versions are probably fine as well). The .NET 1.1 + SDK is needed because it contains a version of msvcrt.dll which links to + the msvcr71.dll CRT. Note that the .NET 2.0 SDK is NOT acceptable, as it + references msvcr80.dll. + + All of the above items should be installed as normal. + + If you intend to build the openssl (needed for the _ssl extension) you + will need the C runtime sources installed as part of the platform SDK. + + In addition, you will need Nant, available from + http://nant.sourceforge.net. The 0.85 release candidate 3 version is known + to work. This is the latest released version at the time of writing. Later + "nightly build" versions are known NOT to work - it is not clear at + present whether future released versions will work. + +Setting up the environment + + Start a platform SDK "build environment window" from the start menu. The + "Windows XP 32-bit retail" version is known to work. + + Add the following directories to your PATH: + * The toolkit compiler directory + * The SDK "Win64" binaries directory + * The Nant directory + Add to your INCLUDE environment variable: + * The toolkit compiler INCLUDE directory + Add to your LIB environment variable: + * The toolkit compiler LIB directory + * The .NET SDK Visual Studio 2003 VC7\lib directory + + The following commands should set things up as you need them: + + rem Set these values according to where you installed the software + set TOOLKIT=C:\Program Files\Microsoft Visual C++ Toolkit 2003 + set SDK=C:\Program Files\Microsoft Platform SDK + set NET=C:\Program Files\Microsoft Visual Studio .NET 2003 + set NANT=C:\Utils\Nant + + set PATH=%TOOLKIT%\bin;%PATH%;%SDK%\Bin\win64;%NANT%\bin + set INCLUDE=%TOOLKIT%\include;%INCLUDE% + set LIB=%TOOLKIT%\lib;%NET%\VC7\lib;%LIB% + + The "win64" directory from the SDK is added to supply executables such as + "cvtres" and "lib", which are not available elsewhere. The versions in the + "win64" directory are 32-bit programs, so they are fine to use here. + + That's it. To build Python (the core only, no binary extensions which + depend on external libraries) you just need to issue the command + + nant -buildfile:python.build all + + from within the PCBuild directory. + +Extension modules + + To build those extension modules which require external libraries + (_tkinter, bz2, _bsddb, _sqlite3, _ssl) you can follow the instructions + for the Visual Studio build above, with a few minor modifications. These + instructions have only been tested using the sources in the Python + subversion repository - building from original sources should work, but + has not been tested. + + For each extension module you wish to build, you should remove the + associated include line from the excludeprojects section of pc.build. + + The changes required are: + + _tkinter + The tix makefile (tix-8.4.0\win\makefile.vc) must be modified to + remove references to TOOLS32. The relevant lines should be changed to + read: + cc32 = cl.exe + link32 = link.exe + include32 = + The remainder of the build instructions will work as given. + + bz2 + No changes are needed + + _bsddb + The file db.build should be copied from the Python PCBuild directory + to the directory db-4.4.20\build_win32. + + The file db_static.vcproj in db-4.4.20\build_win32 should be edited to + remove the string "$(SolutionDir)" - this occurs in 2 places, only + relevant for 64-bit builds. (The edit is required as otherwise, nant + wants to read the solution file, which is not in a suitable form). + + The bsddb library can then be build with the command + nant -buildfile:db.build all + run from the db-4.4.20\build_win32 directory. + + _sqlite3 + No changes are needed. However, in order for the tests to succeed, a + copy of sqlite3.dll must be downloaded, and placed alongside + python.exe. + + _ssl + The documented build process works as written. However, it needs a + copy of the file setargv.obj, which is not supplied in the platform + SDK. However, the sources are available (in the crt source code). To + build setargv.obj, proceed as follows: + + Copy setargv.c, cruntime.h and internal.h from %SDK%\src\crt to a + temporary directory. + Compile using "cl /c /I. /MD /D_CRTBLD setargv.c" + Copy the resulting setargv.obj to somewhere on your LIB environment + (%SDK%\lib is a reasonable place). + + With setargv.obj in place, the standard build process should work + fine. + YOUR OWN EXTENSION DLLs ----------------------- If you want to create your own extension module DLL, there's an example |