Mercurial > trustbridge
annotate INSTALL @ 876:0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 07 Aug 2014 19:12:37 +0200 |
parents | e4cf249ba1a6 |
children | 7ea29b5183a3 |
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 \ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
38 -system-libpng -qpa xcb -qt-xkbcommon -qt-xcb -no-nis -no-libjpeg -qt-libpng \ |
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 && \ |
789
2e954efcb3f1
Readd -j8 to be in line with the other documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
784
diff
changeset
|
40 nice make -j8 && \ |
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 && \ |
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
46 nice make -j8 && \ |
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 && \ |
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
51 nice make -j8 &&\ |
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 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
64 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
|
65 highly suggested. For build options see CMakeList.txt |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
66 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
67 hg clone https://wald.intevation.org/hg/trustbridge/ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
68 cd trustbridge |
834
8081ed84589d
Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
823
diff
changeset
|
69 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
70 mkdir build-linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
71 cd build-linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
72 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
73 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
74 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
75 I386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
76 ==== |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
77 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
|
78 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
|
79 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
|
80 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
|
81 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
|
82 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
|
83 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
|
84 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
|
85 libxcb-randr0-dev:i386 libxcb-glx0-dev:i386 libdbus-1-dev:i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
86 libsm-dev:i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
87 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
88 Some packages are problematic as they do not support multiarch installation so |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
89 we just download and extract them. |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
90 mkdir $YOURPREFIX/i386/packages |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
91 apt-get download -o=Debug::NoLocking=1 -o=dir::cache=$YOURPREFIX/i386/packages libxi-dev:i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
92 libfontconfig1-dev:i386 libfreetype6-dev:i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
93 cd $YOURPREFIX/i386/packages |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
94 for file in *.deb; do; dpkg -x $file .; done; |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
95 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
96 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
|
97 directory. |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
98 mkdir i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
99 cd i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
100 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
|
101 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
|
102 ./configure --prefix=$YOURPREFIX/i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
103 -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
|
104 -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
|
105 -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
|
106 -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
|
107 -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
|
108 -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
|
109 && \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
110 nice make -j8 && \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
111 make install |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
112 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
113 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
|
114 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
|
115 mkdir build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
116 cd build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
117 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
|
118 -DCMAKE_VERBOSE_MAKEFILE=True \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
119 -DENABLE_TESTING=FALSE -DENABLE_PROGRAMS=FALSE && \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
120 nice make -j8 && \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
121 make install |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
122 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
123 Now for Trustbridge itself |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
124 cd ../../trustbridge |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
125 mkdir build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
126 cd build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
127 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
|
128 -DCMAKE_VERBOSE_MAKEFILE=True \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
129 -DCMAKE_C_FLAGS=-m32 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
130 -DCMAKE_CXX_FLAGS="-m32" |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
131 |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
132 Hiawatha (for Downloader unit test) |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
133 =================================== |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
134 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
|
135 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
|
136 dependency. |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
137 |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
138 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
|
139 sha256sum hiawatha-9.5.tar.gz |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
140 |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
141 c181011db1af187006190fc186689a0707a6f1e7b524c2a4347840e8fdf68b4f hiawatha-9.5.tar.gz |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
142 |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
143 tar -xf hiawatha-9.5.tar.gz |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
144 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
|
145 cd hiawatha-9.5/polarssl |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
146 sed -i 's/wget.*//' upgrade |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
147 ./upgrade 1.3.7 |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
148 cd .. |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
149 mkdir build |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
150 cd build |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
151 cmake .. -DCMAKE_INSTALL_PREFIX=$YOURPREFIX |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
152 make && make install |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
153 |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
154 Osslsigncode (for binverify unit test) |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
155 ====================================== |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
156 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
|
157 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
|
158 |
847
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
159 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
|
160 sha256sum osslsigncode-1.7.1.tar.gz |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
161 # f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
162 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
|
163 cd osslsigncode-1.7.1 |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
164 ./configure --without-curl --prefix=$YOURPREFIX |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
165 make && make install |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
166 |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
167 # for a windows binary (optional) |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
168 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
|
169 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
170 For Microsoft Windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
171 ===================== |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
172 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
|
173 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
|
174 Tested development platform: Ubuntu 13.10. |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
175 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
176 Dependencies on the Host system: |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
177 git autoconf automake bash bison bzip2 \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
178 cmake flex gettext git g++ intltool \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
179 libffi-dev libtool libltdl-dev libssl-dev \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
180 libxml-parser-perl make openssl patch perl \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
181 pkg-config scons sed unzip wget xz-utils autopoint \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
182 gperf |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
183 |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
184 Build the windows binaries: |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
185 MXEPATH=$YOURPREFIX/win |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
186 git clone https://github.com/mxe/mxe.git $MXEPATH |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
187 cd $MXEPATH |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
188 echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
189 make polarssl |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
190 make qtbase |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
191 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
192 Workaround Qt CMake Bugs: |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
193 find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
194 xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g' |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
195 sed -i 's/^_qt5gui_find_extra_libs.*//' \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
196 $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
197 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
198 Make an NSS build available in the MXE prefix: |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
199 # TODO -> Document how to build NSS,.. |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
200 cp -r <magic nss folder> $MXEPATH/usr/i686-w64-mingw32.static/ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
201 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
202 Compile the software: |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
203 cd trustbridge |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
204 mkdir build-windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
205 cd build-windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
206 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
207 cmake .. \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
208 -DCMAKE_PREFIX_PATH="$MXETARGET/qt5;$MXETARGET;" \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
209 -DCMAKE_TOOLCHAIN_FILE="$MXETARGET/share/cmake/mxe-conf.cmake" \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
210 -DCMAKE_VERBOSE_MAKEFILE=True |
848
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
211 |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
212 Runtime Depdendencies |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
213 ===================== |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
214 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
|
215 packages: |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
216 |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
217 apt-get install nsis wine sharutils |