aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorludwig <ludwig@edf5b092-35ff-0310-97b2-ce42778d08ea>2005-08-28 17:24:58 +0000
committerludwig <ludwig@edf5b092-35ff-0310-97b2-ce42778d08ea>2005-08-28 17:24:58 +0000
commitb7bab8902a5b4dfb528b51c9a563fb374e907d14 (patch)
tree0e4787d808474937181d859a2edb3b8b0881c25a
parentbf50007df9f48ea8da3ea6284f176b49628a736f (diff)
downloadioquake3-aero-b7bab8902a5b4dfb528b51c9a563fb374e907d14.tar.gz
ioquake3-aero-b7bab8902a5b4dfb528b51c9a563fb374e907d14.zip
prepare for ppc support
git-svn-id: svn://svn.icculus.org/quake3/trunk@23 edf5b092-35ff-0310-97b2-ce42778d08ea
-rwxr-xr-xcode/game/q_shared.h16
-rwxr-xr-xcode/splines/q_shared.h4
-rwxr-xr-xcode/unix/unix_main.c22
3 files changed, 28 insertions, 14 deletions
diff --git a/code/game/q_shared.h b/code/game/q_shared.h
index 30862b9..c35c911 100755
--- a/code/game/q_shared.h
+++ b/code/game/q_shared.h
@@ -154,7 +154,7 @@ static ID_INLINE short BigShort( short l) { return ShortSwap(l); }
#define LittleShort
static ID_INLINE int BigLong(int l) { LongSwap(l); }
#define LittleLong
-static ID_INLINE float BigFloat(const float *l) { FloatSwap(l); }
+static ID_INLINE float BigFloat(const float l) { FloatSwap(&l); }
#define LittleFloat
#define PATH_SEP '\\'
@@ -256,6 +256,10 @@ static inline float LittleFloat (const float l) { return FloatSwap(&l); }
#define CPUSTRING "linux-alpha"
#elif defined __x86_64__
#define CPUSTRING "linux-x86_64"
+#elif defined __powerpc64__
+#define CPUSTRING "linux-ppc64"
+#elif defined __powerpc__
+#define CPUSTRING "linux-ppc"
#else
#define CPUSTRING "linux-other"
#endif
@@ -270,12 +274,12 @@ static inline float LittleFloat (const float l) { return FloatSwap(&l); }
#define BOTLIB_HARD_LINKED
#endif
-#if !idppc
+#if __FLOAT_WORD_ORDER == __LITTLE_ENDIAN
inline static short BigShort( short l) { return ShortSwap(l); }
#define LittleShort
inline static int BigLong(int l) { return LongSwap(l); }
#define LittleLong
-inline static float BigFloat(const float *l) { return FloatSwap(l); }
+inline static float BigFloat(const float l) { return FloatSwap(&l); }
#define LittleFloat
#else
#define BigShort
@@ -283,7 +287,7 @@ inline static short LittleShort(short l) { return ShortSwap(l); }
#define BigLong
inline static int LittleLong (int l) { return LongSwap(l); }
#define BigFloat
-inline static float LittleFloat (const float *l) { return FloatSwap(l); }
+inline static float LittleFloat (const float l) { return FloatSwap(&l); }
#endif
#endif
@@ -313,7 +317,7 @@ static short BigShort( short l) { return ShortSwap(l); }
#define LittleShort
static int BigLong(int l) { LongSwap(l); }
#define LittleLong
-static float BigFloat(const float *l) { FloatSwap(l); }
+static float BigFloat(const float l) { FloatSwap(&l); }
#define LittleFloat
#else
#define BigShort
@@ -321,7 +325,7 @@ static short LittleShort(short l) { return ShortSwap(l); }
#define BigLong
static int LittleLong (int l) { return LongSwap(l); }
#define BigFloat
-static float LittleFloat (const float *l) { return FloatSwap(l); }
+static float LittleFloat (const float l) { return FloatSwap(&l); }
#endif
#endif
diff --git a/code/splines/q_shared.h b/code/splines/q_shared.h
index 2fd3f2d..8f28622 100755
--- a/code/splines/q_shared.h
+++ b/code/splines/q_shared.h
@@ -202,6 +202,10 @@ void Sys_PumpEvents( void );
#define CPUSTRING "linux-alpha"
#elif defined __x86_64__
#define CPUSTRING "linux-x86_64"
+#elif defined __powerpc64__
+#define CPUSTRING "linux-ppc64"
+#elif defined __powerpc__
+#define CPUSTRING "linux-ppc"
#else
#define CPUSTRING "linux-other"
#endif
diff --git a/code/unix/unix_main.c b/code/unix/unix_main.c
index b9c5449..4671f6d 100755
--- a/code/unix/unix_main.c
+++ b/code/unix/unix_main.c
@@ -347,14 +347,22 @@ void Sys_Init(void)
Cmd_AddCommand ("in_restart", Sys_In_Restart_f);
#if defined __linux__
-#if defined __i386__
+# if defined __i386__
Cvar_Set( "arch", "linux i386" );
-#elif defined __x86_64__
+# elif defined __x86_64__
Cvar_Set( "arch", "linux x86_64" );
-#elif defined __alpha__
+# elif defined __powerpc64__
+ Cvar_Set( "arch", "linux ppc64" );
+# elif defined __powerpc__
+ Cvar_Set( "arch", "linux ppc" );
+# elif defined __alpha__
Cvar_Set( "arch", "linux alpha" );
-#elif defined __sparc__
+# elif defined __sparc__
Cvar_Set( "arch", "linux sparc" );
+# else
+# error unsupported architecture
+#endif
+
#elif defined __FreeBSD__
#if defined __i386__ // FreeBSD
@@ -363,10 +371,6 @@ void Sys_Init(void)
Cvar_Set( "arch", "freebsd alpha" );
#else
Cvar_Set( "arch", "freebsd unknown" );
-#endif // FreeBSD
-
-#else
- Cvar_Set( "arch", "linux unknown" );
#endif
#elif defined __sun__
#if defined __i386__
@@ -728,6 +732,8 @@ void *Sys_LoadDll( const char *name, char *fqpath ,
snprintf (fname, sizeof(fname), "%si386.so", name);
#elif defined __x86_64__
snprintf (fname, sizeof(fname), "%sx86_64.so", name);
+#elif defined __powerpc64__
+ snprintf (fname, sizeof(fname), "%sppc.so", name);
#elif defined __powerpc__ //rcg010207 - PPC support.
snprintf (fname, sizeof(fname), "%sppc.so", name);
#elif defined __axp__