aboutsummaryrefslogtreecommitdiff
path: root/DEPENDENCIES
blob: e2052bb5ea33011c23b069a379ac58eb76adf251 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
Prerequisites for building the OpenDataPlane (ODP) API

1. Linux kernel >= 2.6.32

   Earlier versions may or may not work.

2. autotools

   automake
   autoconf
   libtool

   On Debian/Ubuntu systems:
   $ sudo apt-get install automake autoconf libtool

   On CentOS/RedHat/Fedora systems:
   $ sudo yum install automake autoconf libtool libtoolize

3. required libraries

   Libraries currently required to link: openssl

3.1 native compile

   For native compilation, simply load the necessary libraries using the appropriate
   tool set.

   On Debian/Ubuntu systems:
   $ sudo apt-get install libssl-dev

   On CentOS/RedHat/Fedora systems:
   $ sudo yum install openssl-devel

3.2 cross compilation

   Cross compilation requires cross compiling the individual libraries.  In order for
   a cross compiled executable to run on a target system, one must build the same
   version as that which is installed on the target rootfs.

   For example, to build openssl for both 32 and 64 bit compilation:

   # Clone openssl repository
   $ git clone git://git.openssl.org/openssl.git
   $ cd openssl

   # The command "git tag" will list all tags available in the repo.
   $ git tag

   # Checkout the specific tag to match openssl library in your target rootfs
   $ git checkout <tag name>

   # Build and install 32 bit version of openssl
   $ ./Configure linux-generic32 --cross-compile-prefix=arm-linux-gnueabihf- \
     --prefix=/home/user/src/install-openssl shared
   $ make
   $ make install

   # Build and install 64 bit version of openssl
   $ ./Configure linux-generic64 --cross-compile-prefix=aarch64-linux-gnu- \
     --prefix=/home/user/src/install-openssl-aarch64 shared
   $ make
   $ make install

   # You may now build either 32 or 64 bit ODP
   $ git clone git://git.linaro.org/lng/odp.git odp
   $ cd odp
   $ ./bootstrap

   # Build 32 bit version of ODP
   $ ./configure --host=arm-linux-gnueabihf \
     --with-openssl-path=/home/user/src/install-openssl
   $ make

   # Or build 64 bit version of ODP
   $ ./configure --host=aarch64-linux-gnu \
     --with-openssl-path=/home/user/src/install-openssl-aarch64
   $ make

4.0 Packages needed to build API tests

   Cunit test framework version 2.1-3 is required
   Cunit prvodes a framework to run the API test suite that proves conformance to the
   ODP API. The home page http://cunit.sourceforge.net/doc/introduction.html

4.1 Native Cunit install

   # Debian/Ubuntu check it is 2.1-3
   $ apt-get install libcunit1-dev

4.2 Built from src

   export CUNIT_VERSION=2.1-3
   curl -sSOL http://sourceforge.net/projects/cunit/files/CUnit/${CUNIT_VERSION}/CUnit-${CUNIT_VERSION}.tar.bz2
   tar -jxf *.bz2
   cd CUnit*
   ./bootstrap
   make install
   #In Step 4.4 use --with-cunit-path=/home/${USER}/CUnitHome

4.3 Cross compile of Cunit

   $ git svn clone http://svn.code.sf.net/p/cunit/code/trunk cunit-code
   $ cd cunit-code
   $ ./bootstrap
   $ ./configure --host=arm-linux-gnueabihf --prefix=/home/${USER}/src/install-cunit

4.4 Using Cunit with ODP
   $ Add the configuration option to the regular configuration options
   ./configure  --enable-cunit  #if cunit is in the PATH
   ./configure  --with-cunit-path=DIR #only if you need a path to Cunit libs and headers

5.0 Documentation & Doxygen

See http://www.stack.nl/~dimitri/doxygen/manual/install.html

The tested version of doxygen is 1.8.8

5.1 HTML
   # Debian/Ubuntu
   $ apt-get install doxygen graphviz

5.2 PDF
   # Debian/Ubuntu
   $ apt-get install texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended