blob: 65690a60c070a8f06c885b79fd50290739da08a8 [file] [log] [blame] [view]
Alexander Afanasyev553d0c82014-01-28 19:19:39 -08001NDN-CPP-dev: A dev version of Named Data Networking client library for C++
2===========================================================================
3
4Prerequisites
5-------------
6
7(These are prerequisites to build NDN-CPP. To do development of NDN-CPP code and update the build system,
8 see Development Prerequisites.)
9
10Required:
11
12* libcrypto
13* libsqlite3
14* libcrypto++
15* boost libraries
16* OSX Security framework (on OSX platform only)
17
18Following are the detailed steps for each platform to install the prerequisites.
19
20* Mac OS X 10.7.3, Mac OS X 10.8.4
21
22 Install Xcode.
23 In Xcode Preferences > Downloads, install "Command Line Tools".
24
25* Mac OS X 10.9
26
27 Install Xcode. (Xcode on OS X 10.9 seems to already have the Command Line Tools.)
28
29 If using macports, dependencies can be installed using the following commands:
30
31 sudo port install boost sqlite3 libcryptopp
32
33* Ubuntu 12.04 (64 bit and 32 bit), Ubuntu 13.04 (64 bit)
34
35 In a terminal, enter:
36
37 sudo apt-get install build-essential
38 sudo apt-get install libboost-all-dev libssl-dev libsqlite3-dev libcrypto++-dev
39
40* Windows Cygwin
41
42 Cygwin is tested on Windows 7 64-bit with the "Devel" packages selected to install at the top level of the
43 cygwin installer. This includes libcrypto and libsqlite3.
44
45Build
46-----
47
48(These are instructions to build NDN-CPP. To do development of NDN-CPP code and update the build system, see Development.)
49
50To build in a terminal, change directory to the NDN-CPP root. Enter:
51
52 ./waf configure
53 ./waf
54 sudo ./waf install
55
56This makes and installs the following items:
57
58* ``<LIBPATH>/libndn-cpp-dev.*``: static and dynamic NDN C++ libraries
59* ``<LIBPATH>/pkgconfig/libndn-cpp-dev.pc``: pkgconfig file storing all neccessary flags
60 to build against the library. For example, if pkgconfig or pkgconf package is
61 installed and PKG_CONFIG_PATH is configured properly (or ``<LIBPATH>/pkgconfig`` is a
62 default path), ``pkgconfig --libs --clflags libndn-cpp-dev`` will return all necessary
63 compile and link flags for the library.
64* ``<BINPATH>/tlvdump``: a simple tool to dump contents of TLV-formatted data
65* ``<BINPATH>/ndncatchunks3``: a simplified equivalent to ndncatchunks2 in NDNx package
66* ``<BINPATH>/ndnputchunks3``: a simplified equivalent to ndnputchunks2 in NDNx package
67
68If configured with tests: ``./waf configure --with-tests``), the above commands will
69also produce:
70
71* ``build/tests/unit-tests``: A tool to run unit tests for the library
72
73Documentation
74-------------
75
76To make documentation, enter:
77
78 ./waf doxygen
79
80This will produce doxygen API code documentation in:
81
82* build/doc/html
83
84Supported platforms
85-------------------
86
87(to be confirmed)
88
89NDN-CPP is tested on the following platforms:
90Ubuntu 12.04 (64 bit and 32 bit) (gcc 4.6.3)
91Ubuntu 13.04 (64 bit) (gcc 4.7.3)
92Mac OS X 10.8.4 (clang 4.2)
93Mac OS X 10.8.4 (gcc 4.2)
94
95Development Prerequisites
96-------------------------
97
98These steps are only needed to do development of NDN-CPP code and update the build system.
99First follow the Prerequisites above for your platforms.
100
101* Mac OS X 10.7.3, Mac OS X 10.8.4, Mac OS X 10.9
102
103 Install MacPorts from http://www.macports.org/install.php
104 In a terminal, enter:
105
106 sudo port install doxygen
107
108* Ubuntu 12.04 (64 bit and 32 bit), Ubuntu 13.04 (64 bit)
109
110 In a terminal, enter:
111
112 sudo apt-get install doxygen
113
114Development
115-----------
116
117Follow Development Prerequisites above for your platform.