home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / gwm18a.zip / machine.h < prev    next >
C/C++ Source or Header  |  1995-07-03  |  4KB  |  131 lines

  1. /* Copyright 1989 GROUPE BULL -- See license conditions in file COPYRIGHT
  2.  * Copyright 1989 Massachusetts Institute of Technology
  3.  */
  4. /*******************************\
  5. *                               *
  6. *  Machine - dependent patches  *
  7. *                               *
  8. \*******************************/
  9.  
  10. /*****************************************************************************\
  11. *                 OS Description                                *
  12. \*****************************************************************************/
  13. /* To describe your OS, you can #define those flags:
  14.  *
  15.  * NO_GETPAGESIZE    if you dont have getpagesize()
  16.  * SYSV_TIME         if you cannot use BSD ftime function
  17.  * SYSV_STRINGS      if you include <string.h> instead of <strings.h>
  18.  * SYSV_UTSNAME      if you don't have gethostname()
  19.  * SYSV_SIGNALS      if you dont have wait3()
  20.  * NO_BCOPY          if you dont have bcopy and friends
  21.  * HAS_STRCHR         if strchr already exists
  22.  * NO_MALLOC_DECLARE if your includes already declares char *malloc()
  23.  */
  24.  
  25. #if defined(SYSV) || defined(SVR4)            /* Generic SYSV */
  26. #define NO_GETPAGESIZE
  27. #define SYSV_TIME
  28. #define SYSV_STRINGS
  29. #define SYSV_UTSNAME
  30. #define SYSV_SIGNALS
  31. #ifndef VOID_MALLOC
  32. #define VOID_MALLOC
  33. #endif
  34. #ifndef VOID_SIGNALS
  35. #define VOID_SIGNALS
  36. #endif
  37. #define NO_BCOPY
  38. #define HAS_STRCHR
  39. #endif /* defined(SYSV) || defined(SVR4) */
  40.  
  41. #ifdef BOSF                /* BULL OSF Unix. Mix of BSD and SYSV*/
  42. #define SYSV_TIME
  43. #define NO_MALLOC_DECLARE
  44. #define HAS_STRCHR
  45. #endif /* BOSF */
  46.  
  47. #ifdef __USLC__                /* UnixWare 1.1.2 (SVR4.2) C compiler */
  48. #define DO_NOT_REDEFINE_MALLOC 
  49. #endif
  50.                     /* BSD means no flags (normal) */
  51.  
  52. /*****************************************************************************\
  53. *                automatic customizations                           *
  54. \*****************************************************************************/
  55.  
  56. #ifdef sparc
  57. #define NO_BCOPY            /* bzero buggy on sun4 */
  58. #endif
  59.  
  60. #ifdef apollo                /* no struct field acces on apollo */
  61. #define NO_STRUCTURE_OFFSETS
  62. #endif
  63.  
  64. #ifdef linux
  65. #ifndef LINUX                /* linux ==> LINUX */
  66. #define LINUX
  67. #endif
  68. #endif
  69.  
  70. #ifdef LINUX
  71. #define SYSV
  72. #define VOID_SIGNALS
  73. #define VOID_MALLOC
  74. #define DO_NOT_REDEFINE_MALLOC
  75. #endif /* LINUX */
  76.  
  77. #ifdef _AIX
  78. #ifndef NEED_SELECT_H
  79. #define NEED_SELECT_H
  80. #endif /* !NEED_SELECT_H */
  81. #endif /* _AIX */
  82.  
  83.  
  84. /*****************************************************************************\
  85. *                     bcopy                                     *
  86. \*****************************************************************************/
  87.  
  88. #ifdef NO_BCOPY
  89.  
  90. #define bcopy(source, dest, count) memcpy(dest, source, count)
  91. #define bzero(dest, count) memset(dest, 0, count)
  92. #define bcmp(source, dest, count) memcmp(source, dest, count)
  93.  
  94. #endif /* NO_BCOPY */
  95.  
  96. /*****************************************************************************\
  97. *              strchr implemented as index                          *
  98. \*****************************************************************************/
  99.  
  100. #ifdef HAS_STRCHR
  101.  
  102. #ifdef DO_NOT_DECLARE_STRCHR
  103. #define DECLARE_strchr
  104. #define DECLARE_strrchr
  105. #else
  106. #define DECLARE_strchr extern char *strchr()
  107. #define DECLARE_strrchr extern char *strrchr()
  108. #endif
  109.  
  110. #else /* HAS_STRCHR */
  111.  
  112. #define DECLARE_strchr extern char *index()
  113. #define DECLARE_strrchr extern char *rindex()
  114. #define strchr(string, char) index(string, char)
  115. #define strrchr(string, char) rindex(string, char)
  116.  
  117. #endif /* HAS_STRCHR */
  118.  
  119. #ifdef __GNUC__
  120. #define    Abs(x)    __builtin_abs(x)
  121. #endif
  122. #ifdef __HIGHC__
  123. #define    Abs(x)    _abs(x)
  124. #endif
  125.  
  126. #ifdef USE_STANDARD_MALLOC
  127. #ifdef DO_NOT_REDEFINE_MALLOC
  128. #undef DO_NOT_REDEFINE_MALLOC
  129. #endif
  130. #endif
  131.