


Version 2.00          PROPRIETARY LIBRARY SOURCE PACKAGE            MS-DOS 2.x


                      HOW TO REBUILD THE CAROUSEL TOOLS


The  files  in  this  product  are  CONFIDENTIAL  and  proprietary to Carousel
MicroTools, Inc.  They may be released only to  selected  Carousel  associates
and  customers.  Consult your license agreement for the conditions under which
you are allowed to possess or use this software. 

The files described here are (C) Copyright 1984 Carousel MicroTools,  Inc.  --
All Rights Reserved.  They may be used only in accordance with a duly executed
license from Carousel MicroTools, Inc. 


                                   ABSTRACT

This  package supplies the source code necessary to rebuild the files provided
only  in  binary  format  in  the  Carousel  Builder  ToolBook.   (Note:   the
Build-a-ToolKit  consists  of  the  Use-a-ToolKit  plus the Builder ToolBook.)
This document tells how to rebuild those binary files. 


                                PREREQUISITES

You must have the Carousel Build-a-ToolKit and its manual. 

You must have the following MS-DOS programs from other vendors: 

   FOR1.EXE, FOR2.EXE   IBM Fortran compiler version 1.00
   FORTRAN.LIB          IBM Fortran runtime library version 1.00 (optional)
   MASM.EXE             IBM macroassembler (or compatible)
   LINK.EXE             IBM linker (or compatible)
   LIB.EXE              Microsoft librarian (or compatible)

Beware that variations  of  some  of  these  programs  produce  object  files,
libraries,  or executable programs with irrelevant differences.  For instance,
some compilers and assemblers don't put a correct checksum in the  .OBJ  files
they  produce,  and  some  linkers use undefined fields in the headers of .EXE
files. 

Before reading these  instructions,  examine  the  manuals  and  documentation
accompanying  your  Build-a-ToolKit  (which  is the Use-a-ToolKit plus Builder
ToolBook.)  Install the Tools and gain some experience in using them, then  in
recompiling  them  using  the files in the Builder ToolTook.  Study especially
the file HOWTO. 


               HOW TO REBUILD THE FILES OF THE BUILD-A-TOOLKIT

MCALL.ASM

   This source file was omitted from some shipments of  the  Builder  ToolBook
   and  Build-a-ToolKit.   It is invoked by some assembler modules by means of
   the INCLUDE pseudo-op. 




                                      1







CMT1.OBJ

   Assemble as usual from CMT1.ASM.  It  invokes  certain  source  files  from
   INCLUDES.ASM. 

CMT2.OBJ, CMT3.OBJ

   Compile  as  usual  from the Ratfor source files CMT2.RAT and CMT3.RAT.  Be
   sure to add the usual header file MSHEAD to the beginning of  each  Fortran
   module. 

PORT.LIB

   The entire source for this library (except for MCALL.ASM above) is included
   in the Builder ToolBook, so it is not duplicated in this package. 

PRIM.LIB

   The following files form the complete source code: 

      PUBPRIM.AR      Ratfor (included in the Builder ToolBook)
      CMTPRIM.ASM     Assembler
      INCLUDES.ASM    Assembler files used via INCLUDE pseudo-op
      CMTPRIM.RAT     Ratfor
      INCLUDES.RAT    Ratfor files used via Ratfor INCLUDE statement

   These  must  be  separately  assembled  or  compiled  and  combined to form
   PRIM.LIB by MS-LIB or a compatible librarian program. 

STUB.LIB

   This is formed by modifying FORTRAN.LIB, the runtime library of IBM Fortran
   version 1.00, as follows: 

      1) Extract ERRESTUB.RAT,  INIUSTUB.FOR,  and  FORSTB3.FOR  from  STUB.AR
         using the AR Tool. 

      2) Compile  ERRESTUB.RAT  as  usual with IBM Fortran 1.00.  Don't forget
         MSHEAD. 

      3) Compile INIUSTUB.FOR and FORSTB3.FOR with IBM Fortran  1.00.   MSHEAD
         is unnecessary. 

      4) Using  MS-LIB (or compatible librarian), remove modules ERRE, CONUXM,
         MISO, MISY, FILV, and FILUXM from FORTRAN.LIB. 

      5) Add  modules   ERRESTUB.OBJ,   INIUSTUB.OBJ,   and   FORSTB3.OBJ   to
         FORTRAN.LIB. 

      6) Name the result STUB.LIB. 

   The effect of using STUB.LIB in place of FORTRAN.LIB is to

      1) prevent certain symbols (such as GETCH and PUTCH) from being reported
         as doubly-defined at link time;



                                      2







      2) report   Fortran   runtime  errors  via  the  Tools'  standard  error
         mechanism;

      3) prevent  certain  large   modules   from   FORTRAN.LIB   from   being
         force-linked into the Tools. 





















































                                      3


