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 >
Wrap
LaTeX Document
|
1990-05-25
|
15KB
|
339 lines
\begindata{text,1080728}
\textdsversion{12}
\define{italic
menu:[Font,Italic]
attr:[FontFace Italic Int Set]}
\define{bold
menu:[Font,Bold]
attr:[FontFace Bold Int Set]}
\define{chapter
menu:[Title,Chapter]
attr:[Justification LeftJustified Point 0]
attr:[FontFace Bold Int Set]
attr:[FontSize PreviousFontSize Point 4]}
\define{section
menu:[Title,Section]
attr:[Justification LeftJustified Point 0]
attr:[FontFace Bold Int Set]
attr:[FontSize PreviousFontSize Point 2]}
\define{subsection
menu:[Title,Subsection]
attr:[Justification LeftJustified Point 0]
attr:[FontFace Bold Int Set]}
\define{paragraph
menu:[Title,Paragraph]
attr:[Justification LeftJustified Point 0]
attr:[FontFace Italic Int Set]}
\define{bigger
menu:[Font,Bigger]
attr:[FontSize PreviousFontSize Point 2]}
\define{indent
menu:[Region,Indent]
attr:[LeftMargin LeftMargin Inch 32768]
attr:[RightMargin RightMargin Inch 32768]}
\define{typewriter
menu:[Font,Typewriter]
attr:[FontFace FixedFace Int Set]
attr:[FontFamily AndyType Int 0]}
\define{display
menu:[Region,Display]
attr:[LeftMargin LeftMargin Inch 32768]
attr:[RightMargin RightMargin Inch 32768]
attr:[Justification LeftJustified Point 0]}
\define{example
menu:[Region,Example]
attr:[LeftMargin LeftMargin Inch 32768]
attr:[Justification LeftJustified Point 0]
attr:[FontFace FixedFace Int Set]
attr:[FontFamily AndyType Int 0]}
\define{description
menu:[Region,Description]
attr:[LeftMargin LeftMargin Cm 171084]
attr:[Indent LeftMargin Cm -106350]}
\define{quotation
menu:[Region,Quotation]
attr:[LeftMargin LeftMargin Inch 32768]
attr:[RightMargin RightMargin Inch 32768]
attr:[FontFace Italic Int Set]}
\define{subscript
menu:[Font,Subscript]
attr:[Script PreviousScriptMovement Point 2]
attr:[FontSize PreviousFontSize Point -2]}
\define{superscript
menu:[Font,Superscript]
attr:[Script PreviousScriptMovement Point -6]
attr:[FontSize PreviousFontSize Point -2]}
\define{smaller
menu:[Font,Smaller]
attr:[FontSize PreviousFontSize Point -2]}
\define{heading
menu:[Title,Heading]
attr:[LeftMargin LeftMargin Inch -13107]
attr:[Justification LeftJustified Point 0]
attr:[FontFace Bold Int Set]}
\define{majorheading
menu:[Title,MajorHeading]
attr:[Justification Centered Point 0]
attr:[FontSize PreviousFontSize Point 4]}
\define{formatnote
menu:[Region,FormatNote]
attr:[Flags PassThru Int Set]}
\define{subheading
menu:[Title,Subheading]
attr:[Justification LeftJustified Point 0]
attr:[FontFace Bold Int Set]}
\define{center
menu:[Justify,Center]
attr:[Justification Centered Point 0]}
\define{flushleft
menu:[Justify,FlushLeft]
attr:[Justification LeftJustified Point 0]}
\define{flushright
menu:[Justify,FlushRight]
attr:[Justification RightJustified Point 0]}
\define{leftindent
menu:[Region,LeftIndent]
attr:[LeftMargin LeftMargin Inch 32768]}
\define{code
menu:[Region,Code]
attr:[FontFace FixedFace Int Set]
attr:[FontFamily AndyType Int 0]}
\formatnote{.ds Cl Installation
.so nihclmac.tr}
\section{INTRODUCTION}
\begindata{lookz, 1097376}
hidden
\enddata{lookz, 1097376}
\view{lookzview,1097376,0,0,0}
This is the Installation Guide for the NIH Class Library (previously known as
the "OOPS" Class Library) Revision 3.0.
The NIH Class Library is intended to be portable to a UNIX system compatible
with either System V or 4.2/4.3BSD and which supports the AT&T C++ translator
Release 2.00, Release 2.1, or other compatible C++ compiler. We have ported
and tested this library on the following systems:
\indent{
Sun-3 with SunOS 3.5
Sun-3 with SunOS 4.0
Sun-4 with SunOS 4.0
Send comments to:
\indent{Keith Gorlen
Building 12A, Room 2033
Computer Systems Laboratory
Division of Computer Research and Technology
National Institutes of Health
Bethesda, MD 20892
phone: (301) 496-1111
Internet\indent{: kgorlen@alw.nih.gov}
uucp: uunet!nih-csl!kgorlen
\section{GUIDE TO THIS DISTRIBUTION KIT}
The NIH Class Library distribution kit consists of a main directory and the
following subdirectories:
\indent{\code{errfac }Error Message Facility source files
\code{lib }Source files for the basic library classes
\code{test }Test suite for the basic library classes
\code{vector }Source files for the Vector classes
\code{vectest }Test suite for the Vector classes
\code{ex }Example programs for the book
The main directory is refered to as \code{NIHCL} in the following discussion,
but may be placed anywhere.
Most subdirectories have files named \code{MAKEFILE} and \code{Makefile}. The
\code{MAKEFILE} is used by the installation procedure, and should work with
both the System V and BSD version of the \code{make} utility. The fancier
\code{Makefile} is used for development, and may not work under BSD.
\section{SUMMARY OF STEPS IN INSTALLING THE NIH CLASS LIBRARY}
\description{1. Update C++ system library and include files
2. Edit \code{NIHCL/Makefile}
3. Edit \code{NIHCL/lib/nihclconfig.h}
4. Build and install error message facility*
5. Build NIHCL basic classes, Vector classes, and test suite
6. Test basic classes and Vector classes
7. Build NIHCL basic classes, Vector classes, and test suite with multiple
inheritance support
8. Test basic classes and Vector classes with multiple inheritance support
9. Install class libraries*
10. Build example programs
11. Test example programs
* root permission may be required
\section{INSTALLING THE NIH CLASS LIBRARY
}\subheading{
}\subsection{1. Update C++ system library and include files}
No updates to R2.00 of the AT&T C++ Translator are required. However, if you
are using R2.1, be sure to make the changes documented in the section
\italic{COMPILING UNDER AT&T C++ TRANSLATOR RELEASE 2.1} in the \italic{NIH
Class Library Release Notes}.
\subsection{2. Edit NIHCL/Makefile}
Edit \code{NIHCL/Makefile} to change make variables as needed for your
environment. Here are the settings shipped with the distribution kit:
\example{\smaller{# C++ compiler
CC = CC
# C++ debug switch
CCDEBUG =
#CCDEBUG = -g
# C++ flags
# NOTE: Disable +p option when compiling with AT&T R2.1
#CCFLAGS = +p
#CCFLAGS =
# C++ include files
I = /usr/include/CC
# If using BSD
SYS = BSD
# If using System V
#SYS = SYSV
# Compile with nested types
# (works with AT&T R2.1 and GNU C++)
NESTED_TYPES =
#NESTED_TYPES = -DNESTED_TYPES
# Disable AT&T R2.0/R2.1 bug work-around code
BUGDEFS =
#BUGDEFS = -DBUG_bC2728 -DBUG_38 -DBUG_39 -DBUG_OPTYPECONST
# Defining BUG_TOOBIG disables code that
# prevents C compiler "yacc stack overflows" error
#BUGDEFS = -DBUG_bC2728 -DBUG_38 -DBUG_39 -DBUG_OPTYPECONST -DBUG_TOOBIG
# Enable debug code
DEBUGDEFS =
#DEBUGDEFS = -DDEBUG_OBJIO -DDEBUG_PROCESS
# Flags for ln
#LNFLAGS =
LNFLAGS = -s
# If using "patch"
MAIN = _main.c_p
# If using "munch"
#MAIN = _main.c_m
# Target library for installation of Error Facility
LIB_ID = libC
# Target Directories for Installation
# directory for libnihcl.a
NIHCLLIBDIR = /usr/local/lib
# directory for NIHCL include files
NIHCLINCDIR = /usr/include/nihcl
# directory where $\{LIB_ID\}.a resides
CLIBDIR = /usr/local/lib/C++R2.0
# directory for errgen utility
ERRGENDIR = /usr/local/bin
# directory for errgen table file
ERRTABDIR = /usr/local/lib
# directory for errlib.h and errors.h
ERRINCDIR = $I}
\subsection{3. Edit NIHCL/lib files}
\paragraph{3.1 Edit \code{nihclconfig.h}}
The NIH Class Library source is configured for your system by setting flags in
\code{NIHCL/lib/nihclconfig.h} which specify the machine model and operating
system (UNIX variant).
To configure the NIH Class Library for one of the not yet implemented options,
at least all of the parameters appearing in \code{nihclconfig.h} will have to
be defined for that option.
The NIH Class Library should configure itself automatically for the following
machines:
\indent{sun/mc68000
sun/sparc
Classes \code{Process}, \code{HeapProc}, \code{StackProc}, \code{Scheduler},
\code{Semaphore}, and \code{SharedQueue} have some machine-specific
dependencies and will not work unless the \code{SETJMP()/LONGJMP()} functions
are properly defined. See the \italic{NIH Class Library Release Notes} for
directions on porting the \code{Process} classes.
\paragraph{3.2 Edit \code{Object.h}}
The file \code{Object.h} defines three v