00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #ifndef __LZODEFS_H_INCLUDED
00042 #define __LZODEFS_H_INCLUDED 1
00043
00044 #if defined(__CYGWIN32__) && !defined(__CYGWIN__)
00045 # define __CYGWIN__ __CYGWIN32__
00046 #endif
00047 #if defined(__IBMCPP__) && !defined(__IBMC__)
00048 # define __IBMC__ __IBMCPP__
00049 #endif
00050 #if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER)
00051 # define __INTEL_COMPILER __ICL
00052 #endif
00053 #if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
00054 # define _ALL_SOURCE 1
00055 #endif
00056 #if defined(__mips__) && defined(__R5900__)
00057 # if !defined(__LONG_MAX__)
00058 # define __LONG_MAX__ 9223372036854775807L
00059 # endif
00060 #endif
00061 #if defined(__INTEL_COMPILER) && defined(__linux__)
00062 # pragma warning(disable: 193)
00063 #endif
00064 #if defined(__KEIL__) && defined(__C166__)
00065 # pragma warning disable = 322
00066 #elif 0 && defined(__C251__)
00067 # pragma warning disable = 322
00068 #endif
00069 #if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
00070 # if (_MSC_VER >= 1300)
00071 # pragma warning(disable: 4668)
00072 # endif
00073 #endif
00074 #if 0 && defined(__WATCOMC__)
00075 # if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
00076 # pragma warning 203 9
00077 # endif
00078 #endif
00079 #if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
00080 # pragma option -h
00081 #endif
00082 #if 0
00083 #define LZO_0xffffL 0xfffful
00084 #define LZO_0xffffffffL 0xfffffffful
00085 #else
00086 #define LZO_0xffffL 65535ul
00087 #define LZO_0xffffffffL 4294967295ul
00088 #endif
00089 #if (LZO_0xffffL == LZO_0xffffffffL)
00090 # error "your preprocessor is broken 1"
00091 #endif
00092 #if (16ul * 16384ul != 262144ul)
00093 # error "your preprocessor is broken 2"
00094 #endif
00095 #if 0
00096 #if (32767 >= 4294967295ul)
00097 # error "your preprocessor is broken 3"
00098 #endif
00099 #if (65535u >= 4294967295ul)
00100 # error "your preprocessor is broken 4"
00101 #endif
00102 #endif
00103 #if (UINT_MAX == LZO_0xffffL)
00104 #if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
00105 # if !defined(MSDOS)
00106 # define MSDOS 1
00107 # endif
00108 # if !defined(_MSDOS)
00109 # define _MSDOS 1
00110 # endif
00111 #elif 0 && defined(__VERSION) && defined(MB_LEN_MAX)
00112 # if (__VERSION == 520) && (MB_LEN_MAX == 1)
00113 # if !defined(__AZTEC_C__)
00114 # define __AZTEC_C__ __VERSION
00115 # endif
00116 # if !defined(__DOS__)
00117 # define __DOS__ 1
00118 # endif
00119 # endif
00120 #endif
00121 #endif
00122 #if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL)
00123 # define ptrdiff_t long
00124 # define _PTRDIFF_T_DEFINED
00125 #endif
00126 #if (UINT_MAX == LZO_0xffffL)
00127 # undef __LZO_RENAME_A
00128 # undef __LZO_RENAME_B
00129 # if defined(__AZTEC_C__) && defined(__DOS__)
00130 # define __LZO_RENAME_A 1
00131 # elif defined(_MSC_VER) && defined(MSDOS)
00132 # if (_MSC_VER < 600)
00133 # define __LZO_RENAME_A 1
00134 # elif (_MSC_VER < 700)
00135 # define __LZO_RENAME_B 1
00136 # endif
00137 # elif defined(__TSC__) && defined(__OS2__)
00138 # define __LZO_RENAME_A 1
00139 # elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410)
00140 # define __LZO_RENAME_A 1
00141 # elif defined(__PACIFIC__) && defined(DOS)
00142 # if !defined(__far)
00143 # define __far far
00144 # endif
00145 # if !defined(__near)
00146 # define __near near
00147 # endif
00148 # endif
00149 # if defined(__LZO_RENAME_A)
00150 # if !defined(__cdecl)
00151 # define __cdecl cdecl
00152 # endif
00153 # if !defined(__far)
00154 # define __far far
00155 # endif
00156 # if !defined(__huge)
00157 # define __huge huge
00158 # endif
00159 # if !defined(__near)
00160 # define __near near
00161 # endif
00162 # if !defined(__pascal)
00163 # define __pascal pascal
00164 # endif
00165 # if !defined(__huge)
00166 # define __huge huge
00167 # endif
00168 # elif defined(__LZO_RENAME_B)
00169 # if !defined(__cdecl)
00170 # define __cdecl _cdecl
00171 # endif
00172 # if !defined(__far)
00173 # define __far _far
00174 # endif
00175 # if !defined(__huge)
00176 # define __huge _huge
00177 # endif
00178 # if !defined(__near)
00179 # define __near _near
00180 # endif
00181 # if !defined(__pascal)
00182 # define __pascal _pascal
00183 # endif
00184 # elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
00185 # if !defined(__cdecl)
00186 # define __cdecl cdecl
00187 # endif
00188 # if !defined(__pascal)
00189 # define __pascal pascal
00190 # endif
00191 # endif
00192 # undef __LZO_RENAME_A
00193 # undef __LZO_RENAME_B
00194 #endif
00195 #if (UINT_MAX == LZO_0xffffL)
00196 #if defined(__AZTEC_C__) && defined(__DOS__)
00197 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1
00198 #elif defined(_MSC_VER) && defined(MSDOS)
00199 # if (_MSC_VER < 600)
00200 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1
00201 # endif
00202 # if (_MSC_VER < 700)
00203 # define LZO_BROKEN_INTEGRAL_PROMOTION 1
00204 # define LZO_BROKEN_SIZEOF 1
00205 # endif
00206 #elif defined(__PACIFIC__) && defined(DOS)
00207 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1
00208 #elif defined(__TURBOC__) && defined(__MSDOS__)
00209 # if (__TURBOC__ < 0x0150)
00210 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1
00211 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1
00212 # define LZO_BROKEN_INTEGRAL_PROMOTION 1
00213 # endif
00214 # if (__TURBOC__ < 0x0200)
00215 # define LZO_BROKEN_SIZEOF 1
00216 # endif
00217 # if (__TURBOC__ < 0x0400) && defined(__cplusplus)
00218 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1
00219 # endif
00220 #elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
00221 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1
00222 # define LZO_BROKEN_SIZEOF 1
00223 #endif
00224 #endif
00225 #if defined(__WATCOMC__) && (__WATCOMC__ < 900)
00226 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1
00227 #endif
00228 #if defined(_CRAY) && defined(_CRAY1)
00229 # define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1
00230 #endif
00231 #define LZO_PP_STRINGIZE(x) #x
00232 #define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x)
00233 #define LZO_PP_CONCAT2(a,b) a ## b
00234 #define LZO_PP_CONCAT3(a,b,c) a ## b ## c
00235 #define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d
00236 #define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
00237 #define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b)
00238 #define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c)
00239 #define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d)
00240 #define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e)
00241 #if 1
00242 #define LZO_CPP_STRINGIZE(x) #x
00243 #define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x)
00244 #define LZO_CPP_CONCAT2(a,b) a ## b
00245 #define LZO_CPP_CONCAT3(a,b,c) a ## b ## c
00246 #define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d
00247 #define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
00248 #define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b)
00249 #define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c)
00250 #define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d)
00251 #define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e)
00252 #endif
00253 #define __LZO_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o))
00254 #if 1 && defined(__cplusplus)
00255 # if !defined(__STDC_CONSTANT_MACROS)
00256 # define __STDC_CONSTANT_MACROS 1
00257 # endif
00258 # if !defined(__STDC_LIMIT_MACROS)
00259 # define __STDC_LIMIT_MACROS 1
00260 # endif
00261 #endif
00262 #if defined(__cplusplus)
00263 # define LZO_EXTERN_C extern "C"
00264 #else
00265 # define LZO_EXTERN_C extern
00266 #endif
00267 #if !defined(__LZO_OS_OVERRIDE)
00268 #if defined(LZO_OS_FREESTANDING)
00269 # define LZO_INFO_OS "freestanding"
00270 #elif defined(LZO_OS_EMBEDDED)
00271 # define LZO_INFO_OS "embedded"
00272 #elif 1 && defined(__IAR_SYSTEMS_ICC__)
00273 # define LZO_OS_EMBEDDED 1
00274 # define LZO_INFO_OS "embedded"
00275 #elif defined(__CYGWIN__) && defined(__GNUC__)
00276 # define LZO_OS_CYGWIN 1
00277 # define LZO_INFO_OS "cygwin"
00278 #elif defined(__EMX__) && defined(__GNUC__)
00279 # define LZO_OS_EMX 1
00280 # define LZO_INFO_OS "emx"
00281 #elif defined(__BEOS__)
00282 # define LZO_OS_BEOS 1
00283 # define LZO_INFO_OS "beos"
00284 #elif defined(__Lynx__)
00285 # define LZO_OS_LYNXOS 1
00286 # define LZO_INFO_OS "lynxos"
00287 #elif defined(__OS400__)
00288 # define LZO_OS_OS400 1
00289 # define LZO_INFO_OS "os400"
00290 #elif defined(__QNX__)
00291 # define LZO_OS_QNX 1
00292 # define LZO_INFO_OS "qnx"
00293 #elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460)
00294 # define LZO_OS_DOS32 1
00295 # define LZO_INFO_OS "dos32"
00296 #elif defined(__BORLANDC__) && defined(__DPMI16__)
00297 # define LZO_OS_DOS16 1
00298 # define LZO_INFO_OS "dos16"
00299 #elif defined(__ZTC__) && defined(DOS386)
00300 # define LZO_OS_DOS32 1
00301 # define LZO_INFO_OS "dos32"
00302 #elif defined(__OS2__) || defined(__OS2V2__)
00303 # if (UINT_MAX == LZO_0xffffL)
00304 # define LZO_OS_OS216 1
00305 # define LZO_INFO_OS "os216"
00306 # elif (UINT_MAX == LZO_0xffffffffL)
00307 # define LZO_OS_OS2 1
00308 # define LZO_INFO_OS "os2"
00309 # else
00310 # error "check your limits.h header"
00311 # endif
00312 #elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64)
00313 # define LZO_OS_WIN64 1
00314 # define LZO_INFO_OS "win64"
00315 #elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__)
00316 # define LZO_OS_WIN32 1
00317 # define LZO_INFO_OS "win32"
00318 #elif defined(__MWERKS__) && defined(__INTEL__)
00319 # define LZO_OS_WIN32 1
00320 # define LZO_INFO_OS "win32"
00321 #elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows)
00322 # if (UINT_MAX == LZO_0xffffL)
00323 # define LZO_OS_WIN16 1
00324 # define LZO_INFO_OS "win16"
00325 # elif (UINT_MAX == LZO_0xffffffffL)
00326 # define LZO_OS_WIN32 1
00327 # define LZO_INFO_OS "win32"
00328 # else
00329 # error "check your limits.h header"
00330 # endif
00331 #elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS))
00332 # if (UINT_MAX == LZO_0xffffL)
00333 # define LZO_OS_DOS16 1
00334 # define LZO_INFO_OS "dos16"
00335 # elif (UINT_MAX == LZO_0xffffffffL)
00336 # define LZO_OS_DOS32 1
00337 # define LZO_INFO_OS "dos32"
00338 # else
00339 # error "check your limits.h header"
00340 # endif
00341 #elif defined(__WATCOMC__)
00342 # if defined(__NT__) && (UINT_MAX == LZO_0xffffL)
00343 # define LZO_OS_DOS16 1
00344 # define LZO_INFO_OS "dos16"
00345 # elif defined(__NT__) && (__WATCOMC__ < 1100)
00346 # define LZO_OS_WIN32 1
00347 # define LZO_INFO_OS "win32"
00348 # elif defined(__linux__) || defined(__LINUX__)
00349 # define LZO_OS_POSIX 1
00350 # define LZO_INFO_OS "posix"
00351 # else
00352 # error "please specify a target using the -bt compiler option"
00353 # endif
00354 #elif defined(__palmos__)
00355 # define LZO_OS_PALMOS 1
00356 # define LZO_INFO_OS "palmos"
00357 #elif defined(__TOS__) || defined(__atarist__)
00358 # define LZO_OS_TOS 1
00359 # define LZO_INFO_OS "tos"
00360 #elif defined(macintosh) && !defined(__ppc__)
00361 # define LZO_OS_MACCLASSIC 1
00362 # define LZO_INFO_OS "macclassic"
00363 #elif defined(__VMS)
00364 # define LZO_OS_VMS 1
00365 # define LZO_INFO_OS "vms"
00366 #elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
00367 # define LZO_OS_CONSOLE 1
00368 # define LZO_OS_CONSOLE_PS2 1
00369 # define LZO_INFO_OS "console"
00370 # define LZO_INFO_OS_CONSOLE "ps2"
00371 #elif (defined(__mips__) && defined(__psp__))
00372 # define LZO_OS_CONSOLE 1
00373 # define LZO_OS_CONSOLE_PSP 1
00374 # define LZO_INFO_OS "console"
00375 # define LZO_INFO_OS_CONSOLE "psp"
00376 #else
00377 # define LZO_OS_POSIX 1
00378 # define LZO_INFO_OS "posix"
00379 #endif
00380 #if (LZO_OS_POSIX)
00381 # if defined(_AIX) || defined(__AIX__) || defined(__aix__)
00382 # define LZO_OS_POSIX_AIX 1
00383 # define LZO_INFO_OS_POSIX "aix"
00384 # elif defined(__FreeBSD__)
00385 # define LZO_OS_POSIX_FREEBSD 1
00386 # define LZO_INFO_OS_POSIX "freebsd"
00387 # elif defined(__hpux__) || defined(__hpux)
00388 # define LZO_OS_POSIX_HPUX 1
00389 # define LZO_INFO_OS_POSIX "hpux"
00390 # elif defined(__INTERIX)
00391 # define LZO_OS_POSIX_INTERIX 1
00392 # define LZO_INFO_OS_POSIX "interix"
00393 # elif defined(__IRIX__) || defined(__irix__)
00394 # define LZO_OS_POSIX_IRIX 1
00395 # define LZO_INFO_OS_POSIX "irix"
00396 # elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
00397 # define LZO_OS_POSIX_LINUX 1
00398 # define LZO_INFO_OS_POSIX "linux"
00399 # elif defined(__APPLE__) || defined(__MACOS__)
00400 # define LZO_OS_POSIX_MACOSX 1
00401 # define LZO_INFO_OS_POSIX "macosx"
00402 # elif defined(__minix__) || defined(__minix)
00403 # define LZO_OS_POSIX_MINIX 1
00404 # define LZO_INFO_OS_POSIX "minix"
00405 # elif defined(__NetBSD__)
00406 # define LZO_OS_POSIX_NETBSD 1
00407 # define LZO_INFO_OS_POSIX "netbsd"
00408 # elif defined(__OpenBSD__)
00409 # define LZO_OS_POSIX_OPENBSD 1
00410 # define LZO_INFO_OS_POSIX "openbsd"
00411 # elif defined(__osf__)
00412 # define LZO_OS_POSIX_OSF 1
00413 # define LZO_INFO_OS_POSIX "osf"
00414 # elif defined(__solaris__) || defined(__sun)
00415 # if defined(__SVR4) || defined(__svr4__)
00416 # define LZO_OS_POSIX_SOLARIS 1
00417 # define LZO_INFO_OS_POSIX "solaris"
00418 # else
00419 # define LZO_OS_POSIX_SUNOS 1
00420 # define LZO_INFO_OS_POSIX "sunos"
00421 # endif
00422 # elif defined(__ultrix__) || defined(__ultrix)
00423 # define LZO_OS_POSIX_ULTRIX 1
00424 # define LZO_INFO_OS_POSIX "ultrix"
00425 # elif defined(_UNICOS)
00426 # define LZO_OS_POSIX_UNICOS 1
00427 # define LZO_INFO_OS_POSIX "unicos"
00428 # else
00429 # define LZO_OS_POSIX_UNKNOWN 1
00430 # define LZO_INFO_OS_POSIX "unknown"
00431 # endif
00432 #endif
00433 #endif
00434 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
00435 # if (UINT_MAX != LZO_0xffffL)
00436 # error "this should not happen"
00437 # endif
00438 # if (ULONG_MAX != LZO_0xffffffffL)
00439 # error "this should not happen"
00440 # endif
00441 #endif
00442 #if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64)
00443 # if (UINT_MAX != LZO_0xffffffffL)
00444 # error "this should not happen"
00445 # endif
00446 # if (ULONG_MAX != LZO_0xffffffffL)
00447 # error "this should not happen"
00448 # endif
00449 #endif
00450 #if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
00451 # define LZO_CC_CILLY 1
00452 # define LZO_INFO_CC "Cilly"
00453 # if defined(__CILLY__)
00454 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__)
00455 # else
00456 # define LZO_INFO_CCVER "unknown"
00457 # endif
00458 #elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
00459 # define LZO_CC_SDCC 1
00460 # define LZO_INFO_CC "sdcc"
00461 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC)
00462 #elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
00463 # define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
00464 # define LZO_INFO_CC "Pathscale C"
00465 # define LZO_INFO_CCVER __PATHSCALE__
00466 #elif defined(__INTEL_COMPILER)
00467 # define LZO_CC_INTELC 1
00468 # define LZO_INFO_CC "Intel C"
00469 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER)
00470 # if defined(_WIN32) || defined(_WIN64)
00471 # define LZO_CC_SYNTAX_MSC 1
00472 # else
00473 # define LZO_CC_SYNTAX_GNUC 1
00474 # endif
00475 #elif defined(__POCC__) && defined(_WIN32)
00476 # define LZO_CC_PELLESC 1
00477 # define LZO_INFO_CC "Pelles C"
00478 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__)
00479 #elif defined(__llvm__) && defined(__GNUC__) && defined(__VERSION__)
00480 # if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
00481 # define LZO_CC_LLVM (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
00482 # else
00483 # define LZO_CC_LLVM (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
00484 # endif
00485 # define LZO_INFO_CC "llvm-gcc"
00486 # define LZO_INFO_CCVER __VERSION__
00487 #elif defined(__GNUC__) && defined(__VERSION__)
00488 # if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
00489 # define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
00490 # elif defined(__GNUC_MINOR__)
00491 # define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
00492 # else
00493 # define LZO_CC_GNUC (__GNUC__ * 0x10000L)
00494 # endif
00495 # define LZO_INFO_CC "gcc"
00496 # define LZO_INFO_CCVER __VERSION__
00497 #elif defined(__ACK__) && defined(_ACK)
00498 # define LZO_CC_ACK 1
00499 # define LZO_INFO_CC "Amsterdam Compiler Kit C"
00500 # define LZO_INFO_CCVER "unknown"
00501 #elif defined(__AZTEC_C__)
00502 # define LZO_CC_AZTECC 1
00503 # define LZO_INFO_CC "Aztec C"
00504 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__)
00505 #elif defined(__BORLANDC__)
00506 # define LZO_CC_BORLANDC 1
00507 # define LZO_INFO_CC "Borland C"
00508 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__)
00509 #elif defined(_CRAYC) && defined(_RELEASE)
00510 # define LZO_CC_CRAYC 1
00511 # define LZO_INFO_CC "Cray C"
00512 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE)
00513 #elif defined(__DMC__) && defined(__SC__)
00514 # define LZO_CC_DMC 1
00515 # define LZO_INFO_CC "Digital Mars C"
00516 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__)
00517 #elif defined(__DECC)
00518 # define LZO_CC_DECC 1
00519 # define LZO_INFO_CC "DEC C"
00520 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC)
00521 #elif defined(__HIGHC__)
00522 # define LZO_CC_HIGHC 1
00523 # define LZO_INFO_CC "MetaWare High C"
00524 # define LZO_INFO_CCVER "unknown"
00525 #elif defined(__IAR_SYSTEMS_ICC__)
00526 # define LZO_CC_IARC 1
00527 # define LZO_INFO_CC "IAR C"
00528 # if defined(__VER__)
00529 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__)
00530 # else
00531 # define LZO_INFO_CCVER "unknown"
00532 # endif
00533 #elif defined(__IBMC__)
00534 # define LZO_CC_IBMC 1
00535 # define LZO_INFO_CC "IBM C"
00536 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__)
00537 #elif defined(__KEIL__) && defined(__C166__)
00538 # define LZO_CC_KEILC 1
00539 # define LZO_INFO_CC "Keil C"
00540 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__)
00541 #elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
00542 # define LZO_CC_LCCWIN32 1
00543 # define LZO_INFO_CC "lcc-win32"
00544 # define LZO_INFO_CCVER "unknown"
00545 #elif defined(__LCC__)
00546 # define LZO_CC_LCC 1
00547 # define LZO_INFO_CC "lcc"
00548 # if defined(__LCC_VERSION__)
00549 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__)
00550 # else
00551 # define LZO_INFO_CCVER "unknown"
00552 # endif
00553 #elif defined(_MSC_VER)
00554 # define LZO_CC_MSC 1
00555 # define LZO_INFO_CC "Microsoft C"
00556 # if defined(_MSC_FULL_VER)
00557 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER)
00558 # else
00559 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER)
00560 # endif
00561 #elif defined(__MWERKS__)
00562 # define LZO_CC_MWERKS 1
00563 # define LZO_INFO_CC "Metrowerks C"
00564 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__)
00565 #elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
00566 # define LZO_CC_NDPC 1
00567 # define LZO_INFO_CC "Microway NDP C"
00568 # define LZO_INFO_CCVER "unknown"
00569 #elif defined(__PACIFIC__)
00570 # define LZO_CC_PACIFICC 1
00571 # define LZO_INFO_CC "Pacific C"
00572 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__)
00573 #elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
00574 # define LZO_CC_PGI 1
00575 # define LZO_INFO_CC "Portland Group PGI C"
00576 # define LZO_INFO_CCVER "unknown"
00577 #elif defined(__PUREC__) && defined(__TOS__)
00578 # define LZO_CC_PUREC 1
00579 # define LZO_INFO_CC "Pure C"
00580 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__)
00581 #elif defined(__SC__) && defined(__ZTC__)
00582 # define LZO_CC_SYMANTECC 1
00583 # define LZO_INFO_CC "Symantec C"
00584 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__)
00585 #elif defined(__SUNPRO_C)
00586 # define LZO_INFO_CC "SunPro C"
00587 # if ((__SUNPRO_C)+0 > 0)
00588 # define LZO_CC_SUNPROC __SUNPRO_C
00589 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C)
00590 # else
00591 # define LZO_CC_SUNPROC 1
00592 # define LZO_INFO_CCVER "unknown"
00593 # endif
00594 #elif defined(__SUNPRO_CC)
00595 # define LZO_INFO_CC "SunPro C"
00596 # if ((__SUNPRO_CC)+0 > 0)
00597 # define LZO_CC_SUNPROC __SUNPRO_CC
00598 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC)
00599 # else
00600 # define LZO_CC_SUNPROC 1
00601 # define LZO_INFO_CCVER "unknown"
00602 # endif
00603 #elif defined(__TINYC__)
00604 # define LZO_CC_TINYC 1
00605 # define LZO_INFO_CC "Tiny C"
00606 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__)
00607 #elif defined(__TSC__)
00608 # define LZO_CC_TOPSPEEDC 1
00609 # define LZO_INFO_CC "TopSpeed C"
00610 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TSC__)
00611 #elif defined(__WATCOMC__)
00612 # define LZO_CC_WATCOMC 1
00613 # define LZO_INFO_CC "Watcom C"
00614 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__)
00615 #elif defined(__TURBOC__)
00616 # define LZO_CC_TURBOC 1
00617 # define LZO_INFO_CC "Turbo C"
00618 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__)
00619 #elif defined(__ZTC__)
00620 # define LZO_CC_ZORTECHC 1
00621 # define LZO_INFO_CC "Zortech C"
00622 # if (__ZTC__ == 0x310)
00623 # define LZO_INFO_CCVER "0x310"
00624 # else
00625 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__)
00626 # endif
00627 #else
00628 # define LZO_CC_UNKNOWN 1
00629 # define LZO_INFO_CC "unknown"
00630 # define LZO_INFO_CCVER "unknown"
00631 #endif
00632 #if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
00633 # error "LZO_CC_MSC: _MSC_FULL_VER is not defined"
00634 #endif
00635 #if !defined(__LZO_ARCH_OVERRIDE) && !defined(LZO_ARCH_GENERIC) && defined(_CRAY)
00636 # if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY)
00637 # if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E)
00638 # define LZO_ARCH_CRAY_MPP 1
00639 # elif defined(_CRAY1)
00640 # define LZO_ARCH_CRAY_PVP 1
00641 # endif
00642 # endif
00643 #endif
00644 #if !defined(__LZO_ARCH_OVERRIDE)
00645 #if defined(LZO_ARCH_GENERIC)
00646 # define LZO_INFO_ARCH "generic"
00647 #elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
00648 # define LZO_ARCH_I086 1
00649 # define LZO_ARCH_IA16 1
00650 # define LZO_INFO_ARCH "i086"
00651 #elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
00652 # define LZO_ARCH_ALPHA 1
00653 # define LZO_INFO_ARCH "alpha"
00654 #elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E))
00655 # define LZO_ARCH_ALPHA 1
00656 # define LZO_INFO_ARCH "alpha"
00657 #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
00658 # define LZO_ARCH_AMD64 1
00659 # define LZO_INFO_ARCH "amd64"
00660 #elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB))
00661 # define LZO_ARCH_ARM 1
00662 # define LZO_ARCH_ARM_THUMB 1
00663 # define LZO_INFO_ARCH "arm_thumb"
00664 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
00665 # define LZO_ARCH_ARM 1
00666 # if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1)
00667 # define LZO_ARCH_ARM_THUMB 1
00668 # define LZO_INFO_ARCH "arm_thumb"
00669 # elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2)
00670 # define LZO_INFO_ARCH "arm"
00671 # else
00672 # define LZO_INFO_ARCH "arm"
00673 # endif
00674 #elif defined(__arm__) || defined(_M_ARM)
00675 # define LZO_ARCH_ARM 1
00676 # define LZO_INFO_ARCH "arm"
00677 #elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__)
00678 # define LZO_ARCH_AVR 1
00679 # define LZO_INFO_ARCH "avr"
00680 #elif defined(__bfin__)
00681 # define LZO_ARCH_BLACKFIN 1
00682 # define LZO_INFO_ARCH "blackfin"
00683 #elif (UINT_MAX == LZO_0xffffL) && defined(__C166__)
00684 # define LZO_ARCH_C166 1
00685 # define LZO_INFO_ARCH "c166"
00686 #elif defined(__cris__)
00687 # define LZO_ARCH_CRIS 1
00688 # define LZO_INFO_ARCH "cris"
00689 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__)
00690 # define LZO_ARCH_EZ80 1
00691 # define LZO_INFO_ARCH "ez80"
00692 #elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
00693 # define LZO_ARCH_H8300 1
00694 # define LZO_INFO_ARCH "h8300"
00695 #elif defined(__hppa__) || defined(__hppa)
00696 # define LZO_ARCH_HPPA 1
00697 # define LZO_INFO_ARCH "hppa"
00698 #elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386)
00699 # define LZO_ARCH_I386 1
00700 # define LZO_ARCH_IA32 1
00701 # define LZO_INFO_ARCH "i386"
00702 #elif (LZO_CC_ZORTECHC && defined(__I86__))
00703 # define LZO_ARCH_I386 1
00704 # define LZO_ARCH_IA32 1
00705 # define LZO_INFO_ARCH "i386"
00706 #elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386)
00707 # define LZO_ARCH_I386 1
00708 # define LZO_ARCH_IA32 1
00709 # define LZO_INFO_ARCH "i386"
00710 #elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64)
00711 # define LZO_ARCH_IA64 1
00712 # define LZO_INFO_ARCH "ia64"
00713 #elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__)
00714 # define LZO_ARCH_M16C 1
00715 # define LZO_INFO_ARCH "m16c"
00716 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__)
00717 # define LZO_ARCH_M16C 1
00718 # define LZO_INFO_ARCH "m16c"
00719 #elif defined(__m32r__)
00720 # define LZO_ARCH_M32R 1
00721 # define LZO_INFO_ARCH "m32r"
00722 #elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K)
00723 # define LZO_ARCH_M68K 1
00724 # define LZO_INFO_ARCH "m68k"
00725 #elif (UINT_MAX == LZO_0xffffL) && defined(__C251__)
00726 # define LZO_ARCH_MCS251 1
00727 # define LZO_INFO_ARCH "mcs251"
00728 #elif (UINT_MAX == LZO_0xffffL) && defined(__C51__)
00729 # define LZO_ARCH_MCS51 1
00730 # define LZO_INFO_ARCH "mcs51"
00731 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__)
00732 # define LZO_ARCH_MCS51 1
00733 # define LZO_INFO_ARCH "mcs51"
00734 #elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000)
00735 # define LZO_ARCH_MIPS 1
00736 # define LZO_INFO_ARCH "mips"
00737 #elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__)
00738 # define LZO_ARCH_MSP430 1
00739 # define LZO_INFO_ARCH "msp430"
00740 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__)
00741 # define LZO_ARCH_MSP430 1
00742 # define LZO_INFO_ARCH "msp430"
00743 #elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
00744 # define LZO_ARCH_POWERPC 1
00745 # define LZO_INFO_ARCH "powerpc"
00746 #elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
00747 # define LZO_ARCH_S390 1
00748 # define LZO_INFO_ARCH "s390"
00749 #elif defined(__sh__) || defined(_M_SH)
00750 # define LZO_ARCH_SH 1
00751 # define LZO_INFO_ARCH "sh"
00752 #elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
00753 # define LZO_ARCH_SPARC 1
00754 # define LZO_INFO_ARCH "sparc"
00755 #elif defined(__SPU__)
00756 # define LZO_ARCH_SPU 1
00757 # define LZO_INFO_ARCH "spu"
00758 #elif (UINT_MAX == LZO_0xffffL) && defined(__z80)
00759 # define LZO_ARCH_Z80 1
00760 # define LZO_INFO_ARCH "z80"
00761 #elif (LZO_ARCH_CRAY_PVP)
00762 # if defined(_CRAYSV1)
00763 # define LZO_ARCH_CRAY_SV1 1
00764 # define LZO_INFO_ARCH "cray_sv1"
00765 # elif (_ADDR64)
00766 # define LZO_ARCH_CRAY_T90 1
00767 # define LZO_INFO_ARCH "cray_t90"
00768 # elif (_ADDR32)
00769 # define LZO_ARCH_CRAY_YMP 1
00770 # define LZO_INFO_ARCH "cray_ymp"
00771 # else
00772 # define LZO_ARCH_CRAY_XMP 1
00773 # define LZO_INFO_ARCH "cray_xmp"
00774 # endif
00775 #else
00776 # define LZO_ARCH_UNKNOWN 1
00777 # define LZO_INFO_ARCH "unknown"
00778 #endif
00779 #endif
00780 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2)
00781 # error "FIXME - missing define for CPU architecture"
00782 #endif
00783 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32)
00784 # error "FIXME - missing WIN32 define for CPU architecture"
00785 #endif
00786 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64)
00787 # error "FIXME - missing WIN64 define for CPU architecture"
00788 #endif
00789 #if (LZO_OS_OS216 || LZO_OS_WIN16)
00790 # define LZO_ARCH_I086PM 1
00791 # define LZO_ARCH_IA16PM 1
00792 #elif 1 && (LZO_OS_DOS16 && defined(BLX286))
00793 # define LZO_ARCH_I086PM 1
00794 # define LZO_ARCH_IA16PM 1
00795 #elif 1 && (LZO_OS_DOS16 && defined(DOSX286))
00796 # define LZO_ARCH_I086PM 1
00797 # define LZO_ARCH_IA16PM 1
00798 #elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__))
00799 # define LZO_ARCH_I086PM 1
00800 # define LZO_ARCH_IA16PM 1
00801 #endif
00802 #if defined(LZO_ARCH_ARM_THUMB) && !defined(LZO_ARCH_ARM)
00803 # error "this should not happen"
00804 #endif
00805 #if defined(LZO_ARCH_I086PM) && !defined(LZO_ARCH_I086)
00806 # error "this should not happen"
00807 #endif
00808 #if (LZO_ARCH_I086)
00809 # if (UINT_MAX != LZO_0xffffL)
00810 # error "this should not happen"
00811 # endif
00812 # if (ULONG_MAX != LZO_0xffffffffL)
00813 # error "this should not happen"
00814 # endif
00815 #endif
00816 #if (LZO_ARCH_I386)
00817 # if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__)
00818 # error "this should not happen"
00819 # endif
00820 # if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__)
00821 # error "this should not happen"
00822 # endif
00823 # if (ULONG_MAX != LZO_0xffffffffL)
00824 # error "this should not happen"
00825 # endif
00826 #endif
00827 #if !defined(__LZO_MM_OVERRIDE)
00828 #if (LZO_ARCH_I086)
00829 #if (UINT_MAX != LZO_0xffffL)
00830 # error "this should not happen"
00831 #endif
00832 #if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
00833 # define LZO_MM_TINY 1
00834 #elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM)
00835 # define LZO_MM_HUGE 1
00836 #elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL)
00837 # define LZO_MM_SMALL 1
00838 #elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM)
00839 # define LZO_MM_MEDIUM 1
00840 #elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM)
00841 # define LZO_MM_COMPACT 1
00842 #elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL)
00843 # define LZO_MM_LARGE 1
00844 #elif (LZO_CC_AZTECC)
00845 # if defined(_LARGE_CODE) && defined(_LARGE_DATA)
00846 # define LZO_MM_LARGE 1
00847 # elif defined(_LARGE_CODE)
00848 # define LZO_MM_MEDIUM 1
00849 # elif defined(_LARGE_DATA)
00850 # define LZO_MM_COMPACT 1
00851 # else
00852 # define LZO_MM_SMALL 1
00853 # endif
00854 #elif (LZO_CC_ZORTECHC && defined(__VCM__))
00855 # define LZO_MM_LARGE 1
00856 #else
00857 # error "unknown memory model"
00858 #endif
00859 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
00860 #define LZO_HAVE_MM_HUGE_PTR 1
00861 #define LZO_HAVE_MM_HUGE_ARRAY 1
00862 #if (LZO_MM_TINY)
00863 # undef LZO_HAVE_MM_HUGE_ARRAY
00864 #endif
00865 #if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC)
00866 # undef LZO_HAVE_MM_HUGE_PTR
00867 # undef LZO_HAVE_MM_HUGE_ARRAY
00868 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
00869 # undef LZO_HAVE_MM_HUGE_ARRAY
00870 #elif (LZO_CC_MSC && defined(_QC))
00871 # undef LZO_HAVE_MM_HUGE_ARRAY
00872 # if (_MSC_VER < 600)
00873 # undef LZO_HAVE_MM_HUGE_PTR
00874 # endif
00875 #elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295))
00876 # undef LZO_HAVE_MM_HUGE_ARRAY
00877 #endif
00878 #if (LZO_ARCH_I086PM) && !defined(LZO_HAVE_MM_HUGE_PTR)
00879 # if (LZO_OS_DOS16)
00880 # error "this should not happen"
00881 # elif (LZO_CC_ZORTECHC)
00882 # else
00883 # error "this should not happen"
00884 # endif
00885 #endif
00886 #ifdef __cplusplus
00887 extern "C" {
00888 #endif
00889 #if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
00890 extern void __near __cdecl _AHSHIFT(void);
00891 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
00892 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
00893 extern void __near __cdecl _AHSHIFT(void);
00894 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
00895 #elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC)
00896 extern void __near __cdecl _AHSHIFT(void);
00897 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
00898 #elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295))
00899 extern void __near __cdecl _AHSHIFT(void);
00900 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
00901 #elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16)
00902 # define LZO_MM_AHSHIFT 12
00903 #elif (LZO_CC_WATCOMC)
00904 extern unsigned char _HShift;
00905 # define LZO_MM_AHSHIFT ((unsigned) _HShift)
00906 #else
00907 # error "FIXME - implement LZO_MM_AHSHIFT"
00908 #endif
00909 #ifdef __cplusplus
00910 }
00911 #endif
00912 #endif
00913 #elif (LZO_ARCH_C166)
00914 #if !defined(__MODEL__)
00915 # error "FIXME - C166 __MODEL__"
00916 #elif ((__MODEL__) == 0)
00917 # define LZO_MM_SMALL 1
00918 #elif ((__MODEL__) == 1)
00919 # define LZO_MM_SMALL 1
00920 #elif ((__MODEL__) == 2)
00921 # define LZO_MM_LARGE 1
00922 #elif ((__MODEL__) == 3)
00923 # define LZO_MM_TINY 1
00924 #elif ((__MODEL__) == 4)
00925 # define LZO_MM_XTINY 1
00926 #elif ((__MODEL__) == 5)
00927 # define LZO_MM_XSMALL 1
00928 #else
00929 # error "FIXME - C166 __MODEL__"
00930 #endif
00931 #elif (LZO_ARCH_MCS251)
00932 #if !defined(__MODEL__)
00933 # error "FIXME - MCS251 __MODEL__"
00934 #elif ((__MODEL__) == 0)
00935 # define LZO_MM_SMALL 1
00936 #elif ((__MODEL__) == 2)
00937 # define LZO_MM_LARGE 1
00938 #elif ((__MODEL__) == 3)
00939 # define LZO_MM_TINY 1
00940 #elif ((__MODEL__) == 4)
00941 # define LZO_MM_XTINY 1
00942 #elif ((__MODEL__) == 5)
00943 # define LZO_MM_XSMALL 1
00944 #else
00945 # error "FIXME - MCS251 __MODEL__"
00946 #endif
00947 #elif (LZO_ARCH_MCS51)
00948 #if !defined(__MODEL__)
00949 # error "FIXME - MCS51 __MODEL__"
00950 #elif ((__MODEL__) == 1)
00951 # define LZO_MM_SMALL 1
00952 #elif ((__MODEL__) == 2)
00953 # define LZO_MM_LARGE 1
00954 #elif ((__MODEL__) == 3)
00955 # define LZO_MM_TINY 1
00956 #elif ((__MODEL__) == 4)
00957 # define LZO_MM_XTINY 1
00958 #elif ((__MODEL__) == 5)
00959 # define LZO_MM_XSMALL 1
00960 #else
00961 # error "FIXME - MCS51 __MODEL__"
00962 #endif
00963 #elif (LZO_ARCH_CRAY_PVP)
00964 # define LZO_MM_PVP 1
00965 #else
00966 # define LZO_MM_FLAT 1
00967 #endif
00968 #if (LZO_MM_COMPACT)
00969 # define LZO_INFO_MM "compact"
00970 #elif (LZO_MM_FLAT)
00971 # define LZO_INFO_MM "flat"
00972 #elif (LZO_MM_HUGE)
00973 # define LZO_INFO_MM "huge"
00974 #elif (LZO_MM_LARGE)
00975 # define LZO_INFO_MM "large"
00976 #elif (LZO_MM_MEDIUM)
00977 # define LZO_INFO_MM "medium"
00978 #elif (LZO_MM_PVP)
00979 # define LZO_INFO_MM "pvp"
00980 #elif (LZO_MM_SMALL)
00981 # define LZO_INFO_MM "small"
00982 #elif (LZO_MM_TINY)
00983 # define LZO_INFO_MM "tiny"
00984 #else
00985 # error "unknown memory model"
00986 #endif
00987 #endif
00988 #if defined(SIZEOF_SHORT)
00989 # define LZO_SIZEOF_SHORT (SIZEOF_SHORT)
00990 #endif
00991 #if defined(SIZEOF_INT)
00992 # define LZO_SIZEOF_INT (SIZEOF_INT)
00993 #endif
00994 #if defined(SIZEOF_LONG)
00995 # define LZO_SIZEOF_LONG (SIZEOF_LONG)
00996 #endif
00997 #if defined(SIZEOF_LONG_LONG)
00998 # define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG)
00999 #endif
01000 #if defined(SIZEOF___INT16)
01001 # define LZO_SIZEOF___INT16 (SIZEOF___INT16)
01002 #endif
01003 #if defined(SIZEOF___INT32)
01004 # define LZO_SIZEOF___INT32 (SIZEOF___INT32)
01005 #endif
01006 #if defined(SIZEOF___INT64)
01007 # define LZO_SIZEOF___INT64 (SIZEOF___INT64)
01008 #endif
01009 #if defined(SIZEOF_VOID_P)
01010 # define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P)
01011 #endif
01012 #if defined(SIZEOF_SIZE_T)
01013 # define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T)
01014 #endif
01015 #if defined(SIZEOF_PTRDIFF_T)
01016 # define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T)
01017 #endif
01018 #define __LZO_LSR(x,b) (((x)+0ul) >> (b))
01019 #if !defined(LZO_SIZEOF_SHORT)
01020 # if (LZO_ARCH_CRAY_PVP)
01021 # define LZO_SIZEOF_SHORT 8
01022 # elif (USHRT_MAX == LZO_0xffffL)
01023 # define LZO_SIZEOF_SHORT 2
01024 # elif (__LZO_LSR(USHRT_MAX,7) == 1)
01025 # define LZO_SIZEOF_SHORT 1
01026 # elif (__LZO_LSR(USHRT_MAX,15) == 1)
01027 # define LZO_SIZEOF_SHORT 2
01028 # elif (__LZO_LSR(USHRT_MAX,31) == 1)
01029 # define LZO_SIZEOF_SHORT 4
01030 # elif (__LZO_LSR(USHRT_MAX,63) == 1)
01031 # define LZO_SIZEOF_SHORT 8
01032 # elif (__LZO_LSR(USHRT_MAX,127) == 1)
01033 # define LZO_SIZEOF_SHORT 16
01034 # else
01035 # error "LZO_SIZEOF_SHORT"
01036 # endif
01037 #endif
01038 #if !defined(LZO_SIZEOF_INT)
01039 # if (LZO_ARCH_CRAY_PVP)
01040 # define LZO_SIZEOF_INT 8
01041 # elif (UINT_MAX == LZO_0xffffL)
01042 # define LZO_SIZEOF_INT 2
01043 # elif (UINT_MAX == LZO_0xffffffffL)
01044 # define LZO_SIZEOF_INT 4
01045 # elif (__LZO_LSR(UINT_MAX,7) == 1)
01046 # define LZO_SIZEOF_INT 1
01047 # elif (__LZO_LSR(UINT_MAX,15) == 1)
01048 # define LZO_SIZEOF_INT 2
01049 # elif (__LZO_LSR(UINT_MAX,31) == 1)
01050 # define LZO_SIZEOF_INT 4
01051 # elif (__LZO_LSR(UINT_MAX,63) == 1)
01052 # define LZO_SIZEOF_INT 8
01053 # elif (__LZO_LSR(UINT_MAX,127) == 1)
01054 # define LZO_SIZEOF_INT 16
01055 # else
01056 # error "LZO_SIZEOF_INT"
01057 # endif
01058 #endif
01059 #if !defined(LZO_SIZEOF_LONG)
01060 # if (ULONG_MAX == LZO_0xffffffffL)
01061 # define LZO_SIZEOF_LONG 4
01062 # elif (__LZO_LSR(ULONG_MAX,7) == 1)
01063 # define LZO_SIZEOF_LONG 1
01064 # elif (__LZO_LSR(ULONG_MAX,15) == 1)
01065 # define LZO_SIZEOF_LONG 2
01066 # elif (__LZO_LSR(ULONG_MAX,31) == 1)
01067 # define LZO_SIZEOF_LONG 4
01068 # elif (__LZO_LSR(ULONG_MAX,63) == 1)
01069 # define LZO_SIZEOF_LONG 8
01070 # elif (__LZO_LSR(ULONG_MAX,127) == 1)
01071 # define LZO_SIZEOF_LONG 16
01072 # else
01073 # error "LZO_SIZEOF_LONG"
01074 # endif
01075 #endif
01076 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
01077 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
01078 # if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
01079 # if (LZO_CC_GNUC >= 0x030300ul)
01080 # if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0)
01081 # define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG
01082 # elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1)
01083 # define LZO_SIZEOF_LONG_LONG 4
01084 # endif
01085 # endif
01086 # endif
01087 #endif
01088 #endif
01089 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
01090 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
01091 #if (LZO_ARCH_I086 && LZO_CC_DMC)
01092 #elif (LZO_CC_CILLY) && defined(__GNUC__)
01093 # define LZO_SIZEOF_LONG_LONG 8
01094 #elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
01095 # define LZO_SIZEOF_LONG_LONG 8
01096 #elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400))
01097 # define LZO_SIZEOF_LONG_LONG 8
01098 #elif (LZO_OS_WIN64 || defined(_WIN64))
01099 # define LZO_SIZEOF___INT64 8
01100 #elif (LZO_ARCH_I386 && (LZO_CC_DMC))
01101 # define LZO_SIZEOF_LONG_LONG 8
01102 #elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700)))
01103 # define LZO_SIZEOF_LONG_LONG 8
01104 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
01105 # define LZO_SIZEOF_LONG_LONG 8
01106 #elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC))
01107 # define LZO_SIZEOF_LONG_LONG 8
01108 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
01109 # define LZO_SIZEOF___INT64 8
01110 #elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC))
01111 # define LZO_SIZEOF___INT64 8
01112 #elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
01113 # define LZO_SIZEOF___INT64 8
01114 #elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100)))
01115 # define LZO_SIZEOF___INT64 8
01116 #elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
01117 # define LZO_SIZEOF___INT64 8
01118 #elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
01119 # define LZO_SIZEOF_LONG_LONG 8
01120 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
01121 # define LZO_SIZEOF_LONG_LONG 8
01122 #elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2)
01123 #elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
01124 # define LZO_SIZEOF_LONG_LONG 8
01125 #endif
01126 #endif
01127 #endif
01128 #if defined(__cplusplus) && defined(LZO_CC_GNUC)
01129 # if (LZO_CC_GNUC < 0x020800ul)
01130 # undef LZO_SIZEOF_LONG_LONG
01131 # endif
01132 #endif
01133 #if defined(LZO_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG)
01134 # undef LZO_SIZEOF_LONG_LONG
01135 #endif
01136 #if !defined(LZO_SIZEOF_VOID_P)
01137 #if (LZO_ARCH_I086)
01138 # define __LZO_WORDSIZE 2
01139 # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
01140 # define LZO_SIZEOF_VOID_P 2
01141 # elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
01142 # define LZO_SIZEOF_VOID_P 4
01143 # else
01144 # error "LZO_MM"
01145 # endif
01146 #elif (LZO_ARCH_AVR || LZO_ARCH_Z80)
01147 # define __LZO_WORDSIZE 1
01148 # define LZO_SIZEOF_VOID_P 2
01149 #elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
01150 # define LZO_SIZEOF_VOID_P 2
01151 #elif (LZO_ARCH_H8300)
01152 # if defined(__NORMAL_MODE__)
01153 # define __LZO_WORDSIZE 4
01154 # define LZO_SIZEOF_VOID_P 2
01155 # elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
01156 # define __LZO_WORDSIZE 4
01157 # define LZO_SIZEOF_VOID_P 4
01158 # else
01159 # define __LZO_WORDSIZE 2
01160 # define LZO_SIZEOF_VOID_P 2
01161 # endif
01162 # if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
01163 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT
01164 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT
01165 # endif
01166 #elif (LZO_ARCH_M16C)
01167 # define __LZO_WORDSIZE 2
01168 # if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
01169 # define LZO_SIZEOF_VOID_P 4
01170 # else
01171 # define LZO_SIZEOF_VOID_P 2
01172 # endif
01173 #elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
01174 # define __LZO_WORDSIZE 8
01175 # define LZO_SIZEOF_VOID_P 4
01176 #elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
01177 # define __LZO_WORDSIZE 8
01178 # define LZO_SIZEOF_VOID_P 8
01179 #elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
01180 # define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
01181 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
01182 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
01183 #elif (LZO_OS_OS400 || defined(__OS400__))
01184 # define __LZO_WORDSIZE LZO_SIZEOF_LONG
01185 # define LZO_SIZEOF_VOID_P 16
01186 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
01187 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
01188 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
01189 # define LZO_SIZEOF_VOID_P 8
01190 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
01191 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
01192 #elif (LZO_ARCH_SPU)
01193 # if 0
01194 # define __LZO_WORDSIZE 16
01195 # endif
01196 # define LZO_SIZEOF_VOID_P 4
01197 #else
01198 # define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
01199 #endif
01200 #endif
01201 #if !defined(LZO_WORDSIZE)
01202 # if defined(__LZO_WORDSIZE)
01203 # define LZO_WORDSIZE __LZO_WORDSIZE
01204 # else
01205 # define LZO_WORDSIZE LZO_SIZEOF_VOID_P
01206 # endif
01207 #endif
01208 #if !defined(LZO_SIZEOF_SIZE_T)
01209 #if (LZO_ARCH_I086 || LZO_ARCH_M16C)
01210 # define LZO_SIZEOF_SIZE_T 2
01211 #else
01212 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P
01213 #endif
01214 #endif
01215 #if !defined(LZO_SIZEOF_PTRDIFF_T)
01216 #if (LZO_ARCH_I086)
01217 # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE)
01218 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P
01219 # elif (LZO_MM_COMPACT || LZO_MM_LARGE)
01220 # if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
01221 # define LZO_SIZEOF_PTRDIFF_T 4
01222 # else
01223 # define LZO_SIZEOF_PTRDIFF_T 2
01224 # endif
01225 # else
01226 # error "LZO_MM"
01227 # endif
01228 #else
01229 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T
01230 #endif
01231 #endif
01232 #if defined(LZO_ABI_NEUTRAL_ENDIAN)
01233 # undef LZO_ABI_BIG_ENDIAN
01234 # undef LZO_ABI_LITTLE_ENDIAN
01235 #elif !defined(LZO_ABI_BIG_ENDIAN) && !defined(LZO_ABI_LITTLE_ENDIAN)
01236 #if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP)
01237 # define LZO_ABI_BIG_ENDIAN 1
01238 #elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
01239 # define LZO_ABI_LITTLE_ENDIAN 1
01240 #elif (LZO_ARCH_M68K || LZO_ARCH_S390)
01241 # define LZO_ABI_BIG_ENDIAN 1
01242 #elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
01243 # if (__LITTLE_ENDIAN__ == 1)
01244 # define LZO_ABI_LITTLE_ENDIAN 1
01245 # else
01246 # define LZO_ABI_BIG_ENDIAN 1
01247 # endif
01248 #elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
01249 # define LZO_ABI_BIG_ENDIAN 1
01250 #elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
01251 # define LZO_ABI_LITTLE_ENDIAN 1
01252 #elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
01253 # define LZO_ABI_BIG_ENDIAN 1
01254 #elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
01255 # define LZO_ABI_LITTLE_ENDIAN 1
01256 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
01257 # define LZO_ABI_BIG_ENDIAN 1
01258 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
01259 # define LZO_ABI_LITTLE_ENDIAN 1
01260 #endif
01261 #endif
01262 #if defined(LZO_ABI_BIG_ENDIAN) && defined(LZO_ABI_LITTLE_ENDIAN)
01263 # error "this should not happen"
01264 #endif
01265 #if defined(LZO_ABI_BIG_ENDIAN)
01266 # define LZO_INFO_ABI_ENDIAN "be"
01267 #elif defined(LZO_ABI_LITTLE_ENDIAN)
01268 # define LZO_INFO_ABI_ENDIAN "le"
01269 #elif defined(LZO_ABI_NEUTRAL_ENDIAN)
01270 # define LZO_INFO_ABI_ENDIAN "neutral"
01271 #endif
01272 #if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
01273 # define LZO_ABI_I8LP16 1
01274 # define LZO_INFO_ABI_PM "i8lp16"
01275 #elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
01276 # define LZO_ABI_ILP16 1
01277 # define LZO_INFO_ABI_PM "ilp16"
01278 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
01279 # define LZO_ABI_ILP32 1
01280 # define LZO_INFO_ABI_PM "ilp32"
01281 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8)
01282 # define LZO_ABI_LLP64 1
01283 # define LZO_INFO_ABI_PM "llp64"
01284 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
01285 # define LZO_ABI_LP64 1
01286 # define LZO_INFO_ABI_PM "lp64"
01287 #elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
01288 # define LZO_ABI_ILP64 1
01289 # define LZO_INFO_ABI_PM "ilp64"
01290 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4)
01291 # define LZO_ABI_IP32L64 1
01292 # define LZO_INFO_ABI_PM "ip32l64"
01293 #endif
01294 #if !defined(__LZO_LIBC_OVERRIDE)
01295 #if defined(LZO_LIBC_NAKED)
01296 # define LZO_INFO_LIBC "naked"
01297 #elif defined(LZO_LIBC_FREESTANDING)
01298 # define LZO_INFO_LIBC "freestanding"
01299 #elif defined(LZO_LIBC_MOSTLY_FREESTANDING)
01300 # define LZO_INFO_LIBC "mfreestanding"
01301 #elif defined(LZO_LIBC_ISOC90)
01302 # define LZO_INFO_LIBC "isoc90"
01303 #elif defined(LZO_LIBC_ISOC99)
01304 # define LZO_INFO_LIBC "isoc99"
01305 #elif defined(__dietlibc__)
01306 # define LZO_LIBC_DIETLIBC 1
01307 # define LZO_INFO_LIBC "dietlibc"
01308 #elif defined(_NEWLIB_VERSION)
01309 # define LZO_LIBC_NEWLIB 1
01310 # define LZO_INFO_LIBC "newlib"
01311 #elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
01312 # if defined(__UCLIBC_SUBLEVEL__)
01313 # define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__)
01314 # else
01315 # define LZO_LIBC_UCLIBC 0x00090bL
01316 # endif
01317 # define LZO_INFO_LIBC "uclibc"
01318 #elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
01319 # define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100)
01320 # define LZO_INFO_LIBC "glibc"
01321 #elif (LZO_CC_MWERKS) && defined(__MSL__)
01322 # define LZO_LIBC_MSL __MSL__
01323 # define LZO_INFO_LIBC "msl"
01324 #elif 1 && defined(__IAR_SYSTEMS_ICC__)
01325 # define LZO_LIBC_ISOC90 1
01326 # define LZO_INFO_LIBC "isoc90"
01327 #else
01328 # define LZO_LIBC_DEFAULT 1
01329 # define LZO_INFO_LIBC "default"
01330 #endif
01331 #endif
01332 #if !defined(__lzo_gnuc_extension__)
01333 #if (LZO_CC_GNUC >= 0x020800ul)
01334 # define __lzo_gnuc_extension__ __extension__
01335 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01336 # define __lzo_gnuc_extension__ __extension__
01337 #else
01338 # define __lzo_gnuc_extension__
01339 #endif
01340 #endif
01341 #if !defined(__lzo_ua_volatile)
01342 # define __lzo_ua_volatile volatile
01343 #endif
01344 #if !defined(__lzo_alignof)
01345 #if (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
01346 # define __lzo_alignof(e) __alignof__(e)
01347 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
01348 # define __lzo_alignof(e) __alignof__(e)
01349 #elif (LZO_CC_MSC && (_MSC_VER >= 1300))
01350 # define __lzo_alignof(e) __alignof(e)
01351 #endif
01352 #endif
01353 #if defined(__lzo_alignof)
01354 # define __lzo_HAVE_alignof 1
01355 #endif
01356 #if !defined(__lzo_constructor)
01357 #if (LZO_CC_GNUC >= 0x030400ul)
01358 # define __lzo_constructor __attribute__((__constructor__,__used__))
01359 #elif (LZO_CC_GNUC >= 0x020700ul)
01360 # define __lzo_constructor __attribute__((__constructor__))
01361 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01362 # define __lzo_constructor __attribute__((__constructor__))
01363 #endif
01364 #endif
01365 #if defined(__lzo_constructor)
01366 # define __lzo_HAVE_constructor 1
01367 #endif
01368 #if !defined(__lzo_destructor)
01369 #if (LZO_CC_GNUC >= 0x030400ul)
01370 # define __lzo_destructor __attribute__((__destructor__,__used__))
01371 #elif (LZO_CC_GNUC >= 0x020700ul)
01372 # define __lzo_destructor __attribute__((__destructor__))
01373 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01374 # define __lzo_destructor __attribute__((__destructor__))
01375 #endif
01376 #endif
01377 #if defined(__lzo_destructor)
01378 # define __lzo_HAVE_destructor 1
01379 #endif
01380 #if defined(__lzo_HAVE_destructor) && !defined(__lzo_HAVE_constructor)
01381 # error "this should not happen"
01382 #endif
01383 #if !defined(__lzo_inline)
01384 #if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
01385 #elif defined(__cplusplus)
01386 # define __lzo_inline inline
01387 #elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
01388 # define __lzo_inline __inline
01389 #elif (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
01390 # define __lzo_inline __inline__
01391 #elif (LZO_CC_DMC)
01392 # define __lzo_inline __inline
01393 #elif (LZO_CC_INTELC)
01394 # define __lzo_inline __inline
01395 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405))
01396 # define __lzo_inline __inline
01397 #elif (LZO_CC_MSC && (_MSC_VER >= 900))
01398 # define __lzo_inline __inline
01399 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
01400 # define __lzo_inline inline
01401 #endif
01402 #endif
01403 #if defined(__lzo_inline)
01404 # define __lzo_HAVE_inline 1
01405 #else
01406 # define __lzo_inline
01407 #endif
01408 #if !defined(__lzo_forceinline)
01409 #if (LZO_CC_GNUC >= 0x030200ul)
01410 # define __lzo_forceinline __inline__ __attribute__((__always_inline__))
01411 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
01412 # define __lzo_forceinline __forceinline
01413 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
01414 # define __lzo_forceinline __inline__ __attribute__((__always_inline__))
01415 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01416 # define __lzo_forceinline __inline__ __attribute__((__always_inline__))
01417 #elif (LZO_CC_MSC && (_MSC_VER >= 1200))
01418 # define __lzo_forceinline __forceinline
01419 #endif
01420 #endif
01421 #if defined(__lzo_forceinline)
01422 # define __lzo_HAVE_forceinline 1
01423 #else
01424 # define __lzo_forceinline
01425 #endif
01426 #if !defined(__lzo_noinline)
01427 #if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul)
01428 # define __lzo_noinline __attribute__((__noinline__,__used__))
01429 #elif (LZO_CC_GNUC >= 0x030200ul)
01430 # define __lzo_noinline __attribute__((__noinline__))
01431 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_MSC)
01432 # define __lzo_noinline __declspec(noinline)
01433 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
01434 # define __lzo_noinline __attribute__((__noinline__))
01435 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01436 # define __lzo_noinline __attribute__((__noinline__))
01437 #elif (LZO_CC_MSC && (_MSC_VER >= 1300))
01438 # define __lzo_noinline __declspec(noinline)
01439 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64))
01440 # if defined(__cplusplus)
01441 # else
01442 # define __lzo_noinline __declspec(noinline)
01443 # endif
01444 #endif
01445 #endif
01446 #if defined(__lzo_noinline)
01447 # define __lzo_HAVE_noinline 1
01448 #else
01449 # define __lzo_noinline
01450 #endif
01451 #if (defined(__lzo_HAVE_forceinline) || defined(__lzo_HAVE_noinline)) && !defined(__lzo_HAVE_inline)
01452 # error "this should not happen"
01453 #endif
01454 #if !defined(__lzo_noreturn)
01455 #if (LZO_CC_GNUC >= 0x020700ul)
01456 # define __lzo_noreturn __attribute__((__noreturn__))
01457 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
01458 # define __lzo_noreturn __declspec(noreturn)
01459 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
01460 # define __lzo_noreturn __attribute__((__noreturn__))
01461 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01462 # define __lzo_noreturn __attribute__((__noreturn__))
01463 #elif (LZO_CC_MSC && (_MSC_VER >= 1200))
01464 # define __lzo_noreturn __declspec(noreturn)
01465 #endif
01466 #endif
01467 #if defined(__lzo_noreturn)
01468 # define __lzo_HAVE_noreturn 1
01469 #else
01470 # define __lzo_noreturn
01471 #endif
01472 #if !defined(__lzo_nothrow)
01473 #if (LZO_CC_GNUC >= 0x030300ul)
01474 # define __lzo_nothrow __attribute__((__nothrow__))
01475 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) && defined(__cplusplus)
01476 # define __lzo_nothrow __declspec(nothrow)
01477 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
01478 # define __lzo_nothrow __attribute__((__nothrow__))
01479 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01480 # define __lzo_nothrow __attribute__((__nothrow__))
01481 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
01482 # define __lzo_nothrow __declspec(nothrow)
01483 #endif
01484 #endif
01485 #if defined(__lzo_nothrow)
01486 # define __lzo_HAVE_nothrow 1
01487 #else
01488 # define __lzo_nothrow
01489 #endif
01490 #if !defined(__lzo_restrict)
01491 #if (LZO_CC_GNUC >= 0x030400ul)
01492 # define __lzo_restrict __restrict__
01493 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
01494 # define __lzo_restrict __restrict__
01495 #elif (LZO_CC_LLVM)
01496 # define __lzo_restrict __restrict__
01497 #elif (LZO_CC_MSC && (_MSC_VER >= 1400))
01498 # define __lzo_restrict __restrict
01499 #endif
01500 #endif
01501 #if defined(__lzo_restrict)
01502 # define __lzo_HAVE_restrict 1
01503 #else
01504 # define __lzo_restrict
01505 #endif
01506 #if !defined(__lzo_likely) && !defined(__lzo_unlikely)
01507 #if (LZO_CC_GNUC >= 0x030200ul)
01508 # define __lzo_likely(e) (__builtin_expect(!!(e),1))
01509 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
01510 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
01511 # define __lzo_likely(e) (__builtin_expect(!!(e),1))
01512 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
01513 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01514 # define __lzo_likely(e) (__builtin_expect(!!(e),1))
01515 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
01516 #endif
01517 #endif
01518 #if defined(__lzo_likely)
01519 # define __lzo_HAVE_likely 1
01520 #else
01521 # define __lzo_likely(e) (e)
01522 #endif
01523 #if defined(__lzo_unlikely)
01524 # define __lzo_HAVE_unlikely 1
01525 #else
01526 # define __lzo_unlikely(e) (e)
01527 #endif
01528 #if !defined(LZO_UNUSED)
01529 # if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
01530 # define LZO_UNUSED(var) ((void) &var)
01531 # elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC)
01532 # define LZO_UNUSED(var) if (&var) ; else
01533 # elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
01534 # define LZO_UNUSED(var) ((void) var)
01535 # elif (LZO_CC_MSC && (_MSC_VER < 900))
01536 # define LZO_UNUSED(var) if (&var) ; else
01537 # elif (LZO_CC_KEILC)
01538 # define LZO_UNUSED(var) {extern int __lzo_unused[1-2*!(sizeof(var)>0)];}
01539 # elif (LZO_CC_PACIFICC)
01540 # define LZO_UNUSED(var) ((void) sizeof(var))
01541 # elif (LZO_CC_WATCOMC) && defined(__cplusplus)
01542 # define LZO_UNUSED(var) ((void) var)
01543 # else
01544 # define LZO_UNUSED(var) ((void) &var)
01545 # endif
01546 #endif
01547 #if !defined(LZO_UNUSED_FUNC)
01548 # if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
01549 # define LZO_UNUSED_FUNC(func) ((void) func)
01550 # elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
01551 # define LZO_UNUSED_FUNC(func) if (func) ; else
01552 # elif (LZO_CC_LLVM)
01553 # define LZO_UNUSED_FUNC(func) ((void) &func)
01554 # elif (LZO_CC_MSC && (_MSC_VER < 900))
01555 # define LZO_UNUSED_FUNC(func) if (func) ; else
01556 # elif (LZO_CC_MSC)
01557 # define LZO_UNUSED_FUNC(func) ((void) &func)
01558 # elif (LZO_CC_KEILC || LZO_CC_PELLESC)
01559 # define LZO_UNUSED_FUNC(func) {extern int __lzo_unused[1-2*!(sizeof((int)func)>0)];}
01560 # else
01561 # define LZO_UNUSED_FUNC(func) ((void) func)
01562 # endif
01563 #endif
01564 #if !defined(LZO_UNUSED_LABEL)
01565 # if (LZO_CC_WATCOMC) && defined(__cplusplus)
01566 # define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l
01567 # elif (LZO_CC_INTELC || LZO_CC_WATCOMC)
01568 # define LZO_UNUSED_LABEL(l) if (0) goto l
01569 # else
01570 # define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l
01571 # endif
01572 #endif
01573 #if !defined(LZO_DEFINE_UNINITIALIZED_VAR)
01574 # if 0
01575 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var
01576 # elif 0 && (LZO_CC_GNUC)
01577 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var
01578 # else
01579 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init
01580 # endif
01581 #endif
01582 #if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
01583 # if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
01584 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
01585 # elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
01586 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1u-2*!(e)];
01587 # elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
01588 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
01589 # else
01590 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-2*!(e)];
01591 # endif
01592 #endif
01593 #if !defined(LZO_COMPILE_TIME_ASSERT)
01594 # if (LZO_CC_AZTECC)
01595 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-!(e)];}
01596 # elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
01597 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
01598 # elif (LZO_CC_MSC && (_MSC_VER < 900))
01599 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
01600 # elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
01601 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
01602 # else
01603 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-2*!(e)];}
01604 # endif
01605 #endif
01606 #if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
01607 # if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
01608 # elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
01609 # define __lzo_cdecl __cdecl
01610 # define __lzo_cdecl_atexit
01611 # define __lzo_cdecl_main __cdecl
01612 # if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
01613 # define __lzo_cdecl_qsort __pascal
01614 # elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
01615 # define __lzo_cdecl_qsort _stdcall
01616 # else
01617 # define __lzo_cdecl_qsort __cdecl
01618 # endif
01619 # elif (LZO_CC_WATCOMC)
01620 # define __lzo_cdecl __cdecl
01621 # else
01622 # define __lzo_cdecl __cdecl
01623 # define __lzo_cdecl_atexit __cdecl
01624 # define __lzo_cdecl_main __cdecl
01625 # define __lzo_cdecl_qsort __cdecl
01626 # endif
01627 # if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC)
01628 # elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
01629 # define __lzo_cdecl_sighandler __pascal
01630 # elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
01631 # define __lzo_cdecl_sighandler _stdcall
01632 # elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
01633 # define __lzo_cdecl_sighandler __clrcall
01634 # elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
01635 # if defined(_DLL)
01636 # define __lzo_cdecl_sighandler _far _cdecl _loadds
01637 # elif defined(_MT)
01638 # define __lzo_cdecl_sighandler _far _cdecl
01639 # else
01640 # define __lzo_cdecl_sighandler _cdecl
01641 # endif
01642 # else
01643 # define __lzo_cdecl_sighandler __cdecl
01644 # endif
01645 #elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC)
01646 # define __lzo_cdecl __cdecl
01647 #elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
01648 # define __lzo_cdecl cdecl
01649 #endif
01650 #if !defined(__lzo_cdecl)
01651 # define __lzo_cdecl
01652 #endif
01653 #if !defined(__lzo_cdecl_atexit)
01654 # define __lzo_cdecl_atexit
01655 #endif
01656 #if !defined(__lzo_cdecl_main)
01657 # define __lzo_cdecl_main
01658 #endif
01659 #if !defined(__lzo_cdecl_qsort)
01660 # define __lzo_cdecl_qsort
01661 #endif
01662 #if !defined(__lzo_cdecl_sighandler)
01663 # define __lzo_cdecl_sighandler
01664 #endif
01665 #if !defined(__lzo_cdecl_va)
01666 # define __lzo_cdecl_va __lzo_cdecl
01667 #endif
01668 #if !defined(LZO_CFG_NO_WINDOWS_H)
01669 #if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
01670 # if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
01671 # elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
01672 # elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul)))
01673 # else
01674 # define LZO_HAVE_WINDOWS_H 1
01675 # endif
01676 #endif
01677 #endif
01678 #if (LZO_ARCH_ALPHA)
01679 # define LZO_OPT_AVOID_UINT_INDEX 1
01680 # define LZO_OPT_AVOID_SHORT 1
01681 # define LZO_OPT_AVOID_USHORT 1
01682 #elif (LZO_ARCH_AMD64)
01683 # define LZO_OPT_AVOID_INT_INDEX 1
01684 # define LZO_OPT_AVOID_UINT_INDEX 1
01685 # define LZO_OPT_UNALIGNED16 1
01686 # define LZO_OPT_UNALIGNED32 1
01687 # define LZO_OPT_UNALIGNED64 1
01688 #elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB)
01689 #elif (LZO_ARCH_ARM)
01690 # define LZO_OPT_AVOID_SHORT 1
01691 # define LZO_OPT_AVOID_USHORT 1
01692 #elif (LZO_ARCH_CRIS)
01693 # define LZO_OPT_UNALIGNED16 1
01694 # define LZO_OPT_UNALIGNED32 1
01695 #elif (LZO_ARCH_I386)
01696 # define LZO_OPT_UNALIGNED16 1
01697 # define LZO_OPT_UNALIGNED32 1
01698 #elif (LZO_ARCH_IA64)
01699 # define LZO_OPT_AVOID_INT_INDEX 1
01700 # define LZO_OPT_AVOID_UINT_INDEX 1
01701 # define LZO_OPT_PREFER_POSTINC 1
01702 #elif (LZO_ARCH_M68K)
01703 # define LZO_OPT_PREFER_POSTINC 1
01704 # define LZO_OPT_PREFER_PREDEC 1
01705 # if defined(__mc68020__) && !defined(__mcoldfire__)
01706 # define LZO_OPT_UNALIGNED16 1
01707 # define LZO_OPT_UNALIGNED32 1
01708 # endif
01709 #elif (LZO_ARCH_MIPS)
01710 # define LZO_OPT_AVOID_UINT_INDEX 1
01711 #elif (LZO_ARCH_POWERPC)
01712 # define LZO_OPT_PREFER_PREINC 1
01713 # define LZO_OPT_PREFER_PREDEC 1
01714 # if defined(LZO_ABI_BIG_ENDIAN)
01715 # define LZO_OPT_UNALIGNED16 1
01716 # define LZO_OPT_UNALIGNED32 1
01717 # endif
01718 #elif (LZO_ARCH_S390)
01719 # define LZO_OPT_UNALIGNED16 1
01720 # define LZO_OPT_UNALIGNED32 1
01721 # if (LZO_SIZEOF_SIZE_T == 8)
01722 # define LZO_OPT_UNALIGNED64 1
01723 # endif
01724 #elif (LZO_ARCH_SH)
01725 # define LZO_OPT_PREFER_POSTINC 1
01726 # define LZO_OPT_PREFER_PREDEC 1
01727 #endif
01728 #if !defined(LZO_CFG_NO_INLINE_ASM)
01729 #if defined(LZO_CC_LLVM)
01730 # define LZO_CFG_NO_INLINE_ASM 1
01731 #endif
01732 #endif
01733 #if !defined(LZO_CFG_NO_UNALIGNED)
01734 #if defined(LZO_ABI_NEUTRAL_ENDIAN) || defined(LZO_ARCH_GENERIC)
01735 # define LZO_CFG_NO_UNALIGNED 1
01736 #endif
01737 #endif
01738 #if defined(LZO_CFG_NO_UNALIGNED)
01739 # undef LZO_OPT_UNALIGNED16
01740 # undef LZO_OPT_UNALIGNED32
01741 # undef LZO_OPT_UNALIGNED64
01742 #endif
01743 #if defined(LZO_CFG_NO_INLINE_ASM)
01744 #elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
01745 # define LZO_ASM_SYNTAX_MSC 1
01746 #elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
01747 #elif (LZO_ARCH_I386 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
01748 # define LZO_ASM_SYNTAX_GNUC 1
01749 #elif (LZO_ARCH_AMD64 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
01750 # define LZO_ASM_SYNTAX_GNUC 1
01751 #endif
01752 #if (LZO_ASM_SYNTAX_GNUC)
01753 #if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
01754 # define __LZO_ASM_CLOBBER "ax"
01755 #elif (LZO_CC_INTELC)
01756 # define __LZO_ASM_CLOBBER "memory"
01757 #else
01758 # define __LZO_ASM_CLOBBER "cc", "memory"
01759 #endif
01760 #endif
01761 #if defined(__LZO_INFOSTR_MM)
01762 #elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM))
01763 # define __LZO_INFOSTR_MM ""
01764 #elif defined(LZO_INFO_MM)
01765 # define __LZO_INFOSTR_MM "." LZO_INFO_MM
01766 #else
01767 # define __LZO_INFOSTR_MM ""
01768 #endif
01769 #if defined(__LZO_INFOSTR_PM)
01770 #elif defined(LZO_INFO_ABI_PM)
01771 # define __LZO_INFOSTR_PM "." LZO_INFO_ABI_PM
01772 #else
01773 # define __LZO_INFOSTR_PM ""
01774 #endif
01775 #if defined(__LZO_INFOSTR_ENDIAN)
01776 #elif defined(LZO_INFO_ABI_ENDIAN)
01777 # define __LZO_INFOSTR_ENDIAN "." LZO_INFO_ABI_ENDIAN
01778 #else
01779 # define __LZO_INFOSTR_ENDIAN ""
01780 #endif
01781 #if defined(__LZO_INFOSTR_OSNAME)
01782 #elif defined(LZO_INFO_OS_CONSOLE)
01783 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_CONSOLE
01784 #elif defined(LZO_INFO_OS_POSIX)
01785 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_POSIX
01786 #else
01787 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS
01788 #endif
01789 #if defined(__LZO_INFOSTR_LIBC)
01790 #elif defined(LZO_INFO_LIBC)
01791 # define __LZO_INFOSTR_LIBC "." LZO_INFO_LIBC
01792 #else
01793 # define __LZO_INFOSTR_LIBC ""
01794 #endif
01795 #if defined(__LZO_INFOSTR_CCVER)
01796 #elif defined(LZO_INFO_CCVER)
01797 # define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER
01798 #else
01799 # define __LZO_INFOSTR_CCVER ""
01800 #endif
01801 #define LZO_INFO_STRING \
01802 LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \
01803 " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER
01804
01805 #endif
01806
01807