blob: e53b47566caaf2d1c662e36a8991ad33bae00e9f [file] [log] [blame]
Jeff Thompson9b282e02013-08-09 17:13:38 -07001NDN-CPP: A Named Data Networking client library for C++ and C
Jeff Thompson057d3182013-08-09 17:02:25 -07002-------------------------------------------------------------
3
4Prerequisites
5-------------
6
Jeff Thompsonc2da8c72013-10-10 16:30:25 -07007Required: libcrypto
8Optional: libsqlite3 (for key storage)
9Optional: OSX Security framework (for key storage)
10
11Following are the detailed steps for each platform to install the prerequisites.
12
13* Ubuntu 12.04
14sudo apt-get install build-essential
15sudo apt-get install libssl-dev
Jeff Thompson057d3182013-08-09 17:02:25 -070016
Jeff Thompson1fd73652013-10-23 16:42:03 -070017* Windows Cygwin
18Cygwin is tested on Windows 7 64-bit with the "Devel" packages selected to install at the top level of the
19cygwin installer. This includes libcrypto and libsqlite3.
20
21
Jeff Thompson057d3182013-08-09 17:02:25 -070022Build
23-----
24
25To build in a terminal, change directory to the ndn-cpp root. Enter:
26
27./configure
28make
Jeff Thompsonc2da8c72013-10-10 16:30:25 -070029make install
Jeff Thompson057d3182013-08-09 17:02:25 -070030
Jeff Thompson2f951cf2013-08-11 16:04:09 -070031To make documentation, enter:
32make doxygen-doc
33
Jeff Thompson057d3182013-08-09 17:02:25 -070034Files
35-----
36
37This makes the following libraries:
38
39.libs/libndn-c.a: The core C code for encoding and communication.
Jeff Thompsonc2da8c72013-10-10 16:30:25 -070040.libs/libndn-cpp.a: The C++ library API. (If linking to libndn-cpp, don't link to libndn-c since it is included.)
Jeff Thompson057d3182013-08-09 17:02:25 -070041
42This makes the following test files:
43
44bin/test-get-async: Connect to one of the NDN testbed hubs, express an interest and display the received data.
Jeff Thompson13527ab2013-11-21 11:17:09 -080045bin/test-publish-async: Connect to the local NDN hub, accept interests with prefix /testecho and echo back a data packet.
Jeff Thompson057d3182013-08-09 17:02:25 -070046bin/test-encode-decode-interest: Encode and decode an interest, testing interest selectors and the name URI.
47bin/test-encode-decode-data: Encode and decode a data packet, including signing the data packet.
Jeff Thompsonc2da8c72013-10-10 16:30:25 -070048bin/test-encode-decode-forwarding-entry: Encode and decode a data packet, including signing the data packet.
Jeff Thompson057d3182013-08-09 17:02:25 -070049
Jeff Thompson2f951cf2013-08-11 16:04:09 -070050Running make doxygen-doc puts code documentation in:
51doc/html
52
Jeff Thompson057d3182013-08-09 17:02:25 -070053Supported platforms
54-------------------
55
Jeff Thompson9b282e02013-08-09 17:13:38 -070056NDN-CPP is tested on the following platforms:
Jeff Thompson057d3182013-08-09 17:02:25 -070057Ubuntu 12.04 (gcc 4.6.3)
58Mac OS X 10.8.4 (clang 4.2)
59Mac OS X 10.8.4 (gcc 4.2)
60
61