NetBSD support. Thanks to Christoph Lohmann.

This commit is contained in:
rsc 2005-03-28 15:58:14 +00:00
parent be9e0e9857
commit 5ba33c04da
5 changed files with 27 additions and 2 deletions

View file

@ -59,7 +59,7 @@ Quaternion qadd(Quaternion, Quaternion);
Quaternion qsub(Quaternion, Quaternion); Quaternion qsub(Quaternion, Quaternion);
Quaternion qneg(Quaternion); Quaternion qneg(Quaternion);
Quaternion qmul(Quaternion, Quaternion); Quaternion qmul(Quaternion, Quaternion);
Quaternion qdiv(Quaternion, Quaternion); Quaternion p9qdiv(Quaternion, Quaternion);
Quaternion qunit(Quaternion); Quaternion qunit(Quaternion);
Quaternion qinv(Quaternion); Quaternion qinv(Quaternion);
double qlen(Quaternion); double qlen(Quaternion);
@ -94,6 +94,11 @@ Point3 xformpoint(Point3, Space *, Space *);
Point3 xformpointd(Point3, Space *, Space *); Point3 xformpointd(Point3, Space *, Space *);
Point3 xformplane(Point3, Space *, Space *); Point3 xformplane(Point3, Space *, Space *);
#define radians(d) ((d)*.01745329251994329572) #define radians(d) ((d)*.01745329251994329572)
#ifndef NOPLAN9DEFINES
#define qdiv p9qdiv /* for NetBSD */
#endif
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif #endif

View file

@ -8,6 +8,7 @@ extern "C" {
#define __EXTENSIONS__ 1 /* SunOS */ #define __EXTENSIONS__ 1 /* SunOS */
/* NOT USING #define __MAKECONTEXT_V2_SOURCE 1 / * SunOS */ /* NOT USING #define __MAKECONTEXT_V2_SOURCE 1 / * SunOS */
#define _BSD_SOURCE 1 #define _BSD_SOURCE 1
#define _NETBSD_SOURCE 1 /* NetBSD */
#define _SVID_SOURCE 1 #define _SVID_SOURCE 1
#define _XOPEN_SOURCE 1000 #define _XOPEN_SOURCE 1000
#define _XOPEN_SOURCE_EXTENDED 1 #define _XOPEN_SOURCE_EXTENDED 1
@ -74,6 +75,13 @@ typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)];
# undef _NEEDUSHORT # undef _NEEDUSHORT
# undef _NEEDUINT # undef _NEEDUINT
# define _NEEDLL 1 # define _NEEDLL 1
#elif defined(__NetBSD__)
# include <sched.h>
# include <sys/types.h>
# undef _NEEDUSHORT
# undef _NEEDUINT
# undef _NEEDULONG
# undef PLAN9PORT_USING_PTHREADS
#else #else
/* No idea what system this is -- try some defaults */ /* No idea what system this is -- try some defaults */
# include <pthread.h> # include <pthread.h>

View file

@ -150,3 +150,10 @@ This is just a rotation about the same axis by half the angle.
.SH SEE ALSO .SH SEE ALSO
.IR matrix (3), .IR matrix (3),
.IR qball (3) .IR qball (3)
.SH BUGS
To avoid name conflicts with NetBSD,
.I qdiv
is a preprocessor macro defined as
.IR p9qdiv ;
see
.IR intro (3).

View file

@ -24,7 +24,9 @@ tspawnloop: tspawnloop.$O
9l -o $target $target.$O $PLAN9/lib/$LIB -l9 -lpthread 9l -o $target $target.$O $PLAN9/lib/$LIB -l9 -lpthread
%.$O: %.c %.$O: %.c
9c -I. $stem.c $CC -I. $stem.c
NetBSD.$O: Linux.c
test:V: tprimes tspawn test:V: tprimes tspawn
primes 1 10007 >p1.txt primes 1 10007 >p1.txt

View file

@ -17,6 +17,9 @@ case "$tag" in
*-FreeBSD-*) *-FreeBSD-*)
echo $SYSNAME.o ${SYSNAME}asm.o echo $SYSNAME.o ${SYSNAME}asm.o
;; ;;
*-NetBSD-*)
echo $SYSNAME.o ${SYSNAME}asm.o
;;
*-Darwin-*) *-Darwin-*)
echo ${SYSNAME}-${OBJTYPE}-asm.o ${SYSNAME}-${OBJTYPE}.o pthread.o echo ${SYSNAME}-${OBJTYPE}-asm.o ${SYSNAME}-${OBJTYPE}.o pthread.o
;; ;;