dosbox-x/build-mingw
2022-12-12 17:52:28 +08:00

71 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# I'm sick and tired of all the churn the three versions of autoconf
# are causing in this repo. Stop committing the configure scripts
# and just autoregen.
./autogen.sh || exit 1
# where are we?
top=`pwd`
if test -z "$top" ; then exit 1; fi
# fix
chmod +x vs/sdl/build-scripts/strip_fPIC.sh
sed -i 's/^#define ENABLE_IM_EVENT 1$/\/\/#define ENABLE_IM_EVENT 1/g' vs/sdl/include/SDL_platform.h
# prefer to compile against our own copy of SDL 1.x
echo Compiling our internal SDL 1.x
(cd vs/sdl && ./build-dosbox.sh) || exit 1
# prefer to compile against our own copy of SDLnet 1.x
echo Compiling our internal SDLnet 1.x
(cd vs/sdlnet && ./build-dosbox.sh) || exit 1
sed -i 's/^\/\/#define ENABLE_IM_EVENT 1$/#define ENABLE_IM_EVENT 1/g' vs/sdl/include/SDL_platform.h
(cd vs/sdl && ./build-dosbox.sh) || exit 1
# NTS: MinGW provides zlib for us
if false; then
# prefer to compile against our own zlib
echo Compiling our internal zlib
(cd vs/zlib && ./build-dosbox.sh) || exit 1
new="-I$top/vs/zlib/linux-host/include "
nld="-L$top/vs/zlib/linux-host/lib "
export CFLAGS="$new$CFLAGS"
export LDFLAGS="$nld$LDFLAGS"
export CPPFLAGS="$new$CPPFLAGS"
export CXXFLAGS="$new$CXXFLAGS"
fi
# prefer to compile against our own libpng (comment this out to disable)
echo Compiling our internal libpng
(cd vs/libpng && ./build-dosbox.sh) || exit 1
new="-I$top/vs/libpng/linux-host/include "
nld="-L$top/vs/libpng/linux-host/lib "
export CFLAGS="$new$CFLAGS"
export LDFLAGS="$nld$LDFLAGS"
export CPPFLAGS="$new$CPPFLAGS"
export CXXFLAGS="$new$CXXFLAGS"
# prefer to compile against our own freetype
echo Compiling our internal freetype
(cd vs/freetype && ./build-dosbox.sh) || exit 1
new="-I$top/vs/freetype/linux-host/include/freetype2 "
nld="-L$top/vs/freetype/linux-host/lib -lfreetype "
export CFLAGS="$new$CFLAGS"
export LDFLAGS="$nld$LDFLAGS"
export CPPFLAGS="$new$CPPFLAGS"
export CXXFLAGS="$new$CXXFLAGS"
export INTERNAL_FREETYPE=1
pacman -S --needed --noconfirm mingw-w64-x86_64-libslirp &>/dev/null
# now compile ourself
echo Compiling DOSBox-X
chmod +x configure
# FIXME: I would like MinGW builds to enable the debugger, eventually
./configure --enable-d3d9 --enable-d3d-shaders --disable-libfluidsynth --prefix=/usr "$@" || exit 1
make -j3 || exit 1