options.h revision 1.1.1.8
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 * We call this "cvspatch" because of reports of a native OS/2 "patch"
34 * program that does not behave the way CVS expects.  So OS/2 users
35 * should get a GNU patch and call it "cvspatch.exe".
36 */
37#ifndef PATCH_PROGRAM
38#define PATCH_PROGRAM	"cvspatch"
39#endif
40
41/* Directory used for storing temporary files, if not overridden by
42   environment variables or the -T global option.  There should be little
43   need to change this (-T is a better mechanism if you need to use a
44   different directory for temporary files).  */
45#ifndef TMPDIR_DFLT
46#define	TMPDIR_DFLT	"c:\\temp"
47#endif
48
49/*
50 * The default editor to use, if one does not specify the "-e" option to cvs,
51 * or does not have an EDITOR environment variable.  I set this to just "vi",
52 * and use the shell to find where "vi" actually is.  This allows sites with
53 * /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that your PATH
54 * is reasonable).
55 *
56 * The notepad program seems to be Windows NT's bare-bones text editor.
57 */
58#ifndef EDITOR_DFLT
59#define	EDITOR_DFLT	"notepad"
60#endif
61
62/*
63 * The default umask to use when creating or otherwise setting file or
64 * directory permissions in the repository.  Must be a value in the
65 * range of 0 through 0777.  For example, a value of 002 allows group
66 * rwx access and world rx access; a value of 007 allows group rwx
67 * access but no world access.  This value is overridden by the value
68 * of the CVSUMASK environment variable, which is interpreted as an
69 * octal number.
70 */
71#ifndef UMASK_DFLT
72#define	UMASK_DFLT	002
73#endif
74
75/*
76 * The cvs admin command is restricted to the members of the group
77 * CVS_ADMIN_GROUP.  If this group does not exist, all users are
78 * allowed to run cvs admin.  To disable the cvs admin for all users,
79 * create an empty group CVS_ADMIN_GROUP.  To disable access control for
80 * cvs admin, comment out the define below.
81 *
82 * Under Windows NT and OS/2, this must not be used because it tries
83 * to include <grp.h>.
84 */
85#ifdef CVS_ADMIN_GROUP
86/* #define CVS_ADMIN_GROUP "cvsadmin" */
87#endif
88
89/*
90 * The Repository file holds the path to the directory within the
91 * source repository that contains the RCS ,v files for each CVS
92 * working directory.  This path is either a full-path or a path
93 * relative to CVSROOT.
94 *
95 * The big advantage that I can see to having a relative path is that
96 * one can change the physical location of the master source
97 * repository, change the contents of CVS/Root files in your
98 * checked-out code, and CVS will work without problems.
99 *
100 * Therefore, RELATIVE_REPOS is now the default.  In the future, this
101 * is likely to disappear entirely as a compile-time (or other) option,
102 * so if you have other software which relies on absolute pathnames,
103 * update them.
104 */
105#define RELATIVE_REPOS 1
106
107/*
108 * When committing or importing files, you must enter a log message.
109 * Normally, you can do this either via the -m flag on the command line or an
110 * editor will be started for you.  If you like to use logging templates (the
111 * rcsinfo file within the $CVSROOT/CVSROOT directory), you might want to
112 * force people to use the editor even if they specify a message with -m.
113 * Enabling FORCE_USE_EDITOR will cause the -m message to be appended to the
114 * temp file when the editor is started.
115 */
116#ifndef FORCE_USE_EDITOR
117/* #define 	FORCE_USE_EDITOR */
118#endif
119
120/*
121 * When locking the repository, some sites like to remove locks and assume
122 * the program that created them went away if the lock has existed for a long
123 * time.  This used to be the default for previous versions of CVS.  CVS now
124 * attempts to be much more robust, so lock files should not be left around
125 * by mistake. The new behaviour will never remove old locks (they must now
126 * be removed by hand).  Enabling CVS_FUDGELOCKS will cause CVS to remove
127 * locks that are older than CVSLCKAGE seconds.
128 * Use of this option is NOT recommended.
129 */
130#ifndef CVS_FUDGELOCKS
131/* #define CVS_FUDGELOCKS */
132#endif
133
134/*
135 * When committing a permanent change, CVS and RCS make a log entry of
136 * who committed the change.  If you are committing the change logged in
137 * as "root" (not under "su" or other root-priv giving program), CVS/RCS
138 * cannot determine who is actually making the change.
139 *
140 * As such, by default, CVS disallows changes to be committed by users
141 * logged in as "root".  You can disable this option by commenting
142 * out the lines below.
143 *
144 * Under Windows NT, privileges are associated with groups, not users,
145 * so the case in which someone has logged in as root does not occur.
146 * Thus, there is no need for this hack.
147 *
148 * todo: I don't know about OS/2 yet.  -kff
149 */
150#undef CVS_BADROOT
151
152/*
153 * define this to enable the SETXID support (see FAQ 4D.13)
154 * [ We have no such thing under OS/2, so far as I know. ]
155 */
156#undef SETXID_SUPPORT
157
158/*
159 * Under OS/2, we build the authenticated client by default.
160 */
161#define AUTH_CLIENT_SUPPORT 1
162
163/* End of CVS configuration section */
164
165/*
166 * Externs that are included in libc, but are used frequently enough to
167 * warrant defining here.
168 */
169#ifndef STDC_HEADERS
170extern void exit ();
171#endif
172
173#ifdef AUTH_CLIENT_SUPPORT
174char *getpass (char *passbuf);
175#endif /* AUTH_CLIENT_SUPPORT */
176