forked from pool/lzma-sdk
dea12fa92e
OBS-URL: https://build.opensuse.org/request/show/494629 OBS-URL: https://build.opensuse.org/package/show/Archiving/lzma-sdk?expand=0&rev=2
481 lines
16 KiB
Diff
481 lines
16 KiB
Diff
Index: lzma1604/C/LzmaDec.c
|
|
===================================================================
|
|
--- lzma1604.orig/C/LzmaDec.c
|
|
+++ lzma1604/C/LzmaDec.c
|
|
@@ -7,123 +7,10 @@
|
|
|
|
#include <string.h>
|
|
|
|
-#define kNumTopBits 24
|
|
-#define kTopValue ((UInt32)1 << kNumTopBits)
|
|
-
|
|
-#define kNumBitModelTotalBits 11
|
|
-#define kBitModelTotal (1 << kNumBitModelTotalBits)
|
|
-#define kNumMoveBits 5
|
|
-
|
|
-#define RC_INIT_SIZE 5
|
|
-
|
|
-#define NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | (*buf++); }
|
|
-
|
|
-#define IF_BIT_0(p) ttt = *(p); NORMALIZE; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)
|
|
-#define UPDATE_0(p) range = bound; *(p) = (CLzmaProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits));
|
|
-#define UPDATE_1(p) range -= bound; code -= bound; *(p) = (CLzmaProb)(ttt - (ttt >> kNumMoveBits));
|
|
-#define GET_BIT2(p, i, A0, A1) IF_BIT_0(p) \
|
|
- { UPDATE_0(p); i = (i + i); A0; } else \
|
|
- { UPDATE_1(p); i = (i + i) + 1; A1; }
|
|
-#define GET_BIT(p, i) GET_BIT2(p, i, ; , ;)
|
|
-
|
|
-#define TREE_GET_BIT(probs, i) { GET_BIT((probs + i), i); }
|
|
-#define TREE_DECODE(probs, limit, i) \
|
|
- { i = 1; do { TREE_GET_BIT(probs, i); } while (i < limit); i -= limit; }
|
|
-
|
|
-/* #define _LZMA_SIZE_OPT */
|
|
-
|
|
-#ifdef _LZMA_SIZE_OPT
|
|
-#define TREE_6_DECODE(probs, i) TREE_DECODE(probs, (1 << 6), i)
|
|
-#else
|
|
-#define TREE_6_DECODE(probs, i) \
|
|
- { i = 1; \
|
|
- TREE_GET_BIT(probs, i); \
|
|
- TREE_GET_BIT(probs, i); \
|
|
- TREE_GET_BIT(probs, i); \
|
|
- TREE_GET_BIT(probs, i); \
|
|
- TREE_GET_BIT(probs, i); \
|
|
- TREE_GET_BIT(probs, i); \
|
|
- i -= 0x40; }
|
|
-#endif
|
|
-
|
|
-#define NORMAL_LITER_DEC GET_BIT(prob + symbol, symbol)
|
|
-#define MATCHED_LITER_DEC \
|
|
- matchByte <<= 1; \
|
|
- bit = (matchByte & offs); \
|
|
- probLit = prob + offs + bit + symbol; \
|
|
- GET_BIT2(probLit, symbol, offs &= ~bit, offs &= bit)
|
|
-
|
|
-#define NORMALIZE_CHECK if (range < kTopValue) { if (buf >= bufLimit) return DUMMY_ERROR; range <<= 8; code = (code << 8) | (*buf++); }
|
|
-
|
|
-#define IF_BIT_0_CHECK(p) ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)
|
|
-#define UPDATE_0_CHECK range = bound;
|
|
-#define UPDATE_1_CHECK range -= bound; code -= bound;
|
|
-#define GET_BIT2_CHECK(p, i, A0, A1) IF_BIT_0_CHECK(p) \
|
|
- { UPDATE_0_CHECK; i = (i + i); A0; } else \
|
|
- { UPDATE_1_CHECK; i = (i + i) + 1; A1; }
|
|
-#define GET_BIT_CHECK(p, i) GET_BIT2_CHECK(p, i, ; , ;)
|
|
-#define TREE_DECODE_CHECK(probs, limit, i) \
|
|
- { i = 1; do { GET_BIT_CHECK(probs + i, i) } while (i < limit); i -= limit; }
|
|
-
|
|
-
|
|
-#define kNumPosBitsMax 4
|
|
-#define kNumPosStatesMax (1 << kNumPosBitsMax)
|
|
-
|
|
-#define kLenNumLowBits 3
|
|
-#define kLenNumLowSymbols (1 << kLenNumLowBits)
|
|
-#define kLenNumMidBits 3
|
|
-#define kLenNumMidSymbols (1 << kLenNumMidBits)
|
|
-#define kLenNumHighBits 8
|
|
-#define kLenNumHighSymbols (1 << kLenNumHighBits)
|
|
-
|
|
-#define LenChoice 0
|
|
-#define LenChoice2 (LenChoice + 1)
|
|
-#define LenLow (LenChoice2 + 1)
|
|
-#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits))
|
|
-#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits))
|
|
-#define kNumLenProbs (LenHigh + kLenNumHighSymbols)
|
|
-
|
|
-
|
|
-#define kNumStates 12
|
|
-#define kNumLitStates 7
|
|
-
|
|
-#define kStartPosModelIndex 4
|
|
-#define kEndPosModelIndex 14
|
|
-#define kNumFullDistances (1 << (kEndPosModelIndex >> 1))
|
|
-
|
|
-#define kNumPosSlotBits 6
|
|
-#define kNumLenToPosStates 4
|
|
-
|
|
-#define kNumAlignBits 4
|
|
-#define kAlignTableSize (1 << kNumAlignBits)
|
|
-
|
|
-#define kMatchMinLen 2
|
|
-#define kMatchSpecLenStart (kMatchMinLen + kLenNumLowSymbols + kLenNumMidSymbols + kLenNumHighSymbols)
|
|
-
|
|
-#define IsMatch 0
|
|
-#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax))
|
|
-#define IsRepG0 (IsRep + kNumStates)
|
|
-#define IsRepG1 (IsRepG0 + kNumStates)
|
|
-#define IsRepG2 (IsRepG1 + kNumStates)
|
|
-#define IsRep0Long (IsRepG2 + kNumStates)
|
|
-#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax))
|
|
-#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits))
|
|
-#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex)
|
|
-#define LenCoder (Align + kAlignTableSize)
|
|
-#define RepLenCoder (LenCoder + kNumLenProbs)
|
|
-#define Literal (RepLenCoder + kNumLenProbs)
|
|
-
|
|
-#define LZMA_BASE_SIZE 1846
|
|
-#define LZMA_LIT_SIZE 0x300
|
|
-
|
|
#if Literal != LZMA_BASE_SIZE
|
|
StopCompilingDueBUG
|
|
#endif
|
|
|
|
-#define LzmaProps_GetNumProbs(p) (Literal + ((UInt32)LZMA_LIT_SIZE << ((p)->lc + (p)->lp)))
|
|
-
|
|
-#define LZMA_DIC_MIN (1 << 12)
|
|
-
|
|
/* First LZMA-symbol is always decoded.
|
|
And it decodes new LZMA-symbols while (buf < bufLimit), but "buf" is without last normalization
|
|
Out:
|
|
@@ -782,7 +669,7 @@ void LzmaDec_InitDicAndState(CLzmaDec *p
|
|
p->needInitState = 1;
|
|
}
|
|
|
|
-void LzmaDec_Init(CLzmaDec *p)
|
|
+MY_EXTERN_C void LzmaDec_Init(CLzmaDec *p)
|
|
{
|
|
p->dicPos = 0;
|
|
LzmaDec_InitDicAndState(p, True, True);
|
|
@@ -800,7 +687,7 @@ static void LzmaDec_InitStateReal(CLzmaD
|
|
p->needInitState = 0;
|
|
}
|
|
|
|
-SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen,
|
|
+MY_EXTERN_C SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen,
|
|
ELzmaFinishMode finishMode, ELzmaStatus *status)
|
|
{
|
|
SizeT inSize = *srcLen;
|
|
@@ -975,7 +862,7 @@ SRes LzmaDec_DecodeToBuf(CLzmaDec *p, By
|
|
}
|
|
}
|
|
|
|
-void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc)
|
|
+MY_EXTERN_C void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc)
|
|
{
|
|
alloc->Free(alloc, p->probs);
|
|
p->probs = NULL;
|
|
@@ -1019,7 +906,7 @@ SRes LzmaProps_Decode(CLzmaProps *p, con
|
|
return SZ_OK;
|
|
}
|
|
|
|
-static SRes LzmaDec_AllocateProbs2(CLzmaDec *p, const CLzmaProps *propNew, ISzAlloc *alloc)
|
|
+MY_EXTERN_C SRes LzmaDec_AllocateProbs2(CLzmaDec *p, const CLzmaProps *propNew, ISzAlloc *alloc)
|
|
{
|
|
UInt32 numProbs = LzmaProps_GetNumProbs(propNew);
|
|
if (!p->probs || numProbs != p->numProbs)
|
|
Index: lzma1604/C/LzmaDec.h
|
|
===================================================================
|
|
--- lzma1604.orig/C/LzmaDec.h
|
|
+++ lzma1604/C/LzmaDec.h
|
|
@@ -6,6 +6,8 @@
|
|
|
|
#include "7zTypes.h"
|
|
|
|
+#include "../CPP/Common/MyGuidDef.h"
|
|
+
|
|
EXTERN_C_BEGIN
|
|
|
|
/* #define _LZMA_PROB32 */
|
|
@@ -18,6 +20,118 @@ EXTERN_C_BEGIN
|
|
#define CLzmaProb UInt16
|
|
#endif
|
|
|
|
+#define kNumTopBits 24
|
|
+#define kTopValue ((UInt32)1 << kNumTopBits)
|
|
+
|
|
+#define kNumBitModelTotalBits 11
|
|
+#define kBitModelTotal (1 << kNumBitModelTotalBits)
|
|
+#define kNumMoveBits 5
|
|
+
|
|
+#define RC_INIT_SIZE 5
|
|
+
|
|
+#define NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | (*buf++); }
|
|
+
|
|
+#define IF_BIT_0(p) ttt = *(p); NORMALIZE; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)
|
|
+#define UPDATE_0(p) range = bound; *(p) = (CLzmaProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits));
|
|
+#define UPDATE_1(p) range -= bound; code -= bound; *(p) = (CLzmaProb)(ttt - (ttt >> kNumMoveBits));
|
|
+#define GET_BIT2(p, i, A0, A1) IF_BIT_0(p) \
|
|
+ { UPDATE_0(p); i = (i + i); A0; } else \
|
|
+ { UPDATE_1(p); i = (i + i) + 1; A1; }
|
|
+#define GET_BIT(p, i) GET_BIT2(p, i, ; , ;)
|
|
+
|
|
+#define TREE_GET_BIT(probs, i) { GET_BIT((probs + i), i); }
|
|
+#define TREE_DECODE(probs, limit, i) \
|
|
+ { i = 1; do { TREE_GET_BIT(probs, i); } while (i < limit); i -= limit; }
|
|
+
|
|
+/* #define _LZMA_SIZE_OPT */
|
|
+
|
|
+#ifdef _LZMA_SIZE_OPT
|
|
+#define TREE_6_DECODE(probs, i) TREE_DECODE(probs, (1 << 6), i)
|
|
+#else
|
|
+#define TREE_6_DECODE(probs, i) \
|
|
+ { i = 1; \
|
|
+ TREE_GET_BIT(probs, i); \
|
|
+ TREE_GET_BIT(probs, i); \
|
|
+ TREE_GET_BIT(probs, i); \
|
|
+ TREE_GET_BIT(probs, i); \
|
|
+ TREE_GET_BIT(probs, i); \
|
|
+ TREE_GET_BIT(probs, i); \
|
|
+ i -= 0x40; }
|
|
+#endif
|
|
+
|
|
+#define NORMAL_LITER_DEC GET_BIT(prob + symbol, symbol)
|
|
+#define MATCHED_LITER_DEC \
|
|
+ matchByte <<= 1; \
|
|
+ bit = (matchByte & offs); \
|
|
+ probLit = prob + offs + bit + symbol; \
|
|
+ GET_BIT2(probLit, symbol, offs &= ~bit, offs &= bit)
|
|
+
|
|
+#define NORMALIZE_CHECK if (range < kTopValue) { if (buf >= bufLimit) return DUMMY_ERROR; range <<= 8; code = (code << 8) | (*buf++); }
|
|
+
|
|
+#define IF_BIT_0_CHECK(p) ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)
|
|
+#define UPDATE_0_CHECK range = bound;
|
|
+#define UPDATE_1_CHECK range -= bound; code -= bound;
|
|
+#define GET_BIT2_CHECK(p, i, A0, A1) IF_BIT_0_CHECK(p) \
|
|
+ { UPDATE_0_CHECK; i = (i + i); A0; } else \
|
|
+ { UPDATE_1_CHECK; i = (i + i) + 1; A1; }
|
|
+#define GET_BIT_CHECK(p, i) GET_BIT2_CHECK(p, i, ; , ;)
|
|
+#define TREE_DECODE_CHECK(probs, limit, i) \
|
|
+ { i = 1; do { GET_BIT_CHECK(probs + i, i) } while (i < limit); i -= limit; }
|
|
+
|
|
+
|
|
+#define kNumPosBitsMax 4
|
|
+#define kNumPosStatesMax (1 << kNumPosBitsMax)
|
|
+
|
|
+#define kLenNumLowBits 3
|
|
+#define kLenNumLowSymbols (1 << kLenNumLowBits)
|
|
+#define kLenNumMidBits 3
|
|
+#define kLenNumMidSymbols (1 << kLenNumMidBits)
|
|
+#define kLenNumHighBits 8
|
|
+#define kLenNumHighSymbols (1 << kLenNumHighBits)
|
|
+
|
|
+#define LenChoice 0
|
|
+#define LenChoice2 (LenChoice + 1)
|
|
+#define LenLow (LenChoice2 + 1)
|
|
+#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits))
|
|
+#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits))
|
|
+#define kNumLenProbs (LenHigh + kLenNumHighSymbols)
|
|
+
|
|
+
|
|
+#define kNumStates 12
|
|
+#define kNumLitStates 7
|
|
+
|
|
+#define kStartPosModelIndex 4
|
|
+#define kEndPosModelIndex 14
|
|
+#define kNumFullDistances (1 << (kEndPosModelIndex >> 1))
|
|
+
|
|
+#define kNumPosSlotBits 6
|
|
+#define kNumLenToPosStates 4
|
|
+
|
|
+#define kNumAlignBits 4
|
|
+#define kAlignTableSize (1 << kNumAlignBits)
|
|
+
|
|
+#define kMatchMinLen 2
|
|
+#define kMatchSpecLenStart (kMatchMinLen + kLenNumLowSymbols + kLenNumMidSymbols + kLenNumHighSymbols)
|
|
+
|
|
+#define IsMatch 0
|
|
+#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax))
|
|
+#define IsRepG0 (IsRep + kNumStates)
|
|
+#define IsRepG1 (IsRepG0 + kNumStates)
|
|
+#define IsRepG2 (IsRepG1 + kNumStates)
|
|
+#define IsRep0Long (IsRepG2 + kNumStates)
|
|
+#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax))
|
|
+#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits))
|
|
+#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex)
|
|
+#define LenCoder (Align + kAlignTableSize)
|
|
+#define RepLenCoder (LenCoder + kNumLenProbs)
|
|
+#define Literal (RepLenCoder + kNumLenProbs)
|
|
+
|
|
+#define LZMA_BASE_SIZE 1846
|
|
+#define LZMA_LIT_SIZE 0x300
|
|
+
|
|
+#define LzmaProps_GetNumProbs(p) (Literal + ((UInt32)LZMA_LIT_SIZE << ((p)->lc + (p)->lp)))
|
|
+
|
|
+#define LZMA_DIC_MIN (1 << 12)
|
|
|
|
/* ---------- LZMA Properties ---------- */
|
|
|
|
@@ -68,7 +182,7 @@ typedef struct
|
|
|
|
#define LzmaDec_Construct(p) { (p)->dic = 0; (p)->probs = 0; }
|
|
|
|
-void LzmaDec_Init(CLzmaDec *p);
|
|
+MY_EXTERN_C void LzmaDec_Init(CLzmaDec *p);
|
|
|
|
/* There are two types of LZMA streams:
|
|
0) Stream with end mark. That end mark adds about 6 bytes to compressed size.
|
|
@@ -128,9 +242,11 @@ LzmaDec_Allocate* can return:
|
|
SZ_ERROR_MEM - Memory allocation error
|
|
SZ_ERROR_UNSUPPORTED - Unsupported properties
|
|
*/
|
|
-
|
|
+
|
|
+MY_EXTERN_C SRes LzmaDec_AllocateProbs2(CLzmaDec *p, const CLzmaProps *propNew, ISzAlloc *alloc);
|
|
+
|
|
SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc);
|
|
-void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc);
|
|
+MY_EXTERN_C void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc);
|
|
|
|
SRes LzmaDec_Allocate(CLzmaDec *state, const Byte *prop, unsigned propsSize, ISzAlloc *alloc);
|
|
void LzmaDec_Free(CLzmaDec *state, ISzAlloc *alloc);
|
|
@@ -176,7 +292,7 @@ Returns:
|
|
SZ_ERROR_DATA - Data error
|
|
*/
|
|
|
|
-SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit,
|
|
+MY_EXTERN_C SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit,
|
|
const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status);
|
|
|
|
|
|
Index: lzma1604/C/LzmaEnc.c
|
|
===================================================================
|
|
--- lzma1604.orig/C/LzmaEnc.c
|
|
+++ lzma1604/C/LzmaEnc.c
|
|
@@ -47,7 +47,7 @@ static unsigned g_STAT_OFFSET = 0;
|
|
#define kNumBitPriceShiftBits 4
|
|
#define kBitPrice (1 << kNumBitPriceShiftBits)
|
|
|
|
-void LzmaEncProps_Init(CLzmaEncProps *p)
|
|
+MY_EXTERN_C void LzmaEncProps_Init(CLzmaEncProps *p)
|
|
{
|
|
p->level = 5;
|
|
p->dictSize = p->mc = 0;
|
|
@@ -2328,7 +2328,7 @@ SRes LzmaEnc_MemEncode(CLzmaEncHandle pp
|
|
}
|
|
|
|
|
|
-SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
|
|
+MY_EXTERN_C SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
|
|
const CLzmaEncProps *props, Byte *propsEncoded, SizeT *propsSize, int writeEndMark,
|
|
ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig)
|
|
{
|
|
Index: lzma1604/C/LzmaEnc.h
|
|
===================================================================
|
|
--- lzma1604.orig/C/LzmaEnc.h
|
|
+++ lzma1604/C/LzmaEnc.h
|
|
@@ -6,6 +6,8 @@
|
|
|
|
#include "7zTypes.h"
|
|
|
|
+#include "../CPP/Common/MyGuidDef.h"
|
|
+
|
|
EXTERN_C_BEGIN
|
|
|
|
#define LZMA_PROPS_SIZE 5
|
|
@@ -30,7 +32,7 @@ typedef struct _CLzmaEncProps
|
|
int numThreads; /* 1 or 2, default = 2 */
|
|
} CLzmaEncProps;
|
|
|
|
-void LzmaEncProps_Init(CLzmaEncProps *p);
|
|
+MY_EXTERN_C void LzmaEncProps_Init(CLzmaEncProps *p);
|
|
void LzmaEncProps_Normalize(CLzmaEncProps *p);
|
|
UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2);
|
|
|
|
@@ -69,7 +71,7 @@ Return code:
|
|
SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version)
|
|
*/
|
|
|
|
-SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
|
|
+MY_EXTERN_C SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
|
|
const CLzmaEncProps *props, Byte *propsEncoded, SizeT *propsSize, int writeEndMark,
|
|
ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig);
|
|
|
|
Index: lzma1604/CPP/7zip/Bundles/LzmaCon/makefile.gcc
|
|
===================================================================
|
|
--- lzma1604.orig/CPP/7zip/Bundles/LzmaCon/makefile.gcc
|
|
+++ lzma1604/CPP/7zip/Bundles/LzmaCon/makefile.gcc
|
|
@@ -1,7 +1,8 @@
|
|
-PROG = lzma
|
|
-CXX = g++ -O2
|
|
-# -Wall -Werror -Wno-delete-non-virtual-dtor
|
|
-CXX_C = gcc -O2 -Wall -Werror
|
|
+LIBRARY = liblzmasdk.so
|
|
+LIBRARYMINOR = $(LIBRARY).__LIBMAJ__
|
|
+LIBRARYMAJOR = $(LIBRARYMINOR).__LIBMIN__
|
|
+CXX = g++ $(RPM_OPT_FLAGS) -Wall -fPIC
|
|
+CXX_C = g++ $(RPM_OPT_FLAGS) -Wall -fPIC
|
|
|
|
ifdef SystemDrive
|
|
IS_MINGW = 1
|
|
@@ -70,12 +71,12 @@ OBJS = \
|
|
LzmaEnc.o \
|
|
Lzma86Dec.o \
|
|
Lzma86Enc.o \
|
|
+ LzmaLib.o \
|
|
|
|
+all: $(LIBRARYMAJOR)
|
|
|
|
-all: $(PROG)
|
|
-
|
|
-$(PROG): $(OBJS)
|
|
- $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB2)
|
|
+$(LIBRARYMAJOR): $(OBJS)
|
|
+ $(CXX) -o $(LIBRARYMAJOR) -shared -Wl,-soname=$(LIBRARYMINOR) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2)
|
|
|
|
LzmaAlone.o: LzmaAlone.cpp
|
|
$(CXX) $(CFLAGS) LzmaAlone.cpp
|
|
@@ -191,5 +192,9 @@ Lzma86Dec.o: ../../../../C/Lzma86Dec.c
|
|
Lzma86Enc.o: ../../../../C/Lzma86Enc.c
|
|
$(CXX_C) $(CFLAGS) ../../../../C/Lzma86Enc.c
|
|
|
|
+LzmaLib.o: ../../../../C/LzmaLib.c
|
|
+ $(CXX_C) $(CFLAGS) ../../../../C/LzmaLib.c
|
|
+
|
|
clean:
|
|
- -$(RM) $(PROG) $(OBJS)
|
|
+ -$(RM) $(LIBRARYMAJOR) $(OBJS)
|
|
+
|
|
Index: lzma1604/C/7zCrc.h
|
|
===================================================================
|
|
--- lzma1604.orig/C/7zCrc.h
|
|
+++ lzma1604/C/7zCrc.h
|
|
@@ -19,6 +19,11 @@ void MY_FAST_CALL CrcGenerateTable(void)
|
|
|
|
UInt32 MY_FAST_CALL CrcUpdate(UInt32 crc, const void *data, size_t size);
|
|
UInt32 MY_FAST_CALL CrcCalc(const void *data, size_t size);
|
|
+UInt32 MY_FAST_CALL CrcUpdateT1(UInt32 v, const void *data, size_t size, const UInt32 *table);
|
|
+#ifndef MY_CPU_BE
|
|
+ UInt32 MY_FAST_CALL CrcUpdateT4(UInt32 v, const void *data, size_t size, const UInt32 *table);
|
|
+ UInt32 MY_FAST_CALL CrcUpdateT8(UInt32 v, const void *data, size_t size, const UInt32 *table);
|
|
+#endif
|
|
|
|
EXTERN_C_END
|
|
|
|
Index: lzma1604/C/7zCrcOpt.c
|
|
===================================================================
|
|
--- lzma1604.orig/C/7zCrcOpt.c
|
|
+++ lzma1604/C/7zCrcOpt.c
|
|
@@ -7,6 +7,8 @@
|
|
|
|
#ifndef MY_CPU_BE
|
|
|
|
+EXTERN_C_BEGIN
|
|
+
|
|
#define CRC_UPDATE_BYTE_2(crc, b) (table[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8))
|
|
|
|
UInt32 MY_FAST_CALL CrcUpdateT4(UInt32 v, const void *data, size_t size, const UInt32 *table)
|
|
@@ -54,6 +56,8 @@ UInt32 MY_FAST_CALL CrcUpdateT8(UInt32 v
|
|
return v;
|
|
}
|
|
|
|
+EXTERN_C_END
|
|
+
|
|
#endif
|
|
|
|
|
|
Index: lzma1604/C/7zCrc.c
|
|
===================================================================
|
|
--- lzma1604.orig/C/7zCrc.c
|
|
+++ lzma1604/C/7zCrc.c
|
|
@@ -19,11 +19,6 @@
|
|
UInt32 MY_FAST_CALL CrcUpdateT1_BeT8(UInt32 v, const void *data, size_t size, const UInt32 *table);
|
|
#endif
|
|
|
|
-#ifndef MY_CPU_BE
|
|
- UInt32 MY_FAST_CALL CrcUpdateT4(UInt32 v, const void *data, size_t size, const UInt32 *table);
|
|
- UInt32 MY_FAST_CALL CrcUpdateT8(UInt32 v, const void *data, size_t size, const UInt32 *table);
|
|
-#endif
|
|
-
|
|
typedef UInt32 (MY_FAST_CALL *CRC_FUNC)(UInt32 v, const void *data, size_t size, const UInt32 *table);
|
|
|
|
CRC_FUNC g_CrcUpdateT4;
|