summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2002-11-23 18:48:06 (GMT)
committerTim Peters <tim.peters@gmail.com>2002-11-23 18:48:06 (GMT)
commit84c7a3f3289ef786a756faf52c188d2b08c52f34 (patch)
treed607ec04fe6d534ea003a10b5cea801cc80908f3
parentef7fe2e8137824248cf45d316535b76dae302b5a (diff)
downloadcpython-84c7a3f3289ef786a756faf52c188d2b08c52f34.zip
cpython-84c7a3f3289ef786a756faf52c188d2b08c52f34.tar.gz
cpython-84c7a3f3289ef786a756faf52c188d2b08c52f34.tar.bz2
Try linking the static Sleepycat lib into _bsddb.pyd. Hard to say
whether this is a correct thing to do: + There are linker warnings (see PCbuild\readme.txt). + test_bsddb passes, in both release and debug builds now. + test_bsddb3 has several failures, but it did before too. Also made pythoncore a dependency of the _bsddb project, updated build instructions, added database conversion XXX to NEWS, and fiddled the Windows installer accordingly.
-rw-r--r--Misc/NEWS4
-rw-r--r--PCbuild/_bsddb.dsp4
-rw-r--r--PCbuild/pcbuild.dsw3
-rw-r--r--PCbuild/python20.wse11
-rw-r--r--PCbuild/readme.txt28
5 files changed, 24 insertions, 26 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 8fdd1f6..49977dc 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -822,7 +822,9 @@ Windows
improvement over the previous Berkeley DB 1.85, which had many
bugs.
XXX What are the licensing issues here?
- XXX The debug Python still blows up (see PCbuild/readme.txt).
+ XXX If a user has a database created with a previous verion of
+ XXX Python, what must they do to convert it?
+ XXX I'm still not sure how to link this thing (see PCbuild/readme.txt).
XXX The version # is likely to change before 2.3a1.
- The Windows distribution now ships with Tcl/Tk version 8.4.1 (it
diff --git a/PCbuild/_bsddb.dsp b/PCbuild/_bsddb.dsp
index 3748d3a..e1857c5 100644
--- a/PCbuild/_bsddb.dsp
+++ b/PCbuild/_bsddb.dsp
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.0.14\build_win32\Release\libdb40.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /out:"./_bsddb.pyd"
+# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.0.14\build_win32\Release_static\libdb40s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrt" /out:"./_bsddb.pyd"
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "_bsddb - Win32 Debug"
@@ -82,7 +82,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.0.14\build_win32\Release\libdb40.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"MSVCRT" /out:"./_bsddb_d.pyd" /pdbtype:sept
+# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.0.14\build_win32\Release_static\libdb40s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrtd" /out:"./_bsddb_d.pyd" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
diff --git a/PCbuild/pcbuild.dsw b/PCbuild/pcbuild.dsw
index 856b44c..a13fc65 100644
--- a/PCbuild/pcbuild.dsw
+++ b/PCbuild/pcbuild.dsw
@@ -11,6 +11,9 @@ Package=<5>
Package=<4>
{{{
+ Begin Project Dependency
+ Project_Dep_Name pythoncore
+ End Project Dependency
}}}
###############################################################################
diff --git a/PCbuild/python20.wse b/PCbuild/python20.wse
index 7b63d6e..bafa2b8 100644
--- a/PCbuild/python20.wse
+++ b/PCbuild/python20.wse
@@ -1853,17 +1853,6 @@ item: Install File
end
item: Remark
end
-item: Remark
- Text=Oddball -- the Sleepcat DLL
-end
-item: Install File
- Source=..\..\db-4.0.14\build_win32\Release\libdb40.dll
- Destination=%MAINDIR%\DLLs\libdb40.dll
- Description=Sleepycat Berekely DB DLL
- Flags=0000000000000010
-end
-item: Remark
-end
item: Install File
Source=.\python%_pymajor_%%_pyminor_%.lib
Destination=%MAINDIR%\libs\python%_PYMAJOR_%%_PYMINOR_%.lib
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 7f8e138..94594d0 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -161,6 +161,8 @@ bz2
_bsddb
+ XXX The Sleepycat release we use will probably change before
+ XXX 2.3a1.
Go to Sleepycat's patches page:
http://www.sleepycat.com/update/index.html
and download
@@ -182,19 +184,21 @@ _bsddb
yes, of course). Choose configuration "db_buildall - Win32 Release",
and build db_buildall.exe.
- XXX You have to copy
- XXX dist\db-4.0.14\build_win32\Release\libdb40.dll
- XXX into PCbuild (or elsewhere on your path) before the tests
- XXX will run.
-
- XXX A debug-mode build blows up when running this, presumably because
- XXX I'm mixing debug-mode MS stuff with Sleepycat's release-mode
- XXX DLL. This gives me a headache. I would *like* to, as the old
- XXX bsddb 1.85 project apparently managed to do, link the Berkeley
- XXX DLL into the guts of our _bsddb.pyd. I don't know how to.
+ XXX We're actually linking against Release_static\libdb40s.lib.
+ XXX This yields the following warnings:
+"""
+Compiling...
+_bsddb.c
+Linking...
+ Creating library ./_bsddb.lib and object ./_bsddb.exp
+LINK : warning LNK4049: locally defined symbol "_malloc" imported
+LINK : warning LNK4049: locally defined symbol "_free" imported
+LINK : warning LNK4049: locally defined symbol "_fclose" imported
+LINK : warning LNK4049: locally defined symbol "_fopen" imported
+_bsddb.pyd - 0 error(s), 4 warning(s)
+"""
+ XXX This isn't encouraging, but I don't know what to do about it.
- XXX The Sleepycat release we use will probably change before
- XXX 2.3a1.
YOUR OWN EXTENSION DLLs