home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / rcs57pc3.zip / README
Text File  |  1999-03-28  |  28KB  |  646 lines

  1. README for RCS 5.7 for PC's running under OS/2, DOS or Win32
  2. ------------------------------------------------------------
  3.  
  4. Release date: March 28th 1999
  5.  
  6. Changes: - replaced runtime library popen code with my own
  7.          - added IBM C/C++ compiler support for OS/2 and Win32
  8.          - added MinGW32 and CygWin compiler support
  9.          - updated RSXNT compiler support to 1.42
  10.          - removed rcsfront
  11.          - fixed all reported bugs
  12.          - added RCS_LF_ONLY environment variable support
  13.          - use MinGW32 as compiler for distributed Win32 executables
  14.  
  15. Release date: April 4th 1997
  16.  
  17. Changes: - fixed working file mode buglet for rcsdiff
  18.      - other minor fixes
  19.      - updated hypertext RCS docs from K.H. Marbaise
  20.      - updated RSXNT to 1.31
  21.  
  22. Release date: Jan 26th 1997
  23.  
  24. Changes: - fixed Win95/NT bug with export of const data items
  25.            from RSXNT-built DLL
  26.  
  27. Release date: Jan 12th 1997
  28.  
  29. Changes: - added binary mode support to cii/coo (from Hans-Otto Ultes)
  30.      - fixed bug causing "ci -f" to fail if no headers to expand
  31.      - fixed bug causing crash with pseudo symlinks
  32.      - fixed bug causing misleading error message due to nobody
  33.        being logged on to networking software recognized by RCS
  34.          - include GNU info, TeX DVI and OS/2 IPF formatted docs
  35.            (from K.H. Marbaise)
  36.          - make Win95/NT executables with RSXNT 1.3, 
  37.            a few source changes were required
  38.  
  39. Release date: May 20th 1996
  40.  
  41. Changes: - fixed serious bug with every other file argument 
  42.            often not working
  43.  
  44. Release date: May 14th 1996
  45.  
  46. Changes: - upgraded RCS to GNU RCS 5.7
  47.      - upgraded diff to GNU diff 2.7.2
  48.      - DOS 32-bit diff now only supplied in Watcom+PMODE/W version
  49.      - support for binary files working now, see below
  50.      - support for pseudo symbolic links
  51.      - support for Windows 95 and Windows NT
  52.  
  53. Release date: May 1st 1995
  54.  
  55. Changes: - the cii (rcsfront) indirect invocation method did not 
  56.            work for DOS, now just use the real executable
  57.          - cii itself did not work correctly on FAT file system
  58.          - integrated fix from Paul Eggert for "rcs -o"
  59.          - minor adjustments for emx 0.9a
  60.          - added a second 32-bit diff for DOS, created with
  61.            Watcom C 10.0 and the PMODE/W extender, for those
  62.            that have trouble with the emx generated one
  63.  
  64. Release date: December 16th 1994
  65.  
  66. Changes: - fixed another problem with 32-bit executables for OS/2,
  67.            they seem to work fine now
  68.          - updated emx and rsx DOS extender runtime modules
  69.  
  70. Release date: September 17th 1994 (never made public)
  71.  
  72. Changes: - fixed problem with checkout failures for 32-bit executables
  73.      - significant speedup for checkout of old revisions with
  74.            the 32-bit executables (side effect of above fix)
  75.  
  76. Release date: August 1st 1994
  77.  
  78. Changes: - added workaround for bug in MS-DOS SHARE.EXE
  79.      - new MS-DOS executables
  80.      - slightly corrected rcs/src/ms/Makefile and README files
  81.  
  82. Initial Release date: July 11th 1994
  83.  
  84.  
  85. 0. Archive Locations
  86. --------------------
  87.  
  88. This package is primarily distributed as
  89.  
  90.   rcs57pc1.zip, rcs57pc2.zip and rcs57pc3.zip
  91.  
  92. on
  93.  
  94.   ftp://ftp.leo.org/pub/comp/os/os2/gnu/devtools/
  95.  
  96. and
  97.  
  98.   ftp://ftp.cs.purdue.edu/pub/RCS/
  99.  
  100. The first archive contains the executable files, the second contains
  101. the formatted documentation files and the third one contains the
  102. source code and documentation source files.
  103.  
  104. As long as the author of this revision maintains the PC versions of
  105. RCS and has access to this archive site, the latest version can be
  106. found there (with file names indicating higher revisions, perhaps).
  107.  
  108. Other sites will have copies of this archive too, such as
  109.  
  110.   ftp://ftp-os2.nmsu.edu/pub/os2/unix
  111.   ftp://ftp-os2.cdrom.com/pub/os2/unix
  112.  
  113. which are the best known OS/2 ftp archive sites on the Internet. In
  114. addition, one should be able to find it in the Simtel and Coast-to-Coast
  115. archives:
  116.  
  117.   ftp://ftp.simtel.net/pub/simtelnet/msdos/pgmutl
  118.   ftp://ftp.coast.net/simtel/msdos/pgmutil
  119.   ftp://ftp.coast.net/simtel/os2/pgmtools
  120.   ftp://ftp.coast.net/simtel/nt/pgmtools
  121.  
  122. Related packages that may be of interest for RCS users include:
  123.  
  124. - CVS 1.9 or newer
  125.  
  126.   CVS is a more advanced revision control system for multi user access
  127.   to shared source code without locks and with conflict resolution.
  128.   It works on top of RCS.
  129.  
  130. - GNU make 3.74 or newer
  131.  
  132.   This is a "make" program that knows how to access source files
  133.   maintained with RCS without need to specify special rules.
  134.  
  135. - GNU Emacs 19.30 or newer
  136.  
  137.   The GNU Emacs editor is a very powerful programmer's editor that
  138.   provides easy access to files maintained with RCS via its included
  139.   "vc" package.
  140.  
  141. And, because they can be used to create executables of this RCS
  142. version: 
  143.  
  144. - emx programming environment
  145.  
  146.   The emx environment (current version 0.9d) provides
  147.   tools to create and run 32-bit programs under OS/2 2.x and
  148.   MS-DOS. It uses many GNU programs, such as the gcc C/C++ compiler,
  149.   the gas assembler, the gdb debugger and so on.
  150.  
  151. - RSX DOS extender and Win32 runtime environment for emx
  152.  
  153.   This is an alternative DOS extender for emx to let emx programs
  154.   run in a MS-DOS DPMI environment (such as Microsoft Windows 3.x)
  155.   as well as a kind of "emx runtime for Win32".
  156.  
  157. - CygWin and MinGW32 compiler kits
  158.  
  159.   The CygWin and MinGW32 compiler kits use many GNU programs, such as
  160.   the gcc C/C++ compiler, the gas assembler, the gdb debugger and more.
  161.   They support the creation of native Win32 applications as well, of
  162.   course.
  163.  
  164.  
  165. 1. Overview
  166. -----------
  167.  
  168. RCS is a revision control system, usually used by software developers
  169. to maintain revisions of the source code for the software they write.
  170.  
  171. This package contains in subdirectories:
  172.  
  173. rcs         the source code for RCS 5.7
  174.  
  175. diff, diff16    the source code for the GNU diff program, an important
  176.         tool required for RCS (two versions, see below)
  177.  
  178. doc        preformatted documentation files 
  179.         (in HTML, IBM .INF, GNU info and postScript formats)
  180. man        preformatted manual pages
  181.         (in HTML, plain text and postScript formats)
  182.  
  183. bin/dos        MS-DOS executable programs (16-bit, but see below)
  184. bin/win32    Windows 95/98 and NT executable programs (32-bit)
  185. bin/os2-32    OS/2 2.x executable programs (32-bit)
  186. bin/os2-16    OS/2 1.x executable programs (16-bit)
  187.  
  188. It is assumed that you are familiar with the concept and usage of
  189. RCS. If that is not the case, please read (or print and read) the
  190. original RCS documentation and manual pages available in the "doc"
  191. and "man" subdirectories. This file only documents platform and/or 
  192. release specific information.
  193.  
  194.  
  195. 2. Installation
  196. ---------------
  197.  
  198. First, just pick the right set of executable programs and put them in
  199. a directory, which should be listed in the PATH environment
  200. variable. For the OS/2 32-bit executables, since they use a few DLL's
  201. (dynamic link libraries), this directory should also be listed in the
  202. LIBPATH statement in CONFIG.SYS.
  203.  
  204. Second, you need to set/check a few environment variables:
  205.  
  206. a) Either the USER or LOGNAME variable must contain the user's
  207.    (i.e. your) last name, unless you have network software installed
  208.    and want to use the name with which the user is logged on to the
  209.    network (see below). In this latter case, you need not set one of
  210.    these variables, if RCS is able to detect the logged on user name.
  211.  
  212. b) The TZ environment variable should contain your proper time zone
  213.    definition. 
  214.  
  215.    The TZ variable usually contains the time zone name, the time zone
  216.    offset in hours to GMT and optionally the daylight savings time
  217.    zone name. Examples are:
  218.  
  219.     SET TZ=PST8PDT        (pacific standard time)
  220.     SET TZ=CET-1        (central european time)
  221.  
  222.    On OS/2, see the emx runtime documentation for a description
  223.    of the full TZ value syntax.
  224.  
  225. c) The RCSINIT variable can contain options for RCS you want to use all
  226.    the time. The default value is suitable for work under DOS and on FAT
  227.    file systems under OS/2, i.e. all RCS files go into a subdirectory
  228.    RCS of the working directory and have no special suffix.
  229.  
  230.    If you work under OS/2 on a HPFS file system (or any other file
  231.    system that can handle long names), you may want to follow the Unix
  232.    convention of using RCS files in the working directory that may
  233.    also have a suffix of ",v". For this case, use "SET RCSINIT=-x,v/".
  234.  
  235.    Windows 95 and NT also support long file names and the ,v suffix,
  236.    but the ,v suffix not on FAT file systems, only on network drives
  237.    (that reside on OS/2 HPFS or NT NTFS servers or on Unix NFS
  238.    servers).
  239.  
  240.    See the RCS manual pages for details about all other available
  241.    options.
  242.  
  243. d) Make sure you have a properly set the TMP and TEMP
  244.    environment variables that point to a directory where
  245.    temporary files should be stored.
  246.  
  247. e) (this is optional, for OS/2 32-bit executables only)
  248.  
  249.    The RCSLOAD environment variable can be set to a decimal number
  250.    specifying the amount of minutes to keep the RCS (and diff)
  251.    executables preloaded in memory. This requires that you have the
  252.    emx runtime package installed (emxload.exe is required). This
  253.    method may speed up the use of RCS from within GNU Emacs or with
  254.    CVS if many files are checked in/out in a batch because that can
  255.    result in a large number of executed subprocesses with RCS
  256.    programs.
  257.  
  258. f) The RCS_LF_ONLY environment variable may be used in mixed
  259.    platform environments concurrently accessing RCS working files.
  260.    See below for details.
  261.  
  262. After these steps, you should be able to use the RCS commands.
  263.  
  264.  
  265. 3. About RCS
  266. ------------
  267.  
  268. RCS is a widely used revision control system available for most Unix
  269. systems and several other platforms (such as in this package, for OS/2
  270. and MS-DOS/Windows, Windows 95 and Windows NT). It allows shared use
  271. of RCS files in heterogenous networks, for example. A few notes on PC
  272. specific details, however:
  273.  
  274. * Note 1: Network Software
  275.  
  276. The RCS programs recognize certain PC networking software and query it
  277. for the name of the logged on user. The result can be overridden by
  278. the value of the USER or LOGNAME environment variables. The LOGNAME
  279. variable has precedence over the USER variable.
  280.  
  281. Under OS/2, the RCS programs recognize the following networking
  282. products:
  283.  
  284. - IBM LAN Server and LAN Requester
  285. - IBM Peer LAN (Warp Connect and Warp 4)
  286. - Microsoft LAN Manager
  287. - Novell NetWare Client
  288.  
  289. In addition, the installation of the IBM TCP/IP for OS/2 product
  290. usually sets the USER environment variable in CONFIG.SYS.
  291.  
  292. Under MS-DOS, the following networking products are recognized:
  293.  
  294. - IBM DOS LAN Requester or DOS LAN Services
  295. - IBM PC Network
  296. - Microsoft LAN Manager Client
  297. - Novell NetWare Client
  298.  
  299. Also the locally logged on user name is recognized if networking
  300. components are used in:
  301.  
  302. - Microsoft Windows for Workgroups
  303. - Microsoft Windows 95/98
  304. - Microsoft Windows NT
  305.  
  306. Any product compatible to those mentioned should work as well.
  307.  
  308. Note that network support in RCS means only that the RCS commands can
  309. retrieve the current user name from the networking software, nothing
  310. more. In particular, RCS relies on correct support for file locking
  311. and "strange" file modes (such as creating a read-only file and
  312. writing to it before closing it for the first time) on network drives.
  313. RCS only uses regular OS file system services on network drives.
  314.  
  315. * Note 2: binary files
  316.  
  317. This version of RCS for the PC does now support revision control of
  318. binary files. The main goal, however, is to allow control of source
  319. files in heterogenous environments. In such environments, the systems
  320. can have different conventions for line separation in source code
  321. files. To allow shared use of RCS files between systems with different
  322. line separators, a conversion must take place when checking in/out
  323. files. 
  324.  
  325. This, naturally, would break many binary files. Therefore a special
  326. option, -kb, must be used for binary files with this RCS version to
  327. mark them as binary files. Before you can check in a binary file you
  328. must initialize an empty RCS file with "rcs -i -kb <rcsfile>". Do not
  329. use -kb for plain text files because it makes those RCS files
  330. non-portable to other operating environments.
  331.  
  332. The way how RCS currently stores "differences" between the revisions
  333. of a binary file is quite inefficient (but more or less portable).
  334. Future version of RCS may support better methods.
  335.  
  336. * Note 3: using working files from different platforms
  337.  
  338. In case you are working in a heterogeneous environment where multiple
  339. users access RCS working files concurrently, you may encounter
  340. problems with different line separation conventions, as mentioned
  341. above in Note 2. Particularly, Unix systems use a LF character for
  342. line separations while PC operating systems (except Linux etc.)
  343. usually use a CR/LF sequence.
  344.  
  345. If you access RCS working files from PCs as well as from Unix systems,
  346. you will usually have no problems if the files were checked out by
  347. Unix users. While the working files will have LF characters only
  348. separating lines, PC tools and editors generally can work fine with
  349. such text files. And when checking back in such files, both platforms
  350. will handle this type of files correctly.
  351.  
  352. However, if you check out working files on PC systems, only PC users
  353. can normally access/edit these files while the extra CR line
  354. separation character will probably confuse Unix users, tools and
  355. editors.
  356.  
  357. In this case, set the environment variable RCS_LF_ONLY to any value
  358. (the exact value is not relevant, the RCS tools only check for the
  359. presence of this variable). This causes the RCS tools on the PC to
  360. check out the working files with Unix line separation conventions,
  361. with LF characters only separating the lines. You have to be sure, of
  362. course, that all the tools you use on PC systems to access/edit these
  363. working files can use files with that line separation convention
  364. (which is generally the case). And Unix users can access/edit these
  365. files as if they were checked out by a Unix system.
  366.  
  367. If, in such a setup, some PC editor does read such a text file with LF
  368. only line separators but writes it back to the file system with CR/LF
  369. line separators, you need to make sure you check it in from a PC
  370. afterwards. The PC version of "ci" will accept files with CR/LF line
  371. separators just fine even if RCS_LF_ONLY is used. But a Unix version
  372. of "ci" will probably not do that correctly and may even screw up the
  373. RCS file.
  374.  
  375.  
  376. * Note 4: RCS file path names
  377.  
  378. Whenever a path name passed to a RCS program has /RCS/ in it, it is
  379. treated as a RCS (rather than a working) file. However, that /RCS/
  380. component must be specified in upper case even on the PC operating
  381. systems where path names normally are not case sensitive.
  382.  
  383. So, d:/work/RCS/foo.c and e:/proj/RCS/subproj/bar.c are recognized as
  384. RCS files while e:/proj/free/rcs/src/ci.c is recognized as a working
  385. file.
  386.  
  387. In addition, all PC operating systems treat / in path names exactly
  388. like \ as a path name separator even though \ is much more widely
  389. known and used as such. However, under Unix / is the only path name
  390. separator and thus RCS uses it in both the programs and the 
  391. documentation. Please don't be confused by this fact and keep in mind
  392. that it simply doesn't matter which one is used on the PC, at least
  393. as far as RCS is concerned.
  394.  
  395. * Note 5: pseudo symbolic links
  396.  
  397. RCS usually uses the ./RCS directory for separating the RCS files from
  398. the working files. There are tools like CVS to separate them 
  399. further (allowing to put them in entirely different locations). 
  400. For users of plain RCS, under Unix it is a widely used practice to 
  401. make ./RCS a symbolic link to a different location in the
  402. directory tree in order to separate working and RCS files.
  403.  
  404. There is now a new feature in RCS for the PC that mimics Unix-style
  405. symbolic links for the PC operating systems because they don't support
  406. symbolic links natively in most cases (you can have symbolic links if
  407. you use TVFS under OS/2 and you can use links under Windows NT
  408. on NTFS volumes).
  409.  
  410. How does it work? When, instead of the ./RCS subdirectory, a regular
  411. file ./RCS exists, a single line of text is read from it and treated as
  412. the actual path name of the RCS directory. This can be either an
  413. absolute path name or a path name relative to the current directory. 
  414.  
  415. So if you are currently working in the directory E:\Work and have a
  416. file RCS there that contains the line N:\Project\Repository, then a
  417. command like "ci foobar.c" will check in foobar.c into the RCS file
  418. N:\Project\Repository\foobar.c,v as if ./RCS were a Unix-style
  419. symbolic link to that location. (Note: the ,v suffix is only available
  420. when long file names and the , character in file names are supported
  421. and the RCSINIT environment variable is set accordingly.)
  422.  
  423. However, you must either use the ,v suffix for the RCS file names
  424. (set RCSINIT accordingly) or specify a path name in the ./RCS file
  425. that contains a /RCS/ component (/RCS/ must be in upper case), 
  426. otherwise the RCS programs will abort because they can't determine 
  427. where to store the RCS file (see above Note 4).
  428.  
  429. * Note 6: rcsfreeze
  430.  
  431. RCS contains one utility program (rcsfreeze) not written in the C
  432. language but as a bourne shell script. Even with a bourne shell for
  433. the PC it is not advisable to use it on the PC. Instead, I have
  434. rewritten the exact same semantics as a REXX procedure which can be
  435. used under OS/2 (1.x or 2.x).
  436.  
  437. This REXX procedure is, of course, useless on MS-DOS for two reasons.
  438. First, unless you have IBM PC-DOS 7 (or newer) or a free REXX
  439. interpreter for DOS, you cannot even get it to run. Second, it depends
  440. on long filenames. 
  441.  
  442. If you have a REXX interpreter for Windows 95 or Windows NT, you may get
  443. it to run with some changes, but that has not been attempted so far.
  444. If you have IBM's ObjectRexx for Windows, that should work fine.
  445.  
  446. Rewriting the program in C would solve that problem but would also cause
  447. extra work ...
  448.  
  449.  
  450. 4. About GNU diff
  451. -----------------
  452.  
  453. The RCS programs depend on the availability of the diff command under
  454. Unix, to compare two files (or two different revisions of a file in
  455. the context of RCS). Since that is not a standard command on PC
  456. operating systems, a version of it, the Free Software Foundation's GNU
  457. diff program, is included in this package. Please use only this diff
  458. program with RCS if possible.
  459.  
  460. Since the reliability of RCS depends on that of the diff program very
  461. heavily, a few more words on this topic:
  462.  
  463. This package supports PC's running OS/2 2.x (a 32-bit operating
  464. system), OS/2 1.x (a 16-bit operating system) and MS-DOS (a 16-bit
  465. operating system which, due to lack of any protection, allows
  466. implementing so-called DOS-extenders to run 32-bit programs on top of
  467. it). Windows 95/98 and NT are also supported.
  468.  
  469. The GNU diff program (current version is 2.7.1), which works very well
  470. with RCS, makes assumptions about the programming model and addressing
  471. scheme in the operating system that only hold true for (at least)
  472. 32-bit environments (it uses rather large data structures, for
  473. example). It can be compiled for OS/2 2.x and Windows 95/NT without
  474. much effort. However, that is not the case for the 16-bit target
  475. systems. Because of this fact, long time ago I put a LOT of effort
  476. into porting the then current version (1.15) to let it run under OS/2
  477. 1.x and under MS-DOS, and testing it thoroughly. As you can see from
  478. the version numbers, it has undergone quite some development since
  479. then and porting the current version again to OS/2 1.x and MS-DOS
  480. would be a lot of work again.
  481.  
  482. Because the functionality of diff that is used by RCS has not changed
  483. since 1.15 and since it does not make sense to spend a lot of time for
  484. the 16-bit target operating systems any longer, I decided to include
  485. *two* versions of GNU diff in this package. The old version, 1.15, is
  486. included for use under OS/2 1.x and MS-DOS in the "diff16" subdirectory
  487. and the current version (2.7.1) is included for use under OS/2 2.x and
  488. Win32 (and MS-DOS on 386 or better CPU's, see below) in the
  489. "diff" subdirectory.
  490.  
  491. Since MS-DOS can be used to also run 32-bit programs with some kind of
  492. DOS extender, this current version of GNU diff can also be used under
  493. MS-DOS, if a 386 or higher CPU is available. This is very important
  494. because MS-DOS limits normal DOS programs to use only up to 640k of
  495. memory less the amount used for MS-DOS itself. And since some RCS
  496. programs call diff as a subprogram, even less memory is available for
  497. diff. So, naturally, the diff program when running under DOS can fail
  498. with "out of memory"-type errors if you try to use RCS commands on
  499. larger files. If that occurs, you should switch to the 32-bit version
  500. of diff, diff-32.exe and rename that to diff.exe.
  501.  
  502. The RCS commands merge and rcsmerge depend on the availability of
  503. another related command, the diff3 program. This program is a
  504. three-way file comparison/merge program that in turn uses the diff
  505. program as a subprogram. A version of it is included with the GNU diff
  506. program in the same package. 
  507.  
  508. The user interface of the diff3 program was changed noticable between
  509. versions 1.15 and 2.1 and the RCS programs merge and rcsmerge require
  510. at least the diff3 program included with GNU diff 2.1. For this reason
  511. and since it is a much smaller program than diff itself, the GNU diff
  512. 2.6's diff3 program has been "ported back" to GNU diff 1.15 and is
  513. also used in the 16-bit target environments.
  514.  
  515. To make a long story short, while the executables for the RCS programs
  516. for all target environments are made from the same source code, 
  517. two different versions of GNU diff (1.15 and 2.7.1) are used to
  518. create the diff program's executables for the target platforms, 1.15 for
  519. 16-bit OS/2 1.x and MS-DOS and 2.7.1 for 32-bit OS/2 2.x, Win32
  520. and MS-DOS on 386 and up PC's.
  521.  
  522.  
  523. 5. The emx toolkit and the emx and rsx DOS extenders
  524. ----------------------------------------------------
  525.  
  526. The emx 0.9d kit was used to create the 32-bit OS/2 2.x executables.
  527. This toolkit uses the GNU gcc compiler and is freely available to
  528. everyone. At least the 0.9b version is absolutely required or you can
  529. experience loss of data with the generated programs, if you want to
  530. recompile yourself.
  531.  
  532. The emx kit also includes a DOS extender (emx.exe) that allows to run
  533. 32-bit emx-compiled programs under plain DOS and in VCPI environment
  534. (certain DOS "memory managers" provide this environment). To run them in
  535. a DPMI environment (such as in DOS windows under Microsoft Windows 3.x,
  536. OS/2 2.x, Windows 95 or NT), a different DOS extender is available,
  537. called rsx (rsx.exe). The emx-compiled 32-bit DOS programs automatically
  538. select the right extender to run on at runtime. 
  539.  
  540. So should you want to use 32-bit DOS emx-compiled RCS executables, you
  541. should make yourself familiar with those two extenders. The 32-bit DOS
  542. executables are not included in this package since the 16-bit ones
  543. should fit well in almost all DOS situations. If you want the 32-bit
  544. ones, you will have to recompile yourself. When using emx to compile RCS
  545. for DOS, no network support is available for technical reasons, however.
  546. But then, you don't gain much from them, since the RCS programs (as
  547. opposed to GNU diff) do not reach the MS-DOS 640k limit.
  548.  
  549. You should be able to find the full packages of emx and rsx at the same
  550. places where you got this RCS package. Note that you may already have
  551. either emx.exe or rsx.exe or even both on your MS-DOS system because
  552. they are popular and you may be using some other software that depends
  553. on them. In such a case make sure you have only one copy (the newest
  554. one) on your system available via the PATH environment variable.
  555.  
  556. I mentioned that the emx toolkit was used to create the OS/2 2.x
  557. 32-bit executables. To save disk space, the RCS (and GNU diff/diff3) 
  558. programs are linked with the shared runtime library of emx, 
  559. so you have only copy of it on disk and not one in each separate
  560. executable. This emx runtime consists of emx.dll and emxlibcs.dll. If
  561. you followed the installation instructions above, you should not
  562. notice any difference to "normal" statically linked programs. Since
  563. many free programs for OS/2 2.x are compiled with this
  564. compiler/toolkit, chances are big that you already have a copy of
  565. these DLL's on your system. Make sure you keep only one of them (the
  566. newest one) in a directory listed in the LIBPATH statement in your
  567. CONFIG.SYS.
  568.  
  569. In addition, because the RCS programs use a common set of utility
  570. functions, these have been put into another shared library,
  571. rcslib.dll. This further reduces disk space requirements
  572. considerably. 
  573.  
  574.  
  575. 6. Other compilers
  576. ------------------
  577.  
  578. The 16-bit DOS and OS/2 executables are compiled with Microsoft C 6.00A,
  579. an environment that is no longer maintained by Microsoft but works well
  580. enough to keep it. Newer Microsoft compilers may work for DOS but are
  581. untested. The Visual C++ 4.0 (Microsoft C/C++ 10.0) can be used for
  582. Win32 executables, it supports even the shared rcslib.dll method like
  583. emx does for OS/2 and RSX/Win32. However, I haven't tested that
  584. recently and have no idea if newer Microsoft compilers work for RCS.
  585.  
  586. The Watcom C/C++ 11.0 compiler can be used for all target environments.
  587. However, the code it generates is less compact than that created by the
  588. other compilers so no included executable sets were generated with it,
  589. with one exception. The diff-32.exe in tbe bindos subdirectory was
  590. created with the 32-bit DOS (DOS4G/W) target of the Watcom compiler, but
  591. a different (free) DOS extender was used instead of the huge DOS4GW.EXE
  592. extender that Watcom includes with their compiler. Instead of that,
  593. PMODE/W 1.33 has been used. 
  594.  
  595.  
  596. 7. Documentation
  597. ----------------
  598.  
  599. The manual pages for the RCS and GNU diff programs and additional
  600. documents are available in the "doc" and "man" subdirectories in
  601. various formats. There are plain ASCII files for reading with any file
  602. browser or editor and PostScript (TM) files for printing on a
  603. PostScript printer or viewing/printing with GhostScript or GSView.
  604. They were all created with the OS/2 version of the GNU groff text
  605. formatter from the "source" documents also included in this package
  606. (in the "rcs\man" subdirectory). Several documents have also been
  607. converted to and provided in GNU info, IBM .INF and HTML format.
  608.  
  609. If you are not yet familiar with RCS and/or GNU diff, please read
  610. these documentation files very carefully. I repeat, read them and read
  611. them entirely and carefully before starting to use these tools. OK?
  612.  
  613.  
  614. 8. Problems
  615. -----------
  616.  
  617. Please read this file carefully. If you have problems using RCS, please
  618. first check it again to see if you forgot something and also check the
  619. RCS documentation in the "doc" and "man" subdirectories.
  620.  
  621. If that doesn't help, send a short and descriptive e-mail
  622. message. Don't laugh, you don't know how often I get e-mail with
  623. contents like "the foobar program you ported to OS/2 does not work,
  624. what should I do?" without any more details. Remember that I can't
  625. read your mind, especially not over such long distances. :-)
  626.  
  627.  
  628. 9. Author / Address
  629. -------------------
  630.  
  631. Walter F. Tichy wrote the original version of RCS.
  632. Paul Eggert wrote the changes for RCS version 5.x, and maintains it.
  633.  
  634. This port of RCS 5.7 to MS-DOS and OS/2 is based on an earlier
  635. release (RCS 5.6.3) made by Paul Eggert, Frank Whaley and Kai Uwe
  636. Rommel.
  637.  
  638. The PC related changes for 5.7, for the DOS, Win32 and OS/2 32-bit
  639. targets, the networking support and the ports of GNU diff 1.15 and
  640. 2.7.1 were made by Kai Uwe Rommel.
  641.  
  642.  
  643. /* Kai Uwe Rommel                   ARS Computer & Consulting GmbH *
  644.  * rommel@ars.de (http://www.ars.de)             Muenchen, Germany *
  645.  * rommel@leo.org (http://www.leo.org/pub/comp/os/os2 maintenance) */
  646.