Alexander Afanasyev | 553d0c8 | 2014-01-28 19:19:39 -0800 | [diff] [blame] | 1 | NDN-CPP-dev: A dev version of Named Data Networking client library for C++ |
| 2 | =========================================================================== |
| 3 | |
| 4 | Prerequisites |
| 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 | |
| 10 | Required: |
| 11 | |
| 12 | * libcrypto |
| 13 | * libsqlite3 |
| 14 | * libcrypto++ |
Alexander Afanasyev | dafdc37 | 2014-03-03 15:58:44 +0000 | [diff] [blame^] | 15 | * boost libraries (>= 1.48) |
Alexander Afanasyev | 553d0c8 | 2014-01-28 19:19:39 -0800 | [diff] [blame] | 16 | * OSX Security framework (on OSX platform only) |
| 17 | |
| 18 | Following 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 Afanasyev | dafdc37 | 2014-03-03 15:58:44 +0000 | [diff] [blame^] | 33 | * Ubuntu 12.04, Ubuntu 13.10 |
Alexander Afanasyev | 553d0c8 | 2014-01-28 19:19:39 -0800 | [diff] [blame] | 34 | |
| 35 | In a terminal, enter: |
| 36 | |
| 37 | sudo apt-get install build-essential |
Alexander Afanasyev | dafdc37 | 2014-03-03 15:58:44 +0000 | [diff] [blame^] | 38 | # 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 Afanasyev | 553d0c8 | 2014-01-28 19:19:39 -0800 | [diff] [blame] | 43 | |
| 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 | |
| 49 | Build |
| 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 | |
| 54 | To build in a terminal, change directory to the NDN-CPP root. Enter: |
| 55 | |
| 56 | ./waf configure |
| 57 | ./waf |
| 58 | sudo ./waf install |
| 59 | |
| 60 | This 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 | |
| 72 | If configured with tests: ``./waf configure --with-tests``), the above commands will |
| 73 | also produce: |
| 74 | |
| 75 | * ``build/tests/unit-tests``: A tool to run unit tests for the library |
| 76 | |
| 77 | Documentation |
| 78 | ------------- |
| 79 | |
| 80 | To make documentation, enter: |
| 81 | |
| 82 | ./waf doxygen |
| 83 | |
| 84 | This will produce doxygen API code documentation in: |
| 85 | |
| 86 | * build/doc/html |
| 87 | |
| 88 | Supported platforms |
| 89 | ------------------- |
| 90 | |
| 91 | (to be confirmed) |
| 92 | |
| 93 | NDN-CPP is tested on the following platforms: |
Alexander Afanasyev | dafdc37 | 2014-03-03 15:58:44 +0000 | [diff] [blame^] | 94 | |
| 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 Afanasyev | 553d0c8 | 2014-01-28 19:19:39 -0800 | [diff] [blame] | 99 | |
| 100 | Development Prerequisites |
| 101 | ------------------------- |
| 102 | |
| 103 | These steps are only needed to do development of NDN-CPP code and update the build system. |
| 104 | First 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 | |
| 119 | Development |
| 120 | ----------- |
| 121 | |
| 122 | Follow Development Prerequisites above for your platform. |