blob: f96bf6a5478eff71320ec8d80fbea1002c8f8acd [file] [log] [blame]
Installation Instructions
=========================
Prerequisites
-------------
Install the `ndn-cxx library <https://named-data.net/doc/ndn-cxx/current/INSTALL.html>`_
and its prerequisites.
Optionally, to build man pages and API documentation the following additional dependencies
need to be installed:
- doxygen
- graphviz
- sphinx >= 4.0
- sphinxcontrib-doxylink
Build
-----
The following commands should be used to build NDNS on Ubuntu:
.. code-block:: sh
./waf configure
./waf
sudo ./waf install
Refer to ``./waf --help`` for more options that can be used during the ``configure`` stage.
Debug symbols
+++++++++++++
The default compiler flags include debug symbols in binaries. This should provide
more meaningful debugging information if NDNS or other tools happen to crash.
If this is not desired, the default flags can be overridden to disable debug symbols.
The following example shows how to completely disable debug symbols and configure
NDNS to be installed into ``/usr`` with configuration in the ``/etc`` directory.
.. code-block:: sh
CXXFLAGS="-O2" ./waf configure --prefix=/usr --sysconfdir=/etc
./waf
sudo ./waf install
Building documentation
----------------------
Tutorials and API documentation can be built using the following commands:
.. code-block:: sh
# Full set of documentation (tutorials + API) in build/docs
./waf docs
# Only tutorials in build/docs
./waf sphinx
# Only API docs in build/docs/doxygen
./waf doxygen
If ``sphinx-build`` is detected during ``./waf configure``, man pages will automatically
be built and installed during the normal build process (i.e., during ``./waf`` and
``./waf install``). By default, man pages will be installed into ``${PREFIX}/share/man``
(the default value for ``PREFIX`` is ``/usr/local``). This location can be changed
during the ``./waf configure`` stage using the ``--prefix``, ``--datarootdir``, or
``--mandir`` options.
For further details, please refer to ``./waf --help``.