Mercurial > trustbridge
annotate INSTALL @ 1296:13b56e9c7e7b
(issue149) licenses/README.txt additions and corrections.
author | Bernhard Reiter <bernhard@intevation.de> |
---|---|
date | Mon, 29 Sep 2014 16:12:47 +0200 |
parents | 4a3a482dc337 |
children | dab626e44347 |
rev | line source |
---|---|
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
1 /** @file INSTALL |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
2 @brief Installation Instructions |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
3 ************************* |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
4 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
5 For Debian based GNU / Linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
6 ============================ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
7 Tested development platform: Ubuntu 14.4 amd64. |
598
c1733da2559c
Added hint about tested development platform Ubuntu 13.10.
Bernhard Reiter <bernhard@intevation.de>
parents:
585
diff
changeset
|
8 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
9 The following commands build qt5 and polarssl which are dependencies of the Software. |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
10 To only build for the amd64 platform omit the i386 instructions. |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
11 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
12 For build dependencies please refer to the Qt documentation |
598
c1733da2559c
Added hint about tested development platform Ubuntu 13.10.
Bernhard Reiter <bernhard@intevation.de>
parents:
585
diff
changeset
|
13 ( qtbase/src/plugins/platforms/xcb/README ). |
c1733da2559c
Added hint about tested development platform Ubuntu 13.10.
Bernhard Reiter <bernhard@intevation.de>
parents:
585
diff
changeset
|
14 Polarssl needs cmake and build-essentials. |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
15 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
16 export YOURPREFIX=<Prefix of your choice (default /usr)> |
1262
dcce1e7201e2
Make sure that the bin dir is created before adding it to the path
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1253
diff
changeset
|
17 mkdir -p $YOURPREFIX/bin |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
18 export PATH=$YOURPREFIX/bin:$PATH |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
19 |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
20 curl https://download.qt-project.org/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz.mirrorlist | grep SHA-256 |
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
21 7f5bf93344cb57bac374ea4a32c8eda87f1357f998f14278e717cf84d0289bf0 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
22 |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
23 curl -O http://qt-mirror.dannhauer.de/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
24 |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
25 sha256sum qt-everywhere-opensource-src-5.3.2.tar.xz |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
26 |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
27 tar -xf qt-everywhere-opensource-src-5.3.2.tar.xz |
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
28 |
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
29 cd qt-everywhere-opensource-src-5.3.2/qtbase |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
30 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
31 build dependencies have to to be installed at this point, |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
32 see ../qtbase/src/plugins/platforms/xcb/README |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
33 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
34 ./configure --prefix=$YOURPREFIX \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
35 -opensource \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
36 -release -nomake tests -nomake examples -confirm-license \ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
37 -static -no-cups -no-nis -no-icu -no-fontconfig -qt-freetype \ |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
38 -no-directfb -no-opengl -no-kms -no-eglfs -no-egl -no-openssl -no-glib \ |
931
7ac5a366184d
Remove -system-lipng from qt configure line
Andre Heinecke <andre.heinecke@intevation.de>
parents:
908
diff
changeset
|
39 -qpa xcb -qt-xkbcommon -qt-xcb -no-nis -no-libjpeg -qt-libpng \ |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
40 -qt-zlib -no-gif -no-xinput2 && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
41 nice make -j`nproc` && \ |
666
d905758aa3a6
Some reduction in qt libraries and document uitools build (needed for linguist)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
635
diff
changeset
|
42 make install |
d905758aa3a6
Some reduction in qt libraries and document uitools build (needed for linguist)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
635
diff
changeset
|
43 |
1263
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
44 If you want to build the localization you need the qt localization tools. |
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
45 To build them: |
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
46 |
784
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
47 cd .. && \ |
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
48 cd qttools/src/designer/src/uitools && \ |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
49 qmake && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
50 nice make -j`nproc` && \ |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
51 make install |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
52 |
784
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
53 cd ../../../linguist && \ |
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
54 qmake && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
55 nice make -j`nproc` &&\ |
666
d905758aa3a6
Some reduction in qt libraries and document uitools build (needed for linguist)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
635
diff
changeset
|
56 make install |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
57 |
1263
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
58 |
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
59 Polarssl is required for TrustBridge: |
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
60 |
823
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
61 curl -O https://polarssl.org/download/polarssl-1.3.8-gpl.tgz |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
62 sha256sum polarssl-1.3.8-gpl.tgz |
823
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
63 318171db41335cacbb5b0047c94f1faf91442ab70a223b5223436703c9406ff1 polarssl-1.3.8-gpl.tgz |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
64 |
823
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
65 tar -xf polarssl-1.3.8-gpl.tgz |
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
66 cd polarssl-1.3.8 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
67 mkdir build |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
68 cd build |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
69 cmake .. -DCMAKE_C_FLAGS=-fpic -DCMAKE_INSTALL_PREFIX=$YOURPREFIX |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
70 make && make test && make install |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
71 |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
72 Trustbridge checkout: |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
73 At this point you need a trustbridge checkout as curl needs to be patched |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
74 to enable the certificate pinning and the force of SSL Ciphersuites when |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
75 using polarssl. |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
76 |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
77 hg clone https://wald.intevation.org/hg/trustbridge/ |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
78 |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
79 Libcurl: |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
80 |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
81 curl -O http://curl.haxx.se/download/curl-7.38.0.tar.gz |
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
82 sha256sum curl-7.38.0.tar.gz |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
83 5661028aa6532882fa228cd23c99ddbb8b87643dbb1a7ea55c068d34a943dff1 curl-7.38.0.tar.gz |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
84 curl -O http://curl.haxx.se/download/curl-7.38.0.tar.gz.asc |
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
85 gpg2 --verify curl-7.38.0.tar.gz.asc |
960
64c0e15935c8
Just add the sha256sum instead of gpg verify to avoid trust issues.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
958
diff
changeset
|
86 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
87 tar -xf curl-7.38.0.tar.gz |
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
88 cd curl-7.38.0/ |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
89 patch -p1 < ../trustbridge/patches/*.patch |
971
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
90 mkdir build |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
91 cd build |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
92 |
971
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
93 ../configure --prefix=$YOURPREFIX \ |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
94 --without-nghttp2 --without-libidn --without-winidn --without-libssh2 \ |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
95 --without-librtmp --without-libmetalink --without-axtls --without-nss \ |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
96 --without-cyassl --without-ssl --without-gnutls --disable-gopher --disable-smtp \ |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
97 --disable-imap --disable-pop3 --disable-tftp --disable-telnet --disable-dict \ |
953
f2066a24047d
Update build doc for curl. Do not disable proxy.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
949
diff
changeset
|
98 --disable-rtsp --disable-ldaps --disable-ldap --disable-file \ |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
99 --disable-ftp --enable-http --enable-shared=no -enable-static=yes \ |
948
3baee3445502
Use curl without-zlib support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
931
diff
changeset
|
100 --with-polarssl=$YOURPREFIX --without-ca-bundle --without-ca-path \ |
3baee3445502
Use curl without-zlib support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
931
diff
changeset
|
101 --without-zlib |
953
f2066a24047d
Update build doc for curl. Do not disable proxy.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
949
diff
changeset
|
102 make && make install |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
103 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
104 To compile the software you can use plain cmake. |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
105 An out of source build is highly suggested. |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
106 For build options see CMakeList.txt |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
107 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
108 cd trustbridge |
834
8081ed84589d
Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
823
diff
changeset
|
109 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
110 mkdir build-linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
111 cd build-linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
112 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
113 |
1265
b18f08034c24
Split off CLANG section more clearly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1264
diff
changeset
|
114 CLANG |
b18f08034c24
Split off CLANG section more clearly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1264
diff
changeset
|
115 ===== |
1266
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
116 Alternatively you can build trustbridge with CLANG. This is a bit of a hack |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
117 and does not use all the hardening flags. Building with CLANG is _NOT_ recommended |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
118 but it can be useful for analysis of the code. |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
119 |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
120 As root install the required packages an perform an evil hack that fixes the c++ |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
121 build with clang on ubuntu: |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
122 |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
123 apt-get install clang llvm |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
124 ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19 /usr/lib/x86_64-linux-gnu/libstdc++.so |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
125 |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
126 Now you can build trustbridge as user: |
1264
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
127 |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
128 mkdir build-clang |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
129 cd build-clang |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
130 CC=/usr/bin/clang \ |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
131 CXX=/usr/bin/clang++ \ |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
132 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX \ |
1266
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
133 -DUSE_CLANG=TRUE \ |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
134 -DCMAKE_VERBOSE_MAKEFILE=TRUE |
1267
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
135 make |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
136 |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
137 To run scan build: |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
138 |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
139 CXX=/usr/share/clang/scan-build/c++-analyzer \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
140 CC=/usr/share/clang/scan-build/ccc-analyzer \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
141 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
142 -DUSE_CLANG=TRUE \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
143 -DCMAKE_VERBOSE_MAKEFILE=TRUE |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
144 scan-build make |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
145 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
146 I386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
147 ==== |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
148 Install dependencies (list might be incomplete) |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
149 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
150 apt-get install libx32stdc++-4.8-dev libc6:i386 g++-4.8-multilib \ |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
151 libxcb1:i386 libxcb1-dev:i386 libx11-xcb1:i386 libx11-xcb-dev:i386 libxcb-keysyms1:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
152 libxcb-keysyms1-dev:i386 libxcb-image0:i386 libxcb-image0-dev:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
153 libxcb-shm0:i386 libxcb-shm0-dev:i386 libxcb-icccm4:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
154 libxcb-icccm4-dev:i386 libxcb-sync-dev:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
155 libxcb-render-util0:i386 libxcb-render-util0-dev:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
156 libxcb-xfixes0-dev:i386 libxrender-dev:i386 libxcb-shape0-dev:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
157 libxcb-randr0-dev:i386 libxcb-glx0-dev:i386 libdbus-1-dev:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
158 libsm-dev:i386 libnss3-dev:i386 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
159 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
160 Create a new directory for qt. As qt has to build in source you need a different |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
161 directory: |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
162 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
163 mkdir i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
164 cd i386 |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
165 tar -xf ../qt-everywhere-opensource-src-5.3.2.tar.xz |
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
166 cd qt-everywhere-opensource-src-5.3.2/qtbase/ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
167 ./configure --prefix=$YOURPREFIX/i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
168 -opensource -platform linux-g++-32 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
169 -release -nomake tests -nomake examples -confirm-license \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
170 -static -no-cups -no-nis -no-icu \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
171 -no-directfb -no-opengl -no-kms -no-eglfs -no-egl -no-openssl -no-glib \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
172 -system-libpng -qpa xcb -qt-xcb -no-nis -no-libjpeg -no-gif -qt-zlib \ |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
173 -no-fontconfig -qt-freetype -qt-libpng -qt-xkbcommon -no-xinput2 \ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
174 && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
175 nice make -j`nproc` && \ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
176 make install |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
177 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
178 Switch back to the polarssl directory: |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
179 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
180 cd ../../../polarssl-1.3.8/ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
181 mkdir build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
182 cd build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
183 cmake .. -DCMAKE_C_FLAGS="-fpic -m32" -DCMAKE_INSTALL_PREFIX=$YOURPREFIX/i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
184 -DCMAKE_VERBOSE_MAKEFILE=True \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
185 -DENABLE_TESTING=FALSE -DENABLE_PROGRAMS=FALSE && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
186 nice make -j`nproc` && \ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
187 make install |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
188 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
189 Change to the curl directory: |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
190 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
191 cd ../../curl-7.38.0/ |
971
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
192 mkdir build-i386 |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
193 cd build-i386 |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
194 CFLAGS="-fpic -m32" CPPFLAGS="-fpic -m32" ../configure --prefix=$YOURPREFIX/i386 \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
195 --without-nghttp2 --without-libidn --without-winidn --without-libssh2 \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
196 --without-librtmp --without-libmetalink --without-axtls --without-nss \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
197 --without-cyassl --without-ssl --without-gnutls --disable-gopher --disable-smtp \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
198 --disable-imap --disable-pop3 --disable-tftp --disable-telnet --disable-dict \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
199 --disable-rtsp --disable-ldaps --disable-ldap --disable-file \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
200 --disable-ftp --enable-http --enable-shared=no -enable-static=yes \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
201 --with-polarssl=$YOURPREFIX/i386 --without-ca-bundle --without-ca-path \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
202 --without-zlib |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
203 make && make install |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
204 |
1264
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
205 Now for Trustbridge itself: |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
206 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
207 cd ../../trustbridge |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
208 mkdir build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
209 cd build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
210 cmake .. -DCMAKE_PREFIX_PATH="$YOURPREFIX/i386" \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
211 -DCMAKE_VERBOSE_MAKEFILE=True \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
212 -DCMAKE_C_FLAGS=-m32 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
213 -DCMAKE_CXX_FLAGS="-m32" |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
214 |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
215 Hiawatha (for Downloader unit test) |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
216 =================================== |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
217 Hiawatha is used in the downloader unit tests to provide a testbench |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
218 for the ssl connection. To build it you may need libxslt-dev as additional |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
219 dependency. |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
220 |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
221 curl -O https://www.hiawatha-webserver.org/files/hiawatha-9.7.tar.gz |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
222 sha256sum hiawatha-9.7.tar.gz |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
223 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
224 e8581336883b7b963f38572f6396f8c47b43e5bedd3147d052fa3652e6c0ed86 hiawatha-9.7.tar.gz |
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
225 |
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
226 tar -xf hiawatha-9.7.tar.gz |
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
227 cd hiawatha-9.7 |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
228 mkdir build |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
229 cd build |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
230 cmake .. -DCMAKE_INSTALL_PREFIX=$YOURPREFIX |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
231 make && make install |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
232 |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
233 |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
234 Osslsigncode (for binverify unit test) |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
235 ====================================== |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
236 Osslsigncode is used to create PKCS#7 embedded signatures for Windows Authenticode |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
237 it is needed for the Windows part of the binverify unit test on the build system. |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
238 |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
239 curl -L --max-redirs=1 -O http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz |
847
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
240 sha256sum osslsigncode-1.7.1.tar.gz |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
241 f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 |
847
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
242 tar -xf osslsigncode-1.7.1.tar.gz |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
243 cd osslsigncode-1.7.1 |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
244 ./configure --without-curl --prefix=$YOURPREFIX |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
245 make && make install |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
246 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
247 #for a windows binary (optional): |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
248 OPENSSL_CFLAGS=-I$MXETARGET/include OPENSSL_LIBS="-L$MXETARGET/lib -lcrypto -lz -lgdi32" ./configure --without-curl --host=i686-w64-mingw32 --prefix=$MXETARGET |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
249 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
250 For Microsoft Windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
251 ===================== |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
252 The Windows variant can be cross compiled on Debian based GNU / Linux systems. |
598
c1733da2559c
Added hint about tested development platform Ubuntu 13.10.
Bernhard Reiter <bernhard@intevation.de>
parents:
585
diff
changeset
|
253 The minimum requirement is Debian stable. |
c1733da2559c
Added hint about tested development platform Ubuntu 13.10.
Bernhard Reiter <bernhard@intevation.de>
parents:
585
diff
changeset
|
254 Tested development platform: Ubuntu 13.10. |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
255 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
256 Dependencies on the Host system: |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
257 |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
258 apt-get install git autoconf automake bash bison bzip2 \ |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
259 cmake flex gettext git g++ intltool \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
260 libffi-dev libtool libltdl-dev libssl-dev \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
261 libxml-parser-perl make openssl patch perl \ |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
262 pkg-config scons sed unzip curl xz-utils autopoint \ |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
263 gperf |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
264 |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
265 Build the windows binaries: |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
266 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
267 MXEPATH=$YOURPREFIX/win |
949
0abacb0fd564
Document and use minimized qt and document curl build for windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
948
diff
changeset
|
268 git clone https://github.com/Intevation/mxe.git $MXEPATH |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
269 cd $MXEPATH |
958
3b736de02df3
Add correct branch to INSTALL documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
953
diff
changeset
|
270 git checkout trustbridge |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
271 echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
272 make polarssl |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
273 make qtbase |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
274 |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
275 (optional) |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
276 |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
277 make curl |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
278 |
1019
4f999c7821ce
Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents:
998
diff
changeset
|
279 Add CMAKE_STRIP to the toolchain file: |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
280 |
1019
4f999c7821ce
Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents:
998
diff
changeset
|
281 echo "set(CMAKE_STRIP $MXEPATH/usr/bin/i686-w64-mingw32.static-strip)" >> \ |
4f999c7821ce
Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents:
998
diff
changeset
|
282 "$MXEPATH/usr/i686-w64-mingw32.static/share/cmake/mxe-conf.cmake" |
4f999c7821ce
Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents:
998
diff
changeset
|
283 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
284 Workaround Qt CMake Bugs: |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
285 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
286 find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
287 xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g' |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
288 sed -i 's/^_qt5gui_find_extra_libs.*//' \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
289 $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
290 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
291 Compile the software: |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
292 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
293 cd trustbridge |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
294 mkdir build-windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
295 cd build-windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
296 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
297 cmake .. \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
298 -DCMAKE_PREFIX_PATH="$MXETARGET/qt5;$MXETARGET;" \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
299 -DCMAKE_TOOLCHAIN_FILE="$MXETARGET/share/cmake/mxe-conf.cmake" \ |
1024
5ec1cf66922e
Use curl now!
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1019
diff
changeset
|
300 -DCMAKE_VERBOSE_MAKEFILE=True |
848
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
301 |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
302 Runtime Depdendencies |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
303 ===================== |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
304 The Admin tool needs some additional software to be able to create installtion |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
305 packages: |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
306 |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
307 apt-get install nsis wine sharutils |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
308 */ |