Merge post-0.7.0 commits through 'c8250d8b8' into v0.7.2.

sdl_common.c has lost some commits in the restructuring and those
will need to be replayed over the restructured files for SDL1 and 2.
This commit is contained in:
Michael Martin
2020-04-03 17:43:49 -07:00
597 changed files with 10714 additions and 5297 deletions
+56 -38
View File
@@ -10,6 +10,7 @@ uqm_requirements()
{
# Some requirements:
have_build_tools_language C || exit 1
have_build_tools_language CXX || exit 1
have_build_tool LINK || exit 1
case "$HOST_SYSTEM" in
MINGW32*|cegcc)
@@ -118,16 +119,16 @@ uqm_prepare_config()
nodebug_action() {
case "$HOST_SYSTEM" in
WINSCW)
CFLAGS="$CFLAGS -O2 -d NDEBUG"
CCOMMONFLAGS="$CCOMMONFLAGS -O2 -d NDEBUG"
;;
ARMV5)
CFLAGS="$CFLAGS -O3 -Otime -DNDEBUG"
CCOMMONFLAGS="$CCOMMONFLAGS -O3 -Otime -DNDEBUG"
;;
GCCE)
CFLAGS="$CFLAGS -O3 -DNDEBUG"
CCOMMONFLAGS="$CCOMMONFLAGS -O3 -DNDEBUG"
;;
*)
CFLAGS="$CFLAGS -O3 -DNDEBUG"
CCOMMONFLAGS="$CCOMMONFLAGS -O3 -DNDEBUG"
;;
esac
DEBUG=0
@@ -137,13 +138,13 @@ uqm_prepare_config()
debug_action() {
case "$HOST_SYSTEM" in
WINSCW)
CFLAGS="$CFLAGS -g -O0 -W all -d DEBUG -d _DEBUG"
CCOMMONFLAGS="$CCOMMONFLAGS -g -O0 -W all -d DEBUG -d _DEBUG"
;;
ARMV5|GCCE)
CFLAGS="$CFLAGS -g -O0 -DDEBUG -D_DEBUG"
CCOMMONFLAGS="$CCOMMONFLAGS -g -O0 -DDEBUG -D_DEBUG"
;;
*)
CFLAGS="$CFLAGS -g -O0 -W -Wall -DDEBUG"
CCOMMONFLAGS="$CCOMMONFLAGS -g -O0 -W -Wall -DDEBUG"
LDFLAGS="$LDFLAGS -O0"
;;
esac
@@ -154,40 +155,46 @@ uqm_prepare_config()
strictdebug_action() {
case "$HOST_SYSTEM" in
WINSCW)
CFLAGS="$CFLAGS -g -O0 -W all -d DEBUG -d _DEBUG"
CCOMMONFLAGS="$CCOMMONFLAGS -g -O0 -W all -d DEBUG -d _DEBUG"
;;
ARMV5|GCCE)
CFLAGS="$CFLAGS -g -O0 -DDEBUG -D_DEBUG"
CCOMMONFLAGS="$CCOMMONFLAGS -g -O0 -DDEBUG -D_DEBUG"
;;
*)
CFLAGS="$CFLAGS -O1" # This is needed for -Wunitialized
CFLAGS="$CFLAGS -g -DDEBUG -W -Wall \
-Wbad-function-cast -Wcast-qual -Wmissing-prototypes \
-Wstrict-prototypes -Wmissing-declarations \
CCOMMONFLAGS="$CCOMMONFLAGS -g -O0 -DDEBUG -W -Wall"
# CCOMMONFLAGS="$CCOMMONFLAGS -O1"
# This is needed for -Wunitialized with gcc 3.4
CCOMMONFLAGS="$CCOMMONFLAGS -Wcast-qual -Wmissing-declarations \
-Wwrite-strings -Wimplicit -Wreturn-type -Wformat \
-Wswitch -Wcomment -Wchar-subscripts \
-Wparentheses -Wcast-align \
-Wuninitialized"
# CFLAGS="$CFLAGS -Waggregate-return"
-Wparentheses -Wcast-align -Wuninitialized"
CFLAGS="$CFLAGS -Wbad-function-cast -Wmissing-prototypes \
-Wstrict-prototypes"
# CFLAGS is for flags not valid in C++.
CFLAGS="$CFLAGS -Wdeclaration-after-statement"
# Until we abandon MSVC 6
# CCOMMONFLAGS="$CCOMMONFLAGS -Waggregate-return"
# It's not unreasonable to return structs at times.
# CFLAGS="$CFLAGS "-Wpointer-arith"
# CCOMMONFLAGS="$CCOMMONFLAGS "-Wpointer-arith"
# Some standard header won't even compile with this on
# CFLAGS="$CFLAGS -Wshadow"
# CCOMMONFLAGS="$CCOMMONFLAGS -Wshadow"
# This gives absurd conflicts with standard files,
# like from 'y0 and y1'
# CFLAGS="$CFLAGS -Werror"
# CCOMMONFLAGS="$CCOMMONFLAGS -Werror"
# We shouldn't do this until we actually nail them
# all in the original code. Then we can enforce them
# on ourselves.
# CFLAGS="$CFLAGS -pedantic-errors -ansi -trigraphs" # ANSI
# CFLAGS="$CFLAGS -Wnested-externs"
# CCOMMONFLAGS="$CCOMMONFLAGS -pedantic-errors -ansi -trigraphs" # ANSI
# CCOMMONFLAGS="$CCOMMONFLAGS -Wnested-externs"
# We know they're in the code, and though we'd like to
# get rid of them, they're not bugs.
# CFLAGS="$CFLAGS -Winline"
# CCOMMONFLAGS="$CCOMMONFLAGS -Winline"
# This gives too many warnings which we can do nothing
# about, obscuring legitimate warnings.
CFLAGS=`echo $CFLAGS`
# Remove all the unnecessary spaces from $CFLAGS,
CXXFLAGS=`echo $CXXFLAGS`
CCOMMONFLAGS=`echo $CCOMMONFLAGS`
# Remove all the unnecessary spaces from the flags vars
# for more readable messages.
LDFLAGS="$LDFLAGS -O0"
;;
@@ -211,6 +218,7 @@ uqm_prepare_config()
CHOICE_graphics_OPTION_pure_PRECOND='have_library SDL 1.2.8'
graphics_pure_action() {
CFLAGS="$CFLAGS -DGFXMODULE_SDL -DSDL_DIR=SDL"
CCOMMONFLAGS="$CCOMMONFLAGS -DGFXMODULE_SDL"
GFXMODULE=sdl
HAVE_OPENGL=0
use_library SDL 1.2.8
@@ -252,7 +260,7 @@ uqm_prepare_config()
CHOICE_sound_OPTION_openal_PRECOND="have_library openal"
CHOICE_sound_OPTION_openal_ACTION=sound_openal_action
sound_openal_action() {
CFLAGS="$CFLAGS -DHAVE_OPENAL"
CCOMMONFLAGS="$CCOMMONFLAGS -DHAVE_OPENAL"
SOUNDMODULE=openal
use_library openal
}
@@ -271,14 +279,14 @@ uqm_prepare_config()
CHOICE_ovcodec_OPTION_tremor_PRECOND="have_library tremor"
CHOICE_ovcodec_OPTION_tremor_ACTION=ovcodec_tremor_action
ovcodec_tremor_action() {
CFLAGS="$CFLAGS -DOVCODEC_TREMOR"
CCOMMONFLAGS="$CCOMMONFLAGS -DOVCODEC_TREMOR"
OGGVORBIS=tremor
use_library tremor
}
CHOICE_ovcodec_OPTION_none_TITLE="No Ogg Vorbis support"
CHOICE_ovcodec_OPTION_none_ACTION=ovcodec_none_action
ovcodec_none_action() {
CFLAGS="$CFLAGS -DOVCODEC_NONE"
CCOMMONFLAGS="$CCOMMONFLAGS -DOVCODEC_NONE"
OGGVORBIS=none
}
CHOICE_ovcodec_DEFAULT=standard
@@ -288,7 +296,7 @@ uqm_prepare_config()
CHOICE_mikmod_OPTION_internal_TITLE="Included libmikmod"
CHOICE_mikmod_OPTION_internal_ACTION=mikmod_internal_action
mikmod_internal_action() {
CFLAGS="$CFLAGS -DUSE_INTERNAL_MIKMOD"
CCOMMONFLAGS="$CCOMMONFLAGS -DUSE_INTERNAL_MIKMOD"
USE_INTERNAL_MIKMOD=1
}
CHOICE_mikmod_OPTION_external_TITLE="System libmikmod"
@@ -307,7 +315,7 @@ uqm_prepare_config()
# TODO: Check whether SDL has joystick support.
CHOICE_joystick_OPTION_enabled_ACTION=joystick_enabled_action
joystick_enabled_action() {
CFLAGS="$CFLAGS -DHAVE_JOYSTICK"
CCOMMONFLAGS="$CCOMMONFLAGS -DHAVE_JOYSTICK"
}
CHOICE_joystick_OPTION_disabled_TITLE="disabled"
case "$HOST_SYSTEM" in
@@ -331,7 +339,7 @@ uqm_prepare_config()
CHOICE_netplay_OPTION_full_PRECOND="have_library netlibs"
CHOICE_netplay_OPTION_full_ACTION=netplay_full_action
netplay_full_action() {
CFLAGS="$CFLAGS -DNETPLAY=NETPLAY_FULL"
CCOMMONFLAGS="$CCOMMONFLAGS -DNETPLAY=NETPLAY_FULL"
if [ -n "$MACRO_WIN32" ]; then
LDFLAGS="$LDFLAGS -lws2_32"
fi
@@ -342,7 +350,7 @@ uqm_prepare_config()
CHOICE_netplay_OPTION_ipv4_PRECOND="have_library netlibs"
CHOICE_netplay_OPTION_ipv4_ACTION=netplay_ipv4_action
netplay_ipv4_action() {
CFLAGS="$CFLAGS -DNETPLAY=NETPLAY_IPV4"
CCOMMONFLAGS="$CCOMMONFLAGS -DNETPLAY=NETPLAY_IPV4"
NETPLAY="IPV4"
use_library netlibs
}
@@ -355,7 +363,7 @@ uqm_prepare_config()
CHOICE_ioformat_OPTION_stdio_zip_PRECOND="have_library zlib"
CHOICE_ioformat_OPTION_stdio_zip_ACTION="ioformat_stdio_zip_action"
ioformat_stdio_zip_action() {
CFLAGS="$CFLAGS -DHAVE_ZIP=1"
CCOMMONFLAGS="$CCOMMONFLAGS -DHAVE_ZIP=1"
USE_ZIP_IO=1
use_library zlib
}
@@ -366,7 +374,7 @@ uqm_prepare_config()
CHOICE_accel_OPTION_asm_TITLE="Platform acceleration (asm, etc.)"
CHOICE_accel_OPTION_asm_ACTION="accel_asm_action"
accel_asm_action() {
CFLAGS="$CFLAGS -DUSE_PLATFORM_ACCEL"
CCOMMONFLAGS="$CCOMMONFLAGS -DUSE_PLATFORM_ACCEL"
USE_PLATFORM_ACCEL=1
}
CHOICE_accel_OPTION_plainc_TITLE="Only plain C code"
@@ -381,14 +389,14 @@ uqm_prepare_config()
CHOICE_threadlib_OPTION_sdl_TITLE="SDL-controlled thread library"
CHOICE_threadlib_OPTION_sdl_ACTION="threadlib_sdl_action"
threadlib_sdl_action() {
CFLAGS="$CFLAGS -DTHREADLIB_SDL"
CCOMMONFLAGS="$CCOMMONFLAGS -DTHREADLIB_SDL"
THREADLIB="SDL"
}
CHOICE_threadlib_OPTION_pthread_TITLE="Pthread thread library"
CHOICE_threadlib_OPTION_pthread_PRECOND="have_library pthread"
CHOICE_threadlib_OPTION_pthread_ACTION="threadlib_pthread_action"
threadlib_pthread_action() {
CFLAGS="$CFLAGS -DTHREADLIB_PTHREAD"
CCOMMONFLAGS="$CCOMMONFLAGS -DTHREADLIB_PTHREAD"
THREADLIB="PTHREAD"
use_library pthread
}
@@ -441,7 +449,16 @@ uqm_process_config() {
# Set the content dir
CONTENTDIR="${INSTALL_SHAREDIR}uqm/content"
CFLAGS="$CFLAGS -I\"$BUILD_WORK\""
CCOMMONFLAGS="$CCOMMONFLAGS -I\"$BUILD_WORK\""
# Set C++ only flags
# These allow use of C++ without the standard library
CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions -nostdinc++"
# At this point, all the compiler flags must be set.
CFLAGS="$CFLAGS $CCOMMONFLAGS"
CXXFLAGS="$CXXFLAGS $CCOMMONFLAGS"
CCOMMONFLAGS=""
# Export the HAVE_ symbols to config_unix.h, using config_unix.h.in
# as template (or config_win.h/config_win.h.in).
@@ -457,8 +474,9 @@ uqm_process_config() {
substitute_vars SUBSTITUTE_VARS SUBSTITUTE_FILES src "$BUILD_WORK"
# Make build.vars from build.vars.in, substituting variables.
SUBSTITUTE_VARS="BUILD_SYSTEM HOST_SYSTEM CFLAGS LDFLAGS LINK \
SUBSTITUTE_VARS="BUILD_SYSTEM HOST_SYSTEM CFLAGS CXXFLAGS LDFLAGS LINK \
PREPROC_C MKDEP_C COMPILE_C \
PREPROC_CXX MKDEP_CXX COMPILE_CXX \
PREPROC_OBJC MKDEP_OBJC COMPILE_OBJC \
MAKE ECHON SED DEBUG JOYSTICK NETPLAY \
OGGVORBIS SOUNDMODULE USE_INTERNAL_MIKMOD \
@@ -470,7 +488,7 @@ uqm_process_config() {
SUBSTITUTE_FILES="build.vars"
substitute_vars SUBSTITUTE_VARS SUBSTITUTE_FILES . "$BUILD_WORK"
# Make 'uqm' shell script from build.vars.in, substituting variables.
# Make 'uqm' shell script from uqm-wrapper.in, substituting variables.
SUBSTITUTE_VARS="INSTALL_LIBDIR INSTALL_BINDIR INSTALL_SHAREDIR uqm_NAME"
SUBSTITUTE_FILES="uqm-wrapper"
substitute_vars SUBSTITUTE_VARS SUBSTITUTE_FILES build/unix "$BUILD_WORK"
@@ -601,7 +619,7 @@ uqm_install_osx() {
$PREPROC_C -D__MACOSX__ -include $HEADER - | \
awk '(/'$HEADER_FILE'/ && $2 == 1) { print $3; exit }' | \
$SED 's/.Headers.*$/"/'`
cp -r "$FRAMEWORK" "$INSTROOT/Frameworks"
cp -a "$FRAMEWORK" "$INSTROOT/Frameworks"
done
# Install game content (it should probably make a zipfile)