[PATCH] Add build documentation
Wald Commits
scm-commit at wald.intevation.org
Mon May 26 11:33:39 CEST 2014
# HG changeset patch
# User Andre Heinecke <aheinecke at intevation.de>
# Date 1401096798 0
# Node ID ab2d62fe281578051ff72dab517938c8b61e55d4
# Parent e32ae933391f0b649ba03fc667006836df85d805
Add build documentation
diff -r e32ae933391f -r ab2d62fe2815 INSTALL
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/INSTALL Mon May 26 09:33:18 2014 +0000
@@ -0,0 +1,96 @@
+Installation Instructions
+*************************
+
+For Debian based GNU / Linux
+============================
+The following commands build qt5 and polarssl which are dependencies of the Software.
+For build dependencies please refer to the Qt documentation
+( qtbase/src/plugins/platforms/xcb/README ). Polarssl needs cmake and build-essentials.
+
+ export YOURPREFIX=<Prefix of your choice (default /usr)>
+
+ curl https://download.qt-project.org/official_releases/qt/5.3/5.3.0/single/qt-everywhere-opensource-src-5.3.0.tar.xz.mirrorlist | grep SHA-256
+
+e6f47e69a5ce707452dd4bad1fd1919201a71e88be1b06afe1d302a3935daf1f
+
+ http://qt-mirror.dannhauer.de/official_releases/qt/5.3/5.3.0/single/qt-everywhere-opensource-src-5.3.0.tar.xz
+
+ sha256sum qt-everywhere-opensource-src-5.3.0.tar.xz
+
+ tar -xvmlf qt-everywhere-opensource-src-5.3.0.tar.xz
+
+ cd qt-everywhere-opensource-src-5.3.0/qtbase
+
+build dependencies have to to be installed at this point,
+see ../qtbase/src/plugins/platforms/xcb/README
+
+ ./configure --prefix=$YOURPREFIX \
+ -opensource \
+ -release -nomake tests -nomake examples -confirm-license \
+ -static -no-cups -no-nis -no-icu -no-fontconfig \
+ -no-directfb -no-opengl -no-kms -no-eglfs -no-egl -no-openssl -no-glib
+ nice make -j8
+ make install
+
+ curl -O https://polarssl.org/download/polarssl-1.3.7-gpl.tgz
+ 6beef0281160bf07fefefd6b412dd1ce4c39261cf5300835aef442253f0400e5 polarssl-1.3.7-gpl.tgz
+
+ tar -xf polarssl-1.3.7-gpl.tgz
+ cd polarssl-1.3.7
+ mkdir build
+ cd build
+ cmake .. -DCMAKE_C_FLAGS=-fpic -DCMAKE_INSTALL_PREFIX=$YOURPREFIX
+ make && make test && make install
+
+To compile the software you can use plain cmake. An out of source build is
+highly suggested. For build options see CMakeList.txt
+
+ hg clone https://wald.intevation.org/hg/trustbridge/
+ cd trustbridge
+ mkdir build-linux
+ cd build-linux
+ cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX
+
+
+For Microsoft Windows
+=====================
+The Windows variant can be cross compiled on Debian based GNU / Linux systems.
+The minimum requirement is debian stable.
+
+Dependencies on the Host system:
+ git autoconf automake bash bison bzip2 \
+ cmake flex gettext git g++ intltool \
+ libffi-dev libtool libltdl-dev libssl-dev \
+ libxml-parser-perl make openssl patch perl \
+ pkg-config scons sed unzip wget xz-utils autopoint \
+ gperf
+
+Build the windows:
+ MXEPATH=$YOURPREFIX/win
+ git clone https://github.com/mxe/mxe.git $MXEPATH
+ cd $MXEPATH
+ echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk
+ make polarssl
+ make qtbase
+
+Workaround Qt CMake Bugs:
+ find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \
+ xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g'
+ sed -i 's/^_qt5gui_find_extra_libs.*//' \
+ $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
+
+Make an NSS build available in the MXE prefix:
+ # TODO -> Document how to build NSS,..
+ cp -r <magic nss folder> $MXEPATH/usr/i686-w64-mingw32.static/
+
+Compile the software:
+ cd trustbridge
+ mkdir build-windows
+ cd build-windows
+ MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/
+ cmake .. \
+ -DCMAKE_PREFIX_PATH="$MXETARGET/qt5;$MXETARGET;" \
+ -DNSS_INCLUDEDIR="/nss-3.12.7/include;/nss-3.12.7/public/nss" \
+ -DNSS_LIBDIR="/nss-3.12.7/lib" \
+ -DCMAKE_TOOLCHAIN_FILE="$MXETARGET/share/cmake/mxe-conf.cmake" \
+ -DCMAKE_VERBOSE_MAKEFILE=True
More information about the Trustbridge-commits
mailing list