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