----------------------------------------------------------------------
1.  Overview
----------------------------------------------------------------------

----------------------------------------------------------------------
2.  Library Notes & Requirements
----------------------------------------------------------------------

a.  OpenCPN S57 ENC support works best with access to the OpenGL Utility
library GLU.  GLU is used to tesselate large polygon areas into small
triangles for faster display rendering.  If you cannot use, or do not have
the OpenGL Utility library, you may choose to build OpenCPN with internal
tesselator support.  The internal tesselator is sub-optimal compared to GLU,
but it does work, if somewhat slower. OpenGLU is better.
See the Build Notes section for applicable tesselator configuration options.


b.  OpenCPN requires WxWidgets Version 3.0.0 or greater.  It has been tested
with the following wxWidgets hosts:

         GTK3                 (__WXGTK__)
         MSWindows            (__WXMSW__)
         MAC OSx              (__WXOSX__)


----------------------------------------------------------------------
3.  Platform Specific Build Notes
----------------------------------------------------------------------

Up to date build dependency instructions can be found at
https://opencpn-manuals.github.io/main/opencpn-dev/, look for
OpenCPN Development.

On Debian/Ubuntu the canonical way to install build depencies is:

    $ sudo apt install devscripts equivs
    $ sudo mk-build-deps -i -r ci/control
    $ sudo apt-get --allow-unauthenticated install -f

------------------------
Build OpenCPN
------------------------

Opencpn uses the cmake system. On Linux, the build is performed using:


    $ cd {wherever the opencpn base directory is}
    $ mkdir build
    $ cd build
    $ cmake ..

    $ make -j 4
    $ sudo make install

See the manual at https://opencpn-manuals.github.io/main/opencpn-dev/
for build instructions on other platforms.


----------------------------------------------------------------------
4.  File and Directory Permissions under Linux
----------------------------------------------------------------------

It is sufficient for all other directories in /usr/share/opencpn
to have permissions 0755, i.e. exec/searchable and readable by all.

----------------------------------------------------------------------
5. Support File Locations
----------------------------------------------------------------------

a.  Opencpn requires numerous auxiliary data files.  These files
are installed by the installer into the following locations by default:

      Linux   - /usr/local/share/opencpn/
      Windows - \Program Files\opencpn\
      Mac     - /Users/YourUserName/openCPNfiles/

The following directories exist within the above:
         .../bitmaps                     - self evident
         .../tcdata                      - tide and current location data
         .../s57data                     - data files for S57ENC support
         .../wvsdata                     - World Vector Shoreline data

b.  Opencpn config files are expected in the following locations:

      Linux   - ~/.opencpn/opencpn.conf
      Windows - \Program Files\opencpn\opencpn.ini

The installer will place nice default files for your use.  The first
execution of opencpn will update as needed.  If for some reason the
config file is not found, opencpn will offer to create a useable
starting configuration.
