Alexander Afanasyev | 08eecea | 2014-03-28 10:23:30 -0700 | [diff] [blame] | 1 | NFD: NDN Forwarding Daemon |
| 2 | ========================== |
Alexander Afanasyev | 2aa3962 | 2014-01-22 11:51:11 -0800 | [diff] [blame] | 3 | |
Junxiao Shi | 336e4f7 | 2014-01-22 19:38:31 -0700 | [diff] [blame] | 4 | ## Prerequisites |
Alexander Afanasyev | 2aa3962 | 2014-01-22 11:51:11 -0800 | [diff] [blame] | 5 | |
Alexander Afanasyev | 08eecea | 2014-03-28 10:23:30 -0700 | [diff] [blame] | 6 | * [ndn-cpp-dev library](https://github.com/named-data/ndn-cpp-dev) and |
| 7 | its requirements: |
| 8 | |
| 9 | * `libcrypto` |
| 10 | * `libsqlite3` |
| 11 | * `libcrypto++` |
| 12 | * `pkg-config` |
| 13 | * Boost libraries (>= 1.48) |
| 14 | * OSX Security framework (on OSX platform only) |
| 15 | |
| 16 | Refer to https://github.com/named-data/ndn-cpp-dev/blob/master/INSTALL.md |
| 17 | for detailed installation instructions. |
| 18 | |
| 19 | * `libpcap` |
| 20 | |
| 21 | Comes with base on Mac OS X 10.8 and 10.9: |
| 22 | |
| 23 | On Ubuntu >= 12.04: |
| 24 | |
| 25 | sudo apt-get install libpcap-dev |
| 26 | |
Alexander Afanasyev | 49272f7 | 2014-04-06 21:49:46 -0700 | [diff] [blame^] | 27 | To build manpages and API documentation: |
Alexander Afanasyev | 08eecea | 2014-03-28 10:23:30 -0700 | [diff] [blame] | 28 | |
| 29 | * `doxygen` |
Alexander Afanasyev | 49272f7 | 2014-04-06 21:49:46 -0700 | [diff] [blame^] | 30 | * `graphviz` |
| 31 | * `python-sphinx` |
Alexander Afanasyev | 08eecea | 2014-03-28 10:23:30 -0700 | [diff] [blame] | 32 | |
| 33 | On Mac OS X 10.8 and 10.9 with macports: |
| 34 | |
Alexander Afanasyev | 49272f7 | 2014-04-06 21:49:46 -0700 | [diff] [blame^] | 35 | sudo port install doxygen graphviz py27-sphinx sphinx_select |
| 36 | sudo port select sphinx py27-sphinx |
Alexander Afanasyev | 08eecea | 2014-03-28 10:23:30 -0700 | [diff] [blame] | 37 | |
| 38 | On Ubuntu >= 12.04: |
| 39 | |
Alexander Afanasyev | 49272f7 | 2014-04-06 21:49:46 -0700 | [diff] [blame^] | 40 | sudo apt-get install doxygen graphviz python-sphinx |
| 41 | |
| 42 | |
Alexander Afanasyev | 2aa3962 | 2014-01-22 11:51:11 -0800 | [diff] [blame] | 43 | |
Junxiao Shi | 336e4f7 | 2014-01-22 19:38:31 -0700 | [diff] [blame] | 44 | ## Build |
Alexander Afanasyev | 2aa3962 | 2014-01-22 11:51:11 -0800 | [diff] [blame] | 45 | |
| 46 | The following commands should be used to build NFD: |
| 47 | |
| 48 | ./waf configure |
| 49 | ./waf |
Alexander Afanasyev | 2aa3962 | 2014-01-22 11:51:11 -0800 | [diff] [blame] | 50 | sudo ./waf install |
| 51 | |
Alexander Afanasyev | 08eecea | 2014-03-28 10:23:30 -0700 | [diff] [blame] | 52 | Refer to `README.md` file for more options that can be used during `configure` stage and how to properly configure and run NFD. |
Alexander Afanasyev | 2aa3962 | 2014-01-22 11:51:11 -0800 | [diff] [blame] | 53 | |
Alexander Afanasyev | 08eecea | 2014-03-28 10:23:30 -0700 | [diff] [blame] | 54 | In some configurations, configuration step may require small modification: |
| 55 | |
| 56 | export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig |
| 57 | ./waf configure |
| 58 | ./waf |
| 59 | sudo ./waf install |
Alexander Afanasyev | 49272f7 | 2014-04-06 21:49:46 -0700 | [diff] [blame^] | 60 | |
| 61 | # Building API documentation |
| 62 | |
| 63 | The following commands can be used to build API documentation in `build/docs/doxygen` |
| 64 | |
| 65 | ./waf doxygen |
| 66 | |
| 67 | Note that manpages are automatically created and installed during the normal build process (e.g., during `./waf` and `./waf install`), if `python-sphinx` module is detected during `./waf configure` stage. |
| 68 | By default, manpages are installed into `${PREFIX}/share/man` (where default value for `PREFIX` is `/usr/local`). |
| 69 | This location can be changed during `./waf configure` stage using `--prefix`, `--datarootdir`, or `--mandir` options. |
| 70 | For more details, refer to `./waf --help`. |