xref: /openbsd-src/gnu/usr.bin/cvs/os2/options.h (revision 50bf276cd1c7e20f1eda64a5e63e0fae39e12a95)
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  * CVS provides the most features when used in conjunction with the Version-5
20  * release of RCS.  Thus, it is the default.  This also assumes that GNU diff
21  * Version-1.15 is being used as well -- you will have to configure your RCS
22  * V5 release separately to make this the case. If you do not have RCS V5 and
23  * GNU diff V1.15, comment out this define. You should not try mixing and
24  * matching other combinations of these tools.
25  */
26 #ifndef HAVE_RCS5
27 #define	HAVE_RCS5
28 #endif
29 
30 /*
31  * If, before installing this version of CVS, you were running RCS V4 AND you
32  * are installing this CVS and RCS V5 and GNU diff 1.15 all at the same time,
33  * you should turn on the following define.  It only exists to try to do
34  * reasonable things with your existing checked out files when you upgrade to
35  * RCS V5, since the keyword expansion formats have changed with RCS V5.
36  *
37  * If you already have been running with RCS5, or haven't been running with CVS
38  * yet at all, or are sticking with RCS V4 for now, leave the commented out.
39  */
40 #ifndef HAD_RCS4
41 /* #define	HAD_RCS4 */
42 #endif
43 
44 /*
45  * For portability and heterogeneity reasons, CVS is shipped by default using
46  * my own text-file version of the ndbm database library in the src/myndbm.c
47  * file.  If you want better performance and are not concerned about
48  * heterogeneous hosts accessing your modules file, turn this option off.
49  */
50 #ifndef MY_NDBM
51 #define	MY_NDBM
52 #endif
53 
54 /*
55  * The "diff" program to execute when creating patch output.  This "diff"
56  * must support the "-c" option for context diffing.  Specify a full
57  * pathname if your site wants to use a particular diff.  If you are
58  * using the GNU version of diff (version 1.15 or later), this should
59  * be "diff -a".
60  *
61  * NOTE: this program is only used for the ``patch'' sub-command (and
62  * for ``update'' if you are using the server).  The other commands
63  * use rcsdiff which will use whatever version of diff was specified
64  * when rcsdiff was built on your system.
65  */
66 
67 #ifndef DIFF
68 #define	DIFF	"diff"
69 #endif
70 
71 /*
72  * The "grep" program to execute when checking to see if a merged file had
73  * any conflicts.  This "grep" must support the "-s" option and a standard
74  * regular expression as an argument.  Specify a full pathname if your site
75  * wants to use a particular grep.
76  */
77 
78 #ifndef GREP
79 #define GREP "grep"
80 #endif
81 
82 /*
83  * The "patch" program to run when using the CVS server and accepting
84  * patches across the network.  Specify a full pathname if your site
85  * wants to use a particular patch.
86  *
87  * We call this "cvspatch" because of reports of a native OS/2 "patch"
88  * program that does not behave the way CVS expects.  So OS/2 users
89  * should get a GNU patch and call it "cvspatch.exe".
90  */
91 #ifndef PATCH_PROGRAM
92 #define PATCH_PROGRAM	"cvspatch"
93 #endif
94 
95 /*
96  * By default, RCS programs are executed with the shell or through execlp(),
97  * so the user's PATH environment variable is searched.  If you'd like to
98  * bind all RCS programs to a certain directory (perhaps one not in most
99  * people's PATH) then set the default in RCSBIN_DFLT.  Note that setting
100  * this here will cause all RCS programs to be executed from this directory,
101  * unless the user overrides the default with the RCSBIN environment variable
102  * or the "-b" option to CVS.
103  *
104  * If you use the password-authenticating server, then you need to
105  * make sure that the server can find the RCS programs to invoke them.
106  * The authenticating server starts out running as root, and then
107  * switches to run as the appropriate user once authentication is
108  * complete.  But no actual shell is ever started by that user, so the
109  * PATH environment variable may not contain the directory with the
110  * RCS binaries, even though if that user logged in normally, PATH
111  * would include the directory.
112  *
113  * One way to solve this problem is to set RCSBIN_DFLT here.  An
114  * alternative is to make sure that root has the right directory in
115  * its path already.  Another, probably better alternative is to
116  * specify -b in /etc/inetd.conf.
117  *
118  * This define should be either the empty string ("") or a full pathname to the
119  * directory containing all the installed programs from the RCS distribution.
120  */
121 #ifndef RCSBIN_DFLT
122 #define	RCSBIN_DFLT	""
123 #endif
124 
125 /*
126  * The password-authenticating server creates a temporary checkout of
127  * the affected files.  The variable TMPDIR_DFLT (or even better, the
128  * command-line option "-T" in the line for CVS in /etc/inetd.conf)
129  * can be used to specify the used directory.  This directory will
130  * also be used for other temporary files.
131  */
132 #ifndef TMPDIR_DFLT
133 #define	TMPDIR_DFLT	"c:\\temp"
134 #endif
135 
136 /*
137  * The default editor to use, if one does not specify the "-e" option to cvs,
138  * or does not have an EDITOR environment variable.  I set this to just "vi",
139  * and use the shell to find where "vi" actually is.  This allows sites with
140  * /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that your PATH
141  * is reasonable).
142  *
143  * The notepad program seems to be Windows NT's bare-bones text editor.
144  */
145 #ifndef EDITOR_DFLT
146 #define	EDITOR_DFLT	"notepad"
147 #endif
148 
149 /*
150  * The default umask to use when creating or otherwise setting file or
151  * directory permissions in the repository.  Must be a value in the
152  * range of 0 through 0777.  For example, a value of 002 allows group
153  * rwx access and world rx access; a value of 007 allows group rwx
154  * access but no world access.  This value is overridden by the value
155  * of the CVSUMASK environment variable, which is interpreted as an
156  * octal number.
157  */
158 #ifndef UMASK_DFLT
159 #define	UMASK_DFLT	002
160 #endif
161 
162 /*
163  * The cvs admin command is restricted to the members of the group
164  * CVS_ADMIN_GROUP.  If this group does not exist, all users are
165  * allowed to run cvs admin.  To disable the cvs admin for all users,
166  * create an empty group CVS_ADMIN_GROUP.  To disable access control for
167  * cvs admin, comment out the define below.
168  *
169  * Under Windows NT and OS/2, this must not be used because it tries
170  * to include <grp.h>.
171  */
172 #ifdef CVS_ADMIN_GROUP
173 /* #define CVS_ADMIN_GROUP "cvsadmin" */
174 #endif
175 
176 /*
177  * The Repository file holds the path to the directory within the source
178  * repository that contains the RCS ,v files for each CVS working directory.
179  * This path is either a full-path or a path relative to CVSROOT.
180  *
181  * The only advantage that I can see to having a relative path is that One can
182  * change the physical location of the master source repository, change one's
183  * CVSROOT environment variable, and CVS will work without problems.  I
184  * recommend using full-paths.
185  */
186 #ifndef RELATIVE_REPOS
187 /* #define	RELATIVE_REPOS	 */
188 #endif
189 
190 /*
191  * When committing or importing files, you must enter a log message.
192  * Normally, you can do this either via the -m flag on the command line or an
193  * editor will be started for you.  If you like to use logging templates (the
194  * rcsinfo file within the $CVSROOT/CVSROOT directory), you might want to
195  * force people to use the editor even if they specify a message with -m.
196  * Enabling FORCE_USE_EDITOR will cause the -m message to be appended to the
197  * temp file when the editor is started.
198  */
199 #ifndef FORCE_USE_EDITOR
200 /* #define 	FORCE_USE_EDITOR */
201 #endif
202 
203 /*
204  * When locking the repository, some sites like to remove locks and assume
205  * the program that created them went away if the lock has existed for a long
206  * time.  This used to be the default for previous versions of CVS.  CVS now
207  * attempts to be much more robust, so lock files should not be left around
208  * by mistake. The new behaviour will never remove old locks (they must now
209  * be removed by hand).  Enabling CVS_FUDGELOCKS will cause CVS to remove
210  * locks that are older than CVSLCKAGE seconds.
211  * Use of this option is NOT recommended.
212  */
213 #ifndef CVS_FUDGELOCKS
214 /* #define CVS_FUDGELOCKS */
215 #endif
216 
217 /*
218  * When committing a permanent change, CVS and RCS make a log entry of
219  * who committed the change.  If you are committing the change logged in
220  * as "root" (not under "su" or other root-priv giving program), CVS/RCS
221  * cannot determine who is actually making the change.
222  *
223  * As such, by default, CVS disallows changes to be committed by users
224  * logged in as "root".  You can disable this option by commenting
225  * out the lines below.
226  *
227  * Under Windows NT, privileges are associated with groups, not users,
228  * so the case in which someone has logged in as root does not occur.
229  * Thus, there is no need for this hack.
230  *
231  * todo: I don't know about OS/2 yet.  -kff
232  */
233 #undef CVS_BADROOT
234 
235 /*
236  * The "cvs diff" command accepts all the single-character options that GNU
237  * diff (1.15) accepts.  Except -D.  GNU diff uses -D as a way to put
238  * cpp-style #define's around the output differences.  CVS, by default, uses
239  * -D to specify a free-form date (like "cvs diff -D '1 week ago'").  If
240  * you would prefer that the -D option of "cvs diff" work like the GNU diff
241  * option, then comment out this define.
242  */
243 #ifndef CVS_DIFFDATE
244 #define	CVS_DIFFDATE
245 #endif
246 
247 /*
248  * define this to enable the SETXID support (see FAQ 4D.13)
249  * [ We have no such thing under OS/2, so far as I know. ]
250  */
251 #undef SETXID_SUPPORT
252 
253 /*
254  * Under OS/2, we build the authenticated client by default.
255  */
256 #define AUTH_CLIENT_SUPPORT 1
257 
258 /* End of CVS configuration section */
259 
260 /*
261  * Externs that are included in libc, but are used frequently enough to
262  * warrant defining here.
263  */
264 #ifndef STDC_HEADERS
265 extern void exit ();
266 #endif
267 
268 #ifndef getwd
269 extern char *getwd ();
270 #endif
271 
272 #ifdef AUTH_CLIENT_SUPPORT
273 char *getpass (char *passbuf);
274 #endif /* AUTH_CLIENT_SUPPORT */
275