aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile39
-rw-r--r--code/qcommon/q_shared.h8
-rw-r--r--code/sdl/sdl_glimp.c7
-rw-r--r--code/sys/sys_main.c19
4 files changed, 58 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index 6e38dc6..aa10e38 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,5 @@
#
-# Quake3 Unix Makefile
-#
-# Nov '98 by Zoid <zoid@idsoftware.com>
-#
-# Loki Hacking by Bernd Kreimeier
-# and a little more by Ryan C. Gordon.
-# and a little more by Rafael Barrero
-# and a little more by the ioq3 cr3w
+# ioq3 Makefile
#
# GNU Make required
#
@@ -144,8 +137,8 @@ SDLHDIR=$(MOUNT_DIR)/SDL12
LIBSDIR=$(MOUNT_DIR)/libs
# extract version info
-VERSION=$(shell grep "\#define Q3_VERSION" $(CMDIR)/q_shared.h | \
- sed -e 's/.*".* \([^ ]*\)"/\1/')
+VERSION=$(shell grep "\#define *PRODUCT_VERSION" $(CMDIR)/q_shared.h | \
+ sed -e 's/[^"]*"\(.*\)"/\1/')
USE_SVN=
ifeq ($(wildcard .svn),.svn)
@@ -738,7 +731,7 @@ echo_cmd=@echo
Q=@
endif
-define DO_CC
+define DO_CC
$(echo_cmd) "CC $<"
$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) -o $@ -c $<
endef
@@ -800,7 +793,7 @@ release:
# Create the build directories and tools, print out
# an informational message, then start building
-targets: makedirs tools
+targets: makedirs tools libversioncheck
@echo ""
@echo "Building ioquake3 in $(B):"
@echo " PLATFORM: $(PLATFORM)"
@@ -870,6 +863,28 @@ endef
#############################################################################
+# LIBRARY VERSION CHECKS
+#############################################################################
+
+MINSDL_MAJOR = 1
+MINSDL_MINOR = 2
+MINSDL_PATCH = 7
+
+BASE_CFLAGS += -DMINSDL_MAJOR=$(MINSDL_MAJOR) \
+ -DMINSDL_MINOR=$(MINSDL_MINOR) \
+ -DMINSDL_PATCH=$(MINSDL_PATCH)
+
+libversioncheck:
+ @echo "#include \"SDL_version.h\"\n" \
+ "#if SDL_VERSION_ATLEAST(" \
+ "$(MINSDL_MAJOR),$(MINSDL_MINOR),$(MINSDL_PATCH)" \
+ ")\nMINSDL_PASSED\n#endif" | \
+ $(CC) $(BASE_CFLAGS) -E - | grep -q MINSDL_PASSED || \
+ ( echo "SDL version $(MINSDL_MAJOR).$(MINSDL_MINOR).$(MINSDL_PATCH)" \
+ "or greater required" && exit 1 )
+
+
+#############################################################################
# CLIENT/SERVER
#############################################################################
diff --git a/code/qcommon/q_shared.h b/code/qcommon/q_shared.h
index 12dd36e..458c53c 100644
--- a/code/qcommon/q_shared.h
+++ b/code/qcommon/q_shared.h
@@ -26,11 +26,13 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
// q_shared.h -- included first by ALL program modules.
// A user mod should never modify this file
-#define Q3_VERSION_BASE "ioq3 1.35"
+#define PRODUCT_NAME "ioq3"
+#define PRODUCT_VERSION "1.35"
+
#ifdef SVN_VERSION
-# define Q3_VERSION Q3_VERSION_BASE "_SVN" SVN_VERSION
+# define Q3_VERSION PRODUCT_NAME " " SVN_VERSION
#else
-# define Q3_VERSION Q3_VERSION_BASE
+# define Q3_VERSION PRODUCT_NAME " " PRODUCT_VERSION
#endif
#define CLIENT_WINDOW_TITLE "ioquake3"
diff --git a/code/sdl/sdl_glimp.c b/code/sdl/sdl_glimp.c
index 4d8257f..b75380b 100644
--- a/code/sdl/sdl_glimp.c
+++ b/code/sdl/sdl_glimp.c
@@ -22,6 +22,13 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "SDL.h"
+#if !SDL_VERSION_ATLEAST(1, 2, 10)
+#define SDL_GL_ACCELERATED_VISUAL 15
+#define SDL_GL_SWAP_CONTROL 16
+#elif MINSDL_PATCH >= 10
+#error Code block no longer necessary, please remove
+#endif
+
#ifdef SMP
#include "SDL_thread.h"
#endif
diff --git a/code/sys/sys_main.c b/code/sys/sys_main.c
index df74373..c73c2e4 100644
--- a/code/sys/sys_main.c
+++ b/code/sys/sys_main.c
@@ -35,6 +35,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#ifndef DEDICATED
#include "SDL.h"
+#include "SDL_cpuinfo.h"
#endif
#include "sys_local.h"
@@ -604,6 +605,24 @@ int main( int argc, char **argv )
int i;
char commandLine[ MAX_STRING_CHARS ] = { 0 };
+#ifndef DEDICATED
+ const SDL_version *ver = SDL_Linked_Version( );
+
+#define STRING(s) #s
+#define XSTRING(s) STRING(s)
+#define MINSDL_VERSION \
+ XSTRING(MINSDL_MAJOR) "." \
+ XSTRING(MINSDL_MINOR) "." \
+ XSTRING(MINSDL_PATCH)
+
+ if( SDL_VERSIONNUM( ver->major, ver->minor, ver->patch ) <
+ SDL_VERSIONNUM( MINSDL_MAJOR, MINSDL_MINOR, MINSDL_PATCH ) )
+ {
+ Sys_Print( "SDL version " MINSDL_VERSION " or greater required\n" );
+ Sys_Exit( 1 );
+ }
+#endif
+
Sys_ParseArgs( argc, argv );
Sys_SetBinaryPath( Sys_Dirname( argv[ 0 ] ) );
Sys_SetDefaultInstallPath( DEFAULT_BASEDIR );