- lzma exehead is now 34kb instead of 34.5kb thanks to the new LZMA C SDK and should be much faster due to removal of critical section usage (not tested too much, test before usage)

- applied some parts of patch #875485


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3508 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2004-03-06 18:37:19 +00:00
parent ca9582c925
commit d18cea205c
23 changed files with 761 additions and 1267 deletions

View file

@ -204,7 +204,7 @@ lang_again:
}
}
__forceinline int NSISCALL ui_doinstall(void)
FORCE_INLINE int NSISCALL ui_doinstall(void)
{
header *header = g_header;
static WNDCLASS wc; // richedit subclassing and bgbg creation

View file

@ -39,7 +39,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O1 /Oy /D "_WINDOWS" /D "EXEHEAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "WIN32_LEAN_AND_MEAN" /D "NSIS_COMPRESS_USE_LZMA" /D ZEXPORT=__stdcall /FD /c
# ADD CPP /nologo /W3 /GX /O1 /Oy /D "_WINDOWS" /D "EXEHEAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "WIN32_LEAN_AND_MEAN" /D "NSIS_COMPRESS_USE_LZMA" /D LZMACALL=__stdcall /FD /c
# SUBTRACT CPP /Fr /YX /Yc /Yu
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
@ -67,65 +67,12 @@ PostBuild_Cmds=bin2h Release-lzma\exehead_lzma.exe Release-lzma\exehead_lzma.h l
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\InBuffer.h
SOURCE=..\7zip\LZMADecode.c
# ADD CPP /Gd
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\LZMA.h
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\LZMADecoder.cpp
# ADD CPP /D "__STREAM_VERSION"
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\LZMADecoder.h
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\LZMALenCoder.h
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\LZMALiteralCoder.h
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\LZOutWindow.h
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\RangeCoder.h
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\RangeCoderBit.h
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\RangeCoderBitTree.h
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\RangeCoderOpt.h
# End Source File
# Begin Source File
SOURCE=..\7zip\7zip\Compress\LZMA_SMALL\Types.h
# End Source File
# End Group
# Begin Group "lzmaNSIS"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\7zip\lzmaNSIS.cpp
# ADD CPP /D "__STREAM_VERSION"
# End Source File
# Begin Source File
SOURCE=..\7zip\lzmaNSIS.h
SOURCE=..\7zip\LZMADecode.h
# End Source File
# End Group
# Begin Source File

View file

@ -13,7 +13,7 @@
#endif
#ifdef NSIS_COMPRESS_USE_LZMA
#include "../7zip/lzmaNSIS.h"
#include "../7zip/LZMADecode.h"
#define z_stream CLZMAState
#define inflateInit(x) lzmaInit(x)
#define inflateReset(x) lzmaInit(x)
@ -352,12 +352,6 @@ int NSISCALL _dodecomp(int offset, HANDLE hFileOut, char *outbuf, int outbuflen)
{
int u;
#ifdef NSIS_COMPRESS_USE_LZMA
// lzma decompressor doesn't like to stay dry
if (!g_inflate_stream.avail_in && input_len)
break;
#endif
g_inflate_stream.next_out = outbuffer;
g_inflate_stream.avail_out = (unsigned int)outbuffer_len;