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