blob: c1e1ea11b087792774dbce24dbc5fb08a9e337af [file] [log] [blame]
Bram Moolenaar9bf703d2019-11-30 19:44:38 +01001/*
2 * os_vms_conf.h. Replaces auto/config.h for VMS
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +01003 *
Bram Moolenaar9bf703d2019-11-30 19:44:38 +01004 */
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +01006#if defined(__VMS) || defined(__vms)
7#if !defined(VMS)
8#define VMS
9#endif
10#endif
11
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010012#define CASE_INSENSITIVE_FILENAME // Open VMS is case insensitive
13#define SPACE_IN_FILENAME // There could be space between user and passwd
14#define FNAME_ILLEGAL "|*#?%" // Illegal characters in a file name
15#define BINARY_FILE_IO // Use binary fileio
Bram Moolenaar071d4272004-06-13 20:20:40 +000016#define USE_GETCWD
17#define USE_SYSTEM
Bram Moolenaar88c86eb2019-01-17 17:13:30 +010018#define XPMATTRIBUTES_TYPE XpmAttributes
Bram Moolenaar071d4272004-06-13 20:20:40 +000019
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010020// Define when terminfo support found
Bram Moolenaar071d4272004-06-13 20:20:40 +000021#undef TERMINFO
22
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010023// Define when termcap.h contains ospeed
24// #define HAVE_OSPEED
Bram Moolenaar071d4272004-06-13 20:20:40 +000025
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010026// Define when termcap.h contains UP, BC and PC
27// #define HAVE_UP_BC_PC
Bram Moolenaar071d4272004-06-13 20:20:40 +000028
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010029// Define when termcap.h defines outfuntype
30//#define HAVE_OUTFUNTYPE
Bram Moolenaar071d4272004-06-13 20:20:40 +000031
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010032// Define when __DATE__ " " __TIME__ can be used
Bram Moolenaar071d4272004-06-13 20:20:40 +000033#define HAVE_DATE_TIME
34
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010035// #undef USEBCOPY
Bram Moolenaar071d4272004-06-13 20:20:40 +000036#define USEMEMMOVE
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010037// #undef USEMEMCPY
Bram Moolenaar071d4272004-06-13 20:20:40 +000038
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010039// Define when "man -s 2" is to be used
40// #undef USEMAN_S
Bram Moolenaar071d4272004-06-13 20:20:40 +000041
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010042// Define to empty if the keyword does not work.
43// #undef const
Bram Moolenaar071d4272004-06-13 20:20:40 +000044
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010045// Define to `int' if <sys/types.h> doesn't define.
46// #undef mode_t
Bram Moolenaar071d4272004-06-13 20:20:40 +000047
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010048// Define to `long' if <sys/types.h> doesn't define.
49// #undef off_t
Bram Moolenaar071d4272004-06-13 20:20:40 +000050
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010051// Define to `long' if <sys/types.h> doesn't define.
52// #undef pid_t
Bram Moolenaar071d4272004-06-13 20:20:40 +000053
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010054// Define to `unsigned' if <sys/types.h> doesn't define.
55// #undef size_t
Bram Moolenaar071d4272004-06-13 20:20:40 +000056
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010057// Define to `int' if <sys/types.h> doesn't define.
58// #undef uid_t
Bram Moolenaar071d4272004-06-13 20:20:40 +000059
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010060// Define to `unsigned int' or other type that is 32 bit.
Bram Moolenaar8e469272010-07-28 19:38:16 +020061#define UINT32_T unsigned int
62
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010063// Define to `int' if <sys/types.h> doesn't define.
64// #undef gid_t
Bram Moolenaar071d4272004-06-13 20:20:40 +000065
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010066// Define to `long' if <sys/types.h> doesn't define.
67// #undef ino_t
Bram Moolenaar071d4272004-06-13 20:20:40 +000068
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010069// Define if you have the nanosleep() function.
70// #undef HAVE_NANOSLEEP
Bram Moolenaar071d4272004-06-13 20:20:40 +000071
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010072// Define if you can safely include both <sys/time.h> and <sys/select.h>.
73// #undef SYS_SELECT_WITH_SYS_TIME
Bram Moolenaar071d4272004-06-13 20:20:40 +000074
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010075// Define if struct sigcontext is present
Bram Moolenaar071d4272004-06-13 20:20:40 +000076#define HAVE_SIGCONTEXT
77
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010078// Define if toupper/tolower only work on lower/uppercase characters
79// #define BROKEN_TOUPPER
Bram Moolenaar071d4272004-06-13 20:20:40 +000080
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010081// Define if tgetstr() has a second argument that is (char *)
82// #undef TGETSTR_CHAR_P
Bram Moolenaar071d4272004-06-13 20:20:40 +000083
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010084// Define if you have the sigset() function.
85// #undef HAVE_SIGSET
Bram Moolenaar071d4272004-06-13 20:20:40 +000086
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010087// Define if you have the setpgid() function.
88// #undef HAVE_SETPGID
Bram Moolenaar071d4272004-06-13 20:20:40 +000089
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010090// Define if you have the setsid() function.
91// #undef HAVE_SETSID
Bram Moolenaar071d4272004-06-13 20:20:40 +000092
Bram Moolenaar9bf703d2019-11-30 19:44:38 +010093// Define if you have the sigset() function.
94// #undef HAVE_SIGSET
Bram Moolenaar071d4272004-06-13 20:20:40 +000095
96#define TGETENT_ZERO_ERR
97#define HAVE_GETCWD
98#define HAVE_STRCSPN
99#define HAVE_STRTOL
100#define HAVE_TGETENT
101#define HAVE_MEMSET
Bram Moolenaar071d4272004-06-13 20:20:40 +0000102#define HAVE_STRERROR
103#define HAVE_FCHOWN
104#define HAVE_RENAME
105#define HAVE_QSORT
106#define HAVE_FSYNC
107#define HAVE_GETPWUID
108#define HAVE_GETPWNAM
Bram Moolenaar071d4272004-06-13 20:20:40 +0000109#define HAVE_STDLIB_H
110#define HAVE_STRING_H
111#define HAVE_ERRNO_H
112#define HAVE_OPENDIR
113#define HAVE_PUTENV
114#define HAVE_SETENV
115#define HAVE_SETJMP_H
Bram Moolenaarac98e5d2008-09-01 14:51:37 +0000116#define HAVE_MATH_H
Bram Moolenaar88c86eb2019-01-17 17:13:30 +0100117#define HAVE_GETTIMEOFDAY
118#define HAVE_PWD_H
119#define HAVE_NETDB_H
120#define HAVE_DIRENT_H
Bram Moolenaar071d4272004-06-13 20:20:40 +0000121
Bram Moolenaar071d4272004-06-13 20:20:40 +0000122#undef HAVE_SYS_NDIR_H
123#undef HAVE_SYS_DIR_H
124#undef HAVE_NDIR_H
125#undef HAVE_SYS_WAIT_H
126#undef HAVE_UNION_WAIT
127#undef HAVE_SYS_SELECT_H
128#undef HAVE_SYS_UTSNAME_H
129#undef HAVE_SYS_SYSTEMINFO_H
130#undef HAVE_TERMCAP_H
131#undef HAVE_SGTTY_H
132#undef HAVE_SYS_IOCTL_H
133#undef HAVE_TERMIO_H
134#undef HAVE_STROPTS_H
135#undef HAVE_SYS_STREAM_H
136#undef HAVE_SYS_PTEM_H
137#undef HAVE_TERMIOS_H
138#undef HAVE_LIBC_H
139#undef HAVE_SYS_STATFS_H
140#undef HAVE_SYS_POLL_H
Bram Moolenaar071d4272004-06-13 20:20:40 +0000141#undef HAVE_FCHDIR
Bram Moolenaarde5e2c22016-11-04 20:35:31 +0100142#undef HAVE_LSTAT
Bram Moolenaar467676d2020-12-30 13:14:45 +0100143#undef HAVE_STDINT_H
Bram Moolenaar071d4272004-06-13 20:20:40 +0000144
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100145// Default features
146#define FEAT_IPV6
147
Bram Moolenaar9bf703d2019-11-30 19:44:38 +0100148// Hardware specific
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100149#if defined(__VAX) || defined(VAX)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000150#undef HAVE_GETTIMEOFDAY
151#undef HAVE_USLEEP
152#undef HAVE_STRCASECMP
153#undef HAVE_STRINGS_H
Bram Moolenaarde5e2c22016-11-04 20:35:31 +0100154#undef HAVE_SIGSETJMP
155#undef HAVE_ISNAN
Bram Moolenaar82c38fe2021-01-04 10:47:26 +0100156#undef HAVE_XOS_R_H
Bram Moolenaar88c86eb2019-01-17 17:13:30 +0100157#define HAVE_NO_LONG_LONG
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100158#define VIM_SIZEOF_INT 4
Bram Moolenaar88c86eb2019-01-17 17:13:30 +0100159#define VIM_SIZEOF_LONG 4
Bram Moolenaar82c38fe2021-01-04 10:47:26 +0100160#define LONG_LONG_MIN (-2147483647-1)
161#define LONG_LONG_MAX (2147483647)
Bram Moolenaar467676d2020-12-30 13:14:45 +0100162#define ULONG_LONG_MAX (4294967295U)
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100163
164#else // ALPHA, IA64, X86_64
Bram Moolenaar071d4272004-06-13 20:20:40 +0000165#define HAVE_GETTIMEOFDAY
166#define HAVE_USLEEP
167#define HAVE_STRCASECMP
168#define HAVE_STRINGS_H
Bram Moolenaarde5e2c22016-11-04 20:35:31 +0100169#define HAVE_SIGSETJMP
170#define HAVE_ISNAN
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100171#undef HAVE_XOS_R_H
172#undef HAVE_NO_LONG_LONG
173#define VIM_SIZEOF_INT 4
Bram Moolenaar88c86eb2019-01-17 17:13:30 +0100174#define VIM_SIZEOF_LONG 8
Bram Moolenaar82c38fe2021-01-04 10:47:26 +0100175#define LONG_LONG_MIN (-9223372036854775807-1)
176#define LONG_LONG_MAX (9223372036854775807)
Bram Moolenaar467676d2020-12-30 13:14:45 +0100177#define ULONG_LONG_MAX (18446744073709551615U)
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100178
179#if defined(__x86_64) || defined(__x86_64__)
180#if !defined(X86_64)
181#define X86_64
182#endif
183#define HAVE_ISNAN
184#define HAVE_ISINF
185#define HAVE_XOS_R_H
186#endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000187#endif
188
Bram Moolenaar9bf703d2019-11-30 19:44:38 +0100189// Compiler specific
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100190#if defined(VAXC) || defined(__VAXC)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000191#undef HAVE_SELECT
192#undef HAVE_FCNTL_H
193#undef HAVE_UNISTD_H
194#undef HAVE_SYS_TIME_H
195#undef HAVE_LOCALE_H
196#define BROKEN_LOCALE
Bram Moolenaar071d4272004-06-13 20:20:40 +0000197#undef DYNAMIC_ICONV
198#undef HAVE_STRFTIME
Bram Moolenaar467676d2020-12-30 13:14:45 +0100199#else // DECC
Bram Moolenaar071d4272004-06-13 20:20:40 +0000200#define HAVE_SELECT
201#define HAVE_FCNTL_H
202#define HAVE_UNISTD_H 1
203#define HAVE_SYS_TIME_H
204#define HAVE_LOCALE_H
205#define BROKEN_LOCALE
Bram Moolenaar071d4272004-06-13 20:20:40 +0000206#undef DYNAMIC_ICONV
207#define HAVE_STRFTIME
208#endif
209
Bram Moolenaar206f0112014-03-12 16:51:55 +0100210#if defined(USE_ICONV)
211#define HAVE_ICONV_H
212#define HAVE_ICONV
213#else
214#undef HAVE_ICONV_H
215#undef HAVE_ICONV
216#endif
217
Bram Moolenaar9bf703d2019-11-30 19:44:38 +0100218// GUI support defines
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000219#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK)
Bram Moolenaar9f1983d2022-05-12 20:35:35 +0100220#define X_INCLUDE_GRP_H // To use getgrgid
Bram Moolenaar467676d2020-12-30 13:14:45 +0100221#define XUSE_MTSAFE_API
Bram Moolenaar071d4272004-06-13 20:20:40 +0000222#define HAVE_X11
Bram Moolenaar467676d2020-12-30 13:14:45 +0100223#define WANT_X11
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100224#ifdef HAVE_XPM
Bram Moolenaar88c86eb2019-01-17 17:13:30 +0100225#define HAVE_X11_XPM_H
226#endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000227#define USE_FONTSET
228#undef X_LOCALE
229#endif