Copyright (C) 2009-2021 Simon Josefsson.  Licensed under the GPLv3+.

.Download, build and self-check version controlled sources:
----
git clone https://gitlab.com/oath-toolkit/oath-toolkit.git
cd oath-toolkit
make
make check
----

Links to resources that may be useful if you want to get involved the
project:

- Mailing list: https://lists.nongnu.org/mailman/listinfo/oath-toolkit-help
- Savannah OATH Toolkit Project: https://savannah.nongnu.org/projects/oath-toolkit/
- GitLab OATH Toolkit Project: https://gitlab.com/oath-toolkit/oath-toolkit
- GitLab Bug tracker: https://gitlab.com/oath-toolkit/oath-toolkit/issues
- Savannah bug tracker: https://savannah.nongnu.org/support/?group=oath-toolkit
- Code browser: https://gitlab.com/oath-toolkit/oath-toolkit/tree/master
- Code coverage report: https://oath-toolkit.gitlab.io/oath-toolkit/coverage/
- Clang code analysis: https://oath-toolkit.gitlab.io/oath-toolkit/clang-analyzer/
- Pre-release version of website: https://oath-toolkit.gitlab.io/oath-toolkit/

We rely on several tools to build the software, including:

- Make <https://www.gnu.org/software/make/>
- C compiler <https://www.gnu.org/software/gcc/>
- Automake <https://www.gnu.org/software/automake/>
- Autoconf <https://www.gnu.org/software/autoconf/>
- Libtool <https://www.gnu.org/software/libtool/>
- Bison <https://www.gnu.org/software/bison/>
- help2man <https://www.gnu.org/software/help2man/>
- Gengetopt <https://www.gnu.org/software/gengetopt/>
- Tar <https://www.gnu.org/software/tar/>
- Gzip <https://www.gnu.org/software/gzip/>
- GTK-DOC <https://gitlab.gnome.org/GNOME/gtk-doc> (for API manuals)
- Git <https://git-scm.com/>
- Valgrind <https://valgrind.org/> (optional)
- PAM library/headers (optional, required for PAM module)
- XMLSec <https://www.aleksey.com/xmlsec/> (optional, for libpskc)

The software is typically distributed with your operating system, and
the instructions for installing them differ.  Here are some hints:

.gNewSense/Debian/Ubuntu dependencies:
-----
apt-get install make git autoconf automake libtool bison
apt-get install libpam0g-dev libxmlsec1-dev libxml2-utils
apt-get install help2man gtk-doc-tools dblatex valgrind gengetopt
-----

If you have hints on how to install the required dependencies on other
operating systems, please let us know.

When building from version controlled sources, some developer specific
flags are automatically enabled.  For example, the self-checks are run
under valgrind if available.  For various reasons, you may run into
valgrind false positives that will cause self-checks to fail.  We ship
a Valgrind suppression file to address common issues.  You can use it
by putting the following in your ~/.valgrindrc:

----
--suppressions=/path/to/oath-toolkit/libpskc/tests/libpskc.supp
----

To prepare releases (see rules in cfg.mk) you need some additional
tools:

- Groff <https://www.gnu.org/software/groff/>
- Asciidoc <http://www.methods.co.nz/asciidoc/>
- XSLT <http://xmlsoft.org/xslt/>
- Lcov (to produce coverage HTML pages)
- Clang (to produce clang analysis)

.gNewSense/Debian/Ubuntu dependencies:
-----
apt-get install asciidoc xsltproc lcov clang
-----

Happy hacking!
