xref: /openbsd-src/gnu/usr.bin/cvs/os2/options.h (revision 892c0aade1f7c0f3a217301a37d1119c4a91f3cd)
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
170 extern void exit ();
171 #endif
172 
173 #ifdef AUTH_CLIENT_SUPPORT
174 char *getpass (char *passbuf);
175 #endif /* AUTH_CLIENT_SUPPORT */
176