openbsd files

This commit is contained in:
Walter Bright 2011-05-20 23:27:22 -07:00
parent 6e8347dbf6
commit b9bef0639f
6 changed files with 102 additions and 14 deletions

View file

@ -1,4 +1,4 @@
# Makefile to build FreeBSD D runtime library libphobos.a. # Makefile to build OpenBSD D runtime library libphobos.a.
# Targets: # Targets:
# make # make
# Same as make unittest # Same as make unittest
@ -11,7 +11,7 @@
LIB=libphobos.a LIB=libphobos.a
MAKEFILE=freebsd.mak MAKEFILE=openbsd.mak
MODEL=32 MODEL=32
CFLAGS=-O -m$(MODEL) CFLAGS=-O -m$(MODEL)
@ -53,7 +53,7 @@ OBJS = asserterror.o deh2.o complex.o gcstats.o \
compiler.o system.o moduleinit.o md5.o base64.o \ compiler.o system.o moduleinit.o md5.o base64.o \
path.o string.o math.o mmfile.o \ path.o string.o math.o mmfile.o \
outbuffer.o ctype.o regexp.o random.o \ outbuffer.o ctype.o regexp.o random.o \
freebsd.o freebsdsocket.o freebsdmath.o \ openbsd.o openbsdsocket.o \
linux.o \ linux.o \
posix.o posixsocket.o posixpthread.o \ posix.o posixsocket.o posixpthread.o \
stream.o cstream.o switcherr.o array.o gc.o \ stream.o cstream.o switcherr.o array.o gc.o \
@ -76,7 +76,7 @@ OBJS = asserterror.o deh2.o complex.o gcstats.o \
ti_Acfloat.o ti_Acdouble.o ti_Acreal.o \ ti_Acfloat.o ti_Acdouble.o ti_Acreal.o \
ti_void.o \ ti_void.o \
date.o dateparse.o llmath.o math2.o Czlib.o Dzlib.o zip.o \ date.o dateparse.o llmath.o math2.o Czlib.o Dzlib.o zip.o \
pthread.o openbsdpthread.o
ALLMAKEFILES= \ ALLMAKEFILES= \
win32.mak linux.mak osx.mak freebsd.mak openbsd.mak solaris.mak win32.mak linux.mak osx.mak freebsd.mak openbsd.mak solaris.mak
@ -168,6 +168,9 @@ SRC_STD_C_FREEBSD= std/c/freebsd/freebsd.d \
std/c/freebsd/socket.d std/c/freebsd/pthread.d \ std/c/freebsd/socket.d std/c/freebsd/pthread.d \
std/c/freebsd/math.d std/c/freebsd/math.d
SRC_STD_C_OPENBSD= std/c/openbsd/openbsd.d \
std/c/openbsd/socket.d std/c/openbsd/pthread.d
SRC_STD_C_SOLARIS= std/c/solaris/solaris.d \ SRC_STD_C_SOLARIS= std/c/solaris/solaris.d \
std/c/solaris/socket.d std/c/solaris/pthread.d std/c/solaris/socket.d std/c/solaris/pthread.d
@ -237,6 +240,7 @@ SRC_GC= internal/gc/gc.d \
ALLSRCS = $(SRC) $(SRC_STD) $(SRC_STD_C) $(SRC_TI) $(SRC_INT) $(SRC_STD_WIN) \ ALLSRCS = $(SRC) $(SRC_STD) $(SRC_STD_C) $(SRC_TI) $(SRC_INT) $(SRC_STD_WIN) \
$(SRC_STD_C_WIN) $(SRC_STD_C_LINUX) $(SRC_ETC) $(SRC_ETC_C) \ $(SRC_STD_C_WIN) $(SRC_STD_C_LINUX) $(SRC_ETC) $(SRC_ETC_C) \
$(SRC_ZLIB) $(SRC_GC) $(SRC_STD_C_FREEBSD) $(SRC_STD_C_SOLARIS) \ $(SRC_ZLIB) $(SRC_GC) $(SRC_STD_C_FREEBSD) $(SRC_STD_C_SOLARIS) \
$(SRC_STD_OPENBSD) \
$(SRC_STD_C_POSIX) $(SRC_STD_C_POSIX)
@ -509,19 +513,16 @@ zip.o : std/zip.d
stdarg.o : std/c/stdarg.d stdarg.o : std/c/stdarg.d
$(DMD) -c $(DFLAGS) std/c/stdarg.d $(DMD) -c $(DFLAGS) std/c/stdarg.d
### std/c/freebsd ### std/c/openbsd
freebsd.o : std/c/freebsd/freebsd.d openbsd.o : std/c/openbsd/openbsd.d
$(DMD) -c $(DFLAGS) std/c/freebsd/freebsd.d $(DMD) -c $(DFLAGS) std/c/openbsd/openbsd.d
freebsdsocket.o : std/c/freebsd/socket.d openbsdsocket.o : std/c/openbsd/socket.d
$(DMD) -c $(DFLAGS) std/c/freebsd/socket.d -offreebsdsocket.o $(DMD) -c $(DFLAGS) std/c/openbsd/socket.d -ofopenbsdsocket.o
freebsdmath.o : std/c/freebsd/math.d openbsdpthread.o : std/c/openbsd/pthread.d
$(DMD) -c $(DFLAGS) std/c/freebsd/math.d -offreebsdmath.o $(DMD) -c $(DFLAGS) std/c/openbsd/pthread.d -ofopenbsdpthread.o
pthread.o : std/c/freebsd/pthread.d
$(DMD) -c $(DFLAGS) std/c/freebsd/pthread.d
### std/c/linux ### std/c/linux

View file

@ -12,6 +12,10 @@ version (FreeBSD)
{ {
public import std.c.freebsd.freebsd; public import std.c.freebsd.freebsd;
} }
else version (OpenBSD)
{
public import std.c.openbsd.openbsd;
}
else version (Solaris) else version (Solaris)
{ {
public import std.c.solaris.solaris; public import std.c.solaris.solaris;

View file

@ -9,6 +9,10 @@ version (FreeBSD)
{ {
public import std.c.freebsd.pthread; public import std.c.freebsd.pthread;
} }
else version (OpenBSD)
{
public import std.c.openbsd.pthread;
}
else version (Solaris) else version (Solaris)
{ {
public import std.c.solaris.pthread; public import std.c.solaris.pthread;

View file

@ -10,6 +10,10 @@ version (FreeBSD)
{ {
public import std.c.freebsd.socket; public import std.c.freebsd.socket;
} }
else version (OpenBSD)
{
public import std.c.openbsd.socket;
}
else version (Solaris) else version (Solaris)
{ {
public import std.c.solaris.socket; public import std.c.solaris.socket;

View file

@ -366,6 +366,75 @@ else version (FreeBSD)
int snprintf(char *,size_t,char *,...); int snprintf(char *,size_t,char *,...);
int vsnprintf(char *,size_t,char *,va_list); int vsnprintf(char *,size_t,char *,va_list);
} }
else version (OpenBSD)
{
const int EOF = -1;
const int BUFSIZ = 1024;
const int FOPEN_MAX = 20;
const int FILENAME_MAX = 1024;
const int TMP_MAX = 308915776;
const int L_tmpnam = 1024;
alias off_t fpos_t;
struct __sbuf
{
unsigned char *_base;
int _size;
}
struct FILE
{
char* _p;
int _r;
int _w;
short _flags;
short _file;
__sbuf _bf;
int _lbfsize;
void *_cookie;
int (*_close)(void *);
int (*_read)(void *, char *, int);
fpos_t (*_seek)(void *, fpos_t, int);
int (*_write)(void *, __const char *, int);
__sbuf _ext;
char *_up;
int _ur;
char _ubuf[3];
char _nbuf[1];
__sbuf _lb;
int _blksize;
fpos_t _offset;
} FILE;
extern FILE __sF[];
const FILE *stdin = &__sF[0]; ///
const FILE *stdout = &__sF[1]; ///
const FILE *stderr = &__sF[2]; ///
enum
{
_IOFBF = 0,
_IOLBF = 1,
_IONBF = 2,
}
enum { SEEK_SET, SEEK_CUR, SEEK_END }
int ferror(FILE *);
int feof(FILE *);
void clearerr(FILE *);
void rewind(FILE *);
int fileno(FILE *);
int snprintf(char *, size_t, char *, ...);
int vsnprintf(char *, size_t, __const char *, __va_list);
int fseeko(FILE *, off_t, int);
off_t ftello(FILE *);
}
else version (Solaris) else version (Solaris)
{ {
const int EOF = -1; const int EOF = -1;

View file

@ -266,6 +266,9 @@ SRC_STD_C_FREEBSD= std\c\freebsd\freebsd.d \
std\c\freebsd\socket.d std\c\freebsd\pthread.d \ std\c\freebsd\socket.d std\c\freebsd\pthread.d \
std\c\freebsd\math.d std\c\freebsd\math.d
SRC_STD_C_OPENBSD= std\c\openbsd\openbsd.d \
std\c\openbsd\socket.d std\c\openbsd\pthread.d
SRC_STD_C_SOLARIS= std/c/solaris/solaris.d \ SRC_STD_C_SOLARIS= std/c/solaris/solaris.d \
std/c/solaris/socket.d std/c/solaris/pthread.d std/c/solaris/socket.d std/c/solaris/pthread.d
@ -941,6 +944,7 @@ zip : $(MAKEFILES) phoboslicense.txt std.ddoc $(SRC) \
zip32 -u phobos $(SRC_STD_C_LINUX) zip32 -u phobos $(SRC_STD_C_LINUX)
zip32 -u phobos $(SRC_STD_C_OSX) zip32 -u phobos $(SRC_STD_C_OSX)
zip32 -u phobos $(SRC_STD_C_FREEBSD) zip32 -u phobos $(SRC_STD_C_FREEBSD)
zip32 -u phobos $(SRC_STD_C_OPENBSD)
zip32 -u phobos $(SRC_STD_C_SOLARIS) zip32 -u phobos $(SRC_STD_C_SOLARIS)
zip32 -u phobos $(SRC_STD_C_POSIX) zip32 -u phobos $(SRC_STD_C_POSIX)
zip32 -u phobos $(SRC_ETC) zip32 -u phobos $(SRC_ETC)
@ -991,6 +995,7 @@ install:
$(CP) $(SRC_STD_C_LINUX) $(DIR)\src\phobos\std\c\linux $(CP) $(SRC_STD_C_LINUX) $(DIR)\src\phobos\std\c\linux
$(CP) $(SRC_STD_C_OSX) $(DIR)\src\phobos\std\c\osx $(CP) $(SRC_STD_C_OSX) $(DIR)\src\phobos\std\c\osx
$(CP) $(SRC_STD_C_FREEBSD) $(DIR)\src\phobos\std\c\freebsd $(CP) $(SRC_STD_C_FREEBSD) $(DIR)\src\phobos\std\c\freebsd
$(CP) $(SRC_STD_C_OPENBSD) $(DIR)\src\phobos\std\c\openbsd
$(CP) $(SRC_STD_C_SOLARIS) $(DIR)\src\phobos\std\c\solaris $(CP) $(SRC_STD_C_SOLARIS) $(DIR)\src\phobos\std\c\solaris
$(CP) $(SRC_STD_C_POSIX) $(DIR)\src\phobos\std\c\posix $(CP) $(SRC_STD_C_POSIX) $(DIR)\src\phobos\std\c\posix
$(CP) $(SRC_ETC) $(DIR)\src\phobos\etc $(CP) $(SRC_ETC) $(DIR)\src\phobos\etc
@ -1014,6 +1019,7 @@ svn2:
$(CP) $(SRC_STD_C_LINUX) $(PHOBOSSVN)\std\c\linux $(CP) $(SRC_STD_C_LINUX) $(PHOBOSSVN)\std\c\linux
$(CP) $(SRC_STD_C_OSX) $(PHOBOSSVN)\std\c\osx $(CP) $(SRC_STD_C_OSX) $(PHOBOSSVN)\std\c\osx
$(CP) $(SRC_STD_C_FREEBSD) $(PHOBOSSVN)\std\c\freebsd $(CP) $(SRC_STD_C_FREEBSD) $(PHOBOSSVN)\std\c\freebsd
$(CP) $(SRC_STD_C_OPENBSD) $(PHOBOSSVN)\std\c\openbsd
$(CP) $(SRC_STD_C_SOLARIS) $(PHOBOSSVN)\std\c\solaris $(CP) $(SRC_STD_C_SOLARIS) $(PHOBOSSVN)\std\c\solaris
$(CP) $(SRC_STD_C_POSIX) $(PHOBOSSVN)\std\c\posix $(CP) $(SRC_STD_C_POSIX) $(PHOBOSSVN)\std\c\posix
$(CP) $(SRC_ETC) $(PHOBOSSVN)\etc $(CP) $(SRC_ETC) $(PHOBOSSVN)\etc