adaption to win95

This commit is contained in:
crazii 2023-11-29 13:42:12 +08:00
parent 0c67df507d
commit f3ce995980
4 changed files with 86 additions and 85 deletions

View File

@ -1,80 +1,81 @@
#!/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
LOWEND9X_FLAGS=" -D_WIN32_WINDOWS=0x0400 -D_FILE_OFFSET_BITS=32 -D__USE_MINGW_ANSI_STDIO=1 -mwin32 -march=pentium3 "
CFLAGS="${LOWEND9X_FLAGS} ${CFLAGS}"
CXXFLAGS="${LOWEND9X_FLAGS} ${CXXFLAGS}"
CPPFLAGS="${LOWEND9X_FLAGS} ${CPPFLAGS}"
export CFLAGS CPPFLAGS CXXFLAGS
# 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
# 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 "
CFLAGS="${new}${CFLAGS}"
LDFLAGS="${nld}${LDFLAGS}"
CPPFLAGS="${new}${CPPFLAGS}"
CXXFLAGS="${new}${CXXFLAGS}"
export CFLAGS LDFLAGS CPPFLAGS 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 "
CFLAGS="${new}${CFLAGS}"
LDFLAGS="${nld}${LDFLAGS}"
CPPFLAGS="${new}${CPPFLAGS}"
CXXFLAGS="${new}${CXXFLAGS}"
export CFLAGS LDFLAGS CPPFLAGS 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 "
CFLAGS="${new}${CFLAGS}"
LDFLAGS="${nld}${LDFLAGS}"
CPPFLAGS="${new}${CPPFLAGS}"
CXXFLAGS="${new}${CXXFLAGS}"
INTERNAL_FREETYPE=1
export CFLAGS LDFLAGS CPPFLAGS CXXFLAGS INTERNAL_FREETYPE
# build opencow for win9x unicode
echo "Compiling opencow"
(cd vs/opencow && make -f ./Makefile.mingw) || exit 1
nld=" -L${top}/vs/opencow/build " #-Wl,--allow-multiple-definition "
LDFLAGS="${nld}${LDFLAGS}"
#LIBS=" -lopencow ${LIBS} " # should be the first one before all win32 libs.
export LDFLAGS #LIBS
# now compile ourself
echo "Compiling DOSBox-X"
chmod +x configure
# FIXME: I would like MinGW builds to enable the debugger, eventually
./configure --disable-libfluidsynth --disable-libslirp --enable-d3d9=no --enable-d3d-shaders=no --prefix=/usr --enable-xbrz=no --disable-printer --disable-largefile --enable-opencow "${@}" || exit 1
make -j3 || exit 1
#!/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
LOWEND9X_FLAGS=" -D_WIN32_WINDOWS=0x0400 -D_FILE_OFFSET_BITS=32 -mwin32 -march=pentium "
CFLAGS="${LOWEND9X_FLAGS} ${CFLAGS}"
CXXFLAGS="${LOWEND9X_FLAGS} ${CXXFLAGS}"
CPPFLAGS="${LOWEND9X_FLAGS} ${CPPFLAGS}"
export CFLAGS CPPFLAGS CXXFLAGS
# 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
# Win95 doesn't have IPHLPAPI.dll, skip networking.
# 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
# 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 "
CFLAGS="${new}${CFLAGS}"
LDFLAGS="${nld}${LDFLAGS}"
CPPFLAGS="${new}${CPPFLAGS}"
CXXFLAGS="${new}${CXXFLAGS}"
export CFLAGS LDFLAGS CPPFLAGS 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 "
CFLAGS="${new}${CFLAGS}"
LDFLAGS="${nld}${LDFLAGS}"
CPPFLAGS="${new}${CPPFLAGS}"
CXXFLAGS="${new}${CXXFLAGS}"
export CFLAGS LDFLAGS CPPFLAGS 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 "
CFLAGS="${new}${CFLAGS}"
LDFLAGS="${nld}${LDFLAGS}"
CPPFLAGS="${new}${CPPFLAGS}"
CXXFLAGS="${new}${CXXFLAGS}"
INTERNAL_FREETYPE=1
export CFLAGS LDFLAGS CPPFLAGS CXXFLAGS INTERNAL_FREETYPE
# build opencow for win9x unicode
echo "Compiling opencow"
(cd vs/opencow && make -f ./Makefile.mingw) || exit 1
nld=" -L${top}/vs/opencow/build " #-Wl,--allow-multiple-definition "
LDFLAGS="${nld}${LDFLAGS}"
#LIBS=" -lopencow ${LIBS} " # should be the first one before all win32 libs.
export LDFLAGS #LIBS
# now compile ourself
echo "Compiling DOSBox-X"
chmod +x configure
# FIXME: I would like MinGW builds to enable the debugger, eventually
./configure --disable-libfluidsynth --disable-libslirp --enable-d3d9=no --enable-d3d-shaders=no --prefix=/usr --enable-xbrz=no --disable-printer --disable-largefile --enable-opencow "${@}" || exit 1
make -j3 || exit 1

View File

@ -2148,7 +2148,7 @@ int GetNumScreen() {
int numscreen = 1;
#if defined(C_SDL2)
numscreen = SDL_GetNumVideoDisplays();
#elif defined(WIN32) && !defined(HX_DOS)
#elif defined(WIN32) && !defined(HX_DOS) && !defined(_WIN32_WINDOWS)
xyp xy={0};
xy.x=-1;
xy.y=-1;

View File

@ -8061,7 +8061,7 @@ int main(int argc, char* argv[]) SDL_MAIN_NOEXCEPT {
{
std::string tmp,config_path,res_path,config_combined;
#if defined(WIN32) && !defined(C_SDL2) && !defined(HX_DOS)
#if defined(WIN32) && !defined(C_SDL2) && !defined(HX_DOS) && !defined(_WIN32_WINDOWS)
{
DISPLAY_DEVICE dd;
unsigned int i = 0;
@ -8525,7 +8525,7 @@ int main(int argc, char* argv[]) SDL_MAIN_NOEXCEPT {
#endif
}
}
#if defined(WIN32) && !defined(HX_DOS)
#if defined(WIN32) && !defined(HX_DOS) && !defined(_WIN32_WINDOWS)
if (!enableime&&!tonoime) ImmDisableIME((DWORD)(-1));
#endif
}
@ -8538,7 +8538,7 @@ int main(int argc, char* argv[]) SDL_MAIN_NOEXCEPT {
/* -- initialize logging first, so that higher level inits can report problems to the log file */
LOG::Init();
#if defined(WIN32) && !defined(C_SDL2) && !defined(HX_DOS)
#if defined(WIN32) && !defined(C_SDL2) && !defined(HX_DOS) && !defined(_WIN32_WINDOWS)
{
DISPLAY_DEVICE dd;
unsigned int i = 0;

View File

@ -483,7 +483,7 @@ void MSG_Init() {
}
if (tonoime) {
tonoime = enableime = false;
#if defined(WIN32) && !defined(HX_DOS)
#if defined(WIN32) && !defined(HX_DOS) && !defined(_WIN32_WINDOWS)
ImmDisableIME((DWORD)(-1));
#endif
SetIME();