You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gento...

214 lines
6.3 KiB

--- Makefile
+++ Makefile
@@ -74,35 +74,46 @@ endif
CC=gcc
+ifndef OPT_CFLAGS
ifeq ($(ARCH),axp)
-RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \
+OPT_CFLAGS=-ffast-math -funroll-loops \
-fomit-frame-pointer -fexpensive-optimizations
endif
ifeq ($(ARCH),ppc)
-RELEASE_CFLAGS=$(BASE_CFLAGS) -O2 -ffast-math -funroll-loops \
+OPT_CFLAGS=-O2 -ffast-math -funroll-loops \
-fomit-frame-pointer -fexpensive-optimizations
endif
ifeq ($(ARCH),sparc)
-RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \
+OPT_CFLAGS=-ffast-math -funroll-loops \
-fomit-frame-pointer -fexpensive-optimizations
endif
ifeq ($(ARCH),i386)
-RELEASE_CFLAGS=$(BASE_CFLAGS) -O2 -ffast-math -funroll-loops -falign-loops=2 \
+OPT_CFLAGS=-O2 -ffast-math -funroll-loops -falign-loops=2 \
-falign-jumps=2 -falign-functions=2 -fno-strict-aliasing
# compiler bugs with gcc 2.96 and 3.0.1 can cause bad builds with heavy opts.
-#RELEASE_CFLAGS=$(BASE_CFLAGS) -O6 -m486 -ffast-math -funroll-loops \
+#OPT_CFLAGS=-O6 -m486 -ffast-math -funroll-loops \
# -fomit-frame-pointer -fexpensive-optimizations -malign-loops=2 \
# -malign-jumps=2 -malign-functions=2
endif
ifeq ($(ARCH),x86_64)
_LIB := 64
-RELEASE_CFLAGS=$(BASE_CFLAGS) -O2 -ffast-math -funroll-loops \
+OPT_CFLAGS=-O2 -ffast-math -funroll-loops \
-fomit-frame-pointer -fexpensive-optimizations -fno-strict-aliasing
endif
+endif
+RELEASE_CFLAGS=$(BASE_CFLAGS) $(OPT_CFLAGS)
+
+ifeq ($(ADDCFLAGS),debug)
+CFLAGS=$(DEBUG_CFLAGS) -DLINUX_VERSION=\"$(VERSION) Debug\"
+endif
+
+ifeq ($(ADDCFLAGS),release)
+CFLAGS=$(RELEASE_CFLAGS) -DLINUX_VERSION=\"$(VERSION)\"
+endif
VERSION=3.21+r0.16
@@ -133,6 +136,13 @@ else
NET_UDP=net_udp
endif
+ifdef DEFAULT_BASEDIR
+BASE_CFLAGS += -DDEFAULT_BASEDIR=\"$(DEFAULT_BASEDIR)\"
+endif
+ifdef DEFAULT_LIBDIR
+BASE_CFLAGS += -DDEFAULT_LIBDIR=\"$(DEFAULT_LIBDIR)\"
+endif
+
ifeq ($(strip $(BUILD_QMAX)),YES)
BASE_CFLAGS+=-DQMAX
endif
@@ -406,7 +424,7 @@
$(BUILD_DEBUG_DIR)/ctf \
$(BUILD_DEBUG_DIR)/xatrix \
$(BUILD_DEBUG_DIR)/rogue
- $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS) -DLINUX_VERSION='\"$(VERSION) Debug\"'"
+ $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) ADDCFLAGS=debug
build_release:
@-mkdir -p $(BUILD_RELEASE_DIR) \
@@ -418,7 +436,7 @@
$(BUILD_RELEASE_DIR)/ctf \
$(BUILD_RELEASE_DIR)/xatrix \
$(BUILD_RELEASE_DIR)/rogue
- $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS) -DLINUX_VERSION='\"$(VERSION)\"'"
+ $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) ADDCFLAGS=release
targets: $(TARGETS)
--- src/linux/qgl_linux.c
+++ src/linux/qgl_linux.c
@@ -3006,13 +3006,17 @@ qboolean QGL_Init( const char *dllname )
// dllname, dlerror());
// try basedir next
- path = ri.Cvar_Get ("basedir", ".", CVAR_NOSET)->string;
+ path = ri.Cvar_Get ("basedir", DEFAULT_BASEDIR, CVAR_NOSET)->string;
snprintf (fn, MAX_OSPATH, "%s/%s", path, dllname );
if ( ( glw_state.OpenGLLib = dlopen( fn, RTLD_LAZY ) ) == 0 ) {
- ri.Con_Printf( PRINT_ALL, "%s\n", dlerror() );
- return false;
+ path = ri.Cvar_Get ("libdir", DEFAULT_LIBDIR, CVAR_NOSET)->string;
+ snprintf (fn, MAX_OSPATH, "%s/%s", path, dllname );
+ if ( ( glw_state.OpenGLLib = dlopen( fn, RTLD_LAZY ) ) == 0 ) {
+ ri.Con_Printf( PRINT_ALL, "%s\n", dlerror() );
+ return false;
+ }
}
Com_Printf ("Using %s for OpenGL...", fn);
} else {
--- src/linux/vid_so.c
+++ src/linux/vid_so.c
@@ -237,13 +237,17 @@ qboolean VID_LoadRefresh( char *name )
//regain root
seteuid(saved_euid);
- path = Cvar_Get ("basedir", ".", CVAR_NOSET)->string;
+ path = Cvar_Get ("basedir", DEFAULT_BASEDIR, CVAR_NOSET)->string;
snprintf (fn, MAX_OSPATH, "%s/%s", path, name );
if (stat(fn, &st) == -1) {
- Com_Printf( "LoadLibrary(\"%s\") failed: %s\n", name, strerror(errno));
- return false;
+ path = Cvar_Get ("libdir", DEFAULT_LIBDIR, CVAR_NOSET)->string;
+ snprintf (fn, MAX_OSPATH, "%s/%s", path, name );
+ if (stat(fn, &st) == -1) {
+ Com_Printf( "LoadLibrary(\"%s\") failed: %s\n", name, strerror(errno));
+ return false;
+ }
}
// permission checking
@@ -493,13 +497,19 @@ qboolean VID_CheckRefExists (const char
char *path;
struct stat st;
- path = Cvar_Get ("basedir", ".", CVAR_NOSET)->string;
+ path = Cvar_Get ("libdir", DEFAULT_LIBDIR, CVAR_NOSET)->string;
snprintf (fn, MAX_OSPATH, "%s/ref_%s.so", path, ref );
if (stat(fn, &st) == 0)
return true;
- else
- return false;
+ else {
+ path = Cvar_Get ("basedir", DEFAULT_BASEDIR, CVAR_NOSET)->string;
+ snprintf (fn, MAX_OSPATH, "%s/ref_%s.so", path, ref );
+ if (stat(fn, &st) == 0)
+ return true;
+ else
+ return false;
+ }
}
/*****************************************************************************/
--- src/qcommon/files.c
+++ src/qcommon/files.c
@@ -60,6 +60,7 @@ typedef struct pack_s
char fs_gamedir[MAX_OSPATH];
cvar_t *fs_basedir;
+cvar_t *fs_libdir;
cvar_t *fs_cddir;
cvar_t *fs_gamedirvar;
@@ -681,6 +682,7 @@ void FS_SetGamedir (char *dir)
if (fs_cddir->string[0])
FS_AddGameDirectory (va("%s/%s", fs_cddir->string, dir) );
FS_AddGameDirectory (va("%s/%s", fs_basedir->string, dir) );
+ FS_AddGameDirectory (va("%s/%s", fs_libdir->string, dir) );
FS_AddHomeAsGameDirectory(dir);
}
}
@@ -898,7 +900,13 @@ void FS_InitFilesystem (void)
// basedir <path>
// allows the game to run from outside the data tree
//
- fs_basedir = Cvar_Get ("basedir", ".", CVAR_NOSET);
+ fs_basedir = Cvar_Get ("basedir", DEFAULT_BASEDIR, CVAR_NOSET);
+
+ //
+ // libdir <path>
+ // allows the game to store binary files (not data) in a sep tree
+ //
+ fs_libdir = Cvar_Get ("libdir", DEFAULT_LIBDIR, CVAR_NOSET);
//
// cddir <path>
@@ -913,6 +921,7 @@ void FS_InitFilesystem (void)
// add baseq2 to search path
//
FS_AddGameDirectory (va("%s/"BASEDIRNAME, fs_basedir->string) );
+ FS_AddGameDirectory (va("%s/"BASEDIRNAME, fs_libdir->string) );
//
// then add a '.quake2/baseq2' directory in home directory by default
--- src/qcommon/qcommon.h
+++ src/qcommon/qcommon.h
@@ -74,6 +74,13 @@ Foundation, Inc., 59 Temple Place - Suit
#endif
+#ifndef DEFAULT_BASEDIR
+# define DEFAULT_BASEDIR "."
+#endif
+#ifndef DEFAULT_LIBDIR
+# define DEFAULT_LIBDIR DEFAULT_BASEDIR
+#endif
+
//============================================================================
typedef struct sizebuf_s