home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / cvs-1.8.7-src.tgz / tar.out / fsf / cvs / macintosh / options.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  9KB  |  257 lines

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