options.h revision 1.1.1.1
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 "rm" program to execute when pruning directories that are not part of 84 * a release. This "rm" must support the "-fr" options. Specify a full 85 * pathname if your site wants to use a particular rm. 86 */ 87#ifndef RM 88#define RM "rm" 89#endif 90 91/* 92 * The "sort" program to execute when displaying the module database. Specify 93 * a full pathname if your site wants to use a particular sort. 94 */ 95#ifndef SORT 96#define SORT "sort" 97#endif 98 99/* 100 * The "patch" program to run when using the CVS server and accepting 101 * patches across the network. Specify a full pathname if your site 102 * wants to use a particular patch. 103 */ 104#ifndef PATCH_PROGRAM 105#define PATCH_PROGRAM "patch" 106#endif 107 108/* 109 * By default, RCS programs are executed with the shell or through execlp(), 110 * so the user's PATH environment variable is searched. If you'd like to 111 * bind all RCS programs to a certain directory (perhaps one not in most 112 * people's PATH) then set the default in RCSBIN_DFLT. Note that setting 113 * this here will cause all RCS programs to be executed from this directory, 114 * unless the user overrides the default with the RCSBIN environment variable 115 * or the "-b" option to CVS. 116 * 117 * If you're compiling the authenticating server (see 118 * AUTH_SERVER_SUPPORT farther down), then you probably want to set 119 * RCSBIN_DFLT. The authenticating server starts out running as root, 120 * and then switches to run as the appropriate user once 121 * authentication is complete. No shell is ever started by that user, 122 * so the PATH environment variable may not contain the directory with 123 * the RCS binaries, even though if that user logged in normally, PATH 124 * would include the directory. An alternative to setting RCSBIN_DFLT 125 * is to make sure that root has the right directory in its path 126 * already. 127 * 128 * This define should be either the empty string ("") or a full pathname to the 129 * directory containing all the installed programs from the RCS distribution. 130 */ 131#ifndef RCSBIN_DFLT 132#define RCSBIN_DFLT "" 133#endif 134 135/* 136 * The default editor to use, if one does not specify the "-e" option to cvs, 137 * or does not have an EDITOR environment variable. I set this to just "vi", 138 * and use the shell to find where "vi" actually is. This allows sites with 139 * /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that your PATH 140 * is reasonable). 141 * 142 * The notepad program seems to be Windows NT's bare-bones text editor. 143 */ 144#ifndef EDITOR_DFLT 145#define EDITOR_DFLT "notepad" 146#endif 147 148/* 149 * The default umask to use when creating or otherwise setting file or 150 * directory permissions in the repository. Must be a value in the 151 * range of 0 through 0777. For example, a value of 002 allows group 152 * rwx access and world rx access; a value of 007 allows group rwx 153 * access but no world access. This value is overridden by the value 154 * of the CVSUMASK environment variable, which is interpreted as an 155 * octal number. 156 */ 157#ifndef UMASK_DFLT 158#define UMASK_DFLT 002 159#endif 160 161/* 162 * The cvs admin command is restricted to the members of the group 163 * CVS_ADMIN_GROUP. If this group does not exist, all users are 164 * allowed to run cvs admin. To disable the cvs admin for all users, 165 * create an empty group CVS_ADMIN_GROUP. To disable access control for 166 * cvs admin, comment out the define below. 167 * 168 * Under Windows NT and OS/2, this must not be used because it tries 169 * to include <grp.h>. 170 */ 171#ifdef CVS_ADMIN_GROUP 172/* #define CVS_ADMIN_GROUP "cvsadmin" */ 173#endif 174 175/* 176 * The Repository file holds the path to the directory within the source 177 * repository that contains the RCS ,v files for each CVS working directory. 178 * This path is either a full-path or a path relative to CVSROOT. 179 * 180 * The only advantage that I can see to having a relative path is that One can 181 * change the physical location of the master source repository, change one's 182 * CVSROOT environment variable, and CVS will work without problems. I 183 * recommend using full-paths. 184 */ 185#ifndef RELATIVE_REPOS 186/* #define RELATIVE_REPOS */ 187#endif 188 189/* 190 * When committing or importing files, you must enter a log message. 191 * Normally, you can do this either via the -m flag on the command line or an 192 * editor will be started for you. If you like to use logging templates (the 193 * rcsinfo file within the $CVSROOT/CVSROOT directory), you might want to 194 * force people to use the editor even if they specify a message with -m. 195 * Enabling FORCE_USE_EDITOR will cause the -m message to be appended to the 196 * temp file when the editor is started. 197 */ 198#ifndef FORCE_USE_EDITOR 199/* #define FORCE_USE_EDITOR */ 200#endif 201 202/* 203 * When locking the repository, some sites like to remove locks and assume 204 * the program that created them went away if the lock has existed for a long 205 * time. This used to be the default for previous versions of CVS. CVS now 206 * attempts to be much more robust, so lock files should not be left around 207 * by mistake. The new behaviour will never remove old locks (they must now 208 * be removed by hand). Enabling CVS_FUDGELOCKS will cause CVS to remove 209 * locks that are older than CVSLCKAGE seconds. 210 * Use of this option is NOT recommended. 211 */ 212#ifndef CVS_FUDGELOCKS 213/* #define CVS_FUDGELOCKS */ 214#endif 215 216/* 217 * When committing a permanent change, CVS and RCS make a log entry of 218 * who committed the change. If you are committing the change logged in 219 * as "root" (not under "su" or other root-priv giving program), CVS/RCS 220 * cannot determine who is actually making the change. 221 * 222 * As such, by default, CVS disallows changes to be committed by users 223 * logged in as "root". You can disable this option by commenting 224 * out the lines below. 225 * 226 * Under Windows NT, privileges are associated with groups, not users, 227 * so the case in which someone has logged in as root does not occur. 228 * Thus, there is no need for this hack. 229 * 230 * todo: I don't know about OS/2 yet. -kff 231 */ 232#undef CVS_BADROOT 233 234/* 235 * The "cvs diff" command accepts all the single-character options that GNU 236 * diff (1.15) accepts. Except -D. GNU diff uses -D as a way to put 237 * cpp-style #define's around the output differences. CVS, by default, uses 238 * -D to specify a free-form date (like "cvs diff -D '1 week ago'"). If 239 * you would prefer that the -D option of "cvs diff" work like the GNU diff 240 * option, then comment out this define. 241 */ 242#ifndef CVS_DIFFDATE 243#define CVS_DIFFDATE 244#endif 245 246/* 247 * define this to enable the SETXID support (see FAQ 4D.13) 248 * [ We have no such thing under OS/2, so far as I know. ] 249 */ 250#undef SETXID_SUPPORT 251 252/* 253 * Under OS/2, we build the authenticated client by default. 254 * But not the server, because there is no server support for OS/2 255 * yet. 256 */ 257#define AUTH_CLIENT_SUPPORT 1 258/* #define AUTH_SERVER_SUPPORT 1 */ 259 260/* End of CVS configuration section */ 261 262/* 263 * Externs that are included in libc, but are used frequently enough to 264 * warrant defining here. 265 */ 266#ifndef STDC_HEADERS 267extern void exit (); 268#endif 269 270#ifndef getwd 271extern char *getwd (); 272#endif 273 274#ifdef AUTH_CLIENT_SUPPORT 275char *getpass (char *passbuf); 276#endif /* AUTH_CLIENT_SUPPORT */ 277