blob: 3caf65b3104163037b94cb34bbe0b5a26f702a51 [file] [log] [blame]
NDN-CPP: A Named Data Networking client library for C++ and C
-------------------------------------------------------------
Prerequisites
-------------
(These are prerequisites to build NDN-CPP. To do development of NDN-CPP code and update the build system,
see Development Prerequisites.)
Required:
* libcrypto
* libsqlite3
* libcrypto++
Optional:
* boost libraries (highly recommended)
* OSX Security framework (for key storage)
Following are the detailed steps for each platform to install the prerequisites.
* Mac OS X 10.7.3, Mac OS X 10.8.4
Install Xcode.
In Xcode Preferences > Downloads, install "Command Line Tools".
* Mac OS X 10.9
Install Xcode. (Xcode on OS X 10.9 seems to already have the Command Line Tools.)
If using macports, dependencies can be installed using the following commands:
sudo port install boost sqlite3 libcryptopp
* Ubuntu 12.04 (64 bit and 32 bit), Ubuntu 13.04 (64 bit)
In a terminal, enter:
sudo apt-get install build-essential
sudo apt-get install libboost-all-dev libssl-dev libsqlite3-dev libcrypto++-dev
* Windows Cygwin
Cygwin is tested on Windows 7 64-bit with the "Devel" packages selected to install at the top level of the
cygwin installer. This includes libcrypto and libsqlite3.
Build
-----
(These are instructions to build NDN-CPP. To do development of NDN-CPP code and update the build system, see Development.)
To build in a terminal, change directory to the NDN-CPP root. Enter:
./configure
make
make install
To make documentation, enter:
make doxygen-doc
Files
-----
This makes the following libraries:
.libs/libndn-c.a: The core C code for encoding and communication.
.libs/libndn-cpp.a: The C++ library API. (If linking to libndn-cpp, don't link to libndn-c since it is included.)
This makes the following test files:
bin/test-get-async: Connect to one of the NDN testbed hubs, express an interest and display the received data.
bin/test-publish-async: Connect to the local NDN hub, accept interests with prefix /testecho and echo back a data packet.
bin/test-encode-decode-interest: Encode and decode an interest, testing interest selectors and the name URI.
bin/test-encode-decode-data: Encode and decode a data packet, including signing the data packet.
bin/test-encode-decode-forwarding-entry: Encode and decode a data packet, including signing the data packet.
Running make doxygen-doc puts code documentation in:
doc/html
Supported platforms
-------------------
NDN-CPP is tested on the following platforms:
Ubuntu 12.04 (64 bit and 32 bit) (gcc 4.6.3)
Ubuntu 13.04 (64 bit) (gcc 4.7.3)
Mac OS X 10.8.4 (clang 4.2)
Mac OS X 10.8.4 (gcc 4.2)
Development Prerequisites
-------------------------
These steps are only needed to do development of NDN-CPP code and update the build system.
First follow the Prerequisites above for your platforms.
* Mac OS X 10.7.3, Mac OS X 10.8.4, Mac OS X 10.9
Install MacPorts from http://www.macports.org/install.php
In a terminal, enter:
sudo port install automake
sudo port install autoconf
sudo port install libtool
sudo port install doxygen
* Ubuntu 12.04 (64 bit and 32 bit), Ubuntu 13.04 (64 bit)
In a terminal, enter:
sudo apt-get install automake
sudo apt-get install libtool
sudo apt-get install doxygen
Development
-----------
Follow Development Prerequisites above for your platform.
Now you can add source code files and update Makefile.am.
After updating, change directory to the NDN-CPP root and enter the following to build the Makefile:
./autogen.sh