diff -ur ioquake3.orig/Makefile ioquake3/Makefile --- ioquake3.orig/Makefile Sat Oct 13 00:09:23 2007 +++ ioquake3/Makefile Sat Oct 13 00:19:20 2007 @@ -538,6 +538,63 @@ else # ifeq freebsd ############################################################################# +# SETUP AND BUILD -- OPENBSD +############################################################################# + +ifeq ($(PLATFORM),openbsd) + + #default to i386, no tests done on anything else + ARCH=i386 + + + BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \ + -DUSE_ICON $(shell sdl-config --cflags) + + ifeq ($(USE_OPENAL),1) + BASE_CFLAGS += -DUSE_OPENAL + ifeq ($(USE_OPENAL_DLOPEN),1) + BASE_CFLAGS += -DUSE_OPENAL_DLOPEN + endif + endif + + ifeq ($(USE_CODEC_VORBIS),1) + BASE_CFLAGS += -DUSE_CODEC_VORBIS + endif + + BASE_CFLAGS += -DNO_VM_COMPILED -I/usr/X11R6/include -I/usr/local/include + RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 \ + -march=pentium -fomit-frame-pointer -pipe -ffast-math \ + -falign-loops=2 -falign-jumps=2 -falign-functions=2 \ + -funroll-loops -fstrength-reduce + HAVE_VM_COMPILED=false + + DEBUG_CFLAGS=$(BASE_CFLAGS) -g + + SHLIBEXT=so + SHLIBCFLAGS=-fPIC + SHLIBLDFLAGS=-shared $(LDFLAGS) + + THREAD_LDFLAGS=-lpthread + LDFLAGS=-lm + + CLIENT_LDFLAGS = + + CLIENT_LDFLAGS += $(shell sdl-config --libs) -lGL + + ifeq ($(USE_OPENAL),1) + ifneq ($(USE_OPENAL_DLOPEN),1) + CLIENT_LDFLAGS += $(THREAD_LDFLAGS) -lopenal + endif + endif + + ifeq ($(USE_CODEC_VORBIS),1) + CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg + endif + + +else # ifeq openbsd + +############################################################################# # SETUP AND BUILD -- NETBSD ############################################################################# @@ -670,6 +727,7 @@ endif #darwin endif #mingw32 endif #FreeBSD +endif #OpenBSD endif #NetBSD endif #IRIX endif #SunOS diff -ur ioquake3.orig/code/qcommon/q_platform.h ioquake3/code/qcommon/q_platform.h --- ioquake3.orig/code/qcommon/q_platform.h Sat Oct 13 00:09:19 2007 +++ ioquake3/code/qcommon/q_platform.h Sat Oct 13 00:16:50 2007 @@ -192,6 +192,32 @@ #endif +//=============================================================== OpenBSD === + +#ifdef __OpenBSD__ + +#include + +#define OS_STRING "openbsd" +#define ID_INLINE inline +#define PATH_SEP '/' + +#ifdef __i386__ +#define ARCH_STRING "i386" +#else +#error "Only x86 is supported on OpenBSD" +#endif + +#if BYTE_ORDER == BIG_ENDIAN +#define Q3_BIG_ENDIAN +#else +#define Q3_LITTLE_ENDIAN +#endif + +#define DLL_EXT ".so" + +#endif + //================================================================ NetBSD === // This is very much like the FreeBSD one and can probably be merged diff -ur ioquake3.orig/code/sys/sys_loadlib.h ioquake3/code/sys/sys_loadlib.h --- ioquake3.orig/code/sys/sys_loadlib.h Sat Oct 13 00:09:22 2007 +++ ioquake3/code/sys/sys_loadlib.h Sat Oct 13 00:45:43 2007 @@ -20,7 +20,7 @@ =========================================================================== */ -#ifdef DEDICATED +#if defined(DEDICATED) || defined(__OpenBSD__) # ifdef _WIN32 # include # define Sys_LoadLibrary(f) (void*)LoadLibrary(f)