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

This commit is contained in:
Thomas Heller 2003-08-20 18:27:36 +00:00
parent 2258227abc
commit 46a007ee95
2 changed files with 15 additions and 12 deletions

View File

@ -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 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
# 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"
@ -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 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
# Begin Special Build Tool
SOURCE="$(InputPath)"
PreLink_Cmds=cd ..\..\bzip2-1.0.2 nmake /nologo /f makefile.msc
# End Special Build Tool
!ENDIF

View File

@ -148,19 +148,14 @@ bz2
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.
A custom pre-link step in the bz2 project settings should manage to
build bzip2-1.0.2\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.2\ when you do a clean, so if you want to rebuild bzip2.lib
you need to clean up bzip2-1.0.2\ by hand.
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 shouldn't yield any warnings or errors, and should end
The build step shouldn't 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