beta-0.89.2
[luatex.git] / source / libs / zziplib / zziplib-0.13.62 / zzip / conf.h
blob52b33e287cefc27abec9689c229e34d01315d2e4
1 /*
2 * Here we postprocess autoconf generated prefix-config.h entries.
3 * This is generally for things like "off_t" which is left undefined
4 * in plain config.h if the host system does already have it but we do
5 * need the prefix variant - so we add here a #define _zzip_off_t off_t
7 * This file is supposed to only carry '#define's.
8 * See <zzip/types.h> for definitions that might be seen by the compiler.
10 * Author:
11 * Guido Draheim <guidod@gmx.de>
13 * Copyright (c) 2001,2002,2003,2004 Guido Draheim
14 * All rights reserved,
15 * use under the restrictions of the
16 * Lesser GNU General Public License
17 * or alternatively the restrictions
18 * of the Mozilla Public License 1.1
21 #ifndef _ZZIP_CONF_H
22 #define _ZZIP_CONF_H 1
24 #if !defined ZZIP_OMIT_CONFIG_H
25 # if defined _MSC_VER || defined __BORLANDC__ || defined __WATCOMC__
26 # include <zzip/_msvc.h>
27 # elif defined ZZIP_1_H
28 # include "zzip-1.h"
29 # elif defined ZZIP_2_H
30 # include "zzip-2.h"
31 # elif defined ZZIP_3_H
32 # include "zzip-3.h"
33 # elif defined ZZIP_4_H
34 # include "zzip-4.h"
35 # elif defined ZZIP_5_H
36 # include "zzip-5.h"
37 # else /* autoconf generated */
38 # include <zzip/_config.h>
39 # endif
40 #endif
42 /* especially win32 platforms do not declare off_t so far - see zzip-msvc.h */
43 #ifndef _zzip_off_t
44 #ifdef ZZIP_off_t
45 #define _zzip_off_t ZZIP_off_t
46 #else
47 #define _zzip_off_t off_t
48 #endif
49 #endif
51 #ifndef _zzip_off64_t
52 #ifdef ZZIP_off64_t
53 #define _zzip_off64_t ZZIP_off64_t
54 #else
55 #define _zzip_off64_t off64_t
56 #endif
57 #endif
59 /* currently unused, all current zziplib-users do have ansi-C94 compilers. */
60 #ifndef _zzip_const
61 #ifdef ZZIP_const
62 #define _zzip_const ZZIP_const
63 #else
64 #define _zzip_const const
65 #endif
66 #endif
67 #ifndef _zzip_inline
68 #ifdef ZZIP_inline
69 #define _zzip_inline ZZIP_inline
70 #else
71 #define _zzip_inline inline
72 #endif
73 #endif
74 #ifndef _zzip_restrict
75 #ifdef ZZIP_restrict
76 #define _zzip_restrict ZZIP_restrict
77 #else
78 #define _zzip_restrict restrict
79 #endif
80 #endif
81 #if defined __linux__ && __GNUC__+0 >= 4
82 #define zzip__new__ __attribute__((malloc))
83 #elif defined __linux__ && __GNUC__+0 >= 3 && __GNUC_MINOR_+0 >= 3
84 #define zzip__new__ __attribute__((malloc))
85 #else
86 #define zzip__new__
87 #endif
89 #ifndef _zzip_size_t
90 #ifdef ZZIP_size_t
91 #define _zzip_size_t ZZIP_size_t
92 #else
93 #define _zzip_size_t size_t
94 #endif
95 #endif
96 #ifndef _zzip_ssize_t
97 #ifdef ZZIP_ssize_t
98 #define _zzip_ssize_t ZZIP_ssize_t
99 #else
100 #define _zzip_ssize_t ssize_t
101 #endif
102 #endif
103 #ifndef _zzip___int64
104 #ifdef ZZIP___int64
105 #define _zzip___int64 ZZIP___int64
106 #else
107 #define _zzip___int64 long long
108 #endif
109 #endif
111 /* whether this library shall use a 64bit off_t largefile variant in 64on32: */
112 /* (some exported names must be renamed to avoid bad calls after linking) */
113 #if defined ZZIP_LARGEFILE_SENSITIVE
114 # if _FILE_OFFSET_BITS+0 == 64
115 # define ZZIP_LARGEFILE_RENAME
116 # elif defined _LARGE_FILES /* used on older AIX to get at 64bit off_t */
117 # define ZZIP_LARGEFILE_RENAME
118 # elif defined _ZZIP_LARGEFILE /* or simply use this one for zzip64 runs */
119 # define ZZIP_LARGEFILE_RENAME
120 # endif
121 #endif
123 /* if the environment did not setup these for 64bit off_t largefile... */
124 #ifdef ZZIP_LARGEFILE_RENAME
125 # ifndef _FILE_OFFSET_BITS
126 # ifdef ZZIP__FILE_OFFSET_BITS /* == 64 */
127 # define _FILE_OFFSET_BITS ZZIP__FILE_OFFSET_BITS
128 # endif
129 # endif
130 # ifndef _LARGE_FILES
131 # ifdef ZZIP__LARGE_FILES /* == 1 */
132 # define _LARGE_FILES ZZIP__LARGE_FILES
133 # endif
134 # endif
135 # ifndef _LARGEFILE_SOURCE
136 # ifdef ZZIP__LARGEFILE_SOURCE /* == 1 */
137 # define _LARGEFILE_SOURCE ZZIP__LARGEFILE_SOURCE
138 # endif
139 # endif
140 #endif
142 #include <errno.h>
144 /* mingw32msvc errno : would be in winsock.h */
145 #ifndef EREMOTE
146 #define EREMOTE ESPIPE
147 #endif
149 #ifndef ELOOP
150 #if defined EILSEQ
151 #define ELOOP EILSEQ
152 #else
153 #define ELOOP ENOEXEC
154 #endif
155 #endif
157 #if defined __WATCOMC__
158 #undef _zzip_inline
159 #define _zzip_inline static
160 #endif
162 #if defined _MSC_VER || defined __WATCOMC__
163 #include <io.h>
164 #endif
166 #ifdef _MSC_VER
167 # if !__STDC__
168 # ifndef _zzip_lseek
169 # define _zzip_lseek _lseek
170 # endif
171 # ifndef _zzip_read
172 # define _zzip_read _read
173 # endif
174 # ifndef _zzip_write
175 # define _zzip_write _write
176 # endif
177 # if 0
178 # ifndef _zzip_stat
179 # define _zzip_stat _stat
180 # endif
181 # endif
182 # endif /* !__STDC__ */
183 #endif
184 /*MSVC*/
186 #if defined _MSC_VER || defined __WATCOMC__
187 # ifndef strcasecmp
188 # define strcasecmp _stricmp
189 # endif
190 #endif
192 # ifndef _zzip_lseek
193 # define _zzip_lseek lseek
194 # endif
196 # ifndef _zzip_read
197 # define _zzip_read read
198 # endif
200 # ifndef _zzip_write
201 # define _zzip_write write
202 # endif
204 # if 0
205 # ifndef _zzip_stat
206 # define _zzip_stat stat
207 # endif
208 # endif
211 #if defined ZZIP_EXPORTS || defined ZZIPLIB_EXPORTS
212 # undef ZZIP_DLL
213 #define ZZIP_DLL 1
214 #endif
216 /* based on zconf.h : */
217 /* compile with -DZZIP_DLL for Windows DLL support */
218 #if defined ZZIP_DLL
219 # if defined _WINDOWS || defined WINDOWS || defined _WIN32
220 /*# include <windows.h>*/
221 # endif
222 # if !defined _zzip_export && defined _MSC_VER && (defined WIN32 || defined _WIN32)
223 # define _zzip_export __declspec(dllexport) /*WINAPI*/
224 # endif
225 # if !defined _zzip_export && defined __BORLANDC__
226 # if __BORLANDC__ >= 0x0500 && defined WIN32
227 # include <windows.h>
228 # define _zzip_export __declspec(dllexport) /*WINAPI*/
229 # else
230 # if defined _Windows && defined __DLL__
231 # define _zzip_export _export
232 # endif
233 # endif
234 # endif
235 # if !defined _zzip_export && defined __GNUC__
236 # if defined __declspec
237 # define _zzip_export extern __declspec(dllexport)
238 # else
239 # define _zzip_export extern
240 # endif
241 # endif
242 # if !defined _zzip_export && defined __BEOS__
243 # define _zzip_export extern __declspec(export)
244 # endif
245 # if !defined _zzip_export && defined __WATCOMC__
246 # define _zzip_export extern __declspec(dllexport)
247 # define ZEXPORT __syscall
248 # define ZEXTERN extern
249 # endif
250 #endif
252 #if !defined _zzip_export
253 # if defined __GNUC__ /* || !defined HAVE_LIBZZIP */
254 # define _zzip_export extern
255 # elif defined __declspec || (defined _MSC_VER && defined ZZIP_DLL)
256 # define _zzip_export extern __declspec(dllimport)
257 # else
258 # define _zzip_export extern
259 # endif
260 #endif
262 #endif