Harbour directory structure
===========================

Follow are the various directories that exist under the Harbour tree.


<root>                  - Main Harbour directory. Contains all the various
|                         make file and Changelog (=changes history) file.
|
+---bin                 - Executable and helper scripts.
|                         Should contain Harbour and other executables. (*)
|
+---config              - Configuration Files (.mk) for the GNU Make system.
|   |
|   +---<platform>      - Configuration files specific to <platform>.
|
+---contrib             - Packages built as part of the default build process.
|                         (see description of each package in their respective
|                         .hbc file)
|
+---debian              - Packaging information for Debian GNU/Linux.
|
+---doc                 - Documentation and white-papers.
|   |
|   +---en              - English documentation.
|
+---extras              - Examples, patches, libs and utils that didn't fit 'contrib'.
|
+---include             - Include files for both Harbour and C.
|
+---lib                 - Run-Time libraries binaries for each platform. (*)
|   |
|   +---3rd             - 3rd party binaries
|
+---src                 - All source files reside underneath.
|   |
|   +---codepage        - National codepage collection.
|   |
|   +---common          - Common function and expression optimizer.
|   |
|   +---compiler        - Harbour compiler module.
|   |
|   +---debug           - Debugger.
|   |
|   +---hbextern        - Library with all function binding available for
|   |                     .prg code
|   |
|   +---3rd             - Locally hosted copies of 3rd party libraries
|   |                     required by core code or deemed important enough
|   |                     to be provided as part of core.
|   |                     (plays a role primarily on non-*nix systems)
|   |
|   +---lang            - National language message support files.
|   |
|   +---macro           - Macro compiler.
|   |
|   +---main            - Harbour compiler main source.
|   |
|   +---pp              - Harbour preprocessor.
|   |
|   +---rdd             - Replaceable Database Driver (RDD).
|   |   |
|   |   +---dbfcdx      - DBFCDX RDD.
|   |   |
|   |   +---dbffpt      - DBFFPT RDD.
|   |   |
|   |   +---dbfnsx      - DBFNSX RDD.
|   |   |
|   |   +---dbfntx      - DBFNTX RDD.
|   |   |
|   |   +---hbsix       - SIx compatible functions.
|   |   |
|   |   +---hsx         - HiPer-SEEK / CFTS compatible library.
|   |   |
|   |   +---nulsys      - NULL RDD.
|   |   |
|   |   +---usrrdd      - USRRDD which allows to create a new RDD at PRG level.
|   |       |
|   |       +---example - Usage examples.
|   |       |
|   |       +---rdds    - A set of simple RDDs all written in PRG.
|   |
|   +---rtl             - Run-Time libraries functions and various General
|   |   |                 Terminal (GT) implementation
|   |   |
|   |   +---gtcgi       - GT subsystem aimed at cgi-bin applications.
|   |   |
|   |   +---gtcrs       - GT subsystem based on ncurses.
|   |   |
|   |   +---gtdos       - GT subsystem for MS-DOS platform.
|   |   |
|   |   +---gtgui       - Minimal GT for Windows GUI programs.
|   |   |
|   |   +---gtos2       - GT subsystem for OS/2 platform.
|   |   |
|   |   +---gtpca       - GT subsystem for ANSI terminals.
|   |   |
|   |   +---gtsln       - GT subsystem based on slang.
|   |   |
|   |   +---gtstd       - GT subsystem for plain ANSI C stream IO.
|   |   |
|   |   +---gttrm       - GT subsystem for terminal. It does not use
|   |   |                 termcap/terminfo for terminal escape sequences,
|   |   |                 but rather hard coded ones for basic capabilities.
|   |   |
|   |   +---gtwin       - GT subsystem for Windows compilers (Console).
|   |   |
|   |   +---gtwvt       - GT subsystem for Windows using GUI windows instead of
|   |   |                 Console.
|   |   |
|   |   +---gtxwc       - GT subsystem for XWindow Console.
|   |   |
|   |   +---gt_tpl      - GT subsystem template.
|   |
|   +---vm              - Harbour Virtual Machine and internal Run-Time
|       |                 library functions.
|       |
|       +---mainstd     - mainstd helper library.
|       |
|       +---mainwin     - mainwin helper library.
|       |
|       +---vmmt        - GNU Makefile for creating the multi-threaded version
|                         of the VM library.
|
+---tests               - Test programs.
|   |
|   +---bldtest         - Simple C program to check if Harbour can be compiled
|   |                     on the current machine, system and C compiler.
|   |
|   +---hbpptest        - Regression tests for the preprocessor.
|   |
|   +---mt              - Various multi-threading tests.
|   |
|   +---multifnc        - Overloading C functions test.
|   |
|   +---rddtest         - RDD tests.
|
+---utils               - Utilities and tools that are part of Harbour.
    |
    +---hbi18n          - Harbour i18n .pot/.hbl file manager.
    |
    +---hbmk2           - Harbour Make utility.
    |   |
    |   +---examples    - Usage examples.
    |
    +---hbspeed         - Harbour speed tests.
    |
    +---hbtest          - Regression tests for the Run-Time library.


Legend:
=======
(*)      Should exist in a final build or if you build them yourself, in
         source repository this directory is empty or does not contain
         all files.


Chen Kedem <niki@synel.co.il>
