]> git.street.me.uk Git - andy/viking.git/blame - win32/installer-mingw.sh
Really empty GPS realtime layers.
[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
b0678771
RN
18# General clean out tmp copy location so 32v64 versions can't conflict
19if [ -z "$NOCLEAN" ]; then
20 rm -rf installer/bin
21fi
0edf62b8
RN
22mkdir -p $DESTINATION
23
24if [ -z "$MINGW" ]; then
b0678771
RN
25 if [ "$HOSTTYPE" == "x86_64" ]; then
26 MINGW=/usr/x86_64-w64-mingw32/sys-root/mingw
27 else
28 MINGW=/usr/i686-w64-mingw32/sys-root/mingw
29 fi
0edf62b8
RN
30fi
31MINGW_BIN=$MINGW/bin
32echo MINGW=$MINGW
33
34echo Make language copies
35for x in $(ls ../po/*.gmo); do
36 mkdir -p $DESTINATION/locale/$(basename -s .gmo $x)/LC_MESSAGES
37 cp $MINGW/share/locale/$(basename -s .gmo $x)/LC_MESSAGES/viking.mo $DESTINATION/locale/$(basename -s .gmo $x)/LC_MESSAGES/
38done
39
40echo Copying Viking
41cp $MINGW_BIN/*viking.exe $DESTINATION/viking.exe
42cp ../COPYING $DESTINATION/COPYING_GPL.txt
43cp ../AUTHORS $DESTINATION/AUTHORS.txt
44cp ../NEWS $DESTINATION/NEWS.txt
45cp ../README $DESTINATION/README.txt
46# PDF generation if required
47if [ ! -e ../help/C/viking.pdf ]; then
48 pushd ../help/C
49 dblatex viking.xml
50 if [ $? != 0 ]; then
51 echo "Help PDF generation failed."
52 exit
53 fi
54fi
55cp ../help/C/viking.pdf $DESTINATION
56cp ../tools/viking-cache.py $DESTINATION
57cp installer/translations/*nsh $DESTINATION
58cp installer/pixmaps/viking_icon.ico $DESTINATION
59
60echo Copying Extension Configuration Data
61mkdir $DESTINATION/data
62cp ../data/*.xml $DESTINATION/data
63cp ../data/latlontz.txt $DESTINATION/data
64
65echo Copying Helper Apps
66# Needed when spawning other programs (e.g. when invoking GPSBabel)
b0678771
RN
67if [ "$HOSTTYPE" == "x86_64" ]; then
68 cp $MINGW_BIN/gspawn-win64-helper.exe $DESTINATION
69else
70 cp $MINGW_BIN/gspawn-win32-helper.exe $DESTINATION
71fi
0edf62b8
RN
72
73echo Copying Libraries
74# Core libs
75cp $MINGW_BIN/libatk*.dll $DESTINATION
76cp $MINGW_BIN/libcairo*.dll $DESTINATION
77cp $MINGW_BIN/libgcc*.dll $DESTINATION
78cp $MINGW_BIN/libgcrypt*.dll $DESTINATION
79cp $MINGW_BIN/libgdk*.dll $DESTINATION
80cp $MINGW_BIN/libgettext*.dll $DESTINATION
81cp $MINGW_BIN/libgio*.dll $DESTINATION
82cp $MINGW_BIN/libglib*.dll $DESTINATION
83cp $MINGW_BIN/libgmodule*.dll $DESTINATION
84cp $MINGW_BIN/libgnurx*.dll $DESTINATION
85cp $MINGW_BIN/libgobject*.dll $DESTINATION
86cp $MINGW_BIN/libgpg*.dll $DESTINATION
87cp $MINGW_BIN/libgtk*.dll $DESTINATION
88cp $MINGW_BIN/libintl*.dll $DESTINATION
89cp $MINGW_BIN/libffi*.dll $DESTINATION
90cp $MINGW_BIN/libfontconfig*.dll $DESTINATION
91cp $MINGW_BIN/libfreetype*.dll $DESTINATION
92cp $MINGW_BIN/libharfbuzz*.dll $DESTINATION
93cp $MINGW_BIN/libjasper*.dll $DESTINATION
94cp $MINGW_BIN/libjpeg*.dll $DESTINATION
95cp $MINGW_BIN/liblzma*.dll $DESTINATION
96cp $MINGW_BIN/libpng*.dll $DESTINATION
97cp $MINGW_BIN/libpango*.dll $DESTINATION
98cp $MINGW_BIN/libpixman*.dll $DESTINATION
99cp $MINGW_BIN/libtiff*.dll $DESTINATION
100cp $MINGW_BIN/libxml2*.dll $DESTINATION
101cp $MINGW_BIN/zlib1.dll $DESTINATION
102cp $MINGW_BIN/libzip*.dll $DESTINATION
103
104# Extras
105cp $MINGW_BIN/libexpat*.dll $DESTINATION
106# Curl 7.17+ has quite a few dependencies for SSL support
107cp $MINGW_BIN/libcurl*.dll $DESTINATION
108cp $MINGW_BIN/libssh*.dll $DESTINATION
109cp $MINGW_BIN/libidn*.dll $DESTINATION
110cp $MINGW_BIN/libnspr*.dll $DESTINATION
111cp $MINGW_BIN/libplc*.dll $DESTINATION
112cp $MINGW_BIN/libplds*.dll $DESTINATION
113cp $MINGW_BIN/nss*.dll $DESTINATION
114cp $MINGW_BIN/ssl*.dll $DESTINATION
b0678771
RN
115if [ "$HOSTTYPE" == "x86_64" ]; then
116 cp /usr/share/doc/packages/mingw64-libcurl-devel/COPYING $DESTINATION/COPYING_curl.txt
117else
118 cp /usr/share/doc/packages/mingw32-libcurl-devel/COPYING $DESTINATION/COPYING_curl.txt
119fi
0edf62b8 120
7716d5e1
RN
121cp $MINGW_BIN/libexiv2.dll $DESTINATION
122cp $MINGW_BIN/libgexiv2*.dll $DESTINATION
123cp $MINGW_BIN/libstdc++*.dll $DESTINATION
0edf62b8
RN
124cp $MINGW_BIN/libbz*.dll $DESTINATION
125cp $MINGW_BIN/libmagic*.dll $DESTINATION
126cp $MINGW/share/misc/magic* $DESTINATION
127cp $MINGW_BIN/libsqlite3*.dll $DESTINATION
bd27baa4 128cp $MINGW_BIN/libnettle*.dll $DESTINATION
0edf62b8 129
8d90bf94
RN
130# Extra GTK stuff required for (default) theme to work in Windows
131mkdir -p $DESTINATION/lib
132cp -a $MINGW/lib/gtk-2.0 $DESTINATION/lib
133mkdir -p $DESTINATION/share/themes
134cp -a $MINGW/share/themes/MS-Windows $DESTINATION/share/themes
135
0edf62b8
RN
136echo Copying GPSBabel Installer
137mkdir $DESTINATION/Optional
138# ATM GPSBabel needs to be in 'cache' dir
139cp cache/GPSBabel-1.5.2-Setup.exe $DESTINATION/Optional
140
141pushd installer
142if [ -z "$DEBUG" ]; then
143 makensis -X"SetCompressor lzma" viking-installer.nsi
144else
145 # Speedier install generation when testing
146 makensis -X"SetCompress off" viking-installer.nsi
147fi
b0678771
RN
148
149if [ "$HOSTTYPE" == "x86_64" ]; then
150 rename viking viking-win64 viking-[0-9].[0-9].[0-9].[0-9].exe
151else
152 rename viking viking-win32 viking-[0-9].[0-9].[0-9].[0-9].exe
153fi
0edf62b8 154popd