Python-checkins
Threads by month
- ----- 2024 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
May 2006
- 29 participants
- 1058 discussions
Author: kristjan.jonsson
Date: Sat May 27 17:41:31 2006
New Revision: 46472
Added:
python/trunk/PCbuild8/
python/trunk/PCbuild8/Uninstal.wse
python/trunk/PCbuild8/_bsddb.vcproj
python/trunk/PCbuild8/_ctypes.vcproj
python/trunk/PCbuild8/_ctypes_test.vcproj
python/trunk/PCbuild8/_elementtree.vcproj
python/trunk/PCbuild8/_msi.vcproj
python/trunk/PCbuild8/_socket.vcproj
python/trunk/PCbuild8/_sqlite3.vcproj
python/trunk/PCbuild8/_ssl.mak
python/trunk/PCbuild8/_ssl.vcproj
python/trunk/PCbuild8/_testcapi.vcproj
python/trunk/PCbuild8/_tkinter.vcproj
python/trunk/PCbuild8/build_ssl.py
python/trunk/PCbuild8/bz2.vcproj
python/trunk/PCbuild8/db.build
python/trunk/PCbuild8/field3.py
python/trunk/PCbuild8/installer.bmp (contents, props changed)
python/trunk/PCbuild8/make_buildinfo.c
python/trunk/PCbuild8/make_buildinfo.vcproj
python/trunk/PCbuild8/make_versioninfo.vcproj
python/trunk/PCbuild8/pcbuild.sln
python/trunk/PCbuild8/pyexpat.vcproj
python/trunk/PCbuild8/python.build
python/trunk/PCbuild8/python.iss
python/trunk/PCbuild8/python.vcproj
python/trunk/PCbuild8/python20.wse
python/trunk/PCbuild8/pythoncore.vcproj
python/trunk/PCbuild8/pythoncore_link.txt
python/trunk/PCbuild8/pythoncore_pgo.vcproj
python/trunk/PCbuild8/pythoncore_pgo_link.txt
python/trunk/PCbuild8/pythonw.vcproj
python/trunk/PCbuild8/readme.txt
python/trunk/PCbuild8/rmpyc.py
python/trunk/PCbuild8/rt.bat
python/trunk/PCbuild8/select.vcproj
python/trunk/PCbuild8/unicodedata.vcproj
python/trunk/PCbuild8/w9xpopen.vcproj
python/trunk/PCbuild8/winsound.vcproj
Log:
Add a PCBuild8 build directory for building with Visual Studio .NET 2005. Contains a special project to perform profile guided optimizations on the pythoncore.dll, by instrumenting and running pybench.py
Added: python/trunk/PCbuild8/Uninstal.wse
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/Uninstal.wse Sat May 27 17:41:31 2006
@@ -0,0 +1,514 @@
+Document Type: WSE
+item: Global
+ Version=8.14
+ Flags=00000100
+ Split=1420
+ Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ Copy Default=1
+ Japanese Font Name=MS Gothic
+ Japanese Font Size=10
+ Start Gradient=0 0 255
+ End Gradient=0 0 0
+ Windows Flags=00000000000000000000101000001000
+ Message Font=MS Sans Serif
+ Font Size=8
+ Disk Label=GLBS
+ Disk Filename=INSTALL
+ Patch Flags=0000000000000001
+ Patch Threshold=200
+ Patch Memory=4096
+ Per-User Version ID=1
+ Crystal Format=10111100101100000010001001001001
+ Step View=&Properties
+end
+item: Remark
+ Text=Note from Tim: This is a verbatim copy of Wise's Uninstal.wse, altered at the end to write
+end
+item: Remark
+ Text=uninstall info under HKCU instead of HKLM if our DOADMIN var is false.
+end
+item: Remark
+end
+item: Remark
+ Text= Install Support for uninstalling the application.
+end
+item: Remark
+end
+item: Set Variable
+ Variable=UNINSTALL_PATH
+ Value=%_LOGFILE_PATH_%
+ Flags=00000010
+end
+item: Set Variable
+ Variable=UNINSTALL_PATH
+ Value=%UNINSTALL_PATH%\UNWISE.EXE
+end
+item: Compiler Variable If
+ Variable=_EXE_OS_TYPE_
+ Value=WIN32
+end
+item: Install File
+ Source=%_WISE_%\UNWISE32.EXE
+ Destination=%UNINSTALL_PATH%
+ Flags=0000000000000010
+end
+item: Compiler Variable Else
+end
+item: Install File
+ Source=%_WISE_%\UNWISE.EXE
+ Destination=%UNINSTALL_PATH%
+ Flags=0000000000000010
+end
+item: Compiler Variable End
+end
+item: Remark
+end
+item: Remark
+ Text= Install Support for multiple languages
+end
+item: Remark
+end
+item: Set Variable
+ Variable=UNINSTALL_LANG
+ Value=%UNINSTALL_PATH%
+ Flags=00000010
+end
+item: Set Variable
+ Variable=UNINSTALL_LANG
+ Value=%UNINSTALL_LANG%\UNWISE.INI
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=C
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.FRA
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_C_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.FRA
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=D
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.FRA
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_D_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.FRA
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=E
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.DEU
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_E_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.DEU
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=F
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.PTG
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_F_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.PTG
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=G
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.ESP
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_G_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.ESP
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=H
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.ESP
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_H_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.ESP
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=I
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.ITA
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_I_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.ITA
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=J
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.DAN
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_J_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.DAN
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=K
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.FIN
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_K_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.FIN
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=L
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.ISL
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_L_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.ISL
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=M
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.NLD
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_M_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.NLD
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=N
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.NOR
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_N_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.NOR
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=O
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.SVE
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_O_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.SVE
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Compiler Variable If
+ Variable=_LANG_LIST_
+ Value=P
+ Flags=00000010
+end
+item: Compiler Variable If
+ Value=%_WISE_%\LANGUAGE\UNWISE.JPN
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=LANG
+ Value=%_LANG_P_NAME_%
+end
+item: Install File
+ Source=%_WISE_%\LANGUAGE\UNWISE.JPN
+ Destination=%UNINSTALL_LANG%
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Compiler Variable End
+end
+item: Compiler Variable End
+end
+item: Remark
+end
+item: Remark
+ Text= Install the add/remove or uninstall icon
+end
+item: Remark
+end
+item: Set Variable
+ Variable=UNINSTALL_PATH
+ Value=%UNINSTALL_PATH%
+ Flags=00010100
+end
+item: Set Variable
+ Variable=INST_LOG_PATH
+ Value=%_LOGFILE_PATH_%
+ Flags=00010100
+end
+item: Check Configuration
+ Flags=10111011
+end
+item: If/While Statement
+ Variable=DOADMIN
+ Value=1
+end
+item: Remark
+ Text=Write uninstall info under HKLM. This if/else/end block added by Tim.
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=%APPTITLE%
+ Value Name=DisplayName
+ Root=2
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=%UNINSTALL_PATH% %INST_LOG_PATH%
+ New Value=
+ Value Name=UninstallString
+ Root=2
+end
+item: Else Statement
+end
+item: Remark
+ Text=The same, but write under HKCU instead.
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=%APPTITLE%
+ Value Name=DisplayName
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=%UNINSTALL_PATH% %INST_LOG_PATH%
+ New Value=
+ Value Name=UninstallString
+ Root=1
+end
+item: End Block
+end
+item: Else Statement
+end
+item: Add ProgMan Icon
+ Group=%GROUP%
+ Icon Name=Uninstall %APPTITLE%
+ Command Line=%UNINSTALL_PATH% %INST_LOG_PATH%
+end
+item: End Block
+end
+item: Check Configuration
+ Flags=11110010
+end
+item: If/While Statement
+ Variable=DOBRAND
+ Value=1
+end
+item: Edit Registry
+ Total Keys=2
+ item: Key
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=%COMPANY%
+ Value Name=RegCompany
+ Root=2
+ end
+ item: Key
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=%NAME%
+ Value Name=RegOwner
+ Root=2
+ end
+end
+item: End Block
+end
+item: End Block
+end
Added: python/trunk/PCbuild8/_bsddb.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_bsddb.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,385 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="_bsddb"
+ ProjectGUID="{E1DBB220-D64B-423D-A545-539A55AA7FE2}"
+ SccProjectName="_bsddb"
+ SccLocalPath=".."
+ SccProvider="MSSCCI:Perforce SCM"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\_bsddb"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include;..\PC;"..\..\db-4.4.20\build_win32""
+ PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\..\db-4.4.20\build_win32\Debug\libdb44sd.lib"
+ OutputFile="./_bsddb_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_bsddb_d.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e180000"
+ ImportLibrary=".\./_bsddb_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\_bsddb"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include;..\PC;"..\..\db-4.4.20\build_win32""
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\..\db-4.4.20\build_win32\Release\libdb44s.lib"
+ OutputFile="./_bsddb.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_bsddb.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e180000"
+ ImportLibrary=".\./_bsddb.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\ia64-temp-release\_bsddb"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include;..\PC;"..\..\db-4.4.20\build_win32""
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ AdditionalDependencies="..\..\db-4.4.20\build_win32\Release_IA64\libdb44s.lib"
+ OutputFile="./_bsddb.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_bsddb.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e180000"
+ ImportLibrary=".\./_bsddb.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\_bsddb"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON /GS-"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include;..\PC;"..\..\db-4.4.20\build_win32""
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="..\..\db-4.4.20\build_win32\Release_AMD64\libdb44s.lib"
+ OutputFile="./_bsddb.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_bsddb.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e180000"
+ ImportLibrary=".\./_bsddb.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\_bsddb.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/_ctypes.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_ctypes.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,408 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="_ctypes"
+ ProjectGUID="{F22F40F4-D318-40DC-96B3-88DC81CE0894}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\_ctypes"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\_ctypes\libffi_msvc"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <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
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\_ctypes"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\_ctypes\libffi_msvc"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE"
+ OutputFile="./_ctypes.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="false"
+ ProgramDatabaseFile=".\./_ctypes.pdb"
+ SubSystem="0"
+ OptimizeReferences="0"
+ EnableCOMDATFolding="0"
+ BaseAddress="0x1D1A0000"
+ ImportLibrary=".\./_ctypes.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\_ctypes"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\_ctypes\libffi_msvc"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK /EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE"
+ OutputFile="./_ctypes.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="false"
+ ProgramDatabaseFile=".\./_ctypes.pdb"
+ SubSystem="0"
+ OptimizeReferences="0"
+ EnableCOMDATFolding="0"
+ BaseAddress="0x1D1A0000"
+ ImportLibrary=".\./_ctypes.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="ia64-temp-release\_ctypes"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\_ctypes\libffi_msvc"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK /EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE"
+ OutputFile="./_ctypes.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="false"
+ ProgramDatabaseFile=".\./_ctypes.pdb"
+ SubSystem="0"
+ OptimizeReferences="0"
+ EnableCOMDATFolding="0"
+ BaseAddress="0x1D1A0000"
+ ImportLibrary=".\./_ctypes.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\_ctypes\_ctypes.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_ctypes\callbacks.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_ctypes\callproc.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_ctypes\cfield.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_ctypes\libffi_msvc\ffi.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_ctypes\malloc_closure.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_ctypes\libffi_msvc\prep_cif.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_ctypes\stgdict.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_ctypes\libffi_msvc\win32.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/_ctypes_test.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_ctypes_test.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="_ctypes_test"
+ ProjectGUID="{8CF334D9-4F82-42EB-97AF-83592C5AFD2F}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\_ctypes_test"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="./_ctypes_test_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_ctypes_test_d.pdb"
+ SubSystem="0"
+ ImportLibrary=".\./_ctypes_test_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\_ctypes_test"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="0"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="./_ctypes_test.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="false"
+ ProgramDatabaseFile=".\./_ctypes_test.pdb"
+ SubSystem="0"
+ OptimizeReferences="0"
+ EnableCOMDATFolding="0"
+ ImportLibrary=".\./_ctypes_test.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="ia64-temp-release\_ctypes_test"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="false"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ OutputFile="./_ctypes_test_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_ctypes_test_d.pdb"
+ SubSystem="0"
+ ImportLibrary=".\./_ctypes_test_d.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\_ctypes_test"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ OutputFile="./_ctypes_test.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="false"
+ ProgramDatabaseFile=".\./_ctypes_test.pdb"
+ SubSystem="0"
+ OptimizeReferences="0"
+ EnableCOMDATFolding="0"
+ ImportLibrary=".\./_ctypes_test.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\_ctypes\_ctypes_test.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/_elementtree.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_elementtree.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="_elementtree"
+ ProjectGUID="{1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\_elementtree"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
+ PreprocessorDefinitions="_DEBUG;HAVE_EXPAT_H;WIN32;_WINDOWS;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile="./_elementtree_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_elementtree_d.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D100000"
+ ImportLibrary=".\./_elementtree_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\_elementtree"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile="./_elementtree.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_elementtree.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D100000"
+ ImportLibrary=".\./_elementtree.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\ia64-temp-release\_elementtree"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile="./_elementtree.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_elementtree.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D100000"
+ ImportLibrary=".\./_elementtree.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\_elementtree"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON /GS-"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile="./_elementtree.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_elementtree.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D100000"
+ ImportLibrary=".\./_elementtree.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\_elementtree.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\expat\xmlparse.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\expat\xmlrole.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\expat\xmltok.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/_msi.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_msi.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="_msi"
+ ProjectGUID="{2C0BEFB9-70E2-4F80-AC5B-4AB8EE023574}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\_msi"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="fci.lib msi.lib rpcrt4.lib"
+ OutputFile="./_msi.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_msi.pdb"
+ BaseAddress="0x1D160000"
+ ImportLibrary=".\./_msi.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\_msi"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="fci.lib msi.lib rpcrt4.lib"
+ OutputFile="./_msi.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./_msi.pdb"
+ BaseAddress="0x1D160000"
+ ImportLibrary=".\./_msi.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\ia64-temp-release\_msi"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ AdditionalDependencies="fci.lib msi.lib rpcrt4.lib"
+ OutputFile="./_msi.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./_msi.pdb"
+ BaseAddress="0x1D160000"
+ ImportLibrary=".\./_msi.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\_msi"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON /GS-"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="fci.lib msi.lib rpcrt4.lib bufferoverflowU.lib"
+ OutputFile="./_msi.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./_msi.pdb"
+ BaseAddress="0x1D160000"
+ ImportLibrary=".\./_msi.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\PC\_msi.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/_socket.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_socket.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="_socket"
+ ProjectGUID="{324F66C2-44D0-4D50-B979-F9DAE7FD36DB}"
+ SccProjectName="_socket"
+ SccLocalPath=".."
+ SccProvider="MSSCCI:Perforce SCM"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\_socket"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="ws2_32.lib"
+ OutputFile="./_socket_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_socket_d.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e1D0000"
+ ImportLibrary=".\./_socket_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\_socket"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="ws2_32.lib"
+ OutputFile="./_socket.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_socket.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e1D0000"
+ ImportLibrary=".\./_socket.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\ia64-temp-release\_socket"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ AdditionalDependencies="ws2_32.lib"
+ OutputFile="./_socket.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_socket.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e1D0000"
+ ImportLibrary=".\./_socket.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\_socket"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON /GS-"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="ws2_32.lib"
+ OutputFile="./_socket.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_socket.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e1D0000"
+ ImportLibrary=".\./_socket.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\socketmodule.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/_sqlite3.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_sqlite3.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,414 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="_sqlite3"
+ ProjectGUID="{2FF0A312-22F9-4C34-B070-842916DE27A9}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\_sqlite3"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include;..\PC;..\..\sqlite-source-3.3.4"
+ PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;MODULE_NAME=\"sqlite3\""
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <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="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\_sqlite3"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <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="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <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="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\ia64-temp-release\_sqlite3"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\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="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <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="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\_sqlite3"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\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="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <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="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\_sqlite\cache.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_sqlite\connection.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>
Added: python/trunk/PCbuild8/_ssl.mak
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_ssl.mak Sat May 27 17:41:31 2006
@@ -0,0 +1,21 @@
+
+!IFDEF DEBUG
+MODULE=_ssl_d.pyd
+TEMP_DIR=x86-temp-debug/_ssl
+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 /DWIN32
+SSL_LIB_DIR=$(SSL_DIR)/out32
+!ENDIF
+
+INCLUDES=-I ../Include -I ../PC -I $(SSL_DIR)/inc32
+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
+
+$(MODULE): $(SOURCE) ../PC/*.h ../Include/*.h
+ @if not exist "$(TEMP_DIR)/." mkdir "$(TEMP_DIR)"
+ cl /nologo $(SOURCE) $(CFLAGS) /Fo$(TEMP_DIR)\$*.obj $(INCLUDES) /link /out:$(MODULE) $(LIBS)
Added: python/trunk/PCbuild8/_ssl.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_ssl.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="_ssl"
+ ProjectGUID="{8E85BA54-8A47-4C8B-B72E-8E17579CC6D7}"
+ RootNamespace="_ssl"
+ Keyword="MakeFileProj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\_ssl"
+ ConfigurationType="0"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="python build_ssl.py"
+ ReBuildCommandLine="python build_ssl.py -a"
+ CleanCommandLine="echo Nothing to do"
+ Output="_ssl.pyd"
+ PreprocessorDefinitions=""
+ IncludeSearchPath=""
+ ForcedIncludes=""
+ AssemblySearchPath=""
+ ForcedUsingAssemblies=""
+ CompileAsManaged=""
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\_ssl"
+ ConfigurationType="0"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="python_d -u build_ssl.py -d"
+ ReBuildCommandLine="python_d -u build_ssl.py -d -a"
+ CleanCommandLine="echo Nothing to do"
+ Output="_ssl_d.pyd"
+ PreprocessorDefinitions=""
+ IncludeSearchPath=""
+ ForcedIncludes=""
+ AssemblySearchPath=""
+ ForcedUsingAssemblies=""
+ CompileAsManaged=""
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\ia64-temp-release\_ssl"
+ ConfigurationType="0"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="python build_ssl.py"
+ ReBuildCommandLine="python build_ssl.py -a"
+ CleanCommandLine=""
+ Output="_ssl.pyd"
+ PreprocessorDefinitions=""
+ IncludeSearchPath=""
+ ForcedIncludes=""
+ AssemblySearchPath=""
+ ForcedUsingAssemblies=""
+ CompileAsManaged=""
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\_ssl"
+ ConfigurationType="0"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="python build_ssl.py"
+ ReBuildCommandLine="python build_ssl.py -a"
+ CleanCommandLine=""
+ Output="_ssl.pyd"
+ PreprocessorDefinitions=""
+ IncludeSearchPath=""
+ ForcedIncludes=""
+ AssemblySearchPath=""
+ ForcedUsingAssemblies=""
+ CompileAsManaged=""
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\_ssl.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/_testcapi.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_testcapi.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,374 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="_testcapi"
+ ProjectGUID="{59CBF474-9E06-4C50-9142-C44A118BB447}"
+ SccProjectName="_testcapi"
+ SccLocalPath=".."
+ SccProvider="MSSCCI:Perforce SCM"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\_testcapi"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MMAP_EXPORTS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="./_testcapi.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./_testcapi.pdb"
+ BaseAddress="0x1e1F0000"
+ ImportLibrary=".\./_testcapi.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\_testcapi"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MMAP_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="./_testcapi_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_testcapi_d.pdb"
+ BaseAddress="0x1e1F0000"
+ ImportLibrary=".\./_testcapi_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\ia64-temp-release\_testcapi"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MMAP_EXPORTS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ OutputFile="./_testcapi.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./_testcapi.pdb"
+ BaseAddress="0x1e1F0000"
+ ImportLibrary=".\./_testcapi.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\_testcapi"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON /GS-"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MMAP_EXPORTS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ OutputFile="./_testcapi.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./_testcapi.pdb"
+ BaseAddress="0x1e1F0000"
+ ImportLibrary=".\./_testcapi.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\_testcapimodule.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/_tkinter.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/_tkinter.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="_tkinter"
+ ProjectGUID="{5B51DFF7-5DC0-41F8-8791-A4AB7114A151}"
+ SccProjectName="_tkinter"
+ SccLocalPath="..\.."
+ SccProvider="MSSCCI:Perforce SCM"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\_tkinter"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\tcltk\include,..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;WITH_APPINIT"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\..\tcltk\lib\tk84.lib ..\..\tcltk\lib\tcl84.lib odbccp32.lib"
+ OutputFile="./_tkinter.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_tkinter.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e190000"
+ ImportLibrary=".\./_tkinter.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\_tkinter"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\tcltk\include,..\Include,..\PC"
+ PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;WITH_APPINIT"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\..\tcltk\lib\tk84.lib ..\..\tcltk\lib\tcl84.lib odbccp32.lib"
+ OutputFile="./_tkinter_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_tkinter_d.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e190000"
+ ImportLibrary=".\./_tkinter_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\ia64-temp-release\_tkinter"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\tcltk\include,..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;WITH_APPINIT"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ AdditionalDependencies="..\..\tcltk\lib\tk84.lib ..\..\tcltk\lib\tcl84.lib odbccp32.lib"
+ OutputFile="./_tkinter.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_tkinter.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e190000"
+ ImportLibrary=".\./_tkinter.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\_tkinter"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON /GS-"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\tcltk\include,..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;WITH_APPINIT"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="..\..\tcltk\lib\tk84.lib ..\..\tcltk\lib\tcl84.lib odbccp32.lib"
+ OutputFile="./_tkinter.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./_tkinter.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e190000"
+ ImportLibrary=".\./_tkinter.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\_tkinter.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\tkappinit.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/build_ssl.py
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/build_ssl.py Sat May 27 17:41:31 2006
@@ -0,0 +1,163 @@
+# Script for building the _ssl module for Windows.
+# Uses Perl to setup the OpenSSL environment correctly
+# and build OpenSSL, then invokes a simple nmake session
+# for _ssl.pyd itself.
+
+# THEORETICALLY, you can:
+# * Unpack the latest SSL release one level above your main Python source
+# directory. It is likely you will already find the zlib library and
+# any other external packages there.
+# * Install ActivePerl and ensure it is somewhere on your path.
+# * Run this script from the PCBuild directory.
+#
+# it should configure and build SSL, then build the ssl Python extension
+# without intervention.
+
+import os, sys, re
+
+# Find all "foo.exe" files on the PATH.
+def find_all_on_path(filename, extras = None):
+ entries = os.environ["PATH"].split(os.pathsep)
+ ret = []
+ for p in entries:
+ fname = os.path.abspath(os.path.join(p, filename))
+ if os.path.isfile(fname) and fname not in ret:
+ ret.append(fname)
+ if extras:
+ for p in extras:
+ fname = os.path.abspath(os.path.join(p, filename))
+ if os.path.isfile(fname) and fname not in ret:
+ ret.append(fname)
+ return ret
+
+# Find a suitable Perl installation for OpenSSL.
+# cygwin perl does *not* work. ActivePerl does.
+# Being a Perl dummy, the simplest way I can check is if the "Win32" package
+# is available.
+def find_working_perl(perls):
+ for perl in perls:
+ fh = os.popen(perl + ' -e "use Win32;"')
+ fh.read()
+ rc = fh.close()
+ if rc:
+ continue
+ return perl
+ print "Can not find a suitable PERL:"
+ if perls:
+ print " the following perl interpreters were found:"
+ for p in perls:
+ print " ", p
+ print " None of these versions appear suitable for building OpenSSL"
+ else:
+ print " NO perl interpreters were found on this machine at all!"
+ print " Please install ActivePerl and ensure it appears on your path"
+ print "The Python SSL module was not built"
+ return None
+
+# Locate the best SSL directory given a few roots to look into.
+def find_best_ssl_dir(sources):
+ candidates = []
+ for s in sources:
+ try:
+ s = os.path.abspath(s)
+ fnames = os.listdir(s)
+ except os.error:
+ fnames = []
+ for fname in fnames:
+ fqn = os.path.join(s, fname)
+ if os.path.isdir(fqn) and fname.startswith("openssl-"):
+ candidates.append(fqn)
+ # Now we have all the candidates, locate the best.
+ best_parts = []
+ best_name = None
+ for c in candidates:
+ parts = re.split("[.-]", os.path.basename(c))[1:]
+ # eg - openssl-0.9.7-beta1 - ignore all "beta" or any other qualifiers
+ if len(parts) >= 4:
+ continue
+ if parts > best_parts:
+ best_parts = parts
+ best_name = c
+ if best_name is not None:
+ print "Found an SSL directory at '%s'" % (best_name,)
+ else:
+ print "Could not find an SSL directory in '%s'" % (sources,)
+ return best_name
+
+def main():
+ debug = "-d" in sys.argv
+ build_all = "-a" in sys.argv
+ make_flags = ""
+ if build_all:
+ make_flags = "-a"
+ # perl should be on the path, but we also look in "\perl" and "c:\\perl"
+ # as "well known" locations
+ perls = find_all_on_path("perl.exe", ["\\perl\\bin", "C:\\perl\\bin"])
+ perl = find_working_perl(perls)
+ if perl is None:
+ sys.exit(1)
+
+ print "Found a working perl at '%s'" % (perl,)
+ # Look for SSL 2 levels up from pcbuild - ie, same place zlib etc all live.
+ ssl_dir = find_best_ssl_dir(("../..",))
+ if ssl_dir is None:
+ sys.exit(1)
+
+ old_cd = os.getcwd()
+ try:
+ os.chdir(ssl_dir)
+ # If the ssl makefiles do not exist, we invoke Perl to generate them.
+ if not os.path.isfile(os.path.join(ssl_dir, "32.mak")) or \
+ not os.path.isfile(os.path.join(ssl_dir, "d32.mak")):
+ print "Creating the makefiles..."
+ # Put our working Perl at the front of our path
+ os.environ["PATH"] = os.path.split(perl)[0] + \
+ os.pathsep + \
+ os.environ["PATH"]
+ # ms\32all.bat will reconfigure OpenSSL and then try to build
+ # all outputs (debug/nondebug/dll/lib). So we filter the file
+ # to exclude any "nmake" commands and then execute.
+ tempname = "ms\\32all_py.bat"
+
+ in_bat = open("ms\\32all.bat")
+ temp_bat = open(tempname,"w")
+ while 1:
+ cmd = in_bat.readline()
+ print 'cmd', repr(cmd)
+ if not cmd: break
+ if cmd.strip()[:5].lower() == "nmake":
+ continue
+ temp_bat.write(cmd)
+ in_bat.close()
+ temp_bat.close()
+ os.system(tempname)
+ try:
+ os.remove(tempname)
+ except:
+ pass
+
+ # Now run make.
+ print "Executing nmake over the ssl makefiles..."
+ if debug:
+ rc = os.system("nmake /nologo -f d32.mak")
+ if rc:
+ print "Executing d32.mak failed"
+ print rc
+ sys.exit(rc)
+ else:
+ rc = os.system("nmake /nologo -f 32.mak")
+ if rc:
+ print "Executing 32.mak failed"
+ print rc
+ sys.exit(rc)
+ finally:
+ os.chdir(old_cd)
+ # And finally, we can build the _ssl module itself for Python.
+ defs = "SSL_DIR=%s" % (ssl_dir,)
+ if debug:
+ defs = defs + " " + "DEBUG=1"
+ rc = os.system('nmake /nologo -f _ssl.mak ' + defs + " " + make_flags)
+ sys.exit(rc)
+
+if __name__=='__main__':
+ main()
Added: python/trunk/PCbuild8/bz2.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/bz2.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="bz2"
+ ProjectGUID="{AC557788-6354-43F7-BE05-C9C8C59A344A}"
+ RootNamespace="bz2"
+ SccProjectName="bz2"
+ SccLocalPath=".."
+ SccProvider="MSSCCI:Perforce SCM"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\bz2"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\..\bzip2-1.0.3"
+ PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ CommandLine="cd ..\..\bzip2-1.0.3
nmake /nologo /f makefile.msc
"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\..\bzip2-1.0.3\libbz2.lib"
+ OutputFile="./bz2_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="msvcrt,libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./bz2_d.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D170000"
+ ImportLibrary=".\./bz2_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\bz2"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\..\bzip2-1.0.3"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ CommandLine="cd ..\..\bzip2-1.0.3
nmake /nologo /f makefile.msc lib
"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\..\bzip2-1.0.3\libbz2.lib"
+ OutputFile="./bz2.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./bz2.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D170000"
+ ImportLibrary=".\./bz2.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\ia64-temp-release\bz2"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\..\bzip2-1.0.3"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ CommandLine="cd ..\..\bzip2-1.0.3
nmake /nologo /f makefile.msc lib
"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ AdditionalDependencies="..\..\bzip2-1.0.3\libbz2.lib"
+ OutputFile="./bz2.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./bz2.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D170000"
+ ImportLibrary=".\./bz2.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\bz2"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON /GS-"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\..\bzip2-1.0.3"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ CommandLine="cd ..\..\bzip2-1.0.3
nmake /nologo /f makefile.msc lib
"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="..\..\bzip2-1.0.3\libbz2.lib"
+ OutputFile="./bz2.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./bz2.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D170000"
+ ImportLibrary=".\./bz2.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\bz2module.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/db.build
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/db.build Sat May 27 17:41:31 2006
@@ -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>
Added: python/trunk/PCbuild8/field3.py
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/field3.py Sat May 27 17:41:31 2006
@@ -0,0 +1,35 @@
+# An absurd workaround for the lack of arithmetic in MS's resource compiler.
+# After building Python, run this, then paste the output into the appropriate
+# part of PC\python_nt.rc.
+# Example output:
+#
+# * For 2.3a0,
+# * PY_MICRO_VERSION = 0
+# * PY_RELEASE_LEVEL = 'alpha' = 0xA
+# * PY_RELEASE_SERIAL = 1
+# *
+# * and 0*1000 + 10*10 + 1 = 101.
+# */
+# #define FIELD3 101
+
+import sys
+
+major, minor, micro, level, serial = sys.version_info
+levelnum = {'alpha': 0xA,
+ 'beta': 0xB,
+ 'candidate': 0xC,
+ 'final': 0xF,
+ }[level]
+string = sys.version.split()[0] # like '2.3a0'
+
+print " * For %s," % string
+print " * PY_MICRO_VERSION = %d" % micro
+print " * PY_RELEASE_LEVEL = %r = %s" % (level, hex(levelnum))
+print " * PY_RELEASE_SERIAL = %d" % serial
+print " *"
+
+field3 = micro * 1000 + levelnum * 10 + serial
+
+print " * and %d*1000 + %d*10 + %d = %d" % (micro, levelnum, serial, field3)
+print " */"
+print "#define FIELD3", field3
Added: python/trunk/PCbuild8/installer.bmp
==============================================================================
Binary file. No diff available.
Added: python/trunk/PCbuild8/make_buildinfo.c
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/make_buildinfo.c Sat May 27 17:41:31 2006
@@ -0,0 +1,92 @@
+#include <windows.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
+
+/* This file creates the getbuildinfo.o object, by first
+ invoking subwcrev.exe (if found), and then invoking cl.exe.
+ As a side effect, it might generate PCBuild\getbuildinfo2.c
+ also. If this isn't a subversion checkout, or subwcrev isn't
+ found, it compiles ..\\Modules\\getbuildinfo.c instead.
+
+ Currently, subwcrev.exe is found from the registry entries
+ of TortoiseSVN.
+
+ No attempt is made to place getbuildinfo.o into the proper
+ binary directory. This isn't necessary, as this tool is
+ invoked as a pre-link step for pythoncore, so that overwrites
+ any previous getbuildinfo.o.
+
+*/
+
+int make_buildinfo2()
+{
+ struct _stat st;
+ HKEY hTortoise;
+ char command[500];
+ 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 */
+ return 0;
+ command[0] = '"'; /* quote the path to the executable */
+ size = sizeof(command) - 1;
+ if (RegQueryValueEx(hTortoise, "Directory", 0, &type, command+1, &size) != ERROR_SUCCESS ||
+ type != REG_SZ)
+ /* Registry corrupted */
+ return 0;
+ strcat(command, "bin\\subwcrev.exe");
+ if (_stat(command+1, &st) < 0)
+ /* subwcrev.exe not part of the release */
+ return 0;
+ strcat(command, "\" .. ..\\Modules\\getbuildinfo.c getbuildinfo2.c");
+ puts(command); fflush(stdout);
+ if (system(command) < 0)
+ return 0;
+ return 1;
+}
+
+int main(int argc, char*argv[])
+{
+ char command[500] = "cl.exe -c -D_WIN32 -DUSE_DL_EXPORT -D_WINDOWS -DWIN32 -D_WINDLL ";
+ int do_unlink, result;
+ if (argc != 2) {
+ fprintf(stderr, "make_buildinfo $(ConfigurationName)\n");
+ return EXIT_FAILURE;
+ }
+ if (strcmp(argv[1], "Release") == 0) {
+ strcat(command, "-MD ");
+ }
+ else if (strcmp(argv[1], "Debug") == 0) {
+ strcat(command, "-D_DEBUG -MDd ");
+ }
+ else if (strcmp(argv[1], "ReleaseItanium") == 0) {
+ strcat(command, "-MD /USECL:MS_ITANIUM ");
+ }
+ else if (strcmp(argv[1], "ReleaseAMD64") == 0) {
+ strcat(command, "-MD ");
+ strcat(command, "-MD /USECL:MS_OPTERON ");
+ }
+ else {
+ fprintf(stderr, "unsupported configuration %s\n", argv[1]);
+ return EXIT_FAILURE;
+ }
+
+ if ((do_unlink = make_buildinfo2()))
+ strcat(command, "getbuildinfo2.c -DSUBWCREV ");
+ else
+ strcat(command, "..\\Modules\\getbuildinfo.c");
+ strcat(command, " -Fogetbuildinfo.o -I..\\Include -I..\\PC");
+ puts(command); fflush(stdout);
+ result = system(command);
+ if (do_unlink)
+ unlink("getbuildinfo2.c");
+ if (result < 0)
+ return EXIT_FAILURE;
+ return 0;
+}
\ No newline at end of file
Added: python/trunk/PCbuild8/make_buildinfo.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/make_buildinfo.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="windows-1250"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="make_buildinfo"
+ ProjectGUID="{C73F0EC1-358B-4177-940F-0846AC8B04CD}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="."
+ IntermediateDirectory=".\x86-temp-release\make_buildinfo"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/make_buildinfo.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/make_buildinfo.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="."
+ IntermediateDirectory=".\x86-temp-release\make_buildinfo"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/make_buildinfo.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\make_buildinfo.c"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/make_versioninfo.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/make_versioninfo.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="make_versioninfo"
+ ProjectGUID="{F0E0541E-F17D-430B-97C4-93ADF0DD284E}"
+ RootNamespace="make_versioninfo"
+ SccProjectName="make_versioninfo"
+ SccLocalPath=".."
+ SccProvider="MSSCCI:Perforce SCM"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\make_versioninfo"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ CommandLine=".\make_versioninfo.exe >..\PC\pythonnt_rc.h
"
+ Outputs="..\PC\pythonnt_rc.h"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile=".\./make_versioninfo.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./make_versioninfo.pdb"
+ SubSystem="1"
+ BaseAddress="0x1d000000"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="$(TargetFileName) > ..\PC\python_nt.h"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\make_versioninfo"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ CommandLine=".\make_versioninfo_d.exe >..\PC\pythonnt_rc_d.h
"
+ Outputs="..\PC\pythonnt_rc_d.h"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ BrowseInformation="1"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile="./make_versioninfo_d.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./make_versioninfo_d.pdb"
+ SubSystem="1"
+ BaseAddress="0x1d000000"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="$(TargetFileName) > ..\PC\python_nt_d.h"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\PC\make_versioninfo.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/pcbuild.sln
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/pcbuild.sln Sat May 27 17:41:31 2006
@@ -0,0 +1,185 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythoncore", "pythoncore.vcproj", "{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD} = {C73F0EC1-358B-4177-940F-0846AC8B04CD}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythonw", "pythonw.vcproj", "{F4229CC3-873C-49AE-9729-DD308ED4CD4A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "select", "select.vcproj", "{97239A56-DBC0-41D2-BC14-C87D9B97D63B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unicodedata", "unicodedata.vcproj", "{FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "w9xpopen", "w9xpopen.vcproj", "{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winsound", "winsound.vcproj", "{51F35FAE-FB92-4B2C-9187-1542C065AD77}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_elementtree", "_elementtree.vcproj", "{1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make_buildinfo", "make_buildinfo.vcproj", "{C73F0EC1-358B-4177-940F-0846AC8B04CD}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_msi", "_msi.vcproj", "{2C0BEFB9-70E2-4F80-AC5B-4AB8EE023574}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ctypes", "_ctypes.vcproj", "{F22F40F4-D318-40DC-96B3-88DC81CE0894}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
+ EndProjectSection
+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
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8B172265-1F31-4880-A29C-11A4B7A80172}"
+ ProjectSection(SolutionItems) = preProject
+ ..\Modules\getbuildinfo.c = ..\Modules\getbuildinfo.c
+ readme.txt = readme.txt
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythoncore_pgo", "pythoncore_pgo.vcproj", "{8B59C1FF-2439-4BE9-9F24-84D4982D28D4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python", "python.vcproj", "{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ ReleaseAMD64|Win32 = ReleaseAMD64|Win32
+ ReleaseItanium|Win32 = ReleaseItanium|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|Win32.Build.0 = Debug|Win32
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Release|Win32.ActiveCfg = Release|Win32
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Release|Win32.Build.0 = Release|Win32
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.ReleaseAMD64|Win32.Build.0 = ReleaseAMD64|Win32
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.ReleaseItanium|Win32.Build.0 = ReleaseItanium|Win32
+ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug|Win32.Build.0 = Debug|Win32
+ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release|Win32.ActiveCfg = Release|Win32
+ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release|Win32.Build.0 = Release|Win32
+ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.ReleaseAMD64|Win32.Build.0 = ReleaseAMD64|Win32
+ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.ReleaseItanium|Win32.Build.0 = ReleaseItanium|Win32
+ {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.Debug|Win32.Build.0 = Debug|Win32
+ {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.Release|Win32.ActiveCfg = Release|Win32
+ {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.Release|Win32.Build.0 = Release|Win32
+ {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.ReleaseAMD64|Win32.Build.0 = ReleaseAMD64|Win32
+ {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.ReleaseItanium|Win32.Build.0 = ReleaseItanium|Win32
+ {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.Debug|Win32.Build.0 = Debug|Win32
+ {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.Release|Win32.ActiveCfg = Release|Win32
+ {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.Release|Win32.Build.0 = Release|Win32
+ {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.ReleaseAMD64|Win32.Build.0 = ReleaseAMD64|Win32
+ {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.ReleaseItanium|Win32.Build.0 = ReleaseItanium|Win32
+ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Debug|Win32.Build.0 = Debug|Win32
+ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Release|Win32.ActiveCfg = Release|Win32
+ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Release|Win32.Build.0 = Release|Win32
+ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.ReleaseAMD64|Win32.ActiveCfg = Release|Win32
+ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.ReleaseItanium|Win32.ActiveCfg = Release|Win32
+ {51F35FAE-FB92-4B2C-9187-1542C065AD77}.Debug|Win32.ActiveCfg = Debug|Win32
+ {51F35FAE-FB92-4B2C-9187-1542C065AD77}.Debug|Win32.Build.0 = Debug|Win32
+ {51F35FAE-FB92-4B2C-9187-1542C065AD77}.Release|Win32.ActiveCfg = Release|Win32
+ {51F35FAE-FB92-4B2C-9187-1542C065AD77}.Release|Win32.Build.0 = Release|Win32
+ {51F35FAE-FB92-4B2C-9187-1542C065AD77}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {51F35FAE-FB92-4B2C-9187-1542C065AD77}.ReleaseAMD64|Win32.Build.0 = ReleaseAMD64|Win32
+ {51F35FAE-FB92-4B2C-9187-1542C065AD77}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {51F35FAE-FB92-4B2C-9187-1542C065AD77}.ReleaseItanium|Win32.Build.0 = ReleaseItanium|Win32
+ {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.Debug|Win32.Build.0 = Debug|Win32
+ {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.Release|Win32.ActiveCfg = Release|Win32
+ {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.Release|Win32.Build.0 = Release|Win32
+ {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.ReleaseAMD64|Win32.Build.0 = ReleaseAMD64|Win32
+ {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.ReleaseItanium|Win32.Build.0 = ReleaseItanium|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|Win32.Build.0 = Debug|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|Win32.ActiveCfg = Release|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|Win32.Build.0 = Release|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.ReleaseAMD64|Win32.ActiveCfg = Release|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.ReleaseAMD64|Win32.Build.0 = Release|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.ReleaseItanium|Win32.ActiveCfg = Release|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.ReleaseItanium|Win32.Build.0 = Release|Win32
+ {2C0BEFB9-70E2-4F80-AC5B-4AB8EE023574}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2C0BEFB9-70E2-4F80-AC5B-4AB8EE023574}.Debug|Win32.Build.0 = Debug|Win32
+ {2C0BEFB9-70E2-4F80-AC5B-4AB8EE023574}.Release|Win32.ActiveCfg = Release|Win32
+ {2C0BEFB9-70E2-4F80-AC5B-4AB8EE023574}.Release|Win32.Build.0 = Release|Win32
+ {2C0BEFB9-70E2-4F80-AC5B-4AB8EE023574}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {2C0BEFB9-70E2-4F80-AC5B-4AB8EE023574}.ReleaseAMD64|Win32.Build.0 = ReleaseAMD64|Win32
+ {2C0BEFB9-70E2-4F80-AC5B-4AB8EE023574}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {2C0BEFB9-70E2-4F80-AC5B-4AB8EE023574}.ReleaseItanium|Win32.Build.0 = ReleaseItanium|Win32
+ {F22F40F4-D318-40DC-96B3-88DC81CE0894}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F22F40F4-D318-40DC-96B3-88DC81CE0894}.Debug|Win32.Build.0 = Debug|Win32
+ {F22F40F4-D318-40DC-96B3-88DC81CE0894}.Release|Win32.ActiveCfg = Release|Win32
+ {F22F40F4-D318-40DC-96B3-88DC81CE0894}.Release|Win32.Build.0 = Release|Win32
+ {F22F40F4-D318-40DC-96B3-88DC81CE0894}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {F22F40F4-D318-40DC-96B3-88DC81CE0894}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {8CF334D9-4F82-42EB-97AF-83592C5AFD2F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8CF334D9-4F82-42EB-97AF-83592C5AFD2F}.Debug|Win32.Build.0 = Debug|Win32
+ {8CF334D9-4F82-42EB-97AF-83592C5AFD2F}.Release|Win32.ActiveCfg = Release|Win32
+ {8CF334D9-4F82-42EB-97AF-83592C5AFD2F}.Release|Win32.Build.0 = Release|Win32
+ {8CF334D9-4F82-42EB-97AF-83592C5AFD2F}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {8CF334D9-4F82-42EB-97AF-83592C5AFD2F}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {2FF0A312-22F9-4C34-B070-842916DE27A9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2FF0A312-22F9-4C34-B070-842916DE27A9}.Debug|Win32.Build.0 = Debug|Win32
+ {2FF0A312-22F9-4C34-B070-842916DE27A9}.Release|Win32.ActiveCfg = Release|Win32
+ {2FF0A312-22F9-4C34-B070-842916DE27A9}.Release|Win32.Build.0 = Release|Win32
+ {2FF0A312-22F9-4C34-B070-842916DE27A9}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {2FF0A312-22F9-4C34-B070-842916DE27A9}.ReleaseAMD64|Win32.Build.0 = ReleaseAMD64|Win32
+ {2FF0A312-22F9-4C34-B070-842916DE27A9}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {2FF0A312-22F9-4C34-B070-842916DE27A9}.ReleaseItanium|Win32.Build.0 = ReleaseItanium|Win32
+ {8B59C1FF-2439-4BE9-9F24-84D4982D28D4}.Debug|Win32.ActiveCfg = Release|Win32
+ {8B59C1FF-2439-4BE9-9F24-84D4982D28D4}.Debug|Win32.Build.0 = Release|Win32
+ {8B59C1FF-2439-4BE9-9F24-84D4982D28D4}.Release|Win32.ActiveCfg = Release|Win32
+ {8B59C1FF-2439-4BE9-9F24-84D4982D28D4}.Release|Win32.Build.0 = Release|Win32
+ {8B59C1FF-2439-4BE9-9F24-84D4982D28D4}.ReleaseAMD64|Win32.ActiveCfg = Release|Win32
+ {8B59C1FF-2439-4BE9-9F24-84D4982D28D4}.ReleaseAMD64|Win32.Build.0 = Release|Win32
+ {8B59C1FF-2439-4BE9-9F24-84D4982D28D4}.ReleaseItanium|Win32.ActiveCfg = Release|Win32
+ {8B59C1FF-2439-4BE9-9F24-84D4982D28D4}.ReleaseItanium|Win32.Build.0 = Release|Win32
+ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Debug|Win32.Build.0 = Debug|Win32
+ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|Win32.ActiveCfg = Release|Win32
+ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|Win32.Build.0 = Release|Win32
+ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.ReleaseAMD64|Win32.ActiveCfg = ReleaseAMD64|Win32
+ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.ReleaseAMD64|Win32.Build.0 = ReleaseAMD64|Win32
+ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.ReleaseItanium|Win32.ActiveCfg = ReleaseItanium|Win32
+ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.ReleaseItanium|Win32.Build.0 = ReleaseItanium|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
Added: python/trunk/PCbuild8/pyexpat.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/pyexpat.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="pyexpat"
+ ProjectGUID="{7E551393-3C43-47F8-9F3F-5BC368A6C487}"
+ SccProjectName="pyexpat"
+ SccLocalPath=".."
+ SccProvider="MSSCCI:Perforce SCM"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\pyexpat"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
+ PreprocessorDefinitions="_DEBUG;HAVE_EXPAT_H;WIN32;_WINDOWS;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile="./pyexpat_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./pyexpat_d.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D100000"
+ ImportLibrary=".\./pyexpat_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\pyexpat"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile="./pyexpat.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./pyexpat.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D100000"
+ ImportLibrary=".\./pyexpat.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\ia64-temp-release\pyexpat"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile="./pyexpat.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./pyexpat.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D100000"
+ ImportLibrary=".\./pyexpat.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\pyexpat"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile="./pyexpat.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./pyexpat.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D100000"
+ ImportLibrary=".\./pyexpat.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\pyexpat.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\expat\xmlparse.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\expat\xmlrole.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\expat\xmltok.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/python.build
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/python.build Sat May 27 17:41:31 2006
@@ -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>
Added: python/trunk/PCbuild8/python.iss
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/python.iss Sat May 27 17:41:31 2006
@@ -0,0 +1,346 @@
+; Script generated by the Inno Setup Script Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
+; This is the whole ball of wax for an Inno installer for Python.
+; To use, download Inno Setup from http://www.jrsoftware.org/isdl.htm/,
+; install it, and double-click on this file. That launches the Inno
+; script compiler. The GUI is extemely simple, and has only one button
+; you may not recognize instantly: click it. You're done. It builds
+; the installer into PCBuild/Python-2.2a1.exe. Size and speed of the
+; installer are competitive with the Wise installer; Inno uninstall
+; seems much quicker than Wise (but also feebler, and the uninstall
+; log is in some un(human)readable binary format).
+;
+; What's Done
+; -----------
+; All the usual Windows Python files are installed by this now.
+; All the usual Windows Python Start menu entries are created and
+; work fine.
+; .py, .pyw, .pyc and .pyo extensions are registered.
+; PROBLEM: Inno uninstall does not restore their previous registry
+; associations (if any). Wise did. This will make life
+; difficult for alpha (etc) testers.
+; The Python install is fully functional for "typical" uses.
+;
+; What's Not Done
+; ---------------
+; None of "Mark Hammond's" registry entries are written.
+; No installation of files is done into the system dir:
+; The MS DLLs aren't handled at all by this yet.
+; Python22.dll is unpacked into the main Python dir.
+;
+; Inno can't do different things on NT/2000 depending on whether the user
+; has Admin privileges, so I don't know how to "solve" either of those,
+; short of building two installers (one *requiring* Admin privs, the
+; other not doing anything that needs Admin privs).
+;
+; Inno has no concept of variables, so lots of lines in this file need
+; to be fiddled by hand across releases. Simplest way out: stick this
+; file in a giant triple-quoted r-string (note that backslashes are
+; required all over the place here -- forward slashes DON'T WORK in
+; Inno), and use %(yadda)s string interpolation to do substitutions; i.e.,
+; write a very simple Python program to *produce* this script.
+
+[Setup]
+AppName=Python and combined Win32 Extensions
+AppVerName=Python 2.2.2 and combined Win32 Extensions 150
+AppId=Python 2.2.2.150
+AppVersion=2.2.2.150
+AppCopyright=Python is Copyright � 2001 Python Software Foundation. Win32 Extensions are Copyright � 1996-2001 Greg Stein and Mark Hammond.
+
+; Default install dir; value of {app} later (unless user overrides).
+; {sd} = system root drive, probably "C:".
+DefaultDirName={sd}\Python22
+;DefaultDirName={pf}\Python
+
+; Start menu folder name; value of {group} later (unless user overrides).
+DefaultGroupName=Python 2.2
+
+; Point SourceDir to one above PCBuild = src.
+; means this script can run unchanged from anyone's CVS tree, no matter
+; what they called the top-level directories.
+SourceDir=.
+OutputDir=..
+OutputBaseFilename=Python-2.2.2-Win32-150-Setup
+
+AppPublisher=PythonLabs at Digital Creations
+AppPublisherURL=http://www.python.org
+AppSupportURL=http://www.python.org
+AppUpdatesURL=http://www.python.org
+
+AlwaysCreateUninstallIcon=true
+ChangesAssociations=true
+UninstallLogMode=new
+AllowNoIcons=true
+AdminPrivilegesRequired=true
+UninstallDisplayIcon={app}\pyc.ico
+WizardDebug=false
+
+; The fewer screens the better; leave these commented.
+
+Compression=bzip
+InfoBeforeFile=LICENSE.txt
+;InfoBeforeFile=Misc\NEWS
+
+; uncomment the following line if you want your installation to run on NT 3.51 too.
+; MinVersion=4,3.51
+
+[Types]
+Name: normal; Description: Select desired components; Flags: iscustom
+
+[Components]
+Name: main; Description: Python and Win32 Extensions; Types: normal
+Name: docs; Description: Python documentation (HTML); Types: normal
+Name: tk; Description: TCL/TK, tkinter, and Idle; Types: normal
+Name: tools; Description: Python utility scripts (Tools\); Types: normal
+Name: test; Description: Python test suite (Lib\test\); Types: normal
+
+[Tasks]
+Name: extensions; Description: Register file associations (.py, .pyw, .pyc, .pyo); Components: main; Check: IsAdminLoggedOn
+
+[Files]
+; Caution: Using forward slashes instead screws up in amazing ways.
+; Unknown: By the time Components (and other attrs) are added to these lines, they're
+; going to get awfully long. But don't see a way to continue logical lines across
+; physical lines.
+
+Source: LICENSE.txt; DestDir: {app}; CopyMode: alwaysoverwrite
+Source: README.txt; DestDir: {app}; CopyMode: alwaysoverwrite
+Source: News.txt; DestDir: {app}; CopyMode: alwaysoverwrite
+Source: *.ico; DestDir: {app}; CopyMode: alwaysoverwrite; Components: main
+
+Source: python.exe; DestDir: {app}; CopyMode: alwaysoverwrite; Components: main
+Source: pythonw.exe; DestDir: {app}; CopyMode: alwaysoverwrite; Components: main
+Source: w9xpopen.exe; DestDir: {app}; CopyMode: alwaysoverwrite; Components: main
+
+
+Source: DLLs\tcl83.dll; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: tk
+Source: DLLs\tk83.dll; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: tk
+Source: tcl\*.*; DestDir: {app}\tcl; CopyMode: alwaysoverwrite; Components: tk; Flags: recursesubdirs
+
+Source: sysdir\python22.dll; DestDir: {sys}; CopyMode: alwaysskipifsameorolder; Components: main; Flags: sharedfile restartreplace
+Source: sysdir\PyWinTypes22.dll; DestDir: {sys}; CopyMode: alwaysskipifsameorolder; Components: main; Flags: restartreplace sharedfile
+Source: sysdir\pythoncom22.dll; DestDir: {sys}; CopyMode: alwaysskipifsameorolder; Components: main; Flags: restartreplace sharedfile
+
+Source: DLLs\_socket.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\_socket.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\_sre.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\_sre.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\_symtable.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\_symtable.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\_testcapi.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\_testcapi.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\_tkinter.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: tk
+Source: libs\_tkinter.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: tk
+
+Source: DLLs\bsddb.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\bsddb.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\mmap.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\mmap.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\parser.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\parser.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\pyexpat.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\pyexpat.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\select.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\select.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\unicodedata.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\unicodedata.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\_winreg.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\_winreg.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\winsound.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\winsound.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\zlib.pyd; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+Source: libs\zlib.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: libs\python22.lib; DestDir: {app}\libs; CopyMode: alwaysoverwrite; Components: main
+
+Source: DLLs\expat.dll; DestDir: {app}\DLLs; CopyMode: alwaysoverwrite; Components: main
+
+
+
+Source: Lib\*.py; DestDir: {app}\Lib; CopyMode: alwaysoverwrite; Components: main
+Source: Lib\compiler\*.*; DestDir: {app}\Lib\compiler; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+Source: Lib\distutils\*.*; DestDir: {app}\Lib\distutils; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+Source: Lib\email\*.*; DestDir: {app}\Lib\email; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+Source: Lib\encodings\*.*; DestDir: {app}\Lib\encodings; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+Source: Lib\hotshot\*.*; DestDir: {app}\Lib\hotshot; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+Source: Lib\lib-old\*.*; DestDir: {app}\Lib\lib-old; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+Source: Lib\xml\*.*; DestDir: {app}\Lib\xml; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+Source: Lib\hotshot\*.*; DestDir: {app}\Lib\hotshot; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+Source: Lib\test\*.*; DestDir: {app}\Lib\test; CopyMode: alwaysoverwrite; Components: test; Flags: recursesubdirs
+
+Source: Lib\site-packages\README.txt; DestDir: {app}\Lib\site-packages; CopyMode: alwaysoverwrite; Components: main
+
+Source: Lib\site-packages\PyWin32.chm; DestDir: {app}\Lib\site-packages; CopyMode: alwaysoverwrite; Components: docs
+Source: Lib\site-packages\win32\*.*; DestDir: {app}\Lib\site-packages\win32; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+Source: Lib\site-packages\win32com\*.*; DestDir: {app}\Lib\site-packages\win32com; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+Source: Lib\site-packages\win32comext\*.*; DestDir: {app}\Lib\site-packages\win32comext; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs
+
+Source: Lib\lib-tk\*.py; DestDir: {app}\Lib\lib-tk; CopyMode: alwaysoverwrite; Components: tk; Flags: recursesubdirs
+
+Source: include\*.h; DestDir: {app}\include; CopyMode: alwaysoverwrite; Components: main
+
+Source: Tools\idle\*.*; DestDir: {app}\Tools\idle; CopyMode: alwaysoverwrite; Components: tk; Flags: recursesubdirs
+
+Source: Tools\pynche\*.*; DestDir: {app}\Tools\pynche; CopyMode: alwaysoverwrite; Components: tools; Flags: recursesubdirs
+Source: Tools\scripts\*.*; DestDir: {app}\Tools\Scripts; CopyMode: alwaysoverwrite; Components: tools; Flags: recursesubdirs
+Source: Tools\webchecker\*.*; DestDir: {app}\Tools\webchecker; CopyMode: alwaysoverwrite; Components: tools; Flags: recursesubdirs
+Source: Tools\versioncheck\*.*; DestDir: {app}\Tools\versioncheck; CopyMode: alwaysoverwrite; Components: tools; Flags: recursesubdirs
+
+Source: Doc\*.*; DestDir: {app}\Doc; CopyMode: alwaysoverwrite; Flags: recursesubdirs; Components: docs
+
+
+[Icons]
+Name: {group}\Python (command line); Filename: {app}\python.exe; WorkingDir: {app}; Components: main
+Name: {group}\Python Manuals; Filename: {app}\Doc\index.html; WorkingDir: {app}; Components: docs
+Name: {group}\Win32 Extensions Help; Filename: {app}\Lib\site-packages\PyWin32.chm; WorkingDir: {app}\Lib\site-packages; Components: docs
+Name: {group}\Module Docs; Filename: {app}\pythonw.exe; WorkingDir: {app}; Parameters: """{app}\Tools\Scripts\pydoc.pyw"""; Components: tools
+Name: {group}\IDLE (Python GUI); Filename: {app}\pythonw.exe; WorkingDir: {app}; Parameters: """{app}\Tools\idle\idle.pyw"""; Components: tools
+
+[Registry]
+; Register .py
+Tasks: extensions; Root: HKCR; Subkey: .py; ValueType: string; ValueName: ; ValueData: Python File; Flags: uninsdeletevalue
+Tasks: extensions; Root: HKCR; Subkey: .py; ValueType: string; ValueName: Content Type; ValueData: text/plain; Flags: uninsdeletevalue
+Tasks: extensions; Root: HKCR; Subkey: Python File; ValueType: string; ValueName: ; ValueData: Python File; Flags: uninsdeletekey
+Tasks: extensions; Root: HKCR; Subkey: Python File\DefaultIcon; ValueType: string; ValueName: ; ValueData: {app}\Py.ico
+Tasks: extensions; Root: HKCR; Subkey: Python File\shell\open\command; ValueType: string; ValueName: ; ValueData: """{app}\python.exe"" ""%1"" %*"
+
+; Register .pyc
+Tasks: extensions; Root: HKCR; Subkey: .pyc; ValueType: string; ValueName: ; ValueData: Python CompiledFile; Flags: uninsdeletevalue
+Tasks: extensions; Root: HKCR; Subkey: Python CompiledFile; ValueType: string; ValueName: ; ValueData: Compiled Python File; Flags: uninsdeletekey
+Tasks: extensions; Root: HKCR; Subkey: Python CompiledFile\DefaultIcon; ValueType: string; ValueName: ; ValueData: {app}\pyc.ico
+Tasks: extensions; Root: HKCR; Subkey: Python CompiledFile\shell\open\command; ValueType: string; ValueName: ; ValueData: """{app}\python.exe"" ""%1"" %*"
+
+; Register .pyo
+Tasks: extensions; Root: HKCR; Subkey: .pyo; ValueType: string; ValueName: ; ValueData: Python CompiledFile; Flags: uninsdeletevalue
+
+; Register .pyw
+Tasks: extensions; Root: HKCR; Subkey: .pyw; ValueType: string; ValueName: ; ValueData: Python NoConFile; Flags: uninsdeletevalue
+Tasks: extensions; Root: HKCR; Subkey: .pyw; ValueType: string; ValueName: Content Type; ValueData: text/plain; Flags: uninsdeletevalue
+Tasks: extensions; Root: HKCR; Subkey: Python NoConFile; ValueType: string; ValueName: ; ValueData: Python File (no console); Flags: uninsdeletekey
+Tasks: extensions; Root: HKCR; Subkey: Python NoConFile\DefaultIcon; ValueType: string; ValueName: ; ValueData: {app}\Py.ico
+Tasks: extensions; Root: HKCR; Subkey: Python NoConFile\shell\open\command; ValueType: string; ValueName: ; ValueData: """{app}\pythonw.exe"" ""%1"" %*"
+
+
+; Python Registry Keys
+Root: HKLM; Subkey: SOFTWARE\Python; Flags: uninsdeletekeyifempty; Check: IsAdminLoggedOn
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore; Flags: uninsdeletekeyifempty
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2; Flags: uninsdeletekeyifempty
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\PythonPath; ValueData: "{app}\Lib;{app}\DLLs"; Flags: uninsdeletekeyifempty
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\PythonPath\tk; ValueData: {app}\Lib\lib-tk; Flags: uninsdeletekey; Components: tk
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\PythonPath\win32; ValueData: "{app}\lib\site-packages\win32;{app}\lib\site-packages\win32\lib"; Flags: uninsdeletekey
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\PythonPath\win32com; ValueData: C:\Python\lib\site-packages; Flags: uninsdeletekey
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\Modules; Flags: uninsdeletekeyifempty
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\Modules\pythoncom; ValueData: {sys}\pythoncom22.dll; Flags: uninsdeletekey
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\Modules\pywintypes; ValueData: {sys}\PyWinTypes22.dll; Flags: uninsdeletekey
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\InstallPath; ValueData: {app}; Flags: uninsdeletekeyifempty; ValueType: string
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\InstallPath\InstallGroup; ValueData: {group}; Flags: uninsdeletekey
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\Help; Flags: uninsdeletekeyifempty
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\Help\Main Python Documentation; ValueType: string; ValueData: {app}\Doc\index.html; Flags: uninsdeletekey; Components: docs
+Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.2\Help\Python Win32 Documentation; ValueType: string; ValueData: {app}\lib\site-packages\PyWin32.chm; Flags: uninsdeletekey; Components: docs
+
+[_ISTool]
+EnableISX=true
+
+
+[Code]
+Program Setup;
+
+Function IsAdminNotLoggedOn(): Boolean;
+begin
+ Result := Not IsAdminLoggedOn();
+end;
+
+begin
+end.
+
+
+
+
+[UninstallDelete]
+Name: {app}\Lib\compiler\*.pyc; Type: files
+Name: {app}\Lib\compiler\*.pyo; Type: files
+Name: {app}\Lib\compiler; Type: dirifempty
+Name: {app}\Lib\distutils\command\*.pyc; Type: files
+Name: {app}\Lib\distutils\command\*.pyo; Type: files
+Name: {app}\Lib\distutils\command; Type: dirifempty
+Name: {app}\Lib\distutils\*.pyc; Type: files
+Name: {app}\Lib\distutils\*.pyo; Type: files
+Name: {app}\Lib\distutils; Type: dirifempty
+Name: {app}\Lib\email\test\*.pyc; Type: files
+Name: {app}\Lib\email\test\*.pyo; Type: files
+Name: {app}\Lib\email\test; Type: dirifempty
+Name: {app}\Lib\email\*.pyc; Type: files
+Name: {app}\Lib\email\*.pyo; Type: files
+Name: {app}\Lib\email; Type: dirifempty
+Name: {app}\Lib\encodings\*.pyc; Type: files
+Name: {app}\Lib\encodings\*.pyo; Type: files
+Name: {app}\Lib\encodings; Type: dirifempty
+Name: {app}\Lib\hotshot\*.pyc; Type: files
+Name: {app}\Lib\hotshot\*.pyo; Type: files
+Name: {app}\Lib\hotshot; Type: dirifempty
+Name: {app}\Lib\lib-old\*.pyc; Type: files
+Name: {app}\Lib\lib-old\*.pyo; Type: files
+Name: {app}\Lib\lib-old; Type: dirifempty
+Name: {app}\Lib\lib-tk\*.pyc; Type: files
+Name: {app}\Lib\lib-tk\*.pyo; Type: files
+Name: {app}\Lib\lib-tk; Type: dirifempty
+Name: {app}\Lib\test\*.pyc; Type: files
+Name: {app}\Lib\test\*.pyo; Type: files
+Name: {app}\Lib\test; Type: dirifempty
+Name: {app}\Lib\xml\dom\*.pyc; Type: files
+Name: {app}\Lib\xml\dom\*.pyo; Type: files
+Name: {app}\Lib\xml\dom; Type: dirifempty
+Name: {app}\Lib\xml\parsers\*.pyc; Type: files
+Name: {app}\Lib\xml\parsers\*.pyo; Type: files
+Name: {app}\Lib\xml\parsers; Type: dirifempty
+Name: {app}\Lib\xml\sax\*.pyc; Type: files
+Name: {app}\Lib\xml\sax\*.pyo; Type: files
+Name: {app}\Lib\xml\sax; Type: dirifempty
+Name: {app}\Lib\xml\*.pyc; Type: files
+Name: {app}\Lib\xml\*.pyo; Type: files
+Name: {app}\Lib\xml; Type: dirifempty
+
+Name: {app}\Lib\site-packages\win32; Type: filesandordirs
+Name: {app}\Lib\site-packages\win32com; Type: filesandordirs
+Name: {app}\Lib\site-packages\win32comext; Type: filesandordirs
+Name: {app}\Lib\site-packages\pythoncom.py*; Type: files
+Name: {app}\Lib\site-packages; Type: dirifempty
+
+Name: {app}\Lib\*.pyc; Type: files
+Name: {app}\Lib; Type: dirifempty
+
+Name: {app}\Tools\pynche\*.pyc; Type: files
+Name: {app}\Tools\pynche\*.pyo; Type: files
+Name: {app}\Tools\pynche; Type: dirifempty
+
+Name: {app}\Tools\idle\*.pyc; Type: files
+Name: {app}\Tools\idle\*.pyo; Type: files
+Name: {app}\Tools\idle; Type: dirifempty
+
+Name: {app}\Tools\scripts\*.pyc; Type: files
+Name: {app}\Tools\scripts\*.pyo; Type: files
+Name: {app}\Tools\scripts; Type: dirifempty
+
+Name: {app}\Tools\versioncheck\*.pyc; Type: files
+Name: {app}\Tools\versioncheck\*.pyo; Type: files
+Name: {app}\Tools\versioncheck; Type: dirifempty
+
+Name: {app}\Tools\webchecker\*.pyc; Type: files
+Name: {app}\Tools\webchecker\*.pyo; Type: files
+Name: {app}\Tools\webchecker; Type: dirifempty
+
+Name: {app}\Tools; Type: dirifempty
+
Added: python/trunk/PCbuild8/python.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/python.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,400 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="python"
+ ProjectGUID="{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\python"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile=".\./python.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./python.pdb"
+ SubSystem="1"
+ StackReserveSize="2000000"
+ BaseAddress="0x1d000000"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\python"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ BrowseInformation="1"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ AdditionalIncludeDirectories="..\Include"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile="./python_d.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./python_d.pdb"
+ SubSystem="1"
+ StackReserveSize="2000000"
+ BaseAddress="0x1d000000"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\ia64-temp-release\python"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM /VSEXTCOMP_VERBOSE"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK /VSEXTCOMP_VERBOSE"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile=".\./python.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./python.pdb"
+ SubSystem="1"
+ StackReserveSize="2000000"
+ BaseAddress="0x1d000000"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\python"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="odbccp32.lib"
+ OutputFile=".\./python.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./python.pdb"
+ SubSystem="1"
+ StackReserveSize="2000000"
+ BaseAddress="0x1d000000"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\PC\pycon.ico"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\python.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\python_exe.rc"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/python20.wse
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/python20.wse Sat May 27 17:41:31 2006
@@ -0,0 +1,3135 @@
+Document Type: WSE
+item: Global
+ Version=9.0
+ Title=Python 2.4a1
+ Flags=00010100
+ Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ Japanese Font Name=MS Gothic
+ Japanese Font Size=10
+ Start Gradient=0 255 0
+ End Gradient=0 128 0
+ Windows Flags=00000100000011010010010100001010
+ Log Pathname=%MAINDIR%\INSTALL.LOG
+ Message Font=MS Sans Serif
+ Font Size=8
+ Pages Modified=00010000011101000000000100000111
+ Extra Pages=00000000000000000000000010110010
+ Disk Filename=SETUP
+ Patch Flags=0000000000001001
+ Patch Threshold=85
+ Patch Memory=4000
+ MIF PDF Version=1.0
+ MIF SMS Version=2.0
+ EXE Filename=Python-2.4a1.exe
+ Dialogs Version=8
+ Version File=2.4a1
+ Version Description=Python Programming Language
+ Version Copyright=�2001-2006 Python Software Foundation
+ Version Company=PythonLabs at Zope Corporation
+ Crystal Format=10111100101100000010001001001001
+ Step View=&All
+ Variable Name1=_WISE_
+ Variable Description1=WISE root directory
+ Variable Default1=C:\Programme\Wise Installation System
+ Variable Flags1=00001000
+ Variable Name2=_TCLDIR_
+ Variable Description2=The directory in which the Tcl/Tk installation
+ Variable Description2=lives. This must be a sibling of the Python
+ Variable Description2=directory.
+ Variable Default2=tcl84
+ Variable Flags2=00001000
+ Variable Name3=_DOC_
+ Variable Description3=The unpacked HTML doc directory.
+ Variable Default3=..\html
+ Variable Flags3=00001001
+ Variable Name4=_SYS_
+ Variable Description4=System directory (where to find MSVCRT.DLL)
+ Variable Default4=C:\Windows\System
+ Variable Values4=C:\Windows\System
+ Variable Values4=C:\WINNT\System32
+ Variable Values4=C:\Code\MSDLLs
+ Variable Values4=C:\Windows\System32
+ Variable Flags4=00000010
+ Variable Name5=_PYMAJOR_
+ Variable Description5=Python major version number; the 2 in 2.3.
+ Variable Default5=2
+ Variable Flags5=00001000
+ Variable Name6=_PYMINOR_
+ Variable Description6=Python minor version number; the 3 in 2.3
+ Variable Default6=3
+ Variable Flags6=00001000
+ Variable Name7=_DOADMIN_
+ Variable Description7=The initial value for %DOADMIN%.
+ Variable Description7=When 0, we never try to write under HKLM,
+ Variable Description7=and install the Python + MS runtime DLLs in
+ Variable Description7=the Python directory instead of the system dir.
+ Variable Default7=1
+ Variable Values7=1
+ Variable Values7=0
+ Variable Flags7=00001010
+ Variable Name8=_ALIASNAME_
+ Variable Flags8=00001000
+ Variable Name9=_ALIASPATH_
+ Variable Flags9=00001000
+ Variable Name10=_ALIASTYPE_
+ Variable Flags10=00001000
+end
+item: Set Variable
+ Variable=PYVER_STRING
+ Value=2.3
+end
+item: Remark
+end
+item: Remark
+ Text=When the version number changes, set the compiler
+end
+item: Remark
+ Text=vrbls _PYMAJOR_ and _PYMINOR_.
+end
+item: Remark
+ Text=Nothing in the script below should need fiddling then.
+end
+item: Remark
+ Text=Other things that need fiddling:
+end
+item: Remark
+ Text= PYVER_STRING above.
+end
+item: Remark
+ Text= The "Title:" in the upper left corner of the GUI.
+end
+item: Remark
+ Text= Build Settings and Version Resource on step 6 (Finish) of the Installation Expert
+end
+item: Remark
+ Text= Be sure to select Steps->All or you may not see these!
+end
+item: Remark
+end
+item: Remark
+ Text=When the version of Tcl/Tk changes, the compiler vrbl
+end
+item: Remark
+ Text=_TCLDIR_ may also need to be changed.
+end
+item: Remark
+end
+item: Set Variable
+ Variable=APPTITLE
+ Value=Python %PYVER_STRING%
+end
+item: Remark
+ Text=PY_VERSION should be major.minor only; used to create the registry key; must match MS_DLL_ID in python_nt.rc
+end
+item: Set Variable
+ Variable=PY_VERSION
+ Value=%_PYMAJOR_%.%_PYMINOR_%
+end
+item: Remark
+ Text=GROUP is the Start menu group name; user can override.
+end
+item: Set Variable
+ Variable=GROUP
+ Value=Python %PY_VERSION%
+ Flags=10000000
+end
+item: Remark
+ Text=MAINDIR is the app directory; user can override.
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=Python%_PYMAJOR_%%_PYMINOR_%
+end
+item: Remark
+end
+item: Set Variable
+ Variable=DOADMIN
+ Value=%_DOADMIN_%
+end
+item: Remark
+ Text=Give non-admin users a chance to abort.
+end
+item: Check Configuration
+ Flags=10011111
+end
+item: Set Variable
+ Variable=DOADMIN
+ Value=0
+end
+item: Display Message
+ Title=Doing non-admin install
+ Text=The current login does not have Administrator Privileges on this machine. Python will install its registry information into the per-user area only for the current login, instead of into the per-machine area for every account on this machine. Some advanced uses of Python may not work as a result (for example, running a Python script as a service).
+ Text=
+ Text=If this is not what you want, please click Cancel to abort this installation, log on as an Administrator, and start the installation again.
+ Flags=00001000
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=BEGIN WIZARD STUFF -----------------------------------------------------------------------------------------------------------------------------
+end
+item: Remark
+ Text=Note from Tim: the "stop" on the next line is actually "pause".
+end
+item: Open/Close INSTALL.LOG
+ Flags=00000001
+end
+item: Remark
+ Text=If the destination system does not have a writable Windows\System directory, system files will be written to the Windows\ directory
+end
+item: Check if File/Dir Exists
+ Pathname=%SYS%
+ Flags=10000100
+end
+item: Set Variable
+ Variable=SYS
+ Value=%WIN%
+end
+item: End Block
+end
+item: Check Configuration
+ Flags=10111011
+end
+item: Get Registry Key Value
+ Variable=COMMON
+ Key=SOFTWARE\Microsoft\Windows\CurrentVersion
+ Default=C:\Program Files\Common Files
+ Value Name=CommonFilesDir
+ Flags=00000100
+end
+item: Get Registry Key Value
+ Variable=PROGRAM_FILES
+ Key=SOFTWARE\Microsoft\Windows\CurrentVersion
+ Default=C:\Program Files
+ Value Name=ProgramFilesDir
+ Flags=00000100
+end
+item: Set Variable
+ Variable=EXPLORER
+ Value=1
+end
+item: End Block
+end
+item: Remark
+ Text=Note from Tim: The Wizard hardcod "C:" at the start of the replacement text for MAINDIR.
+end
+item: Remark
+ Text=That's not appropriate if the system drive doesn't happen to be C:.
+end
+item: Remark
+ Text=I removed the "C:", and that did the right thing for two people who tested it on non-C: machines,
+end
+item: Remark
+ Text=but it's unclear whether it will always do the right thing.
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=\%MAINDIR%
+ Flags=00001100
+end
+item: Remark
+ Text=BACKUP is the variable that holds the path that all backup files will be copied to when overwritten
+end
+item: Set Variable
+ Variable=BACKUP
+ Value=%MAINDIR%\BACKUP
+ Flags=10000000
+end
+item: Remark
+ Text=DOBACKUP determines if a backup will be performed. The possible values are A (do backup) or B (do not do backup)
+end
+item: Set Variable
+ Variable=DOBACKUP
+ Value=A
+end
+item: Remark
+ Text=BRANDING determines if the installation will be branded with a name and company. By default, this is written to the INST directory (installation media).
+end
+item: Set Variable
+ Variable=BRANDING
+ Value=0
+end
+item: If/While Statement
+ Variable=BRANDING
+ Value=1
+end
+item: Read INI Value
+ Variable=NAME
+ Pathname=%INST%\CUSTDATA.INI
+ Section=Registration
+ Item=Name
+end
+item: Read INI Value
+ Variable=COMPANY
+ Pathname=%INST%\CUSTDATA.INI
+ Section=Registration
+ Item=Company
+end
+item: If/While Statement
+ Variable=NAME
+end
+item: Set Variable
+ Variable=DOBRAND
+ Value=1
+end
+item: Get System Information
+ Variable=NAME
+ Flags=00000110
+end
+item: Get System Information
+ Variable=COMPANY
+ Flags=00000111
+end
+item: End Block
+end
+item: End Block
+end
+item: Remark
+ Text=END WIZARD STUFF -----------------------------------------------------------------------------------------------------------------------------
+end
+item: Remark
+end
+item: Remark
+ Text=Set vrbls for the "Advanced Options" subdialog of Components.
+end
+item: Set Variable
+ Variable=SELECT_ADMIN
+ Value=A
+end
+item: If/While Statement
+ Variable=DOADMIN
+ Value=0
+end
+item: Set Variable
+ Variable=SELECT_ADMIN
+ Value=B
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=TASKS values:
+end
+item: Remark
+ Text=A: Register file extensions
+end
+item: Remark
+ Text=B: Create Start Menu shortcuts
+end
+item: Set Variable
+ Variable=TASKS
+ Value=AB
+end
+item: Remark
+end
+item: Remark
+ Text=COMPONENTS values:
+end
+item: Remark
+ Text=A: interpreter and libraries
+end
+item: Remark
+ Text=B: Tcl/Tk
+end
+item: Remark
+ Text=C: docs
+end
+item: Remark
+ Text=D: tools
+end
+item: Remark
+ Text=E: test suite
+end
+item: Set Variable
+ Variable=COMPONENTS
+ Value=ABCDE
+end
+item: Remark
+end
+item: Remark
+ Text=March thru the user GUI.
+end
+item: Wizard Block
+ Direction Variable=DIRECTION
+ Display Variable=DISPLAY
+ Bitmap Pathname=.\installer.bmp
+ X Position=9
+ Y Position=10
+ Filler Color=11173759
+ Dialog=Select Destination Directory
+ Dialog=Backup Replaced Files
+ Dialog=Select Components
+ Dialog=Select Program Manager Group
+ Variable=
+ Variable=
+ Variable=
+ Variable=TASKS
+ Value=
+ Value=
+ Value=
+ Value=B
+ Compare=0
+ Compare=0
+ Compare=0
+ Compare=3
+ Flags=00000011
+end
+item: If/While Statement
+ Variable=DISPLAY
+ Value=Start Installation
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value=Install directory: %MAINDIR%%CRLF%
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=SELECT_ADMIN
+ Value=A
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value=%CRLF%Doing admin install.%CRLF%
+ Flags=00000001
+end
+item: Else Statement
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value=%CRLF%Doing non-admin install.%CRLF%
+ Flags=00000001
+end
+item: End Block
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=DOBACKUP
+ Value=A
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value=%CRLF%Make backups, into %BACKUP%%CRLF%
+ Flags=00000001
+end
+item: Else Statement
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value=%CRLF%Don't make backups.%CRLF%
+ Flags=00000001
+end
+item: End Block
+end
+item: Remark
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value=%CRLF%Components:%CRLF%
+ Flags=00000001
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=A
+ Flags=00000010
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value= Python interpreter and libraries%CRLF%
+ Flags=00000001
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=B
+ Flags=00000010
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value= Tcl/Tk (Tkinter, IDLE, pydoc)%CRLF%
+ Flags=00000001
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=C
+ Flags=00000010
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value= Python documentation%CRLF%
+ Flags=00000001
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=D
+ Flags=00000010
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value= Tool and utility scripts%CRLF%
+ Flags=00000001
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=E
+ Flags=00000010
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value= Python test suite%CRLF%
+ Flags=00000001
+end
+item: End Block
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=TASKS
+ Value=A
+ Flags=00000010
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value=%CRLF%Register file extensions.%CRLF%
+ Flags=00000001
+end
+item: Else Statement
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value=%CRLF%Don't register file extensions.%CRLF%
+ Flags=00000001
+end
+item: End Block
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=TASKS
+ Value=B
+ Flags=00000010
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value=%CRLF%Start Menu group: %GROUP%%CRLF%
+ Flags=00000001
+end
+item: Else Statement
+end
+item: Set Variable
+ Variable=SUMMARY
+ Value=%CRLF%No Start Menu shortcuts.%CRLF%
+ Flags=00000001
+end
+item: End Block
+end
+item: End Block
+end
+item: Remark
+end
+item: Custom Dialog Set
+ Name=Select Destination Directory
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalaci�n de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=339
+ Height=280
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=188 234 244 253
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=264 234 320 253
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=10 225 320 226
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=108 11 323 33
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Select Destination Directory
+ Text French=S�lectionner le r�pertoire de destination
+ Text German=Zielverzeichnis w�hlen
+ Text Spanish=Seleccione el directorio de destino
+ Text Italian=Selezionare Directory di destinazione
+ end
+ item: Listbox
+ Rectangle=108 58 321 219
+ Variable=MAINDIR
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000100000010000000101000001
+ Flags=0000110000001010
+ Text=%MAINDIR%
+ Text=
+ end
+ item: Static
+ Rectangle=108 40 313 58
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000000000
+ Text=Please select a directory for the %APPTITLE% files.
+ end
+ end
+ item: Dialog
+ Title=Select Destination Directory
+ Title French=S�lectionner le r�pertoire de destination
+ Title German=Zielverzeichnis w�hlen
+ Title Spanish=Seleccione el directorio de destino
+ Title Italian=Selezionare Directory di destinazione
+ Width=276
+ Height=216
+ Font Name=Helv
+ Font Size=8
+ item: Listbox
+ Rectangle=6 6 204 186
+ Variable=MAINDIR
+ Create Flags=01010000100000010000000101000000
+ Flags=0000110000100010
+ Text=%MAINDIR%
+ Text French=%MAINDIR%
+ Text German=%MAINDIR%
+ Text Spanish=%MAINDIR%
+ Text Italian=%MAINDIR%
+ end
+ item: Push Button
+ Rectangle=209 8 265 26
+ Create Flags=01010000000000010000000000000001
+ Text=OK
+ Text French=OK
+ Text German=OK
+ Text Spanish=Aceptar
+ Text Italian=OK
+ end
+ item: Push Button
+ Rectangle=209 31 265 50
+ Variable=MAINDIR
+ Value=%MAINDIR_SAVE%
+ Create Flags=01010000000000010000000000000000
+ Flags=0000000000000001
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Backup Replaced Files
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Fichiers de Sauvegarde Remplac�s
+ Title German=Sicherungskopie von ersetzten Dateien erstellen
+ Title Portuguese=Ficheiros substitu�dos de seguran�a
+ Title Spanish=Copias de seguridad de los archivos reemplazados
+ Title Italian=Backup file sostituiti
+ Title Danish=Sikkerhedskopiering af erstattede filer
+ Title Dutch=Vervangen bestanden kopi�ren
+ Title Norwegian=Sikkerhetskopiere erstattede filer
+ Title Swedish=S�kerhetskopiera utbytta filer
+ Width=350
+ Height=280
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=188 234 244 251
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suivant>
+ Text German=&Weiter>
+ Text Portuguese=&Pr�ximo>
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ Text Danish=&N�ste>
+ Text Dutch=&Volgende>
+ Text Norwegian=&Neste>
+ Text Swedish=&N�sta >
+ end
+ item: Push Button
+ Rectangle=131 234 188 251
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=<&Retour
+ Text German=<&Zur�ck
+ Text Portuguese=<&Retornar
+ Text Spanish=<&Retroceder
+ Text Italian=< &Indietro
+ Text Danish=<&Tilbage
+ Text Dutch=<&Terug
+ Text Norwegian=<&Tilbake
+ Text Swedish=< &Tillbaka
+ end
+ item: Push Button
+ Rectangle=278 234 330 251
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Annuller
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ item: Static
+ Rectangle=11 221 329 223
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=108 46 320 98
+ Create Flags=01010000000000000000000000000000
+ Text=This installation program can create backup copies of all files replaced during the installation. These files will be used when the software is uninstalled and a rollback is requested. If backup copies are not created, you will only be able to uninstall the software and not roll the system back to a previous state.
+ Text=
+ Text=Do you want to create backups of replaced files?
+ Text French=Le programme d'installation peut cr�er des copies de sauvegarde de tous les fichiers remplac�s pendant l'installation. Ces fichiers sont utilis�s au cas o� le logiciel est d�sinstall� et que l'on proc�de � la reprise du syst�me. Si les copies de sauvegarde ne sont pas cr��es, on ne pourra que d�sinstaller le logiciel sans reprendre le syst�me � un �tat pr�c�dent. Voulez-vous cr�er une sauvegarde des fichiers remplac�s ?
+ Text German=Dieses Installationsprogramm kann Sicherungskopien von allen w�hrend der Installation ersetzten Dateien erstellen. Diese Dateien werden zur R�ckg�ngigmachung der Installation und bei Anforderung eines Rollbacks verwendet. Ohne Sicherungskopien ist nur eine R�ckg�ngigmachung der Installation m�glich, nicht aber ein Rollback des Systems. Sicherungskopien der ersetzten Dateien erstellen?
+ Text Portuguese=Este programa de instala��o pode criar c�pias de seguran�a de todos os ficheiros substitu�dos durante a instala��o. Estes ficheiros ser�o utilizados quando o programa for desinstalado e for requisitada uma retomada. Se as c�pias de seguran�a n�o forem criadas, s� poder� desinstalar o programa e n�o pode retomar um estado anterior do sistema. Deseja criar c�pias de seguran�a dos ficheiros substitu�dos?
+ Text Spanish=Este programa de instalaci�n puede crear copias de seguridad de todos los archivos reemplazados durante la instalaci�n. Estos archivos se utilizar�n cuando se desinstale el software y se solicite volver al estado anterior. Si no se crean copias de seguridad, �nicamente podr� desinstalar el software y no podr� devolver el sistema al estado anterior. �Desea crear archivos de seguridad de los archivos reemplazados?
+ Text Italian=Questo programma di installazione pu� creare copie di backup di tutti i file sostituiti durante l�installazione. Questi file saranno usati quando il software sar� disinstallato e sar� richiesto un ritorno allo stato precedente. Se non crei le copie di backup, potrai solo disinstallare il software, ma non potrai riportare il sistema allo stato precedente. Vuoi creare i file di backup dei file sostituiti?
+ Text Danish=Dette installationsprogram kan oprette sikkerhedskopier af alle filer, som erstattes under installationen. Disse filer benyttes, n�r softwaren fjernes, og den tidligere systemkonfiguration genetableres. Hvis der ikke oprettes sikkerhedskopier, kan du kun fjerne den installerede software og ikke genetablere den tidligere systemkonfiguration. Vil du oprette sikkerhedskopier af filer, som erstattes?
+ Text Dutch=Dit installatieprogramma kan kopie�n maken van alle bestanden die tijdens de installatie worden vervangen. Deze worden dan gebruikt als de software-installatie ongedaan wordt gemaakt en u het systeem wilt laten terugkeren naar de oorspronkelijke staat. Als er geen back-up kopie�n worden gemaakt, kunt u de software enkel verwijderen maar het systeem niet in de oorspronkelijke staat terugbrengen. Wilt u een back-up maken van de vervangen bestanden?
+ Text Norwegian=Dette installasjonsprogrammet kan lage sikkerhetskopier av alle filer som blir erstattet under installasjonen. Disse filene vil tas i bruk n�r programvaren er avinstallert og det er behov for tilbakestilling. Hvis det ikke er laget sikkerhetskopier, kan du kun avinstallere programvaren og ikke stille systemet tilbake til tidligere status. �nsker du � lage sikkerhetskopier av de filene som blir erstattet n�?
+ Text Swedish=Installationsprogrammet kan skapa s�kerhetskopior av alla filer som byts ut under installationen. Dessa filer kan sedan anv�ndas n�r programvaran avinstalleras och du beg�r rollback. Om du d� inte har n�gra s�kerhetskopior kan du bara avinstallera programvaran, inte �terskapa systemet i dess tidigare skick. Vill du g�ra s�kerhetskopior av de ersatta filerna?
+ end
+ item: Radio Button
+ Rectangle=141 106 265 136
+ Variable=DOBACKUP
+ Create Flags=01010000000000010000000000001001
+ Text=&Yes, make backups
+ Text=N&o, do not make backups
+ Text=
+ Text French=&Oui
+ Text French=N&on
+ Text French=
+ Text German=&Ja
+ Text German=N&ein
+ Text German=
+ Text Portuguese=&Sim
+ Text Portuguese=N�&o
+ Text Portuguese=
+ Text Spanish=&S�
+ Text Spanish=N&o
+ Text Spanish=
+ Text Italian=&S�
+ Text Italian=N&o
+ Text Italian=
+ Text Danish=&Ja
+ Text Danish=&Nej
+ Text Danish=
+ Text Dutch=&Ja
+ Text Dutch=N&ee
+ Text Dutch=
+ Text Norwegian=&Ja
+ Text Norwegian=&Nei
+ Text Norwegian=
+ Text Swedish=&Ja
+ Text Swedish=N&ej
+ Text Swedish=
+ end
+ item: Static
+ Control Name=BACK2
+ Rectangle=108 173 320 208
+ Action=1
+ Create Flags=01010000000000000000000000000111
+ Text=Backup File Destination Directory
+ Text French=R�pertoire de destination des fichiers de sauvegarde
+ Text German=Zielverzeichnis f�r die Sicherungsdatei
+ Text Portuguese=Direct�rio de destino de ficheiro de seguran�a
+ Text Spanish=Directorio de Destino de los Archivos de Seguridad
+ Text Italian=Directory di destinazione dei file di backup
+ Text Danish=Destinationsbibliotek til sikkerhedskopier
+ Text Dutch=Doeldirectory backup-bestand
+ Text Norwegian=M�lkatalog for sikkerhetskopier
+ Text Swedish=Katalog f�r s�kerhetskopierade filer
+ end
+ item: Push Button
+ Control Name=BACK3
+ Rectangle=265 185 318 203
+ Variable=BACKUP_SAVE
+ Value=%BACKUP%
+ Destination Dialog=1
+ Action=2
+ Create Flags=01010000000000010000000000000000
+ Text=B&rowse...
+ Text French=P&arcourir
+ Text German=B&l�ttern...
+ Text Portuguese=P&rocurar
+ Text Spanish=V&isualizar...
+ Text Italian=Sfoglia...
+ Text Danish=&Gennemse...
+ Text Dutch=B&laderen...
+ Text Norwegian=Bla igjennom
+ Text Swedish=&Bl�ddra
+ end
+ item: Static
+ Control Name=BACK4
+ Rectangle=129 188 254 200
+ Destination Dialog=2
+ Create Flags=01010000000000000000000000000000
+ Text=%BACKUP%
+ Text French=%BACKUP%
+ Text German=%BACKUP%
+ Text Portuguese=%BACKUP%
+ Text Spanish=%BACKUP%
+ Text Italian=%BACKUP%
+ Text Danish=%BACKUP%
+ Text Dutch=%BACKUP%
+ Text Norwegian=%BACKUP%
+ Text Swedish=%BACKUP%
+ end
+ item: Static
+ Rectangle=108 11 323 36
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Backup Replaced Files
+ Text French=S�lectionner les composants
+ Text German=Komponenten ausw�hlen
+ Text Spanish=Seleccione componentes
+ Text Italian=Selezionare i componenti
+ end
+ item: If/While Statement
+ Variable=DOBACKUP
+ Value=B
+ end
+ item: Set Control Attribute
+ Control Name=BACK3
+ Operation=1
+ end
+ item: Set Control Attribute
+ Control Name=BACK4
+ Operation=1
+ end
+ item: Else Statement
+ end
+ item: Set Control Attribute
+ Control Name=BACK3
+ end
+ item: Set Control Attribute
+ Control Name=BACK4
+ end
+ item: End Block
+ end
+ end
+ item: Dialog
+ Title=Select Destination Directory
+ Title French=Choisissez le r�pertoire de destination
+ Title German=Zielverzeichnis w�hlen
+ Title Portuguese=Seleccionar Direct�rio de Destino
+ Title Spanish=Seleccione el Directorio de Destino
+ Title Italian=Seleziona Directory di destinazione
+ Title Danish=V�lg Destinationsbibliotek
+ Title Dutch=Kies Doeldirectory
+ Title Norwegian=Velg m�lkatalog
+ Title Swedish=V�lj destinationskalatog
+ Width=276
+ Height=216
+ Font Name=Helv
+ Font Size=8
+ item: Listbox
+ Rectangle=6 3 200 186
+ Variable=BACKUP
+ Create Flags=01010000100000010000000101000000
+ Flags=0000110000100010
+ Text=%BACKUP%
+ Text=
+ Text French=%BACKUP%
+ Text French=
+ Text German=%BACKUP%
+ Text German=
+ Text Portuguese=%BACKUP%
+ Text Portuguese=
+ Text Spanish=%BACKUP%
+ Text Spanish=
+ Text Italian=%BACKUP%
+ Text Italian=
+ Text Danish=%BACKUP%
+ Text Danish=
+ Text Dutch=%BACKUP%
+ Text Dutch=
+ Text Norwegian=%BACKUP%
+ Text Norwegian=
+ Text Swedish=%BACKUP%
+ Text Swedish=
+ end
+ item: Push Button
+ Rectangle=209 8 265 26
+ Create Flags=01010000000000010000000000000001
+ Text=OK
+ Text French=OK
+ Text German=OK
+ Text Portuguese=OK
+ Text Spanish=ACEPTAR
+ Text Italian=OK
+ Text Danish=OK
+ Text Dutch=OK
+ Text Norwegian=OK
+ Text Swedish=OK
+ end
+ item: Push Button
+ Rectangle=209 31 265 50
+ Variable=BACKUP
+ Value=%BACKUP_SAVE%
+ Create Flags=01010000000000010000000000000000
+ Flags=0000000000000001
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Portuguese=Cancelar
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ Text Danish=Slet
+ Text Dutch=Annuleren
+ Text Norwegian=Avbryt
+ Text Swedish=Avbryt
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Select Components
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalaci�n de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=339
+ Height=280
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=188 234 244 253
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=131 234 188 253
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zur�ck
+ Text Spanish=< &Atr�s
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=264 234 320 253
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Checkbox
+ Rectangle=108 66 313 156
+ Variable=COMPONENTS
+ Create Flags=01010000000000010000000000000011
+ Flags=0000000000000110
+ Text=Python interpreter and libraries
+ Text=Tcl/Tk (Tkinter, IDLE, pydoc)
+ Text=Python HTML docs
+ Text=Python utility scripts (Tools/)
+ Text=Python test suite (Lib/test/)
+ Text=
+ Text French=Python interpreter, library and IDLE
+ Text French=Python HTML docs
+ Text French=Python utility scripts (Tools/)
+ Text French=Python test suite (Lib/test/)
+ Text French=
+ Text German=Python interpreter, library and IDLE
+ Text German=Python HTML docs
+ Text German=Python utility scripts (Tools/)
+ Text German=Python test suite (Lib/test/)
+ Text German=
+ Text Spanish=Python interpreter, library and IDLE
+ Text Spanish=Python HTML docs
+ Text Spanish=Python utility scripts (Tools/)
+ Text Spanish=Python test suite (Lib/test/)
+ Text Spanish=
+ Text Italian=Python interpreter, library and IDLE
+ Text Italian=Python HTML docs
+ Text Italian=Python utility scripts (Tools/)
+ Text Italian=Python test suite (Lib/test/)
+ Text Italian=
+ end
+ item: Static
+ Rectangle=108 45 320 63
+ Create Flags=01010000000000000000000000000000
+ Text=Choose which components to install by checking the boxes below.
+ Text French=Choisissez les composants que vous voulez installer en cochant les cases ci-dessous.
+ Text German=W�hlen Sie die zu installierenden Komponenten, indem Sie in die entsprechenden K�stchen klicken.
+ Text Spanish=Elija los componentes que desee instalar marcando los cuadros de abajo.
+ Text Italian=Scegliere quali componenti installare selezionando le caselle sottostanti.
+ end
+ item: Push Button
+ Rectangle=188 203 269 220
+ Destination Dialog=1
+ Action=2
+ Enabled Color=00000000000000000000000011111111
+ Create Flags=01010000000000010000000000000000
+ Text=Advanced Options ...
+ end
+ item: Static
+ Rectangle=10 225 320 226
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=108 10 323 43
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Select Components
+ Text French=S�lectionner les composants
+ Text German=Komponenten ausw�hlen
+ Text Spanish=Seleccione componentes
+ Text Italian=Selezionare i componenti
+ end
+ item: Static
+ Rectangle=251 180 311 193
+ Variable=COMPONENTS
+ Value=MAINDIR
+ Create Flags=01010000000000000000000000000010
+ end
+ item: Static
+ Rectangle=251 168 311 179
+ Variable=COMPONENTS
+ Create Flags=01010000000000000000000000000010
+ end
+ item: Static
+ Rectangle=123 168 234 181
+ Create Flags=01010000000000000000000000000000
+ Text=Disk Space Required:
+ Text French=Espace disque requis :
+ Text German=Notwendiger Speicherplatz:
+ Text Spanish=Espacio requerido en el disco:
+ Text Italian=Spazio su disco necessario:
+ end
+ item: Static
+ Rectangle=123 180 234 193
+ Create Flags=01010000000000000000000000000000
+ Text=Disk Space Remaining:
+ Text French=Espace disque disponible :
+ Text German=Verbleibender Speicherplatz:
+ Text Spanish=Espacio en disco disponible:
+ Text Italian=Spazio su disco disponibile:
+ end
+ item: Static
+ Rectangle=108 158 320 196
+ Action=1
+ Create Flags=01010000000000000000000000000111
+ end
+ item: If/While Statement
+ Variable=DLG_EVENT_TYPE
+ Value=VERIFY
+ end
+ item: Remark
+ Text=If they're installing Tcl/Tk, Tools, or the test suite, doesn't make much sense unless they're installing Python too.
+ end
+ item: If/While Statement
+ Variable=COMPONENTS
+ Value=BDE
+ Flags=00001010
+ end
+ item: If/While Statement
+ Variable=COMPONENTS
+ Value=A
+ Flags=00000011
+ end
+ item: Display Message
+ Title=Are you sure?
+ Text=Installing Tcl/Tk, Tools or the test suite doesn't make much sense unless you install the Python interpreter and libraries too.
+ Text=
+ Text=Click Yes if that's really what you want.
+ Flags=00101101
+ end
+ item: Remark
+ Text=Nothing -- just proceed to the next dialog.
+ end
+ item: Else Statement
+ end
+ item: Remark
+ Text=Return to the dialog.
+ end
+ item: Set Variable
+ Variable=DLG_EVENT_TYPE
+ end
+ item: End Block
+ end
+ item: End Block
+ end
+ item: End Block
+ end
+ item: End Block
+ end
+ end
+ item: Dialog
+ Title=Advanced Options
+ Width=339
+ Height=213
+ Font Name=Helv
+ Font Size=8
+ item: Radio Button
+ Control Name=ADMIN2
+ Rectangle=11 46 90 76
+ Variable=SELECT_ADMIN
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000010000000000001001
+ Text=Admin install
+ Text=Non-Admin installl
+ Text=
+ end
+ item: Push Button
+ Rectangle=188 170 244 189
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=OK
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Static
+ Rectangle=5 3 326 83
+ Action=1
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Control Name=ADMIN1
+ Rectangle=11 11 321 45
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000000000
+ Text=By default, the install records settings in the per-machine area of the registry (HKLM), and installs the Python and C runtime DLLs to %SYS32%. Choose "Non-Admin install" if you would prefer settings made in the per-user registry (HKCU), and DLLs installed in %MAINDIR%.
+ end
+ item: Static
+ Rectangle=5 90 326 157
+ Action=1
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Checkbox
+ Rectangle=11 121 243 151
+ Variable=TASKS
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000010000000000000011
+ Text=Register file extensions (.py, .pyw, .pyc, .pyo)
+ Text=Create Start Menu shortcuts
+ Text=
+ end
+ item: Static
+ Rectangle=11 103 320 121
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000000000
+ Text=Choose tasks to perform by checking the boxes below.
+ end
+ item: If/While Statement
+ Variable=DLG_EVENT_TYPE
+ Value=INIT
+ end
+ item: If/While Statement
+ Variable=DOADMIN
+ Value=1
+ end
+ item: Set Control Attribute
+ Control Name=ADMIN2
+ end
+ item: Else Statement
+ end
+ item: Set Control Text
+ Control Name=ADMIN1
+ Control Text=This section is available only if logged in to an account with Administrator privileges.
+ end
+ item: Set Control Attribute
+ Control Name=ADMIN2
+ Operation=1
+ end
+ item: End Block
+ end
+ item: End Block
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Select Program Manager Group
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalaci�n de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=339
+ Height=280
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=188 234 244 253
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=131 234 188 253
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Flags=0000000000000001
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zur�ck
+ Text Spanish=< &Atr�s
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=264 234 320 253
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=10 225 320 226
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=108 10 323 53
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Select Start Menu Group
+ Text French=S�lectionner le groupe du Gestionnaire de programme
+ Text German=Bestimmung der Programm-Managergruppe
+ Text Spanish=Seleccione grupo del Administrador de programas
+ Text Italian=Selezionare il gruppo ProgMan
+ end
+ item: Static
+ Rectangle=108 35 320 65
+ Create Flags=01010000000000000000000000000000
+ Text=Enter the name of the Start Menu program group to which to add the %APPTITLE% icons:
+ Text French=Entrez le nom du groupe du Gestionnaire de programme dans lequel vous souhaitez ajouter les ic�nes de %APPTITLE% :
+ Text German=Geben Sie den Namen der Programmgruppe ein, der das Symbol %APPTITLE% hinzugef�gt werden soll:
+ Text Spanish=Escriba el nombre del grupo del Administrador de programas en el que desea agregar los iconos de %APPTITLE%:
+ Text Italian=Inserire il nome del gruppo Program Manager per aggiungere le icone %APPTITLE% a:
+ end
+ item: Combobox
+ Rectangle=108 56 320 219
+ Variable=GROUP
+ Create Flags=01010000001000010000001100000001
+ Flags=0000000000000001
+ Text=%GROUP%
+ Text=
+ Text French=%GROUP%
+ Text German=%GROUP%
+ Text Spanish=%GROUP%
+ Text Italian=%GROUP%
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Start Installation
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalaci�n de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=339
+ Height=280
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=188 234 244 253
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=131 234 188 253
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zur�ck
+ Text Spanish=< &Atr�s
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=264 234 320 253
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=10 225 320 226
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=108 10 323 53
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Ready to Install!
+ Text French=Pr�t � installer !
+ Text German=Installationsbereit!
+ Text Spanish=�Preparado para la instalaci�n!
+ Text Italian=Pronto per l'installazione!
+ end
+ item: Static
+ Rectangle=108 40 320 62
+ Create Flags=01010000000000000000000000000000
+ Text=Click the Next button to install %APPTITLE%, or the Back button to change choices:
+ Text French=Vous �tes maintenant pr�t � installer les fichiers %APPTITLE%.
+ Text French=
+ Text French=Cliquez sur le bouton Suite pour commencer l'installation ou sur le bouton Retour pour entrer les informations d'installation � nouveau.
+ Text German=Sie k�nnen %APPTITLE% nun installieren.
+ Text German=
+ Text German=Klicken Sie auf "Weiter", um mit der Installation zu beginnen. Klicken Sie auf "Zur�ck", um die Installationsinformationen neu einzugeben.
+ Text Spanish=Ya est� listo para instalar %APPTITLE%.
+ Text Spanish=
+ Text Spanish=Presione el bot�n Siguiente para comenzar la instalaci�n o presione Atr�s para volver a ingresar la informaci�n para la instalaci�n.
+ Text Italian=Ora � possibile installare %APPTITLE%.
+ Text Italian=
+ Text Italian=Premere il pulsante Avanti per avviare l'installazione o il pulsante Indietro per reinserire le informazioni di installazione.
+ end
+ item: Editbox
+ Rectangle=108 66 324 219
+ Help Context=16711681
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000100000000001100011000100
+ Text=%SUMMARY%
+ end
+ end
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=DISPLAY
+ Value=Select Destination Directory
+end
+item: Remark
+ Text=User may have changed MAINDIR, so reset BACKUP to match.
+end
+item: Set Variable
+ Variable=BACKUP
+ Value=%MAINDIR%\BACKUP
+end
+item: End Block
+end
+item: Remark
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=BEGIN WIZARD STUFF -----------------------------------------------------------------------------------------------------------------------------
+end
+item: Remark
+ Text=When the BACKUP feature is enabled, the BACKUPDIR is initialized
+end
+item: If/While Statement
+ Variable=DOBACKUP
+ Value=A
+end
+item: Set Variable
+ Variable=BACKUPDIR
+ Value=%BACKUP%
+end
+item: End Block
+end
+item: Remark
+ Text=The BRANDING information is written to the INI file on the installation media.
+end
+item: If/While Statement
+ Variable=BRANDING
+ Value=1
+end
+item: If/While Statement
+ Variable=DOBRAND
+ Value=1
+end
+item: Edit INI File
+ Pathname=%INST%\CUSTDATA.INI
+ Settings=[Registration]
+ Settings=NAME=%NAME%
+ Settings=COMPANY=%COMPANY%
+ Settings=
+end
+item: End Block
+end
+item: End Block
+end
+item: Remark
+ Text=Begin writing to the INSTALL.LOG
+end
+item: Open/Close INSTALL.LOG
+end
+item: Remark
+ Text=Check free disk space calculates free disk space as well as component sizes.
+end
+item: Remark
+ Text=It should be located before all Install File actions.
+end
+item: Check Disk Space
+ Component=COMPONENTS
+end
+item: Remark
+ Text=This include script allows uninstall support
+end
+item: Remark
+ Text=Note from Tim: this is our own Uninstal.wse, a copy of Wise's except
+end
+item: Remark
+ Text=it writes to HKCU (instead of HKLM) if the user doesn't have admin privs.
+end
+item: Include Script
+ Pathname=.\Uninstal.wse
+end
+item: Remark
+ Text=Note from Tim: these seeming no-ops actually convert to short filenames.
+end
+item: Set Variable
+ Variable=COMMON
+ Value=%COMMON%
+ Flags=00010100
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=%MAINDIR%
+ Flags=00010100
+end
+item: Remark
+ Text=This IF/THEN/ELSE reads the correct registry entries for shortcut/icon placement
+end
+item: Check Configuration
+ Flags=10111011
+end
+item: Get Registry Key Value
+ Variable=STARTUPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%WIN%\Start Menu\Programs\StartUp
+ Value Name=StartUp
+ Flags=00000010
+end
+item: Get Registry Key Value
+ Variable=DESKTOPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%WIN%\Desktop
+ Value Name=Desktop
+ Flags=00000010
+end
+item: Get Registry Key Value
+ Variable=STARTMENUDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%WIN%\Start Menu
+ Value Name=Start Menu
+ Flags=00000010
+end
+item: Get Registry Key Value
+ Variable=GROUPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%WIN%\Start Menu\Programs
+ Value Name=Programs
+ Flags=00000010
+end
+item: Get Registry Key Value
+ Variable=CSTARTUPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%STARTUPDIR%
+ Value Name=Common Startup
+ Flags=00000100
+end
+item: Get Registry Key Value
+ Variable=CDESKTOPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%DESKTOPDIR%
+ Value Name=Common Desktop
+ Flags=00000100
+end
+item: Get Registry Key Value
+ Variable=CSTARTMENUDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%STARTMENUDIR%
+ Value Name=Common Start Menu
+ Flags=00000100
+end
+item: Get Registry Key Value
+ Variable=CGROUPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%GROUPDIR%
+ Value Name=Common Programs
+ Flags=00000100
+end
+item: Else Statement
+end
+item: Remark
+ Text=Note from Tim: the Wizard left this block empty!
+end
+item: Remark
+ Text=Perhaps it's only relevant on Windows 3.1.
+end
+item: End Block
+end
+item: Remark
+ Text=END WIZARD STUFF -----------------------------------------------------------------------------------------------------------------------------
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=SELECT_ADMIN
+ Value=B
+end
+item: Remark
+ Text=The user chose a non-admin install in "Advanced Options".
+end
+item: Remark
+ Text=This should come after the include of Uninstal.wse above, because
+end
+item: Remark
+ Text=writing uninstall info to HKCU is ineffective except under Win2K.
+end
+item: Set Variable
+ Variable=DOADMIN
+ Value=0
+end
+item: End Block
+end
+item: Remark
+end
+item: Set Variable
+ Variable=CGROUP_SAVE
+ Value=%GROUP%
+end
+item: If/While Statement
+ Variable=TASKS
+ Value=B
+ Flags=00000010
+end
+item: If/While Statement
+ Variable=DOADMIN
+ Value=1
+end
+item: Set Variable
+ Variable=GROUP
+ Value=%CGROUPDIR%\%GROUP%
+end
+item: Else Statement
+end
+item: Set Variable
+ Variable=GROUP
+ Value=%GROUPDIR%\%GROUP%
+end
+item: End Block
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=Long section to install files.
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=DOADMIN
+ Value=1
+end
+item: Set Variable
+ Variable=DLLDEST
+ Value=%SYS32%
+end
+item: Else Statement
+end
+item: Set Variable
+ Variable=DLLDEST
+ Value=%MAINDIR%
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=Install the license even if they deselect everything <wink>.
+end
+item: Install File
+ Source=..\license
+ Destination=%MAINDIR%\LICENSE.txt
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\readme
+ Destination=%MAINDIR%\README.txt
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\misc\news
+ Destination=%MAINDIR%\NEWS.txt
+ Flags=0000000000000010
+end
+item: Remark
+ Text=Icons -- always install so that the uninstaller can use them for its own display.
+end
+item: Install File
+ Source=..\pc\pycon.ico
+ Destination=%MAINDIR%\pycon.ico
+ Flags=0000000010000010
+end
+item: Install File
+ Source=..\pc\pyc.ico
+ Destination=%MAINDIR%\pyc.ico
+ Flags=0000000010000010
+end
+item: Install File
+ Source=..\pc\py.ico
+ Destination=%MAINDIR%\py.ico
+ Flags=0000000010000010
+end
+item: Remark
+end
+item: Remark
+ Text=These arrange to (recursively!) delete all .pyc and .pyo files at uninstall time.
+end
+item: Remark
+ Text=This "does the right thing": any directories left empty at the end are removed.
+end
+item: Add Text to INSTALL.LOG
+ Text=File Tree: %MAINDIR%\*.pyc
+end
+item: Add Text to INSTALL.LOG
+ Text=File Tree: %MAINDIR%\*.pyo
+end
+item: Remark
+end
+item: Remark
+ Text=A: interpreter and libraries
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=A
+ Flags=00000010
+end
+item: Remark
+ Text=Executables
+end
+item: Install File
+ Source=.\python.exe
+ Destination=%MAINDIR%\python.exe
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\pythonw.exe
+ Destination=%MAINDIR%\pythonw.exe
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\w9xpopen.exe
+ Destination=%MAINDIR%\w9xpopen.exe
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Remark
+ Text=Extension module DLLs (.pyd); keep in synch with libs directory next
+end
+item: Install File
+ Source=.\_winreg.pyd
+ Destination=%MAINDIR%\DLLs\_winreg.pyd
+ Description=Extension modules
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_csv.pyd
+ Destination=%MAINDIR%\DLLs\_csv.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_sre.pyd
+ Destination=%MAINDIR%\DLLs\_sre.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_ssl.pyd
+ Destination=%MAINDIR%\DLLs\_ssl.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_symtable.pyd
+ Destination=%MAINDIR%\DLLs\_symtable.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_testcapi.pyd
+ Destination=%MAINDIR%\DLLs\_testcapi.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_tkinter.pyd
+ Destination=%MAINDIR%\DLLs\_tkinter.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_socket.pyd
+ Destination=%MAINDIR%\DLLs\_socket.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_bsddb.pyd
+ Destination=%MAINDIR%\DLLs\_bsddb.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\bz2.pyd
+ Destination=%MAINDIR%\DLLs\bz2.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\datetime.pyd
+ Destination=%MAINDIR%\DLLs\datetime.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\mmap.pyd
+ Destination=%MAINDIR%\DLLs\mmap.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\parser.pyd
+ Destination=%MAINDIR%\DLLs\parser.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\pyexpat.pyd
+ Destination=%MAINDIR%\DLLs\pyexpat.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\select.pyd
+ Destination=%MAINDIR%\DLLs\select.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\unicodedata.pyd
+ Destination=%MAINDIR%\DLLs\unicodedata.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\winsound.pyd
+ Destination=%MAINDIR%\DLLs\winsound.pyd
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\zlib.pyd
+ Destination=%MAINDIR%\DLLs\zlib.pyd
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Remark
+ Text=Link libraries (.lib); keep in synch with DLLs above, except that the Python lib lives here.
+end
+item: Install File
+ Source=.\_winreg.lib
+ Destination=%MAINDIR%\libs\_winreg.lib
+ Description=Link library files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_csv.lib
+ Destination=%MAINDIR%\libs\_csv.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_sre.lib
+ Destination=%MAINDIR%\libs\_sre.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_ssl.lib
+ Destination=%MAINDIR%\libs\_ssl.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_symtable.lib
+ Destination=%MAINDIR%\libs\_symtable.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_testcapi.lib
+ Destination=%MAINDIR%\libs\_testcapi.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_tkinter.lib
+ Destination=%MAINDIR%\libs\_tkinter.lib
+ Description=Extension modules
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_socket.lib
+ Destination=%MAINDIR%\libs\_socket.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\_bsddb.lib
+ Destination=%MAINDIR%\libs\_bsddb.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\bz2.lib
+ Destination=%MAINDIR%\libs\bz2.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\datetime.lib
+ Destination=%MAINDIR%\libs\datetime.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\mmap.lib
+ Destination=%MAINDIR%\libs\mmap.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\parser.lib
+ Destination=%MAINDIR%\libs\parser.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\pyexpat.lib
+ Destination=%MAINDIR%\libs\pyexpat.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\select.lib
+ Destination=%MAINDIR%\libs\select.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\unicodedata.lib
+ Destination=%MAINDIR%\libs\unicodedata.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\winsound.lib
+ Destination=%MAINDIR%\libs\winsound.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=.\zlib.lib
+ Destination=%MAINDIR%\libs\zlib.lib
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=.\python%_pymajor_%%_pyminor_%.lib
+ Destination=%MAINDIR%\libs\python%_PYMAJOR_%%_PYMINOR_%.lib
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Remark
+ Text=Main Python DLL
+end
+item: Remark
+ Text=Tell Wise it's OK to delete the Python DLL at uninstall time,
+end
+item: Remark
+ Text=despite that we (may) write it into a system directory.
+end
+item: Add Text to INSTALL.LOG
+ Text=Non-System File:
+end
+item: Install File
+ Source=.\python%_pymajor_%%_pyminor_%.dll
+ Destination=%DLLDEST%\python%_PYMAJOR_%%_PYMINOR_%.dll
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Remark
+ Text=Libraries (Lib/)
+end
+item: Install File
+ Source=..\lib\*.py
+ Destination=%MAINDIR%\Lib
+ Description=Library Modules
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\bsddb\*.py
+ Destination=%MAINDIR%\Lib\bsddb
+ Description=Berkeley database package
+ Flags=0000000100000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\compiler\*.py
+ Destination=%MAINDIR%\Lib\compiler
+ Description=Python compiler written in Python
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\distutils\*.py
+ Destination=%MAINDIR%\Lib\distutils
+ Description=Distribution utility modules
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\distutils\readme
+ Destination=%MAINDIR%\Lib\distutils\README.txt
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\distutils\command\*.py
+ Destination=%MAINDIR%\Lib\distutils\command
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\distutils\command\wininst.exe
+ Destination=%MAINDIR%\Lib\distutils\command\wininst.exe
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\distutils\command\command_template
+ Destination=%MAINDIR%\Lib\distutils\command\command_template
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\email\*.py
+ Destination=%MAINDIR%\Lib\email
+ Description=Library email package
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\email\test\*.py
+ Destination=%MAINDIR%\Lib\email\test
+ Description=email tests
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\email\test\data\*.txt
+ Destination=%MAINDIR%\Lib\email\test\data
+ Description=email test data
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\email\test\data\*.gif
+ Destination=%MAINDIR%\Lib\email\test\data
+ Description=email test data
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\email\test\data\*.au
+ Destination=%MAINDIR%\Lib\email\test\data
+ Description=email test data
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\encodings\*.py
+ Destination=%MAINDIR%\Lib\encodings
+ Description=Unicode encoding tables
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\hotshot\*.py
+ Destination=%MAINDIR%\Lib\hotshot
+ Description=Fast Python profiler
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\lib-old\*.py
+ Destination=%MAINDIR%\Lib\lib-old
+ Description=Obsolete modules
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\lib-tk\*.py
+ Destination=%MAINDIR%\Lib\lib-tk
+ Description=Tkinter related library modules
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\logging\*.py
+ Destination=%MAINDIR%\Lib\logging
+ Description=Logging package
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\site-packages\readme
+ Destination=%MAINDIR%\Lib\site-packages\README.txt
+ Description=Site packages
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\xml\*.py
+ Destination=%MAINDIR%\Lib\xml
+ Description=XML support packages
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\xml\dom\*.py
+ Destination=%MAINDIR%\Lib\xml\dom
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\xml\parsers\*.py
+ Destination=%MAINDIR%\Lib\xml\parsers
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\xml\sax\*.py
+ Destination=%MAINDIR%\Lib\xml\sax
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Remark
+ Text=C Include files
+end
+item: Install File
+ Source=..\include\*.h
+ Destination=%MAINDIR%\include
+ Description=Header files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\pc\pyconfig.h
+ Destination=%MAINDIR%\include\pyconfig.h
+ Description=Header files (pyconfig.h)
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Remark
+ Text=Microsoft C runtime libraries
+end
+item: Install File
+ Source=%_SYS_%\MSVCIRT.DLL
+ Destination=%DLLDEST%\MSVCIRT.DLL
+ Description=Visual C++ Runtime DLLs
+ Flags=0000011000010011
+end
+item: Install File
+ Source=%_SYS_%\MSVCRT.DLL
+ Destination=%DLLDEST%\MSVCRT.DLL
+ Description=Visual C++ Runtime DLLs
+ Flags=0000011000010011
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=B: Tcl/Tk (Tkinter, IDLE, pydoc)
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=B
+ Flags=00000010
+end
+item: Remark
+ Text=Tcl/Tk
+end
+item: Install File
+ Source=..\..\%_tcldir_%\bin\*.dll
+ Destination=%MAINDIR%\DLLs
+ Description=Tcl/Tk binaries and libraries
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\..\%_tcldir_%\lib\*.*
+ Destination=%MAINDIR%\tcl
+ Description=Tcl/Tk binaries and libraries
+ Flags=0000000100000010
+end
+item: Remark
+end
+item: Remark
+ Text=IDLE
+end
+item: Install File
+ Source=..\Lib\idlelib\*.py
+ Destination=%MAINDIR%\Lib\idlelib
+ Description=Integrated DeveLopment Environment for Python
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\Lib\idlelib\*.txt
+ Destination=%MAINDIR%\Lib\idlelib
+ Description=Integrated DeveLopment Environment for Python
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\Lib\idlelib\*.def
+ Destination=%MAINDIR%\Lib\idlelib
+ Description=Integrated DeveLopment Environment for Python
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\Lib\idlelib\Icons\*
+ Destination=%MAINDIR%\Lib\idlelib\Icons
+ Description=Integrated DeveLopment Environment for Python
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\Tools\scripts\idle
+ Destination=%MAINDIR%\Lib\idlelib\idle.pyw
+ Description=IDLE bootstrap script
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Remark
+ Text=Windows pydoc driver
+end
+item: Install File
+ Source=..\tools\scripts\*.pyw
+ Destination=%MAINDIR%\Tools\Scripts
+ Description=Windows pydoc driver
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=C: docs
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=C
+ Flags=00000010
+end
+item: Install File
+ Source=%_DOC_%\*.*
+ Destination=%MAINDIR%\Doc
+ Description=Python Documentation (HTML)
+ Flags=0000000100000010
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=D: tools
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=D
+ Flags=00000010
+end
+item: Install File
+ Source=..\tools\scripts\*.py
+ Destination=%MAINDIR%\Tools\Scripts
+ Description=Utility Scripts
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\tools\scripts\*.doc
+ Destination=%MAINDIR%\Tools\Scripts
+ Description=Utility Scripts
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\tools\scripts\readme
+ Destination=%MAINDIR%\Tools\Scripts\README.txt
+ Description=Utility Scripts
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\tools\webchecker\*.py
+ Destination=%MAINDIR%\Tools\webchecker
+ Description=Web checker tool
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\tools\webchecker\readme
+ Destination=%MAINDIR%\Tools\webchecker\README.txt
+ Description=Web checker tool
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\tools\versioncheck\*.py
+ Destination=%MAINDIR%\Tools\versioncheck
+ Description=Version checker tool
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\tools\versioncheck\readme
+ Destination=%MAINDIR%\Tools\versioncheck\README.txt
+ Description=Version checker tool
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\tools\pynche\*.py
+ Destination=%MAINDIR%\Tools\pynche
+ Description=pynche color editor
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\tools\pynche\*.txt
+ Destination=%MAINDIR%\Tools\pynche
+ Description=pynche color editor
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\tools\pynche\x\*.txt
+ Destination=%MAINDIR%\Tools\pynche\X
+ Description=pynche color editor - X files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\tools\pynche\readme
+ Destination=%MAINDIR%\Tools\pynche\README.txt
+ Description=pynche color editor - README
+ Flags=0000000100000010
+end
+item: Install File
+ Source=..\tools\pynche\pynche
+ Destination=%MAINDIR%\Tools\pynche\pynche.py
+ Description=pynche color editor - main
+ Flags=0000000100000010
+end
+item: Install File
+ Source=..\tools\pynche\pynche.pyw
+ Destination=%MAINDIR%\Tools\pynche\pynche.pyw
+ Description=pynche color editor - noconsole main
+ Flags=0000000100000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\tools\i18n\*.py
+ Destination=%MAINDIR%\Tools\i18n
+ Description=Internationalization helpers
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=E: test suite
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=E
+ Flags=00000010
+end
+item: Install File
+ Source=..\lib\test\audiotest.au
+ Destination=%MAINDIR%\Lib\test\audiotest.au
+ Description=Python Test files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\test\*.uue
+ Destination=%MAINDIR%\Lib\test
+ Description=Python Test files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\test\*.py
+ Destination=%MAINDIR%\Lib\test
+ Description=Python Test files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\test\*.xml
+ Destination=%MAINDIR%\Lib\test
+ Description=Python Test files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\test\*.out
+ Destination=%MAINDIR%\Lib\test
+ Description=Python Test files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\test\*.bz2
+ Destination=%MAINDIR%\Lib\test
+ Description=Python Test files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\test\*.tar
+ Destination=%MAINDIR%\Lib\test
+ Description=Python Test files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\test\*.gz
+ Destination=%MAINDIR%\Lib\test
+ Description=Python Test files
+ Flags=0000000000000010
+end
+item: Install File
+ Source=..\lib\test\*.txt
+ Destination=%MAINDIR%\Lib\test
+ Description=Python Test files
+ Flags=0000000000000010
+end
+item: Remark
+end
+item: Install File
+ Source=..\lib\test\output\*.*
+ Destination=%MAINDIR%\Lib\test\output
+ Description=Python Test output files
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=DONE with file copying.
+end
+item: Remark
+ Text=The rest is registry and Start Menu fiddling.
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=A
+ Flags=00000010
+end
+item: If/While Statement
+ Variable=TASKS
+ Value=A
+ Flags=00000010
+end
+item: Remark
+ Text=Register file extensions. As usual, Admin privs get in the way, but with a twist:
+end
+item: Remark
+ Text=You don't need admin privs to write to HKEY_CLASSES_ROOT *except* under Win2K.
+end
+item: Remark
+ Text=On Win2K, a user without Admin privs has to register extensions under HKCU\Software\CLASSES instead.
+end
+item: Remark
+ Text=But while you can *do* that under other flavors of Windows too, it has no useful effect except in Win2K.
+end
+item: Set Variable
+ Variable=USE_HKCR
+ Value=1
+end
+item: Check Configuration
+ Flags=11110010
+end
+item: If/While Statement
+ Variable=DOADMIN
+ Value=0
+end
+item: Set Variable
+ Variable=USE_HKCR
+ Value=0
+end
+item: End Block
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=USE_HKCR
+ Value=1
+end
+item: Remark
+ Text=File types.
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.File
+ New Value=Python File
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.File\shell\open\command
+ New Value=%MAINDIR%\python.exe "%%1" %%*
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.File\DefaultIcon
+ New Value=%MAINDIR%\Py.ico
+end
+item: Remark
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.NoConFile
+ New Value=Python File (no console)
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.NoConFile\shell\open\command
+ New Value=%MAINDIR%\pythonw.exe "%%1" %%*
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.NoConFile\DefaultIcon
+ New Value=%MAINDIR%\Py.ico
+end
+item: Remark
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.CompiledFile
+ New Value=Compiled Python File
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.CompiledFile\shell\open\command
+ New Value=%MAINDIR%\python.exe "%%1" %%*
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.CompiledFile\DefaultIcon
+ New Value=%MAINDIR%\pyc.ico
+end
+item: Remark
+end
+item: Remark
+ Text=File extensions.
+end
+item: Edit Registry
+ Total Keys=1
+ Key=.py
+ New Value=Python.File
+end
+item: Edit Registry
+ Total Keys=1
+ Key=.py
+ New Value=text/plain
+ Value Name=Content Type
+end
+item: Remark
+end
+item: Edit Registry
+ Total Keys=1
+ Key=.pyw
+ New Value=Python.NoConFile
+end
+item: Edit Registry
+ Total Keys=1
+ Key=.pyw
+ New Value=text/plain
+ Value Name=Content Type
+end
+item: Remark
+end
+item: Edit Registry
+ Total Keys=1
+ Key=.pyc
+ New Value=Python.CompiledFile
+end
+item: Edit Registry
+ Total Keys=1
+ Key=.pyo
+ New Value=Python.CompiledFile
+end
+item: Else Statement
+end
+item: Remark
+ Text=File types.
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.File
+ New Value=Python File
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.File\shell\open\command
+ New Value=%MAINDIR%\python.exe "%%1" %%*
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.File\DefaultIcon
+ New Value=%MAINDIR%\Py.ico
+ Root=1
+end
+item: Remark
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.NoConFile
+ New Value=Python File (no console)
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.NoConFile\shell\open\command
+ New Value=%MAINDIR%\pythonw.exe "%%1" %%*
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.NoConFile\DefaultIcon
+ New Value=%MAINDIR%\Py.ico
+ Root=1
+end
+item: Remark
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.CompiledFile
+ New Value=Compiled Python File
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.CompiledFile\shell\open\command
+ New Value=%MAINDIR%\python.exe "%%1" %%*
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.CompiledFile\DefaultIcon
+ New Value=%MAINDIR%\pyc.ico
+ Root=1
+end
+item: Remark
+end
+item: Remark
+ Text=File extensions.
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\.py
+ New Value=Python.File
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\.py
+ New Value=text/plain
+ Value Name=Content Type
+ Root=1
+end
+item: Remark
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\.pyw
+ New Value=Python.NoConFile
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\.pyw
+ New Value=text/plain
+ Value Name=Content Type
+ Root=1
+end
+item: Remark
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\.pyc
+ New Value=Python.CompiledFile
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\.pyo
+ New Value=Python.CompiledFile
+ Root=1
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=If we're installing IDLE, also set an Edit context menu action to use IDLE, for .py and .pyw files.
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=B
+ Flags=00000010
+end
+item: If/While Statement
+ Variable=USE_HKCR
+ Value=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.NoConFile\shell\Edit with IDLE\command
+ New Value=%MAINDIR%\pythonw.exe %MAINDIR%\Lib\idlelib\idle.pyw -n -e "%%1"
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Python.File\shell\Edit with IDLE\command
+ New Value=%MAINDIR%\pythonw.exe %MAINDIR%\Lib\idlelib\idle.pyw -n -e "%%1"
+end
+item: Else Statement
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.NoConFile\shell\Edit with IDLE\command
+ New Value=%MAINDIR%\pythonw.exe %MAINDIR%\Lib\idlelib\idle.pyw -n -e "%%1"
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\CLASSES\Python.File\shell\Edit with IDLE\command
+ New Value=%MAINDIR%\pythonw.exe %MAINDIR%\Lib\idlelib\idle.pyw -n -e "%%1"
+ Root=1
+end
+item: End Block
+end
+item: End Block
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=Register Python paths.
+end
+item: Remark
+ Text=Write to HKLM for admin, else HKCU. Keep these blocks otherwise identical!
+end
+item: If/While Statement
+ Variable=DOADMIN
+ Value=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\CurrentVersion
+ Root=130
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\%PY_VERSION%\InstallPath
+ New Value=%MAINDIR%
+ Root=2
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\%PY_VERSION%\InstallPath\InstallGroup
+ New Value=%CGROUP_SAVE%
+ New Value=
+ Root=2
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\%PY_VERSION%\PythonPath
+ New Value=%MAINDIR%\Lib;%MAINDIR%\DLLs;%MAINDIR%\Lib\lib-tk
+ New Value=
+ Root=2
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\%PY_VERSION%\Modules
+ Root=2
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe
+ New Value=%MAINDIR%\Python.exe
+ Root=2
+end
+item: Else Statement
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\CurrentVersion
+ Root=129
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\%PY_VERSION%\InstallPath
+ New Value=%MAINDIR%
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\%PY_VERSION%\InstallPath\InstallGroup
+ New Value=%CGROUP_SAVE%
+ New Value=
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\%PY_VERSION%\PythonPath
+ New Value=%MAINDIR%\Lib;%MAINDIR%\DLLs;%MAINDIR%\Lib\lib-tk
+ New Value=
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\%PY_VERSION%\Modules
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe
+ New Value=%MAINDIR%\Python.exe
+ Root=1
+end
+item: End Block
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=Registry fiddling for docs.
+end
+item: Remark
+ Text=Write to HKLM for admin, else HKCU. Keep these blocks otherwise identical!
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=C
+ Flags=00000010
+end
+item: If/While Statement
+ Variable=DOADMIN
+ Value=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\%PY_VERSION%\Help\Main Python Documentation
+ New Value=%MAINDIR%\Doc\index.html
+ Root=2
+end
+item: Else Statement
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Python\PythonCore\%PY_VERSION%\Help\Main Python Documentation
+ New Value=%MAINDIR%\Doc\index.html
+ Root=1
+end
+item: End Block
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=Set the app publisher and URL entries for Win2K add/remove.
+end
+item: Remark
+ Text=It doesn't hurt on other systems.
+end
+item: Remark
+ Text=As usual, write to HKLM or HKCU depending on Admin privs.
+end
+item: Remark
+ Text=CAUTION: If you set this info on the "Windows 2000" page (step 6) of the
+end
+item: Remark
+ Text=Installation Expert, it only shows up in the "If" block below. Keep in synch!
+end
+item: If/While Statement
+ Variable=DOADMIN
+ Value=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=http://www.python.org/
+ Value Name=HelpLink
+ Root=2
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=PythonLabs at Zope Corporation
+ Value Name=Publisher
+ Root=2
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=http://www.python.org/
+ Value Name=URLInfoAbout
+ Root=2
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=%PYVER_STRING%
+ Value Name=DisplayVersion
+ Root=2
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=%MAINDIR%\py.ico,-0
+ Value Name=DisplayIcon
+ Root=2
+end
+item: Else Statement
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=http://www.python.org/
+ Value Name=HelpLink
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=PythonLabs at Zope Corporation
+ Value Name=Publisher
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=http://www.python.org/
+ Value Name=URLInfoAbout
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=%PYVER_STRING%
+ Value Name=DisplayVersion
+ Root=1
+end
+item: Edit Registry
+ Total Keys=1
+ Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
+ New Value=%MAINDIR%\py.ico,-0
+ Value Name=DisplayIcon
+ Root=1
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=Populate Start Menu group
+end
+item: If/While Statement
+ Variable=TASKS
+ Value=B
+ Flags=00000010
+end
+item: Remark
+ Text=Shortcut to installer no matter what.
+end
+item: Create Shortcut
+ Source=%MAINDIR%\unwise.exe
+ Destination=%GROUP%\Uninstall Python.lnk
+ Working Directory=%MAINDIR%
+ Key Type=1536
+ Flags=00000001
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=A
+ Flags=00000010
+end
+item: Create Shortcut
+ Source=%MAINDIR%\python.exe
+ Destination=%GROUP%\Python (command line).lnk
+ Working Directory=%MAINDIR%
+ Icon Pathname=%MAINDIR%\pycon.ico
+ Key Type=1536
+ Flags=00000001
+end
+item: End Block
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=B
+ Flags=00000010
+end
+item: Create Shortcut
+ Source=%MAINDIR%\pythonw.exe
+ Destination=%GROUP%\IDLE (Python GUI).lnk
+ Command Options="%MAINDIR%\Lib\idlelib\idle.pyw"
+ Working Directory=%MAINDIR%
+ Key Type=1536
+ Flags=00000001
+end
+item: Create Shortcut
+ Source=%MAINDIR%\pythonw.exe
+ Destination=%GROUP%\Module Docs.lnk
+ Command Options="%MAINDIR%\Tools\Scripts\pydocgui.pyw"
+ Working Directory=%MAINDIR%
+ Key Type=1536
+ Flags=00000001
+end
+item: End Block
+end
+item: Remark
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=C
+ Flags=00000010
+end
+item: Create Shortcut
+ Source=%MAINDIR%\Doc\index.html
+ Destination=%GROUP%\Python Manuals.lnk
+ Working Directory=%MAINDIR%
+ Key Type=1536
+ Flags=00000001
+end
+item: End Block
+end
+item: End Block
+end
+item: Remark
+end
+item: Remark
+ Text=I don't think we need this, but have always done it.
+end
+item: Self-Register OCXs/DLLs
+ Description=Updating System Configuration, Please Wait...
+end
+item: Remark
+end
+remarked item: Remark
+ Text=Don't enable "Delete in-use files". Here's what happens:
+end
+remarked item: Remark
+ Text=Install Python; uninstall Python; install Python again. Reboot the machine.
+end
+remarked item: Remark
+ Text=Now UNWISE.EXE is missing. I think this is a Wise bug, but so it goes.
+end
+remarked item: Add Text to INSTALL.LOG
+ Text=Delete in-use files: On
+end
+item: Remark
+end
+item: Wizard Block
+ Direction Variable=DIRECTION
+ Display Variable=DISPLAY
+ Bitmap Pathname=.\installer.bmp
+ X Position=9
+ Y Position=10
+ Filler Color=11173759
+ Flags=00000011
+end
+item: Custom Dialog Set
+ Name=Finished
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalaci�n de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=339
+ Height=280
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=188 234 244 253
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Finish
+ Text French=&Fin
+ Text German=&Weiter
+ Text Spanish=&Terminar
+ Text Italian=&Fine
+ end
+ item: Push Button
+ Rectangle=264 234 320 253
+ Variable=DISABLED
+ Value=!
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=108 10 323 48
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Installation Completed!
+ Text French=Installation termin�e !
+ Text German=Die Installation ist abgeschlossen!
+ Text Spanish=�Instalaci�n terminada!
+ Text Italian=Installazione completata!
+ end
+ item: Static
+ Rectangle=108 44 320 82
+ Create Flags=01010000000000000000000000000000
+ Text=%APPTITLE% has been successfully installed.
+ Text=
+ Text=Press the Finish button to exit this installation.
+ Text French=%APPTITLE% est maintenant install�.
+ Text French=
+ Text French=Cliquez sur le bouton Fin pour quitter l'installation.
+ Text German=%APPTITLE% wurde erfolgreich installiert.
+ Text German=
+ Text German=Klicken Sie auf "Weiter", um die Installation zu beenden.
+ Text Spanish=%APPTITLE% se ha instalado con �xito.
+ Text Spanish=
+ Text Spanish=Presione el bot�n Terminar para salir de esta instalaci�n.
+ Text Italian=L'installazione %APPTITLE% � stata portata a termine con successo.
+ Text Italian=
+ Text Italian=Premere il pulsante Fine per uscire dall'installazione.
+ end
+ item: Static
+ Rectangle=10 225 320 226
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=106 105 312 210
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000000000
+ Text=Special Windows thanks to:
+ Text=
+ Text=Wise Solutions, for the use of InstallMaster 8.1.
+ Text= http://www.wisesolutions.com/
+ Text=
+ Text=
+ Text=LettError, Erik van Blokland, for the Python for Windows graphic.
+ Text= http://www.letterror.com/
+ Text=
+ Text=
+ Text=Mark Hammond, without whose years of freely shared Windows expertise, Python for Windows would still be Python for DOS.
+ end
+ item: Static
+ Rectangle=106 95 312 96
+ Action=3
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000001001
+ end
+ end
+end
+item: End Block
+end
+item: New Event
+ Name=Cancel
+end
+item: Remark
+ Text=This include script supports a rollback to preinstallation state if the user chooses to cancel before the installation is complete.
+end
+item: Include Script
+ Pathname=%_WISE_%\INCLUDE\rollback.wse
+end
Added: python/trunk/PCbuild8/pythoncore.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/pythoncore.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,1103 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="pythoncore"
+ ProjectGUID="{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}"
+ RootNamespace="pythoncore"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\pythoncore"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zm200 "
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ WholeProgramOptimization="false"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;_CRT_SECURE_NO_DEPRECATE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ AdditionalIncludeDirectories="..\Include"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="generate buildinfo"
+ CommandLine="make_buildinfo.exe $(ConfigurationName)
"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="getbuildinfo.o"
+ OutputFile="./python25.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./python25.pdb"
+ SubSystem="2"
+ LinkTimeCodeGeneration="0"
+ BaseAddress="0x1e000000"
+ ImportLibrary=".\./python25.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\pythoncore"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zm200 "
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="_DEBUG;USE_DL_EXPORT;WIN32;_WINDOWS;_CRT_SECURE_NO_DEPRECATE"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ AdditionalIncludeDirectories="..\Include"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="generate buildinfo"
+ CommandLine="make_buildinfo.exe $(ConfigurationName)"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="getbuildinfo.o"
+ OutputFile="./python25_d.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./python25_d.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e000000"
+ ImportLibrary=".\./python25_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\ia64-temp-release\pythoncore"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ AdditionalIncludeDirectories="..\Include"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="generate buildinfo"
+ CommandLine="make_buildinfo.exe $(ConfigurationName)"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ AdditionalDependencies="getbuildinfo.o"
+ OutputFile="./python25.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="false"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./python25.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e000000"
+ ImportLibrary=".\./python25.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="./."
+ IntermediateDirectory=".\amd64-temp-release\pythoncore"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zm200 /USECL:MS_OPTERON /GS-"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ AdditionalIncludeDirectories="..\Include"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="generate buildinfo"
+ CommandLine="make_buildinfo.exe $(ConfigurationName)"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="getbuildinfo.o"
+ OutputFile="./python25.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./python25.pdb"
+ SubSystem="2"
+ BaseAddress="0x1e000000"
+ ImportLibrary=".\./python25.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="zlib"
+ >
+ <File
+ RelativePath="..\Modules\zlib\adler32.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\compress.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\crc32.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\deflate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\gzio.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\infback.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\inffast.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\inflate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\inftrees.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\trees.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\uncompr.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlibmodule.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\Modules\zlib"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\Modules\zlib"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="ReleaseItanium|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\Modules\zlib"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="ReleaseAMD64|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\Modules\zlib"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\zutil.c"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\Modules\_bisectmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_cn.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_hk.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_iso2022.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_jp.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_kr.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_tw.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_codecsmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_csv.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_heapqmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_hotshot.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_localemodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_lsprof.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_randommodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_sre.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_struct.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Pc\_subprocess.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_weakref.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Pc\_winreg.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\abstract.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\acceler.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\arraymodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\asdl.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\ast.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\audioop.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\binascii.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\bitset.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\bltinmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\boolobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\bufferobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\cellobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\ceval.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\classobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cmathmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\cobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\codecs.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\codeobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\collectionsmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\compile.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\complexobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\config.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cPickle.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cStringIO.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\datetimemodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\descrobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\dictobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\dl_nt.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\dynload_win.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\enumobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\errnomodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\errors.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\exceptions.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\fileobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\firstsets.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\floatobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\frameobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\frozen.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\funcobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\functionalmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\functionalmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\future.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\gcmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\genobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getargs.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getcompiler.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getcopyright.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getmtime.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getopt.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\getpathp.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getplatform.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getversion.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\graminit.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\grammar.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\grammar1.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\imageop.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\import.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\import_nt.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\Python"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\Python"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="ReleaseItanium|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\Python"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="ReleaseAMD64|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\Python"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Python\importdl.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\intobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\iterobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\itertoolsmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\listnode.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\listobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\longobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\main.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\marshal.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mathmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\md5.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\md5module.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\metagrammar.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\methodobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mmapmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\modsupport.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\moduleobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\msvcrtmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\multibytecodec.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\myreadline.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\mysnprintf.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\mystrtoul.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\object.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\obmalloc.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\operator.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\parser.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\parsermodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\parsetok.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\posixmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\pyarena.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\pyfpe.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\pystate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\pystrtod.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\Python-ast.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\python_nt.rc"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\pythonrun.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\rangeobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\rgbimgmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\rotatingtree.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\setobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\sha256module.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\sha512module.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\sha512module.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\shamodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\signalmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\signalmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\sliceobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\stringobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\stropmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\structmember.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\structseq.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\symtable.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\symtablemodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\sysmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\thread.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\threadmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\timemodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\tokenizer.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\traceback.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\tupleobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\typeobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\unicodectype.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\unicodeobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\weakrefobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\xxsubtype.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\yuvconvert.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zipimport.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/pythoncore_link.txt
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/pythoncore_link.txt Sat May 27 17:41:31 2006
@@ -0,0 +1,311 @@
+/OUT:"./python25.dll" /INCREMENTAL:NO /DLL /MANIFEST /MANIFESTFILE:".\x86-temp-release\pythoncore\python25.dll.intermediate.manifest" /NODEFAULTLIB:"libc" /DEBUG /PDB:".\./python25.pdb" /SUBSYSTEM:WINDOWS /LTCG:PGINSTRUMENT /PGD:"c:\pydev\PCbuild\python25.pgd" /BASE:"0x1e000000" /IMPLIB:".\./python25.lib" /MACHINE:X86 getbuildinfo.o kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
+
+".\x86-temp-release\pythoncore\adler32.obj"
+
+".\x86-temp-release\pythoncore\compress.obj"
+
+".\x86-temp-release\pythoncore\crc32.obj"
+
+".\x86-temp-release\pythoncore\deflate.obj"
+
+".\x86-temp-release\pythoncore\gzio.obj"
+
+".\x86-temp-release\pythoncore\infback.obj"
+
+".\x86-temp-release\pythoncore\inffast.obj"
+
+".\x86-temp-release\pythoncore\inflate.obj"
+
+".\x86-temp-release\pythoncore\inftrees.obj"
+
+".\x86-temp-release\pythoncore\trees.obj"
+
+".\x86-temp-release\pythoncore\uncompr.obj"
+
+".\x86-temp-release\pythoncore\zlibmodule.obj"
+
+".\x86-temp-release\pythoncore\zutil.obj"
+
+".\x86-temp-release\pythoncore\_bisectmodule.obj"
+
+".\x86-temp-release\pythoncore\_codecs_cn.obj"
+
+".\x86-temp-release\pythoncore\_codecs_hk.obj"
+
+".\x86-temp-release\pythoncore\_codecs_iso2022.obj"
+
+".\x86-temp-release\pythoncore\_codecs_jp.obj"
+
+".\x86-temp-release\pythoncore\_codecs_kr.obj"
+
+".\x86-temp-release\pythoncore\_codecs_tw.obj"
+
+".\x86-temp-release\pythoncore\_codecsmodule.obj"
+
+".\x86-temp-release\pythoncore\_csv.obj"
+
+".\x86-temp-release\pythoncore\_heapqmodule.obj"
+
+".\x86-temp-release\pythoncore\_hotshot.obj"
+
+".\x86-temp-release\pythoncore\_localemodule.obj"
+
+".\x86-temp-release\pythoncore\_lsprof.obj"
+
+".\x86-temp-release\pythoncore\_randommodule.obj"
+
+".\x86-temp-release\pythoncore\_sre.obj"
+
+".\x86-temp-release\pythoncore\_subprocess.obj"
+
+".\x86-temp-release\pythoncore\_weakref.obj"
+
+".\x86-temp-release\pythoncore\_winreg.obj"
+
+".\x86-temp-release\pythoncore\abstract.obj"
+
+".\x86-temp-release\pythoncore\acceler.obj"
+
+".\x86-temp-release\pythoncore\arraymodule.obj"
+
+".\x86-temp-release\pythoncore\asdl.obj"
+
+".\x86-temp-release\pythoncore\ast.obj"
+
+".\x86-temp-release\pythoncore\audioop.obj"
+
+".\x86-temp-release\pythoncore\binascii.obj"
+
+".\x86-temp-release\pythoncore\bitset.obj"
+
+".\x86-temp-release\pythoncore\bltinmodule.obj"
+
+".\x86-temp-release\pythoncore\boolobject.obj"
+
+".\x86-temp-release\pythoncore\bufferobject.obj"
+
+".\x86-temp-release\pythoncore\cellobject.obj"
+
+".\x86-temp-release\pythoncore\ceval.obj"
+
+".\x86-temp-release\pythoncore\classobject.obj"
+
+".\x86-temp-release\pythoncore\cmathmodule.obj"
+
+".\x86-temp-release\pythoncore\cobject.obj"
+
+".\x86-temp-release\pythoncore\codecs.obj"
+
+".\x86-temp-release\pythoncore\codeobject.obj"
+
+".\x86-temp-release\pythoncore\collectionsmodule.obj"
+
+".\x86-temp-release\pythoncore\compile.obj"
+
+".\x86-temp-release\pythoncore\complexobject.obj"
+
+".\x86-temp-release\pythoncore\config.obj"
+
+".\x86-temp-release\pythoncore\cPickle.obj"
+
+".\x86-temp-release\pythoncore\cStringIO.obj"
+
+".\x86-temp-release\pythoncore\datetimemodule.obj"
+
+".\x86-temp-release\pythoncore\descrobject.obj"
+
+".\x86-temp-release\pythoncore\dictobject.obj"
+
+".\x86-temp-release\pythoncore\dl_nt.obj"
+
+".\x86-temp-release\pythoncore\dynload_win.obj"
+
+".\x86-temp-release\pythoncore\enumobject.obj"
+
+".\x86-temp-release\pythoncore\errnomodule.obj"
+
+".\x86-temp-release\pythoncore\errors.obj"
+
+".\x86-temp-release\pythoncore\exceptions.obj"
+
+".\x86-temp-release\pythoncore\fileobject.obj"
+
+".\x86-temp-release\pythoncore\firstsets.obj"
+
+".\x86-temp-release\pythoncore\floatobject.obj"
+
+".\x86-temp-release\pythoncore\frameobject.obj"
+
+".\x86-temp-release\pythoncore\frozen.obj"
+
+".\x86-temp-release\pythoncore\funcobject.obj"
+
+".\x86-temp-release\pythoncore\functionalmodule.obj"
+
+".\x86-temp-release\pythoncore\future.obj"
+
+".\x86-temp-release\pythoncore\gcmodule.obj"
+
+".\x86-temp-release\pythoncore\genobject.obj"
+
+".\x86-temp-release\pythoncore\getargs.obj"
+
+".\x86-temp-release\pythoncore\getcompiler.obj"
+
+".\x86-temp-release\pythoncore\getcopyright.obj"
+
+".\x86-temp-release\pythoncore\getmtime.obj"
+
+".\x86-temp-release\pythoncore\getopt.obj"
+
+".\x86-temp-release\pythoncore\getpathp.obj"
+
+".\x86-temp-release\pythoncore\getplatform.obj"
+
+".\x86-temp-release\pythoncore\getversion.obj"
+
+".\x86-temp-release\pythoncore\graminit.obj"
+
+".\x86-temp-release\pythoncore\grammar.obj"
+
+".\x86-temp-release\pythoncore\grammar1.obj"
+
+".\x86-temp-release\pythoncore\imageop.obj"
+
+".\x86-temp-release\pythoncore\import.obj"
+
+".\x86-temp-release\pythoncore\import_nt.obj"
+
+".\x86-temp-release\pythoncore\importdl.obj"
+
+".\x86-temp-release\pythoncore\intobject.obj"
+
+".\x86-temp-release\pythoncore\iterobject.obj"
+
+".\x86-temp-release\pythoncore\itertoolsmodule.obj"
+
+".\x86-temp-release\pythoncore\listnode.obj"
+
+".\x86-temp-release\pythoncore\listobject.obj"
+
+".\x86-temp-release\pythoncore\longobject.obj"
+
+".\x86-temp-release\pythoncore\main.obj"
+
+".\x86-temp-release\pythoncore\marshal.obj"
+
+".\x86-temp-release\pythoncore\mathmodule.obj"
+
+".\x86-temp-release\pythoncore\md5.obj"
+
+".\x86-temp-release\pythoncore\md5module.obj"
+
+".\x86-temp-release\pythoncore\metagrammar.obj"
+
+".\x86-temp-release\pythoncore\methodobject.obj"
+
+".\x86-temp-release\pythoncore\mmapmodule.obj"
+
+".\x86-temp-release\pythoncore\modsupport.obj"
+
+".\x86-temp-release\pythoncore\moduleobject.obj"
+
+".\x86-temp-release\pythoncore\msvcrtmodule.obj"
+
+".\x86-temp-release\pythoncore\multibytecodec.obj"
+
+".\x86-temp-release\pythoncore\myreadline.obj"
+
+".\x86-temp-release\pythoncore\mysnprintf.obj"
+
+".\x86-temp-release\pythoncore\mystrtoul.obj"
+
+".\x86-temp-release\pythoncore\node.obj"
+
+".\x86-temp-release\pythoncore\object.obj"
+
+".\x86-temp-release\pythoncore\obmalloc.obj"
+
+".\x86-temp-release\pythoncore\operator.obj"
+
+".\x86-temp-release\pythoncore\parser.obj"
+
+".\x86-temp-release\pythoncore\parsermodule.obj"
+
+".\x86-temp-release\pythoncore\parsetok.obj"
+
+".\x86-temp-release\pythoncore\posixmodule.obj"
+
+".\x86-temp-release\pythoncore\pyarena.obj"
+
+".\x86-temp-release\pythoncore\pyfpe.obj"
+
+".\x86-temp-release\pythoncore\pystate.obj"
+
+".\x86-temp-release\pythoncore\pystrtod.obj"
+
+".\x86-temp-release\pythoncore\Python-ast.obj"
+
+".\x86-temp-release\pythoncore\python_nt.res"
+
+".\x86-temp-release\pythoncore\pythonrun.obj"
+
+".\x86-temp-release\pythoncore\rangeobject.obj"
+
+".\x86-temp-release\pythoncore\rgbimgmodule.obj"
+
+".\x86-temp-release\pythoncore\rotatingtree.obj"
+
+".\x86-temp-release\pythoncore\setobject.obj"
+
+".\x86-temp-release\pythoncore\sha256module.obj"
+
+".\x86-temp-release\pythoncore\sha512module.obj"
+
+".\x86-temp-release\pythoncore\shamodule.obj"
+
+".\x86-temp-release\pythoncore\signalmodule.obj"
+
+".\x86-temp-release\pythoncore\sliceobject.obj"
+
+".\x86-temp-release\pythoncore\stringobject.obj"
+
+".\x86-temp-release\pythoncore\stropmodule.obj"
+
+".\x86-temp-release\pythoncore\structmember.obj"
+
+".\x86-temp-release\pythoncore\_struct.obj"
+
+".\x86-temp-release\pythoncore\structseq.obj"
+
+".\x86-temp-release\pythoncore\symtable.obj"
+
+".\x86-temp-release\pythoncore\symtablemodule.obj"
+
+".\x86-temp-release\pythoncore\sysmodule.obj"
+
+".\x86-temp-release\pythoncore\thread.obj"
+
+".\x86-temp-release\pythoncore\threadmodule.obj"
+
+".\x86-temp-release\pythoncore\timemodule.obj"
+
+".\x86-temp-release\pythoncore\tokenizer.obj"
+
+".\x86-temp-release\pythoncore\traceback.obj"
+
+".\x86-temp-release\pythoncore\tupleobject.obj"
+
+".\x86-temp-release\pythoncore\typeobject.obj"
+
+".\x86-temp-release\pythoncore\unicodectype.obj"
+
+".\x86-temp-release\pythoncore\unicodeobject.obj"
+
+".\x86-temp-release\pythoncore\weakrefobject.obj"
+
+".\x86-temp-release\pythoncore\xxsubtype.obj"
+
+".\x86-temp-release\pythoncore\yuvconvert.obj"
+
+".\x86-temp-release\pythoncore\zipimport.obj"
\ No newline at end of file
Added: python/trunk/PCbuild8/pythoncore_pgo.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/pythoncore_pgo.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,781 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="pythoncore_pgo"
+ ProjectGUID="{8B59C1FF-2439-4BE9-9F24-84D4982D28D4}"
+ RootNamespace="pythoncore_pgo"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)"
+ IntermediateDirectory=".\x86-temp-release\$(ProjectName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zm200 "
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ WholeProgramOptimization="true"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;_CRT_SECURE_NO_DEPRECATE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ AdditionalIncludeDirectories="..\Include"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ Description="Generate buildinfo & profile guided optimizations (please be patient)"
+ CommandLine="make_buildinfo.exe $(ConfigurationName)
link @$(ProjectName)_link.txt
$(OutDir)\python ../Tools/pybench/pybench.py -n 1"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="getbuildinfo.o"
+ OutputFile="$(OutDir)/python25.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/python25.pdb"
+ SubSystem="2"
+ LinkTimeCodeGeneration="3"
+ BaseAddress="0x1e000000"
+ ImportLibrary="$(OutDir)/python25.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="zlib"
+ >
+ <File
+ RelativePath="..\Modules\zlib\adler32.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\compress.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\crc32.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\deflate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\gzio.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\infback.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\inffast.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\inflate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\inftrees.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\trees.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\uncompr.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zlibmodule.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\Modules\zlib"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Modules\zlib\zutil.c"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\Modules\_bisectmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_cn.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_hk.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_iso2022.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_jp.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_kr.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\_codecs_tw.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_codecsmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_csv.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_heapqmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_hotshot.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_localemodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_lsprof.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_randommodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_sre.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_struct.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Pc\_subprocess.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\_weakref.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Pc\_winreg.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\abstract.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\acceler.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\arraymodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\asdl.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\ast.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\audioop.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\binascii.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\bitset.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\bltinmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\boolobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\bufferobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\cellobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\ceval.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\classobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cmathmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\cobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\codecs.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\codeobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\collectionsmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\compile.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\complexobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\config.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cPickle.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cStringIO.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\datetimemodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\descrobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\dictobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\dl_nt.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\dynload_win.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\enumobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\errnomodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\errors.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\exceptions.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\fileobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\firstsets.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\floatobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\frameobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\frozen.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\funcobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\functionalmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\future.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\gcmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\genobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getargs.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getcompiler.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getcopyright.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getmtime.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getopt.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\getpathp.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getplatform.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\getversion.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\graminit.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\grammar.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\grammar1.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\imageop.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\import.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\import_nt.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\Python"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Python\importdl.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\intobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\iterobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\itertoolsmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\listnode.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\listobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\longobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\main.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\marshal.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mathmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\md5.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\md5module.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\metagrammar.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\methodobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mmapmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\modsupport.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\moduleobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\msvcrtmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\cjkcodecs\multibytecodec.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\myreadline.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\mysnprintf.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\mystrtoul.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\node.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\object.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\obmalloc.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\operator.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\parser.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\parsermodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\parsetok.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\posixmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\pyarena.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\pyfpe.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\pystate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\pystrtod.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\Python-ast.c"
+ >
+ </File>
+ <File
+ RelativePath="..\PCbuild8\python.exe"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ CommandLine="xcopy $(InputFileName)* $(OutDir) /F /I /Y"
+ Outputs="$(OutDir)\$(InputFileName)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\PC\python_nt.rc"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\pythonrun.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\rangeobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\rgbimgmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\rotatingtree.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\setobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\sha256module.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\sha512module.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\sha512module.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\shamodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\signalmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\signalmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\sliceobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\stringobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\stropmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\structmember.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\structseq.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\symtable.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\symtablemodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\sysmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\thread.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\threadmodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\timemodule.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Parser\tokenizer.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Python\traceback.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\tupleobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\typeobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\unicodectype.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\unicodeobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Objects\weakrefobject.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\xxsubtype.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\yuvconvert.c"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\zipimport.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/pythoncore_pgo_link.txt
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/pythoncore_pgo_link.txt Sat May 27 17:41:31 2006
@@ -0,0 +1,311 @@
+/OUT:".\pythoncore_pgo/python25.dll" /INCREMENTAL:NO /DLL /MANIFEST /MANIFESTFILE:".\x86-temp-release\pythoncore_pgo\python25.dll.intermediate.manifest" /NODEFAULTLIB:"libc" /DEBUG /PDB:".\pythoncore_pgo/python25.pdb" /SUBSYSTEM:WINDOWS /LTCG:PGINSTRUMENT /PGD:"c:\pydev\PCbuild\pythoncore_pgo\python25.pgd" /BASE:"0x1e000000" /IMPLIB:"pythoncore_pgo/python25.lib" /MACHINE:X86 getbuildinfo.o kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
+
+".\x86-temp-release\pythoncore_pgo\adler32.obj"
+
+".\x86-temp-release\pythoncore_pgo\compress.obj"
+
+".\x86-temp-release\pythoncore_pgo\crc32.obj"
+
+".\x86-temp-release\pythoncore_pgo\deflate.obj"
+
+".\x86-temp-release\pythoncore_pgo\gzio.obj"
+
+".\x86-temp-release\pythoncore_pgo\infback.obj"
+
+".\x86-temp-release\pythoncore_pgo\inffast.obj"
+
+".\x86-temp-release\pythoncore_pgo\inflate.obj"
+
+".\x86-temp-release\pythoncore_pgo\inftrees.obj"
+
+".\x86-temp-release\pythoncore_pgo\trees.obj"
+
+".\x86-temp-release\pythoncore_pgo\uncompr.obj"
+
+".\x86-temp-release\pythoncore_pgo\zlibmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\zutil.obj"
+
+".\x86-temp-release\pythoncore_pgo\_bisectmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\_codecs_cn.obj"
+
+".\x86-temp-release\pythoncore_pgo\_codecs_hk.obj"
+
+".\x86-temp-release\pythoncore_pgo\_codecs_iso2022.obj"
+
+".\x86-temp-release\pythoncore_pgo\_codecs_jp.obj"
+
+".\x86-temp-release\pythoncore_pgo\_codecs_kr.obj"
+
+".\x86-temp-release\pythoncore_pgo\_codecs_tw.obj"
+
+".\x86-temp-release\pythoncore_pgo\_codecsmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\_csv.obj"
+
+".\x86-temp-release\pythoncore_pgo\_heapqmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\_hotshot.obj"
+
+".\x86-temp-release\pythoncore_pgo\_localemodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\_lsprof.obj"
+
+".\x86-temp-release\pythoncore_pgo\_randommodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\_sre.obj"
+
+".\x86-temp-release\pythoncore_pgo\_struct.obj"
+
+".\x86-temp-release\pythoncore_pgo\_subprocess.obj"
+
+".\x86-temp-release\pythoncore_pgo\_weakref.obj"
+
+".\x86-temp-release\pythoncore_pgo\_winreg.obj"
+
+".\x86-temp-release\pythoncore_pgo\abstract.obj"
+
+".\x86-temp-release\pythoncore_pgo\acceler.obj"
+
+".\x86-temp-release\pythoncore_pgo\arraymodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\asdl.obj"
+
+".\x86-temp-release\pythoncore_pgo\ast.obj"
+
+".\x86-temp-release\pythoncore_pgo\audioop.obj"
+
+".\x86-temp-release\pythoncore_pgo\binascii.obj"
+
+".\x86-temp-release\pythoncore_pgo\bitset.obj"
+
+".\x86-temp-release\pythoncore_pgo\bltinmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\boolobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\bufferobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\cellobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\ceval.obj"
+
+".\x86-temp-release\pythoncore_pgo\classobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\cmathmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\cobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\codecs.obj"
+
+".\x86-temp-release\pythoncore_pgo\codeobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\collectionsmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\compile.obj"
+
+".\x86-temp-release\pythoncore_pgo\complexobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\config.obj"
+
+".\x86-temp-release\pythoncore_pgo\cPickle.obj"
+
+".\x86-temp-release\pythoncore_pgo\cStringIO.obj"
+
+".\x86-temp-release\pythoncore_pgo\datetimemodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\descrobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\dictobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\dl_nt.obj"
+
+".\x86-temp-release\pythoncore_pgo\dynload_win.obj"
+
+".\x86-temp-release\pythoncore_pgo\enumobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\errnomodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\errors.obj"
+
+".\x86-temp-release\pythoncore_pgo\exceptions.obj"
+
+".\x86-temp-release\pythoncore_pgo\fileobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\firstsets.obj"
+
+".\x86-temp-release\pythoncore_pgo\floatobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\frameobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\frozen.obj"
+
+".\x86-temp-release\pythoncore_pgo\funcobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\functionalmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\future.obj"
+
+".\x86-temp-release\pythoncore_pgo\gcmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\genobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\getargs.obj"
+
+".\x86-temp-release\pythoncore_pgo\getcompiler.obj"
+
+".\x86-temp-release\pythoncore_pgo\getcopyright.obj"
+
+".\x86-temp-release\pythoncore_pgo\getmtime.obj"
+
+".\x86-temp-release\pythoncore_pgo\getopt.obj"
+
+".\x86-temp-release\pythoncore_pgo\getpathp.obj"
+
+".\x86-temp-release\pythoncore_pgo\getplatform.obj"
+
+".\x86-temp-release\pythoncore_pgo\getversion.obj"
+
+".\x86-temp-release\pythoncore_pgo\graminit.obj"
+
+".\x86-temp-release\pythoncore_pgo\grammar.obj"
+
+".\x86-temp-release\pythoncore_pgo\grammar1.obj"
+
+".\x86-temp-release\pythoncore_pgo\imageop.obj"
+
+".\x86-temp-release\pythoncore_pgo\import.obj"
+
+".\x86-temp-release\pythoncore_pgo\import_nt.obj"
+
+".\x86-temp-release\pythoncore_pgo\importdl.obj"
+
+".\x86-temp-release\pythoncore_pgo\intobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\iterobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\itertoolsmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\listnode.obj"
+
+".\x86-temp-release\pythoncore_pgo\listobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\longobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\main.obj"
+
+".\x86-temp-release\pythoncore_pgo\marshal.obj"
+
+".\x86-temp-release\pythoncore_pgo\mathmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\md5.obj"
+
+".\x86-temp-release\pythoncore_pgo\md5module.obj"
+
+".\x86-temp-release\pythoncore_pgo\metagrammar.obj"
+
+".\x86-temp-release\pythoncore_pgo\methodobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\mmapmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\modsupport.obj"
+
+".\x86-temp-release\pythoncore_pgo\moduleobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\msvcrtmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\multibytecodec.obj"
+
+".\x86-temp-release\pythoncore_pgo\myreadline.obj"
+
+".\x86-temp-release\pythoncore_pgo\mysnprintf.obj"
+
+".\x86-temp-release\pythoncore_pgo\mystrtoul.obj"
+
+".\x86-temp-release\pythoncore_pgo\node.obj"
+
+".\x86-temp-release\pythoncore_pgo\object.obj"
+
+".\x86-temp-release\pythoncore_pgo\obmalloc.obj"
+
+".\x86-temp-release\pythoncore_pgo\operator.obj"
+
+".\x86-temp-release\pythoncore_pgo\parser.obj"
+
+".\x86-temp-release\pythoncore_pgo\parsermodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\parsetok.obj"
+
+".\x86-temp-release\pythoncore_pgo\posixmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\pyarena.obj"
+
+".\x86-temp-release\pythoncore_pgo\pyfpe.obj"
+
+".\x86-temp-release\pythoncore_pgo\pystate.obj"
+
+".\x86-temp-release\pythoncore_pgo\pystrtod.obj"
+
+".\x86-temp-release\pythoncore_pgo\Python-ast.obj"
+
+".\x86-temp-release\pythoncore_pgo\python_nt.res"
+
+".\x86-temp-release\pythoncore_pgo\pythonrun.obj"
+
+".\x86-temp-release\pythoncore_pgo\rangeobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\rgbimgmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\rotatingtree.obj"
+
+".\x86-temp-release\pythoncore_pgo\setobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\sha256module.obj"
+
+".\x86-temp-release\pythoncore_pgo\sha512module.obj"
+
+".\x86-temp-release\pythoncore_pgo\shamodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\signalmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\sliceobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\stringobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\stropmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\structmember.obj"
+
+".\x86-temp-release\pythoncore_pgo\structseq.obj"
+
+".\x86-temp-release\pythoncore_pgo\symtable.obj"
+
+".\x86-temp-release\pythoncore_pgo\symtablemodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\sysmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\thread.obj"
+
+".\x86-temp-release\pythoncore_pgo\threadmodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\timemodule.obj"
+
+".\x86-temp-release\pythoncore_pgo\tokenizer.obj"
+
+".\x86-temp-release\pythoncore_pgo\traceback.obj"
+
+".\x86-temp-release\pythoncore_pgo\tupleobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\typeobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\unicodectype.obj"
+
+".\x86-temp-release\pythoncore_pgo\unicodeobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\weakrefobject.obj"
+
+".\x86-temp-release\pythoncore_pgo\xxsubtype.obj"
+
+".\x86-temp-release\pythoncore_pgo\yuvconvert.obj"
+
+".\x86-temp-release\pythoncore_pgo\zipimport.obj"
Added: python/trunk/PCbuild8/pythonw.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/pythonw.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="pythonw"
+ ProjectGUID="{F4229CC3-873C-49AE-9729-DD308ED4CD4A}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\pythonw"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="./pythonw_d.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./pythonw_d.pdb"
+ SubSystem="2"
+ StackReserveSize="2000000"
+ BaseAddress="0x1d000000"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\pythonw"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\./pythonw.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./pythonw.pdb"
+ SubSystem="2"
+ StackReserveSize="2000000"
+ BaseAddress="0x1d000000"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\ia64-temp-release\pythonw"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ OutputFile=".\./pythonw.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./pythonw.pdb"
+ SubSystem="2"
+ StackReserveSize="2000000"
+ BaseAddress="0x1d000000"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\pythonw"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ OutputFile=".\./pythonw.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./pythonw.pdb"
+ SubSystem="2"
+ StackReserveSize="2000000"
+ BaseAddress="0x1d000000"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\PC\python_exe.rc"
+ >
+ </File>
+ <File
+ RelativePath="..\PC\WinMain.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/readme.txt
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/readme.txt Sat May 27 17:41:31 2006
@@ -0,0 +1,423 @@
+Building Python using VC++ 8.0
+-------------------------------------
+This directory is used to build Python for Win32 platforms, e.g. Windows
+95, 98 and NT. It requires Microsoft Visual C++ 8.0
+(a.k.a. Visual Studio 2005).
+(For other Windows platforms and compilers, see ../PC/readme.txt.)
+
+All you need to do is open the workspace "pcbuild.sln" in MSVC++, select
+the Debug or Release setting (using "Solution Configuration" from
+the "Standard" toolbar"), and build the projects.
+
+The proper order to build subprojects:
+
+1) pythoncore (this builds the main Python DLL and library files,
+ python25.{dll, lib} in Release mode)
+ NOTE: in previous releases, this subproject was
+ named after the release number, e.g. python20.
+
+2) python (this builds the main Python executable,
+ python.exe in Release mode)
+
+3) the other subprojects, as desired or needed (note: you probably don't
+ want to build most of the other subprojects, unless you're building an
+ entire Python distribution from scratch, or specifically making changes
+ to the subsystems they implement, or are running a Python core buildbot
+ test slave; see SUBPROJECTS below)
+
+When using the Debug setting, the output files have a _d added to
+their name: python25_d.dll, python_d.exe, parser_d.pyd, and so on.
+
+SUBPROJECTS
+-----------
+These subprojects should build out of the box. Subprojects other than the
+main ones (pythoncore, python, pythonw) generally build a DLL (renamed to
+.pyd) from a specific module so that users don't have to load the code
+supporting that module unless they import the module.
+
+pythoncore
+ .dll and .lib
+pythoncore_pgo
+ .dll and .lib, a variant of pythoncore that is optimized through a
+ Profile Guided Optimization (PGO), employing pybench as the profile
+ case to optimize for. The results are produced as a python25.{dll,lib}
+ in the subfolder 'pythoncore_pgo'. To use this instead of the
+ standard Python dll place this dll with the python.exe.
+python
+ .exe
+pythonw
+ pythonw.exe, a variant of python.exe that doesn't pop up a DOS box
+_socket
+ socketmodule.c
+_testcapi
+ tests of the Python C API, run via Lib/test/test_capi.py, and
+ implemented by module Modules/_testcapimodule.c
+pyexpat
+ Python wrapper for accelerated XML parsing, which incorporates stable
+ code from the Expat project: http://sourceforge.net/projects/expat/
+select
+ selectmodule.c
+unicodedata
+ large tables of Unicode data
+winsound
+ play sounds (typically .wav files) under Windows
+
+The following subprojects will generally NOT build out of the box. They
+wrap code Python doesn't control, and you'll need to download the base
+packages first and unpack them into siblings of PCbuilds's parent
+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 building
+ Tcl/Tk first. Following are instructions for Tcl/Tk 8.4.12.
+
+ Get source
+ ----------
+ 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.12\win
+ nmake -f makefile.vc
+ nmake -f makefile.vc INSTALLDIR=..\..\tcltk install
+
+ XXX Should we compile with OPTS=threads?
+
+ Optional: run tests, via
+ nmake -f makefile.vc test
+
+ On WinXP Pro, wholly up to date as of 30-Aug-2004:
+ all.tcl: Total 10678 Passed 9969 Skipped 709 Failed 0
+ Sourced 129 Test Files.
+
+ Build Tk
+ --------
+ 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?
+
+ 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?
+
+ Optional: run tests, via
+ 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
+ Sourced 91 Test Files.
+ Files with failing tests: canvImg.test scrollbar.test textWind.test winWm.test
+
+ Built Tix
+ ---------
+ 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
+ http://sources.redhat.com/bzip2/
+ Download the source from the python.org copy into the dist
+ directory:
+
+ svn export http://svn.python.org/projects/external/bzip2-1.0.3
+
+ A custom pre-link step in the bz2 project settings should manage to
+ build bzip2-1.0.3\libbz2.lib by magic before bz2.pyd (or bz2_d.pyd) is
+ linked in PCbuild\.
+ However, the bz2 project is not smart enough to remove anything under
+ bzip2-1.0.3\ when you do a clean, so if you want to rebuild bzip2.lib
+ you need to clean up bzip2-1.0.3\ by hand.
+
+ The build step shouldn't yield any warnings or errors, and should end
+ by displaying 6 blocks each terminated with
+ FC: no differences encountered
+
+ All of this managed to build bzip2-1.0.3\libbz2.lib, which the Python
+ project links in.
+
+
+_bsddb
+ To use the version of bsddb that Python is built with by default, invoke
+ (in the dist directory)
+
+ svn export http://svn.python.org/projects/external/db-4.4.20
+
+
+ Then open a VS.NET 2003 shell, and invoke:
+
+ devenv db-4.4.20\build_win32\Berkeley_DB.sln /build Release /project db_static
+
+ and do that a second time for a Debug build too:
+
+ devenv db-4.4.20\build_win32\Berkeley_DB.sln /build Debug /project db_static
+
+ Alternatively, if you want to start with the original sources,
+ go to Sleepycat's download page:
+ http://www.sleepycat.com/downloads/releasehistorybdb.html
+
+ and download version 4.4.20.
+
+ With or without strong cryptography? You can choose either with or
+ without strong cryptography, as per the instructions below. By
+ default, Python is built and distributed WITHOUT strong crypto.
+
+ Unpack the sources; if you downloaded the non-crypto version, rename
+ the directory from db-4.4.20.NC to db-4.4.20.
+
+ Now apply any patches that apply to your version.
+
+ Open
+ dist\db-4.4.20\docs\index.html
+
+ and follow the "Windows->Building Berkeley DB with Visual C++ .NET"
+ instructions for building the Sleepycat
+ software. Note that Berkeley_DB.dsw is in the build_win32 subdirectory.
+ Build the "db_static" project, for "Release" mode.
+
+ To run extensive tests, pass "-u bsddb" to regrtest.py. test_bsddb3.py
+ is then enabled. Running in verbose mode may be helpful.
+
+ XXX The test_bsddb3 tests don't always pass, on Windows (according to
+ XXX me) or on Linux (according to Barry). (I had much better luck
+ XXX on Win2K than on Win98SE.) The common failure mode across platforms
+ XXX is
+ XXX DBAgainError: (11, 'Resource temporarily unavailable -- unable
+ XXX to join the environment')
+ XXX
+ XXX and it appears timing-dependent. On Win2K I also saw this once:
+ XXX
+ XXX test02_SimpleLocks (bsddb.test.test_thread.HashSimpleThreaded) ...
+ XXX Exception in thread reader 1:
+ XXX Traceback (most recent call last):
+ XXX File "C:\Code\python\lib\threading.py", line 411, in __bootstrap
+ XXX self.run()
+ XXX File "C:\Code\python\lib\threading.py", line 399, in run
+ XXX apply(self.__target, self.__args, self.__kwargs)
+ XXX File "C:\Code\python\lib\bsddb\test\test_thread.py", line 268, in
+ XXX readerThread
+ XXX rec = c.next()
+ XXX DBLockDeadlockError: (-30996, 'DB_LOCK_DEADLOCK: Locker killed
+ XXX to resolve a deadlock')
+ XXX
+ XXX I'm told that DBLockDeadlockError is expected at times. It
+ XXX doesn't cause a test to fail when it happens (exceptions in
+ XXX threads are invisible to unittest).
+
+ Building for Win64:
+ - open a VS.NET 2003 command prompt
+ - run the SDK setenv.cmd script, passing /RETAIL and the target
+ architecture (/SRV64 for Itanium, /X64 for AMD64)
+ - build BerkeleyDB with the solution configuration matching the
+ 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 source code through
+
+ 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.
+
+ You must also install ActivePerl from
+ http://www.activestate.com/Products/ActivePerl/
+ as this is used by the OpenSSL build process. Complain to them <wink>.
+
+ The MSVC project simply invokes PCBuild/build_ssl.py to perform
+ the build. This Python script locates and builds your OpenSSL
+ installation, then invokes a simple makefile to build the final .pyd.
+
+ build_ssl.py attempts to catch the most common errors (such as not
+ being able to find OpenSSL sources, or not being able to find a Perl
+ that works with OpenSSL) and give a reasonable error message.
+ If you have a problem that doesn't seem to be handled correctly
+ (eg, you know you have ActivePerl but we can't find it), please take
+ a peek at build_ssl.py and suggest patches. Note that build_ssl.py
+ should be able to be run directly from the command-line.
+
+ build_ssl.py/MSVC isn't clever enough to clean OpenSSL - you must do
+ this by hand.
+
+Building for Itanium
+--------------------
+
+The project files support a ReleaseItanium configuration which creates
+Win64/Itanium binaries. For this to work, you need to install the Platform
+SDK, in particular the 64-bit support. This includes an Itanium compiler
+(future releases of the SDK likely include an AMD64 compiler as well).
+In addition, you need the Visual Studio plugin for external C compilers,
+from http://sf.net/projects/vsextcomp. The plugin will wrap cl.exe, to
+locate the proper target compiler, and convert compiler options
+accordingly. The project files require atleast version 0.8.
+
+Building for AMD64
+------------------
+
+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…
+ * The .NET 1.1 SDK
+ from http://www.microsoft.com/downloads/details.aspx?FamilyID=9b3a2ca6-3647-4070…
+
+ [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
+with easy-to-follow instructions in ../PC/example/; read the file
+readme.txt there first.
Added: python/trunk/PCbuild8/rmpyc.py
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/rmpyc.py Sat May 27 17:41:31 2006
@@ -0,0 +1,25 @@
+# Remove all the .pyc and .pyo files under ../Lib.
+
+
+def deltree(root):
+ import os
+ from os.path import join
+
+ npyc = npyo = 0
+ for root, dirs, files in os.walk(root):
+ for name in files:
+ delete = False
+ if name.endswith('.pyc'):
+ delete = True
+ npyc += 1
+ elif name.endswith('.pyo'):
+ delete = True
+ npyo += 1
+
+ if delete:
+ os.remove(join(root, name))
+
+ return npyc, npyo
+
+npyc, npyo = deltree("../Lib")
+print npyc, ".pyc deleted,", npyo, ".pyo deleted"
Added: python/trunk/PCbuild8/rt.bat
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/rt.bat Sat May 27 17:41:31 2006
@@ -0,0 +1,52 @@
+@echo off
+rem Run Tests. Run the regression test suite.
+rem Usage: rt [-d] [-O] [-q] regrtest_args
+rem -d Run Debug build (python_d.exe). Else release build.
+rem -O Run python.exe or python_d.exe (see -d) with -O.
+rem -q "quick" -- normally the tests are run twice, the first time
+rem after deleting all the .py[co] files reachable from Lib/.
+rem -q runs the tests just once, and without deleting .py[co] files.
+rem All leading instances of these switches are shifted off, and
+rem whatever remains is passed to regrtest.py. For example,
+rem rt -O -d -x test_thread
+rem runs
+rem python_d -O ../lib/test/regrtest.py -x test_thread
+rem twice, and
+rem rt -q -g test_binascii
+rem runs
+rem python_d ../lib/test/regrtest.py -g test_binascii
+rem to generate the expected-output file for binascii quickly.
+rem
+rem Confusing: if you want to pass a comma-separated list, like
+rem -u network,largefile
+rem then you have to quote it on the rt line, like
+rem rt -u "network,largefile"
+
+setlocal
+
+set exe=python
+set qmode=
+set dashO=
+PATH %PATH%;..\..\tcltk\bin
+
+:CheckOpts
+if "%1"=="-O" (set dashO=-O) & shift & goto CheckOpts
+if "%1"=="-q" (set qmode=yes) & shift & goto CheckOpts
+if "%1"=="-d" (set exe=python_d) & shift & goto CheckOpts
+
+set cmd=%exe% %dashO% -E -tt ../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9
+if defined qmode goto Qmode
+
+echo Deleting .pyc/.pyo files ...
+%exe% rmpyc.py
+
+echo on
+%cmd%
+@echo off
+
+echo About to run again without deleting .pyc/.pyo first:
+pause
+
+:Qmode
+echo on
+%cmd%
Added: python/trunk/PCbuild8/select.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/select.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="select"
+ ProjectGUID="{97239A56-DBC0-41D2-BC14-C87D9B97D63B}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\select"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wsock32.lib"
+ OutputFile="./select.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./select.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D110000"
+ ImportLibrary=".\./select.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\select"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wsock32.lib"
+ OutputFile="./select_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc,msvcrt"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./select_d.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D110000"
+ ImportLibrary=".\./select_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\ia64-temp-release\select"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ AdditionalDependencies="wsock32.lib"
+ OutputFile="./select.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./select.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D110000"
+ ImportLibrary=".\./select.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\select"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="wsock32.lib"
+ OutputFile="./select.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./select.pdb"
+ SubSystem="2"
+ BaseAddress="0x1D110000"
+ ImportLibrary=".\./select.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\selectmodule.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/unicodedata.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/unicodedata.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,371 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="unicodedata"
+ ProjectGUID="{FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\unicodedata"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MMAP_EXPORTS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="./unicodedata.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./unicodedata.pdb"
+ BaseAddress="0x1D120000"
+ ImportLibrary=".\./unicodedata.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\unicodedata"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MMAP_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="./unicodedata_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./unicodedata_d.pdb"
+ BaseAddress="0x1D120000"
+ ImportLibrary=".\./unicodedata_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\ia64-temp-release\unicodedata"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MMAP_EXPORTS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ OutputFile="./unicodedata.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./unicodedata.pdb"
+ BaseAddress="0x1D120000"
+ ImportLibrary=".\./unicodedata.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\unicodedata"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON /GS-"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MMAP_EXPORTS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ OutputFile="./unicodedata.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./unicodedata.pdb"
+ BaseAddress="0x1D120000"
+ ImportLibrary=".\./unicodedata.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Modules\unicodedata.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/w9xpopen.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/w9xpopen.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="w9xpopen"
+ ProjectGUID="{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\w9xpopen"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="./w9xpopen_d.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./w9xpopen_d.pdb"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\w9xpopen"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\./w9xpopen.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./w9xpopen.pdb"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\PC\w9xpopen.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: python/trunk/PCbuild8/winsound.vcproj
==============================================================================
--- (empty file)
+++ python/trunk/PCbuild8/winsound.vcproj Sat May 27 17:41:31 2006
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="winsound"
+ ProjectGUID="{51F35FAE-FB92-4B2C-9187-1542C065AD77}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-debug\winsound"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;WINSOUND_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="winmm.lib"
+ OutputFile="./winsound_d.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\./winsound_d.pdb"
+ BaseAddress="0x1D160000"
+ ImportLibrary=".\./winsound_d.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\x86-temp-release\winsound"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;WINSOUND_EXPORTS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="winmm.lib"
+ OutputFile="./winsound.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./winsound.pdb"
+ BaseAddress="0x1D160000"
+ ImportLibrary=".\./winsound.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseItanium|Win32"
+ OutputDirectory=".\."
+ IntermediateDirectory=".\ia64-temp-release\winsound"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_ITANIUM"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;WINSOUND_EXPORTS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
+ AdditionalDependencies="winmm.lib"
+ OutputFile="./winsound.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./winsound.pdb"
+ BaseAddress="0x1D160000"
+ ImportLibrary=".\./winsound.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="ReleaseAMD64|Win32"
+ OutputDirectory="."
+ IntermediateDirectory="amd64-temp-release\winsound"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions=" /USECL:MS_OPTERON /GS-"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\Include,..\PC"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;WINSOUND_EXPORTS"
+ StringPooling="true"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
+ AdditionalDependencies="winmm.lib"
+ OutputFile="./winsound.pyd"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\./winsound.pdb"
+ BaseAddress="0x1D160000"
+ ImportLibrary=".\./winsound.lib"
+ TargetMachine="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\PC\winsound.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
3
2
r46144 - in python/trunk: Lib/struct.py Modules/_struct.c Modules/structmodule.c
by bob.ippolito 03 Jun '06
by bob.ippolito 03 Jun '06
03 Jun '06
Author: bob.ippolito
Date: Tue May 23 21:12:41 2006
New Revision: 46144
Added:
python/trunk/Lib/struct.py (contents, props changed)
python/trunk/Modules/_struct.c (contents, props changed)
Removed:
python/trunk/Modules/structmodule.c
Log:
patch #1493701: performance enhancements for struct module
Added: python/trunk/Lib/struct.py
==============================================================================
--- (empty file)
+++ python/trunk/Lib/struct.py Tue May 23 21:12:41 2006
@@ -0,0 +1,76 @@
+"""
+Functions to convert between Python values and C structs.
+Python strings are used to hold the data representing the C struct
+and also as format strings to describe the layout of data in the C struct.
+
+The optional first format char indicates byte order, size and alignment:
+ @: native order, size & alignment (default)
+ =: native order, std. size & alignment
+ <: little-endian, std. size & alignment
+ >: big-endian, std. size & alignment
+ !: same as >
+
+The remaining chars indicate types of args and must match exactly;
+these can be preceded by a decimal repeat count:
+ x: pad byte (no data); c:char; b:signed byte; B:unsigned byte;
+ h:short; H:unsigned short; i:int; I:unsigned int;
+ l:long; L:unsigned long; f:float; d:double.
+Special cases (preceding decimal count indicates length):
+ s:string (array of char); p: pascal string (with count byte).
+Special case (only available in native format):
+ P:an integer type that is wide enough to hold a pointer.
+Special case (not in native mode unless 'long long' in platform C):
+ q:long long; Q:unsigned long long
+Whitespace between formats is ignored.
+
+The variable struct.error is an exception raised on errors.
+"""
+__version__ = '0.1'
+
+from _struct import Struct, error
+
+_MAXCACHE = 100
+_cache = {}
+
+def _compile(fmt):
+ # Internal: compile struct pattern
+ if len(_cache) >= _MAXCACHE:
+ _cache.clear()
+ s = Struct(fmt)
+ _cache[fmt] = s
+ return s
+
+def calcsize(fmt):
+ """
+ Return size of C struct described by format string fmt.
+ See struct.__doc__ for more on format strings.
+ """
+ try:
+ o = _cache[fmt]
+ except KeyError:
+ o = _compile(fmt)
+ return o.size
+
+def pack(fmt, *args):
+ """
+ Return string containing values v1, v2, ... packed according to fmt.
+ See struct.__doc__ for more on format strings.
+ """
+ try:
+ o = _cache[fmt]
+ except KeyError:
+ o = _compile(fmt)
+ return o.pack(*args)
+
+def unpack(fmt, s):
+ """
+ Unpack the string, containing packed C structure data, according
+ to fmt. Requires len(string)==calcsize(fmt).
+ See struct.__doc__ for more on format strings.
+ """
+ try:
+ o = _cache[fmt]
+ except KeyError:
+ o = _compile(fmt)
+ return o.unpack(s)
+
Added: python/trunk/Modules/_struct.c
==============================================================================
--- (empty file)
+++ python/trunk/Modules/_struct.c Tue May 23 21:12:41 2006
@@ -0,0 +1,1355 @@
+/* struct module -- pack values into and (out of) strings */
+
+/* New version supporting byte order, alignment and size options,
+ character strings, and unsigned numbers */
+
+#include "Python.h"
+#include "structseq.h"
+#include "structmember.h"
+#include <ctype.h>
+
+
+/* compatibility macros */
+#if (PY_VERSION_HEX < 0x02050000)
+typedef int Py_ssize_t;
+#endif
+
+
+
+/* The translation function for each format character is table driven */
+
+typedef struct _formatdef {
+ char format;
+ int size;
+ int alignment;
+ PyObject* (*unpack)(const char *,
+ const struct _formatdef *);
+ int (*pack)(char *, PyObject *,
+ const struct _formatdef *);
+} formatdef;
+
+typedef struct _formatcode {
+ const struct _formatdef *fmtdef;
+ int offset;
+ int repeat;
+} formatcode;
+
+/* Struct object interface */
+
+typedef struct {
+ PyObject_HEAD
+ int s_size;
+ int s_len;
+ formatcode *s_codes;
+ PyObject *s_format;
+ PyObject *weakreflist; /* List of weak references */
+} PyStructObject;
+
+PyAPI_DATA(PyTypeObject) PyStruct_Type;
+
+#define PyStruct_Check(op) PyObject_TypeCheck(op, &PyStruct_Type)
+#define PyStruct_CheckExact(op) ((op)->ob_type == &PyStruct_Type)
+
+
+/* Exception */
+
+static PyObject *StructError;
+
+
+/* Define various structs to figure out the alignments of types */
+
+
+typedef struct { char c; short x; } st_short;
+typedef struct { char c; int x; } st_int;
+typedef struct { char c; long x; } st_long;
+typedef struct { char c; float x; } st_float;
+typedef struct { char c; double x; } st_double;
+typedef struct { char c; void *x; } st_void_p;
+
+#define SHORT_ALIGN (sizeof(st_short) - sizeof(short))
+#define INT_ALIGN (sizeof(st_int) - sizeof(int))
+#define LONG_ALIGN (sizeof(st_long) - sizeof(long))
+#define FLOAT_ALIGN (sizeof(st_float) - sizeof(float))
+#define DOUBLE_ALIGN (sizeof(st_double) - sizeof(double))
+#define VOID_P_ALIGN (sizeof(st_void_p) - sizeof(void *))
+
+/* We can't support q and Q in native mode unless the compiler does;
+ in std mode, they're 8 bytes on all platforms. */
+#ifdef HAVE_LONG_LONG
+typedef struct { char c; PY_LONG_LONG x; } s_long_long;
+#define LONG_LONG_ALIGN (sizeof(s_long_long) - sizeof(PY_LONG_LONG))
+#endif
+
+#define STRINGIFY(x) #x
+
+#ifdef __powerc
+#pragma options align=reset
+#endif
+
+/* Helper to get a PyLongObject by hook or by crook. Caller should decref. */
+
+static PyObject *
+get_pylong(PyObject *v)
+{
+ PyNumberMethods *m;
+
+ assert(v != NULL);
+ if (PyInt_Check(v))
+ return PyLong_FromLong(PyInt_AS_LONG(v));
+ if (PyLong_Check(v)) {
+ Py_INCREF(v);
+ return v;
+ }
+ m = v->ob_type->tp_as_number;
+ if (m != NULL && m->nb_long != NULL) {
+ v = m->nb_long(v);
+ if (v == NULL)
+ return NULL;
+ if (PyLong_Check(v))
+ return v;
+ Py_DECREF(v);
+ }
+ PyErr_SetString(StructError,
+ "cannot convert argument to long");
+ return NULL;
+}
+
+/* Helper routine to get a Python integer and raise the appropriate error
+ if it isn't one */
+
+static int
+get_long(PyObject *v, long *p)
+{
+ long x = PyInt_AsLong(v);
+ if (x == -1 && PyErr_Occurred()) {
+ if (PyErr_ExceptionMatches(PyExc_TypeError))
+ PyErr_SetString(StructError,
+ "required argument is not an integer");
+ return -1;
+ }
+ *p = x;
+ return 0;
+}
+
+
+/* Same, but handling unsigned long */
+
+static int
+get_ulong(PyObject *v, unsigned long *p)
+{
+ if (PyLong_Check(v)) {
+ unsigned long x = PyLong_AsUnsignedLong(v);
+ if (x == (unsigned long)(-1) && PyErr_Occurred())
+ return -1;
+ *p = x;
+ return 0;
+ }
+ else {
+ return get_long(v, (long *)p);
+ }
+}
+
+#ifdef HAVE_LONG_LONG
+
+/* Same, but handling native long long. */
+
+static int
+get_longlong(PyObject *v, PY_LONG_LONG *p)
+{
+ PY_LONG_LONG x;
+
+ v = get_pylong(v);
+ if (v == NULL)
+ return -1;
+ assert(PyLong_Check(v));
+ x = PyLong_AsLongLong(v);
+ Py_DECREF(v);
+ if (x == (PY_LONG_LONG)-1 && PyErr_Occurred())
+ return -1;
+ *p = x;
+ return 0;
+}
+
+/* Same, but handling native unsigned long long. */
+
+static int
+get_ulonglong(PyObject *v, unsigned PY_LONG_LONG *p)
+{
+ unsigned PY_LONG_LONG x;
+
+ v = get_pylong(v);
+ if (v == NULL)
+ return -1;
+ assert(PyLong_Check(v));
+ x = PyLong_AsUnsignedLongLong(v);
+ Py_DECREF(v);
+ if (x == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())
+ return -1;
+ *p = x;
+ return 0;
+}
+
+#endif
+
+/* Floating point helpers */
+
+static PyObject *
+unpack_float(const char *p, /* start of 4-byte string */
+ int le) /* true for little-endian, false for big-endian */
+{
+ double x;
+
+ x = _PyFloat_Unpack4((unsigned char *)p, le);
+ if (x == -1.0 && PyErr_Occurred())
+ return NULL;
+ return PyFloat_FromDouble(x);
+}
+
+static PyObject *
+unpack_double(const char *p, /* start of 8-byte string */
+ int le) /* true for little-endian, false for big-endian */
+{
+ double x;
+
+ x = _PyFloat_Unpack8((unsigned char *)p, le);
+ if (x == -1.0 && PyErr_Occurred())
+ return NULL;
+ return PyFloat_FromDouble(x);
+}
+
+
+/* A large number of small routines follow, with names of the form
+
+ [bln][up]_TYPE
+
+ [bln] distiguishes among big-endian, little-endian and native.
+ [pu] distiguishes between pack (to struct) and unpack (from struct).
+ TYPE is one of char, byte, ubyte, etc.
+*/
+
+/* Native mode routines. ****************************************************/
+/* NOTE:
+ In all n[up]_<type> routines handling types larger than 1 byte, there is
+ *no* guarantee that the p pointer is properly aligned for each type,
+ therefore memcpy is called. An intermediate variable is used to
+ compensate for big-endian architectures.
+ Normally both the intermediate variable and the memcpy call will be
+ skipped by C optimisation in little-endian architectures (gcc >= 2.91
+ does this). */
+
+static PyObject *
+nu_char(const char *p, const formatdef *f)
+{
+ return PyString_FromStringAndSize(p, 1);
+}
+
+static PyObject *
+nu_byte(const char *p, const formatdef *f)
+{
+ return PyInt_FromLong((long) *(signed char *)p);
+}
+
+static PyObject *
+nu_ubyte(const char *p, const formatdef *f)
+{
+ return PyInt_FromLong((long) *(unsigned char *)p);
+}
+
+static PyObject *
+nu_short(const char *p, const formatdef *f)
+{
+ short x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyInt_FromLong((long)x);
+}
+
+static PyObject *
+nu_ushort(const char *p, const formatdef *f)
+{
+ unsigned short x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyInt_FromLong((long)x);
+}
+
+static PyObject *
+nu_int(const char *p, const formatdef *f)
+{
+ int x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyInt_FromLong((long)x);
+}
+
+static PyObject *
+nu_uint(const char *p, const formatdef *f)
+{
+ unsigned int x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyLong_FromUnsignedLong((unsigned long)x);
+}
+
+static PyObject *
+nu_long(const char *p, const formatdef *f)
+{
+ long x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyInt_FromLong(x);
+}
+
+static PyObject *
+nu_ulong(const char *p, const formatdef *f)
+{
+ unsigned long x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyLong_FromUnsignedLong(x);
+}
+
+/* Native mode doesn't support q or Q unless the platform C supports
+ long long (or, on Windows, __int64). */
+
+#ifdef HAVE_LONG_LONG
+
+static PyObject *
+nu_longlong(const char *p, const formatdef *f)
+{
+ PY_LONG_LONG x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyLong_FromLongLong(x);
+}
+
+static PyObject *
+nu_ulonglong(const char *p, const formatdef *f)
+{
+ unsigned PY_LONG_LONG x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyLong_FromUnsignedLongLong(x);
+}
+
+#endif
+
+static PyObject *
+nu_float(const char *p, const formatdef *f)
+{
+ float x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyFloat_FromDouble((double)x);
+}
+
+static PyObject *
+nu_double(const char *p, const formatdef *f)
+{
+ double x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyFloat_FromDouble(x);
+}
+
+static PyObject *
+nu_void_p(const char *p, const formatdef *f)
+{
+ void *x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyLong_FromVoidPtr(x);
+}
+
+static int
+np_byte(char *p, PyObject *v, const formatdef *f)
+{
+ long x;
+ if (get_long(v, &x) < 0)
+ return -1;
+ if (x < -128 || x > 127){
+ PyErr_SetString(StructError,
+ "byte format requires -128<=number<=127");
+ return -1;
+ }
+ *p = (char)x;
+ return 0;
+}
+
+static int
+np_ubyte(char *p, PyObject *v, const formatdef *f)
+{
+ long x;
+ if (get_long(v, &x) < 0)
+ return -1;
+ if (x < 0 || x > 255){
+ PyErr_SetString(StructError,
+ "ubyte format requires 0<=number<=255");
+ return -1;
+ }
+ *p = (char)x;
+ return 0;
+}
+
+static int
+np_char(char *p, PyObject *v, const formatdef *f)
+{
+ if (!PyString_Check(v) || PyString_Size(v) != 1) {
+ PyErr_SetString(StructError,
+ "char format require string of length 1");
+ return -1;
+ }
+ *p = *PyString_AsString(v);
+ return 0;
+}
+
+static int
+np_short(char *p, PyObject *v, const formatdef *f)
+{
+ long x;
+ short y;
+ if (get_long(v, &x) < 0)
+ return -1;
+ if (x < SHRT_MIN || x > SHRT_MAX){
+ PyErr_SetString(StructError,
+ "short format requires " STRINGIFY(SHRT_MIN)
+ "<=number<=" STRINGIFY(SHRT_MAX));
+ return -1;
+ }
+ y = (short)x;
+ memcpy(p, (char *)&y, sizeof y);
+ return 0;
+}
+
+static int
+np_ushort(char *p, PyObject *v, const formatdef *f)
+{
+ long x;
+ unsigned short y;
+ if (get_long(v, &x) < 0)
+ return -1;
+ if (x < 0 || x > USHRT_MAX){
+ PyErr_SetString(StructError,
+ "short format requires 0<=number<=" STRINGIFY(USHRT_MAX));
+ return -1;
+ }
+ y = (unsigned short)x;
+ memcpy(p, (char *)&y, sizeof y);
+ return 0;
+}
+
+static int
+np_int(char *p, PyObject *v, const formatdef *f)
+{
+ long x;
+ int y;
+ if (get_long(v, &x) < 0)
+ return -1;
+ y = (int)x;
+ memcpy(p, (char *)&y, sizeof y);
+ return 0;
+}
+
+static int
+np_uint(char *p, PyObject *v, const formatdef *f)
+{
+ unsigned long x;
+ unsigned int y;
+ if (get_ulong(v, &x) < 0)
+ return -1;
+ y = (unsigned int)x;
+ memcpy(p, (char *)&y, sizeof y);
+ return 0;
+}
+
+static int
+np_long(char *p, PyObject *v, const formatdef *f)
+{
+ long x;
+ if (get_long(v, &x) < 0)
+ return -1;
+ memcpy(p, (char *)&x, sizeof x);
+ return 0;
+}
+
+static int
+np_ulong(char *p, PyObject *v, const formatdef *f)
+{
+ unsigned long x;
+ if (get_ulong(v, &x) < 0)
+ return -1;
+ memcpy(p, (char *)&x, sizeof x);
+ return 0;
+}
+
+#ifdef HAVE_LONG_LONG
+
+static int
+np_longlong(char *p, PyObject *v, const formatdef *f)
+{
+ PY_LONG_LONG x;
+ if (get_longlong(v, &x) < 0)
+ return -1;
+ memcpy(p, (char *)&x, sizeof x);
+ return 0;
+}
+
+static int
+np_ulonglong(char *p, PyObject *v, const formatdef *f)
+{
+ unsigned PY_LONG_LONG x;
+ if (get_ulonglong(v, &x) < 0)
+ return -1;
+ memcpy(p, (char *)&x, sizeof x);
+ return 0;
+}
+#endif
+
+static int
+np_float(char *p, PyObject *v, const formatdef *f)
+{
+ float x = (float)PyFloat_AsDouble(v);
+ if (x == -1 && PyErr_Occurred()) {
+ PyErr_SetString(StructError,
+ "required argument is not a float");
+ return -1;
+ }
+ memcpy(p, (char *)&x, sizeof x);
+ return 0;
+}
+
+static int
+np_double(char *p, PyObject *v, const formatdef *f)
+{
+ double x = PyFloat_AsDouble(v);
+ if (x == -1 && PyErr_Occurred()) {
+ PyErr_SetString(StructError,
+ "required argument is not a float");
+ return -1;
+ }
+ memcpy(p, (char *)&x, sizeof(double));
+ return 0;
+}
+
+static int
+np_void_p(char *p, PyObject *v, const formatdef *f)
+{
+ void *x;
+
+ v = get_pylong(v);
+ if (v == NULL)
+ return -1;
+ assert(PyLong_Check(v));
+ x = PyLong_AsVoidPtr(v);
+ Py_DECREF(v);
+ if (x == NULL && PyErr_Occurred())
+ return -1;
+ memcpy(p, (char *)&x, sizeof x);
+ return 0;
+}
+
+static formatdef native_table[] = {
+ {'x', sizeof(char), 0, NULL},
+ {'b', sizeof(char), 0, nu_byte, np_byte},
+ {'B', sizeof(char), 0, nu_ubyte, np_ubyte},
+ {'c', sizeof(char), 0, nu_char, np_char},
+ {'s', sizeof(char), 0, NULL},
+ {'p', sizeof(char), 0, NULL},
+ {'h', sizeof(short), SHORT_ALIGN, nu_short, np_short},
+ {'H', sizeof(short), SHORT_ALIGN, nu_ushort, np_ushort},
+ {'i', sizeof(int), INT_ALIGN, nu_int, np_int},
+ {'I', sizeof(int), INT_ALIGN, nu_uint, np_uint},
+ {'l', sizeof(long), LONG_ALIGN, nu_long, np_long},
+ {'L', sizeof(long), LONG_ALIGN, nu_ulong, np_ulong},
+ {'f', sizeof(float), FLOAT_ALIGN, nu_float, np_float},
+ {'d', sizeof(double), DOUBLE_ALIGN, nu_double, np_double},
+ {'P', sizeof(void *), VOID_P_ALIGN, nu_void_p, np_void_p},
+#ifdef HAVE_LONG_LONG
+ {'q', sizeof(PY_LONG_LONG), LONG_LONG_ALIGN, nu_longlong, np_longlong},
+ {'Q', sizeof(PY_LONG_LONG), LONG_LONG_ALIGN, nu_ulonglong,np_ulonglong},
+#endif
+ {0}
+};
+
+/* Big-endian routines. *****************************************************/
+
+static PyObject *
+bu_int(const char *p, const formatdef *f)
+{
+ long x = 0;
+ int i = f->size;
+ do {
+ x = (x<<8) | (*p++ & 0xFF);
+ } while (--i > 0);
+ /* Extend the sign bit. */
+ if (SIZEOF_LONG > f->size)
+ x |= -(x & (1L << (8*f->size - 1)));
+ return PyInt_FromLong(x);
+}
+
+static PyObject *
+bu_uint(const char *p, const formatdef *f)
+{
+ unsigned long x = 0;
+ int i = f->size;
+ do {
+ x = (x<<8) | (*p++ & 0xFF);
+ } while (--i > 0);
+ if (f->size >= 4)
+ return PyLong_FromUnsignedLong(x);
+ else
+ return PyInt_FromLong((long)x);
+}
+
+static PyObject *
+bu_longlong(const char *p, const formatdef *f)
+{
+ return _PyLong_FromByteArray((const unsigned char *)p,
+ 8,
+ 0, /* little-endian */
+ 1 /* signed */);
+}
+
+static PyObject *
+bu_ulonglong(const char *p, const formatdef *f)
+{
+ return _PyLong_FromByteArray((const unsigned char *)p,
+ 8,
+ 0, /* little-endian */
+ 0 /* signed */);
+}
+
+static PyObject *
+bu_float(const char *p, const formatdef *f)
+{
+ return unpack_float(p, 0);
+}
+
+static PyObject *
+bu_double(const char *p, const formatdef *f)
+{
+ return unpack_double(p, 0);
+}
+
+static int
+bp_int(char *p, PyObject *v, const formatdef *f)
+{
+ long x;
+ int i;
+ if (get_long(v, &x) < 0)
+ return -1;
+ i = f->size;
+ do {
+ p[--i] = (char)x;
+ x >>= 8;
+ } while (i > 0);
+ return 0;
+}
+
+static int
+bp_uint(char *p, PyObject *v, const formatdef *f)
+{
+ unsigned long x;
+ int i;
+ if (get_ulong(v, &x) < 0)
+ return -1;
+ i = f->size;
+ do {
+ p[--i] = (char)x;
+ x >>= 8;
+ } while (i > 0);
+ return 0;
+}
+
+static int
+bp_longlong(char *p, PyObject *v, const formatdef *f)
+{
+ int res;
+ v = get_pylong(v);
+ if (v == NULL)
+ return -1;
+ res = _PyLong_AsByteArray((PyLongObject *)v,
+ (unsigned char *)p,
+ 8,
+ 0, /* little_endian */
+ 1 /* signed */);
+ Py_DECREF(v);
+ return res;
+}
+
+static int
+bp_ulonglong(char *p, PyObject *v, const formatdef *f)
+{
+ int res;
+ v = get_pylong(v);
+ if (v == NULL)
+ return -1;
+ res = _PyLong_AsByteArray((PyLongObject *)v,
+ (unsigned char *)p,
+ 8,
+ 0, /* little_endian */
+ 0 /* signed */);
+ Py_DECREF(v);
+ return res;
+}
+
+static int
+bp_float(char *p, PyObject *v, const formatdef *f)
+{
+ double x = PyFloat_AsDouble(v);
+ if (x == -1 && PyErr_Occurred()) {
+ PyErr_SetString(StructError,
+ "required argument is not a float");
+ return -1;
+ }
+ return _PyFloat_Pack4(x, (unsigned char *)p, 0);
+}
+
+static int
+bp_double(char *p, PyObject *v, const formatdef *f)
+{
+ double x = PyFloat_AsDouble(v);
+ if (x == -1 && PyErr_Occurred()) {
+ PyErr_SetString(StructError,
+ "required argument is not a float");
+ return -1;
+ }
+ return _PyFloat_Pack8(x, (unsigned char *)p, 0);
+}
+
+static formatdef bigendian_table[] = {
+ {'x', 1, 0, NULL},
+ {'b', 1, 0, bu_int, bp_int},
+ {'B', 1, 0, bu_uint, bp_int},
+ {'c', 1, 0, nu_char, np_char},
+ {'s', 1, 0, NULL},
+ {'p', 1, 0, NULL},
+ {'h', 2, 0, bu_int, bp_int},
+ {'H', 2, 0, bu_uint, bp_uint},
+ {'i', 4, 0, bu_int, bp_int},
+ {'I', 4, 0, bu_uint, bp_uint},
+ {'l', 4, 0, bu_int, bp_int},
+ {'L', 4, 0, bu_uint, bp_uint},
+ {'q', 8, 0, bu_longlong, bp_longlong},
+ {'Q', 8, 0, bu_ulonglong, bp_ulonglong},
+ {'f', 4, 0, bu_float, bp_float},
+ {'d', 8, 0, bu_double, bp_double},
+ {0}
+};
+
+/* Little-endian routines. *****************************************************/
+
+static PyObject *
+lu_int(const char *p, const formatdef *f)
+{
+ long x = 0;
+ int i = f->size;
+ do {
+ x = (x<<8) | (p[--i] & 0xFF);
+ } while (i > 0);
+ /* Extend the sign bit. */
+ if (SIZEOF_LONG > f->size)
+ x |= -(x & (1L << (8*f->size - 1)));
+ return PyInt_FromLong(x);
+}
+
+static PyObject *
+lu_uint(const char *p, const formatdef *f)
+{
+ unsigned long x = 0;
+ int i = f->size;
+ do {
+ x = (x<<8) | (p[--i] & 0xFF);
+ } while (i > 0);
+ if (f->size >= 4)
+ return PyLong_FromUnsignedLong(x);
+ else
+ return PyInt_FromLong((long)x);
+}
+
+static PyObject *
+lu_longlong(const char *p, const formatdef *f)
+{
+ return _PyLong_FromByteArray((const unsigned char *)p,
+ 8,
+ 1, /* little-endian */
+ 1 /* signed */);
+}
+
+static PyObject *
+lu_ulonglong(const char *p, const formatdef *f)
+{
+ return _PyLong_FromByteArray((const unsigned char *)p,
+ 8,
+ 1, /* little-endian */
+ 0 /* signed */);
+}
+
+static PyObject *
+lu_float(const char *p, const formatdef *f)
+{
+ return unpack_float(p, 1);
+}
+
+static PyObject *
+lu_double(const char *p, const formatdef *f)
+{
+ return unpack_double(p, 1);
+}
+
+static int
+lp_int(char *p, PyObject *v, const formatdef *f)
+{
+ long x;
+ int i;
+ if (get_long(v, &x) < 0)
+ return -1;
+ i = f->size;
+ do {
+ *p++ = (char)x;
+ x >>= 8;
+ } while (--i > 0);
+ return 0;
+}
+
+static int
+lp_uint(char *p, PyObject *v, const formatdef *f)
+{
+ unsigned long x;
+ int i;
+ if (get_ulong(v, &x) < 0)
+ return -1;
+ i = f->size;
+ do {
+ *p++ = (char)x;
+ x >>= 8;
+ } while (--i > 0);
+ return 0;
+}
+
+static int
+lp_longlong(char *p, PyObject *v, const formatdef *f)
+{
+ int res;
+ v = get_pylong(v);
+ if (v == NULL)
+ return -1;
+ res = _PyLong_AsByteArray((PyLongObject*)v,
+ (unsigned char *)p,
+ 8,
+ 1, /* little_endian */
+ 1 /* signed */);
+ Py_DECREF(v);
+ return res;
+}
+
+static int
+lp_ulonglong(char *p, PyObject *v, const formatdef *f)
+{
+ int res;
+ v = get_pylong(v);
+ if (v == NULL)
+ return -1;
+ res = _PyLong_AsByteArray((PyLongObject*)v,
+ (unsigned char *)p,
+ 8,
+ 1, /* little_endian */
+ 0 /* signed */);
+ Py_DECREF(v);
+ return res;
+}
+
+static int
+lp_float(char *p, PyObject *v, const formatdef *f)
+{
+ double x = PyFloat_AsDouble(v);
+ if (x == -1 && PyErr_Occurred()) {
+ PyErr_SetString(StructError,
+ "required argument is not a float");
+ return -1;
+ }
+ return _PyFloat_Pack4(x, (unsigned char *)p, 1);
+}
+
+static int
+lp_double(char *p, PyObject *v, const formatdef *f)
+{
+ double x = PyFloat_AsDouble(v);
+ if (x == -1 && PyErr_Occurred()) {
+ PyErr_SetString(StructError,
+ "required argument is not a float");
+ return -1;
+ }
+ return _PyFloat_Pack8(x, (unsigned char *)p, 1);
+}
+
+static formatdef lilendian_table[] = {
+ {'x', 1, 0, NULL},
+ {'b', 1, 0, lu_int, lp_int},
+ {'B', 1, 0, lu_uint, lp_int},
+ {'c', 1, 0, nu_char, np_char},
+ {'s', 1, 0, NULL},
+ {'p', 1, 0, NULL},
+ {'h', 2, 0, lu_int, lp_int},
+ {'H', 2, 0, lu_uint, lp_uint},
+ {'i', 4, 0, lu_int, lp_int},
+ {'I', 4, 0, lu_uint, lp_uint},
+ {'l', 4, 0, lu_int, lp_int},
+ {'L', 4, 0, lu_uint, lp_uint},
+ {'q', 8, 0, lu_longlong, lp_longlong},
+ {'Q', 8, 0, lu_ulonglong, lp_ulonglong},
+ {'f', 4, 0, lu_float, lp_float},
+ {'d', 8, 0, lu_double, lp_double},
+ {0}
+};
+
+
+static const formatdef *
+whichtable(char **pfmt)
+{
+ const char *fmt = (*pfmt)++; /* May be backed out of later */
+ switch (*fmt) {
+ case '<':
+ return lilendian_table;
+ case '>':
+ case '!': /* Network byte order is big-endian */
+ return bigendian_table;
+ case '=': { /* Host byte order -- different from native in aligment! */
+ int n = 1;
+ char *p = (char *) &n;
+ if (*p == 1)
+ return lilendian_table;
+ else
+ return bigendian_table;
+ }
+ default:
+ --*pfmt; /* Back out of pointer increment */
+ /* Fall through */
+ case '@':
+ return native_table;
+ }
+}
+
+
+/* Get the table entry for a format code */
+
+static const formatdef *
+getentry(int c, const formatdef *f)
+{
+ for (; f->format != '\0'; f++) {
+ if (f->format == c) {
+ return f;
+ }
+ }
+ PyErr_SetString(StructError, "bad char in struct format");
+ return NULL;
+}
+
+
+/* Align a size according to a format code */
+
+static int
+align(int size, int c, const formatdef *e)
+{
+ if (e->format == c) {
+ if (e->alignment) {
+ size = ((size + e->alignment - 1)
+ / e->alignment)
+ * e->alignment;
+ }
+ }
+ return size;
+}
+
+
+/* calculate the size of a format string */
+
+static int
+prepare_s(PyStructObject *self)
+{
+ const formatdef *f;
+ const formatdef *e;
+ formatcode *codes;
+
+ const char *s;
+ const char *fmt;
+ char c;
+ int size, len, numcodes, num, itemsize, x;
+
+ fmt = PyString_AS_STRING(self->s_format);
+
+ f = whichtable((char **)&fmt);
+
+ s = fmt;
+ size = 0;
+ len = 0;
+ numcodes = 0;
+ while ((c = *s++) != '\0') {
+ if (isspace(Py_CHARMASK(c)))
+ continue;
+ if ('0' <= c && c <= '9') {
+ num = c - '0';
+ while ('0' <= (c = *s++) && c <= '9') {
+ x = num*10 + (c - '0');
+ if (x/10 != num) {
+ PyErr_SetString(
+ StructError,
+ "overflow in item count");
+ return -1;
+ }
+ num = x;
+ }
+ if (c == '\0')
+ break;
+ }
+ else
+ num = 1;
+
+ e = getentry(c, f);
+ if (e == NULL)
+ return -1;
+
+ switch (c) {
+ case 's': /* fall through */
+ case 'p': len++; break;
+ case 'x': break;
+ default: len += num; break;
+ }
+ if (c != 'x') numcodes++;
+
+ itemsize = e->size;
+ size = align(size, c, e);
+ x = num * itemsize;
+ size += x;
+ if (x/itemsize != num || size < 0) {
+ PyErr_SetString(StructError,
+ "total struct size too long");
+ return -1;
+ }
+ }
+
+ self->s_size = size;
+ self->s_len = len;
+ codes = PyMem_MALLOC((numcodes + 1) * sizeof(formatcode));
+ if (codes == NULL) {
+ PyErr_NoMemory();
+ return -1;
+ }
+ self->s_codes = codes;
+
+ s = fmt;
+ size = 0;
+ while ((c = *s++) != '\0') {
+ if (isspace(Py_CHARMASK(c)))
+ continue;
+ if ('0' <= c && c <= '9') {
+ num = c - '0';
+ while ('0' <= (c = *s++) && c <= '9')
+ num = num*10 + (c - '0');
+ if (c == '\0')
+ break;
+ }
+ else
+ num = 1;
+
+ e = getentry(c, f);
+
+ size = align(size, c, e);
+ if (c != 'x') {
+ codes->offset = size;
+ codes->repeat = num;
+ codes->fmtdef = e;
+ codes++;
+ }
+ size += num * e->size;
+ }
+ codes->fmtdef = NULL;
+ codes->offset = -1;
+ codes->repeat = -1;
+
+ return 0;
+}
+
+static PyObject *
+s_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
+{
+ PyObject *self;
+ static PyObject *not_yet_string;
+
+ assert(type != NULL && type->tp_alloc != NULL);
+
+ self = type->tp_alloc(type, 0);
+ if (self != NULL) {
+ PyStructObject *s = (PyStructObject*)self;
+ Py_INCREF(Py_None);
+ s->s_format = Py_None;
+ s->s_codes = NULL;
+ s->s_size = -1;
+ s->s_len = -1;
+ }
+ return self;
+}
+
+static int
+s_init(PyObject *self, PyObject *args, PyObject *kwds)
+{
+ PyStructObject *soself = (PyStructObject *)self;
+ PyObject *o_format = NULL;
+ int ret = 0;
+ static char *kwlist[] = {"format", 0};
+
+ assert(PyStruct_Check(self));
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "S:Struct", kwlist,
+ &o_format))
+ return -1;
+
+ Py_INCREF(o_format);
+ Py_XDECREF(soself->s_format);
+ soself->s_format = o_format;
+
+ ret = prepare_s(soself);
+ return ret;
+}
+
+static void
+s_dealloc(PyStructObject *s)
+{
+ int sts = 0;
+ if (s->weakreflist != NULL)
+ PyObject_ClearWeakRefs((PyObject *)s);
+ if (s->s_codes != NULL) {
+ PyMem_FREE(s->s_codes);
+ }
+ Py_XDECREF(s->s_format);
+ s->ob_type->tp_free((PyObject *)s);
+}
+
+PyDoc_STRVAR(s_unpack__doc__,
+"unpack(str) -> (v1, v2, ...)\n\
+\n\
+Return tuple containing values unpacked according to this Struct's format.\n\
+Requires len(str) == self.size. See struct.__doc__ for more on format\n\
+strings.");
+
+static PyObject *
+s_unpack(PyObject *self, PyObject *inputstr)
+{
+ PyStructObject *soself;
+ PyObject *result;
+ char *restart;
+ formatcode *code;
+ Py_ssize_t i;
+
+ soself = (PyStructObject *)self;
+ assert(PyStruct_Check(self));
+ assert(soself->s_codes != NULL);
+ if (inputstr == NULL || !PyString_Check(inputstr) ||
+ PyString_GET_SIZE(inputstr) != soself->s_size) {
+ PyErr_Format(StructError,
+ "unpack requires a string argument of length %d", soself->s_size);
+ return NULL;
+ }
+ result = PyTuple_New(soself->s_len);
+ if (result == NULL)
+ return NULL;
+
+
+ restart = PyString_AS_STRING(inputstr);
+ i = 0;
+ for (code = soself->s_codes; code->fmtdef != NULL; code++) {
+ Py_ssize_t n;
+ PyObject *v;
+ const formatdef *e = code->fmtdef;
+ const char *res = restart + code->offset;
+ if (e->format == 's') {
+ v = PyString_FromStringAndSize(res, code->repeat);
+ if (v == NULL)
+ goto fail;
+ PyTuple_SET_ITEM(result, i++, v);
+ } else if (e->format == 'p') {
+ n = *(unsigned char*)res;
+ if (n >= code->repeat)
+ n = code->repeat - 1;
+ v = PyString_FromStringAndSize(res + 1, n);
+ if (v == NULL)
+ goto fail;
+ PyTuple_SET_ITEM(result, i++, v);
+ } else {
+ for (n = 0; n < code->repeat; n++) {
+ v = e->unpack(res, e);
+ if (v == NULL)
+ goto fail;
+ PyTuple_SET_ITEM(result, i++, v);
+ res += e->size;
+ }
+ }
+ }
+
+ return result;
+fail:
+ Py_DECREF(result);
+ return NULL;
+};
+
+
+PyDoc_STRVAR(s_pack__doc__,
+"pack(v1, v2, ...) -> string\n\
+\n\
+Return a string containing values v1, v2, ... packed according to this\n\
+Struct's format. See struct.__doc__ for more on format strings.");
+
+static PyObject *
+s_pack(PyObject *self, PyObject *args)
+{
+ PyStructObject *soself;
+ PyObject *result;
+ char *restart;
+ formatcode *code;
+ Py_ssize_t i;
+
+ soself = (PyStructObject *)self;
+ assert(PyStruct_Check(self));
+ assert(soself->s_codes != NULL);
+ if (args == NULL || !PyTuple_Check(args) ||
+ PyTuple_GET_SIZE(args) != soself->s_len)
+ {
+ PyErr_Format(StructError,
+ "pack requires exactly %d arguments", soself->s_len);
+ return NULL;
+ }
+
+ result = PyString_FromStringAndSize((char *)NULL, soself->s_size);
+ if (result == NULL)
+ return NULL;
+
+ restart = PyString_AS_STRING(result);
+ memset(restart, '\0', soself->s_size);
+ i = 0;
+ for (code = soself->s_codes; code->fmtdef != NULL; code++) {
+ Py_ssize_t n;
+ PyObject *v;
+ const formatdef *e = code->fmtdef;
+ char *res = restart + code->offset;
+ if (e->format == 's') {
+ v = PyTuple_GET_ITEM(args, i++);
+ if (!PyString_Check(v)) {
+ PyErr_SetString(StructError,
+ "argument for 's' must be a string");
+ goto fail;
+ }
+ n = PyString_GET_SIZE(v);
+ if (n > code->repeat)
+ n = code->repeat;
+ if (n > 0)
+ memcpy(res, PyString_AS_STRING(v), n);
+ } else if (e->format == 'p') {
+ v = PyTuple_GET_ITEM(args, i++);
+ if (!PyString_Check(v)) {
+ PyErr_SetString(StructError,
+ "argument for 'p' must be a string");
+ goto fail;
+ }
+ n = PyString_GET_SIZE(v);
+ if (n > (code->repeat - 1))
+ n = code->repeat - 1;
+ if (n > 0)
+ memcpy(res + 1, PyString_AS_STRING(v), n);
+ if (n > 255)
+ n = 255;
+ *res = Py_SAFE_DOWNCAST(n, Py_ssize_t, unsigned char);
+ } else {
+ for (n = 0; n < code->repeat; n++) {
+ v = PyTuple_GET_ITEM(args, i++);
+ if (e->pack(res, v, e) < 0)
+ goto fail;
+ res += e->size;
+ }
+ }
+ }
+
+ return result;
+
+fail:
+ Py_DECREF(result);
+ return NULL;
+
+}
+
+
+/* List of functions */
+
+static struct PyMethodDef s_methods[] = {
+ {"pack", s_pack, METH_VARARGS, s_pack__doc__},
+ {"unpack", s_unpack, METH_O, s_unpack__doc__},
+ {NULL, NULL} /* sentinel */
+};
+
+PyDoc_STRVAR(s__doc__, "Compiled struct object");
+
+#define OFF(x) offsetof(PyStructObject, x)
+
+static PyMemberDef s_memberlist[] = {
+ {"format", T_OBJECT, OFF(s_format), RO,
+ "struct format string"},
+ {"size", T_INT, OFF(s_size), RO,
+ "struct size in bytes"},
+ {"_len", T_INT, OFF(s_len), RO,
+ "number of items expected in tuple"},
+ {NULL} /* Sentinel */
+};
+
+
+static
+PyTypeObject PyStructType = {
+ PyObject_HEAD_INIT(&PyType_Type)
+ 0,
+ "Struct",
+ sizeof(PyStructObject),
+ 0,
+ (destructor)s_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ PyObject_GenericSetAttr, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_WEAKREFS, /* tp_flags */
+ s__doc__, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ offsetof(PyStructObject, weakreflist), /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ s_methods, /* tp_methods */
+ s_memberlist, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ s_init, /* tp_init */
+ PyType_GenericAlloc, /* tp_alloc */
+ s_new, /* tp_new */
+ PyObject_Del, /* tp_free */
+};
+
+/* Module initialization */
+
+PyMODINIT_FUNC
+init_struct(void)
+{
+ PyObject *m = Py_InitModule("_struct", NULL);
+ if (m == NULL)
+ return;
+
+ /* Add some symbolic constants to the module */
+ if (StructError == NULL) {
+ StructError = PyErr_NewException("struct.error", NULL, NULL);
+ if (StructError == NULL)
+ return;
+ }
+ Py_INCREF(StructError);
+ PyModule_AddObject(m, "error", StructError);
+ Py_INCREF((PyObject*)&PyStructType);
+ PyModule_AddObject(m, "Struct", (PyObject*)&PyStructType);
+}
Deleted: /python/trunk/Modules/structmodule.c
==============================================================================
3
2
Author: marc-andre.lemburg
Date: Sun May 28 19:46:58 2006
New Revision: 46505
Added:
python/trunk/Tools/pybench/systimes.py (contents, props changed)
Log:
Initial version of systimes - a module to provide platform dependent
performance measurements.
The module is currently just a proof-of-concept implementation, but
will integrated into pybench once it is stable enough.
License: pybench license.
Author: Marc-Andre Lemburg.
Added: python/trunk/Tools/pybench/systimes.py
==============================================================================
--- (empty file)
+++ python/trunk/Tools/pybench/systimes.py Sun May 28 19:46:58 2006
@@ -0,0 +1,197 @@
+#!/usr/bin/env python
+
+""" systimes() user and system timer implementations for use by
+ pybench.
+
+ This module implements various different strategies for measuring
+ performance timings. It tries to choose the best available method
+ based on the platforma and available tools.
+
+ On Windows, it is recommended to have the Mark Hammond win32
+ package installed. Alternatively, the Thomas Heller ctypes
+ packages can also be used.
+
+ On Unix systems, the standard resource module provides the highest
+ resolution timings. Unfortunately, it is not available on all Unix
+ platforms.
+
+ If no supported timing methods based on process time can be found,
+ the module reverts to the highest resolution wall-time timer
+ instead. The system time part will then always be 0.0.
+
+ The module exports one public API:
+
+ def systimes():
+
+ Return the current timer values for measuring user and system
+ time as tuple of seconds (user_time, system_time).
+
+ Copyright (c) 2006, Marc-Andre Lemburg (mal(a)egenix.com). See the
+ documentation for further information on copyrights, or contact
+ the author. All Rights Reserved.
+
+"""
+import time, sys, struct
+
+#
+# Note: Please keep this module compatible to Python 1.5.2.
+#
+# TODOs:
+#
+# * Add ctypes wrapper for new clock_gettime() real-time POSIX APIs;
+# these will then provide nano-second resolution where available.
+#
+# * Add a function that returns the resolution of systimes()
+# values, ie. systimesres().
+#
+
+### Choose an implementation
+
+SYSTIMES_IMPLEMENTATION = None
+USE_CTYPES_GETPROCESSTIMES = 'cytpes GetProcessTimes() wrapper'
+USE_WIN32PROCESS_GETPROCESSTIMES = 'win32process.GetProcessTimes()'
+USE_RESOURCE_GETRUSAGE = 'resource.getrusage()'
+USE_PROCESS_TIME_CLOCK = 'time.clock() (process time)'
+USE_WALL_TIME_CLOCK = 'time.clock() (wall-time)'
+USE_WALL_TIME_TIME = 'time.time() (wall-time)'
+
+if sys.platform[:3] == 'win':
+ # Windows platform
+ try:
+ import win32process
+ except ImportError:
+ try:
+ import ctypes
+ except ImportError:
+ # Use the wall-time implementation time.clock(), since this
+ # is the highest resolution clock available on Windows
+ SYSTIMES_IMPLEMENTATION = USE_WALL_TIME_CLOCK
+ else:
+ SYSTIMES_IMPLEMENTATION = USE_CTYPES_GETPROCESSTIMES
+ else:
+ SYSTIMES_IMPLEMENTATION = USE_WIN32PROCESS_GETPROCESSTIMES
+else:
+ # All other platforms
+ try:
+ import resource
+ except ImportError:
+ pass
+ else:
+ SYSTIMES_IMPLEMENTATION = USE_RESOURCE_GETRUSAGE
+
+# Fall-back solution
+if SYSTIMES_IMPLEMENTATION is None:
+ # Check whether we can use time.clock() as approximation
+ # for systimes()
+ start = time.clock()
+ time.sleep(0.1)
+ stop = time.clock()
+ if stop - start < 0.001:
+ # Looks like time.clock() is usable (and measures process
+ # time)
+ SYSTIMES_IMPLEMENTATION = USE_PROCESS_TIME_CLOCK
+ else:
+ # Use wall-time implementation time.time() since this provides
+ # the highest resolution clock on most systems
+ SYSTIMES_IMPLEMENTATION = USE_WALL_TIME_TIME
+
+### Implementations
+
+def getrusage_systimes():
+ return resource.getrusage(resource.RUSAGE_SELF)[:2]
+
+def process_time_clock_systimes():
+ return (time.clock(), 0.0)
+
+def wall_time_clock_systimes():
+ return (time.clock(), 0.0)
+
+def wall_time_time_systimes():
+ return (time.time(), 0.0)
+
+# Number of clock ticks per second for the values returned
+# by GetProcessTimes() on Windows.
+#
+# Note: Ticks returned by GetProcessTimes() are micro-seconds on
+# Windows XP (though the docs say 100ns intervals)
+WIN32_PROCESS_TIMES_TICKS_PER_SECOND = 10e6
+
+def win32process_getprocesstimes_systimes():
+ d = win32process.GetProcessTimes(win32process.GetCurrentProcess())
+ # Note: I'm not sure whether KernelTime on Windows is the same as
+ # system time on Unix - I've yet to see a non-zero value for
+ # KernelTime on Windows.
+ return (d['UserTime'] / WIN32_PROCESS_TIMES_TICKS_PER_SECOND,
+ d['KernelTime'] / WIN32_PROCESS_TIMES_TICKS_PER_SECOND)
+
+def ctypes_getprocesstimes_systimes():
+ creationtime = ctypes.c_ulonglong()
+ exittime = ctypes.c_ulonglong()
+ kerneltime = ctypes.c_ulonglong()
+ usertime = ctypes.c_ulonglong()
+ rc = ctypes.windll.kernel32.GetProcessTimes(
+ ctypes.windll.kernel32.GetCurrentProcess(),
+ ctypes.byref(creationtime),
+ ctypes.byref(exittime),
+ ctypes.byref(kerneltime),
+ ctypes.byref(usertime))
+ if not rc:
+ raise TypeError('GetProcessTimes() returned an error')
+ return (usertime.value / WIN32_PROCESS_TIMES_TICKS_PER_SECOND,
+ kerneltime.value / WIN32_PROCESS_TIMES_TICKS_PER_SECOND)
+
+# Select the default for the systimes() function
+
+if SYSTIMES_IMPLEMENTATION is USE_RESOURCE_GETRUSAGE:
+ systimes = getrusage_systimes
+
+elif SYSTIMES_IMPLEMENTATION is USE_PROCESS_TIME_CLOCK:
+ systimes = process_time_clock_systimes
+
+elif SYSTIMES_IMPLEMENTATION is USE_WALL_TIME_CLOCK:
+ systimes = wall_time_clock_systimes
+
+elif SYSTIMES_IMPLEMENTATION is USE_WALL_TIME_TIME:
+ systimes = wall_time_time_systimes
+
+elif SYSTIMES_IMPLEMENTATION is USE_WIN32PROCESS_GETPROCESSTIMES:
+ systimes = win32process_getprocesstimes_systimes
+
+elif SYSTIMES_IMPLEMENTATION is USE_CTYPES_GETPROCESSTIMES:
+ systimes = ctypes_getprocesstimes_systimes
+
+else:
+ raise TypeError('no suitable systimes() implementation found')
+
+### Testing
+
+def some_workload():
+ x = 0L
+ for i in xrange(10000000L):
+ x = x + 1L
+
+def test_workload():
+ print 'Testing systimes() under load conditions'
+ t0 = systimes()
+ some_workload()
+ t1 = systimes()
+ print 'before:', t0
+ print 'after:', t1
+ print 'differences:', (t1[0] - t0[0], t1[1] - t0[1])
+ print
+
+def test_idle():
+ print 'Testing systimes() under idle conditions'
+ t0 = systimes()
+ time.sleep(1)
+ t1 = systimes()
+ print 'before:', t0
+ print 'after:', t1
+ print 'differences:', (t1[0] - t0[0], t1[1] - t0[1])
+ print
+
+if __name__ == '__main__':
+ print 'Using %s as timer' % SYSTIMES_IMPLEMENTATION
+ print
+ test_workload()
+ test_idle()
4
7
Re: [Python-checkins] r46472 - python/trunk/PCbuild8 python/trunk/PCbuild8/Uninstal.wse python/trunk/PCbuild8/_bsddb.vcproj python/trunk/PCbuild8/_ctypes.vcproj python/trunk/PCbuild8/_ctypes_test.vcproj python/trunk/PCbuild8/_elementtree.vcproj pytho
by Kristján V. Jónsson 02 Jun '06
by Kristján V. Jónsson 02 Jun '06
02 Jun '06
Hi there.
Well, I was sort of hoping that it would "maintain itself" in an open source manner, but if it needs an official maintainter, we can do that. Particularly, we are interested in input from the community on how better to set up the projects in VS to perform the profile-guilded optimization step with minimal user input. Our current approach relies on a file called pythoncore_pgo_link.txt which needs to be manually updated when the project changes significantly.
Martin, you have been doing work on getting python to be officially supported with VC 8. I remember that we discussed this at the pycon sprint. My VC8 build of 2.5 indeed did crash in the regression suite. I have some ideas on how to fix the C runtime problem. I will try some things locally and then bounce them off you and Tim.
Cheers,
Kristjan
p.s. do you think I ought to subscribe to python-checkins?
-----Original Message-----
From: Tim Peters [mailto:tim.peters@gmail.com]
Sent: 31. maí 2006 01:51
To: Martin v. Löwis; Kristján V. Jónsson
Cc: kristjan.jonsson
Subject: Re: [Python-checkins] r46472 - python/trunk/PCbuild8 python/trunk/PCbuild8/Uninstal.wse python/trunk/PCbuild8/_bsddb.vcproj python/trunk/PCbuild8/_ctypes.vcproj python/trunk/PCbuild8/_ctypes_test.vcproj python/trunk/PCbuild8/_elementtree.vcproj pytho
[kristjan.jonsson]
|>> Add a PCBuild8 build directory for building with Visual Studio .NET
>> 2005. Contains a special project to perform profile guided
>> optimizations on the pythoncore.dll, by instrumenting and running
>> pybench.py
[Martin v. Löwis]
> Who is going to maintain that?
I'm copying Kristján directly since I doubt he's still following the python-checkins list actively enough to notice that replies "to him"
actually just go to python-checkins.
Kristján is actively using that directory in his business, so he's maintaining it for now. At the NFS sprint he demonstrated significant speedups via exploiting profile-guided optimization, so it should of substantial interest over time. If everyone loses interest, fine, then it becomes like PC/VC6/ and RISCOS/ and ... in the meantime, it doesn't get in the way of anything I ever do <0.5 wink>.
5
5
r46300 - in python/trunk: Lib/socket.py Lib/test/test_socket.py Lib/test/test_struct.py Modules/_struct.c Modules/arraymodule.c Modules/socketmodule.c
by martin.blais 01 Jun '06
by martin.blais 01 Jun '06
01 Jun '06
Author: martin.blais
Date: Fri May 26 14:03:27 2006
New Revision: 46300
Modified:
python/trunk/Lib/socket.py
python/trunk/Lib/test/test_socket.py
python/trunk/Lib/test/test_struct.py
python/trunk/Modules/_struct.c
python/trunk/Modules/arraymodule.c
python/trunk/Modules/socketmodule.c
Log:
Support for buffer protocol for socket and struct.
* Added socket.recv_buf() and socket.recvfrom_buf() methods, that use the buffer
protocol (send and sendto already did).
* Added struct.pack_to(), that is the corresponding buffer compatible method to
unpack_from().
* Fixed minor typos in arraymodule.
Modified: python/trunk/Lib/socket.py
==============================================================================
--- python/trunk/Lib/socket.py (original)
+++ python/trunk/Lib/socket.py Fri May 26 14:03:27 2006
@@ -140,7 +140,9 @@
__doc__ = _realsocket.__doc__
- __slots__ = ["_sock", "send", "recv", "sendto", "recvfrom",
+ __slots__ = ["_sock",
+ "recv", "recv_buf", "recvfrom_buf",
+ "send", "sendto", "recvfrom",
"__weakref__"]
def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0, _sock=None):
@@ -149,8 +151,10 @@
self._sock = _sock
self.send = self._sock.send
self.recv = self._sock.recv
+ self.recv_buf = self._sock.recv_buf
self.sendto = self._sock.sendto
self.recvfrom = self._sock.recvfrom
+ self.recvfrom_buf = self._sock.recvfrom_buf
def close(self):
self._sock = _closedsocket()
Modified: python/trunk/Lib/test/test_socket.py
==============================================================================
--- python/trunk/Lib/test/test_socket.py (original)
+++ python/trunk/Lib/test/test_socket.py Fri May 26 14:03:27 2006
@@ -9,6 +9,7 @@
import thread, threading
import Queue
import sys
+import array
from weakref import proxy
PORT = 50007
@@ -852,8 +853,38 @@
self.assertRaises(socket.error, s.bind, address)
+class BufferIOTest(SocketConnectedTest):
+ """
+ Test the buffer versions of socket.recv() and socket.send().
+ """
+ def __init__(self, methodName='runTest'):
+ SocketConnectedTest.__init__(self, methodName=methodName)
+
+ def testRecvBuf(self):
+ buf = array.array('c', ' '*1024)
+ nbytes = self.cli_conn.recv_buf(buf)
+ self.assertEqual(nbytes, len(MSG))
+ msg = buf.tostring()[:len(MSG)]
+ self.assertEqual(msg, MSG)
+
+ def _testRecvBuf(self):
+ buf = buffer(MSG)
+ self.serv_conn.send(buf)
+
+ def testRecvFromBuf(self):
+ buf = array.array('c', ' '*1024)
+ nbytes, addr = self.cli_conn.recvfrom_buf(buf)
+ self.assertEqual(nbytes, len(MSG))
+ msg = buf.tostring()[:len(MSG)]
+ self.assertEqual(msg, MSG)
+
+ def _testRecvFromBuf(self):
+ buf = buffer(MSG)
+ self.serv_conn.send(buf)
+
def test_main():
- tests = [GeneralModuleTests, BasicTCPTest, TCPTimeoutTest, TestExceptions]
+ tests = [GeneralModuleTests, BasicTCPTest, TCPTimeoutTest, TestExceptions,
+ BufferIOTest]
if sys.platform != 'mac':
tests.extend([ BasicUDPTest, UDPTimeoutTest ])
Modified: python/trunk/Lib/test/test_struct.py
==============================================================================
--- python/trunk/Lib/test/test_struct.py (original)
+++ python/trunk/Lib/test/test_struct.py Fri May 26 14:03:27 2006
@@ -1,5 +1,8 @@
from test.test_support import TestFailed, verbose, verify
+import test.test_support
import struct
+import array
+import unittest
import sys
ISBIGENDIAN = sys.byteorder == "big"
@@ -438,31 +441,6 @@
test_705836()
-def test_unpack_from():
- test_string = 'abcd01234'
- fmt = '4s'
- s = struct.Struct(fmt)
- for cls in (str, buffer):
- data = cls(test_string)
- assert s.unpack_from(data) == ('abcd',)
- assert s.unpack_from(data, 2) == ('cd01',)
- assert s.unpack_from(data, 4) == ('0123',)
- for i in xrange(6):
- assert s.unpack_from(data, i) == (data[i:i+4],)
- for i in xrange(6, len(test_string) + 1):
- simple_err(s.unpack_from, data, i)
- for cls in (str, buffer):
- data = cls(test_string)
- assert struct.unpack_from(fmt, data) == ('abcd',)
- assert struct.unpack_from(fmt, data, 2) == ('cd01',)
- assert struct.unpack_from(fmt, data, 4) == ('0123',)
- for i in xrange(6):
- assert struct.unpack_from(fmt, data, i) == (data[i:i+4],)
- for i in xrange(6, len(test_string) + 1):
- simple_err(struct.unpack_from, fmt, data, i)
-
-test_unpack_from()
-
def test_1229380():
for endian in ('', '>', '<'):
for cls in (int, long):
@@ -478,3 +456,60 @@
if 0:
# TODO: bug #1229380
test_1229380()
+
+class PackBufferTestCase(unittest.TestCase):
+ """
+ Test the packing methods that work on buffers.
+ """
+
+ def test_unpack_from( self ):
+ test_string = 'abcd01234'
+ fmt = '4s'
+ s = struct.Struct(fmt)
+ for cls in (str, buffer):
+ data = cls(test_string)
+ self.assertEquals(s.unpack_from(data), ('abcd',))
+ self.assertEquals(s.unpack_from(data, 2), ('cd01',))
+ self.assertEquals(s.unpack_from(data, 4), ('0123',))
+ for i in xrange(6):
+ self.assertEquals(s.unpack_from(data, i), (data[i:i+4],))
+ for i in xrange(6, len(test_string) + 1):
+ simple_err(s.unpack_from, data, i)
+ for cls in (str, buffer):
+ data = cls(test_string)
+ self.assertEquals(struct.unpack_from(fmt, data), ('abcd',))
+ self.assertEquals(struct.unpack_from(fmt, data, 2), ('cd01',))
+ self.assertEquals(struct.unpack_from(fmt, data, 4), ('0123',))
+ for i in xrange(6):
+ self.assertEquals(struct.unpack_from(fmt, data, i),
+ (data[i:i+4],))
+ for i in xrange(6, len(test_string) + 1):
+ simple_err(struct.unpack_from, fmt, data, i)
+
+ def test_pack_to( self ):
+ test_string = 'Reykjavik rocks, eow!'
+ writable_buf = array.array('c', ' '*100)
+ fmt = '21s'
+ s = struct.Struct(fmt)
+
+ # Test without offset
+ s.pack_to(writable_buf, 0, test_string)
+ from_buf = writable_buf.tostring()[:len(test_string)]
+ self.assertEquals(from_buf, test_string)
+
+ # Test with offset.
+ s.pack_to(writable_buf, 10, test_string)
+ from_buf = writable_buf.tostring()[:len(test_string)+10]
+ self.assertEquals(from_buf, (test_string[:10] + test_string))
+
+ # Go beyond boundaries.
+ small_buf = array.array('c', ' '*10)
+ self.assertRaises(struct.error, s.pack_to, small_buf, 0, test_string)
+ self.assertRaises(struct.error, s.pack_to, small_buf, 2, test_string)
+
+def test_main():
+ test.test_support.run_unittest(PackBufferTestCase)
+
+if __name__ == "__main__":
+ test_main()
+
Modified: python/trunk/Modules/_struct.c
==============================================================================
--- python/trunk/Modules/_struct.c (original)
+++ python/trunk/Modules/_struct.c Fri May 26 14:03:27 2006
@@ -15,6 +15,7 @@
typedef int Py_ssize_t;
#endif
+
/* PY_USE_INT_WHEN_POSSIBLE is an experimental flag that changes the
struct API to return int instead of long when possible. This is
often a significant performance improvement. */
@@ -24,7 +25,6 @@
/* The translation function for each format character is table driven */
-
typedef struct _formatdef {
char format;
int size;
@@ -1315,50 +1315,36 @@
return s_unpack_internal(soself, buffer + offset);
}
-PyDoc_STRVAR(s_pack__doc__,
-"pack(v1, v2, ...) -> string\n\
-\n\
-Return a string containing values v1, v2, ... packed according to this\n\
-Struct's format. See struct.__doc__ for more on format strings.");
-static PyObject *
-s_pack(PyObject *self, PyObject *args)
+/*
+ * Guts of the pack function.
+ *
+ * Takes a struct object, a tuple of arguments, and offset in that tuple of
+ * argument for where to start processing the arguments for packing, and a
+ * character buffer for writing the packed string. The caller must insure
+ * that the buffer may contain the required length for packing the arguments.
+ * 0 is returned on success, 1 is returned if there is an error.
+ *
+ */
+static int
+s_pack_internal(PyStructObject *soself, PyObject *args, int offset, char* buf)
{
- PyStructObject *soself;
- PyObject *result;
- char *restart;
formatcode *code;
Py_ssize_t i;
-
- soself = (PyStructObject *)self;
- assert(PyStruct_Check(self));
- assert(soself->s_codes != NULL);
- if (args == NULL || !PyTuple_Check(args) ||
- PyTuple_GET_SIZE(args) != soself->s_len)
- {
- PyErr_Format(StructError,
- "pack requires exactly %d arguments", soself->s_len);
- return NULL;
- }
-
- result = PyString_FromStringAndSize((char *)NULL, soself->s_size);
- if (result == NULL)
- return NULL;
-
- restart = PyString_AS_STRING(result);
- memset(restart, '\0', soself->s_size);
- i = 0;
+
+ memset(buf, '\0', soself->s_size);
+ i = offset;
for (code = soself->s_codes; code->fmtdef != NULL; code++) {
Py_ssize_t n;
PyObject *v;
const formatdef *e = code->fmtdef;
- char *res = restart + code->offset;
+ char *res = buf + code->offset;
if (e->format == 's') {
v = PyTuple_GET_ITEM(args, i++);
if (!PyString_Check(v)) {
PyErr_SetString(StructError,
"argument for 's' must be a string");
- goto fail;
+ return -1;
}
n = PyString_GET_SIZE(v);
if (n > code->size)
@@ -1370,7 +1356,7 @@
if (!PyString_Check(v)) {
PyErr_SetString(StructError,
"argument for 'p' must be a string");
- goto fail;
+ return -1;
}
n = PyString_GET_SIZE(v);
if (n > (code->size - 1))
@@ -1383,16 +1369,109 @@
} else {
v = PyTuple_GET_ITEM(args, i++);
if (e->pack(res, v, e) < 0)
- goto fail;
+ return -1;
}
}
+ /* Success */
+ return 0;
+}
+
+
+PyDoc_STRVAR(s_pack__doc__,
+"pack(v1, v2, ...) -> string\n\
+\n\
+Return a string containing values v1, v2, ... packed according to this\n\
+Struct's format. See struct.__doc__ for more on format strings.");
+
+static PyObject *
+s_pack(PyObject *self, PyObject *args)
+{
+ PyStructObject *soself;
+ PyObject *result;
+
+ /* Validate arguments. */
+ soself = (PyStructObject *)self;
+ assert(PyStruct_Check(self));
+ assert(soself->s_codes != NULL);
+ if (args == NULL || !PyTuple_Check(args) ||
+ PyTuple_GET_SIZE(args) != soself->s_len)
+ {
+ PyErr_Format(StructError,
+ "pack requires exactly %d arguments", soself->s_len);
+ return NULL;
+ }
+
+ /* Allocate a new string */
+ result = PyString_FromStringAndSize((char *)NULL, soself->s_size);
+ if (result == NULL)
+ return NULL;
+
+ /* Call the guts */
+ if ( s_pack_internal(soself, args, 0, PyString_AS_STRING(result)) != 0 ) {
+ Py_DECREF(result);
+ return NULL;
+ }
+
return result;
+}
-fail:
- Py_DECREF(result);
- return NULL;
+PyDoc_STRVAR(s_pack_to__doc__,
+"pack_to(buffer, offset, v1, v2, ...)\n\
+\n\
+Pack the values v2, v2, ... according to this Struct's format, write \n\
+the packed bytes into the given buffer at the given offset. Note that \n\
+the offset is not an optional argument. See struct.__doc__ for \n\
+more on format strings.");
+
+static PyObject *
+s_pack_to(PyObject *self, PyObject *args)
+{
+ PyStructObject *soself;
+ char *buffer;
+ Py_ssize_t buffer_len, offset;
+
+ /* Validate arguments. +1 is for the first arg as buffer. */
+ soself = (PyStructObject *)self;
+ assert(PyStruct_Check(self));
+ assert(soself->s_codes != NULL);
+ if (args == NULL || !PyTuple_Check(args) ||
+ PyTuple_GET_SIZE(args) != (soself->s_len + 2))
+ {
+ PyErr_Format(StructError,
+ "pack_to requires exactly %d arguments",
+ (soself->s_len + 2));
+ return NULL;
+ }
+
+ /* Extract a writable memory buffer from the first argument */
+ if ( PyObject_AsWriteBuffer(PyTuple_GET_ITEM(args, 0),
+ (void**)&buffer, &buffer_len) == -1 ) {
+ return NULL;
+ }
+ assert( buffer_len >= 0 );
+
+ /* Extract the offset from the first argument */
+ offset = PyInt_AsLong(PyTuple_GET_ITEM(args, 1));
+
+ /* Support negative offsets. */
+ if (offset < 0)
+ offset += buffer_len;
+
+ /* Check boundaries */
+ if (offset < 0 || (buffer_len - offset) < soself->s_size) {
+ PyErr_Format(StructError,
+ "pack_to requires a buffer of at least %d bytes",
+ soself->s_size);
+ return NULL;
+ }
+ /* Call the guts */
+ if ( s_pack_internal(soself, args, 2, buffer + offset) != 0 ) {
+ return NULL;
+ }
+
+ return Py_None;
}
@@ -1400,6 +1479,7 @@
static struct PyMethodDef s_methods[] = {
{"pack", (PyCFunction)s_pack, METH_VARARGS, s_pack__doc__},
+ {"pack_to", (PyCFunction)s_pack_to, METH_VARARGS, s_pack_to__doc__},
{"unpack", (PyCFunction)s_unpack, METH_O, s_unpack__doc__},
{"unpack_from", (PyCFunction)s_unpack_from, METH_KEYWORDS, s_unpack_from__doc__},
{NULL, NULL} /* sentinel */
Modified: python/trunk/Modules/arraymodule.c
==============================================================================
--- python/trunk/Modules/arraymodule.c (original)
+++ python/trunk/Modules/arraymodule.c Fri May 26 14:03:27 2006
@@ -1975,9 +1975,9 @@
0, /* tp_setattr */
0, /* tp_compare */
(reprfunc)array_repr, /* tp_repr */
- 0, /* tp_as _number*/
- &array_as_sequence, /* tp_as _sequence*/
- &array_as_mapping, /* tp_as _mapping*/
+ 0, /* tp_as_number*/
+ &array_as_sequence, /* tp_as_sequence*/
+ &array_as_mapping, /* tp_as_mapping*/
0, /* tp_hash */
0, /* tp_call */
0, /* tp_str */
Modified: python/trunk/Modules/socketmodule.c
==============================================================================
--- python/trunk/Modules/socketmodule.c (original)
+++ python/trunk/Modules/socketmodule.c Fri May 26 14:03:27 2006
@@ -104,7 +104,10 @@
listen(n) -- start listening for incoming connections\n\
makefile([mode, [bufsize]]) -- return a file object for the socket [*]\n\
recv(buflen[, flags]) -- receive data\n\
-recvfrom(buflen[, flags]) -- receive data and sender's address\n\
+recv_buf(buffer[, nbytes[, flags]]) -- receive data (into a buffer)\n\
+recvfrom(buflen[, flags]) -- receive data and sender\'s address\n\
+recvfrom_buf(buffer[, nbytes, [, flags])\n\
+ -- receive data and sender\'s address (into a buffer)\n\
sendall(data[, flags]) -- send all data\n\
send(data[, flags]) -- send data, may not send all of it\n\
sendto(data[, flags], addr) -- send data to a given address\n\
@@ -205,7 +208,7 @@
functions are declared correctly if compiling with
MIPSPro 7.x in ANSI C mode (default) */
-/* XXX Using _SGIAPI is the wrong thing,
+/* XXX Using _SGIAPI is the wrong thing,
but I don't know what the right thing is. */
#undef _SGIAPI /* to avoid warning */
#define _SGIAPI 1
@@ -223,8 +226,8 @@
#include <netdb.h>
#endif
-/* Irix 6.5 fails to define this variable at all. This is needed
- for both GCC and SGI's compiler. I'd say that the SGI headers
+/* Irix 6.5 fails to define this variable at all. This is needed
+ for both GCC and SGI's compiler. I'd say that the SGI headers
are just busted. Same thing for Solaris. */
#if (defined(__sgi) || defined(sun)) && !defined(INET_ADDRSTRLEN)
#define INET_ADDRSTRLEN 16
@@ -1194,10 +1197,10 @@
args->ob_type->tp_name);
return 0;
}
- if (!PyArg_ParseTuple(args, "eti:getsockaddrarg",
+ if (!PyArg_ParseTuple(args, "eti:getsockaddrarg",
"idna", &host, &port))
return 0;
- result = setipaddr(host, (struct sockaddr *)addr,
+ result = setipaddr(host, (struct sockaddr *)addr,
sizeof(*addr), AF_INET);
PyMem_Free(host);
if (result < 0)
@@ -1225,12 +1228,12 @@
args->ob_type->tp_name);
return 0;
}
- if (!PyArg_ParseTuple(args, "eti|ii",
+ if (!PyArg_ParseTuple(args, "eti|ii",
"idna", &host, &port, &flowinfo,
&scope_id)) {
return 0;
}
- result = setipaddr(host, (struct sockaddr *)addr,
+ result = setipaddr(host, (struct sockaddr *)addr,
sizeof(*addr), AF_INET6);
PyMem_Free(host);
if (result < 0)
@@ -1839,7 +1842,7 @@
int res_size = sizeof res;
/* It must be in the exception set */
assert(FD_ISSET(s->sock_fd, &fds_exc));
- if (0 == getsockopt(s->sock_fd, SOL_SOCKET, SO_ERROR,
+ if (0 == getsockopt(s->sock_fd, SOL_SOCKET, SO_ERROR,
(char *)&res, &res_size))
/* getsockopt also clears WSAGetLastError,
so reset it back. */
@@ -2135,95 +2138,126 @@
#endif /* NO_DUP */
-
-/* s.recv(nbytes [,flags]) method */
-
-static PyObject *
-sock_recv(PySocketSockObject *s, PyObject *args)
+/*
+ * This is the guts of the recv() and recv_buf() methods, which reads into a
+ * char buffer. If you have any inc/def ref to do to the objects that contain
+ * the buffer, do it in the caller. This function returns the number of bytes
+ * succesfully read. If there was an error, it returns -1. Note that it is
+ * also possible that we return a number of bytes smaller than the request
+ * bytes.
+ */
+static int
+sock_recv_guts(PySocketSockObject *s, char* cbuf, int len, int flags)
{
- int len, n = 0, flags = 0, timeout;
- PyObject *buf;
+ int timeout, outlen = 0;
#ifdef __VMS
- int read_length;
+ int remaining, nread;
char *read_buf;
#endif
- if (!PyArg_ParseTuple(args, "i|i:recv", &len, &flags))
- return NULL;
-
- if (len < 0) {
- PyErr_SetString(PyExc_ValueError,
- "negative buffersize in recv");
- return NULL;
+ if (!IS_SELECTABLE(s)) {
+ select_error();
+ return -1;
}
- buf = PyString_FromStringAndSize((char *) 0, len);
- if (buf == NULL)
- return NULL;
-
- if (!IS_SELECTABLE(s))
- return select_error();
-
#ifndef __VMS
Py_BEGIN_ALLOW_THREADS
timeout = internal_select(s, 0);
if (!timeout)
- n = recv(s->sock_fd, PyString_AS_STRING(buf), len, flags);
+ outlen = recv(s->sock_fd, cbuf, len, flags);
Py_END_ALLOW_THREADS
if (timeout) {
- Py_DECREF(buf);
PyErr_SetString(socket_timeout, "timed out");
- return NULL;
+ return -1;
}
- if (n < 0) {
- Py_DECREF(buf);
- return s->errorhandler();
+ if (outlen < 0) {
+ /* Note: the call to errorhandler() ALWAYS indirectly returned
+ NULL, so ignore its return value */
+ s->errorhandler();
+ return -1;
}
- if (n != len)
- _PyString_Resize(&buf, n);
#else
- read_buf = PyString_AsString(buf);
- read_length = len;
- while (read_length != 0) {
+ read_buf = cbuf;
+ remaining = len;
+ while (remaining != 0) {
unsigned int segment;
- segment = read_length /SEGMENT_SIZE;
+ segment = remaining /SEGMENT_SIZE;
if (segment != 0) {
segment = SEGMENT_SIZE;
}
else {
- segment = read_length;
+ segment = remaining;
}
Py_BEGIN_ALLOW_THREADS
timeout = internal_select(s, 0);
if (!timeout)
- n = recv(s->sock_fd, read_buf, segment, flags);
+ nread = recv(s->sock_fd, read_buf, segment, flags);
Py_END_ALLOW_THREADS
if (timeout) {
- Py_DECREF(buf);
PyErr_SetString(socket_timeout, "timed out");
- return NULL;
+ return -1;
}
- if (n < 0) {
- Py_DECREF(buf);
- return s->errorhandler();
+ if (nread < 0) {
+ s->errorhandler();
+ return -1;
}
- if (n != read_length) {
- read_buf += n;
+ if (nread != remaining) {
+ read_buf += nread;
break;
}
- read_length -= segment;
+ remaining -= segment;
read_buf += segment;
}
- if (_PyString_Resize(&buf, (read_buf - PyString_AsString(buf))) < 0)
- {
- return NULL;
- }
+ outlen = read_buf - cbuf;
#endif /* !__VMS */
+
+ return outlen;
+}
+
+
+/* s.recv(nbytes [,flags]) method */
+
+static PyObject *
+sock_recv(PySocketSockObject *s, PyObject *args)
+{
+ int recvlen, flags = 0, outlen;
+ PyObject *buf;
+
+ if (!PyArg_ParseTuple(args, "i|i:recv", &recvlen, &flags))
+ return NULL;
+
+ if (recvlen < 0) {
+ PyErr_SetString(PyExc_ValueError,
+ "negative buffersize in recv");
+ return NULL;
+ }
+
+ /* Allocate a new string. */
+ buf = PyString_FromStringAndSize((char *) 0, recvlen);
+ if (buf == NULL)
+ return NULL;
+
+ /* Call the guts */
+ outlen = sock_recv_guts(s, PyString_AsString(buf), recvlen, flags);
+ if (outlen < 0) {
+ /* An error occured, release the string and return an
+ error. */
+ Py_DECREF(buf);
+ return NULL;
+ }
+ if (outlen != recvlen) {
+ /* We did not read as many bytes as we anticipated, resize the
+ string if possible and be succesful. */
+ if (_PyString_Resize(&buf, outlen) < 0)
+ /* Oopsy, not so succesful after all. */
+ return NULL;
+ }
+
return buf;
}
@@ -2236,29 +2270,90 @@
the remote end is closed and all data is read, return the empty string.");
-/* s.recvfrom(nbytes [,flags]) method */
+/* s.recv_buf(buffer, [nbytes [,flags]]) method */
-static PyObject *
-sock_recvfrom(PySocketSockObject *s, PyObject *args)
+static PyObject*
+sock_recv_buf(PySocketSockObject *s, PyObject *args, PyObject *kwds)
{
- sock_addr_t addrbuf;
- PyObject *buf = NULL;
- PyObject *addr = NULL;
- PyObject *ret = NULL;
- int len, n = 0, flags = 0, timeout;
- socklen_t addrlen;
+ static char *kwlist[] = {"buffer", "nbytes", "flags", 0};
- if (!PyArg_ParseTuple(args, "i|i:recvfrom", &len, &flags))
+ int recvlen = 0, flags = 0, readlen;
+ char *buf;
+ int buflen;
+
+ /* Get the buffer's memory */
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "s#|ii:recv", kwlist,
+ &buf, &buflen, &recvlen, &flags))
return NULL;
+ assert(buf != 0 && buflen > 0);
- if (!getsockaddrlen(s, &addrlen))
+ if (recvlen < 0) {
+ PyErr_SetString(PyExc_ValueError,
+ "negative buffersize in recv");
return NULL;
- buf = PyString_FromStringAndSize((char *) 0, len);
- if (buf == NULL)
+ }
+ if (recvlen == 0) {
+ /* If nbytes was not specified, use the buffer's length */
+ recvlen = buflen;
+ }
+
+ /* Check if the buffer is large enough */
+ if (buflen < recvlen) {
+ PyErr_SetString(PyExc_ValueError,
+ "buffer too small for requested bytes");
return NULL;
+ }
- if (!IS_SELECTABLE(s))
- return select_error();
+ /* Call the guts */
+ readlen = sock_recv_guts(s, buf, recvlen, flags);
+ if (readlen < 0) {
+ /* Return an error. */
+ return NULL;
+ }
+
+ /* Return the number of bytes read. Note that we do not do anything
+ special here in the case that readlen < recvlen. */
+ return PyInt_FromLong(readlen);
+}
+
+PyDoc_STRVAR(recv_buf_doc,
+"recv_buf(buffer, [nbytes[, flags]]) -> nbytes_read\n\
+\n\
+A version of recv() that stores its data into a buffer rather than creating \n\
+a new string. Receive up to buffersize bytes from the socket. If buffersize \n\
+is not specified (or 0), receive up to the size available in the given buffer.\n\
+\n\
+See recv() for documentation about the flags.");
+
+
+/*
+ * This is the guts of the recv() and recv_buf() methods, which reads into a
+ * char buffer. If you have any inc/def ref to do to the objects that contain
+ * the buffer, do it in the caller. This function returns the number of bytes
+ * succesfully read. If there was an error, it returns -1. Note that it is
+ * also possible that we return a number of bytes smaller than the request
+ * bytes.
+ *
+ * 'addr' is a return value for the address object. Note that you must decref
+ * it yourself.
+ */
+static int
+sock_recvfrom_guts(PySocketSockObject *s, char* cbuf, int len, int flags,
+ PyObject** addr)
+{
+ sock_addr_t addrbuf;
+ int n = 0, timeout;
+ socklen_t addrlen;
+
+ *addr = NULL;
+
+ if (!getsockaddrlen(s, &addrlen))
+ return -1;
+
+ if (!IS_SELECTABLE(s)) {
+ select_error();
+ return -1;
+ }
Py_BEGIN_ALLOW_THREADS
memset(&addrbuf, 0, addrlen);
@@ -2266,41 +2361,71 @@
if (!timeout) {
#ifndef MS_WINDOWS
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
- n = recvfrom(s->sock_fd, PyString_AS_STRING(buf), len, flags,
+ n = recvfrom(s->sock_fd, cbuf, len, flags,
(struct sockaddr *) &addrbuf, &addrlen);
#else
- n = recvfrom(s->sock_fd, PyString_AS_STRING(buf), len, flags,
+ n = recvfrom(s->sock_fd, cbuf, len, flags,
(void *) &addrbuf, &addrlen);
#endif
#else
- n = recvfrom(s->sock_fd, PyString_AS_STRING(buf), len, flags,
+ n = recvfrom(s->sock_fd, cbuf, len, flags,
(struct sockaddr *) &addrbuf, &addrlen);
#endif
}
Py_END_ALLOW_THREADS
if (timeout) {
- Py_DECREF(buf);
PyErr_SetString(socket_timeout, "timed out");
- return NULL;
+ return -1;
}
if (n < 0) {
- Py_DECREF(buf);
- return s->errorhandler();
+ s->errorhandler();
+ return -1;
}
- if (n != len && _PyString_Resize(&buf, n) < 0)
+ if (!(*addr = makesockaddr(s->sock_fd, (struct sockaddr *) &addrbuf,
+ addrlen, s->sock_proto)))
+ return -1;
+
+ return n;
+}
+
+/* s.recvfrom(nbytes [,flags]) method */
+
+static PyObject *
+sock_recvfrom(PySocketSockObject *s, PyObject *args)
+{
+ PyObject *buf = NULL;
+ PyObject *addr = NULL;
+ PyObject *ret = NULL;
+ int recvlen, outlen, flags = 0;
+
+ if (!PyArg_ParseTuple(args, "i|i:recvfrom", &recvlen, &flags))
+ return NULL;
+
+ buf = PyString_FromStringAndSize((char *) 0, recvlen);
+ if (buf == NULL)
return NULL;
- if (!(addr = makesockaddr(s->sock_fd, (struct sockaddr *) &addrbuf,
- addrlen, s->sock_proto)))
+ outlen = sock_recvfrom_guts(s, PyString_AS_STRING(buf),
+ recvlen, flags, &addr);
+ if (outlen < 0) {
goto finally;
+ }
+
+ if (outlen != recvlen) {
+ /* We did not read as many bytes as we anticipated, resize the
+ string if possible and be succesful. */
+ if (_PyString_Resize(&buf, outlen) < 0)
+ /* Oopsy, not so succesful after all. */
+ goto finally;
+ }
ret = PyTuple_Pack(2, buf, addr);
finally:
- Py_XDECREF(addr);
Py_XDECREF(buf);
+ Py_XDECREF(addr);
return ret;
}
@@ -2309,6 +2434,57 @@
\n\
Like recv(buffersize, flags) but also return the sender's address info.");
+
+/* s.recvfrom_buf(buffer[, nbytes [,flags]]) method */
+
+static PyObject *
+sock_recvfrom_buf(PySocketSockObject *s, PyObject *args, PyObject* kwds)
+{
+ static char *kwlist[] = {"buffer", "nbytes", "flags", 0};
+
+ int recvlen = 0, flags = 0, readlen;
+ char *buf;
+ int buflen;
+
+ PyObject *addr = NULL;
+ PyObject *ret = NULL;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "s#|ii:recvfrom", kwlist,
+ &buf, &buflen, &recvlen, &flags))
+ return NULL;
+ assert(buf != 0 && buflen > 0);
+
+ if (recvlen < 0) {
+ PyErr_SetString(PyExc_ValueError,
+ "negative buffersize in recv");
+ return NULL;
+ }
+ if (recvlen == 0) {
+ /* If nbytes was not specified, use the buffer's length */
+ recvlen = buflen;
+ }
+
+ readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr);
+ if (readlen < 0) {
+ /* Return an error */
+ goto finally;
+ }
+
+ /* Return the number of bytes read and the address. Note that we do
+ not do anything special here in the case that readlen < recvlen. */
+ ret = PyTuple_Pack(2, PyInt_FromLong(readlen), addr);
+
+finally:
+ Py_XDECREF(addr);
+ return ret;
+}
+
+PyDoc_STRVAR(recvfrom_buf_doc,
+"recvfrom_buf(buffer[, nbytes[, flags]]) -> (nbytes, address info)\n\
+\n\
+Like recv_buf(buffer[, nbytes[, flags]]) but also return the sender's address info.");
+
+
/* s.send(data [,flags]) method */
static PyObject *
@@ -2503,59 +2679,63 @@
/* List of methods for socket objects */
static PyMethodDef sock_methods[] = {
- {"accept", (PyCFunction)sock_accept, METH_NOARGS,
- accept_doc},
- {"bind", (PyCFunction)sock_bind, METH_O,
- bind_doc},
- {"close", (PyCFunction)sock_close, METH_NOARGS,
- close_doc},
- {"connect", (PyCFunction)sock_connect, METH_O,
- connect_doc},
- {"connect_ex", (PyCFunction)sock_connect_ex, METH_O,
- connect_ex_doc},
+ {"accept", (PyCFunction)sock_accept, METH_NOARGS,
+ accept_doc},
+ {"bind", (PyCFunction)sock_bind, METH_O,
+ bind_doc},
+ {"close", (PyCFunction)sock_close, METH_NOARGS,
+ close_doc},
+ {"connect", (PyCFunction)sock_connect, METH_O,
+ connect_doc},
+ {"connect_ex", (PyCFunction)sock_connect_ex, METH_O,
+ connect_ex_doc},
#ifndef NO_DUP
- {"dup", (PyCFunction)sock_dup, METH_NOARGS,
- dup_doc},
+ {"dup", (PyCFunction)sock_dup, METH_NOARGS,
+ dup_doc},
#endif
- {"fileno", (PyCFunction)sock_fileno, METH_NOARGS,
- fileno_doc},
+ {"fileno", (PyCFunction)sock_fileno, METH_NOARGS,
+ fileno_doc},
#ifdef HAVE_GETPEERNAME
- {"getpeername", (PyCFunction)sock_getpeername,
- METH_NOARGS, getpeername_doc},
+ {"getpeername", (PyCFunction)sock_getpeername,
+ METH_NOARGS, getpeername_doc},
#endif
- {"getsockname", (PyCFunction)sock_getsockname,
- METH_NOARGS, getsockname_doc},
- {"getsockopt", (PyCFunction)sock_getsockopt, METH_VARARGS,
- getsockopt_doc},
- {"listen", (PyCFunction)sock_listen, METH_O,
- listen_doc},
+ {"getsockname", (PyCFunction)sock_getsockname,
+ METH_NOARGS, getsockname_doc},
+ {"getsockopt", (PyCFunction)sock_getsockopt, METH_VARARGS,
+ getsockopt_doc},
+ {"listen", (PyCFunction)sock_listen, METH_O,
+ listen_doc},
#ifndef NO_DUP
- {"makefile", (PyCFunction)sock_makefile, METH_VARARGS,
- makefile_doc},
+ {"makefile", (PyCFunction)sock_makefile, METH_VARARGS,
+ makefile_doc},
#endif
- {"recv", (PyCFunction)sock_recv, METH_VARARGS,
- recv_doc},
- {"recvfrom", (PyCFunction)sock_recvfrom, METH_VARARGS,
- recvfrom_doc},
- {"send", (PyCFunction)sock_send, METH_VARARGS,
- send_doc},
- {"sendall", (PyCFunction)sock_sendall, METH_VARARGS,
- sendall_doc},
- {"sendto", (PyCFunction)sock_sendto, METH_VARARGS,
- sendto_doc},
- {"setblocking", (PyCFunction)sock_setblocking, METH_O,
- setblocking_doc},
- {"settimeout", (PyCFunction)sock_settimeout, METH_O,
- settimeout_doc},
- {"gettimeout", (PyCFunction)sock_gettimeout, METH_NOARGS,
- gettimeout_doc},
- {"setsockopt", (PyCFunction)sock_setsockopt, METH_VARARGS,
- setsockopt_doc},
- {"shutdown", (PyCFunction)sock_shutdown, METH_O,
- shutdown_doc},
+ {"recv", (PyCFunction)sock_recv, METH_VARARGS,
+ recv_doc},
+ {"recv_buf", (PyCFunction)sock_recv_buf, METH_VARARGS | METH_KEYWORDS,
+ recv_buf_doc},
+ {"recvfrom", (PyCFunction)sock_recvfrom, METH_VARARGS,
+ recvfrom_doc},
+ {"recvfrom_buf", (PyCFunction)sock_recvfrom_buf, METH_VARARGS | METH_KEYWORDS,
+ recvfrom_buf_doc},
+ {"send", (PyCFunction)sock_send, METH_VARARGS,
+ send_doc},
+ {"sendall", (PyCFunction)sock_sendall, METH_VARARGS,
+ sendall_doc},
+ {"sendto", (PyCFunction)sock_sendto, METH_VARARGS,
+ sendto_doc},
+ {"setblocking", (PyCFunction)sock_setblocking, METH_O,
+ setblocking_doc},
+ {"settimeout", (PyCFunction)sock_settimeout, METH_O,
+ settimeout_doc},
+ {"gettimeout", (PyCFunction)sock_gettimeout, METH_NOARGS,
+ gettimeout_doc},
+ {"setsockopt", (PyCFunction)sock_setsockopt, METH_VARARGS,
+ setsockopt_doc},
+ {"shutdown", (PyCFunction)sock_shutdown, METH_O,
+ shutdown_doc},
#ifdef RISCOS
- {"sleeptaskw", (PyCFunction)sock_sleeptaskw, METH_O,
- sleeptaskw_doc},
+ {"sleeptaskw", (PyCFunction)sock_sleeptaskw, METH_O,
+ sleeptaskw_doc},
#endif
{NULL, NULL} /* sentinel */
};
@@ -3401,7 +3581,7 @@
if (strcmp(ip_addr, "255.255.255.255") == 0) {
packed_addr = 0xFFFFFFFF;
} else {
-
+
packed_addr = inet_addr(ip_addr);
if (packed_addr == INADDR_NONE) { /* invalid address */
@@ -3476,7 +3656,7 @@
"can't use AF_INET6, IPv6 is disabled");
return NULL;
}
-#endif
+#endif
retval = inet_pton(af, ip, packed);
if (retval < 0) {
@@ -3499,7 +3679,7 @@
return NULL;
}
}
-
+
PyDoc_STRVAR(inet_ntop_doc,
"inet_ntop(af, packed_ip) -> string formatted IP address\n\
\n\
@@ -3517,7 +3697,7 @@
#else
char ip[INET_ADDRSTRLEN + 1];
#endif
-
+
/* Guarantee NUL-termination for PyString_FromString() below */
memset((void *) &ip[0], '\0', sizeof(ip));
@@ -3595,7 +3775,7 @@
} else if (PyString_Check(hobj)) {
hptr = PyString_AsString(hobj);
} else {
- PyErr_SetString(PyExc_TypeError,
+ PyErr_SetString(PyExc_TypeError,
"getaddrinfo() argument 1 must be string or None");
return NULL;
}
7
9
31 May '06
[Nick Coghlan]
> ... (we should probably do something about that misleading ImportError ->
> TestSkipped -> green buildbot behaviour. . . )
I looked at that briefly a few weeks back and gave up. Seemed the
sanest thing was to entirely stop treating ImportError as "test
skipped", and rewrite tests that legimately _may_ get skipped to catch
expected ImportErrors and change them to TestSkipped themselves.
A bit of framework might help; e.g., a test that expects to get
skipped due to failing imports on some platforms could define a
module-level list bound to a conventional name containing the names of
the modules whose import failure should be treated as TestSkipped, and
then regrtest.py could be taught to check import errors against the
test module's list (if any).
In the case du jour, test_functools.py presumably wouldn't define that
list, so that any ImportError it raised would be correctly treated as
test failure.
2
3
Author: bob.ippolito
Date: Wed May 31 20:19:56 2006
New Revision: 46583
Added:
sandbox/trunk/structbench/structformats.txt (contents, props changed)
Log:
text file listing the sources for the formats that I compiled the benchmark from
Added: sandbox/trunk/structbench/structformats.txt
==============================================================================
--- (empty file)
+++ sandbox/trunk/structbench/structformats.txt Wed May 31 20:19:56 2006
@@ -0,0 +1,75 @@
+# pickletools
+<H
+<i
+>d
+# aifc
+>l
+>L
+>h
+# base64
+!HHB
+# binhex
+>h
+>ii
+>H
+# chunk
+>L
+<L
+# compiler.pycodegen
+<i
+# distutils.command.bdist_wininst
+<iii
+# gettext
+<I
+<4I
+>4I
+<II
+>II
+# gzip
+<l
+<L
+# idlelib.rpc
+<i
+# imputil
+<I
+# logging.config
+>L
+# logging.handlers
+>L
+# pickle
+<i
+>d
+# platform
+P
+# posixfile
+lxxxxlxxxxlhh
+hhlllii
+hhllhh
+# tarfile
+l
+L
+148b
+148B
+356B
+356b
+<L
+<l
+# wave
+<hhllh
+<h
+<l4s4slhhllhh4s
+<l
+# whichdb
+=l
+# xdrlib
+>L
+>f
+>d
+>l
+# zipfile
+<4s4H2lH
+<4s4B4HlLL5HLl
+<4s2B4HlLL2H
+<lLL
+# Tools/i18n/msgfmt.py
+Iiiiiii
\ No newline at end of file
1
0
The Buildbot has detected a new failure of hppa Ubuntu dapper trunk.
Full details are available at:
http://www.python.org/dev/buildbot/all/hppa%2520Ubuntu%2520dapper%2520trunk…
Buildbot URL: http://www.python.org/dev/buildbot/all/
Build Reason:
Build Source Stamp: [branch trunk] HEAD
Blamelist: tim.peters
Build Had Warnings: warnings test
sincerely,
-The Buildbot
1
0
The Buildbot has detected a new failure of alpha Debian trunk.
Full details are available at:
http://www.python.org/dev/buildbot/all/alpha%2520Debian%2520trunk/builds/255
Buildbot URL: http://www.python.org/dev/buildbot/all/
Build Reason:
Build Source Stamp: [branch trunk] HEAD
Blamelist: andrew.kuchling,kristjan.jonsson,tim.peters
Build Had Warnings: warnings test
sincerely,
-The Buildbot
1
0
Author: tim.peters
Date: Wed May 31 17:34:37 2006
New Revision: 46582
Modified:
python/trunk/Modules/_struct.c
Log:
Repaired error in new comment.
Modified: python/trunk/Modules/_struct.c
==============================================================================
--- python/trunk/Modules/_struct.c (original)
+++ python/trunk/Modules/_struct.c Wed May 31 17:34:37 2006
@@ -311,10 +311,10 @@
/* ulargest is the largest unsigned value with f->size bytes.
* Note that the simpler:
* ((size_t)1 << (f->size * 8)) - 1
- * doesn't work when f->size == size_t because C doesn't define what
- * happens when a left shift count is >= the number of bits in the
- * integer being shifted; e.g., on some boxes it doesn't shift at
- * all when they're equal.
+ * doesn't work when f->size == sizeof(size_t) because C doesn't
+ * define what happens when a left shift count is >= the number of
+ * bits in the integer being shifted; e.g., on some boxes it doesn't
+ * shift at all when they're equal.
*/
const size_t ulargest = (size_t)-1 >> ((SIZEOF_SIZE_T - f->size)*8);
assert(f->size >= 1 && f->size <= SIZEOF_SIZE_T);
1
0