File Reaction-1.0~beta1-LIBDIR.patch of Package Reaction
Index: Makefile
===================================================================
--- Makefile.orig
+++ Makefile
@@ -132,6 +132,10 @@ ifndef COPYBINDIR
COPYBINDIR=$(COPYDIR)
endif
+ifndef COPYLIBDIR
+COPYLIBDIR=$(COPYDIR)
+endif
+
ifndef MOUNT_DIR
MOUNT_DIR=code
endif
@@ -956,6 +960,10 @@ ifdef DEFAULT_BASEDIR
BASE_CFLAGS += -DDEFAULT_BASEDIR=\\\"$(DEFAULT_BASEDIR)\\\"
endif
+ifdef DEFAULT_LIBDIR
+ BASE_CFLAGS += -DDEFAULT_LIBDIR=\\\"$(DEFAULT_LIBDIR)\\\"
+endif
+
ifeq ($(USE_LOCAL_HEADERS),1)
BASE_CFLAGS += -DUSE_LOCAL_HEADERS
endif
@@ -2452,18 +2460,18 @@ TOOLSOBJ = $(LBURGOBJ) $(Q3CPPOBJ) $(Q3R
copyfiles: release
@if [ ! -d $(COPYDIR)/$(BASEGAME) ]; then echo "You need to set COPYDIR to where your Quake3 data is!"; fi
ifneq ($(BUILD_GAME_SO),0)
- -$(MKDIR) -p -m 0755 $(COPYDIR)/$(BASEGAME)
+ -$(MKDIR) -p -m 0755 $(COPYLIBDIR)/$(BASEGAME)
ifneq ($(BUILD_MISSIONPACK),0)
- -$(MKDIR) -p -m 0755 $(COPYDIR)/$(MISSIONPACK)
+ -$(MKDIR) -p -m 0755 $(COPYLIBDIR)/$(MISSIONPACK)
endif
endif
ifneq ($(BUILD_CLIENT),0)
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(CLIENTBIN)$(FULLBINEXT) $(COPYBINDIR)/$(CLIENTBIN)$(FULLBINEXT)
ifneq ($(USE_RENDERER_DLOPEN),0)
- $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/renderer_opengl1_$(SHLIBNAME) $(COPYBINDIR)/renderer_opengl1_$(SHLIBNAME)
+ $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/renderer_opengl1_$(SHLIBNAME) $(COPYLIBDIR)/renderer_opengl1_$(SHLIBNAME)
ifneq ($(BUILD_RENDERER_GL2),0)
- $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/renderer_opengl2_$(SHLIBNAME) $(COPYBINDIR)/renderer_opengl2_$(SHLIBNAME)
+ $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/renderer_opengl2_$(SHLIBNAME) $(COPYLIBDIR)/renderer_opengl2_$(SHLIBNAME)
endif
endif
endif
@@ -2471,7 +2479,7 @@ endif
# Don't copy the SMP until it's working together with SDL.
ifneq ($(BUILD_CLIENT_SMP),0)
ifneq ($(USE_RENDERER_DLOPEN),0)
- $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/renderer_opengl1_smp_$(SHLIBNAME) $(COPYBINDIR)/renderer_opengl1_smp_$(SHLIBNAME)
+ $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/renderer_opengl1_smp_$(SHLIBNAME) $(COPYLIBDIR)/renderer_opengl1_smp_$(SHLIBNAME)
else
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(CLIENTBIN)-smp$(FULLBINEXT) $(COPYBINDIR)/$(CLIENTBIN)-smp$(FULLBINEXT)
endif
@@ -2485,19 +2493,19 @@ endif
ifneq ($(BUILD_GAME_SO),0)
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(BASEGAME)/cgame$(SHLIBNAME) \
- $(COPYDIR)/$(BASEGAME)/.
+ $(COPYLIBDIR)/$(BASEGAME)/.
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(BASEGAME)/qagame$(SHLIBNAME) \
- $(COPYDIR)/$(BASEGAME)/.
+ $(COPYLIBDIR)/$(BASEGAME)/.
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(BASEGAME)/ui$(SHLIBNAME) \
- $(COPYDIR)/$(BASEGAME)/.
+ $(COPYLIBDIR)/$(BASEGAME)/.
ifneq ($(BUILD_MISSIONPACK),0)
-$(MKDIR) -p -m 0755 $(COPYDIR)/$(MISSIONPACK)
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(MISSIONPACK)/cgame$(SHLIBNAME) \
- $(COPYDIR)/$(MISSIONPACK)/.
+ $(COPYLIBDIR)/$(BASEGAME)/.
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(MISSIONPACK)/qagame$(SHLIBNAME) \
- $(COPYDIR)/$(MISSIONPACK)/.
+ $(COPYLIBDIR)/$(BASEGAME)/.
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(MISSIONPACK)/ui$(SHLIBNAME) \
- $(COPYDIR)/$(MISSIONPACK)/.
+ $(COPYLIBDIR)/$(BASEGAME)/.
endif
endif
Index: code/qcommon/files.c
===================================================================
--- code/qcommon/files.c.orig
+++ code/qcommon/files.c
@@ -1414,7 +1414,11 @@ vmInterpret_t FS_FindVM(void **startSear
if(enableDll)
{
+#ifdef DEFAULT_LIBDIR
+ netpath = FS_BuildOSPath(DEFAULT_LIBDIR, dir->gamedir, dllName);
+#else
netpath = FS_BuildOSPath(dir->path, dir->gamedir, dllName);
+#endif
if(FS_FileInPathExists(netpath))
{
Index: code/sys/sys_main.c
===================================================================
--- code/sys/sys_main.c.orig
+++ code/sys/sys_main.c
@@ -429,6 +429,13 @@ void *Sys_LoadDll(const char *name, qboo
const char *topDir;
char libPath[MAX_OSPATH];
+#ifdef DEFAULT_LIBDIR
+ Com_Printf("Trying to load \"%s\" from \"%s\"...\n", name, DEFAULT_LIBDIR);
+ Com_sprintf(libPath, sizeof(libPath), "%s%c%s", DEFAULT_LIBDIR, PATH_SEP, name);
+
+ if(!(dllhandle = Sys_LoadLibrary(libPath))) {
+#endif
+
topDir = Sys_BinaryPath();
if(!*topDir)
@@ -454,6 +461,9 @@ void *Sys_LoadDll(const char *name, qboo
if(!dllhandle)
Com_Printf("Loading \"%s\" failed\n", name);
}
+#ifdef DEFAULT_LIBDIR
+ }
+#endif
}
return dllhandle;