              EPM 6.03 Interface to EMX/GCC, ICC, and other compilers

                             EPMGCC Version  3.00

                               Bernhard Bablok

                                 July, 1996

History:
~~~~~~~
3.00: - Non 32bit versions of EPM are no longer supported.
      - Added support for IBM's Visual Age C++.
      - New menu option "Save settings": if this option is checked, all settings
        (menu options, compile/build options, current parser module) are saved
        inbetween sessions in EPM.INI. The only exception are the last five
        opened projects, they are saved independently of this switch.
      - UNLINK now works with relative pathnames, therefore all occurences of
        GCC_MACRO_PATH have been removed from the macros.
      - All universal variables now start with gcc_. Therefore, all *set.e macros
        have to be changed (see gcc.doc for details).

2.10: (Never publicly released)
      - Support for EPM 6.0x (the 32bit version of EPM) added (mainly support
        for calling EPMGCC-commands from the toolbar)
      - New menu-option "Select Project". The last five projects are saved in
        EPM.INI and are available from a listbox.
      - Runtime arguments are now also available for "Debug Exe"
      - Runtime arguments are saved inbetween sessions in EPM.INI
      - "Open Project" is now available from the menu, even if a project is
        already open. Opening a new project just closes the old one.
      - Good news for 4OS2-users: no more problems with the start command (is
        this correct (I don't use it)?). Cristoph Spiel from Munich proposed
        a solution which also works with the standard OS/2 start command, so
        I changed the code.
      - Some minor bug corrections

2.00: - Design change: the error-parser is loaded as a seperately module. This
        allows for changing the compiler and parser at runtime. Parser modules
        are included for GCC, BCC, ICC and IPFC.
      - The makefile maintenance utility epro.cmd is now distributed seperately
        (Available as epro.zip, added some new functionality).

1.10: - Bug fix in epro.cmd (see epro.doc)
      - Bug fixes in gccproc.e (didn't work with makefiles without extensions,
        "View Results" would repeatedly load the same file into the editor)
      - New menu toggle "Remove .err-files automatically" (before every compile
        or build all .err-files are removed automatically from the edit-ring)

1.00: - first public release


Legal stuff:
~~~~~~~~~~~
See the file license.txt.


Summary:
~~~~~~~
EPMGCC adds toolbar, menu and function key support to IBM's Enhanced Editor EPM.
It was developed to facilitate the work with EMX, but it works with other
compilers, make-utilities and debuggers too.

With EPMGCC you can compile (and link) files, build projects, maintain makefiles
and so on without leaving the editor. Since compile- and make-results are piped
to an error-file, it is possible to move from error to error simply by pressing
a predefined key combination. The cursor is positioned on the correct line (i.e.
the line with the error). All source-files are loaded into the edit-ring
automatically if necessary.


Contents:
~~~~~~~~
This package consists of 31 files:

README       -  This file.

license.txt  -  License information for using this package (basically pilfered
                from IBM).

INSTALL.DOC  -  Read this to learn how to install the complete EPM package
                and how to compile the EPMGCC interface.

gcc.doc      -  Description of the EMX/GCC interface.

gccconst.e   -  The E source code for the defintion of internal constants.

gcc.e        -  The E source code for the menu definitions and commands.

gccproc.e    -  THIS FILE HAS BEEN REMOVED, BECAUSE IT IS OBSOLETE NOW.

gcckeys.e    -  The E source code that define accelerator key definitions.

gccmenu.e    -  Supplemental E source code for menu attribute rendering.

gccactn.e    -  The E source code for toolbar support.

ACTIONS.LST  -  Modified actions.lst file (added gccactn line).

gcc.bar      -  Sample toolbar

close.bmp    -  Some terrible looking bitmaps for "open project", "close project",
open.bmp        and "select project" (I am a programer, not an artist).
select.bmp

makemacs.cmd - Command file to translate all modules.

gccparse.e   -  The E source code for the various error-parsers (GCC, Borland's
bccparse.e      BCC, IBM's ICC and IPFC).
iccparse.e
ipfparse.e

gccset.e     -  The E source code for the setup (configuration) macros for the
bccset.e        various compilers. These files might need to edited to suit your
iccset.e        needs (iccset2 and vacppst2 are versions with NMAKE instead of
iccset2.e       the much more powerful GNU-make).
vacppset.e
vacppst2.e
ipfset.e

gccenv.smp   -  Sample configuration file for EPMGCC. This file reproduces the
                defaults.

mycnf.smp    -  My version of the EPM configuration file (mycnf.e) that you may
                wish to try, or use as a starting point for your own mycnf.e
                file.

mystuff.smp  -  My version of mystuff.e (includes applications like gcc.e or
                tex.e).

mymnuini.smp -  My version of mymnuini.e (includes menu-support code).

mykeys.smp   -  My version of mykeys.e (definition of keys and/or keysets).


Disclaimer:
~~~~~~~~~~
I am by no means an expert on programming the EPM enhanced editor.  While this
interface is my standard tool for working with EMX, there could easily be
oversights on my part that result in problems for some configurations of EPM.
If you think you have found a genuine bug, or would like to make suggestions,
contributions, or enhancements to this code please drop me a note.  Since I have
released this code without charge, I cannot offer a warranty or customer
support.  Everything you need to get going should be available in the
install.doc file and IBM supplied EPM documentation.


Credit:
~~~~~~
Credit has to be given to Jon Hacker who wrote EPMTEX, the TeX interface to EPM.
Some of the ideas are taken from his excellent
work. With his code as a basis, the development of this application was straight
forward. Any errors and oversights are nevertheless my fault.

6/22/96
Bernhard Bablok
D-82256 Fuerstenfeldbruck, Germany
INTERNET: ua302cb@sunmail.lrz-muenchen.de
