1 /***********************************************************************/
2 /* Open Visualization Data Explorer                                    */
3 /* (C) Copyright IBM Corp. 1989,1999                                   */
4 /* ALL RIGHTS RESERVED                                                 */
5 /* This code licensed under the                                        */
6 /*    "IBM PUBLIC LICENSE - Open Visualization Data Explorer"          */
7 /***********************************************************************/
8 
9 #include <dxconfig.h>
10 
11 /*
12  * $Header
13  */
14 
15 /*
16 // UI Configuration file for various platforms.
17 */
18 #ifndef __CONFIG_H__
19 #define __CONFIG_H__
20 
21 /*
22 // ANSI sprint() returns an int, the number of characters placed in
23 // output string.  Some other sprintf()'s return the input string.
24 */
25 #ifdef sun4
26 # define NON_ANSI_SPRINTF
27 #endif
28 
29 /*
30 // If this system doesn't implement strerror
31 */
32 #ifdef sun4
33 # define NEEDS_STRERROR
34 #endif
35 
36 /*
37 // If this system hasn't implemented strrstr
38 */
39 #ifndef hp700
40 # define NEEDS_STRRSTR
41 #endif
42 
43 
44 /*
45 // What type does malloc return
46 */
47 #ifdef sun4
48 # define MALLOC_RETURNS malloc_t
49 #else
50 # define MALLOC_RETURNS void*
51 #endif
52 
53 /*
54 // If int abs(int) is defined in math.h, and this causes problems vis a vis
55 // that defined in the ansi specified stdlib.h, define this.
56 */
57 #ifdef hp700
58 # define ABS_IN_MATH_H
59 #endif
60 
61 /*
62 // if there is no gethostname declaration, define this.
63 // ibm6000 because of AIX4.1 header files problems. Remove this when fixed.
64 */
65 #if defined(alphax) || defined(aviion) || defined(solaris) || defined(ibm6000) || defined(sun4) || defined(os2)
66 #endif
67 /*
68 // define CFRONT_3_0_INLINE if you cannot have functional code after a
69 // return statement in an inline function.  Most DX headers don't do this
70 // anymore.
71 */
72 #ifndef ibm6000
73 # define CFRONT_3_0_INLINE
74 #endif
75 
76 /*
77 // Define this if the system has an herror function to print errors of
78 // gethostbyname, etc.
79 */
80 #if !defined(sun4) && !defined(hp700) && !defined(solaris) && !defined(alphax)
81 # define HAS_HERROR
82 #endif
83 
84 /*
85 // Define EXECVE_2ND_TYPE to be the type expected for the second param
86 // and EXECVE_3RD_TYPE to be the type expected for the third parameter of
87 // the system call execve().
88 */
89 #if defined(sgi)
90 # define EXECVE_2ND_TYPE char **
91 #elif defined(hp700) || defined(aviion) || defined(ibm6000) || defined(solaris) || defined(alphax) || defined(linux) || defined(freebsd)
92 # define EXECVE_2ND_TYPE char * const*
93 #else
94 # define EXECVE_2ND_TYPE const char **
95 #endif
96 
97 #if defined(sun4) || defined(sgi)
98 # define EXECVE_3RD_TYPE char **
99 #elif defined(hp700) || defined(aviion) || defined(ibm6000) || defined(solaris) || defined(alphax) || defined(linux) || defined(freebsd)
100 # define EXECVE_3RD_TYPE char * const*
101 #else
102 # define EXECVE_3RD_TYPE const char **
103 #endif
104 
105 /*
106 //
107 // Define whether or not the UI should use the license manager
108 //
109 */
110 /*
111 //
112 // Define this if the architecture supports the IBM 7246 ClipNotify
113 // Extension library.
114 //
115 */
116 #if defined(ibm6000) && !defined(_AIX41)
117 # define HAS_CLIPNOTIFY_EXTENSION
118 #endif
119 
120 /*
121 //
122 // Define this to be 1 if your system has a working rename() library call
123 // to rename files.
124 //
125 */
126 #ifdef hp700		/* The hp rename() has missing data symbol "Error" */
127 # define HAS_RENAME	0
128 #else
129 # define HAS_RENAME	1
130 #endif
131 
132 /*
133 //
134 // Define SIGNAL_RETURN_TYPE to be the type returned by the signal() routine.
135 //
136 */
137 #if defined(sun4) || defined(solaris)
138 # define SIGNAL_RETURN_TYPE SIG_PF
139 #elif defined(sgi)
140   typedef void (*DX_SIG_VAL)(int, ...);
141 # define SIGNAL_RETURN_TYPE DX_SIG_VAL
142 #else
143   typedef void (*DX_SIG_VAL)(int);
144 # define SIGNAL_RETURN_TYPE DX_SIG_VAL
145 #endif
146 
147 /*
148 // Define NO_CC_TEMPLATES if the C++ compiler cannot handle 3.0 templates.
149 */
150 #if defined(intelnt) || defined(aviion) || defined(solaris) || defined(WIN32)
151 #define NO_CC_TEMPLATES
152 #endif
153 
154 /*
155 // Define DUMMY_FOR_LIST_WIDGET if the list widgets need dummy code to resize.
156 */
157 #if defined(aviion) || defined(hp700) || defined(sun4) || defined(sgi) || defined(alphax)
158 #define DUMMY_FOR_LIST_WIDGET
159 #endif
160 
161 /*
162  * Enables development kit stuff that is not in the mainline product (yet?).
163  * For example, VPE->File->Save as C Code option.
164  * The hp and aviion can't handle aggregate initialization of arrays, and
165  * since this is only used for debuggable (unreleased) code, we can just
166  * not support this feature on the HP and DG.
167  */
168 #if defined(DEBUG) && !defined(hp700) && !defined(aviion) && !defined(intelnt) && !defined(OS2) && !defined(WIN32)
169 # define DXUI_DEVKIT
170 #endif
171 
172 /*
173  * Define this if your R5 system does not have <X11/Xmu/Editres.h> and
174  * the library, libXmu.a that goes with it.
175  */
176 #if defined(hp700)
177 # define NO_EDITRES
178 #endif
179 
180 /*
181  * Turn on vpe pages.  If you really want to redefine this, then you have back
182  * out changes to Makefile and ProcessGroupManager.{C,h}  Makefile rev 8.15 was
183  * the first Makefile in the main branch with page code.  ProcessGroupManager.{C,h}
184  * rev 8.1 for both files were the first versions in the main branch with page
185  * code.  Prior to this these files lived in tree 8.0.99.
186  */
187 #define WORKSPACE_PAGES 1
188 
189 /*
190 //
191 //
192 //
193 */
194 #ifdef ibm6000
195 # define DXD_ARCHNAME "ibm6000"
196 # define DXD_HAS_CRYPT 1
197 #endif
198 #ifdef solaris
199 # define DXD_ARCHNAME "solaris"
200 # define DXD_HAS_CRYPT 1
201 #endif
202 #ifdef sun4
203 # define DXD_ARCHNAME "sun4"
204 # define DXD_HAS_CRYPT 1
205 #endif
206 #ifdef sgi
207 # define DXD_HAS_CRYPT 1
208 # define DXD_ARCHNAME "sgi"
209 #endif
210 #ifdef hp700
211 # define DXD_HAS_CRYPT 1
212 # define DXD_ARCHNAME "hp700"
213 #endif
214 #ifdef aviion
215 # define DXD_HAS_CRYPT 1
216 # define DXD_ARCHNAME "aviion"
217 #endif
218 #ifdef os2
219 # define DXD_DO_NOT_REQ_SYS_PARAM_H
220 # define DXD_DO_NOT_REQ_UNISTD_H
221 # define DXD_ARCHNAME "os2"
222 # define DXD_OS2
223 # define DXD_SYSLIB_8_CHARS
224 # define DXD_NEEDS_TYPES_H
225 # define DXD_XTOFFSET_HOSED
226 # define DXD_IBM_OS2_SOCKETS
227 # define DXD_NON_UNIX_SOCKETS
228 #if 0
229 # define DXD_NON_UNIX_DIR_SEPARATOR
230 #endif
231 # define DXD_NON_UNIX_ENV_SEPARATOR
232 # define DXD_CR_IS_CRLF
233 # define DXD_LACKS_UTS
234 # define DXD_LACKS_FORK
235 # define DXD_LACKS_POPEN
236 # define DXD_OS_NON_UNIX
237 # define DXD_NEEDS_MKTEMP
238 # define DXD_MATH_LACKS_PI
239 # define DXD_NEEDS_CTYPE_H
240 # define DXD_NEEDS_PROCESS_H
241 # define DXD_HAS_CRYPT 0
242 #ifndef NO_MKTEMP
243 # define NO_MKTEMP
244 #endif
245 #endif
246 
247 #ifdef alphax
248 # define DXD_HAS_CRYPT 1
249 # define DXD_ARCHNAME "alphax"
250 #endif
251 
252 
253 
254 
255 
256 #if defined(intelnt) || defined(WIN32)
257 # define DXD_ARCHNAME "intelnt"
258 # define DXD_SYSLIB_8_CHARS
259 # define DXD_NEEDS_TYPES_H
260 # define DXD_XTOFFSET_HOSED
261 # define DXD_DO_NOT_REQ_SYS_SELECT_H
262 # define DXD_NON_UNIX_SOCKETS
263 # define DXD_CR_IS_CRLF
264 # define DXD_LACKS_UTS
265 # define DXD_LACKS_FORK
266 # define DXD_NEEDS_PROCESS_H
267 # define DXD_NEEDS_CTYPE_H
268 # define DXD_HAS_CRYPT 0
269 #ifndef NO_MKTEMP
270 # define NO_MKTEMP
271 #endif
272 
273 # define DXD_DO_NOT_REQ_SYS_PARAM_H
274 # define DXD_DO_NOT_REQ_UNISTD_H
275 
276 #endif
277 
278 
279 #endif 	/* __CONFIG_H__ */
280 
281 
282