blob: 3e5a45f1d6acd0724d4590aa206372ca8a8d70e0 [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++
Alexander Afanasyevdafdc372014-03-03 15:58:44 +000015* boost libraries (>= 1.48)
Alexander Afanasyev553d0c82014-01-28 19:19:39 -080016* 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
Alexander Afanasyevdafdc372014-03-03 15:58:44 +000033* Ubuntu 12.04, Ubuntu 13.10
Alexander Afanasyev553d0c82014-01-28 19:19:39 -080034
35 In a terminal, enter:
36
37 sudo apt-get install build-essential
Alexander Afanasyevdafdc372014-03-03 15:58:44 +000038 # For Ubuntu 12.04
39 sudo apt-get install libboost1.48-all-dev
40 # For Ubuntu 13.10
41 sudo apt-get install libboost-all-dev
42 sudo apt-get install libssl-dev libsqlite3-dev libcrypto++-dev
Alexander Afanasyev553d0c82014-01-28 19:19:39 -080043
44* Windows Cygwin
45
46 Cygwin is tested on Windows 7 64-bit with the "Devel" packages selected to install at the top level of the
47 cygwin installer. This includes libcrypto and libsqlite3.
48
49Build
50-----
51
52(These are instructions to build NDN-CPP. To do development of NDN-CPP code and update the build system, see Development.)
53
54To build in a terminal, change directory to the NDN-CPP root. Enter:
55
56 ./waf configure
57 ./waf
58 sudo ./waf install
59
60This makes and installs the following items:
61
62* ``<LIBPATH>/libndn-cpp-dev.*``: static and dynamic NDN C++ libraries
63* ``<LIBPATH>/pkgconfig/libndn-cpp-dev.pc``: pkgconfig file storing all neccessary flags
64 to build against the library. For example, if pkgconfig or pkgconf package is
65 installed and PKG_CONFIG_PATH is configured properly (or ``<LIBPATH>/pkgconfig`` is a
66 default path), ``pkgconfig --libs --clflags libndn-cpp-dev`` will return all necessary
67 compile and link flags for the library.
68* ``<BINPATH>/tlvdump``: a simple tool to dump contents of TLV-formatted data
69* ``<BINPATH>/ndncatchunks3``: a simplified equivalent to ndncatchunks2 in NDNx package
70* ``<BINPATH>/ndnputchunks3``: a simplified equivalent to ndnputchunks2 in NDNx package
71
72If configured with tests: ``./waf configure --with-tests``), the above commands will
73also produce:
74
75* ``build/tests/unit-tests``: A tool to run unit tests for the library
76
77Documentation
78-------------
79
80To make documentation, enter:
81
82 ./waf doxygen
83
84This will produce doxygen API code documentation in:
85
86* build/doc/html
87
88Supported platforms
89-------------------
90
91(to be confirmed)
92
93NDN-CPP is tested on the following platforms:
Alexander Afanasyevdafdc372014-03-03 15:58:44 +000094
95* Ubuntu 12.04 (64 bit and 32 bit)
96* Ubuntu 13.10 (64 bit and 32 bit)
97* Mac OS X 10.8
98* Mac OS X 10.9
Alexander Afanasyev553d0c82014-01-28 19:19:39 -080099
100Development Prerequisites
101-------------------------
102
103These steps are only needed to do development of NDN-CPP code and update the build system.
104First follow the Prerequisites above for your platforms.
105
106* Mac OS X 10.7.3, Mac OS X 10.8.4, Mac OS X 10.9
107
108 Install MacPorts from http://www.macports.org/install.php
109 In a terminal, enter:
110
111 sudo port install doxygen
112
113* Ubuntu 12.04 (64 bit and 32 bit), Ubuntu 13.04 (64 bit)
114
115 In a terminal, enter:
116
117 sudo apt-get install doxygen
118
119Development
120-----------
121
122Follow Development Prerequisites above for your platform.