From 7654fe6aba8749fceb3af58c62b1b0331a40f7ae Mon Sep 17 00:00:00 2001 From: pierre Date: Mon, 3 Oct 2011 23:24:05 +0000 Subject: [PATCH] * Try to update i386/openbsd port git-svn-id: trunk@19351 - --- .gitattributes | 5 + rtl/openbsd/Makefile | 336 ++++++++++------------------------ rtl/openbsd/Makefile.fpc | 44 +++-- rtl/openbsd/classes.pp | 3 +- rtl/openbsd/errnostr.inc | 4 +- rtl/openbsd/i386/bsyscall.inc | 14 ++ rtl/openbsd/i386/sighnd.inc | 11 +- rtl/openbsd/osdefs.inc | 29 +++ rtl/openbsd/ptypes.inc | 9 +- rtl/openbsd/signal.inc | 43 ++++- rtl/openbsd/sysnr.inc | 50 +++-- rtl/openbsd/unixsock.inc | 97 ++++++++++ rtl/openbsd/unxconst.inc | 121 ++++++++++++ rtl/openbsd/unxfunc.inc | 57 ++++++ rtl/openbsd/unxsysc.inc | 91 +++++++++ 15 files changed, 625 insertions(+), 289 deletions(-) create mode 100644 rtl/openbsd/i386/bsyscall.inc create mode 100644 rtl/openbsd/osdefs.inc create mode 100644 rtl/openbsd/unxconst.inc create mode 100644 rtl/openbsd/unxfunc.inc create mode 100644 rtl/openbsd/unxsysc.inc diff --git a/.gitattributes b/.gitattributes index 646d3e7f21..530a8b1732 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7832,9 +7832,11 @@ rtl/openbsd/Makefile.fpc svneol=native#text/plain rtl/openbsd/classes.pp svneol=native#text/plain rtl/openbsd/errno.inc svneol=native#text/plain rtl/openbsd/errnostr.inc svneol=native#text/plain +rtl/openbsd/i386/bsyscall.inc svneol=native#text/plain rtl/openbsd/i386/cprt0.as svneol=native#text/plain rtl/openbsd/i386/prt0.as svneol=native#text/plain rtl/openbsd/i386/sighnd.inc svneol=native#text/plain +rtl/openbsd/osdefs.inc svneol=native#text/plain rtl/openbsd/pmutext.inc svneol=native#text/plain rtl/openbsd/ptypes.inc svneol=native#text/plain rtl/openbsd/signal.inc svneol=native#text/plain @@ -7849,7 +7851,10 @@ rtl/openbsd/termios.inc svneol=native#text/plain rtl/openbsd/termiosproc.inc svneol=native#text/plain rtl/openbsd/unixsock.inc svneol=native#text/plain rtl/openbsd/unixsysc.inc svneol=native#text/plain +rtl/openbsd/unxconst.inc svneol=native#text/plain +rtl/openbsd/unxfunc.inc svneol=native#text/plain rtl/openbsd/unxsockh.inc svneol=native#text/plain +rtl/openbsd/unxsysc.inc svneol=native#text/plain rtl/os2/Makefile svneol=native#text/plain rtl/os2/Makefile.fpc svneol=native#text/plain rtl/os2/classes.pp svneol=native#text/plain diff --git a/rtl/openbsd/Makefile b/rtl/openbsd/Makefile index 3f572d2b6b..4279da0823 100644 --- a/rtl/openbsd/Makefile +++ b/rtl/openbsd/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 2.0.0 [2011/08/03] +# Don't edit, this file is generated by FPCMake Version 2.0.0 [2011/10/01] # default: all MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mipsel-linux @@ -185,11 +185,21 @@ else ARCH=$(CPU_TARGET) endif endif +ifeq ($(FULL_TARGET),arm-embedded) +ifeq ($(SUBARCH),) +$(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t or SUBARCH=armv7m) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) TARGETSUFFIX=$(OS_TARGET) SOURCESUFFIX=$(OS_SOURCE) else +ifneq ($(findstring $(OS_TARGET),$(LIMIT83fs)),) +TARGETSUFFIX=$(OS_TARGET) +else TARGETSUFFIX=$(FULL_TARGET) +endif SOURCESUFFIX=$(FULL_SOURCE) endif ifneq ($(FULL_TARGET),$(FULL_SOURCE)) @@ -298,7 +308,7 @@ BSDINC=$(RTL)/bsd BSDPROCINC=$(BSDINC)/$(CPU_TARGET) UNIXINC=$(RTL)/unix UNITPREFIX=rtl -TARGETPROCINC=$(RTL)/netbsd/$(CPU_TARGET) +TARGETPROCINC=$(RTL)/openbsd/$(CPU_TARGET) ifeq ($(findstring 1.0.,$(FPC_VERSION)),) SYSTEMUNIT=system LINUXUNIT= @@ -318,193 +328,193 @@ ifndef USELIBGGI USELIBGGI=NO endif ifeq ($(FULL_TARGET),i386-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-go32v2) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-win32) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-os2) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-freebsd) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-beos) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-haiku) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-netbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres mmx cpu +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres mmx cpu endif ifeq ($(FULL_TARGET),i386-solaris) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-qnx) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-netware) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-openbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-wdosx) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-darwin) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-emx) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-watcom) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-netwlibc) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-wince) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-symbian) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-nativent) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-iphonesim) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),m68k-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),m68k-freebsd) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),m68k-netbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),m68k-amiga) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),m68k-atari) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),m68k-openbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),m68k-palmos) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),m68k-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc-netbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc-amiga) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc-macos) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc-darwin) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc-morphos) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc-wii) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),sparc-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),sparc-netbsd) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),sparc-solaris) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),sparc-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),x86_64-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),x86_64-freebsd) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),x86_64-solaris) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),x86_64-darwin) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),x86_64-win64) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),x86_64-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),arm-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),arm-palmos) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),arm-darwin) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),arm-wince) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),arm-gba) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),arm-nds) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),arm-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),arm-symbian) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc64-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc64-darwin) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),powerpc64-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),avr-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),armeb-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),armeb-embedded) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),mipsel-linux) -override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix initc systhrds dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets gpm ipc terminfo video mouse keyboard serial variants types systhrds sysctl sysconst fpintres +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix $(LINUXUNIT) unix unixtype ctypes initc dos crt objects printer matrix sysutils fgl classes fmtbcd typinfo math varutils charset ucomplex getopts heaptrc lineinfo lnfodwrf errors sockets ipc terminfo video mouse keyboard serial variants types sysctl sysconst fpintres endif ifeq ($(FULL_TARGET),i386-linux) override TARGET_IMPLICITUNITS+=exeinfo @@ -1662,7 +1672,6 @@ SHAREDLIBPREFIX=libfp STATICLIBPREFIX=libp IMPORTLIBPREFIX=libimp RSTEXT=.rst -ifeq ($(findstring 1.0.,$(FPC_VERSION)),) ifeq ($(OS_TARGET),go32v1) STATICLIBPREFIX= SHORTSUFFIX=v1 @@ -1803,161 +1812,6 @@ EXEEXT=.dol SHAREDLIBEXT=.so SHORTSUFFIX=wii endif -else -ifeq ($(OS_TARGET),go32v1) -PPUEXT=.pp1 -OEXT=.o1 -ASMEXT=.s1 -SMARTEXT=.sl1 -STATICLIBEXT=.a1 -SHAREDLIBEXT=.so1 -STATICLIBPREFIX= -SHORTSUFFIX=v1 -IMPORTLIBPREFIX= -endif -ifeq ($(OS_TARGET),go32v2) -STATICLIBPREFIX= -SHORTSUFFIX=dos -IMPORTLIBPREFIX= -endif -ifeq ($(OS_TARGET),watcom) -STATICLIBPREFIX= -SHORTSUFFIX=wat -IMPORTLIBPREFIX= -endif -ifeq ($(OS_TARGET),linux) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=lnx -endif -ifeq ($(OS_TARGET),freebsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=fbs -endif -ifeq ($(OS_TARGET),netbsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=nbs -endif -ifeq ($(OS_TARGET),openbsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=obs -endif -ifeq ($(OS_TARGET),win32) -PPUEXT=.ppw -OEXT=.ow -ASMEXT=.sw -SMARTEXT=.slw -STATICLIBEXT=.aw -SHAREDLIBEXT=.dll -SHORTSUFFIX=w32 -endif -ifeq ($(OS_TARGET),os2) -BATCHEXT=.cmd -PPUEXT=.ppo -ASMEXT=.so2 -OEXT=.oo2 -AOUTEXT=.out -SMARTEXT=.sl2 -STATICLIBPREFIX= -STATICLIBEXT=.ao2 -SHAREDLIBEXT=.dll -SHORTSUFFIX=os2 -ECHO=echo -IMPORTLIBPREFIX= -endif -ifeq ($(OS_TARGET),amiga) -EXEEXT= -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.library -SHORTSUFFIX=amg -endif -ifeq ($(OS_TARGET),atari) -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT=.ttp -SHORTSUFFIX=ata -endif -ifeq ($(OS_TARGET),beos) -BATCHEXT=.sh -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -SHORTSUFFIX=be -endif -ifeq ($(OS_TARGET),solaris) -BATCHEXT=.sh -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -SHORTSUFFIX=sun -endif -ifeq ($(OS_TARGET),qnx) -BATCHEXT=.sh -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -SHORTSUFFIX=qnx -endif -ifeq ($(OS_TARGET),netware) -STATICLIBPREFIX= -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.nlm -EXEEXT=.nlm -SHORTSUFFIX=nw -IMPORTLIBPREFIX=imp -endif -ifeq ($(OS_TARGET),netwlibc) -STATICLIBPREFIX= -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.nlm -EXEEXT=.nlm -SHORTSUFFIX=nwl -IMPORTLIBPREFIX=imp -endif -ifeq ($(OS_TARGET),macos) -BATCHEXT= -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -DEBUGSYMEXT=.xcoff -SHORTSUFFIX=mac -IMPORTLIBPREFIX=imp -endif -endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) FPCMADE=fpcmade.$(SHORTSUFFIX) ZIPSUFFIX=$(SHORTSUFFIX) @@ -2147,15 +2001,6 @@ ASNAME=$(BINUTILSPREFIX)as LDNAME=$(BINUTILSPREFIX)ld ARNAME=$(BINUTILSPREFIX)ar RCNAME=$(BINUTILSPREFIX)rc -ifneq ($(findstring 1.0.,$(FPC_VERSION)),) -ifeq ($(OS_TARGET),win32) -ifeq ($(CROSSBINDIR),) -ASNAME=asw -LDNAME=ldw -ARNAME=arw -endif -endif -endif ifndef ASPROG ifdef CROSSBINDIR ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT) @@ -2238,10 +2083,12 @@ override FPCOPT+=-P$(ARCH) endif ifeq ($(OS_SOURCE),openbsd) override FPCOPT+=-FD$(NEW_BINUTILS_PATH) +override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH) endif ifndef CROSSBOOTSTRAP ifneq ($(BINUTILSPREFIX),) override FPCOPT+=-XP$(BINUTILSPREFIX) +override FPCMAKEOPT+=-XP$(BINUTILSPREFIX) endif ifneq ($(BINUTILSPREFIX),) override FPCOPT+=-Xr$(RLINKPATH) @@ -2338,7 +2185,7 @@ override FPCOPT+=-Aas endif endif ifeq ($(findstring 2.0.,$(FPC_VERSION)),) -ifneq ($(findstring $(OS_TARGET),linux solaris),) +ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),) ifeq ($(CPU_TARGET),x86_64) override FPCOPT+=-Cg endif @@ -2785,14 +2632,16 @@ objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\ $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\ $(SYSTEMUNIT)$(PPUEXT) -baseunix$(PPUEXT) : errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \ - signal.inc $(UNIXINC)/bunxh.inc $(BSDINC)/bunxmain.inc $(BSDINC)/ostypes.inc \ - $(BSDINC)/bunxfunc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \ - $(BSDINC)/ostypes.inc $(BSDINC)/ossysch.inc $(BSDINC)/bunxmacr.inc $(UNIXINC)/gensigset.inc \ - $(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT) +unixtype$(PPUEXT): $(UNIXINC)/unixtype.pp $(UNIXINC)/ctypes.inc ptypes.inc $(SYSTEMUNIT)$(PPUEXT) +baseunix$(PPUEXT) : errno.inc ptypes.inc $(UNIXINC)/ctypes.inc \ + signal.inc $(UNIXINC)/bunxh.inc \ + $(BSDINC)/bunxsysc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \ + $(BSDINC)/ostypes.inc $(BSDINC)/osmacro.inc $(UNIXINC)/gensigset.inc \ + $(UNIXINC)/genfuncs.inc sysctl$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) unix$(PPUEXT) : $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \ - syscalls.inc systypes.inc sysconst.inc $(UNIXINC)/timezone.inc \ - unixsysc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) + unxconst.inc $(UNIXINC)/timezone.inc \ + unxfunc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) +linux$(PPUEXT) : baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) dos$(PPUEXT) : $(UNIXINC)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \ unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) crt$(PPUEXT) : $(UNIXINC)/crt.pp $(INC)/textrec.inc unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) @@ -2815,10 +2664,13 @@ gettext$(PPUEXT): $(OBJPASDIR)/gettext.pp objpas$(PPUEXT) sysutils$(PPUEXT) varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ $(OBJPASDIR)/varutilh.inc varutils.pp $(COMPILER) -I$(OBJPASDIR) $(UNIXINC)/varutils.pp +variants$(PPUEXT) : $(INC)/variants.pp sysutils$(PPUEXT) sysconst$(PPUEXT) varutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) math$(PPUEXT) + $(COMPILER) -Fi$(INC) $(INC)/variants.pp fmtbcd$(PPUEXT) : $(OBJPASDIR)/fmtbcd.pp objpas$(PPUEXT) sysutils$(PPUEXT) variants$(PPUEXT) classes$(PPUEXT) system$(PPUEXT) $(COMPILER) $(OBJPASDIR)/fmtbcd.pp types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp +ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT) macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) math$(PPUEXT) $(COMPILER) $(INC)/macpas.pp $(REDIR) cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) @@ -2836,10 +2688,12 @@ errors$(PPUEXT) : $(UNIXINC)/errors.pp strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) ipc$(PPUEXT) : $(UNIXINC)/ipc.pp unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) terminfo$(PPUEXT) : terminfo.pp unix$(PPUEXT) callspec$(PPUEXT) : $(INC)/callspec.pp $(SYSTEMUNIT)$(PPUEXT) -sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) +sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) syscall$(PPUEXT) unixtype$(PPUEXT) syscall$(PPUEXT) : $(UNIXINC)/syscall.pp sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/sysconst.pp -cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp systhrds$(PPUEXT) +cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp - $(COMPILER): $(OBJPASDIR)/rtlconst.pp + $(COMPILER) $(OBJPASDIR)/rtlconst.pp +mouse$(PPUEXT) : $(UNIXINC)/mouse.pp + $(COMPILER) -dNOMOUSE $(UNIXINC)/mouse.pp diff --git a/rtl/openbsd/Makefile.fpc b/rtl/openbsd/Makefile.fpc index 1ad8c443be..02d9dafecc 100644 --- a/rtl/openbsd/Makefile.fpc +++ b/rtl/openbsd/Makefile.fpc @@ -11,13 +11,14 @@ fpcpackage=y [target] loaders=prt0 cprt0 units=$(SYSTEMUNIT) objpas macpas iso7185 strings syscall baseunix \ - $(LINUXUNIT) unix initc systhrds \ + $(LINUXUNIT) unix unixtype ctypes initc \ dos crt objects printer matrix \ sysutils fgl classes fmtbcd typinfo math varutils \ - charset ucomplex getopts heaptrc lineinfo lnfodwrf \ - errors sockets gpm ipc terminfo \ - video mouse keyboard serial variants types systhrds sysctl sysconst \ + charset ucomplex getopts heaptrc lineinfo lnfodwrf \ + errors sockets ipc terminfo \ + video mouse keyboard serial variants types sysctl sysconst \ fpintres + units_netbsd_i386=mmx cpu rsts=math varutils typinfo variants classes sysconst implicitunits=exeinfo @@ -55,7 +56,7 @@ BSDINC=$(RTL)/bsd BSDPROCINC=$(BSDINC)/$(CPU_TARGET) UNIXINC=$(RTL)/unix UNITPREFIX=rtl -TARGETPROCINC=$(RTL)/netbsd/$(CPU_TARGET) +TARGETPROCINC=$(RTL)/openbsd/$(CPU_TARGET) ifeq ($(findstring 1.0.,$(FPC_VERSION)),) SYSTEMUNIT=system @@ -135,17 +136,20 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\ # System Dependent Units # -baseunix$(PPUEXT) : errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \ - signal.inc $(UNIXINC)/bunxh.inc $(BSDINC)/bunxmain.inc $(BSDINC)/ostypes.inc \ - $(BSDINC)/bunxfunc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \ - $(BSDINC)/ostypes.inc $(BSDINC)/ossysch.inc $(BSDINC)/bunxmacr.inc $(UNIXINC)/gensigset.inc \ - $(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT) +unixtype$(PPUEXT): $(UNIXINC)/unixtype.pp $(UNIXINC)/ctypes.inc ptypes.inc $(SYSTEMUNIT)$(PPUEXT) + +baseunix$(PPUEXT) : errno.inc ptypes.inc $(UNIXINC)/ctypes.inc \ + signal.inc $(UNIXINC)/bunxh.inc \ + $(BSDINC)/bunxsysc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \ + $(BSDINC)/ostypes.inc $(BSDINC)/osmacro.inc $(UNIXINC)/gensigset.inc \ + $(UNIXINC)/genfuncs.inc sysctl$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) unix$(PPUEXT) : $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \ - syscalls.inc systypes.inc sysconst.inc $(UNIXINC)/timezone.inc \ - unixsysc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) + unxconst.inc $(UNIXINC)/timezone.inc \ + unxfunc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) +linux$(PPUEXT) : baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) # # TP7 Compatible RTL Units @@ -192,12 +196,18 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ $(OBJPASDIR)/varutilh.inc varutils.pp $(COMPILER) -I$(OBJPASDIR) $(UNIXINC)/varutils.pp +variants$(PPUEXT) : $(INC)/variants.pp sysutils$(PPUEXT) sysconst$(PPUEXT) varutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) math$(PPUEXT) + $(COMPILER) -Fi$(INC) $(INC)/variants.pp + fmtbcd$(PPUEXT) : $(OBJPASDIR)/fmtbcd.pp objpas$(PPUEXT) sysutils$(PPUEXT) variants$(PPUEXT) classes$(PPUEXT) system$(PPUEXT) $(COMPILER) $(OBJPASDIR)/fmtbcd.pp - + types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp +ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT) + + # # Mac Pascal Model # @@ -241,15 +251,17 @@ terminfo$(PPUEXT) : terminfo.pp unix$(PPUEXT) callspec$(PPUEXT) : $(INC)/callspec.pp $(SYSTEMUNIT)$(PPUEXT) -sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) +sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) syscall$(PPUEXT) unixtype$(PPUEXT) syscall$(PPUEXT) : $(UNIXINC)/syscall.pp sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/sysconst.pp -cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp systhrds$(PPUEXT) +cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp - $(COMPILER): $(OBJPASDIR)/rtlconst.pp + $(COMPILER) $(OBJPASDIR)/rtlconst.pp +mouse$(PPUEXT) : $(UNIXINC)/mouse.pp + $(COMPILER) -dNOMOUSE $(UNIXINC)/mouse.pp \ No newline at end of file diff --git a/rtl/openbsd/classes.pp b/rtl/openbsd/classes.pp index e199b607d8..2918878c09 100644 --- a/rtl/openbsd/classes.pp +++ b/rtl/openbsd/classes.pp @@ -36,8 +36,7 @@ uses implementation uses - baseunix,unix,Systhrds - ; + baseunix,unix; { OS - independent class implementations are in /inc directory. } {$i classes.inc} diff --git a/rtl/openbsd/errnostr.inc b/rtl/openbsd/errnostr.inc index 94cb062d1d..c7818f6ae3 100644 --- a/rtl/openbsd/errnostr.inc +++ b/rtl/openbsd/errnostr.inc @@ -114,6 +114,6 @@ const 'Operation canceled', { ECANCELED } 'Identifier removed', { EIDRM } 'No message of desired type', { ENOMSG } - 'Not supported', { ENOTSUP } -// 'Must be equal to largest errno' { ELAST } + 'Not supported' { ENOTSUP } +// 'Must be equal to largest errno' { ELAST } ); diff --git a/rtl/openbsd/i386/bsyscall.inc b/rtl/openbsd/i386/bsyscall.inc new file mode 100644 index 0000000000..624654ec57 --- /dev/null +++ b/rtl/openbsd/i386/bsyscall.inc @@ -0,0 +1,14 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2005 by Michael Van Canneyt, + member of the Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + diff --git a/rtl/openbsd/i386/sighnd.inc b/rtl/openbsd/i386/sighnd.inc index a83655ec28..c4519a04b2 100644 --- a/rtl/openbsd/i386/sighnd.inc +++ b/rtl/openbsd/i386/sighnd.inc @@ -15,11 +15,12 @@ CONST FPU_ALL=$7F; -function getfpustate(const Sigcontext:sigcontextRec):longint; {inline;} +function getfpustate(sininfo:psiginfo):longint; {inline;} begin - getfpustate:=0; + getfpustate:=sininfo^.si_code; end; -procedure SignalToRunerror(Sig: longint;code:longint; var SigContext: SigContextRec); public name '_FPC_DEFAULTSIGHANDLER'; cdecl; + +procedure SignalToRunerror(Sig: longint;sininfo:psiginfo; SigContext: PSigContextRec); public name '_FPC_DEFAULTSIGHANDLER'; cdecl; var res,fpustate : word; @@ -39,7 +40,7 @@ begin { this is not allways necessary but I don't know yet how to tell if it is or not PM } res:=200; - fpustate:=GetFPUState(SigContext); + fpustate:=GetFPUState(sininfo); if (FpuState and FPU_All) <> 0 then begin @@ -75,7 +76,7 @@ begin if res<>0 then begin {$ifdef cpui386} - HandleErrorAddrFrame(res,pointer(SigContext.sc_eip),pointer(SigContext.sc_ebp)); + HandleErrorAddrFrame(res,pointer(SigContext^.sc_eip),pointer(SigContext^.sc_ebp)); {$endif} end; end; diff --git a/rtl/openbsd/osdefs.inc b/rtl/openbsd/osdefs.inc new file mode 100644 index 0000000000..b1702effce --- /dev/null +++ b/rtl/openbsd/osdefs.inc @@ -0,0 +1,29 @@ +{ + Copyright (c) 2000-2002 by Marco van de Voort + + Target dependent defines used when compiling the baseunix unit + Copied over to opensd directory because of + missing SigTimedWait syscall + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + ****************************************************************************} + +{$define usedomain} // Allow uname with "domain" entry. + // (which is a GNU extension) +{$define hassysctl} // Use sysctl unit + +{ SigTimedWait syscal does not seem to exist for OpenBSD OS } +{$define FPC_SYS_SIGTIMEDWAIT_UNAVAILABLE} diff --git a/rtl/openbsd/ptypes.inc b/rtl/openbsd/ptypes.inc index d296212f2e..ff6d9ada1f 100644 --- a/rtl/openbsd/ptypes.inc +++ b/rtl/openbsd/ptypes.inc @@ -56,6 +56,7 @@ type size_t = cuint32; { as definied in the C standard} TSize = size_t; pSize = ^size_t; + pSize_t = ^size_t; ssize_t = cint32; { used by function for returning number of bytes } TsSize = ssize_t; @@ -154,7 +155,7 @@ type ufs_args_rec = record end; mfs_args_rec = record end; nfs_args_rec = record end; - iso_args_rec = record end; + isofs_args_rec = record end; procfs_args_rec = record end; msdosfs_args_rec = record end; ntfs_args_rec = record end; @@ -163,12 +164,12 @@ type case byte of 0: (ufs_args: ^ufs_args_rec); 1: (mfs_args: ^mfs_args_rec); - 2: (ntfs_args: ^nfsfs_args_rec); + 2: (nfs_args: ^nfs_args_rec); 3: (isofs_args: ^isofs_args_rec); 4: (procfs_args: ^procfs_args_rec); 5: (msdosfs_args: ^msdosfs_args_rec); 6: (ntfs_args: ^ntfs_args_rec); - 7: (__align: array[0..159] of char { 64-bit alignment and room to grow } + 7: (__align: array[0..159] of char); { 64-bit alignment and room to grow } end; // kernel statfs from mount.h @@ -226,7 +227,7 @@ const SYS_NMLN = 256; {BSD utsname struct limit} SIG_MAXSIG = 33; // highest signal version - wordsinsigset = 4; // words in sigset_t + // set in ostypes.inc wordsinsigset = 4; // words in sigset_t { For getting/setting priority } Prio_Process = 0; diff --git a/rtl/openbsd/signal.inc b/rtl/openbsd/signal.inc index 7722b31a3e..ddc6640fb1 100644 --- a/rtl/openbsd/signal.inc +++ b/rtl/openbsd/signal.inc @@ -79,6 +79,7 @@ const type sigset_t = array[0..3] of cardinal; PSigContextRec = ^SigContextRec; + psigcontext = ^sigcontextrec; SigContextRec = record sc_mask : sigset_t; { signal mask to restore } sc_onstack : longint; { sigstack state to restore } @@ -120,10 +121,46 @@ type sigset_t = array[0..3] of cardinal; fpr_pad : array[0..63] of char; end; + + Sigval = Record + Case Boolean OF + { Members as suggested by Annex C of POSIX 1003.1b. } + false : (sigval_int : Longint); + True : (sigval_ptr : Pointer); + End; + + + PSigInfo = ^SigInfo_t; + PSigInfo_t = ^SigInfo_t; + SigInfo_t = record + si_signo, { signal number } + si_errno, { errno association } + { + * Cause of signal, one of the SI_ macros or signal-specific + * values, i.e. one of the FPE_... values for SIGFPE. This + * value is equivalent to the second argument to an old-style + * FreeBSD signal handler. + } + si_code, { signal code } + si_pid : Longint; { sending process } + si_uid : Cardinal; { sender's ruid } + si_status : Longint; { exit value } + si_addr : Pointer; { faulting instruction } + si_value : SigVal; { signal value } + si_band : Cardinal; { band event for SIGPOLL } + __spare : array[0..6] of Longint; { gimme some slack } + end; + TSigInfo = SigInfo_t; + TSigInfo_t = TSigInfo; + + SignalHandler = Procedure(Sig : Longint);cdecl; PSignalHandler = ^SignalHandler; SignalRestorer = Procedure;cdecl; PSignalRestorer = ^SignalRestorer; + sigActionHandler = procedure(Sig: Longint; sininfo:psiginfo; SigContext: PSigContext);cdecl; + + {$ifdef powerpc} TSigaction= procedure(Sig: Longint); cdecl; @@ -140,9 +177,11 @@ type sigset_t = array[0..3] of cardinal; TSigset=sigset_t; PSigSet = ^SigSet; + PSigActionRec = ^SigActionRec; SigActionRec = packed record // Handler : record - sa_handler : TSigAction; + sa_handler : sigActionHandler; +// sa_handler : TSigAction; // case byte of // 0: (Sh: SignalHandler); // 1: (Sa: TSigAction); @@ -151,8 +190,6 @@ type sigset_t = array[0..3] of cardinal; Sa_Mask : SigSet; end; - PSigActionRec = ^SigActionRec; - { Change action of process upon receipt of a signal. Signum specifies the signal (all except SigKill and SigStop). diff --git a/rtl/openbsd/sysnr.inc b/rtl/openbsd/sysnr.inc index c7c2d89e51..f7e5f96557 100644 --- a/rtl/openbsd/sysnr.inc +++ b/rtl/openbsd/sysnr.inc @@ -15,12 +15,16 @@ { * System call numbers. * - * created from; OpenBSD: syscalls.master,v 1.104 2010/10/28 15:02:41 millert Exp + * created from; OpenBSD: syscalls.master,v 1.104 2010/10/28 15:02:41 millert Exp * (OpenBSD/i386 4.9 release) } + +{ Append 35 suffix to system call numbers + for compatibility to 3.5 versions } + Const syscall_nr_syscall = 0 ; - syscall_nr_exit = 1 ; + syscall_nr_exit35 = 1 ; syscall_nr_fork = 2 ; syscall_nr_read = 3 ; syscall_nr_write = 4 ; @@ -128,6 +132,16 @@ Const syscall_nr_nfssvc = 155; syscall_nr_getfh = 161; syscall_nr_sysarch = 165; + { if defined(SYSVSEM) && !defined(__LP64__) + "compat_10_osemsys", } + syscall_nr_semsys = 169; + { if defined(SYSVMSG) && !defined(__LP64__) + "compat_10_omsgsys", } + syscall_nr_msgsys = 170; + { if defined(SYSVSHM) && !defined(__LP64__) + "compat_10_oshmsys", } + syscall_nr_shmsys = 170; + syscall_nr_pread = 173; syscall_nr_pwrite = 174; syscall_nr_setgid = 181; @@ -137,15 +151,15 @@ Const syscall_nr_lfs_markv = 185; syscall_nr_lfs_segclean = 186; syscall_nr_lfs_segwait = 187; - syscall_nr_stat = 188; - syscall_nr_fstat = 189; - syscall_nr_lstat = 190; + syscall_nr_stat35 = 188; + syscall_nr_fstat35 = 189; + syscall_nr_lstat35 = 190; syscall_nr_pathconf = 191; syscall_nr_fpathconf = 192; syscall_nr_swapctl = 193; syscall_nr_getrlimit = 194; syscall_nr_setrlimit = 195; - syscall_nr_getdirentries= 196; + syscall_nr_getdirentries35 = 196; syscall_nr_mmap = 197; syscall_nr___syscall = 198; syscall_nr_lseek = 199; @@ -159,13 +173,13 @@ Const syscall_nr_getpgid = 207; syscall_nr_xfspioctl = 208; syscall_nr_semget = 221; - syscall_nr_semop = 222; + syscall_nr_semop35 = 222; syscall_nr_msgget = 225; syscall_nr_msgsnd = 226; syscall_nr_msgrcv = 227; syscall_nr_shmat = 228; syscall_nr_shmdt = 230; - syscall_nr_shmget = 231; + syscall_nr_shmget35 = 231; syscall_nr_clock_gettime= 232; syscall_nr_clock_settime= 233; syscall_nr_clock_getres = 234; @@ -177,16 +191,16 @@ Const syscall_nr_lchown = 254; syscall_nr_getsid = 255; syscall_nr_msync = 256; - syscall_nr___semctl = 257; - syscall_nr_shmctl = 258; - syscall_nr_msgctl = 259; - syscall_nr_getfsstat = 260; - syscall_nr_statfs = 261; - syscall_nr_fstatfs = 262; + syscall_nr___semctl35 = 257; + syscall_nr_shmctl35 = 258; + syscall_nr_msgctl35 = 259; + syscall_nr_getfsstat35 = 260; + syscall_nr_statfs35 = 261; + syscall_nr_fstatfs35 = 262; syscall_nr_pipe = 263; syscall_nr_fhopen = 264; - syscall_nr_fhstat = 265; - syscall_nr_fhstatfs = 266; + syscall_nr_fhstat35 = 265; + syscall_nr_fhstatfs35 = 266; syscall_nr_preadv = 267; syscall_nr_pwritev = 268; syscall_nr_kqueue = 269; @@ -233,3 +247,7 @@ Const syscall_nr_getrtable = 311; syscall_nr_getdirentries = 312; syscall_nr_MAXSYSCALL = 313; + +{ Aliases } + syscall_nr_getdents = syscall_nr_getdirentries; + diff --git a/rtl/openbsd/unixsock.inc b/rtl/openbsd/unixsock.inc index aead21ae2b..c45546b4df 100644 --- a/rtl/openbsd/unixsock.inc +++ b/rtl/openbsd/unixsock.inc @@ -18,6 +18,102 @@ Basic Socket Functions ******************************************************************************} +function fpsocket (domain:cint; xtype:cint; protocol: cint):cint; +Begin + fpSocket:=Do_Syscall(syscall_nr_socket,Domain,xtype,Protocol); + internal_socketerror:=fpgeterrno; +End; + +function fpsend (s:cint; msg:pointer; len:size_t; flags:cint):ssize_t; +begin + fpSend:=do_syscall(syscall_nr_sendto,S,TSysParam(msg),Len,Flags,0,0); + internal_socketerror:=fpgeterrno; +end; + +function fpsendto (s:cint; msg:pointer; len:size_t; flags:cint; tox :psockaddr; tolen: tsocklen):ssize_t; +begin + fpSendto:=do_syscall(syscall_nr_sendto,S,TSysParam(msg),Len,Flags,TSysParam(tox),tolen); + internal_socketerror:=fpgeterrno; +end; + +function fprecv (s:cint; buf: pointer; len: size_t; flags:cint):ssize_t; +begin + fpRecv:=do_syscall(syscall_nr_Recvfrom,S,tsysparam(buf),len,flags,0,0); + internal_socketerror:=fpgeterrno; +end; + +function fprecvfrom (s:cint; buf: pointer; len: size_t; flags: cint; from : psockaddr; fromlen : psocklen):ssize_t; +begin + fpRecvFrom:=do_syscall(syscall_nr_Recvfrom,S,TSysParam(buf),len,flags,TSysParam(from),TSysParam(fromlen)); + internal_socketerror:=fpgeterrno; +end; + +function fpbind (s:cint; addrx : psockaddr; addrlen : tsocklen):cint; +begin + fpBind:=do_syscall(syscall_nr_Bind,S,TSysParam(addrx),addrlen); + internal_socketerror:=fpgeterrno; +end; + +function fplisten (s:cint; backlog : cint):cint; +begin + fpListen:=do_syscall(syscall_nr_Listen,S,backlog); + internal_socketerror:=fpgeterrno; +end; + +function fpaccept (s:cint; addrx : psockaddr; addrlen : psocklen):cint; +begin + fpAccept:=do_syscall(syscall_nr_accept,S,TSysParam(addrx),TSysParam(addrlen)); + internal_socketerror:=fpgeterrno; +end; + +function fpconnect (s:cint; name : psockaddr; namelen : tsocklen):cint; +begin + fpConnect:=do_syscall(syscall_nr_connect,S,TSysParam(name),namelen); + internal_socketerror:=fpgeterrno; +end; + +function fpshutdown (s:cint; how:cint):cint; +begin + fpShutDown:=do_syscall(syscall_nr_shutdown,S,how); + internal_socketerror:=fpgeterrno; +end; + +function fpgetsockname (s:cint; name : psockaddr; namelen : psocklen):cint; +begin + fpGetSockName:=do_syscall(syscall_nr_GetSockName,S,TSysParam(name),TSysParam(namelen)); + internal_socketerror:=fpgeterrno; +end; + +function fpgetpeername (s:cint; name : psockaddr; namelen : psocklen):cint; +begin + fpGetPeerName:=do_syscall(syscall_nr_GetPeerName,S,TSysParam(name),TSysParam(namelen)); + internal_socketerror:=fpgeterrno; +end; + +function fpsetsockopt (s:cint; level:cint; optname:cint; optval:pointer; optlen : tsocklen):cint; +begin + fpSetSockOpt:=do_syscall(syscall_nr_SetSockOpt,S,level,optname,TSysParam(optval),optlen); + internal_socketerror:=fpgeterrno; +end; + +function fpgetsockopt (s:cint; level:cint; optname:cint; optval:pointer; optlen : psocklen):cint; +begin + fpGetSockOpt:=do_syscall(syscall_nr_GetSockOpt,S,level,TSysParam(optname),TSysParam(optval),TSysParam(optlen)); + internal_socketerror:=fpgeterrno; +end; + +function fpsocketpair (d:cint; xtype:cint; protocol:cint; sv:pcint):cint; + +begin + fpSocketPair:=do_syscall(syscall_nr_SocketPair,d,xtype,protocol,TSysParam(sv)); + internal_socketerror:=fpgeterrno; +end; + +(* +{****************************************************************************** + Basic Socket Functions +******************************************************************************} + Function socket(Domain,SocketType,Protocol:Longint):Longint; begin Socket:=Do_Syscall(syscall_nr_socket,Domain,SocketType,Protocol); @@ -209,3 +305,4 @@ begin Sock2File(Sock,SockIn,SockOut); end; + *) \ No newline at end of file diff --git a/rtl/openbsd/unxconst.inc b/rtl/openbsd/unxconst.inc new file mode 100644 index 0000000000..2c9f453b92 --- /dev/null +++ b/rtl/openbsd/unxconst.inc @@ -0,0 +1,121 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 1999-2000 by Michael Van Canneyt, + member of the Free Pascal development team. + + Constants for Unix unit. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + + + { + Copied from freebsd directory 2011-09-09 + } + +const + + { Things for LSEEK call, OK:OpenBSD sys/unistd.h 4.9 } + Seek_set = 0; + Seek_Cur = 1; + Seek_End = 2; + + { Things for OPEN call - after include/sys/fcntl.h, + OK:OpenBSD sys/fcntl.h 4.9 + BSD specifies these constants in hex } + Open_Accmode = 3; + Open_RdOnly = 0; + Open_WrOnly = 1; + Open_RdWr = 2; + Open_NonBlock = 4; + Open_Append = 8; + Open_ShLock = $10; + Open_ExLock = $20; + Open_ASync = $40; + Open_FSync = $80; + Open_NoFollow = $100; + Open_Create = $200; {BSD convention} + Open_Creat = $200; {Linux convention} + Open_Trunc = $400; + Open_Excl = $800; + Open_NoCTTY = $8000; + + { The waitpid uses the following options: + OK:OpenBSD sys/wait.h 4.9 } + Wait_NoHang = 1; + Wait_UnTraced = 2; + Wait_Any = -1; + Wait_MyPGRP = 0; + + + { Constants to check stat.mode - checked all STAT constants with BSD + OK:OpenBSD sys/stat.h 4.9 } + STAT_IFMT = $f000; {00170000 } + STAT_IFSOCK = $c000; {0140000 } + STAT_IFLNK = $a000; {0120000 } + STAT_IFREG = $8000; {0100000 } + STAT_IFBLK = $6000; {0060000 } + STAT_IFDIR = $4000; {0040000 } + STAT_IFCHR = $2000; {0020000 } + STAT_IFIFO = $1000; {0010000 } + STAT_ISUID = $0800; {0004000 } + STAT_ISGID = $0400; {0002000 } + STAT_ISVTX = $0200; {0001000} + { Constants to check permissions all } + STAT_IRWXO = $7; + STAT_IROTH = $4; + STAT_IWOTH = $2; + STAT_IXOTH = $1; + + STAT_IRWXG = STAT_IRWXO shl 3; + STAT_IRGRP = STAT_IROTH shl 3; + STAT_IWGRP = STAT_IWOTH shl 3; + STAT_IXGRP = STAT_IXOTH shl 3; + + STAT_IRWXU = STAT_IRWXO shl 6; + STAT_IRUSR = STAT_IROTH shl 6; + STAT_IWUSR = STAT_IWOTH shl 6; + STAT_IXUSR = STAT_IXOTH shl 6; + + { Not checked below for OpenBSD 4.9 } + + { Constants to test the type of filesystem } + fs_old_ext2 = $ef51; + fs_ext2 = $ef53; + fs_ext = $137d; + fs_iso = $9660; + fs_minix = $137f; + fs_minix_30 = $138f; + fs_minux_V2 = $2468; + fs_msdos = $4d44; + fs_nfs = $6969; + fs_proc = $9fa0; + fs_xia = $012FD16D; + + {Constansts Termios/Ioctl (used in Do_IsDevice) } + IOCtl_TCGETS= $40000000+$2C7400+ 19; // TCGETS is also in termios.inc, but the sysunix needs only this + + ITimer_Real =0; + ITimer_Virtual =1; + ITimer_Prof =2; + +{ + {Checked for BSD using Linuxthreads port} + { cloning flags } + CSIGNAL = $000000ff; // signal mask to be sent at exit + CLONE_VM = $00000100; // set if VM shared between processes + CLONE_FS = $00000200; // set if fs info shared between processes + CLONE_FILES = $00000400; // set if open files shared between processes + CLONE_SIGHAND = $00000800; // set if signal handlers shared + CLONE_PID = $00001000; // set if pid shared + +type + TCloneFunc=function(args:pointer):longint;cdecl; +} + diff --git a/rtl/openbsd/unxfunc.inc b/rtl/openbsd/unxfunc.inc new file mode 100644 index 0000000000..fda17c389c --- /dev/null +++ b/rtl/openbsd/unxfunc.inc @@ -0,0 +1,57 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2000 by Marco van de Voort + member of the Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY;without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +**********************************************************************} + +{$ifndef HAS_LIBC_PIPING} +Function PClose(Var F:file) : cint; +var + pl : ^cint; + res : cint; + +begin + fpclose(filerec(F).Handle); +{ closed our side, Now wait for the other - this appears to be needed ?? } + pl:=@(filerec(f).userdata[2]); + fpwaitpid(pl^,@res,0); + pclose:=res shr 8; +end; + +Function PClose(Var F:text) :cint; +var + pl : ^longint; + res : longint; + +begin + fpclose(Textrec(F).Handle); +{ closed our side, Now wait for the other - this appears to be needed ?? } + pl:=@(textrec(f).userdata[2]); + fpwaitpid(pl^,@res,0); + pclose:=res shr 8; +end; +{$ENDIF} + + +Function AssignPipe(var pipe_in,pipe_out:cint):cint; [public, alias : 'FPC_SYSC_ASSIGNPIPE']; +{ + Sets up a pair of file variables, which act as a pipe. The first one can + be read from, the second one can be written to. + If the operation was unsuccesful, errno is set. +} +var + pip : tfildes; +begin + assignPipe:=fppipe(pip); + pipe_in:=pip[0]; + pipe_out:=pip[1]; +end; + diff --git a/rtl/openbsd/unxsysc.inc b/rtl/openbsd/unxsysc.inc new file mode 100644 index 0000000000..538e1fcf2e --- /dev/null +++ b/rtl/openbsd/unxsysc.inc @@ -0,0 +1,91 @@ +{ + This file is part of the Free Pascal run time library. + Copyright (c) 2003 Marco van de Voort + member of the Free Pascal development team. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY;without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +**********************************************************************} + +(* +function clone(func:TCloneFunc;sp:pointer;flags:longint;args:pointer):longint; +{NOT IMPLEMENTED YET UNDER BSD} +begin // perhaps it is better to implement the hack from solaris then this msg + HALT; +END; + + if (pointer(func)=nil) or (sp=nil) then + begin + Lfpseterrno(EsysEInval); + exit(-1); + end; + asm + { Insert the argument onto the new stack. } + movl sp,%ecx + subl $8,%ecx + movl args,%eax + movl %eax,4(%ecx) + + { Save the function pointer as the zeroth argument. + It will be popped off in the child in the ebx frobbing below. } + movl func,%eax + movl %eax,0(%ecx) + + { Do the system call } + pushl %ebx + pushl %ebx + // movl flags,%ebx + movl $251,%eax + int $0x80 + popl %ebx + popl %ebx + test %eax,%eax + jnz .Lclone_end + + { We're in the new thread } + subl %ebp,%ebp { terminate the stack frame } + call *%ebx + { exit process } + movl %eax,%ebx + movl $1,%eax + int $0x80 + +.Lclone_end: + movl %eax,__RESULT + end; +end; +*) + +Function fpfStatFS (Fd: cint; Info:pstatfs):cint; +begin + fpfstatfs:=do_SysCall(SysCall_nr_fstatfs,fd,TSysParam(info)) +end; + +Function fpStatFS (Path:pchar; Info:pstatfs):cint; + +begin + fpstatfs:=do_SysCall(SysCall_nr_statfs,TSysParam(path),TSysParam(Info)) +end; + +Function fpfsync (fd : cint) : cint; + +begin + fpfsync:=do_SysCall(syscall_nr_fsync, fd); +end; + +Function fpFlock (fd,mode : longint) : cint; + +begin + fpFlock:=do_syscall(syscall_nr_flock,fd,mode); +end; + +function MUnMap (P : Pointer; Size : size_t) : cint; +begin + MUnMap:=do_syscall(syscall_nr_munmap,TSysParam(P),Size); +end; +