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