   ------------------------------------------------------------------------

                                N O T E

    NOTE: this file only provides a general overview of the Hercules build
    procedure and is not maintained regularly. Please also refer to the
    main "Installation and Operation" web page which provides additional
    more detailed instructions for building Hercules, including building
    the all important External Packages if necessary. The webpage URL is:

    
          https://sdl-hercules-390.github.io/html/hercinst.html

    
    The build for some platforms is also documented in our README document
    at: https://github.com/SDL-Hercules-390/hyperion/blob/master/README.md

    The information below only provides general overall build information.
   ------------------------------------------------------------------------


-------------------------------------------------------------------------------


                         BUILDING HERCULES


This document describes how to build Hercules on Linux. If you are wanting
to build the Windows version of Hercules, please refer to the README.WIN64
document instead.


                        -------------------
                         Build Preparation
                        -------------------


In order to build Hercules from the repository sources, you must have
installed the minimum versions of the development packages as reported
by the 'bldlvlck' script in the 'util' subdirectory:


    Note:  the below listed versions may not be correct;
           please run the 'util/bldlvlck' script for the
           most current list of minimum versions.


     Package   Version  (or greater!)
    ----------------------------------
     flex        2.5    (or greater!)
     gawk        3.0    (or greater!)
     gcc         3.0    (or greater!)
     grep        1.0    (or greater!)
     m4          1.4.6  (or greater!)
     make        3.79   (or greater!)
     perl        5.6    (or greater!)
     sed         3.02   (or greater!)


The following package(s) is(are) optional but highly recommended:

     Package   Version  (or greater!)
    ----------------------------------
     zlib            ?                  (for ZLIB compression)
     libbz2          ?                  (for BZIP2 compression)
     oorexx          ?                  (for REXX support)


* If an optional package is not installed, the resulting build may lack
  an optional feature, but should be usable otherwise.

All of these tools can be found at www.gnu.org in source code form, and
are also widely available in packaged form (RPM, DEB, Solaris packages,
etc.).

Note that you will also need to build and install all of the Hercules
External Packages for your CPU architecture before attempting to build
Hercules if your CPU architecture is not x86 (or x86_64) or you have
a non-mainstream Linux/Unix distribution. Refer the the README.EXTPKG
document for more information.


                        -------------------
                         Building Hercules
                        -------------------


Before you trying using the configure script, you may wish to review
the information in the INSTALL file. It contains generic installation
instructions for how to build/install most any package. The instructions
there pertain just as much to Hercules as they do to any other package.

Since the information there is pretty detailed however, rather than try
to slog your way through it all, you may wish to first review the below
summarized version first.

Briefly, the way you build Herc is to first "configure" the building
process and then invoke your pre-configured building process. The build
process basically consists of a 'make' command which processes a 'makefile'.
The makefile however needs to be customized for your system. That's what
the "configure" script does. It contructs a customized makefile and that
is what is meant by "configuring your building process".


Here's the entire build process step-by-step:


    Switch to the directory where the source files are:


        cd hercules


    Configure your build options by entering the following command:


        ./configure  ...


    (Note: you may or may not wish to enter additional parameters
    to the configure command. See further below)

    Then simply invoke your pre-configured build process by entering
    the following command:


        make


    That's it! The 'make' command should build Hercules for you. After
    it's been built, you may or may not wish to "install" it.

    To "install" Hercules into the default package installation
    directory after building it, enter the following command:


        sudo make install


    That will copy the just built binaries to their proper place.

    To uninstall Hercules once it's been installed, simply enter the
    command:


        sudo make uninstall


    and the previously copied files will be removed (deleted).


-------------------------------------------------------------------------------
