Mercurial > repos > blastem
annotate build_release @ 2166:3a6680e9204a
xcftools is no longer packaged by Debian/Ubuntu so switched to imagemagick
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 23 Jul 2022 10:54:07 -0700 |
parents | 97bfb6089274 |
children | 92449b47cce8 |
rev | line source |
---|---|
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
1 #!/bin/sh |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
2 |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
3 set -e |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
4 |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
5 if [ -z "$OS" ]; then |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
6 OS=`uname -s` |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
7 fi |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
8 |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
9 if [ $OS = "Linux" ]; then |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
10 cd sdl |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
11 ./configure |
1239
cd9c1acb0053
Remove clean step from SDL and glew dependencies in release_build script. Should not be needed now that each build type will have it's own environment
Michael Pavone <pavone@retrodev.com>
parents:
1238
diff
changeset
|
12 make all |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
13 cd .. |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
14 rm -rf lib |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
15 mkdir lib |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
16 cp sdl/build/.libs/libSDL2-*.so.*.*.* lib |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
17 sdl=`ls lib` |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
18 link=`echo $sdl | sed -E 's/(so\.[0-9]*).*/\1/'` |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
19 cd lib |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
20 ln -s "$sdl" "$link" |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
21 ln -s "$sdl" libSDL2.so |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
22 cd .. |
811
b1a09ef90755
Do a clean build of glew from release script
Michael Pavone <pavone@retrodev.com>
parents:
806
diff
changeset
|
23 cd glew |
1239
cd9c1acb0053
Remove clean step from SDL and glew dependencies in release_build script. Should not be needed now that each build type will have it's own environment
Michael Pavone <pavone@retrodev.com>
parents:
1238
diff
changeset
|
24 make all |
811
b1a09ef90755
Do a clean build of glew from release script
Michael Pavone <pavone@retrodev.com>
parents:
806
diff
changeset
|
25 cd .. |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
26 fi |
1360
e1a6e8ee656f
Print PATH in build_release script to help debug future build failures
Michael Pavone <pavone@retrodev.com>
parents:
1355
diff
changeset
|
27 echo "Path is: $PATH" |
1830
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
28 if [ $OS = "Win64" ]; then |
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
29 make PORTABLE=1 OS=Windows CPU=x86_64 clean all |
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
30 SDLDLLPATH=sdl/x86_64-w64-mingw32/bin |
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
31 else |
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
32 make PORTABLE=1 clean all |
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
33 SDLDLLPATH=sdl/i686-w64-mingw32/bin |
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
34 fi |
2035
33f454232aee
Added open source TMSS replacement
Michael Pavone <pavone@retrodev.com>
parents:
1943
diff
changeset
|
35 make menu.bin tmss.md |
1830
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
36 if [ $OS = "Windows" -o $OS = "Win64" ]; then |
1943
794a5c9a2c73
Kill the stateview target as it is not very useful these days and breaks a lot
Michael Pavone <pavone@retrodev.com>
parents:
1900
diff
changeset
|
37 binaries="dis.exe zdis.exe vgmplay.exe blastem.exe $SDLDLLPATH/SDL2.dll" |
1249
83b3b7ba910e
Eliminate usage of wine in build_release
Michael Pavone <pavone@retrodev.com>
parents:
1240
diff
changeset
|
38 verstr=`sed -E -n 's/^[^B]+BLASTEM_VERSION "([^"]+)"/blastem \1/p' blastem.c` |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
39 txt=".txt" |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
40 else |
1943
794a5c9a2c73
Kill the stateview target as it is not very useful these days and breaks a lot
Michael Pavone <pavone@retrodev.com>
parents:
1900
diff
changeset
|
41 binaries="dis zdis vgmplay blastem termhelper" |
812
574495372d1c
Finish OS X support in build_release script. Fix a name conflict in vgmplay on OS X. Call set_exe_str in vgmplay and stateview
Michael Pavone <pavone@retrodev.com>
parents:
811
diff
changeset
|
42 if [ $OS = "Darwin" ]; then |
977
4cbc349a82a9
Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents:
812
diff
changeset
|
43 binaries="$binaries Frameworks" |
812
574495372d1c
Finish OS X support in build_release script. Fix a name conflict in vgmplay on OS X. Call set_exe_str in vgmplay and stateview
Michael Pavone <pavone@retrodev.com>
parents:
811
diff
changeset
|
44 else |
977
4cbc349a82a9
Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents:
812
diff
changeset
|
45 binaries="$binaries lib" |
812
574495372d1c
Finish OS X support in build_release script. Fix a name conflict in vgmplay on OS X. Call set_exe_str in vgmplay and stateview
Michael Pavone <pavone@retrodev.com>
parents:
811
diff
changeset
|
46 fi |
1249
83b3b7ba910e
Eliminate usage of wine in build_release
Michael Pavone <pavone@retrodev.com>
parents:
1240
diff
changeset
|
47 verstr=`./blastem -v` |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
48 txt="" |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
49 fi |
2035
33f454232aee
Added open source TMSS replacement
Michael Pavone <pavone@retrodev.com>
parents:
1943
diff
changeset
|
50 binaries="$binaries menu.bin tmss.md" |
1249
83b3b7ba910e
Eliminate usage of wine in build_release
Michael Pavone <pavone@retrodev.com>
parents:
1240
diff
changeset
|
51 ver=`echo $verstr | awk '/blastem/ { gsub(/\r/, "", $2); print $2 }'` |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
52 if [ $OS = "Windows" ]; then |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
53 suffix='-win32' |
1830
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
54 elif [ $OS = "Win64" ]; then |
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
55 suffix='-win64' |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
56 elif [ $OS = "Darwin" ]; then |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
57 suffix='-osx' |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
58 else |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
59 suffix=`file ./blastem | sed -E 's/^[^:]*: [^ ]* ([0-9]*)-bit .*/\1/'` |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
60 fi |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
61 dir="blastem${suffix}-${ver}" |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
62 echo $dir |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
63 rm -rf "$dir" |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
64 mkdir "$dir" |
1900
93960907807a
Added UI for selecting configured model
Michael Pavone <pavone@retrodev.com>
parents:
1830
diff
changeset
|
65 cp -r $binaries shaders images default.cfg rom.db gamecontrollerdb.txt systems.cfg "$dir" |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
66 for file in README COPYING CHANGELOG; do |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
67 cp "$file" "$dir"/"$file$txt" |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
68 done |
812
574495372d1c
Finish OS X support in build_release script. Fix a name conflict in vgmplay on OS X. Call set_exe_str in vgmplay and stateview
Michael Pavone <pavone@retrodev.com>
parents:
811
diff
changeset
|
69 if [ $OS = "Darwin" ]; then |
574495372d1c
Finish OS X support in build_release script. Fix a name conflict in vgmplay on OS X. Call set_exe_str in vgmplay and stateview
Michael Pavone <pavone@retrodev.com>
parents:
811
diff
changeset
|
70 cp SDL-LICENSE "$dir" |
2051
97bfb6089274
Update source path of SDL license file for Linux builds
Michael Pavone <pavone@retrodev.com>
parents:
2035
diff
changeset
|
71 elif [ $OS = "Windows" -o $OS = "Win64" ]; then |
97bfb6089274
Update source path of SDL license file for Linux builds
Michael Pavone <pavone@retrodev.com>
parents:
2035
diff
changeset
|
72 cp sdl/COPYING.txt "$dir"/SDL-LICENSE$txt |
812
574495372d1c
Finish OS X support in build_release script. Fix a name conflict in vgmplay on OS X. Call set_exe_str in vgmplay and stateview
Michael Pavone <pavone@retrodev.com>
parents:
811
diff
changeset
|
73 else |
2051
97bfb6089274
Update source path of SDL license file for Linux builds
Michael Pavone <pavone@retrodev.com>
parents:
2035
diff
changeset
|
74 cp sdl/LICENSE.txt "$dir"/SDL-LICENSE$txt |
812
574495372d1c
Finish OS X support in build_release script. Fix a name conflict in vgmplay on OS X. Call set_exe_str in vgmplay and stateview
Michael Pavone <pavone@retrodev.com>
parents:
811
diff
changeset
|
75 fi |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
76 cp glew/LICENSE.txt "$dir"/GLEW-LICENSE$txt |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
77 |
1830
2f3600e204b0
Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents:
1671
diff
changeset
|
78 if [ $OS = "Windows" -o $OS = "Win64" ]; then |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
79 rm -f "${dir}.zip" |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
80 zip -r "${dir}.zip" "$dir" |
1240
c63516b6824a
Fun untested changes for uploading nightly builds
Michael Pavone <pavone@retrodev.com>
parents:
1239
diff
changeset
|
81 echo "${dir}.zip" |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
82 else |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
83 rm -f "${dir}.tar.gz" |
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
84 tar -cvzf "${dir}.tar.gz" "$dir" |
1240
c63516b6824a
Fun untested changes for uploading nightly builds
Michael Pavone <pavone@retrodev.com>
parents:
1239
diff
changeset
|
85 echo "${dir}.tar.gz" |
806
2dfcd20a00b6
Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
86 fi |