bring cvs_1.12.13+real.orig.tar.gz into the game, with -I ! -I CVS -kb
[alioth/cvs.git] / vms / config.h
1 /* This file is generated via a rule in Makefile.am from the
2  * config.h.in file.
3  *
4  * *** DO NOT EDIT THIS FILE DIRECTLY ***
5  *
6  * Edit config.h.in instead.
7  */
8 /* config.h - OpenVMS/AXP specific configuration
9               June 1995 - <benjamin@cyclic.com> */
10
11 /* The following macro are defined by running ./configure under UNIX OSs.  */
12 #define PACKAGE_STRING "Concurrent Versions System (CVS) 1.12.13"
13
14 /* We only want to build the client */
15 #define CLIENT_SUPPORT 1
16 #undef SERVER_SUPPORT
17
18 /* Define as the maximum value of type 'size_t', if the system doesn't define
19    it. */
20 #define SIZE_MAX SSIZE_MAX
21
22 /* Set up for other #if's which follow */
23 #ifndef __DECC_VER
24 #define __DECC_VER  0
25 #endif
26 #ifndef __VMS_VER
27 #define __VMS_VER   0
28 #endif
29
30 /* VMS is case insensitive */
31 /* #define FOLD_FN_CHAR(c) tolower(c) */
32
33 /* Temporary files named "#booger.3.6~" aren't legal under VMS,
34    Define this if you want to use names which are legal for VMS */
35 #define USE_VMS_FILENAMES 1
36
37 /* What VMS calls /dev/null.  */
38 #define DEVNULL         "NLA0:"
39
40 /* Define to empty if the keyword does not work.  */
41 /* #undef const */
42
43 /* Define if you have <dirent.h>.  */
44 /* #undef DIRENT */
45
46 /* Define if you have <sys/param.h> */
47 /* #undef HAVE_SYS_PARAM_H */
48
49 /* Define to `int' if <sys/types.h> doesn't define.  */
50 /* #undef gid_t */
51
52 /* Define to `__inline__' or `__inline' if that's what the C compiler
53    calls it, or to nothing if 'inline' is not supported under any name.  */
54 #ifndef __cplusplus
55 #define inline
56 #endif
57
58 /* Define if you support file names longer than 14 characters.  */
59 /* #undef HAVE_LONG_FILE_NAMES */
60
61 /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
62 /* #define HAVE_SYS_WAIT_H 1 OpenVMS POSIX has it, but VMS does not. */
63 #undef POSIX
64
65 /* Define if utime(file, NULL) sets file's timestamp to the present.  */
66 /* #undef HAVE_UTIME_NULL */
67
68 /* Define if on MINIX.  */
69 /* #undef _MINIX */
70
71 /* Define to `int' if <sys/types.h> doesn't define.  */
72 /* #undef mode_t */
73
74 /* Define if you don't have <dirent.h>, but have <ndir.h>.  */
75 #define HAVE_NDIR_H 1
76
77 /* Define to `int' if <sys/types.h> doesn't define.  */
78 /* #undef pid_t */
79
80 /* Define if the system does not provide POSIX.1 features except
81    with this defined.  */
82 /* #undef _POSIX_1_SOURCE */
83
84 /* Define if you need to in order for stat and other things to work.  */
85 /* #undef _POSIX_SOURCE */
86
87 /* Define as the return type of signal handlers (int or void).  */
88 #define RETSIGTYPE void
89
90 /* The default remote shell to use, if one does not specify the CVS_RSH
91    environment variable. */
92 #define RSH_DFLT "rsh"
93
94 /* Define to `unsigned' if <sys/types.h> doesn't define.  */
95 /* #undef size_t */
96
97 /* Define if you have the ANSI C header files.  */
98 #define STDC_HEADERS 1
99
100 /* Define if you don't have <dirent.h>, but have <sys/dir.h>.  */
101 /* #undef SYSDIR */
102
103 /* Define if you don't have <dirent.h>, but have <sys/ndir.h>.  */
104 /* #undef SYSNDIR */
105
106 /* Define if your <sys/time.h> declares struct tm.  */
107 /* #undef TM_IN_SYS_TIME */
108
109 /* Define to `int' if <sys/types.h> doesn't define.  */
110 /* #undef uid_t */
111
112 /* Define if the closedir function returns void instead of int.  */
113 /* #undef VOID_CLOSEDIR */
114
115 /* Define if you have MIT Kerberos version 4 available.  */
116 /* #undef HAVE_KERBEROS */
117
118 /* Define if you have the fchmod function.  */
119 /* #undef HAVE_FCHMOD */
120
121 /* Define if you have the fsync function.  */
122 /* #undef HAVE_FSYNC */
123
124 /* Define if you have the ftime function.  */
125 /* #undef HAVE_FTIME */
126
127 /* Define if you have the ftruncate function.  */
128 /* #undef HAVE_FTRUNCATE */
129
130 /* Define if you have the getpagesize function.  */
131 /* #undef HAVE_GETPAGESIZE */
132
133 /* Define if you have the krb_get_err_text function.  */
134 /* #undef HAVE_KRB_GET_ERR_TEXT */
135
136 /* Define if you have the mkdir function */
137 #define HAVE_MKDIR 1
138
139 /* Define if you have the rmdir function */
140 #define HAVE_RMDIR 1
141
142 /* Define if you have the rename function */
143 #define HAVE_RENAME 1
144
145 /* Define if you have the timezone function.  */
146 /* #undef HAVE_TIMEZONE */
147
148 /* Define if you have the vfork function.  */
149 #define HAVE_VFORK
150
151 /* Define if you have the vprintf function.  */
152 #define HAVE_VPRINTF
153
154 /* Define if you have the <errno.h> header file.  */
155 /* #undef HAVE_ERRNO_H */
156
157 /* Define if you have the <fcntl.h> header file.  */
158 #if __DECC_VER >= 50700000
159 # define HAVE_FCNTL_H 1
160 #endif
161
162 /* Define if you have the <memory.h> header file.  */
163 /* #undef HAVE_MEMORY_H */
164
165 /* Define if you have the <ndbm.h> header file.  */
166 /* #undef HAVE_NDBM_H */
167
168 /* Define if you have the <string.h> header file.  */
169 #define HAVE_STRING_H 1
170
171 /* Define to force lib/regex.c to use malloc instead of alloca.  */
172 #define REGEX_MALLOC 1
173
174 /* Define to force lib/regex.c to define re_comp et al.  */
175 #define _REGEX_RE_COMP 1
176
177 /* Define if you have the <sys/select.h> header file.  */
178 /* #undef HAVE_SYS_SELECT_H */
179
180 /* Define this if your <sys/socket.h> defines select() */
181 #define SYS_SOCKET_H_DEFINES_SELECT 1
182
183 /* Define if you have the <unistd.h> header file.  */
184 #define HAVE_UNISTD_H 1
185
186 /* Define if you have the <utime.h> header file.  */
187 /* #undef HAVE_UTIME_H */
188
189 /* Define if you have the nsl library (-lnsl).  */
190 /* #undef HAVE_LIBNSL */
191
192 /* Define if you have the socket library (-lsocket).  */
193 /* #undef HAVE_LIBSOCKET */
194
195 /* Under VMS, filenames are case-insensitive.  */
196 #define FILENAMES_CASE_INSENSITIVE 1
197
198 #define RSH_NOT_TRANSPARENT 1
199 #define START_SERVER vms_start_server
200 #define NO_SOCKET_TO_FD 1
201 #define START_SERVER_RETURNS_SOCKET 1
202 #define SEND_NEVER_PARTIAL 1
203 #define SYSTEM_GETCALLER() getlogin ()
204 #define GETPWNAM_MISSING 1
205
206 /* Avoid name conflicts with VMS libraries.  */
207 #define getopt cvs_getopt
208 #define optind cvs_optind
209 #define optopt cvs_optopt
210 #define optarg cvs_optarg
211 #define opterr cvs_opterr
212
213 /* Avoid open/read/closedir name conflicts with DEC C 5.7 libraries,
214    and fix the problem with readdir() retaining the trailing period.  */
215 #define CVS_OPENDIR  vms_opendir
216 #define CVS_READDIR  vms_readdir
217 #define CVS_CLOSEDIR vms_closedir
218
219 /* argv[0] in VMS is the full pathname which would look really ugly in error
220    messages.  Even if we stripped out the directory and ".EXE;5", it would
221    still be misleading, as if one has used "OLDCVS :== ...CVS-JULY.EXE",
222    then argv[0] does not contain the name of the command which the user
223    invokes CVS with.  If there is a way for VMS to find the latter, that
224    might be worth messing with, but it also seems fine to just always call
225    it "cvs".  */
226 #define ARGV0_NOT_PROGRAM_NAME
227
228 #define CVS_UNLINK vms_unlink
229
230 /* There is some pretty unixy code in src/commit.c which tries to
231    prevent people from commiting changes as "root" (which would prevent
232    CVS from making a log entry with the actual user).  On VMS, I suppose
233    one could say that SYSTEM is equivalent, but I would think that it
234    actually is not necessary; at least at the VMS sites I've worked at
235    people just used their own accounts (turning privileges on and off
236    as desired).  */
237 #undef  CVS_BADROOT
238
239 #define NO_SOCKET_TO_FD 1
240
241 /*
242  * The following configuration options used to be defined in options.h.
243  */
244
245 /*
246  * For portability and heterogeneity reasons, CVS is shipped by default using
247  * my own text-file version of the ndbm database library in the src/myndbm.c
248  * file.  If you want better performance and are not concerned about
249  * heterogeneous hosts accessing your modules file, turn this option off.
250  */
251 #ifndef MY_NDBM
252 #define MY_NDBM
253 #endif
254
255 /* Directory used for storing temporary files, if not overridden by
256    environment variables or the -T global option.  There should be little
257    need to change this (-T is a better mechanism if you need to use a
258    different directory for temporary files).  */
259 #ifndef TMPDIR_DFLT
260 #define TMPDIR_DFLT     "sys$scratch"
261 #endif
262
263 /*
264  * The default editor to use, if one does not specify the "-e" option to cvs,
265  * or does not have an EDITOR environment variable.  I set this to just "vi",
266  * and use the shell to find where "vi" actually is.  This allows sites with
267  * /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that your PATH
268  * is reasonable).
269  */
270 #ifndef EDITOR_DFLT
271 #define EDITOR_DFLT     ""
272 #endif
273
274 /*
275  * The default umask to use when creating or otherwise setting file or
276  * directory permissions in the repository.  Must be a value in the
277  * range of 0 through 0777.  For example, a value of 002 allows group
278  * rwx access and world rx access; a value of 007 allows group rwx
279  * access but no world access.  This value is overridden by the value
280  * of the CVSUMASK environment variable, which is interpreted as an
281  * octal number.
282  */
283 #ifndef UMASK_DFLT
284 #define UMASK_DFLT      002
285 #endif
286
287 /*
288  * The cvs admin command is restricted to the members of the group
289  * CVS_ADMIN_GROUP.  If this group does not exist, all users are
290  * allowed to run cvs admin.  To disable the cvs admin for all users,
291  * create an empty group CVS_ADMIN_GROUP.  To disable access control for
292  * cvs admin, comment out the define below.
293  */
294 #ifndef CVS_ADMIN_GROUP
295 /* #define CVS_ADMIN_GROUP "cvsadmin" */
296 #endif
297
298 /*
299  * When committing or importing files, you must enter a log message.
300  * Normally, you can do this either via the -m flag on the command line or an
301  * editor will be started for you.  If you like to use logging templates (the
302  * rcsinfo file within the $CVSROOT/CVSROOT directory), you might want to
303  * force people to use the editor even if they specify a message with -m.
304  * Enabling FORCE_USE_EDITOR will cause the -m message to be appended to the
305  * temp file when the editor is started.
306  */
307 #ifndef FORCE_USE_EDITOR
308 /* #define      FORCE_USE_EDITOR */
309 #endif
310
311 /*
312  * Yes, we can do the authenticated client.
313  */
314 #define AUTH_CLIENT_SUPPORT 1
315
316 /*
317  * If you are working with a large remote repository and a 'cvs checkout' is
318  * swamping your network and memory, define these to enable flow control.
319  * You will end up with even less guarantees of a consistant checkout,
320  * but that may be better than no checkout at all.  The master server process
321  * will monitor how far it is getting behind, if it reaches the high water
322  * mark, it will signal the child process to stop generating data when
323  * convenient (ie: no locks are held, currently at the beginning of a 
324  * new directory).  Once the buffer has drained sufficiently to reach the
325  * low water mark, it will be signalled to start again.
326  * -- EXPERIMENTAL! --  A better solution may be in the works.
327  * You may override the default hi/low watermarks here too.
328  */
329 #ifndef SERVER_FLOWCONTROL
330 /* #define SERVER_FLOWCONTROL */
331 /* #define SERVER_HI_WATER (2 * 1024 * 1024) */
332 /* #define SERVER_LO_WATER (1 * 1024 * 1024) */
333 #endif
334
335 /* End of CVS options.h section */
336
337 /* Return non-zero iff FILENAME is absolute.
338    Trivial under Unix, but more complicated under other systems.  */
339 #define ISABSOLUTE(filename) (filename[0] == '/' || filename[0] == '[' || filename[0] == '<' || strchr(filename, ':'))
340
341 #include "vms.h"