blob: c1d664b55d375514694ec9c9e7df788d4f817b1a [file] [log] [blame]
Alexander Afanasyevbd5b67a2014-09-02 16:06:21 -07001.. _NDNS Installation Instructions:
2
3NDNS Installation Instructions
4==============================
5
6Prerequisites
7-------------
8
9- Install the `ndn-cxx library <http://named-data.net/doc/ndn-cxx/current/INSTALL.html>`_
10 and its requirements
11
Alexander Afanasyevbd5b67a2014-09-02 16:06:21 -070012To build manpages and API documentation:
13
14- ``doxygen``
15- ``graphviz``
16- ``python-sphinx``
17
Alexander Afanasyevbd5b67a2014-09-02 16:06:21 -070018Build
19-----
20
21The following basic commands should be used to build NDNS on Ubuntu:
22
23::
24
25 ./waf configure
26 ./waf
27 sudo ./waf install
28
Alexander Afanasyevbd5b67a2014-09-02 16:06:21 -070029Refer to ``./waf --help`` for more options that can be used during ``configure`` stage and
30how to properly configure and run NFD.
31
32Debug symbols
33+++++++++++++
34
35The default compiler flags enable debug symbols to be included in binaries. This
36potentially allows more meaningful debugging if NDNS or other tools happen to crash.
37
38If it is undesirable, default flags can be easily overridden. The following example shows
39how to completely disable debug symbols and configure NDNS to be installed into ``/usr``
40with configuration in ``/etc`` folder.
41
42::
43
44 CXXFLAGS="-O2" ./waf configure --prefix=/usr --sysconfdir=/etc
45 ./waf
46 sudo ./waf install
47
48Building documentation
49----------------------
50
51NDNS tutorials and API documentation can be built using the following commands:
52
53::
54
55 # Full set of documentation (tutorials + API) in build/docs
56 ./waf docs
57
58 # Only tutorials in `build/docs`
59 ./waf sphinx
60
61 # Only API docs in `build/docs/doxygen`
62 ./waf doxgyen
63
64
65Manpages are automatically created and installed during the normal build process
66(e.g., during ``./waf`` and ``./waf install``), if ``python-sphinx`` module is detected
67during ``./waf configure`` stage. By default, manpages are installed into
68``${PREFIX}/share/man`` (where default value for ``PREFIX`` is ``/usr/local``). This
69location can be changed during ``./waf configure`` stage using ``--prefix``,
70``--datarootdir``, or ``--mandir`` options.
71
72For more details, refer to ``./waf --help``.