1 |
#!/bin/bash |
2 |
|
3 |
# Convert a gtk2-perl program to a standalone .exe, including all |
4 |
# libraries and runtime files required for running as well as required |
5 |
# datafiles. I _literaly_ sold my soul to the devil and paid with blood |
6 |
# for this. Microsoft die die die die die die die die die die die die |
7 |
|
8 |
PERL=c:\\perl |
9 |
GTK2=c:\\gtk |
10 |
|
11 |
( |
12 |
cat <<EOF |
13 |
$GTK2/etc;root/etc |
14 |
$GTK2/share/themes/MS-Windows/gtk-2.0;root/share/themes/MS-Windows/gtk-2.0 |
15 |
$GTK2/lib/gtk-2.0;root/lib/gtk-2.0 |
16 |
$GTK2/lib/pango;root/lib/pango |
17 |
docwiki.pst;root/Deliantra/Client/private/resources/docwiki.pst |
18 |
win32/splash.bmp;SPLASH.bmp |
19 |
EOF |
20 |
|
21 |
perl -ne '/^(resources\/.*)/ and print "$1;root/Deliantra/Client/private/$1\n"' <MANIFEST |
22 |
|
23 |
cd $GTK2/bin || exit |
24 |
for dll in \ |
25 |
SDL.dll \ |
26 |
SDL_image.dll \ |
27 |
SDL_mixer.dll \ |
28 |
libogg-0.dll \ |
29 |
libvorbis-0.dll \ |
30 |
libvorbisfile-3.dll \ |
31 |
jpeg.dll \ |
32 |
xmltok.dll \ |
33 |
xmlparse.dll \ |
34 |
libpng12-0.dll \ |
35 |
freetype6.dll \ |
36 |
zlib1.dll \ |
37 |
iconv.dll \ |
38 |
intl.dll \ |
39 |
libgthread-2.0-0.dll \ |
40 |
libglib-2.0-0.dll \ |
41 |
libgobject-2.0-0.dll \ |
42 |
libgmodule-2.0-0.dll \ |
43 |
libpango-1.0-0.dll \ |
44 |
libpangoft2-1.0-0.dll \ |
45 |
libfontconfig-1.dll \ |
46 |
fontconfig.dll \ |
47 |
libdb45.dll \ |
48 |
pthreadVC2.dll |
49 |
do |
50 |
echo "$GTK2/bin/$dll;shlib/$dll" |
51 |
done |
52 |
) >addlist |
53 |
cat addlist |
54 |
|
55 |
trap "rm addlist" 0 |
56 |
|
57 |
GUI=--gui |
58 |
#$PERL/bin/perl $PERL/bin/pp $GUI --icon win32/client.ico -C -I "//.host/Shared Folders/root/src/Crossfire" -I . -o deliantra.exe -A addlist bin/deliantra |
59 |
$PERL/bin/perl $PERL/bin/pp $GUI \ |
60 |
-z 9 \ |
61 |
-a "blib/arch/auto/Deliantra/Client/Client.dll;lib/auto/Deliantra/Client/Client.dll" \ |
62 |
-M AnyEvent::Impl::EV \ |
63 |
--icon win32/client.ico -C -I . -o deliantra.exe -A addlist bin/deliantra |
64 |
|