summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2012-08-24 20:42:28 +0400
committerAndrey Nazarov <skuller@skuller.net>2012-08-24 20:42:28 +0400
commit90c4841855f94853a0f678da792527f6a175cf2c (patch)
treec07fe63cfed2cb89b9c0c16045050282033c32fd
parent8eea41ce9d6a70dd0e7d835f940859b5824fc22f (diff)
Make Q2PRO compile on OpenBSD.
Original patch provided by Jonathan Gray.
-rw-r--r--Makefile17
-rw-r--r--src/client/sound/qal.c10
-rw-r--r--src/unix/hunk.c2
-rw-r--r--src/unix/sdl/video.c8
4 files changed, 26 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index cf86b82..4e7b1af 100644
--- a/Makefile
+++ b/Makefile
@@ -87,9 +87,11 @@ else
CFLAGS_g += -fvisibility=hidden
# Resolve all symbols at link time
- LDFLAGS_s += -Wl,--no-undefined
- LDFLAGS_c += -Wl,--no-undefined
- LDFLAGS_g += -Wl,--no-undefined
+ ifneq ($(SYS),OpenBSD)
+ LDFLAGS_s += -Wl,--no-undefined
+ LDFLAGS_c += -Wl,--no-undefined
+ LDFLAGS_g += -Wl,--no-undefined
+ endif
CFLAGS_g += -fPIC
endif
@@ -514,9 +516,14 @@ else
endif
# System libs
- LIBS_s += -lm -ldl
- LIBS_c += -lm -ldl
+ LIBS_s += -lm
+ LIBS_c += -lm
LIBS_g += -lm
+
+ ifeq ($(SYS),Linux)
+ LIBS_s += -ldl
+ LIBS_c += -ldl
+ endif
endif
ifdef CONFIG_TESTS
diff --git a/src/client/sound/qal.c b/src/client/sound/qal.c
index c133e3a..c4d646e 100644
--- a/src/client/sound/qal.c
+++ b/src/client/sound/qal.c
@@ -89,15 +89,17 @@ void QAL_Shutdown(void)
al_device->flags &= ~CVAR_SOUND;
}
-#ifdef _WIN32
-#define DEFAULT_OPENAL_DRIVER "openal32"
+#if (defined _WIN32)
+#define LIBAL "openal32"
+#elif (defined __OpenBSD__)
+#define LIBAL "libopenal.so"
#else
-#define DEFAULT_OPENAL_DRIVER "libopenal.so.1"
+#define LIBAL "libopenal.so.1"
#endif
qboolean QAL_Init(void)
{
- al_driver = Cvar_Get("al_driver", DEFAULT_OPENAL_DRIVER, 0);
+ al_driver = Cvar_Get("al_driver", LIBAL, 0);
al_device = Cvar_Get("al_device", "", 0);
// don't allow absolute or relative paths
diff --git a/src/unix/hunk.c b/src/unix/hunk.c
index f88da34..c381429 100644
--- a/src/unix/hunk.c
+++ b/src/unix/hunk.c
@@ -71,7 +71,7 @@ void Hunk_End(memhunk_t *hunk)
newsize = (hunk->cursize + 4095) & ~4095;
if (newsize < hunk->maxsize) {
-#ifdef _GNU_SOURCE
+#if (defined __linux__) && (defined _GNU_SOURCE)
void *buf = mremap(hunk->base, hunk->maxsize, newsize, 0);
#else
void *unmap_base = (byte *)hunk->base + newsize;
diff --git a/src/unix/sdl/video.c b/src/unix/sdl/video.c
index 9efd439..a5780eb 100644
--- a/src/unix/sdl/video.c
+++ b/src/unix/sdl/video.c
@@ -659,6 +659,12 @@ static void init_opengl(void)
#endif
}
+#ifdef __OpenBSD__
+#define LIBGL "libGL.so"
+#else
+#define LIBGL "libGL.so.1"
+#endif
+
qboolean VID_Init(void)
{
cvar_t *gl_driver;
@@ -674,7 +680,7 @@ qboolean VID_Init(void)
return qfalse;
}
- gl_driver = Cvar_Get("gl_driver", "libGL.so.1", CVAR_REFRESH);
+ gl_driver = Cvar_Get("gl_driver", LIBGL, CVAR_REFRESH);
gl_colorbits = Cvar_Get("gl_colorbits", "0", CVAR_REFRESH);
gl_depthbits = Cvar_Get("gl_depthbits", "0", CVAR_REFRESH);
gl_stencilbits = Cvar_Get("gl_stencilbits", "8", CVAR_REFRESH);