mirror of
https://github.com/UberGames/lilium-voyager.git
synced 2024-11-10 14:41:42 +00:00
* Compile time and runtime checks for SDL >= 1.2.7
* Modified versioning to play nice with the reverted Makefile change
This commit is contained in:
parent
d5e9f1216e
commit
e56a151a97
4 changed files with 58 additions and 15 deletions
39
Makefile
39
Makefile
|
@ -1,12 +1,5 @@
|
||||||
#
|
#
|
||||||
# Quake3 Unix Makefile
|
# ioq3 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
|
|
||||||
#
|
#
|
||||||
# GNU Make required
|
# GNU Make required
|
||||||
#
|
#
|
||||||
|
@ -144,8 +137,8 @@ SDLHDIR=$(MOUNT_DIR)/SDL12
|
||||||
LIBSDIR=$(MOUNT_DIR)/libs
|
LIBSDIR=$(MOUNT_DIR)/libs
|
||||||
|
|
||||||
# extract version info
|
# extract version info
|
||||||
VERSION=$(shell grep "\#define Q3_VERSION" $(CMDIR)/q_shared.h | \
|
VERSION=$(shell grep "\#define *PRODUCT_VERSION" $(CMDIR)/q_shared.h | \
|
||||||
sed -e 's/.*".* \([^ ]*\)"/\1/')
|
sed -e 's/[^"]*"\(.*\)"/\1/')
|
||||||
|
|
||||||
USE_SVN=
|
USE_SVN=
|
||||||
ifeq ($(wildcard .svn),.svn)
|
ifeq ($(wildcard .svn),.svn)
|
||||||
|
@ -738,7 +731,7 @@ echo_cmd=@echo
|
||||||
Q=@
|
Q=@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
define DO_CC
|
define DO_CC
|
||||||
$(echo_cmd) "CC $<"
|
$(echo_cmd) "CC $<"
|
||||||
$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) -o $@ -c $<
|
$(Q)$(CC) $(NOTSHLIBCFLAGS) $(CFLAGS) -o $@ -c $<
|
||||||
endef
|
endef
|
||||||
|
@ -800,7 +793,7 @@ release:
|
||||||
|
|
||||||
# Create the build directories and tools, print out
|
# Create the build directories and tools, print out
|
||||||
# an informational message, then start building
|
# an informational message, then start building
|
||||||
targets: makedirs tools
|
targets: makedirs tools libversioncheck
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "Building ioquake3 in $(B):"
|
@echo "Building ioquake3 in $(B):"
|
||||||
@echo " PLATFORM: $(PLATFORM)"
|
@echo " PLATFORM: $(PLATFORM)"
|
||||||
|
@ -869,6 +862,28 @@ $(Q)$(Q3LCC) -DMISSIONPACK -o $@ $<
|
||||||
endef
|
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
|
# CLIENT/SERVER
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
|
@ -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.
|
// q_shared.h -- included first by ALL program modules.
|
||||||
// A user mod should never modify this file
|
// 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
|
#ifdef SVN_VERSION
|
||||||
# define Q3_VERSION Q3_VERSION_BASE "_SVN" SVN_VERSION
|
# define Q3_VERSION PRODUCT_NAME " " SVN_VERSION
|
||||||
#else
|
#else
|
||||||
# define Q3_VERSION Q3_VERSION_BASE
|
# define Q3_VERSION PRODUCT_NAME " " PRODUCT_VERSION
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLIENT_WINDOW_TITLE "ioquake3"
|
#define CLIENT_WINDOW_TITLE "ioquake3"
|
||||||
|
|
|
@ -22,6 +22,13 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
#include "SDL.h"
|
#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
|
#ifdef SMP
|
||||||
#include "SDL_thread.h"
|
#include "SDL_thread.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -35,6 +35,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
#ifndef DEDICATED
|
#ifndef DEDICATED
|
||||||
#include "SDL.h"
|
#include "SDL.h"
|
||||||
|
#include "SDL_cpuinfo.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "sys_local.h"
|
#include "sys_local.h"
|
||||||
|
@ -604,6 +605,24 @@ int main( int argc, char **argv )
|
||||||
int i;
|
int i;
|
||||||
char commandLine[ MAX_STRING_CHARS ] = { 0 };
|
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_ParseArgs( argc, argv );
|
||||||
Sys_SetBinaryPath( Sys_Dirname( argv[ 0 ] ) );
|
Sys_SetBinaryPath( Sys_Dirname( argv[ 0 ] ) );
|
||||||
Sys_SetDefaultInstallPath( DEFAULT_BASEDIR );
|
Sys_SetDefaultInstallPath( DEFAULT_BASEDIR );
|
||||||
|
|
Loading…
Reference in a new issue