]> git.street.me.uk Git - andy/viking.git/blame - win32/installer-mingw.sh
[WINDOWS] Cross build
[andy/viking.git] / win32 / installer-mingw.sh
CommitLineData
0edf62b8
RN
1#!/bin/bash
2# License: CC0
3#
4# A version of the installer.bat for mingw build
5# Similarily basily copy all dependent files from the host system
6# to be available for the NSIS stage
7#
8# Remember to have installed the generated mingw-viking package first so the
9# binaries are available from the default location
10# (e.g. as root rpm -i mingw32-viking-1.7-1.noarch.rpm)
11#
12# 'MINGW' and 'DESTINATION' values can be defined to override inbuilt defaults
13#
14
15if [ -z "$DESTINATION" ]; then
16 DESTINATION=installer/bin
17fi
18mkdir -p $DESTINATION
19
20if [ -z "$MINGW" ]; then
21 MINGW=/usr/i686-w64-mingw32/sys-root/mingw
22fi
23MINGW_BIN=$MINGW/bin
24echo MINGW=$MINGW
25
26echo Make language copies
27for x in $(ls ../po/*.gmo); do
28 mkdir -p $DESTINATION/locale/$(basename -s .gmo $x)/LC_MESSAGES
29 cp $MINGW/share/locale/$(basename -s .gmo $x)/LC_MESSAGES/viking.mo $DESTINATION/locale/$(basename -s .gmo $x)/LC_MESSAGES/
30done
31
32echo Copying Viking
33cp $MINGW_BIN/*viking.exe $DESTINATION/viking.exe
34cp ../COPYING $DESTINATION/COPYING_GPL.txt
35cp ../AUTHORS $DESTINATION/AUTHORS.txt
36cp ../NEWS $DESTINATION/NEWS.txt
37cp ../README $DESTINATION/README.txt
38# PDF generation if required
39if [ ! -e ../help/C/viking.pdf ]; then
40 pushd ../help/C
41 dblatex viking.xml
42 if [ $? != 0 ]; then
43 echo "Help PDF generation failed."
44 exit
45 fi
46fi
47cp ../help/C/viking.pdf $DESTINATION
48cp ../tools/viking-cache.py $DESTINATION
49cp installer/translations/*nsh $DESTINATION
50cp installer/pixmaps/viking_icon.ico $DESTINATION
51
52echo Copying Extension Configuration Data
53mkdir $DESTINATION/data
54cp ../data/*.xml $DESTINATION/data
55cp ../data/latlontz.txt $DESTINATION/data
56
57echo Copying Helper Apps
58# Needed when spawning other programs (e.g. when invoking GPSBabel)
59cp $MINGW_BIN/gspawn-win32-helper.exe $DESTINATION
60
61echo Copying Libraries
62# Core libs
63cp $MINGW_BIN/libatk*.dll $DESTINATION
64cp $MINGW_BIN/libcairo*.dll $DESTINATION
65cp $MINGW_BIN/libgcc*.dll $DESTINATION
66cp $MINGW_BIN/libgcrypt*.dll $DESTINATION
67cp $MINGW_BIN/libgdk*.dll $DESTINATION
68cp $MINGW_BIN/libgettext*.dll $DESTINATION
69cp $MINGW_BIN/libgio*.dll $DESTINATION
70cp $MINGW_BIN/libglib*.dll $DESTINATION
71cp $MINGW_BIN/libgmodule*.dll $DESTINATION
72cp $MINGW_BIN/libgnurx*.dll $DESTINATION
73cp $MINGW_BIN/libgobject*.dll $DESTINATION
74cp $MINGW_BIN/libgpg*.dll $DESTINATION
75cp $MINGW_BIN/libgtk*.dll $DESTINATION
76cp $MINGW_BIN/libintl*.dll $DESTINATION
77cp $MINGW_BIN/libffi*.dll $DESTINATION
78cp $MINGW_BIN/libfontconfig*.dll $DESTINATION
79cp $MINGW_BIN/libfreetype*.dll $DESTINATION
80cp $MINGW_BIN/libharfbuzz*.dll $DESTINATION
81cp $MINGW_BIN/libjasper*.dll $DESTINATION
82cp $MINGW_BIN/libjpeg*.dll $DESTINATION
83cp $MINGW_BIN/liblzma*.dll $DESTINATION
84cp $MINGW_BIN/libpng*.dll $DESTINATION
85cp $MINGW_BIN/libpango*.dll $DESTINATION
86cp $MINGW_BIN/libpixman*.dll $DESTINATION
87cp $MINGW_BIN/libtiff*.dll $DESTINATION
88cp $MINGW_BIN/libxml2*.dll $DESTINATION
89cp $MINGW_BIN/zlib1.dll $DESTINATION
90cp $MINGW_BIN/libzip*.dll $DESTINATION
91
92# Extras
93cp $MINGW_BIN/libexpat*.dll $DESTINATION
94# Curl 7.17+ has quite a few dependencies for SSL support
95cp $MINGW_BIN/libcurl*.dll $DESTINATION
96cp $MINGW_BIN/libssh*.dll $DESTINATION
97cp $MINGW_BIN/libidn*.dll $DESTINATION
98cp $MINGW_BIN/libnspr*.dll $DESTINATION
99cp $MINGW_BIN/libplc*.dll $DESTINATION
100cp $MINGW_BIN/libplds*.dll $DESTINATION
101cp $MINGW_BIN/nss*.dll $DESTINATION
102cp $MINGW_BIN/ssl*.dll $DESTINATION
103cp /usr/share/doc/packages/mingw32-libcurl-devel/COPYING $DESTINATION/COPYING_curl.txt
104
105cp $MINGW_BIN/libexif*.dll $DESTINATION
106cp $MINGW_BIN/libbz*.dll $DESTINATION
107cp $MINGW_BIN/libmagic*.dll $DESTINATION
108cp $MINGW/share/misc/magic* $DESTINATION
109cp $MINGW_BIN/libsqlite3*.dll $DESTINATION
110
111echo Copying GPSBabel Installer
112mkdir $DESTINATION/Optional
113# ATM GPSBabel needs to be in 'cache' dir
114cp cache/GPSBabel-1.5.2-Setup.exe $DESTINATION/Optional
115
116pushd installer
117if [ -z "$DEBUG" ]; then
118 makensis -X"SetCompressor lzma" viking-installer.nsi
119else
120 # Speedier install generation when testing
121 makensis -X"SetCompress off" viking-installer.nsi
122fi
123popd