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
