aboutsummaryrefslogtreecommitdiff
path: root/DEPENDENCIES
blob: f70a1d4e8e141dee13497e5e687debc51b7ae630 (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
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
   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
   $ apt-get install libcunit1-dev

4.2 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.3 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