INSTALL revision 130303
11573SrgrimesFirst, read the README file. If you're still happy... 21573Srgrimes 31573SrgrimesFirst you need to obtain and install the CVS executables. If you got 41573Srgrimesa distribution which contains executables, consult the installation 51573Srgrimesinstructions for that distribution. If you got source code, do not 61573Srgrimespanic. On many platforms building CVS from source code is a 71573Srgrimesstraightforward process requiring no programming knowledge. See the 81573Srgrimessection BUILDING FROM SOURCE CODE at the end of this file, which 91573Srgrimesincludes a list of platforms which have been tested. 101573Srgrimes 111573Srgrimes------------------------------------------------------------------------------- 121573Srgrimes 131573Srgrimes1) Take a look at the CVS documentation, if desired. For most 141573Srgrimes purposes you want doc/cvs.texinfo, also known as _Version Management 151573Srgrimes with CVS_ by Per Cederqvist et al. Looking at it might be as simple 161573Srgrimes as "info cvs" but this will depend on your installation; see README 171573Srgrimes for more details. 181573Srgrimes 191573Srgrimes See what CVS can do for you, and if it fits your environment (or can 201573Srgrimes possibly be made to fit your environment). If things look good, 211573Srgrimes continue on. Alternately, just give CVS a try first then figure out 221573Srgrimes what it is good for. 231573Srgrimes 241573Srgrimes2) Set the CVSROOT environment variable to where you want to put your 251573Srgrimes source repository. See the "Setting up the repository" section of 261573Srgrimes the Cederqvist manual for details, but the quick summary is just to 271573Srgrimes pick some directory. We'll use /src/master as an example. For 281573Srgrimes users of a POSIX shell (sh/bash/ksh) on unix, the following 291573Srgrimes commands can be placed in user's ~/.profile, ~/.bash_profile file; 301573Srgrimes or in the site-wide /etc/profile: 311573Srgrimes 321573Srgrimes CVSROOT=/src/master; export CVSROOT 331573Srgrimes 341573Srgrimes For C shell users on unix place the following commands in the 351573Srgrimes user's ~/.cshrc, ~/.login, or /etc/chsrc file: 361573Srgrimes 371573Srgrimes setenv CVSROOT /src/master 381573Srgrimes 391573Srgrimes For Windows users, supposing the repository will be in 4092986Sobrien d:\src\master, place the following line in c:\autoexec.bat. On 4192986Sobrien Windows 95, autoexec.bat might not already exist. In that case, 4292986Sobrien just create a new file containing the following line. 431573Srgrimes 441573Srgrimes set CVSROOT=:local:d:\src\master 451573Srgrimes 461573Srgrimes If these environment variables are not already set in your current 471573Srgrimes shell, set them now by typing the above line at the command prompt 481573Srgrimes (or source the login script you just edited). 491573Srgrimes The instructions for the remaining steps assume that you have set 501573Srgrimes the CVSROOT environment variable. 511573Srgrimes 521573Srgrimes3) Create the master source repository. Again, the details are in 531573Srgrimes the "Setting up the repository" section of cvs.texinfo; the 541573Srgrimes one-line summary is: 551573Srgrimes 561573Srgrimes $ cvs init 571573Srgrimes 581573Srgrimes In this and subsequent examples we use "$" to indicate the command 591573Srgrimes prompt; do not type the "$". 601573Srgrimes 611573Srgrimes4) It might be a good idea to jump right in and put some sources or 621573Srgrimes documents directly under CVS control. From within the top-level 631573Srgrimes directory of your source tree, run the following commands: 641573Srgrimes 651573Srgrimes $ cvs import -m "test distribution" ccvs CVS_DIST CVS-TEST 661573Srgrimes 671573Srgrimes (Those last three items are, respectively, a repository location, a 681573Srgrimes "vendor tag", and a "release tag". You don't need to understand 691573Srgrimes them yet, but read the section "Starting new projects" in the 701573Srgrimes Cederqvist manual for details). 711573Srgrimes 721573Srgrimes5) Having done step 4, one should be able to checkout a fresh copy of the 731573Srgrimes sources you just imported and hack away at the sources with the 741573Srgrimes following command: 751573Srgrimes 761573Srgrimes $ cd 771573Srgrimes $ cvs checkout ccvs 781573Srgrimes 791573Srgrimes This will make the directory "ccvs" in your current directory and 801573Srgrimes populate it with the appropriate files and directories. 811573Srgrimes 821573Srgrimes6) You may wish to customize the various administrative files, in particular 831573Srgrimes modules. See the Cederqvist manual for details. 841573Srgrimes 851573Srgrimes7) Read the NEWS file to see what's new. 861573Srgrimes 871573Srgrimes8) Hack away. 881573Srgrimes 891573Srgrimes------------------------------------------------------------------------------- 901573Srgrimes 911573SrgrimesBUILDING FROM SOURCE CODE 921573Srgrimes 931573SrgrimesTested platforms 941573Srgrimes 951573SrgrimesCVS has been tested on the following platforms. The most recent 9692905Sobrienversion of CVS reported to have been tested is indicated, but more 9792905Sobrienrecent versions of CVS probably will work too. Please send updates to 9892905Sobrienthis list to bug-cvs@gnu.org (doing so in the form of a diff 9992905Sobriento this file, or at least exact suggested text, is encouraged). 10092905Sobrien"tested" means, at a minimum, that CVS compiles and appears to work on 10192905Sobriensimple (manual) testing. In many cases it also means "make check" 1021573Srgrimesand/or "make remotecheck" passes, but we don't try to list the 1031573Srgrimesplatforms for which that is true. 1041573Srgrimes 1051573SrgrimesAlpha: 1061573Srgrimes DEC Alpha running OSF/1 version 1.3 using cc (about 1.4A2) 1071573Srgrimes DEC Alpha running OSF/1 version 2.0 (1.8) 1081573Srgrimes DEC Alpha running OSF/1 version 2.1 (about 1.4A2) 1091573Srgrimes DEC Alpha running OSF/1 version 3.0 (1.5.95) (footnote 7) 1101573Srgrimes DEC Alpha running OSF/1 version 3.2 (1.9) 1111573Srgrimes Alpha running alpha-dec-osf4.0 (1.10) 11292905Sobrien DEC Alpha running Digital UNIX v4.0C using gcc 2.7.2.2 (1.9.14) 1131573Srgrimes DEC Alpha running VMS 6.2 (1.8.85 client-only) 1141573Srgrimes Alpha running NetBSD 1.2E (1.10) 11592905SobrienCray: 1161573Srgrimes J90 (CVS 970215 snapshot) 1171573Srgrimes T3E (CVS 970215 snapshot) 11892905SobrienHPPA: 1191573Srgrimes HP 9000/710 running HP-UX 8.07A using gcc (about 1.4A2) 1201573Srgrimes HPPA running HP-UX 9 (1.8) 1211573Srgrimes HPPA 1.1 running HP-UX A.09.03 (1.5.95) (footnote 8) 1221573Srgrimes HPPA 1.1 running HP-UX A.09.04 (1.7.1) 1231573Srgrimes HPPA running HP-UX 9.05 (1.9) 1241573Srgrimes HPPA running HP-UX 10.01 (1.7) 1251573Srgrimes HPPA running HP-UX 10.20 (1.10.7) 1261573Srgrimes HPPA running HP-UX 11.11 (1.11.13) (footnote 12) 1271573Srgrimes HPPA 2.0 running HP-UX 10.20 (1.10.9) (footnote 13) 1281573Srgrimes NextSTEP 3.3 (1.7) 1291573Srgrimesi386 family: 1301573Srgrimes Solaris 2.4 using gcc (about 1.4A2) 1311573Srgrimes Solaris 2.6 (1.9) 1321573Srgrimes UnixWare v1.1.1 using gcc (about 1.4A2) 1331573Srgrimes Unixware 2.1 (1.8.86) 1341573Srgrimes Unixware 7 (1.9.29) 1351573Srgrimes ISC 4.0.1 (1.8.87) 1361573Srgrimes Linux (kernel 1.2.x) (1.8.86) 1371573Srgrimes Linux (kernel 2.0.x, RedHat 4.2) (1.10) 13892889Sobrien Linux (kernel 2.0.x, RedHat 5.x) (1.10) 1391573Srgrimes Linux (kernel 2.2.x, RedHat 6.x) (1.10.8) 1401573Srgrimes Linux (kernel 2.2.x, RedHat 7.x) (1.11) 1411573Srgrimes BSDI 4.0 (1.10.7) 1421573Srgrimes FreeBSD 2.1.5-stable (1.8.87) 14392889Sobrien NextSTEP 3.3 (1.7) 1441573Srgrimes SCO Unix 3.2.4.2, gcc 2.7.2 (1.8.87) (footnote 4) 1451573Srgrimes SCO OpenServer 5.0.5 (1.10.2) 1461573Srgrimes Sequent DYNIX/ptx4.0 (1.10 or so) (remove -linet) 1471573Srgrimes Sequent Dynix/PTX 4.1.4 (1.9.20 or so + patches) 1481573Srgrimes Lynx 2.3.0 080695 (1.6.86) (footnote 9) 14992889Sobrien Windows NT 3.51 (1.8.86 client; 1.8.3 local) 15092889Sobrien Windows NT 3.51 service pack 4 (1.9) 1511573Srgrimes Windows NT 3.51 service pack 5 (1.9) -- DOES NOT WORK (footnote 11) 15292889Sobrien Windows NT 4.0 (1.9 client and local) 15392889Sobrien Windows NT 4.0 (1.11 client and local - build & test, but no test suite) 15492889Sobrien Windows 95 (1.9 client and local) 15592889Sobrien QNX (1.9.1 + patches for strippath() and va_list) 1561573Srgrimes OS/2 Version 3 using IBM C/C++ Tools 2.01 (1.8.86 + patches, client) 1571573Srgrimes OS/2 Version 3 using EMX 0.9c (1.9.22, client) 15862232Sdcs OS/2 Version 3 using Watcom version ? (? - has this been tested?) 15992889Sobrienm68k: 16062232Sdcs Sun 3 running SunOS 4.1.1_U1 w/ bundled K&R /usr/5bin/cc (1.8.86+) 16192889Sobrien NextSTEP 3.3p1 (1.8.87) 16292889Sobrien Lynx 2.3.0 062695 (1.6.86) (footnote 9) 16392889Sobrien NetBSD/mac68k (1.9.28) 16492889Sobrienm88k: 1651573Srgrimes Data General AViiON running dgux 5.4R2.10 (1.5) 1661573Srgrimes Data General AViiON running dgux 5.4R3.10 (1.7.1) 1671573Srgrimes Harris Nighthawk 5800 running CX/UX 7.1 (1.5) (footnote 6) 1681573SrgrimesMIPS: 1691573Srgrimes DECstation running Ultrix 4.2a (1.4.90) 1701573Srgrimes DECstation running Ultrix 4.3 (1.10) 1711573Srgrimes SGI running Irix 4.0.5H using gcc and cc (about 1.4A2) (footnote 2) 1721573Srgrimes SGI running Irix 5.3 (1.10) 1731573Srgrimes SGI running Irix 6.2 using SGI MIPSpro 6.2 and beta 7.2 compilers (1.9) 1741573Srgrimes SGI running Irix-6.2 (1.9.8) 1751573Srgrimes SGI running IRIX 6.4 (1.10) 1761573Srgrimes SGI running IRIX 6.5 (1.10.7) 1771573Srgrimes Siemens-Nixdorf RM600 running SINIX-Y (1.6) 1781573SrgrimesPowerPC or RS/6000: 1791573Srgrimes IBM RS/6000 running AIX 3.1 using gcc and cc (1.6.86) 1801573Srgrimes IBM RS/6000 running AIX 3.2.5 (1.8) 18162391Sdcs IBM RS/6000 running AIX 4.1 (1.9) 18262232Sdcs IBM RS/6000 running AIX 4.3 (1.10.7) 18362232Sdcs Lynx 2.3.1 120495 (1.6.86) (footnote 9) 18462232Sdcs Lynx 2.5 (1.9) (footnote 10) 18562232Sdcs MkLinux DR3 GENERIC #6 (1.10.5.1) (presumably LinuxPPC too) 18662232Sdcs Mac OS X Darwin 6.6 Darwin Kernel Version 6.6 (1.11.1p1) 18762754Sdcs Mac OS X Darwin 5.5 Darwin Kernel Version 5.5 (1.11.6) (footnote 12) 18862232Sdcs Mac OS X Darwin 5.5 Darwin Kernel Version 5.5 (1.12.1) (footnote 12) 189111010SnectarSPARC: 190111010Snectar Sun SPARC running SunOS 4.1.x (1.10) 19162232Sdcs Sun SPARCstation 10 running Solaris 2.3 using gcc and cc (about 1.4A2) 19262754Sdcs Sun SPARCstation running Solaris 2.4 using gcc and cc (about 1.5.91) 19362232Sdcs Sun SPARC running Solaris 2.5 (1.8.87) 19462232Sdcs Sun SPARC running Solaris 2.5.1 using gcc 2.7.2.2 (1.9.14) 19562232Sdcs Sun SPARC running Solaris 2.6 (1.10.7) 19662232Sdcs Sun UltraSPARC running Solaris 2.6 using gcc 2.8.1 (1.10) 19762232Sdcs NextSTEP 3.3 (1.7) 19862232Sdcs Sun SPARC running Linux 2.0.17, gcc 2.7.2 (1.8.87) 19962754Sdcs Sun UltraSPARC running Solaris 2.8 using gcc 2.95.3 20062232SdcsVAX: 20162754Sdcs VAX running VMS 6.2 (1.9+patches, client-only) 20262232Sdcs (see README.VMS for information on necessary hacks). 20362232Sdcs 20462232Sdcs(footnote 2) 20562232Sdcs Some Irix 4.0 systems may core dump in malloc while running 206111010Snectar CVS. We believe this is a bug in the Irix malloc. You can 20762754Sdcs workaround this bug by linking with "-lmalloc" if necessary. 20862754Sdcs (about 1.4A2). 20962232Sdcs 21062391Sdcs(footnote 4) Comment out the include of sys/time.h in src/server.c. (1.4.93) 21162232Sdcs You also may have to make sure TIME_WITH_SYS_TIME is undef'ed. 21262232Sdcs 21362232Sdcs(footnote 6) Build in ucb universe with COFF compiler tools. Put 21462232Sdcs /usr/local/bin first in PATH while doing a configure, make 21562232Sdcs and install of GNU diffutils-2.7, rcs-5.7, then cvs-1.5. 21662232Sdcs 21762232Sdcs(footnote 7) Manoj Srivastava <srivasta@pilgrim.umass.edu> reports 21862232Sdcs success with this configure command: 21962232Sdcs CC=cc CFLAGS='-O2 -Olimit 2000 -std1' ./configure --verbose alpha-dec-osf 22062232Sdcs 2211573Srgrimes(footnote 8) Manoj Srivastava <srivasta@pilgrim.umass.edu> reports 2221573Srgrimes success with this configure command: 2231573Srgrimes CC=cc CFLAGS='+O2 -Aa -D_HPUX_SOURCE' ./configure --verbose hppa1.1-hp-hpux 2241573Srgrimes 2251573Srgrimes(footnote 9) 2261573Srgrimes Had to configure with ./configure --host=<arch>-lynx. 2271573Srgrimes 2281573Srgrimes In src/cvs.h, protected the waitpid prototype with ifdef _POSIX_SOURCE. 2291573Srgrimes (I might try building with gcc -mposix -D_POSIX_SOURCE.) 2301573Srgrimes 2311573Srgrimes LynxOS has <dirent.h>, but you don't want to use it. 2321573Srgrimes You want to use <sys/dir.h> instead. 2331573Srgrimes So after running configure I had to undef HAVE_DIRENT_H and 2341573Srgrimes define HAVE_SYS_DIR_H. 2351573Srgrimes 2361573Srgrimes(footnote 10) 2371573Srgrimes Had to compile with "make LIBS=-lbsd" (to get gethostbyname 23862391Sdcs and getservbyname). 23962391Sdcs 24062854Sdcs(footnote 11) 24162391Sdcs when I do a `cvs init' I get this message: 2421573Srgrimes ci: 'RCS/loginfo,v' is not a regular file 2431573Srgrimes ci: RCS/loginfo,v: Invalid argument 2441573Srgrimes cvs [init aborted]: failed to checkin n:/safe/CVSROOT/loginfo 2451573Srgrimes 2461573Srgrimes(footnote 12) 2471573Srgrimes Need to `configure --without-gssapi' unless you have installed Kerberos 5 2481573Srgrimes libraries on the system yourself. For some reason Apple ships OS X with 2491573Srgrimes the Kerberos 5 headers installed and not the libraries, which confuses the 2501573Srgrimes current configure script. Some HP, BSD, & Sun boxes have similar problems. 2511573Srgrimes 2521573Srgrimes(footnote 13) 2531573Srgrimes A build under HP PA-RISC 2.0 will probably not run under PA-RISC 1.1 2541573Srgrimes unless "+DAportable" is added to the HP ANSI cc compiler flags. 2551573Srgrimes 2561573Srgrimes------------------------------------------------------------------------------- 2571573Srgrimes 2581573SrgrimesBuilding from source code under Unix: 2591573Srgrimes 2601573Srgrimes1) Run "configure": 2611573Srgrimes 2621573Srgrimes $ ./configure 2631573Srgrimes 2641573Srgrimes You can specify an alternate destination to override the default with 2651573Srgrimes the --prefix option: 2661573Srgrimes 2671573Srgrimes $ ./configure --prefix=/usr/local/gnu 2681573Srgrimes 2691573Srgrimes or some path that is more appropriate for your site. The default prefix 2701573Srgrimes value is "/usr/local", with binaries in sub-directory "bin", manual 2711573Srgrimes pages in sub-directory "man", and libraries in sub-directory "lib". 2721573Srgrimes 2731573Srgrimes A normal build of CVS will create an executable which supports 2741573Srgrimes local, server, or client CVS (if you don't know the difference, 2751573Srgrimes it is described in the Repository chapter of doc/cvs.texinfo). If 2761573Srgrimes you do not intend to use client or server CVS, you may want to 2771573Srgrimes prevent these features from being included in the executable you 2781573Srgrimes build. You can do this with the --disable-client and 2791573Srgrimes --disable-server options: 2801573Srgrimes 2811573Srgrimes $ ./configure --disable-client --disable-server 2821573Srgrimes 2831573Srgrimes Typically this can reduce the size of the executable by around 30%. 2841573Srgrimes 2851573Srgrimes If you are building CVS with the server enabled, you can disable 2861573Srgrimes server flow control using the --disable-server-flow-control 2871573Srgrimes If you are working with a large remote repository and a 'cvs 2881573Srgrimes checkout' is swamping your network and memory, enable flow control. 2891573Srgrimes You will end up with even less probability of a consistent checkout 2901573Srgrimes (see Concurrency in cvs.texinfo), but CVS doesn't try to guarantee 2911573Srgrimes that anyway. The master server process will monitor how far it is 2921573Srgrimes getting behind, if it reaches the high water mark, it will signal 2931573Srgrimes the child process to stop generating data when convenient (ie: no 2941573Srgrimes locks are held, currently at the beginning of a new directory). 2951573Srgrimes Once the buffer has drained sufficiently to reach the low water 2961573Srgrimes mark, it will be signalled to start again. You may override the 2971573Srgrimes default hi/low watermarks here too by passing 2981573Srgrimes '<lowwater>,<highwater>', in bytes, as an argument to 2991573Srgrimes --enable-server-flow-control. The low water mark defaults to one 3001573Srgrimes megabyte and the high water mark defaults to two megabytes. 3011573Srgrimes 3021573Srgrimes $ ./configure --enable-server-flow-control=1M,2M 3031573Srgrimes 3041573Srgrimes The --with-tmpdir argument to configure may be used to set a 3051573Srgrimes specific directory for use as a default temporary directory. If not 3061573Srgrimes set, configure will pick the first directory it finds which it has 3071573Srgrimes read, write, and execute permissions to from $TMPDIR, $TMP, $TEMP, 3081573Srgrimes /tmp, and /var/tmp, in that order. Failing that, it will use /tmp. 3091573Srgrimes 3101573Srgrimes The --with-umask argument to configure can be used to change 3111573Srgrimes the default umask used by the CVS server executable. 3121573Srgrimes 3131573Srgrimes Unlike previous versions of CVS, you do not need to install RCS 3141573Srgrimes or GNU diff. 3151573Srgrimes 3161573Srgrimes If you are using gcc and are planning to modify CVS, you may want to 3171573Srgrimes configure with -Wall; see the file HACKING for details. 3181573Srgrimes 3191573Srgrimes If you have Kerberos 4 installed, you can specify the location of 3201573Srgrimes the header files and libraries using the --with-krb4=DIR option. 3211573Srgrimes DIR should be a directory with subdirectories include and lib 3221573Srgrimes holding the Kerberos 4 header files and libraries, respectively. 3231573Srgrimes The default value is /usr/kerberos. 3241573Srgrimes 3251573Srgrimes If you want to enable support for encryption over Kerberos, use 3261573Srgrimes the --enable-encryption option. This option is disabled by 3271573Srgrimes default. 3281573Srgrimes 3291573Srgrimes If you want to disable automatic dependency tracking in the makefiles, 3301573Srgrimes use the '--disable-dependency-tracking' option: 3311573Srgrimes 3321573Srgrimes $ ./configure --disable-dependency-tracking 3331573Srgrimes 3341573Srgrimes This avoids problems on some platforms. See the note at the end of this 3351573Srgrimes file on BSD. 3361573Srgrimes 3371573Srgrimes Try './configure --help' for further information on its usage. 3381573Srgrimes 3391573Srgrimes NOTE ON CVS's USE OF NDBM: 3401573Srgrimes 3411573Srgrimes By default, CVS uses some built-in ndbm emulation code to allow 3421573Srgrimes CVS to work in a heterogeneous environment. However, if you have 3431573Srgrimes a very large modules database, this may not work well. You will 3441573Srgrimes need to supply the --disable-cvs-ndbm option to configure to 3451573Srgrimes accomplish this. If you do this, the following comments apply. If 3461573Srgrimes not, you may safely skip these comments. 3471573Srgrimes 3481573Srgrimes If you configure CVS to use the real ndbm(3) libraries and 34992889Sobrien you do not have them installed in a "normal" place, you will 3501573Srgrimes probably want to get the GNU version of ndbm (gdbm) and install 3511573Srgrimes that before running the CVS configure script. Be aware that the 3521573Srgrimes GDBM 1.5 release does NOT install the <ndbm.h> header file included 3531573Srgrimes with the release automatically. You may have to install it by hand. 35492889Sobrien 3551573Srgrimes If you configure CVS to use the ndbm(3) libraries, you cannot 3561573Srgrimes compile CVS with GNU cc (gcc) on Sun-4 SPARC systems. However, gcc 3571573Srgrimes 2.0 may have fixed this limitation if -fpcc-struct-return is 3581573Srgrimes defined. When using gcc on other systems to compile CVS, you *may* 3591573Srgrimes need to specify the -fpcc-struct-return option to gcc (you will 36092889Sobrien *know* you have to if "cvs checkout" core dumps in some ndbm 36192889Sobrien function). You can do this as follows: 36292889Sobrien 36392889Sobrien $ CC='gcc -fpcc-struct-return' ./configure 36492889Sobrien 36592889Sobrien for sh, bash, and ksh users and: 36692889Sobrien 36792889Sobrien % setenv CC 'gcc -fpcc-struct-return' 36892889Sobrien % ./configure 36992889Sobrien 37092889Sobrien for csh and tcsh users. 37192889Sobrien 37292889Sobrien END OF NOTE FOR NDBM GUNK. 3731573Srgrimes 3741573Srgrimes2) Try to build it: 3751573Srgrimes 3761573Srgrimes $ make 3771573Srgrimes 3781573Srgrimes This will (hopefully) make the needed CVS binaries within the 3791573Srgrimes "src" directory. If something fails for your system, and you want 3801573Srgrimes to submit a bug report, you may wish to include your 3811573Srgrimes "config.status" file, your host type, operating system and 3821573Srgrimes compiler information, make output, and anything else you think 3831573Srgrimes will be helpful. 3841573Srgrimes 3851573Srgrimes3) Run the regression tests (optional). 3861573Srgrimes 3871573Srgrimes You may also wish to validate the correctness of the new binary by 3881573Srgrimes running the regression tests. If they succeed, that is nice to 3891573Srgrimes know. However, if they fail, it doesn't tell you much. Often it 3901573Srgrimes will just be a problem with running the tests on your machine, 3911573Srgrimes rather than a problem with CVS. Unless you will have the time to 3921573Srgrimes determine which of the two it is in case of failure, you might 3931573Srgrimes want to save yourself the time and just not run the tests. 3941573Srgrimes 3951573Srgrimes If you want to run the tests, see the file TESTS for more information. 3961573Srgrimes 3971573Srgrimes4) Install the binaries/documentation: 3981573Srgrimes 3991573Srgrimes $ make install 4001573Srgrimes 4011573Srgrimes Depending on your installation's configuration, you may need to be 4021573Srgrimes root to do this. 4031573Srgrimes 4041573Srgrimes------------------------------------------------------------------------------- 4051573Srgrimes 4061573SrgrimesDetailed information about your interaction with "configure": 4071573Srgrimes 4081573SrgrimesThe "configure" script and its interaction with its options and the 4091573Srgrimesenvironment is described here. For more detailed documentation about 4101573Srgrimes"configure", please run `./configure --help' or refer to the GNU Autoconf 4111573Srgrimesdocumentation. 4121573Srgrimes 4131573SrgrimesSupported options are: 4141573Srgrimes 4151573Srgrimes --srcdir=DIR Useful for compiling on many different 4161573Srgrimes machines sharing one source tree. 4171573Srgrimes --prefix=DIR The root of where to install the 4181573Srgrimes various pieces of CVS (/usr/local). 4191573Srgrimes --exec_prefix=DIR If you want executables in a 4201573Srgrimes host-dependent place and shared 4211573Srgrimes things in a host-independent place. 4221573Srgrimes 4231573SrgrimesThe following environment variables override configure's default 4241573Srgrimesbehaviour: 4251573Srgrimes 4261573Srgrimes CC If not set, tries to use gcc first, 4271573Srgrimes then cc. Also tries to use "-g -O" 4281573Srgrimes as options, backing down to -g 4291573Srgrimes alone if that doesn't work. 4301573Srgrimes INSTALL If not set, tries to use "install", then 4311573Srgrimes "./install-sh" as a final choice. 4321573Srgrimes RANLIB If not set, tries to determine if "ranlib" 4331573Srgrimes is available, choosing "echo" if it doesn't 4341573Srgrimes appear to be. 4351573Srgrimes YACC If not set, tries to determine if "bison" 4361573Srgrimes is available, choosing "yacc" if it doesn't 4371573Srgrimes appear to be. 4381573Srgrimes 4391573Srgrimes------------------------------------------------------------------------------- 4401573Srgrimes 4411573SrgrimesBuilding from source code under Windows NT/95/98/2000: 4421573Srgrimes 4431573SrgrimesYou may find interesting information in windows-NT/README. 4441573Srgrimes 4451573Srgrimes* Using Microsoft Visual C++ 5.x (this is currently broken - someone with 4461573Srgrimes MVC++ 5.x needs to regenerate the project files, but the builds using `nmake' 4471573Srgrimes below will work). 4481573Srgrimes 4491573Srgrimes1) Using Microsoft Visual C++ 5.x, open the project `cvsnt.dsw', 4501573Srgrimes in the top directory of the CVS distribution. If you have an older 4511573Srgrimes version of Visual C++, take a look at windows-NT/README. 4521573Srgrimes2) Choose "Build cvs.exe" from the "Project" menu. 4531573Srgrimes3) MSVC will place the executable file cvs.exe in WinRel, or whatever 4541573Srgrimes your target directory is. 4551573Srgrimes 4561573Srgrimes* From the top level directory, with MSVC++ 6.0 installed, something like the 4571573Srgrimesfollowing also works: 4581573Srgrimes 4591573Srgrimes C:\> vcvars32 4601573Srgrimes C:\> nmake /f cvsnt.mak CFG="cvsnt - Win32 Debug" 4611573Srgrimes 4621573Srgrimes* Using the Cygwin development environment <http://cygwin.com>, Windows clients 4631573Srgrimes and servers can be built using the instructions for building on UNIX. For 4641573Srgrimes deploying the CVS server on Windows NT, see the `cygrunsrv' executable that 4651573Srgrimes comes with Cygwin. 4661573Srgrimes 4671573Srgrimes* You might also try <http://wincvs.org> & <http://www.cvsnt.org>. 4681573Srgrimes 4691573Srgrimes------------------------------------------------------------------------------- 4701573Srgrimes 4711573SrgrimesBuilding from source code under other platforms: 4721573Srgrimes 4731573SrgrimesFor OS/2, see os2/README and emx/README. 4741573Srgrimes 4751573SrgrimesFor VMS, see README.VMS 4761573Srgrimes 4771573SrgrimesMac OS X: Builds fine, just like UNIX. 4781573Srgrimes 4791573SrgrimesFor older versions of Mac OS, you might try <http://wincvs.org>. 4801573Srgrimes 4811573SrgrimesFor a Java client, see jCVS (which is a separate package from CVS 4821573Srgrimesitself, but which might be preferable to the Macintosh port mentioned 4831573Srgrimesabove, for example). 4841573Srgrimes 4851573Srgrimes------------------------------------------------------------------------------- 4861573Srgrimes