home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 2 / FFMCD02.bin / new / dev / misc / cweb / readme.pc < prev    next >
Text File  |  1993-12-21  |  8KB  |  169 lines

  1.                                 -*-Text-*-
  2. This file, README, is part of CWEB-p. The current version of CWEB-p is p8c.
  3.  
  4. The CWEB programs by Silvio Levy and Donald E. Knuth are based on programs by
  5. Knuth. The PC port (i.e., Turbo-C++ change files and executables) is made by
  6. Hans-Hermann Bode.
  7.  
  8. The programs are distributed WITHOUT ANY WARRANTY, express or implied.
  9.  
  10. This README file last updated 24 Jun 1993 by Hans-Hermann Bode.
  11.  
  12. Copyright (C) 1987,1990,1993 Silvio Levy and Donald E. Knuth
  13. Copyright (C) 1991,1992,1993 Hans-Hermann Bode
  14.  
  15. Permission is granted to make and distribute verbatim copies of this
  16. document provided that the copyright notice and this permission notice
  17. are preserved on all copies.
  18.  
  19. Permission is granted to copy and distribute modified versions of this
  20. document under the conditions for verbatim copying, provided that the
  21. entire resulting derived work is distributed under the terms of a
  22. permission notice identical to this one.
  23.  
  24. Please send comments, suggestions, etc. to one of the following addresses:
  25.   -- levy@geom.umn.edu (if related to the original CWEB system),
  26.   -- hhbode@dosuni1.rz.uni-osnabrueck.de or HHBODE@DOSUNI1.BITNET (if
  27. related to the PC port).
  28.  
  29.  
  30. INTRODUCTION
  31.  
  32. The CWEB-p system is an adaptation of Silvio Levy's and Donald E. Knuth's
  33. CWEB system that supports installation with the Turbo-C++ compiler and
  34. provides PC-/MS-DOS executables.
  35.  
  36.  
  37. CONTENTS OF THE DISTRIBUTION
  38.  
  39. The sources directory contains the following files from the original CWEB
  40. distribution:
  41.  
  42. ./sources/readme    README file from the original distribution
  43. ./sources/makefile    Makefile from the original distribution
  44. ./sources/common.h    header file to be included in ctangle.w and cweave.w
  45. ./sources/common.w    common code for ctangle and cweave
  46. ./sources/ctangle.w    the tangle processor
  47. ./sources/cweave.w    the weave processor
  48. ./sources/prod.w    production rules to be included in cweave.w
  49. ./sources/cwebmac.tex    macros for formatting
  50. ./sources/cwebman.tex    the user manual
  51. ./sources/cweb.1    manual page (nroff format)
  52. ./sources/cweb.el    elisp file for GNU Emacs
  53. ./sources/common.c    CTANGLEd product of common.w
  54. ./sources/ctangle.c    CTANGLEd product of ctangle.w
  55.  
  56. The examples directory contains examples of CWEB programming. They are from
  57. the original distribution, too. For use on PC systems, they probably have to
  58. be edited (for wmerge.w, that is used in the make process, a change file is
  59. provided).
  60.  
  61. ./examples/readme    README file from the original examples directory
  62. ./examples/makefile    generic Makefile for CWEB applications
  63. ./examples/wc.w        UNIX word-count utility
  64. ./examples/treeprin.w    tree-structured directory lister by Norman Ramsey
  65. ./examples/wmerge.w    WEB-like file merger by Silvio Levy
  66. ./examples/extex.w    spellchecking filter for TeX and CWEB by Don Knuth
  67. ./examples/wordtest.w    spellchecker by Don Knuth
  68. ./examples/xlib_typ.w    include file for XView programs
  69. ./examples/xview_ty.w    ditto
  70. ./examples/oemacs.w    example XView application by Don Knuth
  71. ./examples/kspell.el    Emacs interface to extex/wordtest
  72. ./examples/oemacs.el    Emacs interface to oemacs
  73.  
  74. The change files that set up the CWEB-p adaptation are in the changes
  75. directory.
  76.  
  77. ./changes/common-h.ch    for common.h
  78. ./changes/common.ch    for common.w
  79. ./changes/ctangle.ch    for ctangle.w
  80. ./changes/cweave.ch    for cweave.w
  81. ./changes/prod.ch    for prod.w
  82. ./changes/cwebmac.ch    for cwebmac.tex
  83. ./changes/wmerge.ch    for wmerge.w from the examples directory
  84.  
  85. Note that several sets of change files (*-man.ch, *-vms.ch, *-pc.ch,
  86. *-amiga.ch) that come with the original CWEB system are not supported by and
  87. not provided with CWEB-p.
  88.  
  89. Finally, in this (root) directory the following files do reside. The files
  90. common.c, ctangle.c, and cwebmac.tex include the changes from the changes
  91. directory .
  92.  
  93. ./version        note about the current version of CWEB-p
  94. ./readme        this file
  95. ./makefile        Makefile for Turbo C++
  96. ./cweb.man        manual page (ASCII format)
  97. ./common.c        product of sources/common.w and changes/common.ch
  98. ./ctangle.c        product of sources/ctangle.w and changes/ctangle.ch
  99. ./wmerge.c        product of examples/wmerge.w and changes/wmerge.ch
  100. ./cwebmac.tex        product of sources/cwebmac.tex and changes/cwebmac.ch
  101. ./ctangle.exe        executable tangle processor for PC-/MS-DOS systems
  102. ./cweave.exe        executable weave processor for PC-/MS-DOS systems
  103. ./wmerge.exe        executable WEB-like file merger for PC-/MS-DOS systems
  104.  
  105.  
  106. GETTING STARTED
  107.  
  108. Before starting, you should run cwebman.tex (needs cwebmac.tex!) through TeX
  109. and print out the manual; the first step can be done by calling `make man'
  110. from the Makefile.
  111.  
  112. Then, all you have to do to get a working CWEB system on PC-/MS-DOS is to
  113. copy ctangle.exe and cweave.exe to your binaries directory and cwebmac.tex
  114. (from the root directory) to your TeX-inputs directory; that's it, you are
  115. ready to use CWEB!
  116.  
  117.  
  118. NOTES
  119.  
  120. 1. When you want to recompile the tangle and weave processors, for
  121. bootstrapping you find a pretangled common.c, ctangle.c, and wmerge.c for
  122. the Turbo-C++ compiler in the root directory of this distribution. From
  123. these you can build working tangle and wmerge processors for CWEB, which in
  124. turn are the basis for recompiling the whole system. For other PC-/MS-DOS
  125. compilers, you must use the ctangle.exe and wmerge.exe from this
  126. distribution (a ctangle from previous versions may or may not work); in this
  127. case, delete common.c, ctangle.c, and wmerge.c from the root directory,
  128. since they may not include the right changes.
  129.  
  130. Then, edit the Makefile corresponding to your environment and call make.
  131. Note that the Makefile from the sources directory is lacking some
  132. dependencies and will not work for this distribution. So, better use the
  133. Makefile from the root directory as a template.
  134.  
  135. The Makefile from the root directory is intended for Turbo Make, Version 3.6
  136. (earlier versions probably will not work!). If you are using the real-mode
  137. version of Turbo Make 3.6, you should say `make -S all' to prevent from
  138. running out of memory. The Makefile is prepared to use change files from a
  139. `fixes' directory and from a `private' directory in addition to the
  140. `changes' directory. If you use this feature, you must have Klaus
  141. Guntermann's tie processor for concatenating multiple change files (take a
  142. look at ftp.th-darmstadt.de); then you can call `make -S -D_fix all' to
  143. include the files from the changes and fixes directory or `make -S -D_priv
  144. all' to include the files from all three directories.
  145.  
  146. 2. If you like to or have to make changes to the CWEB-p system, it is
  147. recommended that you don't edit the files in the sources or changes
  148. directories, but set up a complete new group of change files in a directory
  149. called `fixes' or `private' and include it in the make process
  150. appropriately. This will save much effort when you get a new version of
  151. CWEB-p.
  152.  
  153. Incidentally, if you try the recompilation on a PC-/MS-DOS system with
  154. another compiler than Turbo C++, you may have no luck with the Turbo-C++
  155. changes. In this case, it's best to create a new set of change files similar
  156. to the `changes' group and use the supplied executables to generate new .c
  157. files rather than to edit the .c files themselves. You can set up such new
  158. changes in a `fixes' or `private' directory by making use of the provided
  159. changes and just calling make as described above.
  160.  
  161. 3. If you want a full documentation of the tangle and weave programs, say
  162. `make doc' (you may include the same options as described in Note 1). This
  163. should produce the files common.dvi, ctangle.dvi, cweave.dvi, and---with the
  164. Turbo Makefile---cwebman.dvi.
  165.  
  166. 4. To delete all intermediate files created in the make processes say `make
  167. clean', to delete even the DVI files with the Turbo Makefile say `make
  168. veryclean'.
  169.