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