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;
openSUSE Build Service is sponsored by