williamr@2
|
1 |
// STLport configuration file
|
williamr@2
|
2 |
// It is internal STLport header - DO NOT include it directly
|
williamr@2
|
3 |
|
williamr@2
|
4 |
#define _STLP_COMPILER "Watcom"
|
williamr@2
|
5 |
|
williamr@2
|
6 |
# ifndef _STLP_USE_NO_IOSTREAMS
|
williamr@2
|
7 |
# define _STLP_USE_NO_IOSTREAMS
|
williamr@2
|
8 |
# endif
|
williamr@2
|
9 |
|
williamr@2
|
10 |
# define _STLP_NO_RELOPS_NAMESPACE
|
williamr@2
|
11 |
# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX
|
williamr@2
|
12 |
|
williamr@2
|
13 |
# define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
|
williamr@2
|
14 |
# define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
|
williamr@2
|
15 |
# define _STLP_USE_OLD_HP_ITERATOR_QUERIES
|
williamr@2
|
16 |
|
williamr@2
|
17 |
// On QNX, headers are supposed to be found in /usr/include,
|
williamr@2
|
18 |
// so default "../include" should work.
|
williamr@2
|
19 |
# ifndef __QNX__
|
williamr@2
|
20 |
# define _STLP_NATIVE_INCLUDE_PATH ../h
|
williamr@2
|
21 |
# endif
|
williamr@2
|
22 |
|
williamr@2
|
23 |
// Inline replacements for locking calls under Watcom
|
williamr@2
|
24 |
// Define _STLP_NO_WATCOM_INLINE_INTERLOCK to keep using
|
williamr@2
|
25 |
// standard WIN32 calls
|
williamr@2
|
26 |
// Define _STL_MULTIPROCESSOR to enable lock
|
williamr@2
|
27 |
#if !defined(_STLP_NO_WATCOM_INLINE_INTERLOCK)
|
williamr@2
|
28 |
|
williamr@2
|
29 |
long __stl_InterlockedIncrement( long *var );
|
williamr@2
|
30 |
long __stl_InterlockedDecrement( long *var );
|
williamr@2
|
31 |
|
williamr@2
|
32 |
#ifdef _STL_MULTIPROCESSOR
|
williamr@2
|
33 |
// Multiple Processors, add lock prefix
|
williamr@2
|
34 |
#pragma aux __stl_InterlockedIncrement parm [ ecx ] = \
|
williamr@2
|
35 |
".586" \
|
williamr@2
|
36 |
"mov eax, 1" \
|
williamr@2
|
37 |
"lock xadd [ecx], eax" \
|
williamr@2
|
38 |
"inc eax" \
|
williamr@2
|
39 |
value [eax];
|
williamr@2
|
40 |
|
williamr@2
|
41 |
|
williamr@2
|
42 |
#pragma aux __stl_InterlockedDecrement parm [ ecx ] = \
|
williamr@2
|
43 |
".586" \
|
williamr@2
|
44 |
"mov eax, 0FFFFFFFFh" \
|
williamr@2
|
45 |
"lock xadd [ecx], eax" \
|
williamr@2
|
46 |
"dec eax" \
|
williamr@2
|
47 |
value [eax];
|
williamr@2
|
48 |
#else
|
williamr@2
|
49 |
// Single Processor, lock prefix not needed
|
williamr@2
|
50 |
#pragma aux __stl_InterlockedIncrement parm [ ecx ] = \
|
williamr@2
|
51 |
".586" \
|
williamr@2
|
52 |
"mov eax, 1" \
|
williamr@2
|
53 |
"xadd [ecx], eax" \
|
williamr@2
|
54 |
"inc eax" \
|
williamr@2
|
55 |
value [eax];
|
williamr@2
|
56 |
|
williamr@2
|
57 |
#pragma aux __stl_InterlockedDecrement parm [ ecx ] = \
|
williamr@2
|
58 |
".586" \
|
williamr@2
|
59 |
"mov eax, 0FFFFFFFFh" \
|
williamr@2
|
60 |
"xadd [ecx], eax" \
|
williamr@2
|
61 |
"dec eax" \
|
williamr@2
|
62 |
value [eax];
|
williamr@2
|
63 |
#endif // _STL_MULTIPROCESSOR
|
williamr@2
|
64 |
|
williamr@2
|
65 |
long __stl_InterlockedExchange( long *Destination, long Value );
|
williamr@2
|
66 |
|
williamr@2
|
67 |
// xchg has auto-lock
|
williamr@2
|
68 |
#pragma aux __stl_InterlockedExchange parm [ecx] [eax] = \
|
williamr@2
|
69 |
".586" \
|
williamr@2
|
70 |
"xchg eax, [ecx]" \
|
williamr@2
|
71 |
value [eax];
|
williamr@2
|
72 |
#else
|
williamr@2
|
73 |
|
williamr@2
|
74 |
#define __stl_InterlockedIncrement InterlockedIncrement
|
williamr@2
|
75 |
#define __stl_InterlockedDecrement InterlockedDecrement
|
williamr@2
|
76 |
#define __stl_InterlockedExchange InterlockedExchange
|
williamr@2
|
77 |
#endif /* INLINE INTERLOCK */
|
williamr@2
|
78 |
|
williamr@2
|
79 |
#define _STLP_ATOMIC_INCREMENT(__x) __stl_InterlockedIncrement((long*)__x)
|
williamr@2
|
80 |
#define _STLP_ATOMIC_DECREMENT(__x) __stl_InterlockedDecrement((long*)__x)
|
williamr@2
|
81 |
#define _STLP_ATOMIC_EXCHANGE(__x, __y) __stl_InterlockedExchange((long*)__x, (long)__y)
|
williamr@2
|
82 |
|
williamr@2
|
83 |
// boris : is this true or just the header is not in /usr/include ?
|
williamr@2
|
84 |
# ifdef __QNX__
|
williamr@2
|
85 |
# define _STLP_NO_TYPEINFO 1
|
williamr@2
|
86 |
# endif
|
williamr@2
|
87 |
|
williamr@2
|
88 |
# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
|
williamr@2
|
89 |
# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
|
williamr@2
|
90 |
# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
|
williamr@2
|
91 |
# define _STLP_NO_MEMBER_TEMPLATES 1
|
williamr@2
|
92 |
# define _STLP_NO_FRIEND_TEMPLATES 1
|
williamr@2
|
93 |
# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
|
williamr@2
|
94 |
|
williamr@2
|
95 |
|
williamr@2
|
96 |
# define _STLP_LIMITED_DEFAULT_TEMPLATES 1
|
williamr@2
|
97 |
# define _STLP_HAS_NO_NAMESPACES 1
|
williamr@2
|
98 |
# define _STLP_NEED_TYPENAME 1
|
williamr@2
|
99 |
|
williamr@2
|
100 |
# if __WATCOMC__ < 1100
|
williamr@2
|
101 |
# define _STLP_NO_WCHAR_T 1
|
williamr@2
|
102 |
# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
|
williamr@2
|
103 |
# endif
|
williamr@2
|
104 |
|
williamr@2
|
105 |
# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
|
williamr@2
|
106 |
|
williamr@2
|
107 |
# define _STLP_STATIC_CONST_INIT_BUG 1
|
williamr@2
|
108 |
// # define _STLP_THROW_RETURN_BUG 1
|
williamr@2
|
109 |
# define _STLP_NO_TEMPLATE_CONVERSIONS 1
|
williamr@2
|
110 |
|
williamr@2
|
111 |
# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
|
williamr@2
|
112 |
|
williamr@2
|
113 |
# define _STLP_HAS_NO_NEW_IOSTREAMS 1
|
williamr@2
|
114 |
# define _STLP_HAS_NO_NEW_C_HEADERS 1
|
williamr@2
|
115 |
# define _STLP_NO_NEW_NEW_HEADER 1
|
williamr@2
|
116 |
# define _STLP_VENDOR_GLOBAL_STD
|
williamr@2
|
117 |
|
williamr@2
|
118 |
# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
|
williamr@2
|
119 |
# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
|
williamr@2
|
120 |
# define _STLP_NONTEMPL_BASE_MATCH_BUG
|
williamr@2
|
121 |
# define _STLP_NO_EXCEPTION_HEADER 1
|
williamr@2
|
122 |
# define _STLP_NO_BAD_ALLOC 1
|
williamr@2
|
123 |
|
williamr@2
|
124 |
# define _STLP_NESTED_TYPE_PARAM_BUG 1
|
williamr@2
|
125 |
|
williamr@2
|
126 |
# define _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS 1
|
williamr@2
|
127 |
|
williamr@2
|
128 |
# if (__WATCOM_CPLUSPLUS__ < 1100 )
|
williamr@2
|
129 |
# define _STLP_NO_BOOL 1
|
williamr@2
|
130 |
# define _STLP_NEED_EXPLICIT 1
|
williamr@2
|
131 |
# define _STLP_NEED_MUTABLE 1
|
williamr@2
|
132 |
# define _STLP_NO_ARROW_OPERATOR 1
|
williamr@2
|
133 |
# endif
|
williamr@2
|
134 |
// This one is present in 11, but apparently has bugs (with auto_ptr).
|
williamr@2
|
135 |
# define _STLP_NO_NEW_STYLE_CASTS 1
|
williamr@2
|
136 |
|
williamr@2
|
137 |
// Get rid of Watcom's min and max macros
|
williamr@2
|
138 |
#undef min
|
williamr@2
|
139 |
#undef max
|
williamr@2
|
140 |
|
williamr@2
|
141 |
// for switches (-xs, -xss, -xst)
|
williamr@2
|
142 |
//
|
williamr@2
|
143 |
#if !(defined (__SW_XS) || defined (__SW_XSS) || defined(__SW_XST))
|
williamr@2
|
144 |
# define _STLP_HAS_NO_EXCEPTIONS 1
|
williamr@2
|
145 |
# endif
|
williamr@2
|
146 |
|
williamr@2
|
147 |
# if defined ( _MT ) && !defined (_NOTHREADS) && !defined (_REENTRANT)
|
williamr@2
|
148 |
# define _REENTRANT 1
|
williamr@2
|
149 |
# endif
|
williamr@2
|
150 |
|
williamr@2
|
151 |
|
williamr@2
|
152 |
|
williamr@2
|
153 |
|
williamr@2
|
154 |
|