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