1a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat/* lzodefs.h -- architecture, OS and compiler specific defines 2a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 3a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat This file is part of the LZO real-time data compression library. 4a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 5a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 6a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 7a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 8a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 9a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 10a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 11a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 12a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 13a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 14a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 15a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 16a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 17a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 18a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 19a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 20a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat All Rights Reserved. 21a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 22a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat The LZO library is free software; you can redistribute it and/or 23a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat modify it under the terms of the GNU General Public License as 24a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat published by the Free Software Foundation; either version 2 of 25a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat the License, or (at your option) any later version. 26a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 27a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat The LZO library is distributed in the hope that it will be useful, 28a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat but WITHOUT ANY WARRANTY; without even the implied warranty of 29a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 30a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat GNU General Public License for more details. 31a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 32a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat You should have received a copy of the GNU General Public License 33a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat along with the LZO library; see the file COPYING. 34a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat If not, write to the Free Software Foundation, Inc., 35a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 36a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 37a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat Markus F.X.J. Oberhumer 38a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat <markus@oberhumer.com> 39a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat http://www.oberhumer.com/opensource/lzo/ 40a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat */ 41a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 42a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 43a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#ifndef __LZODEFS_H_INCLUDED 44a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define __LZODEFS_H_INCLUDED 1 45a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 46a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__CYGWIN32__) && !defined(__CYGWIN__) 47a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __CYGWIN__ __CYGWIN32__ 48a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 49a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__IBMCPP__) && !defined(__IBMC__) 50a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __IBMC__ __IBMCPP__ 51a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 52a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER) 53a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __INTEL_COMPILER __ICL 54a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 55a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE) 56a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define _ALL_SOURCE 1 57a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 58a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__mips__) && defined(__R5900__) 59a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__LONG_MAX__) 60a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LONG_MAX__ 9223372036854775807L 61a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 62a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 63a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__INTEL_COMPILER) && defined(__linux__) 64a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# pragma warning(disable: 193) 65a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 66a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__KEIL__) && defined(__C166__) 67a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# pragma warning disable = 322 68a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 0 && defined(__C251__) 69a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# pragma warning disable = 322 70a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 71a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__) 72a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (_MSC_VER >= 1300) 73a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# pragma warning(disable: 4668) 74a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 75a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 76a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 0 && defined(__WATCOMC__) 77a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060) 78a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# pragma warning 203 9 79a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 80a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 81a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__) 82a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# pragma option -h 83a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 84a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 0 85a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_0xffffL 0xfffful 86a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_0xffffffffL 0xfffffffful 87a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 88a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_0xffffL 65535ul 89a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_0xffffffffL 4294967295ul 90a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 91a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_0xffffL == LZO_0xffffffffL) 92a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "your preprocessor is broken 1" 93a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 94a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (16ul * 16384ul != 262144ul) 95a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "your preprocessor is broken 2" 96a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 97a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 0 98a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (32767 >= 4294967295ul) 99a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "your preprocessor is broken 3" 100a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 101a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (65535u >= 4294967295ul) 102a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "your preprocessor is broken 4" 103a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 104a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 105a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (UINT_MAX == LZO_0xffffL) 106a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__) 107a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(MSDOS) 108a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define MSDOS 1 109a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 110a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(_MSDOS) 111a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define _MSDOS 1 112a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 113a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX) 114a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (__VERSION == 520) && (MB_LEN_MAX == 1) 115a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__AZTEC_C__) 116a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __AZTEC_C__ __VERSION 117a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 118a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__DOS__) 119a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __DOS__ 1 120a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 121a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 122a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 123a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 124a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL) 125a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define ptrdiff_t long 126a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define _PTRDIFF_T_DEFINED 1 127a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 128a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (UINT_MAX == LZO_0xffffL) 129a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef __LZO_RENAME_A 130a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef __LZO_RENAME_B 131a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__AZTEC_C__) && defined(__DOS__) 132a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_RENAME_A 1 133a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(_MSC_VER) && defined(MSDOS) 134a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (_MSC_VER < 600) 135a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_RENAME_A 1 136a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (_MSC_VER < 700) 137a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_RENAME_B 1 138a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 139a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__TSC__) && defined(__OS2__) 140a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_RENAME_A 1 141a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410) 142a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_RENAME_A 1 143a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__PACIFIC__) && defined(DOS) 144a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__far) 145a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __far far 146a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 147a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__near) 148a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __near near 149a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 150a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 151a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__LZO_RENAME_A) 152a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__cdecl) 153a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __cdecl cdecl 154a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 155a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__far) 156a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __far far 157a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 158a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__huge) 159a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __huge huge 160a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 161a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__near) 162a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __near near 163a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 164a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__pascal) 165a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __pascal pascal 166a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 167a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__huge) 168a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __huge huge 169a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 170a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__LZO_RENAME_B) 171a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__cdecl) 172a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __cdecl _cdecl 173a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 174a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__far) 175a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __far _far 176a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 177a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__huge) 178a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __huge _huge 179a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 180a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__near) 181a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __near _near 182a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 183a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__pascal) 184a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __pascal _pascal 185a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 186a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) 187a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__cdecl) 188a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __cdecl cdecl 189a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 190a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__pascal) 191a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __pascal pascal 192a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 193a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 194a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef __LZO_RENAME_A 195a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef __LZO_RENAME_B 196a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 197a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (UINT_MAX == LZO_0xffffL) 198a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__AZTEC_C__) && defined(__DOS__) 199a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 200a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(_MSC_VER) && defined(MSDOS) 201a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (_MSC_VER < 600) 202a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 203a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 204a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (_MSC_VER < 700) 205a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_INTEGRAL_PROMOTION 1 206a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_SIZEOF 1 207a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 208a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__PACIFIC__) && defined(DOS) 209a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 210a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__TURBOC__) && defined(__MSDOS__) 211a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (__TURBOC__ < 0x0150) 212a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 213a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 214a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_INTEGRAL_PROMOTION 1 215a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 216a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (__TURBOC__ < 0x0200) 217a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_SIZEOF 1 218a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 219a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (__TURBOC__ < 0x0400) && defined(__cplusplus) 220a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 221a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 222a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) 223a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 224a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_SIZEOF 1 225a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 226a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 227a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__WATCOMC__) && (__WATCOMC__ < 900) 228a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 229a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 230a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(_CRAY) && defined(_CRAY1) 231a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1 232a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 233a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_PP_STRINGIZE(x) #x 234a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x) 235a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_PP_CONCAT2(a,b) a ## b 236a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_PP_CONCAT3(a,b,c) a ## b ## c 237a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d 238a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e 239a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b) 240a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c) 241a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d) 242a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e) 243a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 1 244a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_CPP_STRINGIZE(x) #x 245a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x) 246a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_CPP_CONCAT2(a,b) a ## b 247a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_CPP_CONCAT3(a,b,c) a ## b ## c 248a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d 249a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e 250a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b) 251a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c) 252a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d) 253a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e) 254a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 255a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o)) 256a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 1 && defined(__cplusplus) 257a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__STDC_CONSTANT_MACROS) 258a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __STDC_CONSTANT_MACROS 1 259a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 260a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if !defined(__STDC_LIMIT_MACROS) 261a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __STDC_LIMIT_MACROS 1 262a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 263a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 264a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__cplusplus) 265a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_EXTERN_C extern "C" 266a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 267a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_EXTERN_C extern 268a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 269a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__LZO_OS_OVERRIDE) 270a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_OS_FREESTANDING) 271a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "freestanding" 272a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_OS_EMBEDDED) 273a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "embedded" 274a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && defined(__IAR_SYSTEMS_ICC__) 275a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_EMBEDDED 1 276a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "embedded" 277a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__CYGWIN__) && defined(__GNUC__) 278a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_CYGWIN 1 279a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "cygwin" 280a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__EMX__) && defined(__GNUC__) 281a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_EMX 1 282a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "emx" 283a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__BEOS__) 284a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_BEOS 1 285a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "beos" 286a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__Lynx__) 287a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_LYNXOS 1 288a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "lynxos" 289a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__OS400__) 290a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_OS400 1 291a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "os400" 292a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__QNX__) 293a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_QNX 1 294a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "qnx" 295a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460) 296a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_DOS32 1 297a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "dos32" 298a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__BORLANDC__) && defined(__DPMI16__) 299a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_DOS16 1 300a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "dos16" 301a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__ZTC__) && defined(DOS386) 302a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_DOS32 1 303a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "dos32" 304a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__OS2__) || defined(__OS2V2__) 305a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (UINT_MAX == LZO_0xffffL) 306a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_OS216 1 307a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "os216" 308a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (UINT_MAX == LZO_0xffffffffL) 309a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_OS2 1 310a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "os2" 311a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 312a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "check your limits.h header" 313a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 314a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64) 315a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_WIN64 1 316a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "win64" 317a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__) 318a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_WIN32 1 319a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "win32" 320a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__MWERKS__) && defined(__INTEL__) 321a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_WIN32 1 322a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "win32" 323a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows) 324a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (UINT_MAX == LZO_0xffffL) 325a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_WIN16 1 326a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "win16" 327a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (UINT_MAX == LZO_0xffffffffL) 328a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_WIN32 1 329a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "win32" 330a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 331a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "check your limits.h header" 332a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 333a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS)) 334a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (UINT_MAX == LZO_0xffffL) 335a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_DOS16 1 336a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "dos16" 337a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (UINT_MAX == LZO_0xffffffffL) 338a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_DOS32 1 339a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "dos32" 340a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 341a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "check your limits.h header" 342a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 343a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__WATCOMC__) 344a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__NT__) && (UINT_MAX == LZO_0xffffL) 345a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_DOS16 1 346a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "dos16" 347a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__NT__) && (__WATCOMC__ < 1100) 348a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_WIN32 1 349a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "win32" 350a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__linux__) || defined(__LINUX__) 351a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX 1 352a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "posix" 353a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 354a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "please specify a target using the -bt compiler option" 355a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 356a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__palmos__) 357a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_PALMOS 1 358a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "palmos" 359a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__TOS__) || defined(__atarist__) 360a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_TOS 1 361a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "tos" 362a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(macintosh) && !defined(__ppc__) 363a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_MACCLASSIC 1 364a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "macclassic" 365a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__VMS) 366a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_VMS 1 367a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "vms" 368a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) 369a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_CONSOLE 1 370a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_CONSOLE_PS2 1 371a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "console" 372a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_CONSOLE "ps2" 373a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (defined(__mips__) && defined(__psp__)) 374a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_CONSOLE 1 375a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_CONSOLE_PSP 1 376a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "console" 377a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_CONSOLE "psp" 378a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 379a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX 1 380a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS "posix" 381a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 382a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_OS_POSIX) 383a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(_AIX) || defined(__AIX__) || defined(__aix__) 384a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_AIX 1 385a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "aix" 386a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__FreeBSD__) 387a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_FREEBSD 1 388a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "freebsd" 389a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__hpux__) || defined(__hpux) 390a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_HPUX 1 391a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "hpux" 392a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__INTERIX) 393a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_INTERIX 1 394a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "interix" 395a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__IRIX__) || defined(__irix__) 396a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_IRIX 1 397a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "irix" 398a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__linux__) || defined(__linux) || defined(__LINUX__) 399a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_LINUX 1 400a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "linux" 401a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__APPLE__) || defined(__MACOS__) 402a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_MACOSX 1 403a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "macosx" 404a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__minix__) || defined(__minix) 405a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_MINIX 1 406a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "minix" 407a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__NetBSD__) 408a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_NETBSD 1 409a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "netbsd" 410a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__OpenBSD__) 411a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_OPENBSD 1 412a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "openbsd" 413a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__osf__) 414a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_OSF 1 415a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "osf" 416a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__solaris__) || defined(__sun) 417a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__SVR4) || defined(__svr4__) 418a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_SOLARIS 1 419a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "solaris" 420a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 421a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_SUNOS 1 422a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "sunos" 423a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 424a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__ultrix__) || defined(__ultrix) 425a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_ULTRIX 1 426a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "ultrix" 427a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(_UNICOS) 428a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_UNICOS 1 429a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "unicos" 430a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 431a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OS_POSIX_UNKNOWN 1 432a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_OS_POSIX "unknown" 433a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 434a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 435a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 436a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 437a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (UINT_MAX != LZO_0xffffL) 438a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 439a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 440a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (ULONG_MAX != LZO_0xffffffffL) 441a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 442a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 443a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 444a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64) 445a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (UINT_MAX != LZO_0xffffffffL) 446a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 447a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 448a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (ULONG_MAX != LZO_0xffffffffL) 449a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 450a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 451a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 452a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__) 453a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_CILLY 1 454a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Cilly" 455a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__CILLY__) 456a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__) 457a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 458a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 459a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 460a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__) 461a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_SDCC 1 462a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "sdcc" 463a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC) 464a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__) 465a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__) 466a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Pathscale C" 467a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER __PATHSCALE__ 468a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__INTEL_COMPILER) 469a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_INTELC 1 470a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Intel C" 471a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER) 472a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(_WIN32) || defined(_WIN64) 473a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_SYNTAX_MSC 1 474a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 475a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_SYNTAX_GNUC 1 476a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 477a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__POCC__) && defined(_WIN32) 478a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_PELLESC 1 479a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Pelles C" 480a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__) 481a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__clang__) && defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 482a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__GNUC_PATCHLEVEL__) 483a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__) 484a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 485a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100) 486a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 487a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__) 488a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_CLANG_CLANG (__clang_major__ * 0x10000L + __clang_minor__ * 0x100 + __clang_patchlevel__) 489a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 490a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_CLANG_CLANG 0x020700L 491a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 492a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_CLANG LZO_CC_CLANG_GNUC 493a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "clang" 494a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER __VERSION__ 495a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 496a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__GNUC_PATCHLEVEL__) 497a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__) 498a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 499a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100) 500a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 501a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_LLVM LZO_CC_LLVM_GNUC 502a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "llvm-gcc" 503a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER __VERSION__ 504a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__GNUC__) && defined(__VERSION__) 505a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) 506a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__) 507a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__GNUC_MINOR__) 508a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100) 509a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 510a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_GNUC (__GNUC__ * 0x10000L) 511a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 512a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "gcc" 513a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER __VERSION__ 514a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__ACK__) && defined(_ACK) 515a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_ACK 1 516a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Amsterdam Compiler Kit C" 517a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 518a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__AZTEC_C__) 519a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_AZTECC 1 520a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Aztec C" 521a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__) 522a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__CODEGEARC__) 523a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_CODEGEARC 1 524a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "CodeGear C" 525a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CODEGEARC__) 526a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__BORLANDC__) 527a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_BORLANDC 1 528a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Borland C" 529a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__) 530a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(_CRAYC) && defined(_RELEASE) 531a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_CRAYC 1 532a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Cray C" 533a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE) 534a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__DMC__) && defined(__SC__) 535a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_DMC 1 536a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Digital Mars C" 537a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__) 538a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__DECC) 539a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_DECC 1 540a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "DEC C" 541a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC) 542a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__HIGHC__) 543a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_HIGHC 1 544a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "MetaWare High C" 545a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 546a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__IAR_SYSTEMS_ICC__) 547a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_IARC 1 548a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "IAR C" 549a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__VER__) 550a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__) 551a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 552a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 553a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 554a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__IBMC__) 555a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_IBMC 1 556a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "IBM C" 557a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__) 558a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__KEIL__) && defined(__C166__) 559a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_KEILC 1 560a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Keil C" 561a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__) 562a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL) 563a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_LCCWIN32 1 564a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "lcc-win32" 565a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 566a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__LCC__) 567a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_LCC 1 568a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "lcc" 569a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__LCC_VERSION__) 570a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__) 571a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 572a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 573a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 574a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(_MSC_VER) 575a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_MSC 1 576a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Microsoft C" 577a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(_MSC_FULL_VER) 578a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER) 579a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 580a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) 581a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 582a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__MWERKS__) 583a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_MWERKS 1 584a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Metrowerks C" 585a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__) 586a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386) 587a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_NDPC 1 588a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Microway NDP C" 589a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 590a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__PACIFIC__) 591a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_PACIFICC 1 592a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Pacific C" 593a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__) 594a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__)) 595a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_PGI 1 596a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Portland Group PGI C" 597a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 598a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__PUREC__) && defined(__TOS__) 599a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_PUREC 1 600a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Pure C" 601a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__) 602a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__SC__) && defined(__ZTC__) 603a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_SYMANTECC 1 604a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Symantec C" 605a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__) 606a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__SUNPRO_C) 607a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "SunPro C" 608a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if ((__SUNPRO_C)+0 > 0) 609a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_SUNPROC __SUNPRO_C 610a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C) 611a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 612a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_SUNPROC 1 613a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 614a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 615a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__SUNPRO_CC) 616a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "SunPro C" 617a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if ((__SUNPRO_CC)+0 > 0) 618a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_SUNPROC __SUNPRO_CC 619a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC) 620a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 621a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_SUNPROC 1 622a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 623a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 624a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__TINYC__) 625a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_TINYC 1 626a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Tiny C" 627a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__) 628a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__TSC__) 629a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_TOPSPEEDC 1 630a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "TopSpeed C" 631a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TSC__) 632a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__WATCOMC__) 633a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_WATCOMC 1 634a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Watcom C" 635a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__) 636a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__TURBOC__) 637a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_TURBOC 1 638a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Turbo C" 639a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__) 640a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__ZTC__) 641a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_ZORTECHC 1 642a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "Zortech C" 643a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (__ZTC__ == 0x310) 644a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "0x310" 645a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 646a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__) 647a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 648a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 649a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CC_UNKNOWN 1 650a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CC "unknown" 651a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_CCVER "unknown" 652a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 653a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER) 654a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "LZO_CC_MSC: _MSC_FULL_VER is not defined" 655a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 656a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__LZO_ARCH_OVERRIDE) && !(LZO_ARCH_GENERIC) && defined(_CRAY) 657a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY) 658a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E) 659a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_CRAY_MPP 1 660a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(_CRAY1) 661a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_CRAY_PVP 1 662a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 663a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 664a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 665a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__LZO_ARCH_OVERRIDE) 666a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_GENERIC) 667a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "generic" 668a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 669a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_I086 1 670a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_IA16 1 671a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "i086" 672a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA) 673a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_ALPHA 1 674a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "alpha" 675a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E)) 676a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_ALPHA 1 677a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "alpha" 678a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64) 679a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_AMD64 1 680a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "amd64" 681a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB)) 682a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_ARM 1 683a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_ARM_THUMB 1 684a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "arm_thumb" 685a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__) 686a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_ARM 1 687a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1) 688a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_ARM_THUMB 1 689a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "arm_thumb" 690a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2) 691a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "arm" 692a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 693a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "arm" 694a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 695a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__arm__) || defined(_M_ARM) 696a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_ARM 1 697a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "arm" 698a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__) 699a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_AVR 1 700a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "avr" 701a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__avr32__) || defined(__AVR32__) 702a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_AVR32 1 703a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "avr32" 704a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__bfin__) 705a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_BLACKFIN 1 706a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "blackfin" 707a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (UINT_MAX == LZO_0xffffL) && defined(__C166__) 708a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_C166 1 709a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "c166" 710a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__cris__) 711a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_CRIS 1 712a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "cris" 713a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__) 714a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_EZ80 1 715a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "ez80" 716a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 717a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_H8300 1 718a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "h8300" 719a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__hppa__) || defined(__hppa) 720a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_HPPA 1 721a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "hppa" 722a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386) 723a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_I386 1 724a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_IA32 1 725a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "i386" 726a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_ZORTECHC && defined(__I86__)) 727a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_I386 1 728a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_IA32 1 729a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "i386" 730a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386) 731a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_I386 1 732a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_IA32 1 733a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "i386" 734a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64) 735a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_IA64 1 736a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "ia64" 737a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__) 738a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_M16C 1 739a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "m16c" 740a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__) 741a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_M16C 1 742a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "m16c" 743a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__m32r__) 744a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_M32R 1 745a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "m32r" 746a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K) 747a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_M68K 1 748a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "m68k" 749a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (UINT_MAX == LZO_0xffffL) && defined(__C251__) 750a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_MCS251 1 751a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "mcs251" 752a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (UINT_MAX == LZO_0xffffL) && defined(__C51__) 753a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_MCS51 1 754a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "mcs51" 755a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__) 756a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_MCS51 1 757a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "mcs51" 758a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000) 759a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_MIPS 1 760a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "mips" 761a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__) 762a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_MSP430 1 763a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "msp430" 764a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__) 765a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_MSP430 1 766a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "msp430" 767a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR) 768a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_POWERPC 1 769a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "powerpc" 770a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x) 771a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_S390 1 772a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "s390" 773a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__sh__) || defined(_M_SH) 774a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_SH 1 775a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "sh" 776a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8) 777a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_SPARC 1 778a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "sparc" 779a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__SPU__) 780a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_SPU 1 781a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "spu" 782a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (UINT_MAX == LZO_0xffffL) && defined(__z80) 783a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_Z80 1 784a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "z80" 785a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_CRAY_PVP) 786a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(_CRAYSV1) 787a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_CRAY_SV1 1 788a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "cray_sv1" 789a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (_ADDR64) 790a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_CRAY_T90 1 791a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "cray_t90" 792a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (_ADDR32) 793a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_CRAY_YMP 1 794a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "cray_ymp" 795a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 796a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_CRAY_XMP 1 797a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "cray_xmp" 798a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 799a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 800a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_UNKNOWN 1 801a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ARCH "unknown" 802a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 803a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 804a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2) 805a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "FIXME - missing define for CPU architecture" 806a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 807a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32) 808a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "FIXME - missing WIN32 define for CPU architecture" 809a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 810a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64) 811a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "FIXME - missing WIN64 define for CPU architecture" 812a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 813a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_OS_OS216 || LZO_OS_WIN16) 814a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_I086PM 1 815a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_IA16PM 1 816a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && (LZO_OS_DOS16 && defined(BLX286)) 817a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_I086PM 1 818a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_IA16PM 1 819a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && (LZO_OS_DOS16 && defined(DOSX286)) 820a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_I086PM 1 821a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_IA16PM 1 822a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__)) 823a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_I086PM 1 824a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ARCH_IA16PM 1 825a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 826a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_ARM_THUMB) && !(LZO_ARCH_ARM) 827a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 828a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 829a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_I086PM) && !(LZO_ARCH_I086) 830a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 831a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 832a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_I086) 833a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (UINT_MAX != LZO_0xffffL) 834a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 835a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 836a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (ULONG_MAX != LZO_0xffffffffL) 837a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 838a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 839a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 840a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_I386) 841a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__) 842a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 843a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 844a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__) 845a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 846a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 847a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (ULONG_MAX != LZO_0xffffffffL) 848a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 849a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 850a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 851a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__LZO_MM_OVERRIDE) 852a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_I086) 853a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (UINT_MAX != LZO_0xffffL) 854a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 855a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 856a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM) 857a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_TINY 1 858a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM) 859a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_HUGE 1 860a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL) 861a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_SMALL 1 862a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM) 863a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_MEDIUM 1 864a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM) 865a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_COMPACT 1 866a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL) 867a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_LARGE 1 868a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_AZTECC) 869a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(_LARGE_CODE) && defined(_LARGE_DATA) 870a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_LARGE 1 871a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(_LARGE_CODE) 872a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_MEDIUM 1 873a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(_LARGE_DATA) 874a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_COMPACT 1 875a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 876a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_SMALL 1 877a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 878a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_ZORTECHC && defined(__VCM__)) 879a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_LARGE 1 880a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 881a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "unknown memory model" 882a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 883a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 884a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_HAVE_MM_HUGE_PTR 1 885a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_HAVE_MM_HUGE_ARRAY 1 886a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_MM_TINY) 887a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_HAVE_MM_HUGE_ARRAY 888a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 889a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC) 890a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_HAVE_MM_HUGE_PTR 891a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_HAVE_MM_HUGE_ARRAY 892a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_DMC || LZO_CC_SYMANTECC) 893a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_HAVE_MM_HUGE_ARRAY 894a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MSC && defined(_QC)) 895a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_HAVE_MM_HUGE_ARRAY 896a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (_MSC_VER < 600) 897a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_HAVE_MM_HUGE_PTR 898a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 899a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295)) 900a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_HAVE_MM_HUGE_ARRAY 901a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 902a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR) 903a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_OS_DOS16) 904a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 905a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_ZORTECHC) 906a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 907a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 908a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 909a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 910a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#ifdef __cplusplus 911a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehatextern "C" { 912a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 913a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200)) 914a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat extern void __near __cdecl _AHSHIFT(void); 915a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 916a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 917a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat extern void __near __cdecl _AHSHIFT(void); 918a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 919a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC) 920a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat extern void __near __cdecl _AHSHIFT(void); 921a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 922a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295)) 923a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat extern void __near __cdecl _AHSHIFT(void); 924a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 925a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16) 926a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_AHSHIFT 12 927a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_WATCOMC) 928a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat extern unsigned char _HShift; 929a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_AHSHIFT ((unsigned) _HShift) 930a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 931a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "FIXME - implement LZO_MM_AHSHIFT" 932a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 933a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#ifdef __cplusplus 934a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat} 935a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 936a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 937a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_C166) 938a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__MODEL__) 939a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "FIXME - C166 __MODEL__" 940a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 0) 941a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_SMALL 1 942a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 1) 943a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_SMALL 1 944a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 2) 945a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_LARGE 1 946a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 3) 947a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_TINY 1 948a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 4) 949a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_XTINY 1 950a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 5) 951a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_XSMALL 1 952a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 953a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "FIXME - C166 __MODEL__" 954a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 955a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_MCS251) 956a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__MODEL__) 957a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "FIXME - MCS251 __MODEL__" 958a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 0) 959a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_SMALL 1 960a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 2) 961a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_LARGE 1 962a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 3) 963a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_TINY 1 964a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 4) 965a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_XTINY 1 966a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 5) 967a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_XSMALL 1 968a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 969a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "FIXME - MCS251 __MODEL__" 970a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 971a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_MCS51) 972a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__MODEL__) 973a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "FIXME - MCS51 __MODEL__" 974a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 1) 975a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_SMALL 1 976a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 2) 977a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_LARGE 1 978a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 3) 979a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_TINY 1 980a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 4) 981a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_XTINY 1 982a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((__MODEL__) == 5) 983a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_XSMALL 1 984a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 985a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "FIXME - MCS51 __MODEL__" 986a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 987a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_CRAY_PVP) 988a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_PVP 1 989a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 990a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_MM_FLAT 1 991a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 992a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_MM_COMPACT) 993a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_MM "compact" 994a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_MM_FLAT) 995a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_MM "flat" 996a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_MM_HUGE) 997a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_MM "huge" 998a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_MM_LARGE) 999a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_MM "large" 1000a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_MM_MEDIUM) 1001a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_MM "medium" 1002a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_MM_PVP) 1003a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_MM "pvp" 1004a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_MM_SMALL) 1005a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_MM "small" 1006a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_MM_TINY) 1007a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_MM "tiny" 1008a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1009a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "unknown memory model" 1010a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1011a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1012a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(SIZEOF_SHORT) 1013a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SHORT (SIZEOF_SHORT) 1014a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1015a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(SIZEOF_INT) 1016a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_INT (SIZEOF_INT) 1017a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1018a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(SIZEOF_LONG) 1019a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG (SIZEOF_LONG) 1020a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1021a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(SIZEOF_LONG_LONG) 1022a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG) 1023a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1024a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(SIZEOF___INT16) 1025a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF___INT16 (SIZEOF___INT16) 1026a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1027a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(SIZEOF___INT32) 1028a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF___INT32 (SIZEOF___INT32) 1029a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1030a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(SIZEOF___INT64) 1031a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF___INT64 (SIZEOF___INT64) 1032a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1033a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(SIZEOF_VOID_P) 1034a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P) 1035a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1036a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(SIZEOF_SIZE_T) 1037a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T) 1038a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1039a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(SIZEOF_PTRDIFF_T) 1040a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T) 1041a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1042a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define __LZO_LSR(x,b) (((x)+0ul) >> (b)) 1043a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_SIZEOF_SHORT) 1044a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_ARCH_CRAY_PVP) 1045a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SHORT 8 1046a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (USHRT_MAX == LZO_0xffffL) 1047a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SHORT 2 1048a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(USHRT_MAX,7) == 1) 1049a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SHORT 1 1050a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(USHRT_MAX,15) == 1) 1051a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SHORT 2 1052a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(USHRT_MAX,31) == 1) 1053a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SHORT 4 1054a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(USHRT_MAX,63) == 1) 1055a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SHORT 8 1056a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(USHRT_MAX,127) == 1) 1057a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SHORT 16 1058a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1059a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "LZO_SIZEOF_SHORT" 1060a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1061a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1062a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_SIZEOF_INT) 1063a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_ARCH_CRAY_PVP) 1064a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_INT 8 1065a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (UINT_MAX == LZO_0xffffL) 1066a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_INT 2 1067a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (UINT_MAX == LZO_0xffffffffL) 1068a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_INT 4 1069a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(UINT_MAX,7) == 1) 1070a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_INT 1 1071a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(UINT_MAX,15) == 1) 1072a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_INT 2 1073a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(UINT_MAX,31) == 1) 1074a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_INT 4 1075a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(UINT_MAX,63) == 1) 1076a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_INT 8 1077a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(UINT_MAX,127) == 1) 1078a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_INT 16 1079a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1080a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "LZO_SIZEOF_INT" 1081a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1082a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1083a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_SIZEOF_LONG) 1084a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (ULONG_MAX == LZO_0xffffffffL) 1085a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG 4 1086a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(ULONG_MAX,7) == 1) 1087a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG 1 1088a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(ULONG_MAX,15) == 1) 1089a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG 2 1090a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(ULONG_MAX,31) == 1) 1091a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG 4 1092a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(ULONG_MAX,63) == 1) 1093a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG 8 1094a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(ULONG_MAX,127) == 1) 1095a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG 16 1096a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1097a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "LZO_SIZEOF_LONG" 1098a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1099a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1100a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) 1101a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) 1102a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__) 1103a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_GNUC >= 0x030300ul) 1104a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0) 1105a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG 1106a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1) 1107a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 4 1108a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1109a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1110a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1111a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1112a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1113a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) 1114a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) 1115a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_I086 && LZO_CC_DMC) 1116a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CILLY) && defined(__GNUC__) 1117a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 8 1118a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1119a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 8 1120a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400)) 1121a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 8 1122a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_OS_WIN64 || defined(_WIN64)) 1123a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF___INT64 8 1124a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386 && (LZO_CC_DMC)) 1125a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 8 1126a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700))) 1127a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 8 1128a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__))) 1129a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 8 1130a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC)) 1131a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 8 1132a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC)) 1133a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF___INT64 8 1134a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC)) 1135a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF___INT64 8 1136a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520))) 1137a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF___INT64 8 1138a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100))) 1139a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF___INT64 8 1140a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64)) 1141a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF___INT64 8 1142a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__) 1143a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 8 1144a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) 1145a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 8 1146a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2) 1147a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) 1148a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_LONG_LONG 8 1149a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1150a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1151a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1152a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__cplusplus) && (LZO_CC_GNUC) 1153a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_GNUC < 0x020800ul) 1154a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_SIZEOF_LONG_LONG 1155a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1156a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1157a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG) 1158a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_SIZEOF_LONG_LONG 1159a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1160a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_SIZEOF_VOID_P) 1161a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_I086) 1162a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_WORDSIZE 2 1163a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) 1164a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 2 1165a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) 1166a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 4 1167a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1168a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "LZO_MM" 1169a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1170a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_AVR || LZO_ARCH_Z80) 1171a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_WORDSIZE 1 1172a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 2 1173a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430) 1174a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 2 1175a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_H8300) 1176a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__NORMAL_MODE__) 1177a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_WORDSIZE 4 1178a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 2 1179a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 1180a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_WORDSIZE 4 1181a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 4 1182a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1183a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_WORDSIZE 2 1184a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 2 1185a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1186a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4) 1187a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT 1188a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT 1189a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1190a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_M16C) 1191a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_WORDSIZE 2 1192a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__m32c_cpu__) || defined(__m32cm_cpu__) 1193a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 4 1194a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1195a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 2 1196a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1197a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) 1198a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_WORDSIZE 8 1199a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 4 1200a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64) 1201a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_WORDSIZE 8 1202a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 8 1203a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__) 1204a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG 1205a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 1206a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 1207a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_OS_OS400 || defined(__OS400__)) 1208a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_WORDSIZE LZO_SIZEOF_LONG 1209a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 16 1210a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 1211a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 1212a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) 1213a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 8 1214a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 1215a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 1216a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_SPU) 1217a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if 0 1218a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_WORDSIZE 16 1219a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1220a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P 4 1221a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1222a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG 1223a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1224a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1225a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_WORDSIZE) 1226a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__LZO_WORDSIZE) 1227a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_WORDSIZE __LZO_WORDSIZE 1228a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1229a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_WORDSIZE LZO_SIZEOF_VOID_P 1230a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1231a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1232a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_SIZEOF_SIZE_T) 1233a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_I086 || LZO_ARCH_M16C) 1234a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SIZE_T 2 1235a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1236a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P 1237a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1238a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1239a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_SIZEOF_PTRDIFF_T) 1240a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_I086) 1241a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE) 1242a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P 1243a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_MM_COMPACT || LZO_MM_LARGE) 1244a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_BORLANDC || LZO_CC_TURBOC) 1245a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_PTRDIFF_T 4 1246a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1247a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_PTRDIFF_T 2 1248a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1249a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1250a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "LZO_MM" 1251a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1252a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1253a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T 1254a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1255a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1256a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ABI_NEUTRAL_ENDIAN) 1257a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_ABI_BIG_ENDIAN 1258a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_ABI_LITTLE_ENDIAN 1259a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN) 1260a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP) 1261a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_BIG_ENDIAN 1 1262a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64) 1263a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_LITTLE_ENDIAN 1 1264a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430) 1265a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_LITTLE_ENDIAN 1 1266a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390) 1267a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_BIG_ENDIAN 1 1268a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__) 1269a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (__LITTLE_ENDIAN__ == 1) 1270a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_LITTLE_ENDIAN 1 1271a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1272a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_BIG_ENDIAN 1 1273a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1274a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) 1275a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_BIG_ENDIAN 1 1276a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) 1277a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_LITTLE_ENDIAN 1 1278a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__) 1279a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_BIG_ENDIAN 1 1280a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__) 1281a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_LITTLE_ENDIAN 1 1282a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__) 1283a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_BIG_ENDIAN 1 1284a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__) 1285a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_LITTLE_ENDIAN 1 1286a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1287a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1288a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN) 1289a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 1290a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1291a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ABI_BIG_ENDIAN) 1292a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ABI_ENDIAN "be" 1293a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ABI_LITTLE_ENDIAN) 1294a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ABI_ENDIAN "le" 1295a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ABI_NEUTRAL_ENDIAN) 1296a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ABI_ENDIAN "neutral" 1297a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1298a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) 1299a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_I8LP16 1 1300a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ABI_PM "i8lp16" 1301a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) 1302a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_ILP16 1 1303a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ABI_PM "ilp16" 1304a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) 1305a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_ILP32 1 1306a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ABI_PM "ilp32" 1307a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8) 1308a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_LLP64 1 1309a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ABI_PM "llp64" 1310a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) 1311a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_LP64 1 1312a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ABI_PM "lp64" 1313a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) 1314a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_ILP64 1 1315a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ABI_PM "ilp64" 1316a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4) 1317a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ABI_IP32L64 1 1318a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_ABI_PM "ip32l64" 1319a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1320a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__LZO_LIBC_OVERRIDE) 1321a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_LIBC_NAKED) 1322a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "naked" 1323a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_LIBC_FREESTANDING) 1324a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "freestanding" 1325a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_LIBC_MOSTLY_FREESTANDING) 1326a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "mfreestanding" 1327a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_LIBC_ISOC90) 1328a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "isoc90" 1329a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_LIBC_ISOC99) 1330a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "isoc99" 1331a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__dietlibc__) 1332a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_LIBC_DIETLIBC 1 1333a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "dietlibc" 1334a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(_NEWLIB_VERSION) 1335a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_LIBC_NEWLIB 1 1336a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "newlib" 1337a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__) 1338a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__UCLIBC_SUBLEVEL__) 1339a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__) 1340a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1341a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_LIBC_UCLIBC 0x00090bL 1342a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1343a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "uclibc" 1344a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) 1345a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100) 1346a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "glibc" 1347a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MWERKS) && defined(__MSL__) 1348a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_LIBC_MSL __MSL__ 1349a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "msl" 1350a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif 1 && defined(__IAR_SYSTEMS_ICC__) 1351a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_LIBC_ISOC90 1 1352a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "isoc90" 1353a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1354a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_LIBC_DEFAULT 1 1355a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_INFO_LIBC "default" 1356a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1357a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1358a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_gnuc_extension__) 1359a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_GNUC >= 0x020800ul) 1360a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_gnuc_extension__ __extension__ 1361a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1362a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_gnuc_extension__ __extension__ 1363a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1364a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_gnuc_extension__ /*empty*/ 1365a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1366a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1367a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_ua_volatile) 1368a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_ua_volatile volatile 1369a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1370a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_alignof) 1371a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 1372a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_alignof(e) __alignof__(e) 1373a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700)) 1374a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_alignof(e) __alignof__(e) 1375a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MSC && (_MSC_VER >= 1300)) 1376a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_alignof(e) __alignof(e) 1377a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100)) 1378a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_alignof(e) __alignof__(e) 1379a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1380a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1381a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_alignof) 1382a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_alignof 1 1383a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1384a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_constructor) 1385a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_GNUC >= 0x030400ul) 1386a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_constructor __attribute__((__constructor__,__used__)) 1387a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_GNUC >= 0x020700ul) 1388a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_constructor __attribute__((__constructor__)) 1389a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1390a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_constructor __attribute__((__constructor__)) 1391a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1392a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1393a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_constructor) 1394a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_constructor 1 1395a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1396a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_destructor) 1397a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_GNUC >= 0x030400ul) 1398a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_destructor __attribute__((__destructor__,__used__)) 1399a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_GNUC >= 0x020700ul) 1400a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_destructor __attribute__((__destructor__)) 1401a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1402a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_destructor __attribute__((__destructor__)) 1403a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1404a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1405a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_destructor) 1406a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_destructor 1 1407a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1408a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor) 1409a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 1410a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1411a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_inline) 1412a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295)) 1413a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__cplusplus) 1414a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_inline inline 1415a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550)) 1416a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_inline __inline 1417a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 1418a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_inline __inline__ 1419a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_DMC) 1420a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_inline __inline 1421a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC) 1422a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_inline __inline 1423a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405)) 1424a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_inline __inline 1425a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MSC && (_MSC_VER >= 900)) 1426a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_inline __inline 1427a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100)) 1428a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_inline __inline__ 1429a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) 1430a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_inline inline 1431a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1432a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1433a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_inline) 1434a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_inline 1 1435a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1436a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_inline /*empty*/ 1437a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1438a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_forceinline) 1439a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_GNUC >= 0x030200ul) 1440a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1441a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) 1442a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_forceinline __forceinline 1443a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC) 1444a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1445a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1446a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1447a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) 1448a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_forceinline __forceinline 1449a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100)) 1450a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1451a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1452a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1453a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_forceinline) 1454a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_forceinline 1 1455a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1456a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_forceinline /*empty*/ 1457a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1458a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_noinline) 1459a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul) 1460a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noinline __attribute__((__noinline__,__used__)) 1461a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_GNUC >= 0x030200ul) 1462a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noinline __attribute__((__noinline__)) 1463a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_MSC) 1464a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noinline __declspec(noinline) 1465a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC) 1466a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noinline __attribute__((__noinline__)) 1467a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1468a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noinline __attribute__((__noinline__)) 1469a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MSC && (_MSC_VER >= 1300)) 1470a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noinline __declspec(noinline) 1471a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64)) 1472a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__cplusplus) 1473a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1474a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noinline __declspec(noinline) 1475a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1476a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100)) 1477a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noinline __attribute__((__noinline__)) 1478a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1479a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1480a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_noinline) 1481a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_noinline 1 1482a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1483a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noinline /*empty*/ 1484a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1485a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline) 1486a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# error "this should not happen" 1487a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1488a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_noreturn) 1489a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_GNUC >= 0x020700ul) 1490a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noreturn __attribute__((__noreturn__)) 1491a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) 1492a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noreturn __declspec(noreturn) 1493a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC) 1494a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noreturn __attribute__((__noreturn__)) 1495a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1496a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noreturn __attribute__((__noreturn__)) 1497a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) 1498a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noreturn __declspec(noreturn) 1499a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1500a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1501a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_noreturn) 1502a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_noreturn 1 1503a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1504a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_noreturn /*empty*/ 1505a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1506a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_nothrow) 1507a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_GNUC >= 0x030300ul) 1508a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_nothrow __attribute__((__nothrow__)) 1509a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) && defined(__cplusplus) 1510a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_nothrow __declspec(nothrow) 1511a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 900) && LZO_CC_SYNTAX_GNUC) 1512a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_nothrow __attribute__((__nothrow__)) 1513a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1514a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_nothrow __attribute__((__nothrow__)) 1515a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus) 1516a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_nothrow __declspec(nothrow) 1517a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1518a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1519a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_nothrow) 1520a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_nothrow 1 1521a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1522a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_nothrow /*empty*/ 1523a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1524a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_restrict) 1525a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_GNUC >= 0x030400ul) 1526a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_restrict __restrict__ 1527a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC) 1528a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_restrict __restrict__ 1529a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CLANG || LZO_CC_LLVM) 1530a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_restrict __restrict__ 1531a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_MSC && (_MSC_VER >= 1400)) 1532a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_restrict __restrict 1533a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1534a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1535a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_restrict) 1536a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_restrict 1 1537a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1538a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_restrict /*empty*/ 1539a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1540a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_likely) && !defined(__lzo_unlikely) 1541a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_GNUC >= 0x030200ul) 1542a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1543a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1544a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800)) 1545a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1546a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1547a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1548a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1549a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1550a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1551a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1552a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_likely) 1553a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_likely 1 1554a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1555a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_likely(e) (e) 1556a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1557a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__lzo_unlikely) 1558a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_HAVE_unlikely 1 1559a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1560a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_unlikely(e) (e) 1561a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1562a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_UNUSED) 1563a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) 1564a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED(var) ((void) &var) 1565a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC) 1566a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED(var) if (&var) ; else 1567a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1568a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED(var) ((void) var) 1569a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_MSC && (_MSC_VER < 900)) 1570a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED(var) if (&var) ; else 1571a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_KEILC) 1572a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED(var) {extern int __lzo_unused[1-2*!(sizeof(var)>0)];} 1573a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_PACIFICC) 1574a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED(var) ((void) sizeof(var)) 1575a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_WATCOMC) && defined(__cplusplus) 1576a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED(var) ((void) var) 1577a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1578a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED(var) ((void) &var) 1579a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1580a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1581a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_UNUSED_FUNC) 1582a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) 1583a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED_FUNC(func) ((void) func) 1584a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC) 1585a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED_FUNC(func) if (func) ; else 1586a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_CLANG || LZO_CC_LLVM) 1587a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED_FUNC(func) ((void) &func) 1588a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_MSC && (_MSC_VER < 900)) 1589a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED_FUNC(func) if (func) ; else 1590a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_MSC) 1591a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED_FUNC(func) ((void) &func) 1592a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_KEILC || LZO_CC_PELLESC) 1593a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED_FUNC(func) {extern int __lzo_unused[1-2*!(sizeof((int)func)>0)];} 1594a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1595a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED_FUNC(func) ((void) func) 1596a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1597a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1598a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_UNUSED_LABEL) 1599a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_WATCOMC) && defined(__cplusplus) 1600a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l 1601a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC) 1602a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED_LABEL(l) if (0) goto l 1603a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1604a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l 1605a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1606a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1607a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_DEFINE_UNINITIALIZED_VAR) 1608a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if 0 1609a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var 1610a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif 0 && (LZO_CC_GNUC) 1611a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var 1612a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1613a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init 1614a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1615a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1616a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_UNCONST_CAST) 1617a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if 0 && defined(__cplusplus) 1618a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNCONST_CAST(t,e) (const_cast<t> (e)) 1619a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1620a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((char *) ((lzo_uintptr_t) ((const void *) (e)))))) 1621a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1622a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((char *) ((const void *) (e))))) 1623a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1624a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1625a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER) 1626a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC) 1627a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)]; 1628a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_DMC || LZO_CC_SYMANTECC) 1629a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1u-2*!(e)]; 1630a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) 1631a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)]; 1632a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1633a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-2*!(e)]; 1634a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1635a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1636a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(LZO_COMPILE_TIME_ASSERT) 1637a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_AZTECC) 1638a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-!(e)];} 1639a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 1640a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 1641a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_MSC && (_MSC_VER < 900)) 1642a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 1643a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) 1644a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 1645a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1646a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-2*!(e)];} 1647a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1648a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1649a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#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) 1650a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC) 1651a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 1652a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl __cdecl 1653a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_atexit /*empty*/ 1654a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_main __cdecl 1655a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) 1656a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_qsort __pascal 1657a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) 1658a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_qsort _stdcall 1659a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1660a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_qsort __cdecl 1661a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1662a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_WATCOMC) 1663a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl __cdecl 1664a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1665a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl __cdecl 1666a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_atexit __cdecl 1667a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_main __cdecl 1668a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_qsort __cdecl 1669a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1670a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC) 1671a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) 1672a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_sighandler __pascal 1673a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) 1674a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_sighandler _stdcall 1675a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE) 1676a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_sighandler __clrcall 1677a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700)) 1678a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(_DLL) 1679a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_sighandler _far _cdecl _loadds 1680a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif defined(_MT) 1681a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_sighandler _far _cdecl 1682a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1683a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_sighandler _cdecl 1684a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1685a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1686a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_sighandler __cdecl 1687a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1688a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC) 1689a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl __cdecl 1690a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) 1691a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl cdecl 1692a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1693a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_cdecl) 1694a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl /*empty*/ 1695a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1696a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_cdecl_atexit) 1697a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_atexit /*empty*/ 1698a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1699a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_cdecl_main) 1700a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_main /*empty*/ 1701a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1702a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_cdecl_qsort) 1703a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_qsort /*empty*/ 1704a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1705a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_cdecl_sighandler) 1706a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_sighandler /*empty*/ 1707a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1708a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !defined(__lzo_cdecl_va) 1709a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __lzo_cdecl_va __lzo_cdecl 1710a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1711a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if !(LZO_CFG_NO_WINDOWS_H) 1712a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64) 1713a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000)) 1714a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) 1715a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul))) 1716a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# else 1717a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_HAVE_WINDOWS_H 1 1718a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1719a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1720a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1721a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_ALPHA) 1722a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_AVOID_UINT_INDEX 1 1723a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_AVOID_SHORT 1 1724a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_AVOID_USHORT 1 1725a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_AMD64) 1726a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_AVOID_INT_INDEX 1 1727a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_AVOID_UINT_INDEX 1 1728a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED16 1 1729a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED32 1 1730a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED64 1 1731a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB) 1732a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_ARM) 1733a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_AVOID_SHORT 1 1734a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_AVOID_USHORT 1 1735a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_CRIS) 1736a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED16 1 1737a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED32 1 1738a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386) 1739a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED16 1 1740a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED32 1 1741a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_IA64) 1742a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_AVOID_INT_INDEX 1 1743a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_AVOID_UINT_INDEX 1 1744a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_PREFER_POSTINC 1 1745a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_M68K) 1746a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_PREFER_POSTINC 1 1747a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_PREFER_PREDEC 1 1748a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if defined(__mc68020__) && !defined(__mcoldfire__) 1749a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED16 1 1750a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED32 1 1751a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1752a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_MIPS) 1753a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_AVOID_UINT_INDEX 1 1754a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_POWERPC) 1755a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_PREFER_PREINC 1 1756a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_PREFER_PREDEC 1 1757a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_ABI_BIG_ENDIAN) 1758a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED16 1 1759a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED32 1 1760a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1761a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_S390) 1762a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED16 1 1763a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED32 1 1764a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# if (LZO_SIZEOF_SIZE_T == 8) 1765a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_UNALIGNED64 1 1766a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# endif 1767a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_SH) 1768a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_PREFER_POSTINC 1 1769a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_OPT_PREFER_PREDEC 1 1770a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1771a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#ifndef LZO_CFG_NO_INLINE_ASM 1772a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CC_LLVM) 1773a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CFG_NO_INLINE_ASM 1 1774a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1775a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1776a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#ifndef LZO_CFG_NO_UNALIGNED 1777a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) 1778a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_CFG_NO_UNALIGNED 1 1779a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1780a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1781a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CFG_NO_UNALIGNED) 1782a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_OPT_UNALIGNED16 1783a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_OPT_UNALIGNED32 1784a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# undef LZO_OPT_UNALIGNED64 1785a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1786a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_CFG_NO_INLINE_ASM) 1787a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) 1788a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ASM_SYNTAX_MSC 1 1789a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) 1790a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul)) 1791a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) 1792a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ASM_SYNTAX_GNUC 1 1793a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) 1794a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define LZO_ASM_SYNTAX_GNUC 1 1795a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1796a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ASM_SYNTAX_GNUC) 1797a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) 1798a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_ASM_CLOBBER "ax" 1799a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_CC_INTELC) 1800a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_ASM_CLOBBER "memory" 1801a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1802a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_ASM_CLOBBER "cc", "memory" 1803a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1804a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1805a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__LZO_INFOSTR_MM) 1806a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM)) 1807a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_MM "" 1808a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(LZO_INFO_MM) 1809a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_MM "." LZO_INFO_MM 1810a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1811a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_MM "" 1812a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1813a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__LZO_INFOSTR_PM) 1814a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(LZO_INFO_ABI_PM) 1815a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_PM "." LZO_INFO_ABI_PM 1816a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1817a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_PM "" 1818a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1819a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__LZO_INFOSTR_ENDIAN) 1820a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(LZO_INFO_ABI_ENDIAN) 1821a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_ENDIAN "." LZO_INFO_ABI_ENDIAN 1822a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1823a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_ENDIAN "" 1824a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1825a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__LZO_INFOSTR_OSNAME) 1826a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(LZO_INFO_OS_CONSOLE) 1827a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_CONSOLE 1828a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(LZO_INFO_OS_POSIX) 1829a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_POSIX 1830a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1831a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_OSNAME LZO_INFO_OS 1832a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1833a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__LZO_INFOSTR_LIBC) 1834a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(LZO_INFO_LIBC) 1835a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_LIBC "." LZO_INFO_LIBC 1836a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1837a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_LIBC "" 1838a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1839a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#if defined(__LZO_INFOSTR_CCVER) 1840a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#elif defined(LZO_INFO_CCVER) 1841a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER 1842a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#else 1843a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat# define __LZO_INFOSTR_CCVER "" 1844a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif 1845a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#define LZO_INFO_STRING \ 1846a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \ 1847a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER 1848a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 1849a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat#endif /* already included */ 1850a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat 1851a430b2b5ca4f0967836f5820e8f03adc17fc0a24San Mehat/* vim:set ts=4 et: */ 1852