home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0020 - 0029 / ibm0020-0029 / ibm0028.tar / ibm0028 / CSCAP321.ZIP / INSTALL.TXT < prev    next >
Encoding:
Text File  |  1990-12-28  |  59.5 KB  |  1,494 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                              C-scape for DOS
  9.                                Version 3.2
  10.                               Release Notes   
  11.  
  12.         Copyright (c) 1990, Oakland Group, Inc.  All rights reserved.
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21. 1:  INTRODUCTION
  22.  
  23.     Thank you for purchasing the C-scape(tm) Interface Management System,
  24.     version 3.2.
  25.  
  26.     Please complete and return your registration card so we can send you the
  27.     library source.  The registration card also serves to allow us to send you
  28.     information of new versions and features.  We automatically notify
  29.     registered users of new versions and new products.
  30.  
  31.     New C-scape users and those current users who are upgrading from C-scape
  32.     version 2.0 should have received the following:
  33.  
  34.          3 5.25" 1.2 Megabyte High Density disks or 5 3.5" 720K disks (an
  35.          additional source disk is sent upon receipt of registration)
  36.  
  37.          2 manuals (the C-scape Manual and the C-scape Function Reference)
  38.  
  39.          The C-scape Quick Reference Card
  40.  
  41.     If you purchased C-scape with the Look & Feel (tm) Screen Designer, you
  42.     should also have received:
  43.  
  44.          1 disk containing Look & Feel
  45.  
  46.          1 manual (the Look & Feel User's Manual)
  47.  
  48.     C-scape users who are upgrading from a registered version 3.1 should have
  49.     received the following:
  50.  
  51.          3 5.25" 1.2 Megabyte High Density disks OR 5 3.5" 720K disks (an
  52.          additional source disk is sent upon receipt of registration)
  53.  
  54.          1 disk containing the source
  55.  
  56.          The C-scape Quick Reference Card
  57.  
  58.  
  59.  
  60. 2:  WHAT YOU SHOULD READ
  61.  
  62.     PLEASE READ THIS DOCUMENT AND THE READ.ME FILE BEFORE USING C-SCAPE.  THESE
  63.     DOCUMENTS CONTAIN INFORMATION ESSENTIAL TO USING C-SCAPE.
  64.  
  65.     This document is INSTALL.TXT.  It contains instructions for installing the
  66.     C-scape libraries and for compiling and linking your C-scape application
  67.     code.
  68.  
  69.     At a minimum you should read the following sections in this document:
  70.  
  71.              DISK CONTENTS
  72.              INSTALLATION
  73.              COMPILING AND LINKING
  74.  
  75.  
  76.     Please refer to your distribution media for the READ.ME file.  The READ.ME
  77.     file contains updates and errata to the C-scape Manual and Function
  78.     Reference; a description of the example programs; release notes;
  79.     supplementary library information; and miscellany.
  80.  
  81.     At a minimum you should read the following sections in the READ.ME file:
  82.  
  83.              MANUAL UPDATES
  84.              MANUAL ERRATA
  85.  
  86.  
  87.     We recommend that you read the following additional sections of the
  88.     READ.ME:
  89.  
  90.              NEW FUNCTIONS (SLEDS)
  91.              NEW FUNCTIONS (PCX FILE SUPPORT)
  92.              OAKLAND DEBUGGING AID
  93.              OAKLAND TECHNICAL SUPPORT
  94.  
  95.  
  96.     If you are upgrading from 3.1 to 3.2 then you should also consult these in
  97.     the READ.ME:
  98.  
  99.              WHAT'S BEEN FIXED
  100.              WHAT'S NEW
  101.              WHAT'S IMPROVED IN THIS RELEASE
  102.              UPGRADING YOUR CODE
  103.  
  104. 3:  DISK CONTENTS
  105.  
  106.     The distribution disks are high-density, 1.2 Megabyte, DOS formatted floppy
  107.     diskettes.  If your computer does not have a high-density disk drive, you
  108.     or your computer dealer can copy the files on the C-scape diskettes onto
  109.     several low-density disks using another computer.  If you are unable to do
  110.     this, contact us for assistance.
  111.  
  112.     All files on the C-scape distribution disks with the .EXE filename
  113.     extension are self-extracting archives.
  114.  
  115.     For 5.25" disks, the contents are as follows:
  116.  
  117.     Disk1    install.txt          This file
  118.              read.me              Manual supplement and release notes
  119.              graphics.txt         Information on C-scape and graphics
  120.              pcxspec.txt          Specification of ZSoft's .PCX file format
  121.              cshead.exe           C-scape header files
  122.              owlhead.exe          Oakland Windowing Library (OWL) header files
  123.              example.exe          C-scape examples and demos
  124.              install.bat          Installation Batch Program
  125.              funcs.exe            Source for field functions
  126.              z2lcscap.exe         Large model Zortech C++ C-scape library
  127.              z2lowl.exe           Large model Zortech C++ OWL library
  128.  
  129.     Disk2    t2lowl.exe           Large model Turbo C 2.0 OWL library
  130.              t2mowl.exe           Medium model Turbo C 2.0 OWL library
  131.              tplowl.exe           Large model Turbo C++ 1.0 OWL library
  132.              tpmowl.exe           Medium model Turbo C++ 1.0 OWL library
  133.              t2lcscap.exe         Large model Turbo C 2.0 C-scape library
  134.              t2mcscap.exe         Medium model Turbo C 2.0 C-scape library
  135.              tplcscap.exe         Large model Turbo C++ 1.0 C-scape library
  136.              tpmcscap.exe         Medium model Turbo C++ 1.0 C-scape library
  137.  
  138.     Disk3    m1lowl.exe           Large model Microsoft C 5.1 OWL library
  139.              m1mowl.exe           Medium model Microsoft C 5.1 OWL library
  140.              m6lowl.exe           Large model Microsoft C 6.0 OWL library
  141.              m6mowl.exe           Medium model Microsoft C 6.0 OWL library
  142.              m1lcscap.exe         Large model Microsoft C 5.1 C-scape library
  143.              m1mcscap.exe         Medium model Microsoft C 5.1 C-scape library
  144.              m6lcscap.exe         Large model Microsoft C 6.0 C-scape library
  145.              m6mcscap.exe         Medium model Microsoft C 6.0 C-scape library
  146.  
  147.     Source   cssrc.exe            C-scape source code
  148.              owlsrc.exe           OWL source code
  149.              sinstall.bat         Batch file for installing the source
  150.              compile.exe          Batch files for recompiling the libraries for
  151.                                   various compilers (See RECOMPILING THE
  152.                                   SOURCE, below.)
  153.  
  154.                                   NOTE: Unless you are upgrading from version
  155.                                   3.1,  the source is shipped separately upon
  156.                                   receipt of registration.
  157.  
  158.     For 3.5" disks, the contents are as follows:
  159.  
  160.     Disk1    install.txt          This file
  161.              read.me              Manual supplement and release notes
  162.              graphics.txt         Information on C-scape and graphics
  163.              pcxspec.txt          Specification of ZSoft's .PCX file format
  164.              cshead.exe           C-scape header files
  165.              owlhead.exe          Oakland Windowing Library (OWL) header files
  166.              example.exe          C-scape examples and demos
  167.              install.bat          Installation Batch Program
  168.              funcs.exe            Source for field functions
  169.  
  170.     Disk2    t2lcscap.exe         Large model Turbo C 2.0 C-scape library
  171.              t2lowl.exe           Large model Turbo C 2.0 OWL library
  172.              t2mcscap.exe         Medium model Turbo C 2.0 C-scape library
  173.              tplcscap.exe         Large model Turbo C++ 1.0 C-scape library
  174.              tplowl.exe           Large model Turbo C++ 1.0 OWL library
  175.  
  176.     Disk3    m1lcscap.exe         Large model Microsoft C 5.1 C-scape library
  177.              m1lowl.exe           Large model Microsoft C 5.1 OWL library
  178.              m1mcscap.exe         Medium model Microsoft C 5.1 C-scape library
  179.              m1mowl.exe           Medium model Microsoft C 5.1 OWL library
  180.              t2mowl.exe           Medium model Turbo C 2.0 OWL library
  181.  
  182.     Disk4    m6lcscap.exe         Large model Microsoft C 6.0 C-scape library
  183.              m6lowl.exe           Large model Microsoft C 6.0 OWL library
  184.              m6mcscap.exe         Medium model Microsoft C 6.0 C-scape library
  185.              m6mowl.exe           Medium model Microsoft C 6.0 OWL library
  186.  
  187.     Disk5    tpmcscap.exe         Medium model Turbo C++ 1.0 C-scape library
  188.              tpmowl.exe           Medium model Turbo C++ 1.0 OWL library
  189.              z2lcscap.exe         Large model Zortech C++ C-scape library
  190.              z2lowl.exe           Large model Zortech C++ OWL library
  191.  
  192.     Src1     cssrc.exe            C-scape source code
  193.              owlsrc.exe           OWL source code
  194.              sinstall.bat         Batch file for installing the source
  195.  
  196.     Src2     compile.exe          Batch files for recompiling the libraries for
  197.                                   various compilers (See RECOMPILING THE
  198.                                   SOURCE, below.)
  199.  
  200.                                   NOTE: Unless you are upgrading from version
  201.                                   3.1,  the source is shipped separately upon
  202.                                   receipt of registration.
  203.  
  204. 4:  INSTALLATION
  205.  
  206.     This section explains the various methods by which you can install C-scape
  207.     on your machine.
  208.  
  209. 4.1:  Quick And Dirty (First Time Installation)
  210.  
  211.     On Disk 1 is the file install.bat - the C-scape installation program.  You
  212.     can use it to install Microsoft C, Turbo C, Turbo C++, or Zortech C++
  213.     version of C-scape.  You can use it to install additional libraries as
  214.     well.  The scenario below assumes we wish to install C-scape on drive C:.
  215.     You can, of course, install it on any drive you want.
  216.  
  217.     1)  Change to the directory level on drive C: where you wish to install
  218.         C-scape.
  219.  
  220.     2)  Change to drive A: and insert Disk1.
  221.  
  222.     3)  To install the Microsoft C 5.1 version type:
  223.  
  224.             INSTALL C: M51
  225.  
  226.  
  227.         To install the Microsoft C 6.0 version type:
  228.  
  229.             INSTALL C: M6
  230.  
  231.  
  232.         To install the Turbo C 2.0 version type:
  233.  
  234.             INSTALL C: TC2
  235.  
  236.  
  237.         To install the Turbo C++ 1.0 version type:
  238.  
  239.             INSTALL C: TCPP
  240.  
  241.  
  242.         To install the Zortech C++ 2.14 version type:
  243.  
  244.             INSTALL C: ZCPP
  245.  
  246.  
  247.     4)  When prompted to install the libraries remove Disk 1 and insert Disk 2.
  248.  
  249.     If you are at the root of drive C: the above installation creates the
  250.     following:
  251.  
  252.          c:\cscape\lib                   library (.lib) files
  253.          c:\cscape\include               header (.h) files
  254.          c:\cscape\source                field function source (.c) files
  255.          c:\cscape\examples              C-scape example and Demo programs
  256.  
  257.  
  258.     NOTE:  The \cscape\source sub-directory contains the field functions source
  259.     modules.  On the Source disk (with the complete library source), there is a
  260.     separate installation program to install the source, sinstall.bat.  Change
  261.     to the \cscape\source directory.  Then, change to drive A: and run
  262.     sintall.bat.
  263.  
  264. 4.2:  Quick And Dirty (Upgrade)
  265.  
  266.     The quick and dirty installation of a C-scape upgrade is identical to the
  267.     above except that you must ensure that there are no old C-scape headers or
  268.     libs in the directories.
  269.  
  270.     Be sure to recompile ALL your application source with the new headers and
  271.     libraries.  Failure to do so will produce some very strange unresolved
  272.     external errors in the link.
  273.  
  274. 4.3:  Notes On Source Code
  275.  
  276.     The diskettes you have been shipped include source code for the field
  277.     functions only.  These are the functions documented in Appendix B of the
  278.     C-scape Function Reference.  These functions are those that many
  279.     programmers find it necessary to modify at one time or another.
  280.  
  281.     Unless you are upgrading from C-scape version 3.1, Oakland Group will send
  282.     the source for the rest of the functions in the libraries upon receipt of
  283.     your registration card.  Note that sending in your registration card ends
  284.     your trial period (of up to 30 days) and should not be done until you have
  285.     decided to keep the C-scape package.
  286.  
  287.     When you receive the complete source on the Source disk, there will be a
  288.     separate installation program to install the source, sinstall.bat.  First,
  289.     change to your \cscape\source directory.  Then, change to drive A: and run
  290.     sintall.bat.
  291.  
  292. 5:  COMPILING AND LINKING
  293.  
  294. 5.1:  General Information
  295.  
  296.     The first three letters of the C-scape library files indicate the compiler
  297.     and memory model of the library.  These are listed below:
  298.  
  299.       M1L    Microsoft C 5.1, large model
  300.  
  301.       M1M    Microsoft C 5.1, medium model
  302.  
  303.       M6L    Microsoft C 6.0, large model
  304.  
  305.       M6M    Microsoft C 6.0, medium model
  306.  
  307.       MWS    MetaWare High C Locally Optimizing Compiler 1.6
  308.  
  309.       MGS    MetaWare High C Globally Optimizing Compiler 2.3
  310.  
  311.       T2L    Turbo C 2.0, large model
  312.  
  313.       T2M    Turbo C 2.0, medium model
  314.  
  315.       TPL    Turbo C++, large model
  316.  
  317.       TPM    Turbo C++, medium model
  318.  
  319.       W8L    Watcom C 8.0 386, large model
  320.  
  321.       W8M    Watcom C 8.0, medium model
  322.  
  323.       W3S    Watcom C 386
  324.  
  325.       Z2L    Zortech C++ 2.14, large model
  326.  
  327.     Only large and medium memory models of the libraries have been provided.  A
  328.     small model library is not included because the base size of an executable
  329.     with C-scape code exceeds the amount of code allowable in the code segment
  330.     of a small model program.
  331.  
  332.     You must link with BOTH the OWL and C-scape libraries.  You must be sure to
  333.     use the appropriate memory models.
  334.  
  335.     All C-scape's header files must be placed where the compiler can find them.
  336.     We recommend that you create a \cscape\include sub-directory.  To tell the
  337.     compiler the location of the C-scape header files, use either the
  338.     environment variable INCLUDE or a compiler flag.  Consult your compiler
  339.     reference for more information.
  340.  
  341.     Please do not call us with questions about compilers.  Call the compiler
  342.     vendor.
  343.  
  344. 5.2:  Microsoft C
  345.  
  346. 5.2.1:  Microsoft C 5.0 and 5.1
  347.  
  348. 5.2.1.1:  Microsoft C 5.0 And 5.1 Command Lines
  349.  
  350.     The Microsoft C 5.1 (5.0 compatible)  versions of the C-scape 3.2 libraries
  351.     are identified by the prefix "m1l" (large model) and "m1m" (medium model).
  352.  
  353.     Medium model compile and link lines:
  354.  
  355.         cl /c /DM5 /AM /I\cscape\include myprog.c
  356.  
  357.         link /SE:500 myprog, myprog, , \cscape\lib\m1mowl \cscape\lib\m1mcscap;
  358.  
  359.  
  360.     Large model compile and link lines:
  361.  
  362.         cl /c /DM5 /AL /I\cscape\include myprog.c
  363.  
  364.         link /SE:500 myprog, myprog,  , \cscape\lib\m1lowl
  365.         \cscape\lib\m1lcscap;
  366.  
  367.  
  368.     You must define M5 with the /D flag.  This is because some of the Oakland
  369.     header files are compiler specific.  If you do not define this symbol
  370.     you'll get the Microsoft C message "error C2061: syntax error: identifier
  371.     'byte'".
  372.  
  373.     Note also that in your .c source file, you must include the STDIO.H or
  374.     STDLIB.H file before the CSCAPE.H file (so the compiler to use certain
  375.     implementation specific symbols).  If you do not do this, you will receive
  376.     a message telling you that SIZE_T is undefined.
  377.  
  378.     You may have to alter the use of /SE: to increase the number of link
  379.     segments.  The above specification of /SE:500 is only a suggestion.  It
  380.     should work with most compilations of application programs.  If you get the
  381.     Microsoft error message "error L1049: too many segments", then you need to
  382.     increase the number of segments specified with the /SE:.  Note that if the
  383.     /SE: switch is not included then the Microsoft Linker defaults to 128.
  384.  
  385.     Do not use the packed structures (/Zp) option when compiling.  We have
  386.     compiled C-scape library objects with the default Microsoft compiler
  387.     setting.  Use of the /Zp option to force any other alignment results in
  388.     incompatibility.  If you need to use packed structures (because you are
  389.     linking with another library that uses them,  for example), you must
  390.     recompile the entire C-scape and OWL libraries with the same structure
  391.     packing as your application.  See the section of this document called
  392.     RECOMPILING THE SOURCE CODE.
  393.  
  394. 5.2.2:  Microsoft Quick C
  395.  
  396. 5.2.2.1 Microsoft Quick C Command Lines
  397.  
  398.     Please refer to the previous section discussing the command lines for the
  399.     Microsoft C 5.0 and 5.1 Optimizing Compiler.  While the Quick C compiler
  400.     does not have all the options the 5.0 and 5.1 compilers offer, the
  401.     Microsoft 5.1 command lines work for Quick C.
  402.  
  403. 5.2.2.2:  Microsoft Quick C Integrated Environment
  404.  
  405. 5.2.2.3:  Microsoft Quick C 2.0 Integrated Environment
  406.  
  407.     The example below assumes that C-scape 3.2 has been installed in accordance
  408.     with Section 4.1, above.  That is, the C-scape and OWL header files reside
  409.     in C:\CSCAPE\INCLUDE; the C-scape and OWL libraries in C:\CSCAPE\LIB.
  410.  
  411.     To simplify the description of menu selections from within the integrated
  412.     environment, hyphenated phrases are used; for instance, File-New indicates
  413.     a main menu choice of File and then submenu choice of New.  Strings in
  414.     double quotes denote the labels of data entry fields in a dialogue box; for
  415.     instance, "File Name" is a field in the dialogue that pops up when you
  416.     select File-Open from the menu.
  417.  
  418.     1)  Select Options-Environment to establish the environment options for
  419.         this session.
  420.  
  421.         *   Indicate the path for the C-scape and OWL header files.  For
  422.             example, assuming the Microsoft Quick C 2.0 compiler files are in
  423.             C:\QC :
  424.  
  425.                 Include Files Search Path: [.;c:\qc\include;c:\cscape\include;]
  426.  
  427.  
  428.         *   Indicate the path for the C-scape and OWL libraries.  For example:
  429.  
  430.                 Library Files Search Path: [c:\qc\lib;c:\cscape\lib;]
  431.  
  432.  
  433.     2)  Select Options-Make
  434.  
  435.         *   "Compiler Flags".  Set the memory model for the compilation.  Only
  436.             medium and large model C-scape libraries are available.
  437.  
  438.         *   "Defines".  Define "M5".
  439.  
  440.     3)  Select Make-Set Program List to establish a makefile for building a
  441.         project.  For example, to create the C-scape application MYPROG.EXE
  442.         from MYPROG.C:
  443.  
  444.         *   Name the program list (makefile) in the "File Name" field.  For
  445.             example:
  446.  
  447.                 File Name: [myprog.mak]
  448.  
  449.  
  450.             If this is a new program list, you should see a message pop up to
  451.             this effect.  The  Edit Program List dialogue box appear when you
  452.             acknowledge that you wish to create MYPROG.MAK.
  453.  
  454.         *   In the Edit Program List dialogue box, specify the entries in the
  455.             program list.  You may select from the given file list or use the
  456.             "File Name" field to enter items in the program list.  For example:
  457.  
  458.                 File Name: [myprog.c]
  459.  
  460.  
  461.             Enter both the C-scape and OWL libraries in the program list.
  462.             Remember that the memory model of the library to which you are
  463.             linking must correspond with the memory model you choose for the
  464.             compilation of your C-scape application.  For example, if we
  465.             compiled myprog.c in the large memory model:
  466.  
  467.                 File Name: [c:\cscape\lib\m1lcscap.lib]
  468.  
  469.  
  470.             And again, for the OWL library:
  471.  
  472.                 File Name: [c:\cscape\lib\m1lowl.lib]
  473.  
  474.  
  475.             Your program list should now look like this:
  476.  
  477.                 myprog.c
  478.                 m1lcscap.lib
  479.                 m1lowl.lib
  480.  
  481.  
  482.         *   Save the program list.
  483.  
  484.     4)  Select File-Exit and reply "Yes" when your are asked if you wish to
  485.         save the changes to your program make file.
  486.  
  487.     5)  Re-enter Quick C and edit your program make file.  To the macro
  488.         definition of "LFLAGS_D" append "/SE:" (follow the ":" with the number
  489.         of segments you want the linker to use).  Save your make file.  (Note:
  490.         if we had edited and saved the make file before exiting in step 4,
  491.         Quick C's update would override the "/SE:" change.)
  492.  
  493.     6)  You may now build your program by selecting Make-Build.  Note that you
  494.         may not have enough memory available while running the integrated
  495.         environment to execute your program.  Exit it to run your program.
  496.  
  497.     Consult the Quick C Programmer's Guide for more information about using the
  498.     integrated environment.
  499.  
  500. 5.2.2.4:  Microsoft Quick C 1.0 Integrated Environment
  501.  
  502.     The example below assumes that C-scape 3.2 has been installed in accordance
  503.     with Section 4.1, above.  That is, the C-scape and OWL header files reside
  504.     in C:\CSCAPE\INCLUDE; the C-scape and OWL libraries in C:\CSCAPE\LIB.
  505.  
  506.     To simplify the description of menu selections from within the integrated
  507.     environment, hyphenated phrases are used; for instance, File-New indicates
  508.     a main menu choice of File and then submenu choice of New.  Strings in
  509.     double quotes denote the labels of data entry fields in a dialogue box; for
  510.     instance, "File Name" is a field in the dialogue that pops up when you
  511.     select File-Open from the menu.
  512.  
  513.     1)  Select Options-Environment to establish the environment options for
  514.         this session.
  515.  
  516.         *   Indicate the path for the C-scape and OWL header files.  For
  517.             example, assuming the Microsoft Quick C 1.0 compiler files are in
  518.             C:\QC :
  519.  
  520.                 Include Files Search Path: [.;c:\qc\include;c:\cscape\include;]
  521.  
  522.  
  523.         *   Indicate the path for the C-scape and OWL libraries.  For example:
  524.  
  525.                 Library Files Search Path: [c:\qc\lib;c:\cscape\lib;]
  526.  
  527.  
  528.     2)  Select File-Set Program List to establish a makefile for building a
  529.         project.  For example, to create the C-scape application MYPROG.EXE
  530.         from MYPROG.C:
  531.  
  532.         *   Name the program list (makefile) in the "File Name" field.  For
  533.             example:
  534.  
  535.                 File Name: [myprog.mak]
  536.  
  537.  
  538.             If this is a new program list, you should see a message pop up to
  539.             this effect.  The  Edit Program List dialogue box will appear when
  540.             you acknowledge that you wish to create MYPROG.MAK.
  541.  
  542.         *   In the Edit Program List dialogue box, specify the entries in the
  543.             program list.  You may select from the given file list, or use the
  544.             "File Name" field to enter items in the program list.  For example:
  545.  
  546.                 File Name: [myprog.c]
  547.  
  548.  
  549.             Enter both the medium model of the C-scape and the medium model of
  550.             the OWL libraries in the program list (Quick C 1.0 only supports
  551.             the medium model.)  For example:
  552.  
  553.                 File Name: [c:\cscape\lib\m1mcscap.lib]
  554.  
  555.  
  556.             And again, for the OWL library:
  557.  
  558.                 File Name: [c:\cscape\lib\m1mowl.lib]
  559.  
  560.  
  561.             Your program list should now look like this:
  562.  
  563.                 myprog.c
  564.                 m1mcscap.lib
  565.                 m1mowl.lib
  566.  
  567.  
  568.         *   Save the program list.
  569.  
  570.     3)  Select File-Open to edit the makefile generated from the program list.
  571.  
  572.         *   You'll note that at the end of the make file there is a reference
  573.             to "$(LDFLAGS)" on the link line.   Define this at the top of the
  574.             make file so that the "/SE:" switch is used.  This switch sets the
  575.             number of segments that the linker can use (the default is 128,
  576.             which is too low for C-scape library usage) and the ceiling is
  577.             3072.  400 or 500 should be sufficient for most programs, so define
  578.             "LDFLAGS" - e.g., "LDFLAGS=/SE:500".
  579.  
  580.         *   Save the changes you've made to your makefile.
  581.  
  582.         *   Exit Quick-C.  You must do this so that you can pull in the updated
  583.             makefile for use.  Had you simply re-opened your program source and
  584.             tried to compile it would not know about the "LDFLAGS" definition
  585.             yet.
  586.  
  587.     4)  Re-start Quick-C and open your program source file.
  588.  
  589.     5)  Select Run-Compile.
  590.  
  591.         *   In the "Include:" field, enter the directory path of your header
  592.             files.  For example:
  593.  
  594.             Include:  [., c:\cscape\include, ]
  595.  
  596.  
  597.         *   In the "Define:" field, enter "M5".
  598.  
  599.         *   Select the compilation action: "Build Program", "Compile", or
  600.             "Rebuild All".  If you select "Cancel" the "Include:"
  601.             and "Define:" field contents are not going to be added to your make
  602.             and you'll have to re-edit these fields should you exit and come
  603.             back later.
  604.  
  605.     6)  Select File-Exit.  Reply "Yes" when your are asked if you wish to save
  606.         the changes to your program makefile.
  607.  
  608.     Consult the Quick C Programmer's Guide for more information about using the
  609.     integrated environment.
  610.  
  611. 5.2.3:  Microsoft C 6.0
  612.  
  613. 5.2.3.1:  Microsoft C 6.0 command line
  614.  
  615.     The Microsoft C 6.0 versions of the C-scape 3.2 libraries are identified by
  616.     the prefix "m6l" (large model) and "m6m" (medium model).
  617.  
  618.     Medium model compile and link lines:
  619.  
  620.         cl -c -AM /I\cscape\include myprog.c
  621.  
  622.         link /SE:500 myprog, myprog, , \cscape\lib\m6mcscap \cscape\lib\m6mowl;
  623.  
  624.  
  625.     Large model compile and link lines:
  626.  
  627.         cl -c -AL /I\cscape\include myprog.c
  628.  
  629.         link /SE:500 myprog, myprog,  , \cscape\lib\m6lcscap
  630.         \cscape\lib\m6lowl;
  631.  
  632.  
  633.     Your C-scape application source file must have the STDIO.H or STDLIB.H file
  634.     included before the CSCAPE.H file so the compiler knows to use certain
  635.     implementation specific symbols.  If this is not done you will receive a
  636.     message telling you that SIZE_T is undefined.
  637.  
  638.     You may have to alter the use of /SE: to increase the number of link
  639.     segments.  The above specification of /SE:500 is only a suggestion.  It
  640.     should work with most compilations of application programs.  If you get the
  641.     Microsoft error message "error L1049: too many segments" then you need to
  642.     increase the number of segments specified with the /SE:.  Note that if the
  643.     /SE: switch is not included then the Microsoft Linker defaults to 128.
  644.  
  645.     Do not use the -Oe compile option.  We have found that this optimization
  646.     will generate internal compiler errors in Microsoft C 6.0.
  647.  
  648.     Do not the packed structures (/Zp) option when compiling.  We have compiled
  649.     C-scape library objects with the default Microsoft compiler setting.  Use
  650.     of the /Zp option to force any other alignment will result in
  651.     incompatibility.  If you need to use packed structures (because you are
  652.     linking with another library that uses them, for example), you must
  653.     recompile the entire C-scape and OWL libraries with the same structure
  654.     packing as your application. See the section of the READ.ME file
  655.     RECOMPILING THE SOURCE CODE.
  656.  
  657. 5.2.3.2:  Microsoft C 6.0 Programmer's WorkBench (PWB)
  658.  
  659.     The example below assumes that C-scape 3.2 has been installed in accordance
  660.     with Section 4.1, above.  That is, the C-scape and OWL header files reside
  661.     in C:\CSCAPE\INCLUDE; the C-scape and OWL libraries in C:\CSCAPE\LIB.
  662.  
  663.     To simplify the description of menu selections from within the WorkBench,
  664.     hyphenated phrases are used; for instance, File-New indicates a main menu
  665.     choice of File and then submenu choice of New.  Strings in double quotes
  666.     denote the labels of data entry fields in a PWB dialogue box; for instance,
  667.     "Defines" is a field in the C Compiler Options dialogue that pops up when
  668.     you select Options-C Compiler Options from the menu.
  669.  
  670.         Note that these settings are in effect only for the duration of the
  671.         current session of the WorkBench.  You may wish to establish a simple
  672.         batch file that sets the DOS environment variables INLCUDE and LIB.
  673.         These variables correspond to the "Include Files Search Path" and
  674.         "Library Files Search Path" fields in PWB.  If run such a batch file
  675.         prior to invoking the WorkBench, then you will not have to alter
  676.         Options-Environment for each session.  Alternately, you can edit the
  677.         Microsoft PWB TOOLS.INI initialization file.  See the PWB documentation
  678.         for further detail.
  679.  
  680.     1)  Select Options-C Compiler Options to set the compiler options.
  681.  
  682.         *   "Memory Model".  Only medium and large model compilations are
  683.             supported by the C-scape 3.2 libraries.
  684.  
  685.         *   "Calling Conventions".  C-scape 3.2 uses the C calling convention.
  686.  
  687.         *   "Defines".  You may define the symbol M6 here, if you wish.  When
  688.             working with the Microsoft C 5.1 compiler and C-scape, it was
  689.             necessary to define M5 so that the compiler-dependent information
  690.             in our headers was appropriately included.  It is not necessary to
  691.             define M6, because the new MS C 6.0 compiler (unlike 5.1) defines a
  692.             symbol itself to indicate the MS compiler is in use.
  693.  
  694.         *   "Additional Options".  There many options available under the
  695.             Microsoft 6.0 compiler.  Consult the MS C 6.0 documentation for
  696.             details.
  697.  
  698.             We do recommend avoiding the use of the "Global Register
  699.             Allocation" optimization setting.  We have found it to generate
  700.             internal compiler errors under the present release of MS C 6.0.
  701.             The corresponding command line option flag is /Oe.
  702.  
  703.             When we compiled the library modules we used the following settings
  704.             (flags):
  705.  
  706.                 Optimize for Time (/Ot)
  707.                 Loop Code Optimization (/Ol)
  708.                 Global Code Optimization (/Og)
  709.                 Generate Intrinsic Functions (/Oi)
  710.                 Floating Point Emulation Calls (/FPc)
  711.                 Additional Options (/Zl)
  712.  
  713.  
  714.             These setting can be saved for use from PWB session to session when
  715.             working on a particular project.  They are saved when you create
  716.             and save Program List (see below).
  717.  
  718.     2)  Select Options-LINK Options to set the linker options.
  719.  
  720.         *   "Additional Options".   The default number of logical segments the
  721.             linker uses is determine by the /SE flag.  The default is 128 (too
  722.             low for C-scape library usage) and the ceiling is 3072.  400 or 500
  723.             should be sufficient for most programs.
  724.  
  725.                 Additional Options [ /SE:500 ]
  726.  
  727.     3)  Select Make-Set Program List to establish a makefile for building a
  728.         project.  For example, to create the C-scape application MYPROG.EXE
  729.         from MYPROG.C:
  730.  
  731.         *   Name the program list (makefile).  For example:
  732.  
  733.                 File Name: [myprog.mak]
  734.  
  735.  
  736.             If this is a new program list, you should see a message pop up to
  737.             this effect.  The  Edit Program List dialogue box will appear when
  738.             you acknowledge that you wish to create myprog.mak.
  739.  
  740.         *   In the Edit Program List dialogue box, specify the entries in the
  741.             program list.  You may select from the given file list, or use the
  742.             "File Name" field to enter items in the program list.  For example:
  743.  
  744.                 File Name: [myprog.c]
  745.  
  746.  
  747.             Enter both the C-scape and OWL libraries in the program list.
  748.             Remember that the memory model of the library to which you are
  749.             linking must correspond with the memory model chosen for the
  750.             compilation of your C-scape application.  For example, if we
  751.             compiled myprog.c in the large memory model:
  752.  
  753.                 File Name: [c:\cscape\lib\m6lcscap.lib]
  754.  
  755.  
  756.             And again, for the OWL library:
  757.  
  758.                 File Name: [c:\cscape\lib\m6lowl.lib]
  759.  
  760.  
  761.             Your program list should now look like this:
  762.  
  763.                 myprog.c
  764.                 m6lcscap.lib
  765.                 m61lowl.lib
  766.  
  767.  
  768.         *   Save the program list.  When you save the list, the current
  769.             compiler and linker options are also saved.
  770.  
  771.     4)  You may now build your program by selecting Make-Build.  Note that you
  772.         may not have enough memory available while running the WorkBench to
  773.         execute your program.  Exit the WorkBench to test run your program.
  774.  
  775.     If you have difficulty with the WorkBench, review its documentation.  Keep
  776.     in mind, the basic task is to indicate to the compiler where the header
  777.     files and your application source reside; and specify a memory model for
  778.     the compilation.  The name of the C-scape and OWL libraries and the path
  779.     the libraries must be indicated for the linker.
  780.  
  781. 5.2.4:  Microsoft C 6.0, 5.1 and 5.0 Common Compile And Link Errors
  782.  
  783.      C1027: DGROUP data allocation exceeds 64K
  784.  
  785.          Your program is running out of static data space.  Experiment with the
  786.          /Gt compile flag.  This tells the compiler not to place all static
  787.          data (such as menu_Printf format strings) within the same data
  788.          segment.  See the Microsoft User's Guide, p.247, for more information.
  789.  
  790.      C2061: syntax error: identifier "byte"
  791.  
  792.          With Microsoft C 5.0 and 5.1, you must define M5 with the /D flag.
  793.          This is because some of the Oakland header files are compiler
  794.          specific.
  795.  
  796.      C2061: syntax error: identifier "SIZE T"
  797.  
  798.          In your source code, place the #include <stdio.h> or #include
  799.          <stdlib.h> statement before the #include "cscape.h" statement.
  800.  
  801.      L1049: too many segments
  802.  
  803.          Use the /SE: option to increase the number of link segments (128 is
  804.          the Microsoft LINK default value).  Also check that you have all the
  805.          appropriate commas in use on the command line. Remember , the
  806.          Microsoft Linkers ignore the file name extensions such as .obj and
  807.          .lib and need the correct positioning on the command line to ensure a
  808.          clean link.
  809.  
  810.      L1101: invalid object module
  811.  
  812.          It can be caused by having an older version of the LINK command
  813.          somewhere on your DOS path.  The other possibility is that the library
  814.          or one of the code modules has been corrupted.
  815.  
  816.      L2003: intersegment self-relative fixup
  817.  
  818.          This can be caused by compiler and library memory model mismatch.
  819.          You've probably compiled under the medium model C library and are
  820.          linking to a the large model C-scape libraries (or vice versa).  Note
  821.          that there are no small model C-scape libraries.
  822.  
  823. 5.3:  Turbo C and C++
  824.  
  825. 5.3.1:  Turbo C++ 1.0
  826.  
  827. 5.3.1.1:  Turbo C++ 1.0 command line
  828.  
  829.     This section describes how to compile and link a C-scape application under
  830.     Turbo C++ 1.0, in C++ mode, from the command line.  It is assumed that you
  831.     are linking to the C++ versions of C-scape libraries.
  832.  
  833.     The Turbo C++ versions of the C-scape 3.2 libraries are identified by the
  834.     prefix "tpl" (large model) and "tpm" (medium model).
  835.  
  836.     Medium model compile and link lines:
  837.  
  838.         tcc -P -c -mm -I\cscape\include myprog
  839.  
  840.         tlink \tcpp\lib\c0m myprog, myprog, , \cscape\lib\tpmcscap
  841.         \cscape\lib\tpmowl \tcpp\lib\emu \tcpp\lib\mathm \tcpp\lib\cm
  842.  
  843.  
  844.     Large model compile and link lines:
  845.  
  846.         tcc -P -c -ml -I\cscape\include myprog
  847.  
  848.         tlink \tc\lib\c0l myprog, myprog, , \cscape\lib\tplcscap
  849.         \cscape\lib\tplowl \tc\lib\emu \tc\lib\mathl \tc\lib\cl
  850.  
  851.  
  852.     Do not use the word alignment (-a) option when compiling.  We have compiled
  853.     C-scape library objects with the default Turbo C setting.  Use of the -a
  854.     option to force any other alignment will result in incompatibility.  If you
  855.     need to use word alignment (because you are linking with another library
  856.     that uses them,  for example) you must recompile the entire C-scape and OWL
  857.     libraries with the same alignment as your application.
  858.  
  859.     Do not use the option that turn offs the treatment of enums as ints (-b-).
  860.     We have compiled the C-scape library objects with the default treatment of
  861.     enums as ints (-b).  As with the -a option above, if you wish to use the
  862.     -b- option, then you must recompile both the C-scape and OWL libraries.
  863.  
  864. 5.3.1.2:  Turbo C++ 1.0 Integrated Development Environment (IDE)
  865.  
  866.     This section describes how to compile and link a C-scape application under
  867.     Turbo C++ 1.0, in C++ mode, from within the IDE.  It is assumed that you
  868.     are linking to the C++ versions of C-scape libraries.
  869.  
  870.     The example below assumes that C-scape 3.2 has been installed in accordance
  871.     with Section 4.1, above.  That is, the C-scape and OWL header files reside
  872.     in C:\CSCAPE\INCLUDE; the C-scape and OWL libraries in C:\CSCAPE\LIB.
  873.  
  874.     To simplify the description of menu selections from within the IDE
  875.     hyphenated phrases are used; for instance, File-New indicates a main menu
  876.     choice of File and the submenu choice of New.  Strings in double quotes
  877.     denote the labels of data entry fields in a IDE dialogue box; for instance,
  878.     "Defines" is a field in the Code Generation dialogue that pops up when you
  879.     select Options-Compiler-Code Generation... From the menu.
  880.  
  881.     The IDE may be customized in many ways for a particular project.  In the
  882.     steps below, we describe only the bare-bones settings to set for compiling
  883.     and linking a C-scape application.  See the Turbo C++ User's Guide for more
  884.     information on the IDE.
  885.  
  886.     1)  Options-Full Menu On.
  887.  
  888.         *   Turn this setting "On" to show the IDE's menus in full detail.
  889.  
  890.     2)  Options-Compiler-Code Generation...
  891.  
  892.         *   Do not select "Word Alignment".  This option MUST NOT be checked.
  893.             The C-scape and OWL libraries were compiled with the default
  894.             compiler setting, byte alignment.  If your application needs to use
  895.             word aligned structures, then you must recompile both the C-scape
  896.             and OWL libraries to achieve compatibility with C-scape 3.2 (see
  897.             the section below, Recompiling the source).
  898.  
  899.         *   "Model".  Only Medium and Large model compilations are supported by
  900.             the C-scape 3.2 libraries.
  901.  
  902.         *   "Calling Conventions".  C-scape 3.2 uses the C calling convention.
  903.  
  904.         *   "Generate Underbars".  You should check this option.
  905.  
  906.         *   "Treat enums as ints".  You should check this option; if you do
  907.             not, your C-scape application will compile and link without error
  908.             but will crash when you run it.
  909.  
  910.     3)  Options-Compiler-C++ options...
  911.  
  912.         *   "Use C++ always".  This setting allows you to compile your C-scape
  913.             standard C code in C++ mode, so you can properly link to the C++
  914.             version of the C-scape libraries.
  915.  
  916.     4)  Options-Compiler-Messages.
  917.  
  918.         *   We recommend setting the IDE to display its full range of warning
  919.             and error messages.
  920.  
  921.     5)  Options-Linker.
  922.  
  923.         *   Use the "Case-sensitive link" option.
  924.  
  925.     6)  Options-Directories.
  926.  
  927.         *   "Include Directories".  This field tells the IDE where to find the
  928.             header files.  For example:
  929.  
  930.                 .;c:\tcpp\include\;c:\cscape\include\;
  931.  
  932.  
  933.             This assumes that you have installed Turbo C++ in a directory off
  934.             the root, called "tcpp"; and that C-scape was installed as in
  935.             section 4.1, above.
  936.  
  937.         *   "Library Directories".  This field tells the IDE where to find the
  938.             library to which it must link your application.  For example:
  939.  
  940.                 .;c:\tcpp\lib\;c:\cscape\lib\;
  941.  
  942.  
  943.             This assumes that you have installed Turbo C++ in a directory off
  944.             the root, called "tcpp"; and that C-scape was installed as in
  945.             section 4.1, above.
  946.  
  947.     7)  Select the File-Open... To load your application file into the editor.
  948.         We assume we are compiling and linking an new application MYPROG.EXE
  949.         from MYPROG.C.
  950.  
  951.     8)  Select Project-Open Project...
  952.  
  953.         *   Name the project file.  For example, in the "Load Project File"
  954.             field, enter:
  955.  
  956.                 myprog.prj
  957.  
  958.  
  959.             Choose the "OK" field.  If this is a new program list, you should
  960.             see an empty Project window appear at the bottom of the display
  961.  
  962.         *   Now enter the names of the application modules and the libraries to
  963.             which to link in the Project window.  Pressing the Insert key calls
  964.             up the Add Item to Project List dialogue box.  You may select from
  965.             the given file list, or use the "Name" field to enter items in the
  966.             program list.  For example, in the "Name" field, enter:
  967.  
  968.                 myprog.c
  969.  
  970.  
  971.             Enter both the C-scape and OWL libraries in the Project.  Remember
  972.             that the memory model of the library to which you are linking must
  973.             correspond with the memory model chosen for the compilation of your
  974.             C-scape application.  For example, if we compiled MYPROG.C in the
  975.             large memory model:
  976.  
  977.                 tplcscap.lib
  978.  
  979.  
  980.             And again, for the OWL library:
  981.  
  982.                 tplowl.lib
  983.  
  984.  
  985.             Your Project list should now look like this:
  986.  
  987.                 myprog.c
  988.                 tplcscap.lib
  989.                 tplowl.lib
  990.  
  991.  
  992.     9)  Select Options-Save...
  993.  
  994.         *   Check the "Project" option, at least.  You compiler, linker,
  995.             directory and project files list will be saved into the project
  996.             file you established for your application.
  997.  
  998.     10) You may now build your program by selecting Compile-Make EXE File.
  999.         Note that, depending upon the size of your application, you may not
  1000.         have enough memory available under the IDE to execute your program.  If
  1001.         so, exit the IDE to test run your program.
  1002.  
  1003.     If you have difficulty with the IDE, review the Turbo C++ User's Guide.
  1004.     Keep in mind, the basic task is to indicate to the compiler where the
  1005.     header files and your application source reside; and specify a memory model
  1006.     for the compilation.  The name of the C-scape and OWL libraries and the
  1007.     path the libraries must be indicated for the linker.
  1008.  
  1009. 5.3.2:  Turbo C 2.0
  1010.  
  1011. 5.3.2.1:  Turbo C 2.0 Command Line
  1012.  
  1013.     The Turbo C 2.0 versions of the C-scape 3.2 libraries are identified by the
  1014.     prefix "t2l" (large model) and "t2l" (medium model).
  1015.  
  1016.     Medium model compile and link lines:
  1017.  
  1018.         tcc -c -mm -I\cscape\include myprog
  1019.  
  1020.         tlink \tc\lib\c0m myprog, myprog, , \tc\lib\emu \tc\lib\mathm
  1021.         \tc\lib\cm \cscape\lib\t2mowl \cscape\lib\t2mcscap
  1022.  
  1023.  
  1024.     Large model compile and link lines:
  1025.  
  1026.         tcc -c -ml -I\cscape\include myprog
  1027.  
  1028.         tlink \tc\lib\c0l myprog, myprog, , \tc\lib\emu \tc\lib\mathl
  1029.         \tc\lib\cl \cscape\lib\t2lowl.lib \cscape\lib\t2lcscap
  1030.  
  1031.  
  1032.     Do not use the word alignment (-a) option when compiling.  We have compiled
  1033.     C-scape library objects with the default Turbo C setting.  Use of the -a
  1034.     option to force any other alignment will result in incompatibility.  If you
  1035.     need to use word alignment (because you are linking with another library
  1036.     that uses them,  for example), you must recompile the entire C-scape and
  1037.     OWL libraries with the same alignment as your application.
  1038.  
  1039. 5.3.2.2:  Turbo C 2.0 Integrated Environment
  1040.  
  1041.     To use the Turbo C integrated environment follow these instructions:
  1042.  
  1043.      1)  Select Options from the main menu.  Select Directories.
  1044.  
  1045.      a) Make sure the include directories option lists the path to the
  1046.          directory containing the Turbo C and the C-scape include files (.h):
  1047.          Example:  \tc\include;\cscape\include;
  1048.  
  1049.      b) Make sure the libraries directories option list the path to the
  1050.          directories containing the Turbo C libraries and the C-scape and OWL
  1051.          library (.lib) files.
  1052.          Example:  \tc\lib;\cscape\lib;
  1053.  
  1054.      3)  Create a project (.prj) file by opening a new file  (consult the
  1055.          Turbo-C manual for more information about project files).
  1056.  
  1057.      4)  In the project file, list the names of the .C file(s) you are working
  1058.          on.  (There should be one file name per line.)  Next, add the C-scape
  1059.          library with which you wish to link (make sure you choose the correct
  1060.          memory model).
  1061.  
  1062.              Example:
  1063.              --------
  1064.              sample.c
  1065.              t2lowl.lib
  1066.              t2lcscap.lib
  1067.  
  1068.      5)  Save the project file.
  1069.  
  1070.      6)  Use the Project menu to set the project name to the file just created.
  1071.  
  1072.      7)  Now use the compile menu to compile (or build) your program.
  1073.  
  1074.      8)  Consult the Turbo C Manual for more information about the integrated
  1075.          environment.
  1076.  
  1077.     Do not use the word alignment option when compiling.  We have compiled
  1078.     C-scape library objects with the default Turbo C setting.  Use of the word
  1079.     alignment will result in incompatibility.  If you need to use word
  1080.     alignment (because you are linking with another library that uses them,
  1081.     for example), you must recompile the entire C-scape and OWL libraries with
  1082.     the same alignment as your application.
  1083.  
  1084. 5.3.3:  Turbo C Versions Prior To 2.0
  1085.  
  1086.     The objects created by the compiler of versions of Turbo C prior to 2.0 are
  1087.     incompatible with those of Turbo C 2.0.  C-scape is compiled under Turbo C
  1088.     2.0. If you are using an older version of Turbo C you must recompile the
  1089.     C-scape source.
  1090.  
  1091.     When recompiling for Turbo-C C 1.5 you will have to place a -DTC on the
  1092.     command line because the C-scape and OWL code depends on a pre-defined
  1093.     macro define __TURBO_C__ not found in the 1.5 compiler.
  1094.  
  1095. 5.4:  Zortech C++ 2.14
  1096.  
  1097.     1)  Zortech large model compile line:
  1098.  
  1099.         ztc -b -p -cpp -mL -c -I\cscape\include myprog.c
  1100.  
  1101.         Note that you may have to add the -br switch in on large compiles
  1102.  
  1103.     2)  Link line:
  1104.  
  1105.         blink myprog, myprog,,\cscape\lib\Z2Lowl.lib+\cscape\lib\Z2Lcscap.lib
  1106.  
  1107.         Note that we are linking with the version 4.10 of Zortech's blink
  1108.         linker.
  1109.  
  1110. 5.5:  Watcom C 8.0
  1111.  
  1112. 5.5.1:  Watcom 8.0 regular
  1113.  
  1114.     We do not ship compiled libraries for this compiler.  If you wish to use
  1115.     it, you must create your own library with the Watcom batch file described
  1116.     in the section "RECOMPILING THE SOURCE CODE".
  1117.  
  1118.     The Watcom versions of the C-scape 3.2 libraries are identified by the
  1119.     prefix "w8l" (large model) and "w8m" (medium model).
  1120.  
  1121.     Large model compile and link lines:
  1122.  
  1123.         wccp /w3 /fo=obj\ /ml /i=..\include myprog.c
  1124.  
  1125.         wlink NAME myprog FILE myprog @lnkrsp.w8l
  1126.  
  1127.     lnkrsp.w8l is a linker response file that should contain the following:
  1128.  
  1129.         FORM DOS
  1130.         OPTION MAP
  1131.         OPTION CASEEXACT
  1132.         LIBRARY W8LCSCAP.LIB
  1133.         LIBRARY W8LOWL.LIB
  1134.         LIBRARY CLIBL.LIB
  1135.         LIBRARY MATHL.LIB
  1136.  
  1137.     Medium model compile and link lines:
  1138.  
  1139.         wccp /w3 /fo=obj\ /mm /i=..\include myprog.c
  1140.  
  1141.         wlink NAME myprog FILE myprog @lnkrsp.w8m
  1142.  
  1143.     lnkrsp.w8m is a linker response file that should contain the following:
  1144.  
  1145.         FORM DOS
  1146.         OPTION MAP
  1147.         OPTION CASEEXACT
  1148.         LIBRARY W8MCSCAP.LIB
  1149.         LIBRARY W8MOWL.LIB
  1150.         LIBRARY CLIBL.LIB
  1151.         LIBRARY MATHL.LIB
  1152.  
  1153. 5.5.2:  Watcom 8.0 386
  1154.  
  1155.     Refer to the read.me on the C-scape Phar Lap 386 DOS|Extender Support Disk.
  1156.  
  1157. 5.6:  MetaWare High C
  1158.  
  1159.     Refer to the read.me on the C-scape Phar Lap 386 DOS|Extender Support Disk.
  1160.  
  1161. 5.7:  JPI TopSpeed C
  1162.  
  1163.     We do not ship compiled libraries for this compiler.  If you wish to use
  1164.     it, you must create your own library with the JPI batch file described in
  1165.     the section "RECOMPILING THE SOURCE CODE".  Once you have the libraries
  1166.     compiled, you can create your own applications by compiling your source
  1167.     code with the compile lines listed below and linking your application with
  1168.     the link lines listed below.
  1169.  
  1170.     The TopSpeed versions of the C-scape 3.2 libraries are identified by the
  1171.     prefix "j1l" (large model) and "j1m" (medium model).
  1172.  
  1173.     Medium model compile and link lines:
  1174.  
  1175.         tsc myprog.c /mm /wall /y /i..\include
  1176.  
  1177.         TSC myprog.prj /m /n
  1178.  
  1179.     myprog.prj is a project file, recognized by the JPI make system and should
  1180.     contain the following:
  1181.  
  1182.         include MYPROG INITEXE
  1183.         import RM_CLIB J1LCSCAP J1LOWL
  1184.  
  1185.     Large model compile and link lines:
  1186.  
  1187.         tsc myprog.c /ml /wall /y /i..\include
  1188.  
  1189.         TSC myprog.prj /m /n
  1190.  
  1191.     myprog.prj is a project file, recognized by the JPI make system and should
  1192.     contain the following:
  1193.  
  1194.         include MYPROG INITEXE
  1195.         import RL_CLIB J1LCSCAP J1LOWL
  1196.  
  1197. 6:  RECOMPILING THE SOURCE CODE
  1198.  
  1199.     We provide libraries for Microsoft C 5.1, Microsoft C 6.0, Turbo C 2.0,
  1200.     Turbo C++ 1.0, and Zortech C++ 2.14.  If you want libraries for other
  1201.     compilers, you can recompile the source code with our new batch files.  (We
  1202.     do not provide DOS makefiles.)
  1203.  
  1204.     The batch files are in a self-extracting archive called COMPILE.EXE, which
  1205.     is on the source distribution disk.  It contains batch files for use with
  1206.     the following compilers:
  1207.  
  1208.                Microsoft C 5.1
  1209.                Microsoft C 6.0
  1210.                Turbo C 2.0
  1211.                Turbo C++ 1.0
  1212.                MetaWare High C LOC 1.6
  1213.                MetaWare High C GOC 2.3
  1214.                Watcom C 8.0 386
  1215.                Watcom C 8.0 regular
  1216.                Zortech C++ 2.14
  1217.  
  1218.     Each batch file compiles all the files for the C-scape and OWL libraries
  1219.     with a given compiler.  Once it has compiled all the modules, it creates
  1220.     the libraries.
  1221.  
  1222.     The batch files are named as follows: "COMPxxmt.BAT", where "xx" is a
  1223.     two-letter code representing a compiler, "m" is a one-letter code
  1224.     representing the memory model, and "t" is an optional one-letter code
  1225.     representing a special version of the library.  The choices are as follows:
  1226.  
  1227.     xx:
  1228.  
  1229.                Compiler                                 Code
  1230.                ---------------------------------------  ----
  1231.                Microsoft C 5.1........................   M1
  1232.                Microsoft C 6.0........................   M6
  1233.                Turbo C 2.0............................   T2
  1234.                Turbo C++ 1.0..........................   TP
  1235.                MetaWare High C LOC 1.6................   MW
  1236.                Metaware High C GOC 2.3                   MG
  1237.                Watcom C 8.0 '386......................   W3
  1238.                Watcom C 8.0 regular...................   W8
  1239.                Zortech C++ 2.14.......................   Z2
  1240.                JPI TopSpeed C 1.0.....................   J1
  1241.  
  1242.     m:
  1243.  
  1244.                Compiler Model                           Code
  1245.                ---------------------------------------  ----
  1246.                Large model............................    L
  1247.                Medium model (large code, small data)..    M
  1248.                Small model (for '386 compilers only;
  1249.                    denotes "flat" model)..............    S
  1250.  
  1251.     t:
  1252.  
  1253.                Special Version                          Code
  1254.                ---------------------------------------  ----
  1255.                MetaWINDOW graphics library............    M
  1256.                Rational DOS/16M DOS Extender..........    R
  1257.                OS/2 Version...........................    2
  1258.                OS/2 Family API version................    F
  1259.  
  1260.     For example COMPM6LR.BAT compiles the libraries for Microsoft C 6.0 large
  1261.     model for use with Rational's DOS/16M DOS extender.
  1262.  
  1263.     COMPILE.EXE also contains librarian response files with names of the form
  1264.     CSRESP.xxm and OWLRESPt.xxm.  Each batch file uses its response file to
  1265.     produce the libraries.  These have names of the form xxmCSCAP.LIB and
  1266.     xxmOWLt.LIB.
  1267.  
  1268.     The batch files all assume that your C-scape directories are arranged as
  1269.     the C-scape installation batch file does it.  That is, you should have a
  1270.     C-scape directory with directories below it named "include", "source" and
  1271.     "lib".  The batch files and response files reside in the source directory
  1272.     and create their output libraries in the lib directory.
  1273.  
  1274.     The batch files also assume that your compiler can find its standard header
  1275.     files (such as STDIO.H) without any command line flags telling it where
  1276.     they are.  You should set whatever environment variables or configuration
  1277.     files are needed to arrange this.
  1278.  
  1279.     The batch files create and use a subdirectory called "source\obj" to hold
  1280.     the compiled object files.  Each batch file deletes all the object files in
  1281.     this directory before it starts work.
  1282.  
  1283.     NOTE:  You may wish to use compiler options other than those we specify.
  1284.     Remember, however, that compiler optimizations are not fool-proof and can
  1285.     sometimes have undesired effects.  The section on compiling and linking
  1286.     mentions a few particular optimizations that you should avoid.  Generally,
  1287.     if you use optimizations other than those in our batch files, beware.
  1288.  
  1289.     If you would like to know what compiler options to use for a particular
  1290.     compiler, refer to the batch file.
  1291.  
  1292. 7:  USING C-SCAPE WITH OS/2
  1293.  
  1294.     You can use the Microsoft version of the C-scape 3.2 libraries to create
  1295.     OS/2 applications.
  1296.  
  1297.     C-scape operates only in text mode (def_ModeText) under OS/2.  At some
  1298.     future date, C-scape will support graphics mode under Presentation Manager.
  1299.  
  1300. 7.1:  PROTECTED MODE
  1301.  
  1302.     To create an OS/2 application you must define the symbol OAK_OS2 when
  1303.     compiling your source.
  1304.  
  1305.     The basic compile line is:
  1306.  
  1307.         cl /c /DM5 /DOAK_OS2 /I\cscape\include myprog.c
  1308.  
  1309.     OAK_OS2 may also be placed in your source file.  If you place it in your
  1310.     source file you don't need to define it on the command line.  If you do
  1311.     this, you should place the definition in the your .c file that contains the
  1312.     disp_Init call and you must place it before the include statements.
  1313.  
  1314.         #define OAK_OS2             /* for OS/2 */
  1315.  
  1316.         #include <stdio.h>
  1317.         #include <cscape.h>
  1318.  
  1319.         /* ... */
  1320.  
  1321.         {
  1322.             disp_Init(def_ModeText, FNULL);
  1323.  
  1324.             /* ... */
  1325.  
  1326.  
  1327.     Please note that when OS/2 version 1.0 changed to OS/2 Extended Edition 1.1
  1328.     the library DOSCALLS.LIB was renamed to OS2.LIB.  Along with that change,
  1329.     one of the functions changed its name slightly.  What was called DosGetPid
  1330.     is now DosGetPID.  The Microsoft 5.1 LIBCEP libraries however, still refer
  1331.     to DOSCALLS.LIB.
  1332.  
  1333.     The current call name, DosGetPID, is what appears in OWL source.  If you
  1334.     are compiling for OS/2 E.E. 1.1, all is well.
  1335.  
  1336.     If, however, you are compiling for OS/2 1.0 then you must make an
  1337.     additional step.  Redefine the current call name back to the older one so
  1338.     that the linker can find DosGetPid.  You redefine this in the OWL module
  1339.     that has the call reference (OS2HARD.C):
  1340.  
  1341.         #define DosGetPID DosGetPid     /* define for compat. with 1.0 */
  1342.  
  1343.     then recompile OS2HARD.C.  Note that this must be compiled in a code
  1344.     segment that bears the name "PCDIG_TEXT" (use the /NT flag to name the
  1345.     segment).  Then, replace OS2HARD.C in the OWL library.
  1346.  
  1347.     After compilation you must link with the OWL, C-scape and C runtime
  1348.     libraries.
  1349.  
  1350.     For Microsoft 5.1 with OS/2 prior to the Extended Edition 1.1:
  1351.  
  1352.         link /SE:500 myprog.obj,,,LLIBCEP.LIB \cscape\lib\m1lowl.lib
  1353.         \cscape\lib\m1lcscap.lib;
  1354.  
  1355.  
  1356.     For Microsoft 5.1 with OS/2 Extended Edition 1.1:
  1357.  
  1358.         link /NOE /SE:500 myprog.obj,,,OS2.LIB LLIBCEP.LIB
  1359.          \cscape\lib\m1lowl.lib \cscape\lib\m1lcscap.lib;
  1360.  
  1361.  
  1362. 7.2:  FAMILY API MODE
  1363.  
  1364.     If you wish to create a family mode application add the following to the
  1365.     above steps.
  1366.  
  1367.     Define OAK_OS2FAPI instead of OAK_OS2 in the compile command line for the
  1368.     recompilation of the these 4 files in the OWL: OS2HARD.C, OS2DISP.C,
  1369.     OS2OPEN.C, PCHARD.C.  (By defining OAK_OS2FAPI our headers automatically
  1370.     define OAK_OS2.)  After this, you may link these with your application:
  1371.  
  1372.     Again, for Microsoft 5.1 with OS/2 prior to the Extended Edition 1.1:
  1373.  
  1374.         link /SE:500 myprog os2hard os2disp os2open pchard, myprog, ,
  1375.         LLIBCEP.LIB \cscape\lib\m1lowl.lib \cscape\lib\m1lcscap.lib;
  1376.  
  1377.     For Microsoft 5.1 with OS/2 Extended Edition 1.1:
  1378.  
  1379.         link /NOE /SE:500 myprog os2hard os2disp os2open pchard, myprog, ,
  1380.         OS2.LIB LLIBCEP.LIB \cscape\lib\m1lowl.lib \cscape\lib\m1lcscap.lib;
  1381.  
  1382.     Then bind your family api application.
  1383.  
  1384.     For OS/2 prior to Extended Edition version 1.1:
  1385.  
  1386.         bind myprog.exe doscalls.lib api.lib -n @bind.exc
  1387.  
  1388.  
  1389.     For OS/2 Extended Edition version 1.1:
  1390.  
  1391.         bind myprog.exe os2.lib api.lib -n @bind.exc
  1392.  
  1393.  
  1394.     For the bind, bind.exc is a text file containing the following lines:
  1395.  
  1396.          DOSCREATETHREAD
  1397.          DOSENTERCRITSEC
  1398.          DOSEXITCRITSEC
  1399.          DOSGETPID
  1400.          DOSMUXSEMWAIT
  1401.          DOSSEMCLEAR
  1402.          DOSSEMREQUEST
  1403.          DOSSEMSET
  1404.          DOSSEMWAIT
  1405.          MOUDRAWPTR
  1406.          MOUGETNUMQUEEL
  1407.          MOUOPEN
  1408.          MOUREADEVENTQUE
  1409.          MOUREMOVEPTR
  1410.          MOUSETDEVSTATUS
  1411.  
  1412.     This exception file is necessary because C-scape code contains references
  1413.     to OS/2 calls that have no family api counterparts.  The bind utility warns
  1414.     us of this - that it would be a problem to run under DOS.  However, C-scape
  1415.     provides the functionality to perform the associated tasks under DOS so we
  1416.     may ignore these.
  1417.  
  1418. 7.3:  USING MULTIPLE THREADS
  1419.  
  1420.     C-scape supports the use of multiple threads under OS/2.  We use semaphores
  1421.     within the library to protect against any conflicts that may arise when two
  1422.     or more threads try to communicate with the display at the same time.
  1423.  
  1424.     Any thread can write to the display with the following restrictions:
  1425.     Threads can talk to multiple windows at the same time, but no more than one
  1426.     thread should talk to a particular window at a time; only one thread should
  1427.     read events from the keyboard, if more than one thread tries to read an
  1428.     event, C-scape error 1023 will be generated.
  1429.  
  1430.     To use multiple threads with C-scape, you must recompile the libraries to
  1431.     enable the semaphore protection code.  You can do this with the
  1432.     compm1lf.bat, compm1l2.bat, compm6lf.bat, or compm6l2.bat batch files.
  1433.  
  1434. 8:  ABOUT RATIONAL SYSTEMS' DOS/16M DOS Extender
  1435.  
  1436.     You can create C-scape applications that use Rational Systems' DOS/16M DOS
  1437.     Extender.  You must purchase the DOS/16M version of C-scape to create
  1438.     programs that use the extender.  DOS/16M allows you to create programs that
  1439.     use more than 640K of RAM and directly address up to 16 Megabytes of
  1440.     memory.
  1441.  
  1442.     You can order the DOS/16M version of C-scape from Oakland Group.  DOS/16M
  1443.     itself is available directly from Rational Systems:
  1444.  
  1445.         Rational Systems
  1446.         P.O. Box 480
  1447.         Natick, MA 01760
  1448.         (508) 653-6006
  1449.  
  1450.  
  1451. 9:  ABOUT PHAR LAP's 386 DOS|Extender
  1452.  
  1453.     You can create C-scape applications that use Phar Lap's 386 DOS|Extender.
  1454.     You must purchase the 386 DOS|Extender version of C-scape to create
  1455.     programs that use the extender.  The 386 DOS|Extender allows you to create
  1456.     programs that use the 32-bit protected mode of the 386 processor and
  1457.     address up to 4 gigabytes of memory.
  1458.  
  1459.     You can order the 386 DOS|Extender version of C-scape from Oakland Group.
  1460.     The 386 DOS|Extender is available directly from Phar Lap:
  1461.  
  1462.  
  1463.         Phar Lap Software
  1464.         60 Aberdeen Ave.
  1465.         Cambridge, MA 02138
  1466.         (617) 661-1510
  1467.  
  1468.  
  1469.     To use the Phar Lap 386DOS|Extender you must compile your program for
  1470.     32-bit 386 protected mode (using one of the MetaWare High C compilers or
  1471.     the Watcom 386 compiler).
  1472.  
  1473. 10:  ABOUT Metagraphics MetaWINDOW
  1474.  
  1475.     You can create C-scape applications that use the Metagraphics MetaWINDOW
  1476.     graphics library to display their screen output.  To do this, you must
  1477.     purchase the MetaWINDOW version of C-scape.
  1478.  
  1479.     The MetaWINDOW version of C-scape consists of a Device Interface Group
  1480.     (DIG) that uses MetaWINDOW graphics commands to communicate with the
  1481.     display.  Using this version of C-scape you can use any type of display
  1482.     hardware supported by MetaWINDOW.  This includes most high resolution super
  1483.     VGA display adapters.
  1484.  
  1485.     You can order the Metagraphics MetaWINDOW version of C-scape from Oakland
  1486.     Group.  Metagraphics MetaWINDOW is available directly from Metagraphics:
  1487.  
  1488.         Metagraphics Software Corporation
  1489.         P.O. 66779
  1490.         Scotts Valley, CA 95067
  1491.         (408) 438-1550 - telephone
  1492.         (408) 438-5379 - fax
  1493.  
  1494.