annotate package-mingw64.sh @ 63:ec0872aaee07

core: pet doxygen
author David Demelier <markand@malikania.fr>
date Thu, 23 Jan 2020 13:48:49 +0100
parents c33c8e9a89f6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
37
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #!/bin/sh
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # package-mingw64.sh -- create fakeroot directory for MinGW-w64
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Copyright (c) 2020 David Demelier <markand@malikania.fr>
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 #
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # Permission to use, copy, modify, and/or distribute this software for any
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # purpose with or without fee is hereby granted, provided that the above
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # copyright notice and this permission notice appear in all copies.
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 #
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 #
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 verbose=0
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 die()
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 {
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 echo "$1" 1>&2
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 exit 1
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 }
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 info()
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 {
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 if [ $verbose -eq 1 ]; then
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 echo $1
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 fi
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 }
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
34
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 depends()
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 {
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 ldd molko.exe | grep -E "/mingw" | awk '{ print $3 }'
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 }
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 usage()
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 {
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 echo "Create a directory suitable for packaging." 1>&2
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 echo "" 1>&2
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 echo "usage: $(basename $0) [-v] output-directory" 1>&2
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 exit 1
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 }
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 if [ ! -f Makefile ]; then
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 die "abort: must be ran from top directory"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 fi
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 if [ ! -f molko.exe ]; then
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 die "abort: no molko.exe binary found, did you build?"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 fi
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 while getopts "v" opt; do
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 case $opt in
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 v)
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 verbose=1
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 ;;
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 *)
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 usage
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 ;;
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 esac
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 done
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
66
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 shift $((OPTIND - 1))
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
68
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 if [ $# -eq 0 ] || [ -z $1 ]; then
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 usage
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 fi
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
72
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 output=${1:-package}
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
74
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 info "Creating package in $output"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 rm -rf "$output"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 mkdir -p "$output"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
79
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 info "Copying molko.exe"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 cp molko.exe "$output"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
82
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 info "Copying assets"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 cp -R assets "$output"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 depends | while read -r file; do
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 info "Copying dependency $file"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 cp -f "$file" "$output"
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 done
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
90
c33c8e9a89f6 misc: add script to generate Windows bundle
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 info "Molko's Adventure is ready in $output"