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 / windows-NT / options.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  10KB  |  259 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    "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. #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.  * If you use the password-authenticating server, then you need to
  101.  * make sure that the server can find the RCS programs to invoke them.
  102.  * The authenticating server starts out running as root, and then
  103.  * switches to run as the appropriate user once authentication is
  104.  * complete.  But no actual shell is ever started by that user, so the
  105.  * PATH environment variable may not contain the directory with the
  106.  * RCS binaries, even though if that user logged in normally, PATH
  107.  * would include the directory.  
  108.  *
  109.  * One way to solve this problem is to set RCSBIN_DFLT here.  An
  110.  * alternative is to make sure that root has the right directory in
  111.  * its path already.  Another, probably better alternative is to
  112.  * specify -b in /etc/inetd.conf. 
  113.  *
  114.  * This define should be either the empty string ("") or a full pathname to the
  115.  * directory containing all the installed programs from the RCS distribution.
  116.  */
  117. #ifndef RCSBIN_DFLT
  118. #define    RCSBIN_DFLT    ""
  119. #endif
  120.  
  121. /*
  122.  * The default editor to use, if one does not specify the "-e" option to cvs,
  123.  * or does not have an EDITOR environment variable.  I set this to just "vi",
  124.  * and use the shell to find where "vi" actually is.  This allows sites with
  125.  * /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that your PATH
  126.  * is reasonable).
  127.  *
  128.  * The notepad program seems to be Windows NT's bare-bones text editor.
  129.  */
  130. #ifndef EDITOR_DFLT
  131. #define    EDITOR_DFLT    "notepad"
  132. #endif
  133.  
  134. /*
  135.  * The default umask to use when creating or otherwise setting file or
  136.  * directory permissions in the repository.  Must be a value in the
  137.  * range of 0 through 0777.  For example, a value of 002 allows group
  138.  * rwx access and world rx access; a value of 007 allows group rwx
  139.  * access but no world access.  This value is overridden by the value
  140.  * of the CVSUMASK environment variable, which is interpreted as an
  141.  * octal number.
  142.  */
  143. #ifndef UMASK_DFLT
  144. #define    UMASK_DFLT    002
  145. #endif
  146.  
  147. /*
  148.  * The cvs admin command is restricted to the members of the group
  149.  * CVS_ADMIN_GROUP.  If this group does not exist, all users are
  150.  * allowed to run cvs admin.  To disable the cvs admin for all users,
  151.  * create an empty group CVS_ADMIN_GROUP.  To disable access control for
  152.  * cvs admin, comment out the define below.
  153.  *
  154.  * Under Windows NT, this must not be used because it tries to include
  155.  * <grp.h>
  156.  */
  157. #ifdef CVS_ADMIN_GROUP
  158. /* #define CVS_ADMIN_GROUP "cvsadmin" */
  159. #endif
  160.  
  161. /*
  162.  * The Repository file holds the path to the directory within the source
  163.  * repository that contains the RCS ,v files for each CVS working directory.
  164.  * This path is either a full-path or a path relative to CVSROOT.
  165.  * 
  166.  * The only advantage that I can see to having a relative path is that One can
  167.  * change the physical location of the master source repository, change one's
  168.  * CVSROOT environment variable, and CVS will work without problems.  I
  169.  * recommend using full-paths.
  170.  */
  171. #ifndef RELATIVE_REPOS
  172. /* #define    RELATIVE_REPOS     */
  173. #endif
  174.  
  175. /*
  176.  * When committing or importing files, you must enter a log message.
  177.  * Normally, you can do this either via the -m flag on the command line or an
  178.  * editor will be started for you.  If you like to use logging templates (the
  179.  * rcsinfo file within the $CVSROOT/CVSROOT directory), you might want to
  180.  * force people to use the editor even if they specify a message with -m.
  181.  * Enabling FORCE_USE_EDITOR will cause the -m message to be appended to the
  182.  * temp file when the editor is started.
  183.  */
  184. #ifndef FORCE_USE_EDITOR
  185. /* #define     FORCE_USE_EDITOR */
  186. #endif
  187.  
  188. /*
  189.  * When locking the repository, some sites like to remove locks and assume
  190.  * the program that created them went away if the lock has existed for a long
  191.  * time.  This used to be the default for previous versions of CVS.  CVS now
  192.  * attempts to be much more robust, so lock files should not be left around
  193.  * by mistake. The new behaviour will never remove old locks (they must now
  194.  * be removed by hand).  Enabling CVS_FUDGELOCKS will cause CVS to remove
  195.  * locks that are older than CVSLCKAGE seconds.
  196.  * Use of this option is NOT recommended.
  197.  */
  198. #ifndef CVS_FUDGELOCKS
  199. /* #define CVS_FUDGELOCKS */
  200. #endif
  201.  
  202. /*
  203.  * When committing a permanent change, CVS and RCS make a log entry of
  204.  * who committed the change.  If you are committing the change logged in
  205.  * as "root" (not under "su" or other root-priv giving program), CVS/RCS
  206.  * cannot determine who is actually making the change.
  207.  *
  208.  * As such, by default, CVS disallows changes to be committed by users
  209.  * logged in as "root".  You can disable this option by commenting
  210.  * out the lines below.
  211.  *
  212.  * Under Windows NT, privileges are associated with groups, not users,
  213.  * so the case in which someone has logged in as root does not occur.
  214.  * Thus, there is no need for this hack.
  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.  * Yes, we can do the authenticated client.
  232.  */
  233. #define AUTH_CLIENT_SUPPORT 1
  234.  
  235. /*
  236.  * This tells the client that it must use send()/recv() to talk to the
  237.  * server if it is connected to the server via a socket; Win95 is said to
  238.  * need it because _open_osfhandle doesn't work.  This is only
  239.  * implemented for pserver, not rsh.  Furthermore, NT doesn't seem to have send()
  240.  * and recv(), or maybe one has to link against a different library or something,
  241.  * I don't know.  So this is commented out.
  242.  */
  243. #define NO_SOCKET_TO_FD 1
  244.  
  245. /* End of CVS configuration section */
  246.  
  247. /*
  248.  * Externs that are included in libc, but are used frequently enough to
  249.  * warrant defining here.
  250.  */
  251. #ifndef STDC_HEADERS
  252. extern void exit ();
  253. #endif
  254.  
  255. #ifndef getwd
  256. extern char *getwd ();
  257. #endif
  258.  
  259.