Mercurial > trustbridge
annotate INSTALL @ 1280:6e454e24b8af
MErged.
author | Emanuel Schuetze <emanuel@intevation.de> |
---|---|
date | Mon, 29 Sep 2014 11:43:23 +0200 |
parents | d9ecf3a83620 |
children | 4a3a482dc337 |
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 |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
23 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 |
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
62 318171db41335cacbb5b0047c94f1faf91442ab70a223b5223436703c9406ff1 polarssl-1.3.8-gpl.tgz |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
63 |
823
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
64 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
|
65 cd polarssl-1.3.8 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
66 mkdir build |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
67 cd build |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
68 cmake .. -DCMAKE_C_FLAGS=-fpic -DCMAKE_INSTALL_PREFIX=$YOURPREFIX |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
69 make && make test && make install |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
70 |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
71 Trustbridge checkout: |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
72 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
|
73 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
|
74 using polarssl. |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
75 |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
76 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
|
77 |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
78 Libcurl: |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
79 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
80 wget http://curl.haxx.se/download/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
|
81 5661028aa6532882fa228cd23c99ddbb8b87643dbb1a7ea55c068d34a943dff1 curl-7.38.0.tar.gz |
960
64c0e15935c8
Just add the sha256sum instead of gpg verify to avoid trust issues.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
958
diff
changeset
|
82 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
83 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
|
84 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
|
85 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
|
86 mkdir build |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
87 cd build |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
88 |
971
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
89 ../configure --prefix=$YOURPREFIX \ |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
90 --without-nghttp2 --without-libidn --without-winidn --without-libssh2 \ |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
91 --without-librtmp --without-libmetalink --without-axtls --without-nss \ |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
92 --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
|
93 --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
|
94 --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
|
95 --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
|
96 --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
|
97 --without-zlib |
953
f2066a24047d
Update build doc for curl. Do not disable proxy.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
949
diff
changeset
|
98 make && make install |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
99 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
100 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
|
101 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
|
102 For build options see CMakeList.txt |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
103 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
104 cd trustbridge |
834
8081ed84589d
Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
823
diff
changeset
|
105 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
106 mkdir build-linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
107 cd build-linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
108 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
109 |
1265
b18f08034c24
Split off CLANG section more clearly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1264
diff
changeset
|
110 CLANG |
b18f08034c24
Split off CLANG section more clearly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1264
diff
changeset
|
111 ===== |
1266
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
112 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
|
113 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
|
114 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
|
115 |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
116 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
|
117 build with clang on ubuntu: |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
118 |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
119 apt-get install clang llvm |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
120 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
|
121 |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
122 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
|
123 |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
124 mkdir build-clang |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
125 cd build-clang |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
126 CC=/usr/bin/clang \ |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
127 CXX=/usr/bin/clang++ \ |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
128 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX \ |
1266
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
129 -DUSE_CLANG=TRUE \ |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
130 -DCMAKE_VERBOSE_MAKEFILE=TRUE |
1267
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
131 make |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
132 |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
133 To run scan build: |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
134 |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
135 CXX=/usr/share/clang/scan-build/c++-analyzer \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
136 CC=/usr/share/clang/scan-build/ccc-analyzer \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
137 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
138 -DUSE_CLANG=TRUE \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
139 -DCMAKE_VERBOSE_MAKEFILE=TRUE |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
140 scan-build make |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
141 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
142 I386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
143 ==== |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
144 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
|
145 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
146 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
|
147 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
|
148 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
|
149 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
|
150 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
|
151 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
|
152 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
|
153 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
|
154 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
|
155 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
156 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
|
157 directory: |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
158 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
159 mkdir i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
160 cd i386 |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
161 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
|
162 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
|
163 ./configure --prefix=$YOURPREFIX/i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
164 -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
|
165 -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
|
166 -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
|
167 -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
|
168 -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
|
169 -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
|
170 && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
171 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
|
172 make install |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
173 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
174 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
|
175 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
176 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
|
177 mkdir build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
178 cd build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
179 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
|
180 -DCMAKE_VERBOSE_MAKEFILE=True \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
181 -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
|
182 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
|
183 make install |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
184 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
185 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
|
186 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
187 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
|
188 mkdir build-i386 |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
189 cd build-i386 |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
190 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
|
191 --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
|
192 --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
|
193 --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
|
194 --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
|
195 --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
|
196 --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
|
197 --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
|
198 --without-zlib |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
199 make && make install |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
200 |
1264
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
201 Now for Trustbridge itself: |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
202 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
203 cd ../../trustbridge |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
204 mkdir build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
205 cd build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
206 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
|
207 -DCMAKE_VERBOSE_MAKEFILE=True \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
208 -DCMAKE_C_FLAGS=-m32 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
209 -DCMAKE_CXX_FLAGS="-m32" |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
210 |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
211 Hiawatha (for Downloader unit test) |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
212 =================================== |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
213 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
|
214 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
|
215 dependency. |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
216 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
217 wget https://www.hiawatha-webserver.org/files/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
|
218 sha256sum hiawatha-9.7.tar.gz |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
219 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
220 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
|
221 |
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
222 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
|
223 cd hiawatha-9.7 |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
224 mkdir build |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
225 cd build |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
226 cmake .. -DCMAKE_INSTALL_PREFIX=$YOURPREFIX |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
227 make && make install |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
228 |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
229 |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
230 Osslsigncode (for binverify unit test) |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
231 ====================================== |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
232 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
|
233 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
|
234 |
847
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
235 wget http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
236 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
|
237 f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 |
847
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
238 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
|
239 cd osslsigncode-1.7.1 |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
240 ./configure --without-curl --prefix=$YOURPREFIX |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
241 make && make install |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
242 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
243 #for a windows binary (optional): |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
244 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
|
245 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
246 For Microsoft Windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
247 ===================== |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
248 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
|
249 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
|
250 Tested development platform: Ubuntu 13.10. |
575
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 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
|
253 |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
254 apt-get install git autoconf automake bash bison bzip2 \ |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
255 cmake flex gettext git g++ intltool \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
256 libffi-dev libtool libltdl-dev libssl-dev \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
257 libxml-parser-perl make openssl patch perl \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
258 pkg-config scons sed unzip wget xz-utils autopoint \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
259 gperf |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
260 |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
261 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
|
262 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
263 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
|
264 git clone https://github.com/Intevation/mxe.git $MXEPATH |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
265 cd $MXEPATH |
958
3b736de02df3
Add correct branch to INSTALL documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
953
diff
changeset
|
266 git checkout trustbridge |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
267 echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
268 make polarssl |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
269 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
|
270 |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
271 (optional) |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
272 |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
273 make curl |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
274 |
1019
4f999c7821ce
Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents:
998
diff
changeset
|
275 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
|
276 |
1019
4f999c7821ce
Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents:
998
diff
changeset
|
277 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
|
278 "$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
|
279 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
280 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
|
281 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
282 find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
283 xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g' |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
284 sed -i 's/^_qt5gui_find_extra_libs.*//' \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
285 $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
286 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
287 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
|
288 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
289 cd trustbridge |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
290 mkdir build-windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
291 cd build-windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
292 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
293 cmake .. \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
294 -DCMAKE_PREFIX_PATH="$MXETARGET/qt5;$MXETARGET;" \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
295 -DCMAKE_TOOLCHAIN_FILE="$MXETARGET/share/cmake/mxe-conf.cmake" \ |
1024
5ec1cf66922e
Use curl now!
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1019
diff
changeset
|
296 -DCMAKE_VERBOSE_MAKEFILE=True |
848
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
297 |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
298 Runtime Depdendencies |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
299 ===================== |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
300 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
|
301 packages: |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
302 |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
303 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
|
304 */ |