blob: ad19dbef4abd2e6580f49fb65ad0298c7598a691 [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
Zoltan Arpadffy4d8cb682024-01-04 21:01:13 +0100147#define FEAT_XTERM_SAVE
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100148
Bram Moolenaar9bf703d2019-11-30 19:44:38 +0100149// Hardware specific
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100150#if defined(__VAX) || defined(VAX)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000151#undef HAVE_GETTIMEOFDAY
152#undef HAVE_USLEEP
153#undef HAVE_STRCASECMP
154#undef HAVE_STRINGS_H
Bram Moolenaarde5e2c22016-11-04 20:35:31 +0100155#undef HAVE_SIGSETJMP
156#undef HAVE_ISNAN
Bram Moolenaar82c38fe2021-01-04 10:47:26 +0100157#undef HAVE_XOS_R_H
Bram Moolenaar88c86eb2019-01-17 17:13:30 +0100158#define HAVE_NO_LONG_LONG
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100159#define VIM_SIZEOF_INT 4
Bram Moolenaar88c86eb2019-01-17 17:13:30 +0100160#define VIM_SIZEOF_LONG 4
Bram Moolenaar82c38fe2021-01-04 10:47:26 +0100161#define LONG_LONG_MIN (-2147483647-1)
162#define LONG_LONG_MAX (2147483647)
Bram Moolenaar467676d2020-12-30 13:14:45 +0100163#define ULONG_LONG_MAX (4294967295U)
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100164
165#else // ALPHA, IA64, X86_64
Bram Moolenaar071d4272004-06-13 20:20:40 +0000166#define HAVE_GETTIMEOFDAY
167#define HAVE_USLEEP
168#define HAVE_STRCASECMP
169#define HAVE_STRINGS_H
Bram Moolenaarde5e2c22016-11-04 20:35:31 +0100170#define HAVE_SIGSETJMP
171#define HAVE_ISNAN
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100172#undef HAVE_XOS_R_H
173#undef HAVE_NO_LONG_LONG
174#define VIM_SIZEOF_INT 4
Bram Moolenaar88c86eb2019-01-17 17:13:30 +0100175#define VIM_SIZEOF_LONG 8
Bram Moolenaar82c38fe2021-01-04 10:47:26 +0100176#define LONG_LONG_MIN (-9223372036854775807-1)
177#define LONG_LONG_MAX (9223372036854775807)
Bram Moolenaar467676d2020-12-30 13:14:45 +0100178#define ULONG_LONG_MAX (18446744073709551615U)
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100179
180#if defined(__x86_64) || defined(__x86_64__)
181#if !defined(X86_64)
182#define X86_64
183#endif
184#define HAVE_ISNAN
185#define HAVE_ISINF
186#define HAVE_XOS_R_H
187#endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000188#endif
189
Bram Moolenaar9bf703d2019-11-30 19:44:38 +0100190// Compiler specific
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100191#if defined(VAXC) || defined(__VAXC)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000192#undef HAVE_SELECT
193#undef HAVE_FCNTL_H
194#undef HAVE_UNISTD_H
195#undef HAVE_SYS_TIME_H
196#undef HAVE_LOCALE_H
197#define BROKEN_LOCALE
Bram Moolenaar071d4272004-06-13 20:20:40 +0000198#undef DYNAMIC_ICONV
199#undef HAVE_STRFTIME
Bram Moolenaar467676d2020-12-30 13:14:45 +0100200#else // DECC
Bram Moolenaar071d4272004-06-13 20:20:40 +0000201#define HAVE_SELECT
202#define HAVE_FCNTL_H
203#define HAVE_UNISTD_H 1
204#define HAVE_SYS_TIME_H
205#define HAVE_LOCALE_H
206#define BROKEN_LOCALE
Bram Moolenaar071d4272004-06-13 20:20:40 +0000207#undef DYNAMIC_ICONV
208#define HAVE_STRFTIME
209#endif
210
Bram Moolenaar206f0112014-03-12 16:51:55 +0100211#if defined(USE_ICONV)
212#define HAVE_ICONV_H
213#define HAVE_ICONV
214#else
215#undef HAVE_ICONV_H
216#undef HAVE_ICONV
217#endif
218
Bram Moolenaar9bf703d2019-11-30 19:44:38 +0100219// GUI support defines
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000220#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK)
Bram Moolenaar9f1983d2022-05-12 20:35:35 +0100221#define X_INCLUDE_GRP_H // To use getgrgid
Bram Moolenaar467676d2020-12-30 13:14:45 +0100222#define XUSE_MTSAFE_API
Bram Moolenaar071d4272004-06-13 20:20:40 +0000223#define HAVE_X11
Bram Moolenaar467676d2020-12-30 13:14:45 +0100224#define WANT_X11
Zoltan Arpadffy1c8e2332023-12-05 16:04:23 +0100225#ifdef HAVE_XPM
Bram Moolenaar88c86eb2019-01-17 17:13:30 +0100226#define HAVE_X11_XPM_H
227#endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000228#define USE_FONTSET
229#undef X_LOCALE
230#endif