r107 - in trunk/code: game qcommon renderer splines unix

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Sep 25 18:04:51 EDT 2005


Author: tma
Date: 2005-09-25 18:04:51 -0400 (Sun, 25 Sep 2005)
New Revision: 107

Modified:
   trunk/code/game/q_shared.h
   trunk/code/qcommon/common.c
   trunk/code/qcommon/vm_x86.c
   trunk/code/renderer/qgl.h
   trunk/code/splines/q_shared.h
   trunk/code/splines/q_shared.hpp
   trunk/code/unix/Makefile
   trunk/code/unix/unix_shared.c
Log:
* FreeBSD fixes/updates from Andreas Kohn


Modified: trunk/code/game/q_shared.h
===================================================================
--- trunk/code/game/q_shared.h	2005-09-25 21:46:55 UTC (rev 106)
+++ trunk/code/game/q_shared.h	2005-09-25 22:04:51 UTC (rev 107)
@@ -476,7 +476,7 @@
 void *Hunk_Alloc( int size, ha_pref preference );
 #endif
 
-#ifdef __linux__
+#if defined(__GNUC__)
 // https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=371
 // custom Snd_Memset implementation for glibc memset bug workaround
 void Snd_Memset (void* dest, const int val, const size_t count);

Modified: trunk/code/qcommon/common.c
===================================================================
--- trunk/code/qcommon/common.c	2005-09-25 21:46:55 UTC (rev 106)
+++ trunk/code/qcommon/common.c	2005-09-25 22:04:51 UTC (rev 107)
@@ -24,7 +24,7 @@
 #include "../game/q_shared.h"
 #include "qcommon.h"
 #include <setjmp.h>
-#if defined __linux__ || defined MACOS_X
+#if defined __linux__ || defined MACOS_X || defined __FreeBSD__
 #include <netinet/in.h>
 #else
 #include <winsock.h>

Modified: trunk/code/qcommon/vm_x86.c
===================================================================
--- trunk/code/qcommon/vm_x86.c	2005-09-25 21:46:55 UTC (rev 106)
+++ trunk/code/qcommon/vm_x86.c	2005-09-25 22:04:51 UTC (rev 107)
@@ -1002,7 +1002,7 @@
 		case OP_CVFI:
 #ifndef FTOL_PTR // WHENHELLISFROZENOVER  // bk001213 - was used in 1.17
 			// not IEEE complient, but simple and fast
-		  EmitString( "D9 07" );		// fld dword ptr [edi]
+			EmitString( "D9 07" );		// fld dword ptr [edi]
 			EmitString( "DB 1F" );		// fistp dword ptr [edi]
 #else // FTOL_PTR
 			// call the library conversion function

Modified: trunk/code/renderer/qgl.h
===================================================================
--- trunk/code/renderer/qgl.h	2005-09-25 21:46:55 UTC (rev 106)
+++ trunk/code/renderer/qgl.h	2005-09-25 22:04:51 UTC (rev 107)
@@ -48,7 +48,7 @@
 
 #include "macosx_glimp.h"
 
-#elif defined( __linux__ )
+#elif defined( __linux__ ) || defined(__FreeBSD__)
 
 #include <GL/gl.h>
 #include <GL/glx.h>
@@ -57,14 +57,6 @@
 #include <GL/fxmesa.h>
 #endif
 
-#elif defined( __FreeBSD__ ) // rb010123
-
-#include <GL/gl.h>
-#include <GL/glx.h>
-#if defined(__FX__)
-#include <GL/fxmesa.h>
-#endif
-
 #else
 
 #include <gl.h>

Modified: trunk/code/splines/q_shared.h
===================================================================
--- trunk/code/splines/q_shared.h	2005-09-25 21:46:55 UTC (rev 106)
+++ trunk/code/splines/q_shared.h	2005-09-25 22:04:51 UTC (rev 107)
@@ -228,6 +228,34 @@
 
 #endif
 
+//======================= FreeBSD DEFINES =====================
+/* Adapted from game/q_shared.h */
+#ifdef __FreeBSD__ // rb010123
+
+#define stricmp strcasecmp
+
+#define MAC_STATIC
+#define ID_INLINE inline 
+
+#ifdef __i386__
+#define CPUSTRING       "freebsd-i386"
+#elif defined __axp__
+#define CPUSTRING       "freebsd-alpha"
+#else
+#define CPUSTRING       "freebsd-other"
+#endif
+
+#define	PATH_SEP '/'
+
+#ifdef Q3_STATIC
+#define	GAME_HARD_LINKED
+#define	CGAME_HARD_LINKED
+#define	UI_HARD_LINKED
+#define	BOTLIB_HARD_LINKED
+#endif
+
+#endif
+
 //=============================================================
 
 

Modified: trunk/code/splines/q_shared.hpp
===================================================================
--- trunk/code/splines/q_shared.hpp	2005-09-25 21:46:55 UTC (rev 106)
+++ trunk/code/splines/q_shared.hpp	2005-09-25 22:04:51 UTC (rev 107)
@@ -216,6 +216,37 @@
 
 #endif
 
+//======================= FreeBSD DEFINES =================================
+
+// the mac compiler can't handle >32k of locals, so we
+// just waste space and make big arrays static...
+#ifdef __FreeBSD__
+
+// bk001205 - from Makefile
+#define stricmp strcasecmp
+
+#define	MAC_STATIC // bk: FIXME
+
+#ifdef __i386__
+#define	CPUSTRING	"freebsd-i386"
+#elif defined __axp__
+#define	CPUSTRING	"freebsd-alpha"
+#else
+#define	CPUSTRING	"freebsd-other"
+#endif
+
+#define	PATH_SEP '/'
+
+// bk001205 - try
+#ifdef Q3_STATIC
+#define	GAME_HARD_LINKED
+#define	CGAME_HARD_LINKED
+#define	UI_HARD_LINKED
+#define	BOTLIB_HARD_LINKED
+#endif
+
+#endif
+
 //=============================================================
 
 

Modified: trunk/code/unix/Makefile
===================================================================
--- trunk/code/unix/Makefile	2005-09-25 21:46:55 UTC (rev 106)
+++ trunk/code/unix/Makefile	2005-09-25 22:04:51 UTC (rev 107)
@@ -317,15 +317,15 @@
   DEBUG_CFLAGS=$(BASE_CFLAGS) -g  -Wall -Werror
 
   ifeq ($(ARCH),axp)
-    CC=pgcc
+    CC=gcc
     RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -ffast-math -funroll-loops \
       -fomit-frame-pointer -fexpensive-optimizations
   else
-    CC=pgcc
+    CC=gcc
     RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -mtune=pentiumpro \
       -march=pentium -fomit-frame-pointer -pipe -ffast-math \
-      -malign-loops=2 -malign-jumps=2 -malign-functions=2 \
-      -fno-strict-aliasing - fstrength-reduce
+      -falign-loops=2 -falign-jumps=2 -falign-functions=2 \
+      -fno-strict-aliasing -fstrength-reduce
   endif
 
   LIBEXT=a
@@ -411,12 +411,6 @@
   ARFLAGS=ar rv
   RANLIB=ranlib
 
-  ifeq ($(PLATFORM),freebsd)
-    LDFLAGS=-lm
-  else
-    LDFLAGS=-ldl -lm
-  endif # ifeq freebsd
-
   TARGETS=\
     $(B)/$(PLATFORM)q3ded
 
@@ -641,6 +635,9 @@
 
 #platform specific objects
 ifeq ($(PLATFORM),freebsd)
+ifeq ($(ARCH),axp)
+  Q3POBJ=
+else
   Q3POBJ=\
     $(B)/client/unix_main.o \
     $(B)/client/unix_net.o \
@@ -653,9 +650,14 @@
     $(B)/client/linux_snd.o \
     $(B)/client/sdl_snd.o \
     $(B)/client/snd_mixa.o \
-    $(B)/client/matha.o   \
-    $(B)/client/ftol.o \
-    $(B)/client/snapvector.o
+    $(B)/client/matha.o
+
+  ifeq ($(ARCH),i386)
+    Q3POBJ += $(B)/client/ftola.o $(B)/client/snapvectora.o
+    Q3POBJ_SMP += $(B)/client/ftola.o $(B)/client/snapvectora.o
+  endif
+
+endif # FreeBSD-axp
 else
 ifeq ($(PLATFORM),irix)
   Q3POBJ=\
@@ -880,7 +882,7 @@
 $(B)/client/irix_glimp_smp.o : $(UDIR)/irix_glimp.c; $(DO_SMP_CC)
 $(B)/client/irix_snd.o : $(UDIR)/irix_snd.c; $(DO_CC)
 $(B)/client/irix_input.o : $(UDIR)/irix_input.c; $(DO_CC)
-$(B)/client/linux_signals.o : $(UDIR)/linux_signals.c; $(DO_CC)
+$(B)/client/linux_signals.o : $(UDIR)/linux_signals.c; $(DO_CC) $(GL_CFLAGS)
 $(B)/client/linux_common.o : $(UDIR)/linux_common.c; $(DO_CC)
 $(B)/client/linux_glimp.o : $(UDIR)/linux_glimp.c; $(DO_CC)  $(GL_CFLAGS)
 $(B)/client/sdl_glimp.o : $(UDIR)/sdl_glimp.c; $(DO_CC)  $(GL_CFLAGS)

Modified: trunk/code/unix/unix_shared.c
===================================================================
--- trunk/code/unix/unix_shared.c	2005-09-25 21:46:55 UTC (rev 106)
+++ trunk/code/unix/unix_shared.c	2005-09-25 22:04:51 UTC (rev 107)
@@ -76,7 +76,7 @@
 	return curtime;
 }
 
-#if defined(__linux__) && !defined(DEDICATED)
+#if (defined(__linux__) || defined(__FreeBSD__)) && !defined(DEDICATED)
 /*
 ================
 Sys_XTimeToSysTime
@@ -425,7 +425,7 @@
 	return p->pw_name;
 }
 
-#if defined(__linux__)
+#if defined(__linux__) || defined(__FreeBSD__)
 // TTimo 
 // sysconf() in libc, POSIX.1 compliant
 unsigned int Sys_ProcessorCount(void)




More information about the quake3-commits mailing list