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:
# make
# Same as make unittest
@ -11,7 +11,7 @@
LIB=libphobos.a
MAKEFILE=freebsd.mak
MAKEFILE=openbsd.mak
MODEL=32
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 \
path.o string.o math.o mmfile.o \
outbuffer.o ctype.o regexp.o random.o \
freebsd.o freebsdsocket.o freebsdmath.o \
openbsd.o openbsdsocket.o \
linux.o \
posix.o posixsocket.o posixpthread.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_void.o \
date.o dateparse.o llmath.o math2.o Czlib.o Dzlib.o zip.o \
pthread.o
openbsdpthread.o
ALLMAKEFILES= \
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/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 \
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) \
$(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_STD_OPENBSD) \
$(SRC_STD_C_POSIX)
@ -509,19 +513,16 @@ zip.o : std/zip.d
stdarg.o : std/c/stdarg.d
$(DMD) -c $(DFLAGS) std/c/stdarg.d
### std/c/freebsd
### std/c/openbsd
freebsd.o : std/c/freebsd/freebsd.d
$(DMD) -c $(DFLAGS) std/c/freebsd/freebsd.d
openbsd.o : std/c/openbsd/openbsd.d
$(DMD) -c $(DFLAGS) std/c/openbsd/openbsd.d
freebsdsocket.o : std/c/freebsd/socket.d
$(DMD) -c $(DFLAGS) std/c/freebsd/socket.d -offreebsdsocket.o
openbsdsocket.o : std/c/openbsd/socket.d
$(DMD) -c $(DFLAGS) std/c/openbsd/socket.d -ofopenbsdsocket.o
freebsdmath.o : std/c/freebsd/math.d
$(DMD) -c $(DFLAGS) std/c/freebsd/math.d -offreebsdmath.o
pthread.o : std/c/freebsd/pthread.d
$(DMD) -c $(DFLAGS) std/c/freebsd/pthread.d
openbsdpthread.o : std/c/openbsd/pthread.d
$(DMD) -c $(DFLAGS) std/c/openbsd/pthread.d -ofopenbsdpthread.o
### std/c/linux

View file

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

View file

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

View file

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

View file

@ -366,6 +366,75 @@ else version (FreeBSD)
int snprintf(char *,size_t,char *,...);
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)
{
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\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 \
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_OSX)
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_POSIX)
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_OSX) $(DIR)\src\phobos\std\c\osx
$(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_POSIX) $(DIR)\src\phobos\std\c\posix
$(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_OSX) $(PHOBOSSVN)\std\c\osx
$(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_POSIX) $(PHOBOSSVN)\std\c\posix
$(CP) $(SRC_ETC) $(PHOBOSSVN)\etc