| ndn-cpp-dev: A dev version of Named Data Networking client library for C++ |
| =========================================================================== |
| |
| Prerequisites |
| ------------- |
| |
| (These are prerequisites to build ndn-cpp-dev. To do development of ndn-cpp-dev code and update the build system, |
| see Development Prerequisites.) |
| |
| Required: |
| |
| * libcrypto |
| * libsqlite3 |
| * libcrypto++ |
| * boost libraries (>= 1.48) |
| * OSX Security framework (on OSX platform only) |
| |
| 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, Ubuntu 13.10 |
| |
| In a terminal, enter: |
| |
| sudo apt-get install build-essential |
| # For Ubuntu 12.04 |
| sudo apt-get install libboost1.48-all-dev |
| # For Ubuntu 13.10 |
| sudo apt-get install libboost-all-dev |
| sudo apt-get install 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-dev. To do development of ndn-cpp-dev |
| code and update the build system, see Development.) |
| |
| To build in a terminal, change directory to the ndn-cpp-dev root. Enter: |
| |
| ./waf configure |
| ./waf |
| sudo ./waf install |
| |
| This makes and installs the following items: |
| |
| * ``<LIBPATH>/libndn-cpp-dev.*``: static and dynamic NDN C++ libraries |
| * ``<LIBPATH>/pkgconfig/libndn-cpp-dev.pc``: pkgconfig file storing all neccessary flags |
| to build against the library. For example, if pkgconfig or pkgconf package is |
| installed and PKG_CONFIG_PATH is configured properly (or ``<LIBPATH>/pkgconfig`` is a |
| default path), ``pkgconfig --libs --clflags libndn-cpp-dev`` will return all necessary |
| compile and link flags for the library. |
| * ``<BINPATH>/tlvdump``: a simple tool to dump contents of TLV-formatted data |
| * ``<BINPATH>/ndncatchunks3``: a simplified equivalent to ndncatchunks2 in NDNx package |
| * ``<BINPATH>/ndnputchunks3``: a simplified equivalent to ndnputchunks2 in NDNx package |
| |
| If configured with tests: ``./waf configure --with-tests``), the above commands will |
| also produce: |
| |
| * ``build/tests/unit-tests``: A tool to run unit tests for the library |
| |
| Documentation |
| ------------- |
| |
| To make documentation, enter: |
| |
| ./waf doxygen |
| |
| This will produce doxygen API code documentation in: |
| |
| * build/doc/html |
| |
| Supported platforms |
| ------------------- |
| |
| (to be confirmed) |
| |
| ndn-cpp-dev is tested on the following platforms: |
| |
| * Ubuntu 12.04 (64 bit and 32 bit) |
| * Ubuntu 13.10 (64 bit and 32 bit) |
| * Mac OS X 10.8 |
| * Mac OS X 10.9 |
| |
| Development Prerequisites |
| ------------------------- |
| |
| These steps are only needed to do development of ndn-cpp-dev 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 doxygen |
| |
| * Ubuntu 12.04 (64 bit and 32 bit), Ubuntu 13.04 (64 bit) |
| |
| In a terminal, enter: |
| |
| sudo apt-get install doxygen |
| |
| Development |
| ----------- |
| |
| Follow Development Prerequisites above for your platform. |