home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / OS2BUILD.ZIP / BUILD.DOC next >
Text File  |  1988-10-18  |  62KB  |  1,717 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.        
  8.        
  9.        
  10.        
  11.        
  12.        
  13.        
  14.        
  15.        
  16.        
  17.        
  18.        Program Build Utility
  19.        Version 1.00
  20.        
  21.        Usage Guidelines
  22.        
  23.        
  24.        
  25.        
  26.        
  27.        
  28.        
  29.        
  30.        
  31.        
  32.        
  33.        
  34.        
  35.        
  36.        
  37.        
  38.        
  39.        
  40.        
  41.        
  42.        
  43.        
  44.        
  45.        
  46.        
  47.        
  48.        
  49.        
  50.        
  51.        
  52.        
  53.        
  54.        
  55.        
  56.        Architectural Software Products(R)
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.        Information in this document is subject to change without notice and
  74.        does not represent a commitment on the part of Architectural Software
  75.        Products(R).
  76.        
  77.        Copyright (c) 1987, 1988  Architectural Software Products
  78.        
  79.        Microsoft, CodeView, MS, MS-DOS, MS-OS/2 and MS-Windows are the
  80.        registered trademarks of Microsoft Corporation.
  81.        
  82.        
  83.        
  84.        
  85.        Architectural Software Products
  86.        100 Front Street East
  87.        Suite 300
  88.        Toronto, Ontario
  89.        M5A 1E1
  90.        (416) 363-2292
  91.        
  92.        
  93.        
  94.        
  95.        
  96.        
  97.        
  98.        
  99.        
  100.        
  101.        
  102.        
  103.        
  104.        
  105.        
  106.        
  107.        
  108.        
  109.        
  110.        
  111.        
  112.        
  113.        
  114.        
  115.        
  116.        
  117.        
  118.        
  119.        
  120.        
  121.        
  122.        
  123.        
  124.        
  125.        Version 1.00.14
  126.        Revised 1988-10-18
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.        Table of Contents
  140.        ──────────────────────────────────────────────────────────────────────
  141.        
  142.        Introduction...........................................    5
  143.        1.0 Pull Down Menu.....................................    6
  144.            1.1 File...........................................    6
  145.            1.2 Erase..........................................    7
  146.            1.3 Run............................................    8
  147.            1.4 Directory......................................    8
  148.            1.5 Build..........................................   10
  149.            1.6 Utilities......................................   13
  150.            1.7 CodeView.......................................   14
  151.            1.8 F2=Compile.....................................   14
  152.        2.0 Build Options......................................   15
  153.        3.0 Mouse and Keyboard Usage...........................   22
  154.        4.0 Build Limits.......................................   24
  155.        5.0 Configuring the Program Build Utility..............   24
  156.            5.1 Language Considerations........................   24
  157.            5.2 Sample Environment.............................   25
  158.        6.0 Support Files......................................   26
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                                              Usage Guidelines
  269.                                                              ────────────────
  270.  
  271.        Introduction
  272.        
  273.        The following guidelines are provided to allow you to use the Program
  274.        Build Utility in a useful and meaningful manner.  The Program Build
  275.        Utility is a full functioning programming environment specifically
  276.        designed for a programmer's needs within the MS-OS/2(R) environment.
  277.        The utility has been designed for speed and ease of use.  It supports
  278.        the full Microsoft(R) Professional Language Products by allowing you
  279.        to select required compile options and to compile or assemble various
  280.        files contained within a sub-directory or drive without having to
  281.        continually type in the command line switches for the file to be
  282.        compiled or assembled.  It also allows you to easily change options
  283.        before the compile or assembling of a file making sure that the
  284.        correct invocation is used.  The Program Build Utility significantly
  285.        speeds up the process of developing and building programs without you
  286.        having to build complex batch or MAKE files for each set of programs
  287.        you are developing.
  288.        
  289.        The screen of the Program Build Utility when it is first presented to
  290.        you is divided into five areas:  Pull Down Menu Bar, File/Directory
  291.        Display Window, Build Settings Display Window, Background Info Window
  292.        and Drive/Path Information Window.
  293.        
  294.        The Pull Down Menu bar shows the titles of menus and commands that are
  295.        available for your use.  You can access a menu by either using the
  296.        Mouse or by pressing the Alt key and the letter highlighted in the
  297.        Pull Down Menu.  The F2=Compile command is used to start the process
  298.        of compiling or assembling a selected file.
  299.        
  300.        The File/Directory window is used to display the current contents of
  301.        the directory selected.  Depending on the selection from the Directory
  302.        menu, you can display the current files contained within the directory
  303.        or other sub-directories.  You select files or sub-directories by
  304.        clicking the Mouse cursor on the file or by using the cursor direction
  305.        keys to move the selection bar from one file to another.  To view
  306.        remaining entries not shown in the window, you can click the Mouse
  307.        cursor on the scroll bar above or below the elevator to select
  308.        alternate pages of the directory list.  With the keyboard, you can use
  309.        the PgUp and PgDn keys.
  310.        
  311.        The Build Settings on always displayed within the Build Settings
  312.        window.  These settings describe the manner in which you wish to
  313.        assemble or compile a file or group of files.  Through the Build
  314.        Options pull down menu, you can change the Build characteristics for
  315.        any or all of the source modules.
  316.        
  317.        Next to the Build Settings window is the Background Info window.  When
  318.        you allowed for Background Build Sessions, information concerning the
  319.        Background Build Session will be displayed within this window.
  320.        
  321.        The final window is used to display the current selected drive and
  322.        path, number of files contained within the directory selected and the
  323.        room remaining on the selected drive.
  324.  
  325.  
  326.  
  327.  
  328.                                                                            5│
  329.  
  330.  
  331.  
  332.  
  333.  
  334.        Program Build Utility
  335.        ─────────────────────
  336.  
  337.        The following will outline the general use of the Program Build
  338.        Utility and the functions that are available within and their usage.
  339.        
  340.        
  341.        1.0 Pull Down Menu
  342.        
  343.        The Pull Down Menu provides 7 menus and the Compile command.  Through
  344.        the pull down menu's, you can perform commands and view information.
  345.        The general functions provided are: File, Erase, Run, Directory,
  346.        Build, Utilities and CodeView.
  347.        
  348.        
  349.        1.1 File
  350.        
  351.        The File Pull Down Menu is used in conjunction with file operations.
  352.        The File Edit function is used to invoke the Programmer's Editor to
  353.        edit the file selected from the file list.  The Programmer's Editor is
  354.        an editor designed specifically for the programmer and to work hand-
  355.        in-hand with the Program Build Utility utility.  When the Programmer's
  356.        Editor is invoked, it is told to start editing the file highlighted
  357.        within the file list as though it were invoked from the Operating
  358.        System command prompt only and selecting the file from within the
  359.        Programmer's Editor environment.
  360.        
  361.        ProgEd will also be automatically invoked when re-building a file or
  362.        program and error trapping has been enabled through the Build Options
  363.        function when an error is detected by the compiler or assembler.
  364.        ProgEd will be automatically configured to Build Error Mode and will
  365.        display the errors encountered within the compiler or assembler in a
  366.        Build Error window at the bottom of the editing window.  For more
  367.        information on the Programmer's Editor, consult the Programmer's
  368.        Editor Usage Guidelines.
  369.        
  370.        An alternate method of selecting a file for editing is to double click
  371.        the left Mouse button on the file.  This is equivalent to selecting
  372.        the file and selecting the File Edit function from the File Pull Down
  373.        Menu.
  374.        
  375.        The File Statistics function is used to display the file size and last
  376.        time of update for the file highlighted within the file list.  The
  377.        name of the file, its size and last modification date are displayed
  378.        within the Build Settings Window below the file list window.
  379.        
  380.        The File Touch function is used to update the currently selected file
  381.        to the current date and time.  This function is useful when using the
  382.        Microsoft Program Maintenance Utility (MAKE).  The utility is faster
  383.        than editing and saving the file when only trying to update the date
  384.        or time.  It is for this reason the function is called Touch, since it
  385.        essentially touches the file date and time.
  386.        
  387.        The File Cut Time function is used to set the date and time of the
  388.        selected file to a value entered through the dialogue windows.  This
  389.        is useful if you want all the files that you will be releasing for
  390.        distribution to have the same date and time.  The time is entered at
  391.  
  392.  
  393.  
  394.        │6
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                                                              Usage Guidelines
  401.                                                              ────────────────
  402.  
  403.        the prompt on a 24 hour clock basis and the date is entered as it
  404.        would with the Operating System in the format of mm/dd/yy.
  405.        
  406.        The File XCopy function is similar to the OS/2 XCopy function where
  407.        through the dialogue window you describe the source and target
  408.        drive/paths.  This is useful to copy large groups of files between
  409.        sub-directories or disks without have to use the Run pull down menu or
  410.        to start another OS/2 process.
  411.        
  412.        The File Copy function is similar to the XCopy function except that it
  413.        will copy the selected file from the file list to the destination
  414.        drive/path entered through the dialogue window.  You cannot use the
  415.        function to specify the source path/drive to copy a file into the
  416.        current directory.
  417.        
  418.        The File Move function is similar to the Copy function except that it
  419.        will move the selected file from the file list to the destination
  420.        drive/path entered through the dialogue window.  You cannot use the
  421.        function to specify the source path/drive to move a file into the
  422.        current directory.
  423.        
  424.        The File Rename function allows you to rename the currently selected
  425.        file within the file list to another name.  A dialogue window will ask
  426.        for the new name for the file.  After the file has been renamed, the
  427.        file list will be redisplayed with the file renamed.  The filename
  428.        will be displayed with the dialogue window to allow easier editing of
  429.        the name.
  430.        
  431.        Finally, the File Exit function allows you to exit the program either
  432.        back to the OS/2 Program Selector or to the OS/2 command prompt.
  433.        
  434.        
  435.        1.2 Erase
  436.        
  437.        The Erase Pull Down Menu is designed to provide file maintenance
  438.        similar to that of the Operating System without having to leave the
  439.        Program Build Utility programming environment.  If individual files or
  440.        the backup (.BAK) files are no longer needed, they can be removed from
  441.        the active disk or sub-directory.
  442.        
  443.        The Erase File function will delete the file highlighted in the
  444.        directory list.  It must be remembered that when this is done, it is
  445.        the same as invoking the ERASE or DEL command from the Operating
  446.        System (OS/2).  In both cases, the results are the same; access to the
  447.        file can no longer happen.
  448.        
  449.        When it has been decided that the backup (.BAK) files of the files
  450.        edited are no longer needed, the Erase Backups function will remove
  451.        all the backup entries from the disk directory.  This function is very
  452.        useful when the current disk is almost full and some of the files
  453.        contained on that disk are backup files as they can be removed thereby
  454.        allowing for an increase in disk space available.
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                                                                            7│
  461.  
  462.  
  463.  
  464.  
  465.  
  466.        Program Build Utility
  467.        ─────────────────────
  468.  
  469.        1.3 Run
  470.        
  471.        The Run Pull Down Menu provides three functions that allow you to run
  472.        a selected file, OS/2 command or shell to OS/2.
  473.        
  474.        The Run File function is used to run a program that contains a .EXE or
  475.        .COM extension.  All that is necessary is to select the file from the
  476.        file list and to select the function.  A dialogue window is displayed
  477.        allowing you to enter additional parameters that are used by the
  478.        selected program.  Like the File Edit function, if you double click on
  479.        the executable with the left Mouse button, the file will be executed.
  480.        
  481.        The Run OS Command function is similar to the Operating System command
  482.        prompt where you can type in normal Operating System commands such as
  483.        DIR or ERASE, etc.  A dialogue window is opened to allow you to enter
  484.        the OS/2 command which will be executed by OS/2.
  485.        
  486.        The Run OS/2 Shell function allows you to temporarily exit the Program
  487.        Build Utility to the OS/2 command prompt.  You can then perform normal
  488.        OS/2 commands from the command prompt.  To return back to the Program
  489.        Build Utility, you only need to type EXIT at the OS/2 command prompt.
  490.        
  491.        
  492.        1.4 Directory
  493.        
  494.        The Directory Pull Down Menu allows for disks in the current drive or
  495.        for sub-directories to be changed.  It also allows for a new disk
  496.        drive or new directory path to be used instead of the current drive or
  497.        directory path.  When this is done, the new drive/sub-directory
  498.        becomes the current drive/sub-directory with the input/output of files
  499.        taking place on the drive/sub-directory.
  500.        
  501.        The Directory ChDir function is similar to the ChDir (CD) command
  502.        found in the Operating System.  The major difference between the
  503.        Operating System command and the one found here is that you pick the
  504.        sub-directory you wish to move to from the directory list on the
  505.        screen.  This is similar to that of picking a document or file to
  506.        edit.
  507.        
  508.        With the Operating System command, you would either type in the path
  509.        to the previous directory or you would use the Operating System
  510.        shorthand of ".." to move back or up a sub-directory level.  Within
  511.        this function, you would select the previous dir from the directory
  512.        list presented on the screen.
  513.        
  514.        The PgUp, PgDn and cursor keys are used to select the sub-directory
  515.        you want after selecting the Directory Show Directory function and
  516.        this function is used to perform the actual selection to the sub-
  517.        directory chosen.
  518.        
  519.        When the new sub-directory that you have chosen has been changed to, a
  520.        new sub-directory list will be read in and displayed allowing you to
  521.        make further selections.  You can also select the sub-directory by
  522.        double clicking the left Mouse button on the desired sub-directory.
  523.  
  524.  
  525.  
  526.        │8
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                                                              Usage Guidelines
  533.                                                              ────────────────
  534.  
  535.        This is equivalent to selecting the sub-directory and using the
  536.        Directory ChDir function from the Directory Pull Down Menu.
  537.        
  538.        The Directory Drive function uses the same syntax as the Operating
  539.        System to change from one disk drive to another.  When you have
  540.        selected this function you will be prompted for the drive you wish to
  541.        change to.
  542.        
  543.        To change drives from one to another, you need to type in the drive
  544.        letter followed by a colon such as:
  545.        
  546.           a:
  547.        
  548.        As with the Operating System, this form must be used when changing
  549.        drive designations. If the target drive (the letter designation)
  550.        exists, that drive will be used in place of the previous.  Any sub-
  551.        directories found within the root directory of the new drive will then
  552.        be displayed.
  553.        
  554.        If the drive does not exist, an error message will be displayed.
  555.        
  556.        You can exit from this prompt at any time by pressing the Esc key
  557.        which essentially aborts the initial request.
  558.        
  559.        Alternately, if you are using a Mouse, you can click the Mouse cursor
  560.        a drive designation list at the bottom of the dialogue window.
  561.        
  562.        The Directory RmDir function allows for the sub-directory highlighted
  563.        in directory list to be removed.  The sub-directory must be totally
  564.        empty for the function to work with the exception of the previous dir
  565.        entry.  You cannot remove a sub-directory that contains hidden files.
  566.        
  567.        Before the Program Build Utility tries to remove the sub-directory, it
  568.        will prompt you to verify the removal of the sub-directory.  The
  569.        dialogue window will display a N above the cursor, which is the
  570.        automatic response.  If you wish to remove the sub-directory, you must
  571.        type in a y or Y.
  572.        
  573.        The function will display an error message if you try to remove the
  574.        previous dir entry or a sub-directory that may not be empty.
  575.        
  576.        You can exit from this dialogue window at any time by pressing the Esc
  577.        key which essentially aborts the initial request.
  578.        
  579.        The Directory MkDir function allows you to create an additional sub-
  580.        directory from within the directory currently being used.  As
  581.        mentioned at the beginning of the section, you can create additional
  582.        sub-directories that may have the same name as others but are in
  583.        different sub-directories.
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.                                                                            9│
  593.  
  594.  
  595.  
  596.  
  597.  
  598.        Program Build Utility
  599.        ─────────────────────
  600.  
  601.        The dialogue window of the function requests the name of the new
  602.        directory.  The directory name follows the same rules as for the
  603.        naming of files.  The form that the directory name can have is:
  604.        
  605.           dirname.ext
  606.        
  607.        where the dirname consists of one to eight characters.  The value
  608.        entered for the dirname is checked for invalid characters by the
  609.        Operating System.  The .ext denotes the directory name extension which
  610.        consists of a period followed by one to three characters.
  611.        
  612.        Invalid dirname or .ext characters are:
  613.        
  614.             " / \ [ ] : | < > + = ; ,
  615.        
  616.        All other characters are valid.
  617.        
  618.        The Directory Show Directory function is used to switch from the file
  619.        list to the directory list.  You must first perform this function if
  620.        you wish to use the above functions except for the Directory Drive
  621.        function.  To switch back to the file list from the directory list,
  622.        you use the Directory Show File Area function.
  623.        
  624.        
  625.        1.5 Build
  626.        
  627.        This is the function used to provide Build support within the
  628.        programming environment.  This function is designed around the
  629.        Microsoft language family and currently supports the following:
  630.        
  631.        Language Product                   Versions
  632.        ────────────────────────────────────────────────────
  633.        BASIC Compiler                     6.0
  634.        C Optimizing Compiler              5.0 and 5.1
  635.        FORTRAN Optimizing Compiler        4.0 and 4.1
  636.        Macro Assembler                    5.0 and 5.1
  637.        Pascal Compiler                    4.0
  638.        
  639.        Utility                            Versions
  640.        ────────────────────────────────────────────────────
  641.        MAKE Utility                       4.05 and above
  642.        Overlay Linker                     3.60 and above
  643.        Segmented-Executable Linker        5.00 and above
  644.        Incremental Linker                 1.00 and above
  645.        CodeView(R) Symbol Packing Utility 2.00 and above
  646.        
  647.        
  648.        The Build Group Function is used to toggle the Build Session into
  649.        Group Build Mode.  When the Group is toggled on and the F2=Compile
  650.        function is selected, the Program Build Utility will try to assemble
  651.        or compile the files within the file list that contain valid language
  652.        extensions.  They can only be valid language extensions such as .ASM,
  653.        .BAS, .C, .FOR or .PAS otherwise the Program Build Utility will issue
  654.        an error declaring an illegal language extension.
  655.  
  656.  
  657.  
  658.        │10
  659.  
  660.  
  661.  
  662.  
  663.  
  664.                                                              Usage Guidelines
  665.                                                              ────────────────
  666.  
  667.        The Build Group function can be useful when printing out a full source
  668.        listing of the program or for selected re-building.  The file
  669.        highlighted in the file list is used as the starting point for the
  670.        Build Group function.
  671.        
  672.        The Build Options function is used to configure Build characteristics
  673.        for when a language source file is assembled or compiled.  From the
  674.        Build Options Menu you can select the memory model, CPU type,
  675.        Operating System, error trapping, data model along with final linking
  676.        characteristics.  Section 2.0 Build Options describes the options
  677.        available and their corresponding Microsoft language support.
  678.        
  679.        The Build Cancel Error function is used to cancel a Error Pending from
  680.        a Background Build Session such that the next time you use the File
  681.        Edit function, the Programmer's Editor is not configured in Build
  682.        Error Mode.
  683.        
  684.        The Build Background function is used to allow the Build Session to be
  685.        performed in the background.  When the F2=Compile function is invoked,
  686.        a flashing message, Background Active, will be displayed within the
  687.        Background Info window and the source or MAKE file being built will
  688.        also be displayed.  When the Microsoft Linker or Incremental Linker
  689.        has been invoked in the session, the Background Info window will be
  690.        updated to signify the current stage within the process.  If the
  691.        background Build Session was successful, a single beep will sound,
  692.        signifying that the Build Session has ended.  If an error has occurred
  693.        within the Build Session, one of two things will happen.  If the
  694.        Program Build Utility has determined a source module error, two beeps
  695.        and a buzzing sound will occur and a Error Pending message will be
  696.        displayed in the Background Info window.  You can either edit the
  697.        error like in the foreground Build mode by using the File Edit
  698.        function or you can cancel the Error Pending message by using the
  699.        Build Cancel Error function.  If the error encountered was a link
  700.        error, a Link Error message will be displayed in the Background Info
  701.        window.
  702.        
  703.        When a background process is active, it is possible for you to kill
  704.        the process by using the Build Kill Background function.  This will
  705.        cancel the build process active in the background and will clear the
  706.        Background Info window signifying that the background process is no
  707.        longer active.
  708.        
  709.        The Build Error Trap function is used to tell the Program Build
  710.        Utility whether or not to trap source module build errors issued
  711.        through the assembler or compiler.  When Build Error Trap is enabled
  712.        and foreground Build is being used, the Programmer's Editor will be
  713.        automatically invoked when a Build Error occurs.  If Background Build
  714.        Session is enabled and a Build Error occurs, the next time you enter
  715.        the File Edit function, the Programmer's Editor will be automatically
  716.        configured for Build Error Mode unless you cancel the Error Pending
  717.        through the Build Cancel Error.
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.                                                                           11│
  725.  
  726.  
  727.  
  728.  
  729.  
  730.        Program Build Utility
  731.        ─────────────────────
  732.  
  733.        Op Sys         Target              Response
  734.        Switch         Environment         File           Considerations 
  735.        ──────────────────────────────────────────────────────────────────────
  736.        DOS            MS-DOS              DOS.LNK
  737.        OS/2           MS-OS/2             OS2.LNK
  738.        OS/2 MT        MS-OS/2             OS2MT.LNK      Used with C Multi-
  739.                                                          Threaded Libraries
  740.        Windows        Windows             WIN.LNK
  741.        
  742.        
  743.        The Build Switches function allows alternate assembler and compiler
  744.        switches to be defined such that when a file is re-built from the file
  745.        list, the switches defined through this function will be used along
  746.        with the options defined through the Build Options Menu.  No alternate
  747.        switch values can be issued for the linker; switches defined through
  748.        this function will only work with the associated assembler or
  749.        compiler.  The switch value entered will be displayed in the Message
  750.        Window above the current build options.
  751.        
  752.        To erase the switch value defined, two methods can be used.  You
  753.        invoke the Build Switches a second time and either press the Esc key
  754.        when the dialogue window is displayed or click the left Mouse button.
  755.        
  756.        The Build Object Path function is used to describe the drive or sub-
  757.        directory where the object files produced by the compiler or assembler
  758.        are to be stored.  If you have set the BUILD Environment Variable in
  759.        your Environment, this value will be displayed within the dialogue
  760.        window.  You can override this setting by entering in a new drive/path
  761.        for where the object files are to be stored.
  762.        
  763.        The Build Data function allows you to change the data threshold for
  764.        Far Data in C and FORTRAN program when using the large memory model.
  765.        The default setting for the -Gt switch is 1.  It is through this
  766.        function that you can change this value to suit your own needs.
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.        │12
  791.  
  792.  
  793.  
  794.  
  795.  
  796.                                                              Usage Guidelines
  797.                                                              ────────────────
  798.  
  799.        1.6 Utilities
  800.        
  801.        This is the function used to provide Utility support within the
  802.        programming environment.  This function is designed around the
  803.        Microsoft language family and currently supports the following:
  804.        
  805.        Utility                            Versions
  806.        ────────────────────────────────────────────────────
  807.        Overlay Linker                     3.60 and above
  808.        Segmented-Executable Linker        5.00 and above
  809.        Incremental Linker                 1.00 and above
  810.        CodeView(R) Symbol Packing Utility 2.00 and above
  811.        Bind Utility                       1.00 and above
  812.        Import Library Manager             1.00 and above
  813.        
  814.        
  815.        The Utilities CV Pack function is used to define the name of the file
  816.        that will be used with the Microsoft CodeView Packing (CVPack)
  817.        utility.  The full path name for the file must be given including the
  818.        .EXE extension.  The CVPack utility will only be used when the
  819.        CodeView switch has been set in the Build Options Menu.  The Program
  820.        Build Utility will invoke the CVPack utility for files re-built with
  821.        the linking option selected from the Build Options Menu.
  822.        
  823.        The Utilities ILink function is used to invoke the Microsoft
  824.        Incremental Linker.  You should follow the rules for using the
  825.        Incremental Linker when using this function as described within the
  826.        Microsoft Language manuals provided with the compiler or assembler.
  827.        
  828.        The Microsoft Linker can be invoked through the Build Link function.
  829.        The Program Build Utility will invoke the Linker according the link
  830.        options defined through the Build Options Menu and will expect to use
  831.        a response file called DOS.LNK, OS2.LNK, OS2MT.LNK or WIN.LNK
  832.        depending on the Operating System selected through the Build Options
  833.        Menu.  The following shows the corresponding Build Options selections
  834.        and response files:
  835.        
  836.        Op Sys         Target              Response
  837.        Switch         Environment         File           Considerations 
  838.        ──────────────────────────────────────────────────────────────────────
  839.        DOS            MS-DOS              DOS.LNK
  840.        OS/2           MS-OS/2             OS2.LNK
  841.        OS/2 MT        MS-OS/2             OS2MT.LNK      Used with C Multi-
  842.                                                          Threaded Libraries
  843.        Windows        Windows             WIN.LNK
  844.        
  845.        
  846.        The Utilities Bind .Exe function is used to bind OS/2 Family
  847.        Application Interface (FAPI) type programs for both OS/2 and DOS.  To
  848.        use the function you must first create a file containing the proper
  849.        command tail as described for the Bind Utility.  This file could take
  850.        the form of:
  851.        
  852.           Install C:\OS2\LIB\DOSCALLS.LIB -mInstall
  853.  
  854.  
  855.  
  856.                                                                           13│
  857.  
  858.  
  859.  
  860.  
  861.  
  862.        Program Build Utility
  863.        ─────────────────────
  864.  
  865.        The resulting file could be called Install.Bnd and it would be this
  866.        file that you would highlight in the file list before invoking the
  867.        Utilities Bind .Exe function.  Build will read in the file when
  868.        invoking the Bind Utility and will pass to the Bind Utility the
  869.        contents of Install.Bnd.  There are no restrictions as to the naming
  870.        of the file containing the Bind Utility command tail instructions.
  871.        
  872.        The Utilities ImpLib function is used to create an Import Library for
  873.        Dynamic Link Libraries (.DLL's).  By creating the necessary
  874.        Definitions file (.DEF) and highlighting this file in the file, you
  875.        can use the Utilities ImpLib function to create the Import Library for
  876.        use by other OS/2 projects.  Consult your language reference manuals
  877.        for using the definitions files to create import libraries.
  878.        
  879.        
  880.        1.7 CodeView
  881.        
  882.        The CodeView Pull Down Menu allows you to describe the debugging
  883.        target drive/path and to invoke the CodeView debugger.
  884.        
  885.        The CodeView File Path function is used to describe the drive/path of
  886.        the target debugging program.  This allows for the selection of .EXE
  887.        files contained on other disks or within other sub-directories other
  888.        than the one that is currently selected.  The function will prompt you
  889.        for the drive/path and allows you to enter CodeView and debugging
  890.        program switches.  Using this function is a way of specifying the
  891.        target debugging file along with the targets command line switches if
  892.        that mode needs to be tested or is desirable.  The prompt line could
  893.        appear as:
  894.             
  895.             target switch1 switch2
  896.        
  897.        The Microsoft CodeView debugger is invoked with through the CodeView
  898.        Start function.  If the drive/path was entered through the CodeView
  899.        File Path function, that path will be used instead of the file
  900.        selected within the file list.  If the file within the file list is
  901.        not a .EXE extension, CodeView will issue an error message.
  902.        
  903.        
  904.        1.8 F2=Compile
  905.        
  906.        The F2=Compile command is used to invoke the appropriate assembler or
  907.        compiler depending on the language extension of the file currently
  908.        selected within the file unless either Group Build Mode has been
  909.        selected or the file selected within the file list has a .MAK
  910.        extension, in which case the Microsoft MAKE utility is invoked.  The
  911.        Program Build Utility upon determining which language is being used
  912.        will invoke the assembler or compiler according to the values defined
  913.        through the Build Options Menu and shown within the Build Settings
  914.        Window.  You can also click the Mouse cursor on the F2=Compile instead
  915.        of using the F2 function key to start the compile process.
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.        │14
  923.  
  924.  
  925.  
  926.  
  927.  
  928.                                                              Usage Guidelines
  929.                                                              ────────────────
  930.  
  931.        2.0 Build Options
  932.        
  933.        The Build Options function is used to configure the Build
  934.        characteristics for when a language source file is assembled or
  935.        compiled.  From the Build Options Menu you can select the memory
  936.        model, CPU type, Operating System, data model along with final linking
  937.        characteristics.  The following describes the options available and
  938.        their corresponding Microsoft language support:
  939.        
  940.        
  941.        Model:
  942.        
  943.        Value               BASIC     MASM      FORTRAN   C    Pascal
  944.        ──────────────────────────────────────────────────────────────────────
  945.        Small                         ■                   ■
  946.        Medium                        ■         ■         ■
  947.        Compact                       ■                   ■
  948.        Large                         ■         ■         ■
  949.        Huge                          ■         ■         ■
  950.        
  951.        
  952.        Custom Model:
  953.        
  954.        Value               BASIC     MASM      FORTRAN   C    Pascal
  955.        ──────────────────────────────────────────────────────────────────────
  956.        Small Code                                        ■
  957.        Large Code                                        ■
  958.        Data Near                                         ■
  959.        Data Far                                          ■
  960.        Data Huge                                         ■
  961.        SS == DS                                          ■
  962.        DS Loaded                                         ■
  963.        DS Fixed                                          ■
  964.        
  965.        
  966.        Math Lib:
  967.        
  968.        Value               BASIC     MASM      FORTRAN   C    Pascal
  969.        ──────────────────────────────────────────────────────────────────────
  970.        Alt Calls           ■         ■         ■         ■    ■
  971.        Emul Calls                    ■         ■         ■    ■
  972.        8087 Calls                    ■         ■         ■    ■
  973.        Inline Lib                    ■         ■         ■    ■
  974.        Inline              ■         ■         ■         ■    ■
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.                                                                           15│
  989.  
  990.  
  991.  
  992.  
  993.  
  994.        Program Build Utility
  995.        ─────────────────────
  996.  
  997.        Basic:
  998.        
  999.        Value               BASIC     MASM      FORTRAN   C    Pascal
  1000.        ──────────────────────────────────────────────────────────────────────
  1001.        On Error            ■
  1002.        Emul Calls          ■
  1003.        8087 Calls          ■
  1004.        Inline Lib          ■
  1005.        Run-Time Lib        ■
  1006.        
  1007.        
  1008.        C ANSI:
  1009.        
  1010.        Value               BASIC     MASM      FORTRAN   C    Pascal
  1011.        ──────────────────────────────────────────────────────────────────────
  1012.        Enforce                                           ■
  1013.        Case:
  1014.        
  1015.        Value               BASIC     MASM      FORTRAN   C    Pascal
  1016.        ──────────────────────────────────────────────────────────────────────
  1017.        Preserve All                  ■
  1018.        Convert Upper                 ■
  1019.        Preserve Publics              ■
  1020.        
  1021.        
  1022.        CPU:
  1023.        
  1024.        Value               BASIC     MASM      FORTRAN   C    Pascal
  1025.        ──────────────────────────────────────────────────────────────────────
  1026.        8088                          ■         ■         ■
  1027.        80188                         ■         ■         ■
  1028.        80286                         ■         ■         ■
  1029.        80386                         ■
  1030.        
  1031.        
  1032.        Optimization:
  1033.        
  1034.        Value               BASIC     MASM      FORTRAN   C    Pascal
  1035.        ──────────────────────────────────────────────────────────────────────
  1036.        Alias                                             ■
  1037.        Disable                                 ■         ■
  1038.        Intrinsic                                         ■
  1039.        Loop                                              ■
  1040.        No Hoist                                          ■
  1041.        Float Pnt                               ■         ■
  1042.        Size                                    ■         ■
  1043.        Speed                                   ■         ■
  1044.        Win Alias                                         ■
  1045.        Maximize                                ■         ■
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.        │16
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.                                                              Usage Guidelines
  1061.                                                              ────────────────
  1062.  
  1063.        Stack Check:
  1064.        
  1065.        Value               BASIC     MASM      FORTRAN   C    Pascal
  1066.        ──────────────────────────────────────────────────────────────────────
  1067.        Remove                                  ■         ■    ■
  1068.        
  1069.        
  1070.        Op Sys:
  1071.        
  1072.        Value               BASIC     MASM      FORTRAN   C    Pascal
  1073.        ──────────────────────────────────────────────────────────────────────
  1074.        DOS                 ■         ■         ■         ■    ■
  1075.        OS/2                ■         ■         ■         ■    ■
  1076.        OS/2 MT                       ■                   ■
  1077.        Windows                       ■                   ■    ■
  1078.        
  1079.        
  1080.        Compile Type:
  1081.        
  1082.        Value               BASIC     MASM      FORTRAN   C    Pascal
  1083.        ──────────────────────────────────────────────────────────────────────
  1084.        CodeView            ■         ■         ■         ■    ■
  1085.        ExePack             ■         ■         ■         ■    ■
  1086.        Link                ■         ■         ■         ■    ■
  1087.        ILink               ■         ■         ■         ■    ■
  1088.        Listing             ■         ■         ■         ■    ■
  1089.        Release                                 ■         ■
  1090.        Prototype                                         ■
  1091.        
  1092.        
  1093.        Data:
  1094.        
  1095.        Value               BASIC     MASM      FORTRAN   C    Pascal
  1096.        ──────────────────────────────────────────────────────────────────────
  1097.        Far                                     ■         ■
  1098.        
  1099.        
  1100.        Impure Code:
  1101.        
  1102.        Value               BASIC     MASM      FORTRAN   C    Pascal
  1103.        ──────────────────────────────────────────────────────────────────────
  1104.        Check                         ■
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.                                                                           17│
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.        Program Build Utility
  1127.        ─────────────────────
  1128.  
  1129.        The default Build Options upon startup of the Program Build Utility
  1130.        are:
  1131.        
  1132.        Option              Default
  1133.        ──────────────────────────────────────────────────────────────────────
  1134.        Model               Small
  1135.        Custom Model        None Defined
  1136.        Math Lib            None Defined (Uses Compiler Default)
  1137.        C ANSI              Disabled
  1138.        Case                Preserve Public
  1139.        CPU                 80286
  1140.        Optimization        Maximize
  1141.        Stack Check         Governed by Optimization
  1142.        Op Sys              OS/2
  1143.        Compile Type        None Defined
  1144.        Data                None Defined (Uses Compiler Default)
  1145.        Impure Code         Check
  1146.        
  1147.        
  1148.        The following macro definitions are defined for MAKE file support when
  1149.        these options have been selected.  The macro definitions should be
  1150.        defined within the MAKE file and used on the command line invocation
  1151.        sequence:
  1152.           asm_sw=
  1153.           bas_sw=
  1154.           c_sw=
  1155.           for_sw=
  1156.           pas_sw=
  1157.        
  1158.        The Program Build Utility will use the definitions defined through the
  1159.        Build Options Menu to correctly configure the .MAK file.  It should be
  1160.        noted that Program Build Utility expects the MAKE file to have .MAK
  1161.        extension otherwise the illegal language extension error will be
  1162.        displayed.  A sample MAKE command line is:
  1163.        
  1164.             ET CL $(c_sw) -Fo$* $*.C
  1165.        
  1166.        You will notice that the line begins with the command ET.  ET.EXE is a
  1167.        utility used in conjunction with Program Build Utility to allow for
  1168.        the trapping of errors from within the MAKE file.  If the ET (Error
  1169.        Trap) utility finds errors within its trap file, it will cause the
  1170.        MAKE utility to return a non-zero return code which will be
  1171.        interpreted by the Program Build Utility that a possible error has
  1172.        occurred during the Build Session.  If the Program Build Utility
  1173.        determines that an error has occurred in the source file, ProgEd will
  1174.        automatically be invoked and configured in Build Error Mode.
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.        │18
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.                                                              Usage Guidelines
  1193.                                                              ────────────────
  1194.  
  1195.        The following is an example of a MAKE file that utilizes the
  1196.        facilities provided through the Program Build Utility:
  1197.        
  1198.        
  1199.        
  1200.           # MAKE file for Program Build Utility
  1201.           
  1202.           # Revised:  1988-06-01
  1203.           
  1204.           # Copyright (c) 1987, 1988 Architectural Software Products
  1205.           
  1206.           asm_sw=
  1207.           c_sw=
  1208.           
  1209.           E:\BUILD.OBJ: BUILD.C
  1210.             ET CL $(c_sw) -FoE:\$* $*.C
  1211.           
  1212.           E:\BUILDERR.OBJ: BUILDERR.C
  1213.             ET CL $(c_sw) -FoE:\$* $*.C
  1214.           
  1215.           E:\BUILDOPT.OBJ: BUILDOPT.C
  1216.             ET CL $(c_sw) -FoE:\$* $*.C
  1217.           
  1218.           E:\CRT0.OBJ: CRT0.ASM
  1219.             ET MASM $(asm_sw) $*,E:\$*;
  1220.           
  1221.           E:\DATADEF.OBJ: DATADEF.C
  1222.             ET CL $(c_sw) -FoE:\$* $*.C
  1223.           
  1224.           E:\MENUCONT.OBJ: MENUCONT.C
  1225.             ET CL $(c_sw) -FoE:\$* $*.C
  1226.           
  1227.           E:\MENUDISP.OBJ: MENUDISP.C
  1228.             ET CL $(c_sw) -FoE:\$* $*.C
  1229.           
  1230.           E:\MOUSESUP.OBJ: MOUSESUP.C
  1231.             ET CL $(c_sw) -FoE:\$* $*.C
  1232.           
  1233.           E:\SCRFUNC.OBJ: SCRFUNC.C
  1234.             ET CL $(c_sw) -FoE:\$* $*.C
  1235.           
  1236.           E:\SYSFUNC.OBJ: SYSFUNC.C
  1237.             ET CL $(c_sw) -FoE:\$* $*.C
  1238.        
  1239.        
  1240.        The following rules are used within MAKE files when being used in
  1241.        conjunction with Program Build Utility.  The macro definitions differ
  1242.        for each language supported.  The table below illustrates which
  1243.        language is supported for each macro definition:
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.                                                                           19│
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.        Program Build Utility
  1259.        ─────────────────────
  1260.  
  1261.        Macro
  1262.        Definition     Assembler BASIC     C    FORTRAN   Pascal
  1263.        ──────────────────────────────────────────────────────────────────────
  1264.        asm_sw              ■
  1265.        bas_sw                     ■
  1266.        c_sw                               ■
  1267.        for_sw                                    ■
  1268.        pas_sw                                              ■
  1269.        
  1270.        Depending on the values defined through the Build Options Menu, the
  1271.        macro definition will contain the appropriate switch values for the
  1272.        language being used.  Also, if you have defined additional switches,
  1273.        they will be passed to the MAKE file and close attention should be
  1274.        paid to MAKE files that contain mixed language command line
  1275.        definitions.  If a switch value belongs to a given language and it is
  1276.        used on another, an error may result.
  1277.        
  1278.        To be able to use the Microsoft Linker from within the Program Build
  1279.        Utility, you must create a response file that can be used by the
  1280.        linker otherwise an error will be issued by the linker that the
  1281.        response file could not be found.  Depending on the Operating System
  1282.        selected through the Build Options Menu, one of the following
  1283.        automatic response files will be used with the linker:
  1284.        
  1285.        OpSys
  1286.        Definition     Response File Name
  1287.        ────────────────────────────────────────
  1288.        DOS            DOS.LNK
  1289.        OS/2           OS2.LNK
  1290.        OS/2 MT        OS2MT.LNK
  1291.        Windows        WIN.LNK
  1292.        
  1293.        
  1294.        This allows you to create various versions of the final program for
  1295.        each type of operating System you will be supporting.  Also, the
  1296.        CodeView and ExePack switches are used to tell the Microsoft Linker
  1297.        how to link the final executable image file.
  1298.        
  1299.        The following shows an example of the response file defined for a DOS
  1300.        program:
  1301.        
  1302.           /NOE BUILD+BUILDERR+BUILDOPT+DATADEF+MENUCONT+
  1303.           MENUDISP+MOUSESUP+SCRFUNC+SYSFUNC+CRT0
  1304.           Build
  1305.           Build
  1306.           C:\Library\DOSLibS
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.        │20
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.                                                              Usage Guidelines
  1325.                                                              ────────────────
  1326.  
  1327.        The following shows an example of the response file defined for an
  1328.        OS/2 version of the same program:
  1329.        
  1330.           /NOE BUILD+BUILDERR+BUILDOPT+DATADEF+MENUCONT+
  1331.           MENUDISP+MOUSESUP+SCRFUNC+SYSFUNC
  1332.           Build
  1333.           Build
  1334.           C:\Library\OS2LibS
  1335.           Build
  1336.        
  1337.        
  1338.        To be able to use the Microsoft Incremental Linker, you must first set
  1339.        both the Link and ILink switches in the Build Options Menu.  When the
  1340.        final program is built, the linker will be instructed to build the
  1341.        final image of the .EXE file suitable for the Incremental Linker and
  1342.        to create the .SYM and .ILK support files.  You can then clear the
  1343.        Link switch in the Build Options Menu thereby allowing the usage of
  1344.        the Incremental Linker on subsequent builds of the final program.  If
  1345.        you have previously performed this task and the .SYM and .ILK files
  1346.        are present, you only need to set the ILink switch.
  1347.        
  1348.        The Microsoft Segmented-Executable Linker is instructed to initially
  1349.        link with Code Padding at 256 bytes and Data Padding at 128 bytes
  1350.        unless you set an Environment Variable called ILINK to the desired
  1351.        values (see 5.0 Configuring the Program Build Utility).  If the
  1352.        program changes significantly between one build and the next, ILink is
  1353.        instructed to use the full linker to rebuild the program.
  1354.        
  1355.        Of the switches set through the Build Options Menu, the Data switch
  1356.        options should be understood before using them to any great extent.
  1357.        Under normal compilation, the Microsoft C Optimizing Compiler and the
  1358.        Microsoft FORTRAN Optimizing Compiler use the default definitions for
  1359.        near and far data items when the memory model is compact, large or
  1360.        huge.  If the Far switch is selected, the -Gt1 switch will be issued
  1361.        to the compiler effectively forcing all data items into a separate far
  1362.        segment and out of the near data segment (DGROUP).
  1363.        
  1364.        To allow for Windows development, you can select Windows under Op Sys.
  1365.        When selected, the Program Build Utility will instruct the C and
  1366.        Pascal compilers to compile the source module for the Windows
  1367.        environment thereby ensuring that the proper prologue and epilogue
  1368.        sequences are included for each function within the source module.
  1369.        
  1370.        To allow for different include files for multi-threaded programs when
  1371.        using the Microsoft C Optimizing Compiler, an Environment Variable can
  1372.        be set to described the path of the header files that are to be used.
  1373.        The Environment Variable is OS2MTINCLUDE and should contain the full
  1374.        path for where the header files are located.  When the OS/2 MT Op Sys
  1375.        designation has been selected in the Build Options, the Program Build
  1376.        Utility will include the following switch when C files are compiled:
  1377.        
  1378.           -Imtincludepath
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.                                                                           21│
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.        Program Build Utility
  1391.        ─────────────────────
  1392.  
  1393.        where mtincludepath is the path from the OS2MTINCLUDE Environment
  1394.        Variable.  If the OS2MTINCLUDE Environment variable is not included,
  1395.        the switch will not be issued to the C compiler.
  1396.        
  1397.        The Op Sys switches also are used to allow for selecting the proper
  1398.        language libraries depending on the target operating system as
  1399.        selected.  The DOSLIB, OS2LIB, OS2MTLIB and WINLIB Build Environment
  1400.        Variables can be used to define the paths where the language libraries
  1401.        are stored.  This effectively allows you to use the default library
  1402.        names such as SLIBCE.LIB instead of SLIBCEP.LIB while storing the
  1403.        libraries in two separate sub-directories.  Each time a program is
  1404.        linked, the Program Build Utility will set the LIB Environment
  1405.        Variable according to the operating system defined through the Build
  1406.        Options Menu and the corresponding Build Library Environment Variable.
  1407.        If the Build Library Environment variables are not defined, you can
  1408.        still use the LIB Environment variable in the normal way.
  1409.        
  1410.        Another switch that is provided within the Build Options Menu,
  1411.        Release, is used to imbed a release version string within the target
  1412.        object module.  The format that the final string will take is:
  1413.        
  1414.           @@@@####%%%% Mon May 09 09:00:00 EDT 1988
  1415.        
  1416.        where the current date and time will be derived from the current
  1417.        Operating System date recorded within the computer at the moment that
  1418.        the module is re-built.  To effectively use this feature, you should
  1419.        include the Operating System Environment variable TZ to denote the
  1420.        local time zone in effect.  The form that this variable takes is:
  1421.        
  1422.           TZ=EST5EDT
  1423.        
  1424.        If no TZ variable is found, then the default PST8PDT is used.  This
  1425.        option is only available for the Microsoft C Optimizing Compiler and
  1426.        the Microsoft FORTRAN Optimizing Compiler.
  1427.        
  1428.        To select an item within the Build Options Menu, two methods are
  1429.        available.  The first method is to use the cursor direction keys to
  1430.        move the selection bar to the desired item and then to hit the <┘ key
  1431.        to cause the actual selection.  The second method is to use the Mouse
  1432.        to select the item.  All that is necessary when using the Mouse is to
  1433.        click the Mouse cursor on the desired item.
  1434.        
  1435.        To exit from the Build Options Menu, you can either press the Esc key
  1436.        or click the Mouse cursor the Exit line within the menu.  Once you
  1437.        have exited from the Build Options Menu, the current Build Options
  1438.        will be displayed within the Build Settings Window to allow you to
  1439.        easily determine which options you have selected before using the
  1440.        F2=Compile function.
  1441.        
  1442.        
  1443.        3.0 Mouse and Keyboard Usage
  1444.        
  1445.        The usage of a Mouse is fully supported within the Program Build
  1446.        Utility.  This is one of the unique characteristics of the Program
  1447.  
  1448.  
  1449.  
  1450.        │22
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.                                                              Usage Guidelines
  1457.                                                              ────────────────
  1458.  
  1459.        Build Utility and can actually increase the speed of the development
  1460.        process.
  1461.        
  1462.        When using the Mouse with dialogue windows, the following conventions
  1463.        are used.  Pressing the left Mouse button is the equivalent of
  1464.        pressing the Esc key and pressing the right Mouse button is the
  1465.        equivalent of pressing the <┘ key.
  1466.        
  1467.        When working with the directory file list, you can use the Mouse to
  1468.        select a file within the file list simply by moving the Mouse cursor
  1469.        to the file desired within the list and clicking either Mouse button.
  1470.        This will cause the highlight bar to move to the file that was clicked
  1471.        on.  To view subsequent pages of the directory list, you can click the
  1472.        Mouse cursor on the scroll bar either above or below the scroll bar
  1473.        elevator.  Clicking the Mouse cursor above the scroll bar elevator is
  1474.        the equivalent of pressing the PgUp key and conversely, clicking the
  1475.        cursor below the elevator is the same as pressing the PgDn key.
  1476.        
  1477.        When in the file list view, if you double click the left Mouse button
  1478.        on the desired file, the Programmer's Editor will be invoked as though
  1479.        you had selected the file and used the File Edit Pull Down Menu
  1480.        function.  Alternately, if you in the directory list view, if you
  1481.        double click the left Mouse button on the desired sub-directory, the
  1482.        sub-directory will be selected.  This is similar to selecting the sub-
  1483.        directory and then selecting the Directory ChDir Pull Down Menu
  1484.        function.
  1485.        
  1486.        When entering text in a dialogue window, you have a multitude of
  1487.        editing options which you can you use.  The following editing options
  1488.        are available for use:
  1489.        
  1490.        Key                 Function
  1491.        ──────────────────────────────────────────────────────────────────────
  1492.        Cursor Right        Moves the cursor right one character.
  1493.        Cursor Left         Moves the cursor left one character.
  1494.        Ctrl+Cursor Right   Moves the cursor right to the beginning of the
  1495.                            next word.
  1496.        Ctrl+Cursor Left    Moves the cursor left to the beginning of the
  1497.                            previous word.
  1498.        Ins                 Changes the text cursor to a full block to
  1499.                            indicate Insert Mode is on.  Pressing the Ins key
  1500.                            a subsequent time will cancel Insert Mode and
  1501.                            returning the text cursor to normal size.
  1502.        Del                 Will delete the character currently above the text
  1503.                            cursor.
  1504.        Ctrl+End            Will delete all text starting at the current
  1505.                            cursor position to the end of the line.
  1506.        Backspace           Will delete the character immediately to the left
  1507.                            of the text cursor.
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.                                                                           23│
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.        Program Build Utility
  1523.        ─────────────────────
  1524.  
  1525.        4.0 Build Limits
  1526.        
  1527.        The following describe the maximum limits of the Program Build
  1528.        Utility:
  1529.        
  1530.        Maximum Number of Files
  1531.        within Directory List:             255
  1532.        Maximum Number of Characters
  1533.        at Dialogue Window Prompt:         68
  1534.        
  1535.        
  1536.        5.0 Configuring the Program Build Utility
  1537.        
  1538.        There are ways of configuring the Program Build Utility to best suit
  1539.        you system.  The following Environment Variables can be defined for
  1540.        use by the Program Build Utility:
  1541.        
  1542.        BUILD          Path where object files are created
  1543.        TMP            Path where temporary files are created
  1544.        CV             CodeView options
  1545.        TZ             Time zone in effect
  1546.        OS2MTINCLUDE   Path where OS/2 Multi-Thread C Include files are
  1547.                       located
  1548.        ILINK               Padding Switches (/PADC:xxx /PADD:xxx see Language
  1549.                       Manuals for explanation of switch usage and values for
  1550.                       xxx)
  1551.        DOSLIB         Path for to search for DOS support library files
  1552.        OS2LIB         Path for to search for OS/2 support library files
  1553.        OS2MTLIB       Path for to search for OS/2 multi-threaded support
  1554.                       library files
  1555.        WINLIB         Path for to search for Windows support library files
  1556.        
  1557.        If you are only going to use one particular operating system target
  1558.        environment, you can ignore including the various library paths with
  1559.        the corresponding Environment Variables.  The library Environment
  1560.        variables are useful if you a developing programs for various
  1561.        operating system environments.  The Program Build Utility will
  1562.        automatically set the LIB Environment Variable each time you change
  1563.        the Op Sys designation through the Build Options Menu.
  1564.        
  1565.        
  1566.        5.1 Language Considerations
  1567.        
  1568.        For the Program Build Utility Build Facilities to work properly, the
  1569.        following Environment Variables need to be set for the following
  1570.        languages:
  1571.        
  1572.        CL             Default input files and options for the CL driver
  1573.        FL             Default input files and options for the FL driver
  1574.        PL             Default input files and options for the PL driver
  1575.        MASM           Default Assembler Options
  1576.        LINK           Default options for the Link command
  1577.        LIB            Paths to search for library files
  1578.  
  1579.  
  1580.  
  1581.  
  1582.        │24
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.                                                              Usage Guidelines
  1589.                                                              ────────────────
  1590.  
  1591.        For the Microsoft C Optimizing Compiler CL, Microsoft FORTRAN
  1592.        Optimizing Compiler FL and Microsoft Pascal Version 4.0 PL drivers to
  1593.        work correctly with the Program Build Utility, the /c switch needs to
  1594.        be defined with the CL, FL and PL Environment Variables otherwise CL,
  1595.        FL or PL will issue a command line error.
  1596.        
  1597.        The remaining Environment Variables may be included within the
  1598.        Operating System Environment to enable you to configure the
  1599.        programming environment to your specific needs.
  1600.        
  1601.        
  1602.        5.2 Sample Environment
  1603.        
  1604.        The following OS/2 Set commands are examples of how to use the
  1605.        Environment Variables in conjunction with the Program Build Utility
  1606.        Programming Environment.  The sample machine has a hard disk, and two
  1607.        Virtual or RAM Disks, E: and F: respectively.  The C and Macro
  1608.        Assembler Include files are contained in the F: virtual disk and the
  1609.        object files are stored in the E: virtual disk for speed.  All source
  1610.        files are contained on the hard disk, C:.  Any temporary files created
  1611.        are also stored on the F: virtual disk.  Library files for DOS and
  1612.        Windows are contained in a sub-directory called LIBRARY and library
  1613.        files for OS/2 are contained in a sub-directory called OS2\LIB on the
  1614.        hard disk.
  1615.        
  1616.        The following Set commands would be included in the OS2INIT.CMD file
  1617.        so that they are automatically included within the Operating System
  1618.        Environment when each session is started:
  1619.        
  1620.           Set Include=F:\
  1621.           Set Tmp=F:\
  1622.           Set OS2MTInclude=F:\MT
  1623.           Set MASM=-V
  1624.           Set CL=/c
  1625.           Set FL=/c
  1626.           Set PL=/c
  1627.           Set CV=/50
  1628.           Set DOSLib=C:\Library
  1629.           Set OS2Lib=C:\OS2\Lib
  1630.           Set OS2MTLib=C:\OS2\Lib
  1631.           Set WinLib=C:\Library
  1632.           Set ILink=/PadC:128 /PadD:64
  1633.           Set Build=E:\
  1634.           Set TZ=EST5EDT
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.                                                                           25│
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.        Program Build Utility
  1655.        ─────────────────────
  1656.  
  1657.        6.0 Support Files
  1658.        
  1659.        The following support files are provided with the Program Build
  1660.        Utility:
  1661.        
  1662.        BUILDBG.EXE    Program Build Utility Background Build Support Utility
  1663.        ET.EXE         Error trapping utility for use with the Microsoft Make
  1664.                       utility
  1665.        PROGED.EXE          Programmer's EditorTM for file editing and
  1666.                            advanced error trapping support
  1667.        
  1668.        These files should be included in a subdirectory that is included in
  1669.        the OS/2 PATH command.
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714.        │26
  1715.  
  1716.  
  1717.