diff options
-rw-r--r-- | Makefile | 39 | ||||
-rw-r--r-- | code/qcommon/q_shared.h | 8 | ||||
-rw-r--r-- | code/sdl/sdl_glimp.c | 7 | ||||
-rw-r--r-- | code/sys/sys_main.c | 19 |
4 files changed, 58 insertions, 15 deletions
@@ -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 ); |