Mercurial > trustbridge
annotate INSTALL @ 983:427e2e18b8c8
Move Shell functions into util
Due to a bug in mingw only one c file may include shlobj.h as there
is an unguarded inline definition in there leading to multiple
definition errors. Thus the get_program_data get_program_files
utility functions.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Fri, 29 Aug 2014 17:11:35 +0200 |
parents | d3258a6faedd |
children | 0570b1e562c2 |
rev | line source |
---|---|
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
1 Installation Instructions |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
2 ************************* |
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 For Debian based GNU / Linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
5 ============================ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
6 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
|
7 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
8 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
|
9 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
|
10 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
11 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
|
12 ( 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
|
13 Polarssl needs cmake and build-essentials. |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
14 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
15 export YOURPREFIX=<Prefix of your choice (default /usr)> |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
16 export PATH=$YOURPREFIX/bin:$PATH |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
17 |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
18 curl https://download.qt-project.org/official_releases/qt/5.3/5.3.1/single/qt-everywhere-opensource-src-5.3.1.tar.xz.mirrorlist | grep SHA-256 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
19 |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
20 29d2ab3b1aef87e2dd806b278802e357274016475a513341348040468bf233ac |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
21 |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
22 http://qt-mirror.dannhauer.de/official_releases/qt/5.3/5.3.1/single/qt-everywhere-opensource-src-5.3.1.tar.xz |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
23 |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
24 sha256sum qt-everywhere-opensource-src-5.3.1.tar.xz |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
25 |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
26 tar -xf qt-everywhere-opensource-src-5.3.1.tar.xz |
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
27 |
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
28 cd qt-everywhere-opensource-src-5.3.1/qtbase |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
29 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
30 build dependencies have to to be installed at this point, |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
31 see ../qtbase/src/plugins/platforms/xcb/README |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
32 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
33 ./configure --prefix=$YOURPREFIX \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
34 -opensource \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
35 -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
|
36 -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
|
37 -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
|
38 -qpa xcb -qt-xkbcommon -qt-xcb -no-nis -no-libjpeg -qt-libpng \ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
39 -qt-zlib -no-gif && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
40 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
|
41 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
|
42 |
784
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
43 cd .. && \ |
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
44 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
|
45 qmake && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
46 nice make -j`nproc` && \ |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
47 make install |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
48 |
784
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
49 cd ../../../linguist && \ |
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
50 qmake && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
51 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
|
52 make install |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
53 |
823
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
54 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
|
55 318171db41335cacbb5b0047c94f1faf91442ab70a223b5223436703c9406ff1 polarssl-1.3.8-gpl.tgz |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
56 |
823
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
57 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
|
58 cd polarssl-1.3.8 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
59 mkdir build |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
60 cd build |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
61 cmake .. -DCMAKE_C_FLAGS=-fpic -DCMAKE_INSTALL_PREFIX=$YOURPREFIX |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
62 make && make test && make install |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
63 |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
64 Libcurl: |
960
64c0e15935c8
Just add the sha256sum instead of gpg verify to avoid trust issues.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
958
diff
changeset
|
65 wget http://curl.haxx.se/download/curl-7.37.1.tar.gz |
64c0e15935c8
Just add the sha256sum instead of gpg verify to avoid trust issues.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
958
diff
changeset
|
66 a32492a38c10a097344892f5fd2041e54698cb909696852311b1161e4aa979f3 curl-7.37.1.tar.gz |
64c0e15935c8
Just add the sha256sum instead of gpg verify to avoid trust issues.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
958
diff
changeset
|
67 |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
68 tar -xf curl-7.37.1.tar.gz |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
69 cd curl-7.37.1/ |
971
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
70 mkdir build |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
71 cd build |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
72 |
971
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
73 ../configure --prefix=$YOURPREFIX \ |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
74 --without-nghttp2 --without-libidn --without-winidn --without-libssh2 \ |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
75 --without-librtmp --without-libmetalink --without-axtls --without-nss \ |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
76 --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
|
77 --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
|
78 --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
|
79 --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
|
80 --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
|
81 --without-zlib |
953
f2066a24047d
Update build doc for curl. Do not disable proxy.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
949
diff
changeset
|
82 make && make install |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
83 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
84 To compile the software you can use plain cmake. An out of source build is |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
85 highly suggested. For build options see CMakeList.txt |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
86 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
87 hg clone https://wald.intevation.org/hg/trustbridge/ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
88 cd trustbridge |
834
8081ed84589d
Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
823
diff
changeset
|
89 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
90 mkdir build-linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
91 cd build-linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
92 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
93 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
94 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
95 I386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
96 ==== |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
97 Install dependencies (list might be incomplete) |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
98 apt-get install libx32stdc++-4.8-dev libc6:i386 g++-4.8-multilib \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
99 libxcb1:i386 libxcb1-dev:i386 libx11-xcb1:i386 libx11-xcb-dev:i386 libxcb-keysyms1:i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
100 libxcb-keysyms1-dev:i386 libxcb-image0:i386 libxcb-image0-dev:i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
101 libxcb-shm0:i386 libxcb-shm0-dev:i386 libxcb-icccm4:i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
102 libxcb-icccm4-dev:i386 libxcb-sync-dev:i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
103 libxcb-render-util0:i386 libxcb-render-util0-dev:i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
104 libxcb-xfixes0-dev:i386 libxrender-dev:i386 libxcb-shape0-dev:i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
105 libxcb-randr0-dev:i386 libxcb-glx0-dev:i386 libdbus-1-dev:i386 \ |
888
be3cb357b027
Document libnss3:i386 dependendcy
Andre Heinecke <andre.heinecke@intevation.de>
parents:
887
diff
changeset
|
106 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
|
107 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
108 Create a new directory for qt. As qt has to build in source you need a different |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
109 directory. |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
110 mkdir i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
111 cd i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
112 tar -xf ../qt-everywhere-opensource-src-5.3.1.tar.xz |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
113 cd qt-everywhere-opensource-src-5.3.1/qtbase/ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
114 ./configure --prefix=$YOURPREFIX/i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
115 -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
|
116 -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
|
117 -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
|
118 -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
|
119 -system-libpng -qpa xcb -qt-xcb -no-nis -no-libjpeg -no-gif -qt-zlib \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
120 -no-fontconfig -qt-freetype -qt-libpng -qt-xkbcommon \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
121 && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
122 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
|
123 make install |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
124 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
125 Switch back to the polarssl directory |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
126 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
|
127 mkdir build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
128 cd build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
129 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
|
130 -DCMAKE_VERBOSE_MAKEFILE=True \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
131 -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
|
132 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
|
133 make install |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
134 |
971
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
135 Change to the curl directory |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
136 cd ../../curl-7.37.1/ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
137 mkdir build-i386 |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
138 cd build-i386 |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
139 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
|
140 --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
|
141 --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
|
142 --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
|
143 --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
|
144 --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
|
145 --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
|
146 --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
|
147 --without-zlib |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
148 make && make install |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
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 Now for Trustbridge itself |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
151 cd ../../trustbridge |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
152 mkdir build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
153 cd build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
154 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
|
155 -DCMAKE_VERBOSE_MAKEFILE=True \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
156 -DCMAKE_C_FLAGS=-m32 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
157 -DCMAKE_CXX_FLAGS="-m32" |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
158 |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
159 Hiawatha (for Downloader unit test) |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
160 =================================== |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
161 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
|
162 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
|
163 dependency. |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
164 |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
165 wget https://www.hiawatha-webserver.org/files/hiawatha-9.5.tar.gz |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
166 sha256sum hiawatha-9.5.tar.gz |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
167 |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
168 c181011db1af187006190fc186689a0707a6f1e7b524c2a4347840e8fdf68b4f hiawatha-9.5.tar.gz |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
169 |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
170 tar -xf hiawatha-9.5.tar.gz |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
171 cp polarssl-1.3.7-gpl.tgz hiawatha-9.5/polarssl/polarssl.tgz |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
172 cd hiawatha-9.5/polarssl |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
173 sed -i 's/wget.*//' upgrade |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
174 ./upgrade 1.3.7 |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
175 cd .. |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
176 mkdir build |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
177 cd build |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
178 cmake .. -DCMAKE_INSTALL_PREFIX=$YOURPREFIX |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
179 make && make install |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
180 |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
181 Osslsigncode (for binverify unit test) |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
182 ====================================== |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
183 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
|
184 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
|
185 |
847
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
186 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
|
187 sha256sum osslsigncode-1.7.1.tar.gz |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
188 # f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
189 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
|
190 cd osslsigncode-1.7.1 |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
191 ./configure --without-curl --prefix=$YOURPREFIX |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
192 make && make install |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
193 |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
194 # for a windows binary (optional) |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
195 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
|
196 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
197 For Microsoft Windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
198 ===================== |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
199 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
|
200 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
|
201 Tested development platform: Ubuntu 13.10. |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
202 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
203 Dependencies on the Host system: |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
204 git autoconf automake bash bison bzip2 \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
205 cmake flex gettext git g++ intltool \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
206 libffi-dev libtool libltdl-dev libssl-dev \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
207 libxml-parser-perl make openssl patch perl \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
208 pkg-config scons sed unzip wget xz-utils autopoint \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
209 gperf |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
210 |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
211 Build the windows binaries: |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
212 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
|
213 git clone https://github.com/Intevation/mxe.git $MXEPATH |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
214 cd $MXEPATH |
958
3b736de02df3
Add correct branch to INSTALL documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
953
diff
changeset
|
215 git checkout trustbridge |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
216 echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
217 make polarssl |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
218 make qtbase |
949
0abacb0fd564
Document and use minimized qt and document curl build for windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
948
diff
changeset
|
219 (optional) make curl |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
220 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
221 Workaround Qt CMake Bugs: |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
222 find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
223 xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g' |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
224 sed -i 's/^_qt5gui_find_extra_libs.*//' \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
225 $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
226 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
227 Compile the software: |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
228 cd trustbridge |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
229 mkdir build-windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
230 cd build-windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
231 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
232 cmake .. \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
233 -DCMAKE_PREFIX_PATH="$MXETARGET/qt5;$MXETARGET;" \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
234 -DCMAKE_TOOLCHAIN_FILE="$MXETARGET/share/cmake/mxe-conf.cmake" \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
235 -DCMAKE_VERBOSE_MAKEFILE=True |
848
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
236 |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
237 Runtime Depdendencies |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
238 ===================== |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
239 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
|
240 packages: |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
241 |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
242 apt-get install nsis wine sharutils |