mconfig.h
上传用户:weiliju62
上传日期:2007-01-06
资源大小:619k
文件大小:5k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. /* @(#)mconfig.h 1.25 99/09/11 Copyright 1995 J. Schilling */
  2. /*
  3.  * definitions for machine configuration
  4.  *
  5.  * Copyright (c) 1995 J. Schilling
  6.  *
  7.  * This file must be included before any other file.
  8.  * Use only cpp instructions.
  9.  *
  10.  * NOTE: SING: (Schily Is Not Gnu)
  11.  */
  12. /*
  13.  * This program is free software; you can redistribute it and/or modify
  14.  * it under the terms of the GNU General Public License as published by
  15.  * the Free Software Foundation; either version 2, or (at your option)
  16.  * any later version.
  17.  *
  18.  * This program is distributed in the hope that it will be useful,
  19.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  21.  * GNU General Public License for more details.
  22.  *
  23.  * You should have received a copy of the GNU General Public License
  24.  * along with this program; see the file COPYING.  If not, write to
  25.  * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  26.  */
  27. #ifndef _MCONFIG_H
  28. #define _MCONFIG_H
  29. /*
  30.  * This hack that is needed as long as VMS has no POSIX shell.
  31.  */
  32. #ifdef VMS
  33. # define USE_STATIC_CONF
  34. #endif
  35. #ifdef USE_STATIC_CONF
  36. #include <xmconfig.h> /* This is the current static autoconf stuff */
  37. #else
  38. #include <xconfig.h> /* This is the current dynamic autoconf stuff */
  39. #endif
  40. #ifdef __cplusplus
  41. extern "C" {
  42. #endif
  43. #if defined(unix) || defined(__unix) || defined(__unix__)
  44. # define IS_UNIX
  45. #endif
  46. #ifdef __MSDOS__
  47. # define IS_MSDOS
  48. #endif
  49. #if defined(tos) || defined(__tos)
  50. # define IS_TOS
  51. #endif
  52. #ifdef THINK_C
  53. # define IS_MAC
  54. #endif
  55. #if defined(sun) || defined(__sun) || defined(__sun__)
  56. # define IS_SUN
  57. #endif
  58. #if defined(__CYGWIN32__)
  59. #       define IS_GCC_WIN32
  60. #endif
  61. /*--------------------------------------------------------------------------*/
  62. /*
  63.  * Some magic that cannot (yet) be figured out with autoconf.
  64.  */
  65. #ifdef sparc
  66. # ifndef HAVE_LDSTUB
  67. # define HAVE_LDSTUB
  68. # endif
  69. # ifndef HAVE_SCANSTACK
  70. # define HAVE_SCANSTACK
  71. # endif
  72. #endif
  73. #if defined(__i386_) || defined(i386)
  74. # ifndef HAVE_XCHG
  75. # define HAVE_XCHG
  76. # endif
  77. # ifndef HAVE_SCANSTACK
  78. # define HAVE_SCANSTACK
  79. # endif
  80. #endif
  81. #if defined(SOL2) || defined(SOL2) || defined(S5R4) || defined(__S5R4) 
  82. || defined(SVR4)
  83. # ifndef __SVR4
  84. # define __SVR4
  85. # endif
  86. #endif
  87. #ifdef __SVR4
  88. # ifndef SVR4
  89. # define SVR4
  90. # endif
  91. #endif
  92. /*
  93.  * SunOS 4.x / SunOS 5.x
  94.  */
  95. #if defined(IS_SUN)
  96. # define HAVE_GETAV0
  97. #endif
  98. /*
  99.  * AIX
  100.  */
  101. #if defined(_IBMR2) || defined(_AIX)
  102. # define IS_UNIX /* ??? really ??? */
  103. #endif
  104. /*
  105.  * Silicon Graphics (must be before SVR4)
  106.  */
  107. #if defined(sgi) || defined(__sgi)
  108. # define __NOT_SVR4__ /* Not a real SVR4 implementation */
  109. #endif
  110. /*
  111.  * Data General
  112.  */
  113. #if defined(__DGUX__)
  114. #ifdef XXXXXXX
  115. # undef HAVE_MTGET_DSREG
  116. # undef HAVE_MTGET_RESID
  117. # undef HAVE_MTGET_FILENO
  118. # undef HAVE_MTGET_BLKNO
  119. #endif
  120. # define mt_type mt_model
  121. # define mt_dsreg mt_status1
  122. # define mt_erreg mt_status2
  123. /*
  124.  * DGUX hides its flock as dg_flock.
  125.  */
  126. # define HAVE_FLOCK
  127. # define flock dg_flock
  128. /*
  129.  * Use the BSD style wait on DGUX to get the resource usages of child
  130.  * processes.
  131.  */
  132. # define _BSD_WAIT_FLAVOR
  133. #endif
  134. /*
  135.  * Apple Rhapsody
  136.  */
  137. #if defined(__NeXT__) && defined(__TARGET_OSNAME) && __TARGET_OSNAME == rhapsody
  138. # define HAVE_OSDEF /* prevent later definitions to overwrite current */
  139. #endif
  140. /*
  141.  * NextStep
  142.  */
  143. #if defined(__NeXT__) && !defined(HAVE_OSDEF)
  144. #define NO_PRINT_OVR
  145. #undef HAVE_USG_STDIO /*
  146.  *  NeXT Step 3.x uses __flsbuf(unsigned char , FILE *)
  147.  * instead of __flsbuf(int, FILE *)
  148.  */
  149. #endif
  150. /*
  151.  * NextStep 3.x has a broken linker that does not allow us to override
  152.  * these functions.
  153.  */
  154. #ifndef __OPRINTF__
  155. #ifdef NO_PRINT_OVR
  156. # define printf Xprintf
  157. # define fprintf Xfprintf
  158. # define sprintf Xsprintf
  159. #endif
  160. #endif /* __OPRINTF__ */
  161. /*--------------------------------------------------------------------------*/
  162. /*
  163.  * If there is no flock defined by the system, use emulation
  164.  * through fcntl record locking.
  165.  */
  166. #ifndef HAVE_FLOCK
  167. #define LOCK_SH         1       /* shared lock */
  168. #define LOCK_EX         2       /* exclusive lock */
  169. #define LOCK_NB         4       /* don't block when locking */
  170. #define LOCK_UN         8       /* unlock */
  171. #endif
  172. #include <prototyp.h>
  173. /*
  174.  * gcc 2.x generally implements the long long type.
  175.  */
  176. #ifdef __GNUC__
  177. # if __GNUC__ > 1
  178. # ifndef HAVE_LONGLONG
  179. # define HAVE_LONGLONG
  180. # endif
  181. # endif
  182. #endif
  183. #ifdef __CHAR_UNSIGNED__ /* GNU GCC define     (dynamic) */
  184. #ifndef CHAR_IS_UNSIGNED
  185. #define CHAR_IS_UNSIGNED /* Sing Schily define (static) */
  186. #endif
  187. #endif
  188. /*
  189.  * Convert to GNU name
  190.  */
  191. #ifdef HAVE_STDC_HEADERS
  192. # ifndef STDC_HEADERS
  193. # define STDC_HEADERS
  194. # endif
  195. #endif
  196. /*
  197.  * Convert to SCHILY name
  198.  */
  199. #ifdef STDC_HEADERS
  200. # ifndef HAVE_STDC_HEADERS
  201. # define HAVE_STDC_HEADERS
  202. # endif
  203. #endif
  204. #ifdef IS_UNIX
  205. # define PATH_DELIM '/'
  206. # define PATH_DELIM_STR "/"
  207. # define far
  208. # define near
  209. #endif
  210. #ifdef IS_GCC_WIN32
  211. # define PATH_DELIM '/'
  212. # define PATH_DELIM_STR "/"
  213. # define far
  214. # define near
  215. #endif
  216. #ifdef IS_MSDOS
  217. # define PATH_DELIM '\'
  218. # define PATH_DELIM_STR "\"
  219. #endif
  220. #ifdef IS_TOS
  221. # define PATH_DELIM '\'
  222. # define PATH_DELIM_STR "\"
  223. # define far
  224. # define near
  225. #endif
  226. #ifdef IS_MAC
  227. # define PATH_DELIM ':'
  228. # define PATH_DELIM_STR ":"
  229. # define far
  230. # define near
  231. #endif
  232. #ifdef __cplusplus
  233. }
  234. #endif
  235. #endif /* _MCONFIG_H */