LIBEPP-NICBR
Copyright (C) 2006-2021 Registro.br. All rights reserved.

Requirements
------------

In order to compile this library, you need the following software
installed:

* A C++ compiler, preferably clang 8 or gcc 7.4.
* OpenSSL 1.1.1
* Xerces-C 3.x

For shepp to be built you must have the readline library installed
(successfully compiled with version 8.0).

To run make doc, you need Doxygen installed (successfully run with
Doxygen version 1.8.15).

To run the UnitTest programs, you need CppUnit installed (successfully
run with CppUnit version 1.14.0).


For the Impatient
-----------------

1) Install all dependencies:

1.1) Ubuntu 18.04:

 sudo apt install build-essential libxerces-c-dev libssl-dev \
          libreadline-dev libncurses5-dev libcppunit-dev

1.2) FreeBSD 12.1 (as root):

 pkg install xerces-c3 readline cppunit

2) Compile and install libepp-nicbr:

 ./configure
 make
 make install


Detailed Building Instructions
------------------------------

1) Make sure OpenSSL and Xerces-C are installed.

2) If you want to run the tests, make sure CppUnit is installed.

3) If you want shepp to be built, make sure the your system has the
   readline library installed.

4) Run ./configure. This will search for required dependencies in your
   system and create the Makefiles.

   configure will look for OpenSSL headers first in
   /usr/local/openssl/include, then in standard header locations such as
   /usr/include. Configure will also look for Xerces-C headers, first in
   /usr/local/xerces/include, then in standard locations.
   
   You can specify different paths for Xerces-C and OpenSSL using:
 
   ./configure  --with-xerces-c=path/to/xerces 
                --with-openssl=/path/to/openssl

   If configure fails to find your readline includes directory you can
   use "--with-readline-includes=DIR" to tell it where to look for it.
   Default path is "/usr/include".

5) Run make. This will build the LIBEPP-NICBR libraries in the "lib"
   directory.

6) Run make check to test all the classes (*This requires CppUnit
   installed).

7) Run make doc to create the doxygen documentation (*This requires
   Doxygen intalled).

8) Run make install. This will install the LIBEPP-NICBR headers in
   "PREFIX/include/libepp_nicbr", the library in "PREFIX/lib", shepp in
   "PREFIX/bin" and the XML schemas and templates in
   "PREFIX/share/libepp_nicbr". By default PREFIX is "/usr/local"
   ("--prefix=DIR" configure option can be used to change it).
