Build the bzip2.lib as a custom pre-link step in MSVC.
diff --git a/PCbuild/bz2.dsp b/PCbuild/bz2.dsp
index 42790a9..556eb62 100644
--- a/PCbuild/bz2.dsp
+++ b/PCbuild/bz2.dsp
@@ -56,6 +56,10 @@
 # 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 @@
 # 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