[117] | 1 | /* +++Date last modified: 05-Jul-1997 */ |
---|
| 2 | |
---|
| 3 | /*==================================================================== |
---|
| 4 | |
---|
| 5 | _MSC_VER Microsoft C 6.0 and later |
---|
| 6 | _QC Microsoft Quick C 2.51 and later |
---|
| 7 | __TURBOC__ Borland Turbo C, Turbo C++ and BC++ |
---|
| 8 | __BORLANDC__ Borland C++ |
---|
| 9 | __ZTC__ Zortech C and C++ |
---|
| 10 | __SC__ Symantec C++ |
---|
| 11 | __WATCOMC__ WATCOM C |
---|
| 12 | __POWERC Mix Power C |
---|
| 13 | __GNUC__ Gnu C |
---|
| 14 | |
---|
| 15 | Revised: |
---|
| 16 | |
---|
| 17 | 25-Sep-95 Bob Stout Original from PC-PORT.H |
---|
| 18 | 30-Mar-96 Ed Blackman OS/2 mods for OS/2 ver 2.0 and up |
---|
| 19 | 30-May-96 Andrew Clarke Added support for WATCOM C/C++ __NT__ macro. |
---|
| 20 | 17-Jun-96 Bob Stout Added __FLAT__ macros support |
---|
| 21 | 20-Aug-96 Bob Stout Eliminate Win32 conflicts |
---|
| 22 | ======================================================================*/ |
---|
| 23 | |
---|
| 24 | |
---|
| 25 | /* prevent multiple inclusions of this header file */ |
---|
| 26 | |
---|
| 27 | #ifndef EXTKWORD__H |
---|
| 28 | #define EXTKWORD__H |
---|
| 29 | |
---|
| 30 | #include <limits.h> /* For INT_MAX, LONG_MAX */ |
---|
| 31 | |
---|
| 32 | /* |
---|
| 33 | ** Watcom defines __FLAT__ for 32-bit environments and so will we |
---|
| 34 | */ |
---|
| 35 | |
---|
| 36 | #if !defined(__FLAT__) && !defined(__WATCOMC__) && !defined(_MSC_VER) |
---|
| 37 | #if defined(__GNUC__) |
---|
| 38 | #define __FLAT__ 1 |
---|
| 39 | #elif defined (_WIN32) || defined(WIN32) || defined(__NT__) |
---|
| 40 | #define __FLAT__ 1 |
---|
| 41 | #elif defined(__INTSIZE) |
---|
| 42 | #if (4 == __INTSIZE) |
---|
| 43 | #define __FLAT__ 1 |
---|
| 44 | #endif |
---|
| 45 | #elif (defined(__ZTC__) && !defined(__SC__)) || defined(__TURBOC__) |
---|
| 46 | #if ((INT_MAX != SHRT_MAX) && (SHRT_MAX == 32767)) |
---|
| 47 | #define __FLAT__ 1 |
---|
| 48 | #endif |
---|
| 49 | #endif |
---|
| 50 | #endif |
---|
| 51 | |
---|
| 52 | /* |
---|
| 53 | ** Correct extended keywords syntax |
---|
| 54 | */ |
---|
| 55 | |
---|
| 56 | #if defined(__OS2__) /* EBB: not sure this works for OS/2 1.x */ |
---|
| 57 | #include <os2def.h> |
---|
| 58 | #define INTERRUPT |
---|
| 59 | #define HUGE |
---|
| 60 | #elif defined(_WIN32) || defined(WIN32) || defined(__NT__) |
---|
| 61 | #define WIN32_LEAN_AND_MEAN |
---|
| 62 | #define NOGDI |
---|
| 63 | #define NOSERVICE |
---|
| 64 | #undef INC_OLE1 |
---|
| 65 | #undef INC_OLE2 |
---|
| 66 | #include <windows.h> |
---|
| 67 | #define INTERRUPT |
---|
| 68 | #define HUGE |
---|
| 69 | #else /* ! Win 32 or OS/2 */ |
---|
| 70 | /* #if (defined(__POWERC) || (defined(__TURBOC__) && !defined(__BORLANDC__)) \ |
---|
| 71 | || (defined(__ZTC__) && !defined(__SC__))) && !defined(__FLAT__) |
---|
| 72 | #define FAR far |
---|
| 73 | #define NEAR near |
---|
| 74 | #define PASCAL pascal |
---|
| 75 | #define CDECL cdecl |
---|
| 76 | #if (defined(__ZTC__) && !defined(__SC__)) || (defined(__SC__) && \ |
---|
| 77 | (__SC__ < 0x700)) |
---|
| 78 | #define HUGE far |
---|
| 79 | #define INTERRUPT |
---|
| 80 | #else |
---|
| 81 | #define HUGE huge |
---|
| 82 | #define INTERRUPT interrupt |
---|
| 83 | #endif*/ |
---|
| 84 | /* #else |
---|
| 85 | #if (defined(__MSDOS__) || defined(MSDOS)) && !defined(__FLAT__) |
---|
| 86 | #define FAR _far |
---|
| 87 | #define NEAR _near |
---|
| 88 | #define HUGE _huge |
---|
| 89 | #define PASCAL _pascal |
---|
| 90 | #define CDECL _cdecl |
---|
| 91 | #define INTERRUPT _interrupt |
---|
| 92 | #else*/ |
---|
| 93 | #define FAR |
---|
| 94 | #define NEAR |
---|
| 95 | #define HUGE |
---|
| 96 | #define PASCAL |
---|
| 97 | #define CDECL |
---|
| 98 | #endif |
---|
| 99 | /* #endif |
---|
| 100 | #endif*/ |
---|
| 101 | |
---|
| 102 | #endif /* EXTKWORD__H */ |
---|