From b7bab8902a5b4dfb528b51c9a563fb374e907d14 Mon Sep 17 00:00:00 2001 From: ludwig Date: Sun, 28 Aug 2005 17:24:58 +0000 Subject: prepare for ppc support git-svn-id: svn://svn.icculus.org/quake3/trunk@23 edf5b092-35ff-0310-97b2-ce42778d08ea --- code/game/q_shared.h | 16 ++++++++++------ code/splines/q_shared.h | 4 ++++ code/unix/unix_main.c | 22 ++++++++++++++-------- 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__ -- cgit v1.2.3