summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2002-11-09 04:48:58 (GMT)
committerTim Peters <tim.peters@gmail.com>2002-11-09 04:48:58 (GMT)
commitb0ead4ea4a1e0f4e5dc2a00110be8038586c9e21 (patch)
tree53f802160d5b6cfa8156eee2a03faef93b91e398
parentae9cbee4da4dc8d224a69dbf4298cab54be94006 (diff)
downloadcpython-b0ead4ea4a1e0f4e5dc2a00110be8038586c9e21.zip
cpython-b0ead4ea4a1e0f4e5dc2a00110be8038586c9e21.tar.gz
cpython-b0ead4ea4a1e0f4e5dc2a00110be8038586c9e21.tar.bz2
Start building the bz2 module on Windows.
CAUTION: The Python test still has many failures, but I'm out of time for this now (already took much longer than hoped to get this far). The base bz2 library does pass its own tests (see next). CAUTION: People building on Windows have to download and build tne bz2 compression libraries now. See PCbuild\readme.txt for complete instructions.
-rw-r--r--PC/dllbase_nt.txt1
-rw-r--r--PCbuild/bz2.dsp99
-rw-r--r--PCbuild/pcbuild.dsw12
-rw-r--r--PCbuild/readme.txt28
4 files changed, 140 insertions, 0 deletions
diff --git a/PC/dllbase_nt.txt b/PC/dllbase_nt.txt
index 8ba546f..1a4e677 100644
--- a/PC/dllbase_nt.txt
+++ b/PC/dllbase_nt.txt
@@ -30,6 +30,7 @@ More standard extensions 1D100000 - 1e000000
- select 1D110000 - 1D120000
- unicodedata 1D120000 - 1D160000
- winsound 1D160000 - 1D170000
+ - bZ2 1D170000 - 1D180000
Other extension modules
- win32api 1e200000 - 1e220000
diff --git a/PCbuild/bz2.dsp b/PCbuild/bz2.dsp
new file mode 100644
index 0000000..97f8f79
--- /dev/null
+++ b/PCbuild/bz2.dsp
@@ -0,0 +1,99 @@
+# Microsoft Developer Studio Project File - Name="bz2" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=bz2 - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "bz2.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "bz2.mak" CFG="bz2 - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "bz2 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "bz2 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName "bz2"
+# PROP Scc_LocalPath ".."
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "bz2 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "x86-temp-release\bz2"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+F90=df.exe
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\Include" /I "..\PC" /I "..\..\bzip2-1.0.2" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 ..\..\bzip2-1.0.2\libbz2.lib /nologo /base:"0x1D170000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"libc" /out:"./bz2.pyd"
+# SUBTRACT LINK32 /pdb:none /nodefaultlib
+
+!ELSEIF "$(CFG)" == "bz2 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "x86-temp-debug\bz2"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+F90=df.exe
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\Include" /I "..\PC" /I "..\..\bzip2-1.0.2" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ..\..\bzip2-1.0.2\libbz2.lib /nologo /base:"0x1D170000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrt" /nodefaultlib:"libc" /out:"./bz2_d.pyd" /pdbtype:sept
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "bz2 - Win32 Release"
+# Name "bz2 - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\Modules\bz2module.c
+# End Source File
+# End Target
+# End Project
diff --git a/PCbuild/pcbuild.dsw b/PCbuild/pcbuild.dsw
index e09a253..1d16d08 100644
--- a/PCbuild/pcbuild.dsw
+++ b/PCbuild/pcbuild.dsw
@@ -93,6 +93,18 @@ Package=<4>
###############################################################################
+Project: "bz2"=.\bz2.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
Project: "mmap"=.\mmap.dsp - Package Owner=<4>
Package=<5>
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 0109317..5073a41 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -88,6 +88,34 @@ zlib
zlib-1.1.4\ when you do a clean, so if you want to rebuild zlib.lib
you need to clean up zlib-1.1.4\ by hand.
+bz2
+ Python wrapper for the libbz2 compression library. Homepage
+ http://sources.redhat.com/bzip2/
+ Download the source tarball, bzip2-1.0.2.tar.gz.
+ Unpack into dist\bzip2-1.0.2. WARNING: If you using WinZip, you
+ must disable its "TAR file smart CR/LF conversion" feature (under
+ Options -> Configuration -> Miscellaneous -> Other) for the duration.
+ Don't bother trying to use libbz2.dsp with MSVC. After 10 minutes
+ of fiddling, I couldn't get it to work. Perhaps it works with
+ MSVC 5 (I used MSVC 6). It's better to run the by-hand makefile
+ anyway, because it runs a helpful test step at the end.
+ cd into dist\bzip2-1.0.2, and run
+ nmake -f makefile.msc
+ [Note that if you're running Win9X, you'll need to run vcvars32.bat
+ before running nmake (this batch file is in your MSVC installation).
+ TODO: make this work like zlib (in particular, MSVC runs the prelink
+ step in an enviroment that already has the correct envars set up).
+ ]
+ The make step should yield any warnings or errors, and should end
+ by displaying 6 blocks each terminated with
+ FC: no differences encountered
+ If FC finds differences, see the warning abou WinZip above (when I
+ first tried it, sample3.ref failed due to CRLF conversion).
+ All of this managed to build bzip2-1.0.2\libbz2.lib, which the Python
+ project links in.
+
+
+
bsddb
Python wrapper for the BSD database 1.85. Requires db.1.85.win32.zip,
from the "bsd db" link at