blob: 852beeb4a72c370e69a14f9868e14a0284bd61d7 (
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
125
126
127
128
129
130
131
132
133
134
|
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
5.1 API Guide
See http://www.stack.nl/~dimitri/doxygen/manual/install.html
The tested version of doxygen is 1.8.8
5.1.1 HTML
# Debian/Ubuntu
$ apt-get install doxygen graphviz
5.1.2 PDF
# Debian/Ubuntu
$ apt-get install texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
5.2 User guides
5.2.1 HTML
# Ubuntu
$ apt-get install asciidoc
# Debian
$ apt-get install asciidoc source-highlight
|