README - Fast Light Tool Kit (FLTK) Version 1.4.0
-------------------------------------------------

WHAT IS FLTK?

    The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a
    a cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11 or
    Wayland), Microsoft(r) Windows(r), and macOS(r). FLTK provides
    modern GUI functionality without the bloat and supports 3D
    graphics via OpenGL(r) and its built-in GLUT emulation. It
    was originally developed by Mr. Bill Spitzak and is
    currently maintained by a small group of developers across
    the world with a central repository in the US.


LICENSING

    FLTK comes with complete free source code. FLTK is available
    under the terms of the GNU Library General Public License.
    Contrary to popular belief, it can be used in commercial
    software! (Even Bill Gates could use it.)


ON-LINE DOCUMENTATION

    The documentation in HTML and PDF forms can be created by
    Doxygen from the source files. HTML and PDF versions of this
    documentation is also available from the FLTK web site at:

        https://www.fltk.org/documentation.php


BUILDING AND INSTALLING FLTK UNDER UNIX AND macOS

    Beginning with FLTK 1.4 the main and recommended build system
    is CMake. CMake is a "build system generator" and can be used
    to create Makefile's, Ninja build files, Xcode (macOS),
    Visual Studio (Windows) IDE files and many more.

    Please see README.CMake.txt for further information.

    Alternatively FLTK can be built with autoconf + make, the
    build system used in FLTK 1.3 and earlier versions. Please
    be aware that the following information may be outdated
    because it is no longer actively maintained.

    In most cases you can just type "make".  This will run configure
    with the default (no) options and then compile everything.

    FLTK uses GNU autoconf to configure itself for your UNIX
    platform. The main things that the configure script will
    look for are the X11, OpenGL (or Mesa), and JPEG header and
    library files.  Make sure that they are in the standard
    include/library locations.  If they aren't you need to
    define the CFLAGS, CXXFLAGS, and LDFLAGS environment
    variables.

    If you aren't using "gcc", "g++", "c++", or "CC" for your
    C++ compiler, you'll also need to set the CXX environment
    variable. Similarly, if you aren't using "gcc" or "cc" for
    your C compiler you'll need to set the CC environment variable.

    You can run configure yourself to get the exact setup you
    need. Type "./configure <options>".  Options include:

        --enable-cygwin         - Enable the Cygwin libraries (Windows)
        --enable-debug          - Enable debugging code & symbols
        --disable-gl            - Disable OpenGL support
        --enable-shared         - Enable generation of shared libraries
        --enable-threads        - Enable multithreading support
        --enable-xdbe           - Enable the X double-buffer extension
        --enable-xft            - Enable the Xft library (anti-aliased fonts)
        --enable-pango          - Draw text with the pango library
        --enable-wayland        - Use the Wayland system for handling windows

        --bindir=/path          - Set the location for executables
                                  [default = /usr/local/bin]
        --libdir=/path          - Set the location for libraries
                                  [default = /usr/local/lib]
        --includedir=/path      - Set the location for include files.
                                  [default = /usr/local/include]
        --prefix=/dir           - Set the directory prefix for files
                                  [default = /usr/local]

    When the configure script is done you can just run the
    "make" command. This will build the library, FLUID tool, and
    all of the test programs.

    To install the library, become root and type "make
    install".  This will copy the "fluid" executable to
    "bindir", the header files to "includedir", and the library
    files to "libdir".

    To install additional files and icons to be used by the main
    desktop environments such as KDE, GNOME and XFCE, you will also
    need to run "make install-desktop" as root.


GIT USERS

    If you've just checked out a fresh copy of FLTK from GIT,
    you'll need to generate an initial version of 'configure'
    by running 'make makeinclude' (we don't include a copy
    of configure in git).


MAKE TARGETS

    make            -- builds the library + test programs (does not install)
    make install    -- builds and installs
    make clean      -- clean for a rebuild
    make distclean  -- like 'clean', but also removes docs, configure, fltk-config
    ( cd src; make ) -- builds just the fltk libraries


BUILDING FLTK UNDER MICROSOFT WINDOWS

    There are two ways to build FLTK under Microsoft Windows.
    The first is to use CMake to create the Visual C++ project files
    in your favorite development directory, then build FLTK with
    Visual Studio.

    The second method is to use a GNU-based development tool.
    To build with the Cygwin or MinGW tools, use the supplied
    configure script as specified in the UNIX section above:

        sh configure ...options...

    See README.Windows.txt and README.CMake.txt for more info.


BUILDING HTML DOCUMENTATION

    If you want to build the HTML documentation:

        ( cd documentation && make html )

    If you want to build the PDF documentation:

        ( cd documentation && make pdf )

    FLTK uses doxygen for documentation, so you'll at least need doxygen
    installed for creating html docs, and LaTeX for creating PDF docs.


INTERNET RESOURCES

    FLTK is available on the 'net in a bunch of locations:

        - WWW:   https://www.fltk.org/
                 https://www.fltk.org/bugs.php [for reporting bugs]
                 https://www.fltk.org/software.php [source code]


GENERAL QUESTIONS

    To join the FLTK mailing list, go the following web page:

        https://groups.google.com/forum/#!forum/fltkgeneral

    You can find detailed instructions how you can register for the mailing
    list (even w/o a Google mail address) at the bottom of this page:

        https://www.fltk.org/newsgroups.php


REPORTING BUGS

    If you are new to FLTK, or have general questions about how to use FLTK,
    or aren't sure if you found a bug, please ask first on the fltk.general
    group forum at:

        https://groups.google.com/forum/#!forum/fltkgeneral

    See paragraph GENERAL QUESTIONS above for more info.

    If you are sure you found a bug, please see the following page for
    further information:

        https://www.fltk.org/bugs.php


TRADEMARKS

    Microsoft and Windows are registered trademarks of Microsoft
    Corporation. UNIX is a registered trademark of the X/Open
    Group, Inc.  OpenGL is a registered trademark of Silicon
    Graphics, Inc.  Mac OS is a registered trademark of Apple
    Computers, Inc.


COPYRIGHT

    FLTK is copyright 1998-2020 by Bill Spitzak and others,
    see the CREDITS file for more info.

    This library is free software. Distribution and use rights are
    outlined in the file "COPYING" which should have been included with
    this file.  If this file is missing or damaged, see the license at:

        https://www.fltk.org/COPYING.php
