Subversion Repositories QNX 8.QNX8 IFS tool

Rev

Blame | Last modification | View Log | Download | RSS feed

  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. */
  663.