Add NetBSD support

db4
Daniel Neri 2008-01-30 01:02:42 +01:00
parent c7d9e5afef
commit ac2fb043cf
9 changed files with 37 additions and 2 deletions

View File

@ -56,6 +56,8 @@ default:
@echo "linux-arm"
@echo "openbsd-x86-32"
@echo "openbsd-x86-64"
@echo "netbsd-x86-32"
@echo "netbsd-x86-64"
@echo "macosx-x86-32"
@echo "macosx-x86-64"
@echo "macosx-ppc"
@ -83,6 +85,12 @@ freebsd-x86-32:
freebsd-x86-64:
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.freebsd.x86.64
netbsd-x86-32:
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.netbsd.x86.32
netbsd-x86-64:
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.netbsd.x86.64
macosx-freetype:
ln -sf libfreetype.6.dylib \
Factor.app/Contents/Frameworks/libfreetype.dylib

View File

@ -49,6 +49,7 @@ HELP: os
"linux"
"macosx"
"openbsd"
"netbsd"
"solaris"
"windows"
}

View File

@ -39,11 +39,11 @@ splitting assocs ;
: unix? ( -- ? )
os {
"freebsd" "openbsd" "linux" "macosx" "solaris"
"freebsd" "openbsd" "netbsd" "linux" "macosx" "solaris"
} member? ;
: bsd? ( -- ? )
os { "freebsd" "openbsd" "macosx" } member? ;
os { "freebsd" "openbsd" "netbsd" "macosx" } member? ;
: linux? ( -- ? )
os "linux" = ;

4
vm/Config.netbsd Normal file
View File

@ -0,0 +1,4 @@
include vm/Config.unix
PLAF_DLL_OBJS += vm/os-genunix.o vm/os-netbsd.o
CFLAGS += -export-dynamic
LIBS = -L/usr/local/lib/ -L/usr/pkg/lib -Wl,-rpath,/usr/pkg/lib -lm $(X11_UI_LIBS)

2
vm/Config.netbsd.x86.32 Normal file
View File

@ -0,0 +1,2 @@
include vm/Config.netbsd
include vm/Config.x86.32

2
vm/Config.netbsd.x86.64 Normal file
View File

@ -0,0 +1,2 @@
include vm/Config.netbsd
include vm/Config.x86.64

6
vm/os-netbsd.c Normal file
View File

@ -0,0 +1,6 @@
#include "master.h"
const char *vm_executable_path(void)
{
return NULL;
}

9
vm/os-netbsd.h Normal file
View File

@ -0,0 +1,9 @@
#include <ucontext.h>
#define ucontext_stack_pointer(uap) ((void *)_UC_MACHINE_SP((ucontext_t *)uap))
#define UAP_PROGRAM_COUNTER(uap) _UC_MACHINE_PC((ucontext_t *)uap)
#define UNKNOWN_TYPE_P(file) ((file)->d_type == DT_UNKNOWN)
#define DIRECTORY_P(file) ((file)->d_type == DT_DIR)
extern char **environ;

View File

@ -58,6 +58,9 @@
#else
#error "Unsupported OpenBSD flavor"
#endif
#elif defined(__NetBSD__)
#define FACTOR_OS_STRING "netbsd"
#include "os-netbsd.h"
#elif defined(linux)
#define FACTOR_OS_STRING "linux"
#include "os-linux.h"