xref: /openbsd/gnu/usr.bin/cvs/vms/config.h (revision e79e3062)
1 /* config.h - OpenVMS/AXP specific configuration
2               June 1995 - <benjamin@cyclic.com> */
3 
4 /* We only want to build the client */
5 #define CLIENT_SUPPORT 1
6 #undef SERVER_SUPPORT
7 
8 /* Set up for other #if's which follow */
9 #ifndef __DECC_VER
10 #define __DECC_VER  0
11 #endif
12 #ifndef __VMS_VER
13 #define __VMS_VER   0
14 #endif
15 
16 /* VMS is case insensitive */
17 /* #define FOLD_FN_CHAR(c) tolower(c) */
18 
19 /* Temporary files named "#booger.3.6~" aren't legal under VMS,
20    Define this if you want to use names which are legal for VMS */
21 #define USE_VMS_FILENAMES 1
22 
23 /* More issues with how VMS names files, kind of a kludge.  See login.c.  */
24 #define NO_SLASH_AFTER_HOME 1
25 
26 /* Define to empty if the keyword does not work.  */
27 /* #undef const */
28 
29 /* Define if you have <dirent.h>.  */
30 /* #undef DIRENT */
31 
32 /* Define if you have <sys/param.h> */
33 /* #undef HAVE_SYS_PARAM_H */
34 
35 /* Define to `int' if <sys/types.h> doesn't define.  */
36 /* #undef gid_t */
37 
38 /* Define if you support file names longer than 14 characters.  */
39 /* #undef HAVE_LONG_FILE_NAMES */
40 
41 /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
42 /* #define HAVE_SYS_WAIT_H 1 OpenVMS POSIX has it, but VMS does not. */
43 #undef POSIX
44 
45 /* Define if utime(file, NULL) sets file's timestamp to the present.  */
46 /* #undef HAVE_UTIME_NULL */
47 
48 /* Define if on MINIX.  */
49 /* #undef _MINIX */
50 
51 /* Define to `int' if <sys/types.h> doesn't define.  */
52 /* #undef mode_t */
53 
54 /* Define if you don't have <dirent.h>, but have <ndir.h>.  */
55 #define HAVE_NDIR_H 1
56 
57 /* Define to `int' if <sys/types.h> doesn't define.  */
58 /* #undef pid_t */
59 
60 /* Define if the system does not provide POSIX.1 features except
61    with this defined.  */
62 /* #undef _POSIX_1_SOURCE */
63 
64 /* Define if you need to in order for stat and other things to work.  */
65 /* #undef _POSIX_SOURCE */
66 
67 /* Define as the return type of signal handlers (int or void).  */
68 #define RETSIGTYPE void
69 
70 /* Define to `unsigned' if <sys/types.h> doesn't define.  */
71 /* #undef size_t */
72 
73 /* Define if you have the ANSI C header files.  */
74 #define STDC_HEADERS 1
75 
76 /* Define if you don't have <dirent.h>, but have <sys/dir.h>.  */
77 /* #undef SYSDIR */
78 
79 /* Define if you don't have <dirent.h>, but have <sys/ndir.h>.  */
80 /* #undef SYSNDIR */
81 
82 /* Define if your <sys/time.h> declares struct tm.  */
83 /* #undef TM_IN_SYS_TIME */
84 
85 /* Define to `int' if <sys/types.h> doesn't define.  */
86 /* #undef uid_t */
87 
88 /* Define if the closedir function returns void instead of int.  */
89 /* #undef VOID_CLOSEDIR */
90 
91 /* Define if you have MIT Kerberos version 4 available.  */
92 /* #undef HAVE_KERBEROS */
93 
94 /* Define if you have the fchmod function.  */
95 /* #undef HAVE_FCHMOD */
96 
97 /* Define if you have the fsync function.  */
98 /* #undef HAVE_FSYNC */
99 
100 /* Define if you have the ftime function.  */
101 /* #undef HAVE_FTIME */
102 
103 /* Define if you have the ftruncate function.  */
104 /* #undef HAVE_FTRUNCATE */
105 
106 /* Define if you have the getpagesize function.  */
107 /* #undef HAVE_GETPAGESIZE */
108 
109 /* Define if you have the krb_get_err_text function.  */
110 /* #undef HAVE_KRB_GET_ERR_TEXT */
111 
112 /* Define if you have the mkdir function */
113 #define HAVE_MKDIR 1
114 
115 /* Define if you have the rmdir function */
116 #define HAVE_RMDIR 1
117 
118 /* Define if you have the rename function */
119 #define HAVE_RENAME 1
120 
121 /* Define if you have the putenv function.  */
122 /* #undef HAVE_PUTENV */
123 
124 /* Define if you have the timezone function.  */
125 /* #undef HAVE_TIMEZONE */
126 
127 /* Define if you have the vfork function.  */
128 #define HAVE_VFORK
129 
130 /* Define if you have the vprintf function.  */
131 #define HAVE_VPRINTF
132 
133 /* Define if you have the <errno.h> header file.  */
134 /* #undef HAVE_ERRNO_H */
135 
136 /* Define if you have the <fcntl.h> header file.  */
137 #if __DECC_VER >= 50700000
138 # define HAVE_FCNTL_H 1
139 #endif
140 
141 /* Define if you have the <memory.h> header file.  */
142 /* #undef HAVE_MEMORY_H */
143 
144 /* Define if you have the <ndbm.h> header file.  */
145 /* #undef HAVE_NDBM_H */
146 
147 /* Define if you have the <string.h> header file.  */
148 #define HAVE_STRING_H 1
149 
150 /* Define to force lib/regex.c to use malloc instead of alloca.  */
151 #define REGEX_MALLOC 1
152 
153 /* Define to force lib/regex.c to define re_comp et al.  */
154 #define _REGEX_RE_COMP 1
155 
156 /* Define if you have the <sys/select.h> header file.  */
157 /* #undef HAVE_SYS_SELECT_H */
158 
159 /* Define this if your <sys/socket.h> defines select() */
160 #define SYS_SOCKET_H_DEFINES_SELECT 1
161 
162 /* Define if you have the <unistd.h> header file.  */
163 #define HAVE_UNISTD_H 1
164 
165 /* Define if you have the <utime.h> header file.  */
166 /* #undef HAVE_UTIME_H */
167 
168 /* Define if you have the nsl library (-lnsl).  */
169 /* #undef HAVE_LIBNSL */
170 
171 /* Define if you have the socket library (-lsocket).  */
172 /* #undef HAVE_LIBSOCKET */
173 
174 /* Under Windows NT, filenames are case-insensitive, and both / and \
175    are path component separators.  */
176 #define FOLD_FN_CHAR(c) (VMS_filename_classes[(unsigned char) (c)])
177 extern unsigned char VMS_filename_classes[];
178 #define FILENAMES_CASE_INSENSITIVE 1
179 
180 /* Like strcmp, but with the appropriate tweaks for file names.
181    Under Windows NT, filenames are case-insensitive but case-preserving,
182    and both \ and / are path element separators.  */
183 extern int fncmp (const char *n1, const char *n2);
184 
185 /* Fold characters in FILENAME to their canonical forms.
186    If FOLD_FN_CHAR is not #defined, the system provides a default
187    definition for this.  */
188 extern void fnfold (char *FILENAME);
189 
190 #define RSH_NOT_TRANSPARENT 1
191 #define START_SERVER vms_start_server
192 #define NO_SOCKET_TO_FD 1
193 #define START_SERVER_RETURNS_SOCKET 1
194 #define SEND_NEVER_PARTIAL 1
195 #define SYSTEM_GETCALLER() getlogin ()
196 #define GETPWNAM_MISSING 1
197 
198 /* Avoid name conflicts with VMS libraries.  */
199 #define getopt cvs_getopt
200 #define optind cvs_optind
201 #define optopt cvs_optopt
202 #define optarg cvs_optarg
203 #define opterr cvs_opterr
204 
205 /* Avoid open/read/closedir name conflicts with DEC C 5.7 libraries,
206    and fix the problem with readdir() retaining the trailing period.  */
207 #define CVS_OPENDIR  vms_opendir
208 #define CVS_READDIR  vms_readdir
209 #define CVS_CLOSEDIR vms_closedir
210 
211 /* argv[0] in VMS is the full pathname which would look really ugly in error
212    messages.  Even if we stripped out the directory and ".EXE;5", it would
213    still be misleading, as if one has used "OLDCVS :== ...CVS-JULY.EXE",
214    then argv[0] does not contain the name of the command which the user
215    invokes CVS with.  If there is a way for VMS to find the latter, that
216    might be worth messing with, but it also seems fine to just always call
217    it "cvs".  */
218 #define ARGV0_NOT_PROGRAM_NAME
219 
220 #define CVS_UNLINK vms_unlink
221