Commit 46a007ee authored by Thomas Heller's avatar Thomas Heller

Build the bzip2.lib as a custom pre-link step in MSVC.

parent 2258227a
...@@ -56,6 +56,10 @@ LINK32=link.exe ...@@ -56,6 +56,10 @@ 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 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" # 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 # SUBTRACT LINK32 /pdb:none /nodefaultlib
# Begin Special Build Tool
SOURCE="$(InputPath)"
PreLink_Cmds=cd ..\..\bzip2-1.0.2 nmake /nologo /f makefile.msc
# End Special Build Tool
!ELSEIF "$(CFG)" == "bz2 - Win32 Debug" !ELSEIF "$(CFG)" == "bz2 - Win32 Debug"
...@@ -84,6 +88,10 @@ LINK32=link.exe ...@@ -84,6 +88,10 @@ 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 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 # 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 # SUBTRACT LINK32 /pdb:none
# Begin Special Build Tool
SOURCE="$(InputPath)"
PreLink_Cmds=cd ..\..\bzip2-1.0.2 nmake /nologo /f makefile.msc
# End Special Build Tool
!ENDIF !ENDIF
......
...@@ -148,19 +148,14 @@ bz2 ...@@ -148,19 +148,14 @@ bz2
must disable its "TAR file smart CR/LF conversion" feature (under must disable its "TAR file smart CR/LF conversion" feature (under
Options -> Configuration -> Miscellaneous -> Other) for the duration. Options -> Configuration -> Miscellaneous -> Other) for the duration.
Don't bother trying to use libbz2.dsp with MSVC. After 10 minutes A custom pre-link step in the bz2 project settings should manage to
of fiddling, I couldn't get it to work. Perhaps it works with build bzip2-1.0.2\libbz2.lib by magic before bz2.pyd (or bz2_d.pyd) is
MSVC 5 (I used MSVC 6). It's better to run the by-hand makefile linked in PCbuild\.
anyway, because it runs a helpful test step at the end. However, the bz2 project is not smart enough to remove anything under
bzip2-1.0.2\ when you do a clean, so if you want to rebuild bzip2.lib
cd into dist\bzip2-1.0.2, and run you need to clean up bzip2-1.0.2\ by hand.
nmake -f makefile.msc
[Note that if you're running Win9X, you'll need to run vcvars32.bat The build step shouldn't yield any warnings or errors, and should end
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 shouldn't yield any warnings or errors, and should end
by displaying 6 blocks each terminated with by displaying 6 blocks each terminated with
FC: no differences encountered FC: no differences encountered
If FC finds differences, see the warning abou WinZip above (when I If FC finds differences, see the warning abou WinZip above (when I
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment