home *** CD-ROM | disk | FTP | other *** search
/ BURKS 2 / BURKS_AUG97.ISO / BURKS / SOFTWARE / LIBS / NIHCL1.ZIP / NIHCL-3.0 / DOC / INSTALL.NIH (.txt) next >
LaTeX Document  |  1990-05-25  |  15KB  |  339 lines

  1. \begindata{text,1080728}
  2. \textdsversion{12}
  3. \define{italic
  4. menu:[Font,Italic]
  5. attr:[FontFace Italic Int Set]}
  6. \define{bold
  7. menu:[Font,Bold]
  8. attr:[FontFace Bold Int Set]}
  9. \define{chapter
  10. menu:[Title,Chapter]
  11. attr:[Justification LeftJustified Point 0]
  12. attr:[FontFace Bold Int Set]
  13. attr:[FontSize PreviousFontSize Point 4]}
  14. \define{section
  15. menu:[Title,Section]
  16. attr:[Justification LeftJustified Point 0]
  17. attr:[FontFace Bold Int Set]
  18. attr:[FontSize PreviousFontSize Point 2]}
  19. \define{subsection
  20. menu:[Title,Subsection]
  21. attr:[Justification LeftJustified Point 0]
  22. attr:[FontFace Bold Int Set]}
  23. \define{paragraph
  24. menu:[Title,Paragraph]
  25. attr:[Justification LeftJustified Point 0]
  26. attr:[FontFace Italic Int Set]}
  27. \define{bigger
  28. menu:[Font,Bigger]
  29. attr:[FontSize PreviousFontSize Point 2]}
  30. \define{indent
  31. menu:[Region,Indent]
  32. attr:[LeftMargin LeftMargin Inch 32768]
  33. attr:[RightMargin RightMargin Inch 32768]}
  34. \define{typewriter
  35. menu:[Font,Typewriter]
  36. attr:[FontFace FixedFace Int Set]
  37. attr:[FontFamily AndyType Int 0]}
  38. \define{display
  39. menu:[Region,Display]
  40. attr:[LeftMargin LeftMargin Inch 32768]
  41. attr:[RightMargin RightMargin Inch 32768]
  42. attr:[Justification LeftJustified Point 0]}
  43. \define{example
  44. menu:[Region,Example]
  45. attr:[LeftMargin LeftMargin Inch 32768]
  46. attr:[Justification LeftJustified Point 0]
  47. attr:[FontFace FixedFace Int Set]
  48. attr:[FontFamily AndyType Int 0]}
  49. \define{description
  50. menu:[Region,Description]
  51. attr:[LeftMargin LeftMargin Cm 171084]
  52. attr:[Indent LeftMargin Cm -106350]}
  53. \define{quotation
  54. menu:[Region,Quotation]
  55. attr:[LeftMargin LeftMargin Inch 32768]
  56. attr:[RightMargin RightMargin Inch 32768]
  57. attr:[FontFace Italic Int Set]}
  58. \define{subscript
  59. menu:[Font,Subscript]
  60. attr:[Script PreviousScriptMovement Point 2]
  61. attr:[FontSize PreviousFontSize Point -2]}
  62. \define{superscript
  63. menu:[Font,Superscript]
  64. attr:[Script PreviousScriptMovement Point -6]
  65. attr:[FontSize PreviousFontSize Point -2]}
  66. \define{smaller
  67. menu:[Font,Smaller]
  68. attr:[FontSize PreviousFontSize Point -2]}
  69. \define{heading
  70. menu:[Title,Heading]
  71. attr:[LeftMargin LeftMargin Inch -13107]
  72. attr:[Justification LeftJustified Point 0]
  73. attr:[FontFace Bold Int Set]}
  74. \define{majorheading
  75. menu:[Title,MajorHeading]
  76. attr:[Justification Centered Point 0]
  77. attr:[FontSize PreviousFontSize Point 4]}
  78. \define{formatnote
  79. menu:[Region,FormatNote]
  80. attr:[Flags PassThru Int Set]}
  81. \define{subheading
  82. menu:[Title,Subheading]
  83. attr:[Justification LeftJustified Point 0]
  84. attr:[FontFace Bold Int Set]}
  85. \define{center
  86. menu:[Justify,Center]
  87. attr:[Justification Centered Point 0]}
  88. \define{flushleft
  89. menu:[Justify,FlushLeft]
  90. attr:[Justification LeftJustified Point 0]}
  91. \define{flushright
  92. menu:[Justify,FlushRight]
  93. attr:[Justification RightJustified Point 0]}
  94. \define{leftindent
  95. menu:[Region,LeftIndent]
  96. attr:[LeftMargin LeftMargin Inch 32768]}
  97. \define{code
  98. menu:[Region,Code]
  99. attr:[FontFace FixedFace Int Set]
  100. attr:[FontFamily AndyType Int 0]}
  101. \formatnote{.ds Cl Installation
  102. .so nihclmac.tr}
  103. \section{INTRODUCTION}
  104. \begindata{lookz, 1097376}
  105. hidden
  106. \enddata{lookz, 1097376}
  107. \view{lookzview,1097376,0,0,0}
  108. This is the Installation Guide for the NIH Class Library (previously known as 
  109. the "OOPS" Class Library) Revision 3.0.
  110. The NIH Class Library is intended to be portable to a UNIX system compatible 
  111. with either System V or 4.2/4.3BSD and which supports the AT&T C++ translator 
  112. Release 2.00, Release 2.1, or other compatible C++ compiler.  We have ported 
  113. and tested this library on the following systems:
  114. \indent{
  115. Sun-3 with SunOS 3.5
  116. Sun-3 with SunOS 4.0
  117. Sun-4 with SunOS 4.0
  118. Send comments to:
  119. \indent{Keith Gorlen
  120. Building 12A, Room 2033
  121. Computer Systems Laboratory
  122. Division of Computer Research and Technology
  123. National Institutes of Health
  124. Bethesda, MD 20892
  125. phone: (301) 496-1111
  126. Internet\indent{: kgorlen@alw.nih.gov}
  127. uucp: uunet!nih-csl!kgorlen
  128. \section{GUIDE TO THIS DISTRIBUTION KIT}
  129. The NIH Class Library distribution kit consists of a main directory and the 
  130. following subdirectories:
  131. \indent{\code{errfac     }Error Message Facility source files
  132. \code{lib        }Source files for the basic library classes
  133. \code{test       }Test suite for the basic library classes
  134. \code{vector     }Source files for the Vector classes
  135. \code{vectest    }Test suite for the Vector classes
  136. \code{ex         }Example programs for the book
  137. The main directory is refered to as \code{NIHCL} in the following discussion, 
  138. but may be placed anywhere.
  139. Most subdirectories have files named \code{MAKEFILE} and \code{Makefile}.  The 
  140. \code{MAKEFILE} is used by the installation procedure, and should work with 
  141. both the System V and BSD version of the \code{make} utility.  The fancier 
  142. \code{Makefile} is used for development, and may not work under BSD.
  143. \section{SUMMARY OF STEPS IN INSTALLING THE NIH CLASS LIBRARY}
  144. \description{1.    Update C++ system library and include files
  145. 2.    Edit \code{NIHCL/Makefile}
  146. 3.    Edit \code{NIHCL/lib/nihclconfig.h}
  147. 4.    Build and install error message facility*
  148. 5.    Build NIHCL basic classes, Vector classes, and test suite
  149. 6.    Test basic classes and Vector classes
  150. 7.    Build NIHCL basic classes, Vector classes, and test suite with multiple 
  151. inheritance support
  152. 8.    Test basic classes and Vector classes with multiple inheritance support
  153. 9.    Install class libraries*
  154. 10.    Build example programs
  155. 11.    Test example programs
  156. * root permission may be required
  157. \section{INSTALLING THE NIH CLASS LIBRARY
  158. }\subheading{
  159. }\subsection{1. Update C++ system library and include files}
  160. No updates to R2.00 of the AT&T C++ Translator are required.  However, if you 
  161. are using R2.1, be sure to make the changes documented in the section 
  162. \italic{COMPILING UNDER AT&T C++ TRANSLATOR RELEASE 2.1} in the \italic{NIH 
  163. Class Library Release Notes}.
  164. \subsection{2. Edit NIHCL/Makefile}
  165. Edit \code{NIHCL/Makefile} to change make variables as needed for your 
  166. environment.  Here are the settings shipped with the distribution kit:
  167. \example{\smaller{# C++ compiler
  168. CC = CC
  169. # C++ debug switch
  170. CCDEBUG =
  171. #CCDEBUG = -g
  172. # C++ flags
  173. # NOTE: Disable +p option when compiling with AT&T R2.1 
  174. #CCFLAGS = +p
  175. #CCFLAGS =
  176. # C++ include files
  177. I = /usr/include/CC
  178. # If using BSD
  179. SYS = BSD
  180. # If using System V
  181. #SYS = SYSV
  182. # Compile with nested types
  183. # (works with AT&T R2.1 and GNU C++)
  184. NESTED_TYPES =
  185. #NESTED_TYPES = -DNESTED_TYPES
  186. # Disable AT&T R2.0/R2.1 bug work-around code
  187. BUGDEFS =
  188. #BUGDEFS = -DBUG_bC2728 -DBUG_38 -DBUG_39 -DBUG_OPTYPECONST
  189. # Defining BUG_TOOBIG disables code that 
  190. # prevents C compiler "yacc stack overflows" error
  191. #BUGDEFS = -DBUG_bC2728 -DBUG_38 -DBUG_39 -DBUG_OPTYPECONST -DBUG_TOOBIG
  192. # Enable debug code
  193. DEBUGDEFS =
  194. #DEBUGDEFS = -DDEBUG_OBJIO -DDEBUG_PROCESS
  195. # Flags for ln
  196. #LNFLAGS =
  197. LNFLAGS = -s
  198. # If using "patch"
  199. MAIN = _main.c_p
  200. # If using "munch"
  201. #MAIN = _main.c_m
  202. # Target library for installation of Error Facility
  203. LIB_ID = libC
  204. # Target Directories for Installation
  205. # directory for libnihcl.a
  206. NIHCLLIBDIR = /usr/local/lib
  207. # directory for NIHCL include files
  208. NIHCLINCDIR = /usr/include/nihcl
  209. # directory where $\{LIB_ID\}.a resides
  210. CLIBDIR = /usr/local/lib/C++R2.0
  211. # directory for errgen utility
  212. ERRGENDIR = /usr/local/bin
  213. # directory for errgen table file
  214. ERRTABDIR = /usr/local/lib
  215. # directory for errlib.h and errors.h
  216. ERRINCDIR = $I}
  217. \subsection{3. Edit NIHCL/lib files}
  218. \paragraph{3.1 Edit \code{nihclconfig.h}}
  219. The NIH Class Library source is configured for your system by setting flags in 
  220. \code{NIHCL/lib/nihclconfig.h} which specify the machine model and operating 
  221. system (UNIX variant).
  222. To configure the NIH Class Library for one of the not yet implemented options, 
  223. at least all of the parameters appearing in \code{nihclconfig.h} will have to 
  224. be defined for that option.
  225. The NIH Class Library should configure itself automatically for the following 
  226. machines:
  227. \indent{sun/mc68000
  228. sun/sparc
  229. Classes \code{Process}, \code{HeapProc}, \code{StackProc}, \code{Scheduler}, 
  230. \code{Semaphore}, and \code{SharedQueue} have some machine-specific 
  231. dependencies and will not work unless the \code{SETJMP()/LONGJMP()} functions 
  232. are properly defined.  See the \italic{NIH Class Library Release Notes} for 
  233. directions on porting the \code{Process} classes.
  234. \paragraph{3.2 Edit \code{Object.h}}
  235. The file \code{Object.h} defines three v