diff --git a/code/qcommon/q_shared.h b/code/qcommon/q_shared.h index 39b49734..ab7eb326 100644 --- a/code/qcommon/q_shared.h +++ b/code/qcommon/q_shared.h @@ -346,6 +346,7 @@ static float LittleFloat (const float l) { return FloatSwap(&l); } #ifdef __sun #include +#include // bk001205 - from Makefile #define stricmp strcasecmp @@ -360,20 +361,24 @@ static float LittleFloat (const float l) { return FloatSwap(&l); } #define PATH_SEP '/' -#if defined(_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); } -#define LittleFloat -#else /* Must be _BIG_ENDIAN */ +#if defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) #define BigShort 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); } + +#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_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); } +#define LittleFloat + +#else +#error "Either _BIG_ENDIAN or _LITTLE_ENDIAN must be #defined, but not both." #endif #endif diff --git a/code/renderer/qgl.h b/code/renderer/qgl.h index 02b57272..1db2dace 100644 --- a/code/renderer/qgl.h +++ b/code/renderer/qgl.h @@ -94,7 +94,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #endif /* defined(__sun) */ // NOTE: some Linux platforms would need those prototypes -#if defined(MACOS_X) || defined(__sun) +#if defined(MACOS_X) || ( defined(__sun) && defined(__sparc) ) typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v); typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); diff --git a/code/tools/lcc/etc/gcc-solaris.c b/code/tools/lcc/etc/gcc-solaris.c index f0e20e99..d7effde2 100644 --- a/code/tools/lcc/etc/gcc-solaris.c +++ b/code/tools/lcc/etc/gcc-solaris.c @@ -1,4 +1,4 @@ -/* x86s running Linux */ +/* Solaris with GNU Compilers */ #include @@ -25,7 +25,7 @@ char inputs[256] = ""; // TTimo experimental: do not compile with the __linux__ define, we are doing bytecode! char *cpp[] = { LCCDIR "q3cpp" BINEXT, "-U__GNUC__", "-D_POSIX_SOURCE", "-D__STDC__=1", "-D__STRICT_ANSI__", - "-Dunix", "-Di386", "-Dlinux", + "-Dunix", "-Di386", "-Dsun", "-D__unix__", "-D__i386__", "-D__signed__=signed", "$1", "$2", "$3", 0 }; char *include[] = {"-I" LCCDIR "include", "-I" LCCDIR "gcc/include", "-I/usr/include", diff --git a/code/unix/Makefile b/code/unix/Makefile index 32a5016d..8a01a23f 100644 --- a/code/unix/Makefile +++ b/code/unix/Makefile @@ -418,13 +418,13 @@ ifeq ($(PLATFORM),SunOS) LDFLAGS=-lsocket -lnsl -ldl -lm ifeq ($(strip $(USE_SDL)),true) - GLLDFLAGS=$(shell sdl-config --libs) -lGLU -lX11 -lXext + GLLDFLAGS=$(shell sdl-config --libs) -L/usr/X11/lib -lGLU -lX11 -lXext else - GLLDFLAGS=-L/usr/openwin/$(LIB) -lGLU -lX11 -lXext + GLLDFLAGS=-L/usr/openwin/$(LIB) -L/usr/X11/lib -lGLU -lX11 -lXext endif ifeq ($(ARCH),i386) - # linux32 make ... + # Solarix x86 make ... BASE_CFLAGS += -m32 LDFLAGS+=-m32 endif diff --git a/code/unix/snapvectora.s b/code/unix/snapvectora.s index 0206ce28..63ea3e8c 100644 --- a/code/unix/snapvectora.s +++ b/code/unix/snapvectora.s @@ -76,7 +76,7 @@ C(Sys_SnapVector): // void Sys_SnapVectorCW( float *v, unsigned short int cw ) .global C(Sys_SnapVectorCW) -C(Sys_SnapVector_cw): +C(Sys_SnapVectorCW): pushl %eax pushl %ebp movl %esp,%ebp