Subversion Repositories QNX 8.QNX8 IFS tool

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
26 pmbaty 1
/* ACC -- Automatic Compiler Configuration
2
 
3
   Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
4
   All Rights Reserved.
5
 
6
   This software is a copyrighted work licensed under the terms of
7
   the GNU General Public License. Please consult the file "ACC_LICENSE"
8
   for details.
9
 
10
   Markus F.X.J. Oberhumer
11
   <markus@oberhumer.com>
12
   http://www.oberhumer.com/
13
 */
14
 
15
 
16
/*
17
 * Possible configuration values:
18
 *
19
 *   ACC_CONFIG_AUTO_NO_HEADERS
20
 *   ACC_CONFIG_AUTO_NO_FUNCTIONS
21
 *   ACC_CONFIG_AUTO_NO_SIZES
22
 */
23
 
24
 
25
/*************************************************************************
26
// Checks for <stdint.h>
27
**************************************************************************/
28
 
29
#if !defined(ACC_CONFIG_AUTO_NO_HEADERS)
30
 
31
#if defined(__GLIBC__) && defined(__GLIBC_MINOR__)
32
#  if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1))
33
#    define HAVE_STDINT_H 1
34
#  endif
35
#elif defined(__dietlibc__)
36
#  undef HAVE_STDINT_H /* incomplete */
37
#elif (ACC_CC_BORLANDC) && (__BORLANDC__ >= 0x560)
38
#  undef HAVE_STDINT_H /* broken & incomplete */
39
#elif (ACC_CC_DMC) && (__DMC__ >= 0x825)
40
#  define HAVE_STDINT_H 1
41
#endif
42
 
43
#if HAVE_STDINT_H
44
#  include <stdint.h>
45
#endif
46
 
47
#endif /* !defined(ACC_CONFIG_AUTO_NO_HEADERS) */
48
 
49
 
50
/*************************************************************************
51
// Checks for header files
52
**************************************************************************/
53
 
54
#if !defined(ACC_CONFIG_AUTO_NO_HEADERS)
55
 
56
#define STDC_HEADERS 1
57
 
58
#define HAVE_ASSERT_H 1
59
#define HAVE_CTYPE_H 1
60
#define HAVE_DIRENT_H 1
61
#define HAVE_ERRNO_H 1
62
#define HAVE_FCNTL_H 1
63
#define HAVE_LIMITS_H 1
64
#define HAVE_MALLOC_H 1
65
#define HAVE_MEMORY_H 1
66
#define HAVE_SETJMP_H 1
67
#define HAVE_SIGNAL_H 1
68
#define HAVE_STDARG_H 1
69
#define HAVE_STDDEF_H 1
70
#define HAVE_STDIO_H 1
71
#define HAVE_STDLIB_H 1
72
#define HAVE_STRING_H 1
73
#define HAVE_TIME_H 1
74
#define HAVE_UNISTD_H 1
75
#define HAVE_UTIME_H 1
76
#define HAVE_SYS_STAT_H 1
77
#define HAVE_SYS_TIME_H 1
78
#define HAVE_SYS_TYPES_H 1
79
 
80
#undef HAVE_ALLOCA_H
81
#undef HAVE_CONIO_H
82
#undef HAVE_DIRECT_H
83
#undef HAVE_DOS_H
84
#undef HAVE_IO_H
85
#undef HAVE_SHARE_H
86
#undef HAVE_STDINT_H
87
#undef HAVE_STRINGS_H
88
#undef HAVE_SYS_UTIME_H
89
 
90
 
91
#if (ACC_OS_POSIX)
92
#  define HAVE_STRINGS_H 1
93
#  if (ACC_OS_POSIX_FREEBSD || ACC_OS_POSIX_MACOSX || ACC_OS_POSIX_OPENBSD)
94
#    undef HAVE_MALLOC_H /* deprecated */
95
#  elif (ACC_OS_POSIX_HPUX || ACC_OS_POSIX_INTERIX)
96
#    define HAVE_ALLOCA_H 1
97
#  endif
98
#  if (ACC_OS_POSIX_MACOSX && ACC_CC_MWERKS) && defined(__MSL__)
99
     /* FIXME ??? */
100
#    undef HAVE_SYS_TIME_H
101
#    undef HAVE_SYS_TYPES_H
102
#  endif
103
#elif (ACC_OS_CYGWIN)
104
#  define HAVE_IO_H 1
105
#elif (ACC_OS_EMX)
106
#  define HAVE_ALLOCA_H 1
107
#  define HAVE_IO_H 1
108
#elif (ACC_OS_TOS && ACC_CC_GNUC)
109
#  if !defined(__MINT__)
110
#    undef HAVE_MALLOC_H
111
#  endif
112
#elif (ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
113
#  undef HAVE_DIRENT_H
114
#  undef HAVE_FCNTL_H
115
#  undef HAVE_MALLOC_H
116
#  undef HAVE_MEMORY_H
117
#  undef HAVE_UNISTD_H
118
#  undef HAVE_UTIME_H
119
#  undef HAVE_SYS_STAT_H
120
#  undef HAVE_SYS_TIME_H
121
#  undef HAVE_SYS_TYPES_H
122
#endif
123
 
124
 
125
/* DOS, OS/2 & Windows */
126
#if (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
127
 
128
#define HAVE_CONIO_H 1
129
#define HAVE_DIRECT_H 1
130
#define HAVE_DOS_H 1
131
#define HAVE_IO_H 1
132
#define HAVE_SHARE_H 1
133
 
134
#if (ACC_CC_AZTECC)
135
#  undef HAVE_CONIO_H
136
#  undef HAVE_DIRECT_H
137
#  undef HAVE_DIRENT_H
138
#  undef HAVE_MALLOC_H
139
#  undef HAVE_SHARE_H
140
#  undef HAVE_UNISTD_H
141
#  undef HAVE_UTIME_H
142
#  undef HAVE_SYS_STAT_H
143
#  undef HAVE_SYS_TIME_H
144
#  undef HAVE_SYS_TYPES_H
145
#elif (ACC_CC_BORLANDC)
146
#  undef HAVE_UNISTD_H
147
#  undef HAVE_SYS_TIME_H
148
#  if (ACC_OS_WIN32 || ACC_OS_WIN64)
149
#    undef HAVE_DIRENT_H /* pulls in <windows.h>; use <dir.h> instead */
150
#  endif
151
#  if (__BORLANDC__ < 0x0400)
152
#    undef HAVE_DIRENT_H
153
#    undef HAVE_UTIME_H
154
#  endif
155
#elif (ACC_CC_DMC)
156
#  undef HAVE_DIRENT_H /* not working */
157
#  undef HAVE_UNISTD_H /* not working */
158
#  define HAVE_SYS_DIRENT_H 1
159
#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
160
#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
161
#  define HAVE_ALLOCA_H 1
162
#  undef HAVE_DIRENT_H
163
#  undef HAVE_UNISTD_H
164
#elif (ACC_CC_IBMC && ACC_OS_OS2)
165
#  undef HAVE_DOS_H
166
#  undef HAVE_DIRENT_H
167
#  undef HAVE_UNISTD_H
168
#  undef HAVE_UTIME_H
169
#  undef HAVE_SYS_TIME_H
170
#  define HAVE_SYS_UTIME_H 1
171
#elif (ACC_CC_INTELC || ACC_CC_MSC)
172
#  undef HAVE_DIRENT_H
173
#  undef HAVE_UNISTD_H
174
#  undef HAVE_UTIME_H
175
#  undef HAVE_SYS_TIME_H
176
#  define HAVE_SYS_UTIME_H 1
177
#elif (ACC_CC_LCC)
178
#  undef HAVE_DIRENT_H
179
#  undef HAVE_DOS_H
180
#  undef HAVE_SYS_TIME_H
181
#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__MINGW32__)
182
#  undef HAVE_UTIME_H
183
#  define HAVE_SYS_UTIME_H 1
184
#elif (ACC_OS_WIN32 && ACC_CC_MWERKS) && defined(__MSL__)
185
#  define HAVE_ALLOCA_H 1
186
#  undef HAVE_DOS_H
187
#  undef HAVE_SHARE_H
188
#  undef HAVE_SYS_TIME_H
189
#elif (ACC_CC_NDPC)
190
#  undef HAVE_DIRENT_H
191
#  undef HAVE_DOS_H
192
#  undef HAVE_UNISTD_H
193
#  undef HAVE_UTIME_H
194
#  undef HAVE_SYS_TIME_H
195
#elif (ACC_CC_PACIFICC)
196
#  undef HAVE_DIRECT_H
197
#  undef HAVE_DIRENT_H
198
#  undef HAVE_FCNTL_H
199
#  undef HAVE_IO_H
200
#  undef HAVE_MALLOC_H
201
#  undef HAVE_MEMORY_H
202
#  undef HAVE_SHARE_H
203
#  undef HAVE_UNISTD_H
204
#  undef HAVE_UTIME_H
205
#  undef HAVE_SYS_STAT_H
206
#  undef HAVE_SYS_TIME_H
207
#  undef HAVE_SYS_TYPES_H
208
#elif (ACC_OS_WIN32 && ACC_CC_PELLESC)
209
#  undef HAVE_DIRENT_H
210
#  undef HAVE_DOS_H
211
#  undef HAVE_MALLOC_H
212
#  undef HAVE_SHARE_H
213
#  undef HAVE_UNISTD_H
214
#  undef HAVE_UTIME_H
215
#  undef HAVE_SYS_TIME_H
216
#  if (__POCC__ < 280)
217
#  else
218
#    define HAVE_SYS_UTIME_H 1
219
#  endif
220
#elif (ACC_OS_WIN32 && ACC_CC_PGI) && defined(__MINGW32__)
221
#  undef HAVE_UTIME_H
222
#  define HAVE_SYS_UTIME_H 1
223
#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
224
#elif (ACC_CC_SYMANTECC)
225
#  undef HAVE_DIRENT_H /* opendir() not implemented in libc */
226
#  undef HAVE_UNISTD_H /* not working */
227
#  if (__SC__ < 0x700)
228
#    undef HAVE_UTIME_H
229
#    undef HAVE_SYS_TIME_H
230
#  endif
231
#elif (ACC_CC_TOPSPEEDC)
232
#  undef HAVE_DIRENT_H
233
#  undef HAVE_UNISTD_H
234
#  undef HAVE_UTIME_H
235
#  undef HAVE_SYS_STAT_H
236
#  undef HAVE_SYS_TIME_H
237
#  undef HAVE_SYS_TYPES_H
238
#elif (ACC_CC_TURBOC)
239
#  undef HAVE_UNISTD_H
240
#  undef HAVE_SYS_TIME_H
241
#  undef HAVE_SYS_TYPES_H /* useless */
242
#  if (ACC_OS_WIN32 || ACC_OS_WIN64)
243
#    undef HAVE_DIRENT_H /* pulls in <windows.h>; use <dir.h> instead */
244
#  endif
245
#  if (__TURBOC__ < 0x0200)
246
#    undef HAVE_SIGNAL_H /* not working */
247
#  endif
248
#  if (__TURBOC__ < 0x0400)
249
#    undef HAVE_DIRECT_H
250
#    undef HAVE_DIRENT_H
251
#    undef HAVE_MALLOC_H
252
#    undef HAVE_MEMORY_H
253
#    undef HAVE_UTIME_H
254
#  endif
255
#elif (ACC_CC_WATCOMC)
256
#  undef HAVE_DIRENT_H
257
#  undef HAVE_UTIME_H
258
#  undef HAVE_SYS_TIME_H
259
#  define HAVE_SYS_UTIME_H 1
260
#  if (__WATCOMC__ < 950)
261
#    undef HAVE_UNISTD_H
262
#  endif
263
#elif (ACC_CC_ZORTECHC)
264
#  undef HAVE_DIRENT_H
265
#  undef HAVE_MEMORY_H
266
#  undef HAVE_UNISTD_H
267
#  undef HAVE_UTIME_H
268
#  undef HAVE_SYS_TIME_H
269
#endif
270
 
271
#endif /* DOS, OS/2 & Windows */
272
 
273
 
274
#if (HAVE_SYS_TIME_H && HAVE_TIME_H)
275
#  define TIME_WITH_SYS_TIME 1
276
#endif
277
 
278
#endif /* !defined(ACC_CONFIG_AUTO_NO_HEADERS) */
279
 
280
 
281
/*************************************************************************
282
// Checks for library functions
283
**************************************************************************/
284
 
285
#if !defined(ACC_CONFIG_AUTO_NO_FUNCTIONS)
286
 
287
#define HAVE_ACCESS 1
288
#define HAVE_ALLOCA 1
289
#define HAVE_ATEXIT 1
290
#define HAVE_ATOI 1
291
#define HAVE_ATOL 1
292
#define HAVE_CHMOD 1
293
#define HAVE_CHOWN 1
294
#define HAVE_CTIME 1
295
#define HAVE_DIFFTIME 1
296
#define HAVE_FILENO 1
297
#define HAVE_FSTAT 1
298
#define HAVE_GETTIMEOFDAY 1
299
#define HAVE_GMTIME 1
300
#define HAVE_LOCALTIME 1
301
#define HAVE_LONGJMP 1
302
#define HAVE_LSTAT 1
303
#define HAVE_MEMCMP 1
304
#define HAVE_MEMCPY 1
305
#define HAVE_MEMMOVE 1
306
#define HAVE_MEMSET 1
307
#define HAVE_MKTIME 1
308
#define HAVE_QSORT 1
309
#define HAVE_RAISE 1
310
#define HAVE_SETJMP 1
311
#define HAVE_SIGNAL 1
312
#define HAVE_SNPRINTF 1
313
#define HAVE_STAT 1
314
#define HAVE_STRCHR 1
315
#define HAVE_STRDUP 1
316
#define HAVE_STRERROR 1
317
#define HAVE_STRFTIME 1
318
#define HAVE_STRRCHR 1
319
#define HAVE_STRSTR 1
320
#define HAVE_TIME 1
321
#define HAVE_UMASK 1
322
#define HAVE_UTIME 1
323
#define HAVE_VSNPRINTF 1
324
 
325
#if (ACC_OS_BEOS || ACC_OS_CYGWIN || ACC_OS_POSIX || ACC_OS_QNX)
326
#  define HAVE_STRCASECMP 1
327
#  define HAVE_STRNCASECMP 1
328
#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
329
#  define HAVE_STRCASECMP 1
330
#  define HAVE_STRNCASECMP 1
331
#else
332
#  define HAVE_STRICMP 1
333
#  define HAVE_STRNICMP 1
334
#endif
335
 
336
 
337
#if (ACC_OS_POSIX)
338
#  if (ACC_CC_TINYC)
339
#    undef HAVE_ALLOCA
340
#  elif defined(__dietlibc__)
341
#  endif
342
#  if (ACC_OS_POSIX_MACOSX && ACC_CC_MWERKS) && defined(__MSL__)
343
     /* FIXME ??? */
344
#    undef HAVE_CHOWN
345
#    undef HAVE_LSTAT
346
#  endif
347
#elif (ACC_OS_CYGWIN)
348
#  if (ACC_CC_GNUC < 0x025a00ul)
349
#    undef HAVE_GETTIMEOFDAY
350
#    undef HAVE_LSTAT
351
#  endif
352
#  if (ACC_CC_GNUC < 0x025f00ul)
353
#    undef HAVE_SNPRINTF
354
#    undef HAVE_VSNPRINTF
355
#  endif
356
#elif (ACC_OS_EMX)
357
#  undef HAVE_CHOWN
358
#  undef HAVE_LSTAT
359
#elif (ACC_OS_TOS && ACC_CC_GNUC)
360
#  if !defined(__MINT__)
361
#    undef HAVE_SNPRINTF
362
#    undef HAVE_VSNPRINTF
363
#  endif
364
#elif (ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
365
#  undef HAVE_ALLOCA
366
#  undef HAVE_ACCESS
367
#  undef HAVE_CHMOD
368
#  undef HAVE_CHOWN
369
#  undef HAVE_FSTAT
370
#  undef HAVE_GETTIMEOFDAY
371
#  undef HAVE_LSTAT
372
#  undef HAVE_SNPRINTF
373
#  undef HAVE_UMASK
374
#  undef HAVE_UTIME
375
#  undef HAVE_VSNPRINTF
376
#endif
377
 
378
 
379
/* DOS, OS/2 & Windows */
380
#if (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
381
 
382
#undef HAVE_CHOWN
383
#undef HAVE_GETTIMEOFDAY
384
#undef HAVE_LSTAT
385
#undef HAVE_UMASK
386
 
387
#if (ACC_CC_AZTECC)
388
#  undef HAVE_ALLOCA
389
#  undef HAVE_DIFFTIME /* difftime() is in the math library */
390
#  undef HAVE_FSTAT
391
#  undef HAVE_STRDUP /* missing in 5.2a */
392
#  undef HAVE_SNPRINTF
393
#  undef HAVE_UTIME /* struct utimbuf is missing */
394
#  undef HAVE_VSNPRINTF
395
#elif (ACC_CC_BORLANDC)
396
#  if (__BORLANDC__ < 0x0400)
397
#    undef HAVE_ALLOCA
398
#    undef HAVE_UTIME
399
#  endif
400
#  if ((__BORLANDC__ < 0x0410) && ACC_OS_WIN16)
401
#    undef HAVE_ALLOCA
402
#  endif
403
#  if (__BORLANDC__ < 0x0550)
404
#    undef HAVE_SNPRINTF
405
#    undef HAVE_VSNPRINTF
406
#  endif
407
#elif (ACC_CC_DMC)
408
#  if (ACC_OS_WIN16)
409
#    undef HAVE_ALLOCA
410
#  endif
411
#  define snprintf _snprintf
412
#  define vsnprintf _vsnprintf
413
#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
414
#  undef HAVE_SNPRINTF
415
#  undef HAVE_VSNPRINTF
416
#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
417
#  undef HAVE_SNPRINTF
418
#  undef HAVE_VSNPRINTF
419
#elif (ACC_CC_IBMC)
420
#  undef HAVE_SNPRINTF
421
#  undef HAVE_VSNPRINTF
422
#elif (ACC_CC_INTELC)
423
#  define snprintf _snprintf
424
#  define vsnprintf _vsnprintf
425
#elif (ACC_CC_LCC)
426
#  define utime _utime
427
#elif (ACC_CC_MSC)
428
#  if (_MSC_VER < 600)
429
#    undef HAVE_STRFTIME
430
#  endif
431
#  if (_MSC_VER < 700)
432
#    undef HAVE_SNPRINTF
433
#    undef HAVE_VSNPRINTF
434
#  else
435
#    if (_MSC_VER < 1920) /* Pierre-Marie Baty -- this is only necessary with MSVC 2017- */
436
#      define snprintf _snprintf
437
#      define vsnprintf _vsnprintf
438
#    endif /* (_MSC_VER < 1920) */
439
#  endif
440
#  if ((_MSC_VER < 800) && ACC_OS_WIN16)
441
#    undef HAVE_ALLOCA
442
#  endif
443
#  if (ACC_ARCH_IA16) && defined(__cplusplus)
444
#    undef HAVE_LONGJMP
445
#    undef HAVE_SETJMP
446
#  endif
447
#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__MINGW32__)
448
#  if (ACC_CC_GNUC < 0x025f00ul)
449
#    undef HAVE_SNPRINTF
450
#    undef HAVE_VSNPRINTF
451
#  else
452
#    define snprintf _snprintf
453
#    define vsnprintf _vsnprintf
454
#  endif
455
#elif (ACC_OS_WIN32 && ACC_CC_MWERKS) && defined(__MSL__)
456
#  if (__MSL__ < 0x8000ul)
457
#    undef HAVE_CHMOD /* <unix.h> which in turn pulls in <windows.h> */
458
#  endif
459
#elif (ACC_CC_NDPC)
460
#  undef HAVE_ALLOCA
461
#  undef HAVE_SNPRINTF
462
#  undef HAVE_STRNICMP
463
#  undef HAVE_UTIME
464
#  undef HAVE_VSNPRINTF
465
#  if defined(__cplusplus)
466
#    undef HAVE_STAT
467
#  endif
468
#elif (ACC_CC_PACIFICC)
469
#  undef HAVE_ACCESS
470
#  undef HAVE_ALLOCA
471
#  undef HAVE_CHMOD
472
#  undef HAVE_DIFFTIME
473
#  undef HAVE_FSTAT
474
#  undef HAVE_MKTIME
475
#  undef HAVE_RAISE
476
#  undef HAVE_SNPRINTF
477
#  undef HAVE_STRFTIME
478
#  undef HAVE_UTIME
479
#  undef HAVE_VSNPRINTF
480
#elif (ACC_OS_WIN32 && ACC_CC_PELLESC)
481
#  if (__POCC__ < 280)
482
#    define alloca _alloca
483
#    undef HAVE_UTIME
484
#  endif
485
#elif (ACC_OS_WIN32 && ACC_CC_PGI) && defined(__MINGW32__)
486
#  define snprintf _snprintf
487
#  define vsnprintf _vsnprintf
488
#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
489
#  undef HAVE_SNPRINTF
490
#  undef HAVE_VSNPRINTF
491
#elif (ACC_CC_SYMANTECC)
492
#  if (ACC_OS_WIN16 && (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE))
493
#    undef HAVE_ALLOCA
494
#  endif
495
#  if (__SC__ < 0x600)
496
#    undef HAVE_SNPRINTF
497
#    undef HAVE_VSNPRINTF
498
#  else
499
#    define snprintf _snprintf
500
#    define vsnprintf _vsnprintf
501
#  endif
502
#  if (__SC__ < 0x700)
503
#    undef HAVE_DIFFTIME /* difftime() is broken */
504
#    undef HAVE_UTIME /* struct utimbuf is missing */
505
#  endif
506
#elif (ACC_CC_TOPSPEEDC)
507
#  undef HAVE_SNPRINTF
508
#  undef HAVE_VSNPRINTF
509
#elif (ACC_CC_TURBOC)
510
#  undef HAVE_ALLOCA
511
#  undef HAVE_SNPRINTF
512
#  undef HAVE_VSNPRINTF
513
#  if (__TURBOC__ < 0x0200)
514
#    undef HAVE_RAISE
515
#    undef HAVE_SIGNAL
516
#  endif
517
#  if (__TURBOC__ < 0x0295)
518
#    undef HAVE_MKTIME
519
#    undef HAVE_STRFTIME
520
#  endif
521
#  if (__TURBOC__ < 0x0400)
522
#    undef HAVE_UTIME
523
#  endif
524
#elif (ACC_CC_WATCOMC)
525
#  if (__WATCOMC__ < 1100)
526
#    undef HAVE_SNPRINTF
527
#    undef HAVE_VSNPRINTF
528
#  elif (__WATCOMC__ < 1200)
529
#    define snprintf _snprintf
530
#    define vsnprintf _vsnprintf
531
#  endif
532
#elif (ACC_CC_ZORTECHC)
533
#  if (ACC_OS_WIN16 && (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE))
534
#    undef HAVE_ALLOCA
535
#  endif
536
#  undef HAVE_DIFFTIME /* difftime() is broken */
537
#  undef HAVE_SNPRINTF
538
#  undef HAVE_UTIME /* struct utimbuf is missing */
539
#  undef HAVE_VSNPRINTF
540
#endif
541
 
542
#endif /* DOS, OS/2 & Windows */
543
 
544
 
545
#endif /* !defined(ACC_CONFIG_AUTO_NO_FUNCTIONS) */
546
 
547
 
548
/*************************************************************************
549
// Checks for sizes
550
**************************************************************************/
551
 
552
#if !defined(ACC_CONFIG_AUTO_NO_SIZES)
553
 
554
#define SIZEOF_SHORT            (__ACC_SHORT_BIT / 8)
555
#define SIZEOF_INT              (__ACC_INT_BIT / 8)
556
#define SIZEOF_LONG             (__ACC_LONG_BIT / 8)
557
 
558
#if (ACC_OS_WIN64) /* LLP64 programming model */
559
#  define SIZEOF_PTRDIFF_T      8
560
#  define SIZEOF_SIZE_T         8
561
#  define SIZEOF_VOID_P         8
562
#elif (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
563
#  define SIZEOF_SIZE_T         2
564
#  if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
565
#    define SIZEOF_VOID_P       2
566
#  elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
567
#    define SIZEOF_VOID_P       4
568
#  else
569
#    error "ACC_MM"
570
#  endif
571
#  if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
572
#    define SIZEOF_PTRDIFF_T    2
573
#  elif (ACC_MM_COMPACT || ACC_MM_LARGE)
574
#    if (ACC_CC_BORLANDC || ACC_CC_TURBOC)
575
#      define SIZEOF_PTRDIFF_T  4
576
#    else
577
#      define SIZEOF_PTRDIFF_T  2
578
#    endif
579
#  elif (ACC_MM_HUGE)
580
#    define SIZEOF_PTRDIFF_T    4
581
#  else
582
#    error "ACC_MM"
583
#  endif
584
#elif (ACC_ARCH_AVR || ACC_ARCH_C166 || ACC_ARCH_MCS51 || ACC_ARCH_MCS251)
585
#  define SIZEOF_PTRDIFF_T      2
586
#  define SIZEOF_SIZE_T         2
587
#  define SIZEOF_VOID_P         2
588
#else
589
#  define SIZEOF_PTRDIFF_T      SIZEOF_LONG
590
#  define SIZEOF_SIZE_T         SIZEOF_LONG
591
#  define SIZEOF_VOID_P         SIZEOF_LONG
592
#endif
593
 
594
#if !defined(SIZEOF_CHAR_P) && (SIZEOF_VOID_P > 0)
595
#  define SIZEOF_CHAR_P         SIZEOF_VOID_P
596
#endif
597
 
598
 
599
#if ((SIZEOF_LONG) > 0 && (SIZEOF_LONG) < 8)
600
#if (ACC_ARCH_IA16 && ACC_CC_DMC)
601
#elif (ACC_CC_GNUC)
602
#  define SIZEOF_LONG_LONG          8
603
#  define SIZEOF_UNSIGNED_LONG_LONG 8
604
#elif ((ACC_OS_WIN32 || ACC_OS_WIN64) && ACC_CC_MSC && (_MSC_VER >= 1400))
605
#  define SIZEOF_LONG_LONG          8
606
#  define SIZEOF_UNSIGNED_LONG_LONG 8
607
#elif (ACC_OS_WIN64)
608
#  define SIZEOF___INT64            8
609
#  define SIZEOF_UNSIGNED___INT64   8
610
#elif (ACC_ARCH_IA32 && (ACC_CC_DMC))
611
#  define SIZEOF_LONG_LONG          8
612
#  define SIZEOF_UNSIGNED_LONG_LONG 8
613
#elif (ACC_ARCH_IA32 && (ACC_CC_SYMANTECC && (__SC__ >= 0x700)))
614
#  define SIZEOF_LONG_LONG          8
615
#  define SIZEOF_UNSIGNED_LONG_LONG 8
616
#elif (ACC_ARCH_IA32 && (ACC_CC_INTELC && defined(__linux__)))
617
#  define SIZEOF_LONG_LONG          8
618
#  define SIZEOF_UNSIGNED_LONG_LONG 8
619
#elif (ACC_ARCH_IA32 && (ACC_CC_MWERKS || ACC_CC_PELLESC || ACC_CC_PGI))
620
#  define SIZEOF_LONG_LONG          8
621
#  define SIZEOF_UNSIGNED_LONG_LONG 8
622
#elif (ACC_ARCH_IA32 && (ACC_CC_INTELC || ACC_CC_MSC))
623
#  define SIZEOF___INT64            8
624
#  define SIZEOF_UNSIGNED___INT64   8
625
#elif (ACC_ARCH_IA32 && (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
626
   /* INFO: unsigned __int64 is somewhat broken in 0x0520; fixed in 0x0530 */
627
#  define SIZEOF___INT64            8
628
#  define SIZEOF_UNSIGNED___INT64   8
629
#elif (ACC_ARCH_IA32 && (ACC_CC_WATCOMC && (__WATCOMC__ >= 1100)))
630
#  define SIZEOF___INT64            8
631
#  define SIZEOF_UNSIGNED___INT64   8
632
#elif (ACC_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
633
#  define SIZEOF___INT64            8
634
#  define SIZEOF_UNSIGNED___INT64   8
635
#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
636
#  define SIZEOF_LONG_LONG          8
637
#  define SIZEOF_UNSIGNED_LONG_LONG 8
638
#endif
639
#endif
640
 
641
#if defined(__cplusplus) && defined(ACC_CC_GNUC)
642
#  if (ACC_CC_GNUC < 0x020800ul)
643
#    undef SIZEOF_LONG_LONG
644
#    undef SIZEOF_UNSIGNED_LONG_LONG
645
#  endif
646
#endif
647
 
648
#endif /* !defined(ACC_CONFIG_AUTO_NO_SIZES) */
649
 
650
 
651
/*************************************************************************
652
// misc
653
**************************************************************************/
654
 
655
#if defined(HAVE_SIGNAL) && !defined(RETSIGTYPE)
656
#  define RETSIGTYPE void
657
#endif
658
 
659
 
660
/*
661
vi:ts=4:et
662
*/