mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-10-13 17:48:10 +08:00
94 lines
3.0 KiB
Bash
Executable File
94 lines
3.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Setup:
|
|
# git clone https://github.com/joncampbell123/dosbox-x dosbox-x-mingw-hx-dos
|
|
#
|
|
# Then run this script
|
|
name=`date +%F-%T | sed -e 's/:/-/g' | sed -e 's/-//g'`
|
|
name="dosbox-x-mingw-hx-dos-$name.zip"
|
|
|
|
echo "Will pack to $name"
|
|
sleep 1
|
|
|
|
# CHECK: You must use MinGW, not MinGW32/MinGW64.
|
|
# The MinGW32/MinGW64 version has extra dependencies that require
|
|
# Windows XP or higher and KERNEL functions not provided by HX-DOS.
|
|
#
|
|
# The main MinGW version can target all the way down to Windows 95
|
|
# (as long as a working MSVCRT.DLL is installed) and the compiled
|
|
# binaries will work in HX-DOS.
|
|
|
|
# Check 1: Make sure this is the MinGW environment.
|
|
#
|
|
# MinGW and MinGW32 will have MSYSTEM=MINGW32
|
|
# MinGW64 will have MSYSTEM=MINGW64.
|
|
if [[ x"$MSYSTEM" != x"MINGW32" ]]; then
|
|
echo "MinGW (not MinGW 64-bit) shell environment required"
|
|
exit 1
|
|
fi
|
|
|
|
# Check 2: Make sure this is the MinGW environment, not MinGW32/MinGW64.
|
|
#
|
|
# MinGW32/MinGW64 will have MSYSTEM_CARCH=i686
|
|
# MinGW will not have any such variable
|
|
if [ -n "$MSYSTEM_CARCH" ]; then
|
|
echo "Please use the original MinGW build environment, not MinGW32/MinGW64"
|
|
exit 1
|
|
fi
|
|
|
|
# OK GO
|
|
|
|
top=`pwd`
|
|
cd "$top" || exit 1
|
|
|
|
hxdosdir="dosbox-x-mingw-hx-dos"
|
|
tooldir="$top/$hxdosdir/vs/tool"
|
|
|
|
cd "$top/$hxdosdir" || exit 1
|
|
git clean -dfx
|
|
git reset --hard
|
|
git checkout master
|
|
git clean -dfx
|
|
git reset --hard
|
|
git pull
|
|
git clean -dfx
|
|
git reset --hard
|
|
./build-mingw-hx-dos || exit 1
|
|
|
|
# The paths of copied files and HX DOS Extender files
|
|
copydir="build-scripts/mingw/dosbox-x-mingw-hx-dos"
|
|
hxdir="build-scripts/mingw/hxdos-bin"
|
|
|
|
strip src/dosbox-x.exe || exit 1
|
|
cp src/dosbox-x.exe dosbox-x.exe || exit 1
|
|
$hxdir/pestub.exe -n dosbox-x.exe
|
|
$tooldir/upx.exe --strip-relocs=0 --lzma -9 dosbox-x.exe
|
|
cp CHANGELOG CHANGELOG.txt || exit 1
|
|
cp COPYING COPYING.txt || exit 1
|
|
cp dosbox-x.reference.conf dosbox-x.ref || exit 1
|
|
cp dosbox-x.reference.full.conf dosbox-x.ref.full || exit 1
|
|
cp contrib/windows/installer/inpout32.dll INPOUT32.DLL || exit 1
|
|
cp contrib/fonts/FREECG98.BMP . || exit 1
|
|
cp contrib/fonts/wqy_1?pt.bdf . || exit 1
|
|
cp contrib/fonts/Nouveau_IBM.ttf . || exit 1
|
|
cp $hxdir/DPMILD32.EXE . || exit 1
|
|
cp $hxdir/HDPMI32.EXE . || exit 1
|
|
cp $hxdir/HXGUIHLP.INI . || exit 1
|
|
cp $hxdir/README.TXT . || exit 1
|
|
cp $hxdir/WATTCP.CFG . || exit 1
|
|
cp $hxdir/WINSPOOL.DRV . || exit 1
|
|
cp $hxdir/*.DLL . || exit 1
|
|
mkdir -p drivez || exit 1
|
|
cp contrib/windows/installer/drivez_readme.txt drivez/readme.txt || exit 1
|
|
mkdir -p language || exit 1
|
|
for i in `ls contrib/translations/` ; do cp contrib/translations/$i/*.lng language/; done
|
|
|
|
cd "$top/$hxdosdir" || exit 1
|
|
echo "Packing up now..."
|
|
|
|
$tooldir/zip.exe -r -9 ../"$name" {CHANGELOG.txt,COPYING.txt,dosbox-x.exe,dosbox-x.ref,dosbox-x.ref.full,FREECG98.BMP,wqy_1?pt.bdf,Nouveau_IBM.ttf,DPMILD32.EXE,HDPMI32.EXE,HXGUIHLP.INI,README.TXT,WATTCP.CFG,WINSPOOL.DRV,*.DLL,drivez/*,language/*} || exit 1
|
|
cd ..
|
|
|
|
exit 0
|
|
|