1175261Sobrien-------------------------------------------------------------------------------
217721Speter
3177391SobrienCVS is Copyright (C) 1986-2006 The Free Software Foundation, Inc.
4175261Sobrien
5175261SobrienCVS is free software; you can redistribute it and/or modify
6175261Sobrienit under the terms of the GNU General Public License as published by
7175261Sobrienthe Free Software Foundation; either version 1, or (at your option)
8175261Sobrienany later version.
9175261Sobrien
10175261SobrienThis program is distributed in the hope that it will be useful,
11175261Sobrienbut WITHOUT ANY WARRANTY; without even the implied warranty of
12175261SobrienMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13175261SobrienGNU General Public License for more details.
14175261Sobrien
15175261Sobrien-------------------------------------------------------------------------------
16175261Sobrien
17175261SobrienNow back to our regularly scheduled program:
18175261Sobrien
19175261SobrienPlease read the README file before reading this INSTALL file.  Then, to
20175261Sobrieninstall CVS:
21175261Sobrien
22175261Sobrien
2332785SpeterFirst you need to obtain and install the CVS executables.  If you got
2432785Spetera distribution which contains executables, consult the installation
2532785Speterinstructions for that distribution.  If you got source code, do not
2632785Speterpanic.  On many platforms building CVS from source code is a
2732785Speterstraightforward process requiring no programming knowledge.  See the
2832785Spetersection BUILDING FROM SOURCE CODE at the end of this file, which
2932785Speterincludes a list of platforms which have been tested.
3032785Speter
3132785Speter-------------------------------------------------------------------------------
3232785Speter
3332785Speter1) Take a look at the CVS documentation, if desired.  For most
3432785Speter   purposes you want doc/cvs.texinfo, also known as _Version Management
3532785Speter   with CVS_ by Per Cederqvist et al.  Looking at it might be as simple
3632785Speter   as "info cvs" but this will depend on your installation; see README
3732785Speter   for more details.
3832785Speter
3932785Speter   See what CVS can do for you, and if it fits your environment (or can
4032785Speter   possibly be made to fit your environment).  If things look good,
4132785Speter   continue on.  Alternately, just give CVS a try first then figure out
4232785Speter   what it is good for.
4332785Speter
4432785Speter2) Set the CVSROOT environment variable to where you want to put your
4532785Speter   source repository.  See the "Setting up the repository" section of
4632785Speter   the Cederqvist manual for details, but the quick summary is just to
4732785Speter   pick some directory.  We'll use /src/master as an example.  For
4832785Speter   users of a POSIX shell (sh/bash/ksh) on unix, the following
4932785Speter   commands can be placed in user's ~/.profile, ~/.bash_profile file;
5032785Speter   or in the site-wide /etc/profile:
5132785Speter
5232785Speter       CVSROOT=/src/master; export CVSROOT
5332785Speter
5432785Speter   For C shell users on unix place the following commands in the
5532785Speter   user's ~/.cshrc, ~/.login, or /etc/chsrc file:
5632785Speter
5732785Speter       setenv CVSROOT /src/master
5832785Speter
5932785Speter   For Windows users, supposing the repository will be in
6032785Speter   d:\src\master, place the following line in c:\autoexec.bat.  On
6132785Speter   Windows 95, autoexec.bat might not already exist.  In that case,
6232785Speter   just create a new file containing the following line.
6332785Speter
6432785Speter       set CVSROOT=:local:d:\src\master
6532785Speter
6632785Speter   If these environment variables are not already set in your current
6732785Speter   shell, set them now by typing the above line at the command prompt
6832785Speter   (or source the login script you just edited).
6932785Speter   The instructions for the remaining steps assume that you have set
7032785Speter   the CVSROOT environment variable.
7132785Speter
7232785Speter3) Create the master source repository.  Again, the details are in
7332785Speter   the "Setting up the repository" section of cvs.texinfo; the
7432785Speter   one-line summary is:
7532785Speter
7632785Speter       $ cvs init
7732785Speter
7832785Speter   In this and subsequent examples we use "$" to indicate the command
7932785Speter   prompt; do not type the "$".
8032785Speter
8132785Speter4) It might be a good idea to jump right in and put some sources or
8232785Speter   documents directly under CVS control.  From within the top-level
8332785Speter   directory of your source tree, run the following commands:
8432785Speter
8532785Speter       $ cvs import -m "test distribution" ccvs CVS_DIST CVS-TEST
8632785Speter
8732785Speter   (Those last three items are, respectively, a repository location, a
8832785Speter   "vendor tag", and a "release tag".  You don't need to understand
8932785Speter   them yet, but read the section "Starting new projects" in the
9032785Speter   Cederqvist manual for details).
9132785Speter
9232785Speter5) Having done step 4, one should be able to checkout a fresh copy of the
9332785Speter   sources you just imported and hack away at the sources with the
9432785Speter   following command:
9532785Speter
9632785Speter      $ cd
9732785Speter      $ cvs checkout ccvs
9832785Speter
9932785Speter   This will make the directory "ccvs" in your current directory and
10032785Speter   populate it with the appropriate files and directories.
10132785Speter
10232785Speter6) You may wish to customize the various administrative files, in particular
10332785Speter   modules.  See the Cederqvist manual for details.
10432785Speter
10532785Speter7) Read the NEWS file to see what's new.
10632785Speter
10732785Speter8) Hack away.
10832785Speter
10932785Speter-------------------------------------------------------------------------------
11032785Speter
11132785SpeterBUILDING FROM SOURCE CODE
11232785Speter
11332785SpeterTested platforms
11432785Speter
11517721SpeterCVS has been tested on the following platforms.  The most recent
11617721Speterversion of CVS reported to have been tested is indicated, but more
11717721Speterrecent versions of CVS probably will work too.  Please send updates to
118175261Sobrienthis list to bug-cvs@nongnu.org (doing so in the form of a diff
11932785Speterto this file, or at least exact suggested text, is encouraged).
12032785Speter"tested" means, at a minimum, that CVS compiles and appears to work on
12132785Spetersimple (manual) testing.  In many cases it also means "make check"
12232785Speterand/or "make remotecheck" passes, but we don't try to list the
12332785Speterplatforms for which that is true.
12417721Speter
12517721SpeterAlpha:
12617721Speter	DEC Alpha running OSF/1 version 1.3 using cc (about 1.4A2)
12725839Speter	DEC Alpha running OSF/1 version 2.0 (1.8)
12817721Speter	DEC Alpha running OSF/1 version 2.1 (about 1.4A2)
12917721Speter	DEC Alpha running OSF/1 version 3.0 (1.5.95) (footnote 7)
13025839Speter	DEC Alpha running OSF/1 version 3.2 (1.9)
13154427Speter	Alpha running alpha-dec-osf4.0 (1.10)
13232785Speter	DEC Alpha running Digital UNIX v4.0C using gcc 2.7.2.2 (1.9.14)
13325839Speter	DEC Alpha running VMS 6.2 (1.8.85 client-only)
13454427Speter	Alpha running NetBSD 1.2E (1.10)
13525839SpeterCray:
13625839Speter	J90 (CVS 970215 snapshot)
13725839Speter	T3E (CVS 970215 snapshot)
13817721SpeterHPPA:
13917721Speter	HP 9000/710 running HP-UX 8.07A using gcc (about 1.4A2)
14025839Speter	HPPA running HP-UX 9 (1.8)
14117721Speter        HPPA 1.1 running HP-UX A.09.03 (1.5.95) (footnote 8)
14217721Speter        HPPA 1.1 running HP-UX A.09.04 (1.7.1)
14344852Speter	HPPA running HP-UX 9.05 (1.9)
14432785Speter	HPPA running HP-UX 10.01 (1.7)
14566525Speter	HPPA running HP-UX 10.20 (1.10.7)
146128266Speter	HPPA running HP-UX 11.11 (1.11.13) (footnote 12)
147128266Speter	HPPA 2.0 running HP-UX 10.20 (1.10.9) (footnote 13)
14825839Speter	NextSTEP 3.3 (1.7)
14917721Speteri386 family:
15017721Speter	Solaris 2.4 using gcc (about 1.4A2)
15154427Speter	Solaris 2.6 (1.9)
15217721Speter	UnixWare v1.1.1 using gcc (about 1.4A2)
15325839Speter	Unixware 2.1 (1.8.86)
15444852Speter	Unixware 7 (1.9.29)
15525839Speter	ISC 4.0.1 (1.8.87)
15625839Speter	Linux (kernel 1.2.x) (1.8.86)
15754427Speter	Linux (kernel 2.0.x, RedHat 4.2) (1.10)
15854427Speter	Linux (kernel 2.0.x, RedHat 5.x) (1.10)
15981404Speter	Linux (kernel 2.2.x, RedHat 6.x) (1.10.8)
16081404Speter	Linux (kernel 2.2.x, RedHat 7.x) (1.11)
16166525Speter	BSDI 4.0 (1.10.7)
16225839Speter	FreeBSD 2.1.5-stable (1.8.87)
16325839Speter	NextSTEP 3.3 (1.7)
16425839Speter	SCO Unix 3.2.4.2, gcc 2.7.2 (1.8.87) (footnote 4)
16554427Speter	SCO OpenServer 5.0.5 (1.10.2)
16654427Speter	Sequent DYNIX/ptx4.0 (1.10 or so) (remove -linet)
16732785Speter	Sequent Dynix/PTX 4.1.4 (1.9.20 or so + patches)
16817721Speter	Lynx 2.3.0 080695 (1.6.86) (footnote 9)
16925839Speter	Windows NT 3.51 (1.8.86 client; 1.8.3 local)
17032785Speter	Windows NT 3.51 service pack 4 (1.9)
17132785Speter	Windows NT 3.51 service pack 5 (1.9) -- DOES NOT WORK (footnote 11)
17225839Speter	Windows NT 4.0 (1.9 client and local)
17381404Speter	Windows NT 4.0 (1.11 client and local - build & test, but no test suite)
17432785Speter	Windows 95 (1.9 client and local)
17532785Speter	QNX (1.9.1 + patches for strippath() and va_list)
17625839Speter	OS/2 Version 3 using IBM C/C++ Tools 2.01 (1.8.86 + patches, client)
17734461Speter	OS/2 Version 3 using EMX 0.9c (1.9.22, client)
17832785Speter	OS/2 Version 3 using Watcom version ? (? - has this been tested?)
17917721Speterm68k:
18025839Speter	Sun 3 running SunOS 4.1.1_U1 w/ bundled K&R /usr/5bin/cc (1.8.86+)
18125839Speter	NextSTEP 3.3p1 (1.8.87)
18217721Speter	Lynx 2.3.0 062695 (1.6.86) (footnote 9)
18354427Speter	NetBSD/mac68k (1.9.28)
18417721Speterm88k:
18517721Speter	Data General AViiON running dgux 5.4R2.10 (1.5)
18617721Speter	Data General AViiON running dgux 5.4R3.10 (1.7.1)
18717721Speter	Harris Nighthawk 5800 running CX/UX 7.1 (1.5) (footnote 6)
18817721SpeterMIPS:
18917721Speter	DECstation running Ultrix 4.2a (1.4.90)
19054427Speter	DECstation running Ultrix 4.3 (1.10)
19117721Speter	SGI running Irix 4.0.5H using gcc and cc (about 1.4A2) (footnote 2)
19254427Speter	SGI running Irix 5.3 (1.10)
19332785Speter	SGI running Irix 6.2 using SGI MIPSpro 6.2 and beta 7.2 compilers (1.9)
19425839Speter	SGI running Irix-6.2 (1.9.8)
19554427Speter	SGI running IRIX 6.4 (1.10)
19666525Speter	SGI running IRIX 6.5 (1.10.7)
19717721Speter	Siemens-Nixdorf RM600 running SINIX-Y (1.6)
19817721SpeterPowerPC or RS/6000:
19917721Speter	IBM RS/6000 running AIX 3.1 using gcc and cc (1.6.86)
20025839Speter	IBM RS/6000 running AIX 3.2.5 (1.8)
20144852Speter	IBM RS/6000 running AIX 4.1 (1.9)
20266525Speter	IBM RS/6000 running AIX 4.3 (1.10.7)
20317721Speter	Lynx 2.3.1 120495 (1.6.86) (footnote 9)
20432785Speter	Lynx 2.5 (1.9) (footnote 10)
205175261Sobrien	Linux DR3 GENERIC #6 (1.10.5.1) (presumably LinuxPPC too)
206175261Sobrien	Mac OS X ALL (footnote 14)
207128266Speter	Mac OS X Darwin 6.6 Darwin Kernel Version 6.6 (1.11.1p1)
208128266Speter	Mac OS X Darwin 5.5 Darwin Kernel Version 5.5 (1.11.6) (footnote 12)
209128266Speter	Mac OS X Darwin 5.5 Darwin Kernel Version 5.5 (1.12.1) (footnote 12)
21017721SpeterSPARC:
21154427Speter	Sun SPARC running SunOS 4.1.x (1.10)
21217721Speter	Sun SPARCstation 10 running Solaris 2.3 using gcc and cc (about 1.4A2)
21317721Speter	Sun SPARCstation running Solaris 2.4 using gcc and cc (about 1.5.91)
21425839Speter	Sun SPARC running Solaris 2.5 (1.8.87)
21532785Speter	Sun SPARC running Solaris 2.5.1 using gcc 2.7.2.2 (1.9.14)
21666525Speter	Sun SPARC running Solaris 2.6 (1.10.7)
21754427Speter	Sun UltraSPARC running Solaris 2.6 using gcc 2.8.1 (1.10)
21825839Speter	NextSTEP 3.3 (1.7)
21932785Speter	Sun SPARC running Linux 2.0.17, gcc 2.7.2 (1.8.87)
220109655Speter	Sun UltraSPARC running Solaris 2.8 using gcc 2.95.3
22125839SpeterVAX:
22225839Speter	VAX running VMS 6.2 (1.9+patches, client-only)
22325839Speter	  (see README.VMS for information on necessary hacks).
22417721Speter
22517721Speter(footnote 2)
22617721Speter	Some Irix 4.0 systems may core dump in malloc while running
22717721Speter	CVS.  We believe this is a bug in the Irix malloc.  You can
22817721Speter	workaround this bug by linking with "-lmalloc" if necessary.
22917721Speter	(about 1.4A2).
23017721Speter
23117721Speter(footnote 4) Comment out the include of sys/time.h in src/server.c. (1.4.93)
23217721Speter	You also may have to make sure TIME_WITH_SYS_TIME is undef'ed.
23317721Speter
23417721Speter(footnote 6) Build in ucb universe with COFF compiler tools.  Put
23517721Speter	/usr/local/bin first in PATH while doing a configure, make
23617721Speter	and install of GNU diffutils-2.7, rcs-5.7, then cvs-1.5.
23717721Speter
23817721Speter(footnote 7) Manoj Srivastava <srivasta@pilgrim.umass.edu> reports
23917721Speter        success with this configure command:
24017721Speter  CC=cc CFLAGS='-O2 -Olimit 2000 -std1' ./configure --verbose alpha-dec-osf
24117721Speter
24217721Speter(footnote 8) Manoj Srivastava <srivasta@pilgrim.umass.edu> reports
24317721Speter        success with this configure command:
24417721Speter  CC=cc CFLAGS='+O2 -Aa -D_HPUX_SOURCE' ./configure --verbose hppa1.1-hp-hpux
24517721Speter
24617721Speter(footnote 9) 
24717721Speter    Had to configure with ./configure --host=<arch>-lynx.
24817721Speter
24917721Speter    In src/cvs.h, protected the waitpid prototype with ifdef _POSIX_SOURCE.
25017721Speter    (I might try building with gcc -mposix -D_POSIX_SOURCE.)
25117721Speter
25217721Speter    LynxOS has <dirent.h>, but you don't want to use it.
25317721Speter    You want to use <sys/dir.h> instead.
25417721Speter    So after running configure I had to undef HAVE_DIRENT_H and
25517721Speter    define HAVE_SYS_DIR_H.
25617721Speter
25732785Speter(footnote 10)
25832785Speter    Had to compile with "make LIBS=-lbsd" (to get gethostbyname
25932785Speter    and getservbyname).
26032785Speter
26132785Speter(footnote 11)
26232785Speter    when I do a `cvs init' I get this message:
26332785Speter      ci: 'RCS/loginfo,v' is not a regular file
26432785Speter      ci:  RCS/loginfo,v: Invalid argument
26532785Speter      cvs [init aborted]: failed to checkin n:/safe/CVSROOT/loginfo
26632785Speter
267128266Speter(footnote 12)
268128266Speter    Need to `configure --without-gssapi' unless you have installed Kerberos 5
269128266Speter    libraries on the system yourself.  For some reason Apple ships OS X with
270128266Speter    the Kerberos 5 headers installed and not the libraries, which confuses the
271128266Speter    current configure script.  Some HP, BSD, & Sun boxes have similar problems.
272128266Speter
273128266Speter(footnote 13)
274128266Speter    A build under HP PA-RISC 2.0 will probably not run under PA-RISC 1.1
275128266Speter    unless "+DAportable" is added to the HP ANSI cc compiler flags.
276128266Speter
277175261Sobrien(footnote 14)
278175261Sobrien    Because of the case-insensitive file system on Mac OS X, you cannot build
279175261Sobrien    CVS directly from a checkout from CVS.  The name of the built executable,
280175261Sobrien    `cvs', conflicts with name of the CVS administration directory, `CVS'.
281175261Sobrien    The work-around is to build the executable from a build directory separate
282175261Sobrien    from the source directory.  i.e.:
283175261Sobrien
284175261Sobrien	cvs co ccvs; cd ccvs
285175261Sobrien	mkdir build; cd build
286175261Sobrien	../configure && make
287175261Sobrien
28817721Speter-------------------------------------------------------------------------------
28917721Speter
29032785SpeterBuilding from source code under Unix:
29117721Speter
292130303Speter1)  Run "configure":
29317721Speter
29417721Speter	$ ./configure
29517721Speter
29617721Speter    You can specify an alternate destination to override the default with
29717721Speter    the --prefix option:
29817721Speter
29917721Speter	$ ./configure --prefix=/usr/local/gnu
30017721Speter
30117721Speter    or some path that is more appropriate for your site.  The default prefix
30217721Speter    value is "/usr/local", with binaries in sub-directory "bin", manual
30317721Speter    pages in sub-directory "man", and libraries in sub-directory "lib".
30417721Speter
30525839Speter    A normal build of CVS will create an executable which supports
30625839Speter    local, server, or client CVS (if you don't know the difference,
30725839Speter    it is described in the Repository chapter of doc/cvs.texinfo).  If
30825839Speter    you do not intend to use client or server CVS, you may want to
30925839Speter    prevent these features from being included in the executable you
31025839Speter    build. You can do this with the --disable-client and
31125839Speter    --disable-server options:
31225839Speter
31325839Speter	$ ./configure --disable-client --disable-server
31425839Speter
31525839Speter    Typically this can reduce the size of the executable by around 30%.
31625839Speter
317107484Speter    If you are building CVS with the server enabled, you can disable
318107484Speter    server flow control using the --disable-server-flow-control
319107484Speter    If you are working with a large remote repository and a 'cvs
320107484Speter    checkout' is swamping your network and memory, enable flow control.
321107484Speter    You will end up with even less probability of a consistent checkout
322107484Speter    (see Concurrency in cvs.texinfo), but CVS doesn't try to guarantee
323107484Speter    that anyway.  The master server process will monitor how far it is
324107484Speter    getting behind, if it reaches the high water mark, it will signal
325107484Speter    the child process to stop generating data when convenient (ie: no
326107484Speter    locks are held, currently at the beginning of a new directory).
327107484Speter    Once the buffer has drained sufficiently to reach the low water
328107484Speter    mark, it will be signalled to start again.  You may override the
329107484Speter    default hi/low watermarks here too by passing
330107484Speter    '<lowwater>,<highwater>', in bytes, as an argument to
331107484Speter    --enable-server-flow-control.  The low water mark defaults to one
332107484Speter    megabyte and the high water mark defaults to two megabytes.
333107484Speter
334107484Speter	$ ./configure --enable-server-flow-control=1M,2M
335107484Speter
336107484Speter    The --with-tmpdir argument to configure may be used to set a
337107484Speter    specific directory for use as a default temporary directory.  If not
338107484Speter    set, configure will pick the first directory it finds which it has
339107484Speter    read, write, and execute permissions to from $TMPDIR, $TMP, $TEMP,
340107484Speter    /tmp, and /var/tmp, in that order.  Failing that, it will use /tmp.
341107484Speter
342107484Speter    The --with-umask argument to configure can be used to change
343107484Speter    the default umask used by the CVS server executable.
344107484Speter
34532785Speter    Unlike previous versions of CVS, you do not need to install RCS
34632785Speter    or GNU diff.  
34717721Speter
34817721Speter    If you are using gcc and are planning to modify CVS, you may want to
34917721Speter    configure with -Wall; see the file HACKING for details.
35017721Speter
35125839Speter    If you have Kerberos 4 installed, you can specify the location of
35225839Speter    the header files and libraries using the --with-krb4=DIR option.
35325839Speter    DIR should be a directory with subdirectories include and lib
35425839Speter    holding the Kerberos 4 header files and libraries, respectively.
35525839Speter    The default value is /usr/kerberos.
35625839Speter
35725839Speter    If you want to enable support for encryption over Kerberos, use
35825839Speter    the --enable-encryption option.  This option is disabled by
35925839Speter    default.
36025839Speter
36181404Speter    If you want to disable automatic dependency tracking in the makefiles,
36281404Speter    use the '--disable-dependency-tracking' option:
36381404Speter
36481404Speter	$ ./configure --disable-dependency-tracking
36581404Speter
36681404Speter    This avoids problems on some platforms.  See the note at the end of this
36781404Speter    file on BSD.
36881404Speter
36917721Speter    Try './configure --help' for further information on its usage.
37017721Speter
37117721Speter    NOTE ON CVS's USE OF NDBM:
37217721Speter
37317721Speter	By default, CVS uses some built-in ndbm emulation code to allow
37417721Speter	CVS to work in a heterogeneous environment.  However, if you have
37517721Speter	a very large modules database, this may not work well.  You will
376109655Speter	need to supply the --disable-cvs-ndbm option to configure to
377109655Speter	accomplish this.  If you do this, the following comments apply.  If
378109655Speter	not, you may safely skip these comments.
37917721Speter
38017721Speter	If you configure CVS to use the real ndbm(3) libraries and
38117721Speter	you do not have them installed in a "normal" place, you will
38217721Speter	probably want to get the GNU version of ndbm (gdbm) and install
38317721Speter	that before running the CVS configure script.  Be aware that the
38417721Speter	GDBM 1.5 release does NOT install the <ndbm.h> header file included
38517721Speter	with the release automatically.  You may have to install it by hand.
38617721Speter
38717721Speter	If you configure CVS to use the ndbm(3) libraries, you cannot
38817721Speter	compile CVS with GNU cc (gcc) on Sun-4 SPARC systems.  However, gcc
38917721Speter	2.0 may have fixed this limitation if -fpcc-struct-return is
39017721Speter	defined.  When using gcc on other systems to compile CVS, you *may*
39117721Speter	need to specify the -fpcc-struct-return option to gcc (you will
39217721Speter	*know* you have to if "cvs checkout" core dumps in some ndbm
39317721Speter	function).  You can do this as follows:
39417721Speter
39517721Speter	    $ CC='gcc -fpcc-struct-return' ./configure
39617721Speter
39717721Speter	for sh, bash, and ksh users and:
39817721Speter
39917721Speter	    % setenv CC 'gcc -fpcc-struct-return'
40017721Speter	    % ./configure
40117721Speter
40217721Speter	for csh and tcsh users.
40317721Speter
40417721Speter    END OF NOTE FOR NDBM GUNK.
40517721Speter
406130303Speter2)  Try to build it:
40717721Speter
40817721Speter	$ make
40917721Speter
41017721Speter    This will (hopefully) make the needed CVS binaries within the
41117721Speter    "src" directory.  If something fails for your system, and you want
41217721Speter    to submit a bug report, you may wish to include your
41317721Speter    "config.status" file, your host type, operating system and
41417721Speter    compiler information, make output, and anything else you think
41517721Speter    will be helpful.
41617721Speter
417130303Speter3)  Run the regression tests (optional).
41817721Speter
41917721Speter    You may also wish to validate the correctness of the new binary by
42025839Speter    running the regression tests.  If they succeed, that is nice to
42125839Speter    know.  However, if they fail, it doesn't tell you much.  Often it
42225839Speter    will just be a problem with running the tests on your machine,
42325839Speter    rather than a problem with CVS.  Unless you will have the time to
42425839Speter    determine which of the two it is in case of failure, you might
42525839Speter    want to save yourself the time and just not run the tests.
42617721Speter
42725839Speter    If you want to run the tests, see the file TESTS for more information.
42817721Speter
429128266Speter4)  Install the binaries/documentation:
43017721Speter
43117721Speter	$ make install
43217721Speter
43317721Speter    Depending on your installation's configuration, you may need to be
43417721Speter    root to do this.
43517721Speter
43617721Speter-------------------------------------------------------------------------------
43717721Speter
43817721SpeterDetailed information about your interaction with "configure":
43917721Speter
44017721SpeterThe "configure" script and its interaction with its options and the
44117721Speterenvironment is described here.  For more detailed documentation about
442102840Speter"configure", please run `./configure --help' or refer to the GNU Autoconf
443102840Speterdocumentation.
44417721Speter
44517721SpeterSupported options are:
44617721Speter
44717721Speter	--srcdir=DIR		Useful for compiling on many different
44817721Speter				machines sharing one source tree.
44917721Speter	--prefix=DIR		The root of where to install the
45017721Speter				various pieces of CVS (/usr/local).
45117721Speter	--exec_prefix=DIR	If you want executables in a
45217721Speter				host-dependent place and shared
45317721Speter				things in a host-independent place.
45417721Speter
45517721SpeterThe following environment variables override configure's default
45617721Speterbehaviour:
45717721Speter
45817721Speter	CC			If not set, tries to use gcc first,
45917721Speter				then cc.  Also tries to use "-g -O"
46017721Speter				as options, backing down to -g
46117721Speter				alone if that doesn't work.
46217721Speter	INSTALL			If not set, tries to use "install", then
46317721Speter				"./install-sh" as a final choice.
46417721Speter	RANLIB			If not set, tries to determine if "ranlib"
46517721Speter				is available, choosing "echo" if it doesn't
46617721Speter				appear to be.
46717721Speter	YACC			If not set, tries to determine if "bison"
46817721Speter				is available, choosing "yacc" if it doesn't
46917721Speter				appear to be.
47017721Speter
47117721Speter-------------------------------------------------------------------------------
47217721Speter
47381404SpeterBuilding from source code under Windows NT/95/98/2000:
47432785Speter
47517721SpeterYou may find interesting information in windows-NT/README.
47617721Speter
477128266Speter* Using Microsoft Visual C++ 5.x (this is currently broken - someone with
478128266Speter  MVC++ 5.x needs to regenerate the project files, but the builds using `nmake'
479128266Speter  below will work).
480128266Speter
481128266Speter1) Using Microsoft Visual C++ 5.x, open the project `cvsnt.dsw',
48232785Speter   in the top directory of the CVS distribution.  If you have an older
48332785Speter   version of Visual C++, take a look at windows-NT/README.
48417721Speter2) Choose "Build cvs.exe" from the "Project" menu.
48532785Speter3) MSVC will place the executable file cvs.exe in WinRel, or whatever
48617721Speter   your target directory is.
48732785Speter
48881404Speter* From the top level directory, with MSVC++ 6.0 installed, something like the
48981404Speterfollowing also works:
49081404Speter
49181404Speter	C:\> vcvars32
49281404Speter	C:\> nmake /f cvsnt.mak CFG="cvsnt - Win32 Debug"
49381404Speter
494128266Speter* Using the Cygwin development environment <http://cygwin.com>, Windows clients
495128266Speter  and servers can be built using the instructions for building on UNIX.  For
496128266Speter  deploying the CVS server on Windows NT, see the `cygrunsrv' executable that
497128266Speter  comes with Cygwin.
49881404Speter
499128266Speter* You might also try <http://wincvs.org> & <http://www.cvsnt.org>.
500128266Speter
50117721Speter-------------------------------------------------------------------------------
50232785Speter
50332785SpeterBuilding from source code under other platforms:
50432785Speter
50532785SpeterFor OS/2, see os2/README and emx/README.
50632785Speter
50732785SpeterFor VMS, see README.VMS
50832785Speter
509107484SpeterMac OS X: Builds fine, just like UNIX.
51032785Speter
511128266SpeterFor older versions of Mac OS, you might try <http://wincvs.org>.
512107484Speter
51332785SpeterFor a Java client, see jCVS (which is a separate package from CVS
51432785Speteritself, but which might be preferable to the Macintosh port mentioned
51532785Speterabove, for example).
51632785Speter
51732785Speter-------------------------------------------------------------------------------
518