1/*
2 * Copyright (c) 1992, Brian Berliner and Jeff Polk
3 * Copyright (c) 1989-1992, Brian Berliner
4 *
5 * You may distribute under the terms of the GNU General Public License as
6 * specified in the README file that comes with the CVS 1.4 kit.
7 *
8 * This file holds (most of) the configuration tweaks that can be made to
9 * customize CVS for your site.  CVS comes configured for a typical SunOS 4.x
10 * environment.  The comments for each configurable item are intended to be
11 * self-explanatory.  All #defines are tested first to see if an over-riding
12 * option was specified on the "make" command line.
13 *
14 * If special libraries are needed, you will have to edit the Makefile.in file
15 * or the configure script directly.  Sorry.
16 */
17
18/*
19 * For portability and heterogeneity reasons, CVS is shipped by default using
20 * my own text-file version of the ndbm database library in the src/myndbm.c
21 * file.  If you want better performance and are not concerned about
22 * heterogeneous hosts accessing your modules file, turn this option off.
23 */
24#ifndef MY_NDBM
25#define	MY_NDBM
26#endif
27
28/*
29 * The "patch" program to run when using the CVS server and accepting
30 * patches across the network.  Specify a full pathname if your site
31 * wants to use a particular patch.
32 */
33#ifndef PATCH_PROGRAM
34#define PATCH_PROGRAM	"patch"
35#endif
36
37/* Directory used for storing temporary files, if not overridden by
38   environment variables or the -T global option.  There should be little
39   need to change this (-T is a better mechanism if you need to use a
40   different directory for temporary files).  */
41#ifndef TMPDIR_DFLT
42#define	TMPDIR_DFLT	"sys$scratch"
43#endif
44
45/*
46 * The default editor to use, if one does not specify the "-e" option to cvs,
47 * or does not have an EDITOR environment variable.  I set this to just "vi",
48 * and use the shell to find where "vi" actually is.  This allows sites with
49 * /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that your PATH
50 * is reasonable).
51 */
52#ifndef EDITOR_DFLT
53#define	EDITOR_DFLT	""
54#endif
55
56/*
57 * The default umask to use when creating or otherwise setting file or
58 * directory permissions in the repository.  Must be a value in the
59 * range of 0 through 0777.  For example, a value of 002 allows group
60 * rwx access and world rx access; a value of 007 allows group rwx
61 * access but no world access.  This value is overridden by the value
62 * of the CVSUMASK environment variable, which is interpreted as an
63 * octal number.
64 */
65#ifndef UMASK_DFLT
66#define	UMASK_DFLT	002
67#endif
68
69/*
70 * The cvs admin command is restricted to the members of the group
71 * CVS_ADMIN_GROUP.  If this group does not exist, all users are
72 * allowed to run cvs admin.  To disable the cvs admin for all users,
73 * create an empty group CVS_ADMIN_GROUP.  To disable access control for
74 * cvs admin, comment out the define below.
75 */
76#ifndef CVS_ADMIN_GROUP
77/* #define CVS_ADMIN_GROUP "cvsadmin" */
78#endif
79
80/*
81 * The Repository file holds the path to the directory within the
82 * source repository that contains the RCS ,v files for each CVS
83 * working directory.  This path is either a full-path or a path
84 * relative to CVSROOT.
85 *
86 * The big advantage that I can see to having a relative path is that
87 * one can change the physical location of the master source
88 * repository, change the contents of CVS/Root files in your
89 * checked-out code, and CVS will work without problems.
90 *
91 * Therefore, RELATIVE_REPOS is now the default.  In the future, this
92 * is likely to disappear entirely as a compile-time (or other) option,
93 * so if you have other software which relies on absolute pathnames,
94 * update them.
95 */
96#define RELATIVE_REPOS 1
97
98/*
99 * When committing or importing files, you must enter a log message.
100 * Normally, you can do this either via the -m flag on the command line or an
101 * editor will be started for you.  If you like to use logging templates (the
102 * rcsinfo file within the $CVSROOT/CVSROOT directory), you might want to
103 * force people to use the editor even if they specify a message with -m.
104 * Enabling FORCE_USE_EDITOR will cause the -m message to be appended to the
105 * temp file when the editor is started.
106 */
107#ifndef FORCE_USE_EDITOR
108/* #define 	FORCE_USE_EDITOR */
109#endif
110
111/*
112 * When locking the repository, some sites like to remove locks and assume
113 * the program that created them went away if the lock has existed for a long
114 * time.  This used to be the default for previous versions of CVS.  CVS now
115 * attempts to be much more robust, so lock files should not be left around
116 * by mistake. The new behaviour will never remove old locks (they must now
117 * be removed by hand).  Enabling CVS_FUDGELOCKS will cause CVS to remove
118 * locks that are older than CVSLCKAGE seconds.
119 * Use of this option is NOT recommended.
120 */
121#ifndef CVS_FUDGELOCKS
122/* #define CVS_FUDGELOCKS */
123#endif
124
125/* There is some pretty unixy code in src/commit.c which tries to
126   prevent people from commiting changes as "root" (which would prevent
127   CVS from making a log entry with the actual user).  On VMS, I suppose
128   one could say that SYSTEM is equivalent, but I would think that it
129   actually is not necessary; at least at the VMS sites I've worked at
130   people just used their own accounts (turning privileges on and off
131   as desired).  */
132
133#ifndef CVS_BADROOT
134/* #define	CVS_BADROOT */
135#endif
136
137/*
138 * Yes, we can do the authenticated client.
139 */
140#define AUTH_CLIENT_SUPPORT 1
141
142/*
143 * define this to enable the SETXID support.  Probably has no effect on VMS.
144 */
145#ifndef SETXID_SUPPORT
146/* #define SETXID_SUPPORT */
147#endif
148
149/*
150 * If you are working with a large remote repository and a 'cvs checkout' is
151 * swamping your network and memory, define these to enable flow control.
152 * You will end up with even less guarantees of a consistant checkout,
153 * but that may be better than no checkout at all.  The master server process
154 * will monitor how far it is getting behind, if it reaches the high water
155 * mark, it will signal the child process to stop generating data when
156 * convenient (ie: no locks are held, currently at the beginning of a
157 * new directory).  Once the buffer has drained sufficiently to reach the
158 * low water mark, it will be signalled to start again.
159 * -- EXPERIMENTAL! --  A better solution may be in the works.
160 * You may override the default hi/low watermarks here too.
161 */
162#ifndef SERVER_FLOWCONTROL
163/* #define SERVER_FLOWCONTROL */
164/* #define SERVER_HI_WATER (2 * 1024 * 1024) */
165/* #define SERVER_LO_WATER (1 * 1024 * 1024) */
166#endif
167
168/* End of CVS configuration section */
169
170/*
171 * Externs that are included in libc, but are used frequently enough to
172 * warrant defining here.
173 */
174#ifndef STDC_HEADERS
175extern void exit ();
176#endif
177
178#define NO_SOCKET_TO_FD 1
179#include "vms.h"
180