[7] | 1 |
|
---|
| 2 | /*
|
---|
| 3 | * setup.h:
|
---|
| 4 | * sample master include file which gets included
|
---|
| 5 | * from all helpers *.c sources.
|
---|
| 6 | */
|
---|
| 7 |
|
---|
| 8 | #ifndef SETUP_HEADER_INCLUDED
|
---|
| 9 | #define SETUP_HEADER_INCLUDED
|
---|
| 10 |
|
---|
[15] | 11 | // XWPEXPORT defines the standard linkage for the
|
---|
| 12 | // XWorkplace helpers.
|
---|
| 13 | #ifdef __EMX__
|
---|
| 14 | #define XWPENTRY
|
---|
| 15 | #elif defined (__IBMCPP__) || defined (__IBMC__)
|
---|
| 16 | #define XWPENTRY _Optlink
|
---|
| 17 | #endif
|
---|
| 18 |
|
---|
[35] | 19 | #error This file shouldn't be included.
|
---|
| 20 |
|
---|
[7] | 21 | /*************************************************************
|
---|
| 22 | * *
|
---|
| 23 | * Additional stuff for EMX *
|
---|
| 24 | * *
|
---|
| 25 | *************************************************************/
|
---|
| 26 |
|
---|
| 27 | #ifdef __EMX__
|
---|
| 28 | // EMX doesn't have all these 16-bit typedefs;
|
---|
| 29 | // added (99-10-22) [umoeller]
|
---|
| 30 | #define APIENTRY16 _Far16 _Pascal
|
---|
| 31 | #define PASCAL16 _Far16 _Pascal
|
---|
| 32 | #define CDECL16 _Far16 _Cdecl
|
---|
| 33 |
|
---|
| 34 | typedef unsigned short APIRET16;
|
---|
| 35 | typedef unsigned long APIRET32;
|
---|
| 36 |
|
---|
| 37 | #define _System
|
---|
| 38 | #define APIENTRY
|
---|
| 39 | // with VAC++, this defines _System linkage, which
|
---|
| 40 | // EMX doesn't have, or does it?!?
|
---|
| 41 | #endif
|
---|
| 42 |
|
---|
| 43 | // the following is a VAC++-specific macro, which doesn't exist
|
---|
| 44 | // with EMX, so we need to implement this... this was one of
|
---|
| 45 | // the "undefined symbols" we got (99-10-23) [umoeller]
|
---|
| 46 | // changed this to prefix underscore, because the STL apparently
|
---|
| 47 | // redefines this V0.9.3 (2000-05-15) [umoeller]
|
---|
| 48 | #define _min(a,b) ( ((a) > (b)) ? b : a )
|
---|
| 49 | #define _max(a,b) ( ((a) > (b)) ? a : b )
|
---|
| 50 |
|
---|
| 51 | // Uncomment the following if you have trouble with the
|
---|
| 52 | // exception handlers in helpers\except.c; WarpIN will
|
---|
| 53 | // then install _no_ additional exception handlers at all
|
---|
| 54 | // (include\helpers\except.h reacts to these defines).
|
---|
| 55 | // I'm not sure if the handlers work well with EMX.
|
---|
| 56 |
|
---|
| 57 | #ifdef __EMX__
|
---|
| 58 | #define __NO_EXCEPTION_HANDLERS__
|
---|
| 59 | #endif
|
---|
| 60 |
|
---|
| 61 | /*************************************************************
|
---|
| 62 | * *
|
---|
| 63 | * Additional stuff for VAC++ 3.0 *
|
---|
| 64 | * *
|
---|
| 65 | *************************************************************/
|
---|
| 66 |
|
---|
| 67 | // all this added V0.9.2 (2000-03-10) [umoeller]
|
---|
| 68 | #if ( defined ( __IBMCPP__ ) && ( __IBMCPP__ < 400 ) )
|
---|
| 69 | typedef int bool;
|
---|
| 70 | #define true 1
|
---|
| 71 | #define false 0
|
---|
| 72 | #define _BooleanConst // needed for some VAC headers, which define bool also
|
---|
| 73 | #endif
|
---|
| 74 |
|
---|
| 75 | #ifndef __stdlib_h // <stdlib.h>
|
---|
| 76 | #include <stdlib.h>
|
---|
| 77 | #endif
|
---|
| 78 | #ifndef __string_h // <string.h>
|
---|
| 79 | #include <string.h>
|
---|
| 80 | #endif
|
---|
| 81 |
|
---|
| 82 | /*************************************************************
|
---|
| 83 | * *
|
---|
| 84 | * Debugging *
|
---|
| 85 | * *
|
---|
| 86 | *************************************************************/
|
---|
| 87 |
|
---|
| 88 | // All the following redone (99-10-23) [umoeller]:
|
---|
| 89 | // __DEBUG__ is defined as a macro on the compiler
|
---|
| 90 | // command line by the makefiles if DEBUG was enabled
|
---|
| 91 | // in \setup.in
|
---|
| 92 | #ifdef __DEBUG__
|
---|
| 93 |
|
---|
| 94 | // with debug code, disable the exception handlers
|
---|
| 95 | #define __NO_EXCEPTION_HANDLERS__
|
---|
| 96 |
|
---|
| 97 | // If the following is commented out, no PMPRINTF will be
|
---|
| 98 | // used at all. WarpIN uses Dennis Bareis' PMPRINTF
|
---|
| 99 | // package to do this.
|
---|
| 100 |
|
---|
| 101 | // NOTE: We cannot use PmPrintf with EMX,
|
---|
| 102 | // because pmprintf.lib imports the VAC++ runtimes.
|
---|
| 103 | // That's the strange errors I was reporting yesterday.
|
---|
| 104 | #ifndef __EMX__
|
---|
| 105 | #ifdef OS2_INCLUDED
|
---|
| 106 | #define _PMPRINTF_
|
---|
| 107 | #include "helpers/pmprintf.h"
|
---|
| 108 | #endif
|
---|
| 109 | #endif
|
---|
| 110 | #endif
|
---|
| 111 |
|
---|
| 112 | #ifndef _PMPRINTF_
|
---|
| 113 | // not defined: define empty macro so we don't
|
---|
| 114 | // get compiler errors
|
---|
| 115 | #define _Pmpf(x)
|
---|
| 116 | #endif
|
---|
| 117 |
|
---|
| 118 | #endif
|
---|
| 119 |
|
---|