annotate build_release @ 1830:2f3600e204b0

Update build_release script to support Win64
author Michael Pavone <pavone@retrodev.com>
date Sun, 07 Apr 2019 22:53:23 -0700
parents 05c34078e1ac
children 93960907807a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
977
4cbc349a82a9 Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents: 812
diff changeset
35 make menu.bin
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
2f3600e204b0 Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents: 1671
diff changeset
37 binaries="dis.exe zdis.exe stateview.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
977
4cbc349a82a9 Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents: 812
diff changeset
41 binaries="dis zdis stateview 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
977
4cbc349a82a9 Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents: 812
diff changeset
50 binaries="$binaries menu.bin"
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"
1671
05c34078e1ac Include controller images in archives produced by build_release
Michael Pavone <pavone@retrodev.com>
parents: 1360
diff changeset
65 cp -r $binaries shaders images default.cfg rom.db gamecontrollerdb.txt "$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"
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
71 else
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
72 cp sdl/COPYING.txt "$dir"/SDL-LICENSE$txt
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 fi
806
2dfcd20a00b6 Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
74 cp glew/LICENSE.txt "$dir"/GLEW-LICENSE$txt
2dfcd20a00b6 Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
75
1830
2f3600e204b0 Update build_release script to support Win64
Michael Pavone <pavone@retrodev.com>
parents: 1671
diff changeset
76 if [ $OS = "Windows" -o $OS = "Win64" ]; then
806
2dfcd20a00b6 Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
77 rm -f "${dir}.zip"
2dfcd20a00b6 Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
78 zip -r "${dir}.zip" "$dir"
1240
c63516b6824a Fun untested changes for uploading nightly builds
Michael Pavone <pavone@retrodev.com>
parents: 1239
diff changeset
79 echo "${dir}.zip"
806
2dfcd20a00b6 Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
80 else
2dfcd20a00b6 Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
81 rm -f "${dir}.tar.gz"
2dfcd20a00b6 Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
82 tar -cvzf "${dir}.tar.gz" "$dir"
1240
c63516b6824a Fun untested changes for uploading nightly builds
Michael Pavone <pavone@retrodev.com>
parents: 1239
diff changeset
83 echo "${dir}.tar.gz"
806
2dfcd20a00b6 Added script for building and packaging releases
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
84 fi