File Reaction-1.0~beta1-LIBDIR.patch of Package Reaction

From 0a0c662ecd3d2cb7b52a61bfd2d2e3893cf41884 Mon Sep 17 00:00:00 2001
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Date: Mon, 8 Dec 2025 02:57:07 +0000
Subject: [PATCH] Add Reaction-1.0~beta1-LIBDIR.patch

2012-10-06 02:22:57 by mailaender at opensuse.org
---
 Makefile             | 30 +++++++++++++++++++-----------
 code/qcommon/files.c |  4 ++++
 code/sys/sys_main.c  | 10 ++++++++++
 3 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/Makefile b/Makefile
index be50847..d5c40d3 100644
--- a/Makefile
+++ b/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) $(Q3RCCOBJ) $(Q3LCCOBJ) $(Q3ASMOBJ)
 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
 
diff --git a/code/qcommon/files.c b/code/qcommon/files.c
index 7cec4d4..65f33d9 100644
--- a/code/qcommon/files.c
+++ b/code/qcommon/files.c
@@ -1414,7 +1414,11 @@ vmInterpret_t FS_FindVM(void **startSearch, char *found, int foundlen, const cha
 
 			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))
 				{
diff --git a/code/sys/sys_main.c b/code/sys/sys_main.c
index ed00b65..3e1921b 100644
--- a/code/sys/sys_main.c
+++ b/code/sys/sys_main.c
@@ -429,6 +429,13 @@ void *Sys_LoadDll(const char *name, qboolean useSystemLib)
 		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, qboolean useSystemLib)
 			if(!dllhandle)
 				Com_Printf("Loading \"%s\" failed\n", name);
 		}
+#ifdef DEFAULT_LIBDIR
+		}
+#endif
 	}
 	
 	return dllhandle;
-- 
2.51.0

openSUSE Build Service is sponsored by