home *** CD-ROM | disk | FTP | other *** search
/ BURKS 2 / BURKS_AUG97.ISO / BURKS / SOFTWARE / LIBS / NIHCL1.ZIP / NIHCL-3.0 / INSTALL (.txt) < prev    next >
Text File  |  1990-05-25  |  15KB  |  529 lines

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