Browse Source

* Killed old (14apr) BSD port, to be updated by new without merging

marco 25 years ago
parent
commit
971afad12f
9 changed files with 0 additions and 3031 deletions
  1. 0 1347
      rtl/bsd/Makefile
  2. 0 196
      rtl/bsd/Makefile.fpc
  3. 0 179
      rtl/bsd/bsdport.txt
  4. 0 141
      rtl/bsd/i386/cprt0.as
  5. 0 124
      rtl/bsd/i386/prt0.as
  6. 0 420
      rtl/bsd/syscalls.inc
  7. 0 93
      rtl/bsd/sysconst.inc
  8. 0 373
      rtl/bsd/sysnr.inc
  9. 0 158
      rtl/bsd/systypes.inc

+ 0 - 1347
rtl/bsd/Makefile

@@ -1,1347 +0,0 @@
-#
-# Makefile generated by fpcmake v1.00 [2000/09/01]
-#
-
-defaultrule: all
-
-#####################################################################
-# Autodetect OS (Linux or Dos or Windows NT)
-# define inlinux when running under linux
-# define inWinNT when running under WinNT
-#####################################################################
-
-# We need only / in the path
-override PATH:=$(subst \,/,$(PATH))
-
-# Search for PWD and determine also if we are under linux
-PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(subst ;, ,$(PATH)))))
-ifeq ($(PWD),)
-PWD:=$(strip $(wildcard $(addsuffix /pwd,$(subst :, ,$(PATH)))))
-ifeq ($(PWD),)
-nopwd:
-	@echo You need the GNU utils package to use this Makefile!
-	@echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip
-	@exit
-else
-inlinux=1
-endif
-else
-PWD:=$(firstword $(PWD))
-endif
-
-# Detect NT - NT sets OS to Windows_NT
-ifndef inlinux
-ifeq ($(OS),Windows_NT)
-inWinNT=1
-endif
-endif
-
-# Detect OS/2 - OS/2 has OS2_SHELL defined
-ifndef inlinux
-ifndef inWinNT
-ifdef OS2_SHELL
-inOS2=1
-endif
-endif
-endif
-
-# The extension of executables
-ifdef inlinux
-EXEEXT=
-else
-EXEEXT=.exe
-endif
-
-# The path which is searched separated by spaces
-ifdef inlinux
-SEARCHPATH=$(subst :, ,$(PATH))
-else
-SEARCHPATH=$(subst ;, ,$(PATH))
-endif
-
-# Base dir
-ifdef PWD
-BASEDIR:=$(shell $(PWD))
-else
-BASEDIR=.
-endif
-
-#####################################################################
-# Default target
-#####################################################################
-
-override OS_TARGET:=linux
-override CPU_TARGET:=i386
-
-#####################################################################
-# FPC version/target Detection
-#####################################################################
-
-# What compiler to use ?
-ifndef FPC
-# Compatibility with old makefiles
-ifdef PP
-FPC=$(PP)
-else
-ifdef inOS2
-FPC=ppos2
-else
-FPC=ppc386
-endif
-endif
-endif
-override FPC:=$(subst $(EXEEXT),,$(FPC))
-override FPC:=$(subst \,/,$(FPC))$(EXEEXT)
-
-# Target OS
-ifndef OS_TARGET
-OS_TARGET:=$(shell $(FPC) -iTO)
-endif
-
-# Source OS
-ifndef OS_SOURCE
-OS_SOURCE:=$(shell $(FPC) -iSO)
-endif
-
-# Target CPU
-ifndef CPU_TARGET
-CPU_TARGET:=$(shell $(FPC) -iTP)
-endif
-
-# Source CPU
-ifndef CPU_SOURCE
-CPU_SOURCE:=$(shell $(FPC) -iSP)
-endif
-
-# FPC version
-ifndef FPC_VERSION
-FPC_VERSION:=$(shell $(FPC) -iV)
-endif
-
-export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION
-
-#####################################################################
-# Pre Settings
-#####################################################################
-
-RTL=..
-INC=$(RTL)/inc
-PROCINC=$(RTL)/$(CPU_TARGET)
-
-UNITPREFIX=rtl
-
-# Paths
-OBJPASDIR=$(RTL)/objpas
-GRAPHDIR=$(INC)/graph
-LINUXDIR=$(RTL)/linux
-
-
-# Define Go32v2 Units
-SYSTEMUNIT=syslinux
-
-# Use new graph unit ?
-# NEWGRAPH=YES
-# Use LibGGI ?
-# Use
-#
-ifndef USELIBGGI
-USELIBGGI=NO
-endif
-#####################################################################
-# FPCDIR Setting
-#####################################################################
-
-# Test FPCDIR to look if the RTL dir exists
-ifdef FPCDIR
-override FPCDIR:=$(subst \,/,$(FPCDIR))
-ifeq ($(wildcard $(FPCDIR)/rtl),)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=wrong
-endif
-endif
-else
-override FPCDIR=wrong
-endif
-
-# Default FPCDIR
-ifeq ($(FPCDIR),wrong)
-override FPCDIR=.
-ifeq ($(wildcard $(FPCDIR)/rtl),)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=wrong
-endif
-endif
-endif
-
-# Detect FPCDIR
-ifeq ($(FPCDIR),wrong)
-ifdef inlinux
-override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
-endif
-else
-override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(FPCDIR)/rtl),)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(FPCDIR)/rtl),)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=c:/pp
-endif
-endif
-endif
-endif
-endif
-endif
-
-#####################################################################
-# User Settings
-#####################################################################
-
-
-# Targets
-
-override LOADEROBJECTS+=prt0 cprt0 gprt0 cprt21 gprt21
-override UNITOBJECTS+=$(SYSTEMUNIT) objpas strings linux initc dos crt objects printer graph ggigraph sysutils typinfo math cpu mmx getopts heaptrc lineinfo errors gpm
-
-# Clean
-
-
-# Install
-
-UNITSUBDIR=rtl
-ZIPTARGET=install
-
-# Defaults
-
-
-# Directories
-
-override NEEDINCDIR=$(INC) $(PROCINC)
-ifndef TARGETDIR
-TARGETDIR=.
-endif
-
-# Packages
-
-
-# Libraries
-
-LIBNAME=fprtl
-SHAREDLIBUNITOBJECTS=$(SYSTEMUNIT) objpas strings linux dos crt objects printer sysutils typinfo math cpu mmx getopts heaptrc errors
-
-# Info
-
-INFOTARGET=fpc_infocfg fpc_infoobjects fpc_infoinstall 
-
-#####################################################################
-# Post Settings
-#####################################################################
-
-SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT))
-
-# Get the system independent include file names.
-# This will set the following variables :
-# SYSINCNAMES
-include $(INC)/makefile.inc
-SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
-
-# Get the processor dependent include file names.
-# This will set the following variables :
-# CPUINCNAMES
-include $(PROCINC)/makefile.cpu
-SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
-
-# Put system unit dependencies together.
-SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-
-#####################################################################
-# Shell tools
-#####################################################################
-
-# echo
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(EXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(EXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=echo
-ECHOE:=echo
-else
-ECHO:=$(firstword $(ECHO))
-ECHOE=$(ECHO) -E
-endif
-else
-ECHO:=$(firstword $(ECHO))
-ECHOE=$(ECHO) -E
-endif
-endif
-
-# To copy pograms
-ifndef COPY
-COPY:=cp -fp
-endif
-
-# Copy a whole tree
-ifndef COPYTREE
-COPYTREE:=cp -rfp
-endif
-
-# To move pograms
-ifndef MOVE
-MOVE:=mv -f
-endif
-
-# Check delete program
-ifndef DEL
-DEL:=rm -f
-endif
-
-# Check deltree program
-ifndef DELTREE
-DELTREE:=rm -rf
-endif
-
-# To install files
-ifndef INSTALL
-ifdef inlinux
-INSTALL:=install -m 644
-else
-INSTALL:=$(COPY)
-endif
-endif
-
-# To install programs
-ifndef INSTALLEXE
-ifdef inlinux
-INSTALLEXE:=install -m 755
-else
-INSTALLEXE:=$(COPY)
-endif
-endif
-
-# To make a directory.
-ifndef MKDIR
-ifdef inlinux
-MKDIR:=install -m 755 -d
-else
-MKDIR:=ginstall -m 755 -d
-endif
-endif
-
-export ECHO ECHOE COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
-
-#####################################################################
-# Default Tools
-#####################################################################
-
-# assembler, redefine it if cross compiling
-ifndef AS
-AS=as
-endif
-
-# linker, but probably not used
-ifndef LD
-LD=ld
-endif
-
-# ppas.bat / ppas.sh
-ifdef inlinux
-PPAS=ppas.sh
-else
-ifdef inOS2
-PPAS=ppas.cmd
-else
-PPAS=ppas.bat
-endif
-endif
-
-# ldconfig to rebuild .so cache
-ifdef inlinux
-LDCONFIG=ldconfig
-else
-LDCONFIG=
-endif
-
-# ppumove
-ifndef PPUMOVE
-PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(EXEEXT),$(SEARCHPATH))))
-ifeq ($(PPUMOVE),)
-PPUMOVE=
-else
-PPUMOVE:=$(firstword $(PPUMOVE))
-endif
-endif
-export PPUMOVE
-
-# ppufiles
-ifndef PPUFILES
-PPUFILES:=$(strip $(wildcard $(addsuffix /ppufiles$(EXEEXT),$(SEARCHPATH))))
-ifeq ($(PPUFILES),)
-PPUFILES=
-else
-PPUFILES:=$(firstword $(PPUFILES))
-endif
-endif
-export PPUFILES
-
-# Look if UPX is found for go32v2 and win32. We can't use $UPX becuase
-# upx uses that one itself (PFV)
-ifndef UPXPROG
-ifeq ($(OS_TARGET),go32v2)
-UPXPROG:=1
-endif
-ifeq ($(OS_TARGET),win32)
-UPXPROG:=1
-endif
-ifdef UPXPROG
-UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(EXEEXT),$(SEARCHPATH))))
-ifeq ($(UPXPROG),)
-UPXPROG=
-else
-UPXPROG:=$(firstword $(UPXPROG))
-endif
-else
-UPXPROG=
-endif
-endif
-export UPXPROG
-
-# ZipProg, you can't use Zip as the var name (PFV)
-ifndef ZIPPROG
-ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(EXEEXT),$(SEARCHPATH))))
-ifeq ($(ZIPPROG),)
-ZIPPROG=
-else
-ZIPPROG:=$(firstword $(ZIPPROG))
-endif
-endif
-export ZIPPROG
-
-ZIPOPT=-9
-ZIPEXT=.zip
-
-# Tar
-ifndef TARPROG
-TARPROG:=$(strip $(wildcard $(addsuffix /tar$(EXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG=
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-endif
-export TARPROG
-
-ifeq ($(USETAR),bz2)
-TAROPT=vI
-TAREXT=.tar.bz2
-else
-TAROPT=vz
-TAREXT=.tar.gz
-endif
-
-#####################################################################
-# Default extensions
-#####################################################################
-
-# Default needed extensions (Go32v2,Linux)
-LOADEREXT=.as
-PPLEXT=.ppl
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.so
-RSTEXT=.rst
-FPCMADE=fpcmade
-
-# Go32v1
-ifeq ($(OS_TARGET),go32v1)
-PPUEXT=.pp1
-OEXT=.o1
-ASMEXT=.s1
-SMARTEXT=.sl1
-STATICLIBEXT=.a1
-SHAREDLIBEXT=.so1
-FPCMADE=fpcmade.v1
-endif
-
-# Go32v2
-ifeq ($(OS_TARGET),go32v2)
-FPCMADE=fpcmade.dos
-endif
-
-# Linux
-ifeq ($(OS_TARGET),linux)
-FPCMADE=fpcmade.lnx
-endif
-
-# Win32
-ifeq ($(OS_TARGET),win32)
-PPUEXT=.ppw
-OEXT=.ow
-ASMEXT=.sw
-SMARTEXT=.slw
-STATICLIBEXT=.aw
-SHAREDLIBEXT=.dll
-FPCMADE=fpcmade.w32
-endif
-
-# OS/2
-ifeq ($(OS_TARGET),os2)
-PPUEXT=.ppo
-ASMEXT=.so2
-OEXT=.oo2
-SMARTEXT=.so
-STATICLIBEXT=.ao2
-SHAREDLIBEXT=.dll
-FPCMADE=fpcmade.os2
-endif
-
-# library prefix
-LIBPREFIX=lib
-ifeq ($(OS_TARGET),go32v2)
-LIBPREFIX=
-endif
-ifeq ($(OS_TARGET),go32v1)
-LIBPREFIX=
-endif
-
-# determine which .pas extension is used
-ifndef PASEXT
-ifdef EXEOBJECTS
-override TESTPAS:=$(strip $(wildcard $(addsuffix .pas,$(firstword $(EXEOBJECTS)))))
-else
-override TESTPAS:=$(strip $(wildcard $(addsuffix .pas,$(firstword $(UNITOBJECTS)))))
-endif
-ifeq ($(TESTPAS),)
-PASEXT=.pp
-else
-PASEXT=.pas
-endif
-endif
-
-
-
-#####################################################################
-# Default Directories
-#####################################################################
-
-# set the prefix directory where to install everything
-ifndef PREFIXINSTALLDIR
-ifdef inlinux
-PREFIXINSTALLDIR=/usr
-else
-PREFIXINSTALLDIR=/pp
-endif
-endif
-export PREFIXINSTALLDIR
-
-# Where to place the resulting zip files
-ifndef DESTZIPDIR
-DESTZIPDIR:=$(BASEDIR)
-endif
-export DESTZIPDIR
-
-#####################################################################
-# Install Directories
-#####################################################################
-
-# set the base directory where to install everything
-ifndef BASEINSTALLDIR
-ifdef inlinux
-BASEINSTALLDIR=$(PREFIXINSTALLDIR)/lib/fpc/$(FPC_VERSION)
-else
-BASEINSTALLDIR=$(PREFIXINSTALLDIR)
-endif
-endif
-
-# set the directory where to install the binaries
-ifndef BININSTALLDIR
-ifdef inlinux
-BININSTALLDIR=$(PREFIXINSTALLDIR)/bin
-else
-BININSTALLDIR=$(BASEINSTALLDIR)/bin/$(OS_TARGET)
-endif
-endif
-
-# set the directory where to install the units.
-ifndef UNITINSTALLDIR
-UNITINSTALLDIR=$(BASEINSTALLDIR)/units/$(OS_TARGET)
-ifdef UNITSUBDIR
-UNITINSTALLDIR:=$(UNITINSTALLDIR)/$(UNITSUBDIR)
-endif
-endif
-
-# Where to install shared libraries
-ifndef LIBINSTALLDIR
-ifdef inlinux
-LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib
-else
-LIBINSTALLDIR=$(UNITINSTALLDIR)
-endif
-endif
-
-# Where the source files will be stored
-ifndef SOURCEINSTALLDIR
-ifdef inlinux
-SOURCEINSTALLDIR=$(PREFIXINSTALLDIR)/src/fpc-$(FPC_VERSION)
-else
-SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source
-endif
-ifdef SOURCESUBDIR
-SOURCEINSTALLDIR:=$(SOURCEINSTALLDIR)/$(SOURCESUBDIR)
-endif
-endif
-
-# Where the doc files will be stored
-ifndef DOCINSTALLDIR
-ifdef inlinux
-DOCINSTALLDIR=$(PREFIXINSTALLDIR)/doc/fpc-$(FPC_VERSION)
-else
-DOCINSTALLDIR=$(BASEINSTALLDIR)/doc
-endif
-endif
-
-# Where to install the examples, under linux we use the doc dir
-# because the copytree command will create a subdir itself
-ifndef EXAMPLEINSTALLDIR
-ifdef inlinux
-EXAMPLEINSTALLDIR=$(DOCINSTALLDIR)/examples
-else
-EXAMPLEINSTALLDIR=$(BASEINSTALLDIR)/examples
-endif
-ifdef EXAMPLESUBDIR
-EXAMPLEINSTALLDIR:=$(EXAMPLEINSTALLDIR)/$(EXAMPLESUBDIR)
-endif
-endif
-
-# Where the some extra (data)files will be stored
-ifndef DATAINSTALLDIR
-DATAINSTALLDIR=$(BASEINSTALLDIR)
-endif
-
-#####################################################################
-# Redirection
-#####################################################################
-
-ifndef REDIRFILE
-REDIRFILE=log
-endif
-
-ifdef REDIR
-ifndef inlinux
-override FPC=redir -eo $(FPC)
-endif
-# set the verbosity to max
-override FPCOPT+=-va
-override REDIR:= >> $(REDIRFILE)
-endif
-
-
-#####################################################################
-# Compiler Command Line
-#####################################################################
-
-# Load commandline OPTDEF and add FPC_CPU define
-override FPCOPTDEF:=-d$(CPU_TARGET)
-
-# Load commandline OPT and add target and unit dir to be sure
-ifneq ($(OS_TARGET),$(OS_SOURCE))
-override FPCOPT+=-T$(OS_TARGET)
-endif
-
-# User dirs should be first, so they are looked at first
-ifdef UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
-endif
-ifdef LIBDIR
-override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
-endif
-ifdef OBJDIR
-override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
-endif
-ifdef INCDIR
-override FPCOPT+=$(addprefix -Fi,$(INCDIR))
-endif
-
-# Smartlinking
-ifdef LINKSMART
-override FPCOPT+=-XX
-endif
-
-# Smartlinking creation
-ifdef CREATESMART
-override FPCOPT+=-CX
-endif
-
-# Debug
-ifdef DEBUG
-override FPCOPT+=-g -dDEBUG
-endif
-
-# Release mode (strip, optimize and don't load ppc386.cfg)
-# 0.99.12b has a bug in the optimizer so don't use it by default
-ifdef RELEASE
-ifeq ($(FPC_VERSION),0.99.12)
-override FPCOPT+=-Xs -OGp3 -n
-else
-override FPCOPT+=-Xs -OG2p3 -n
-endif
-endif
-
-# Strip
-ifdef STRIP
-override FPCOPT+=-Xs
-endif
-
-# Optimizer
-ifdef OPTIMIZE
-override FPCOPT+=-OG2p3
-endif
-
-# Verbose settings (warning,note,info)
-ifdef VERBOSE
-override FPCOPT+=-vwni
-endif
-
-ifdef UNITSDIR
-override FPCOPT+=-Fu$(UNITSDIR)
-endif
-
-ifdef NEEDINCDIR
-override FPCOPT+=$(addprefix -Fi,$(NEEDINCDIR))
-endif
-
-
-# Target dirs and the prefix to use for clean/install
-ifdef TARGETDIR
-override FPCOPT+=-FE$(TARGETDIR)
-ifeq ($(TARGETDIR),.)
-override TARGETDIRPREFIX=
-else
-override TARGETDIRPREFIX=$(TARGETDIR)/
-endif
-endif
-ifdef UNITTARGETDIR
-override FPCOPT+=-FU$(UNITTARGETDIR)
-ifeq ($(UNITTARGETDIR),.)
-override UNITTARGETDIRPREFIX=
-else
-override UNITTARGETDIRPREFIX=$(TARGETDIR)/
-endif
-else
-ifdef TARGETDIR
-override UNITTARGETDIR=$(TARGETDIR)
-override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
-endif
-endif
-
-# Add commandline options last so they can override
-ifdef OPT
-override FPCOPT+=$(OPT)
-endif
-
-# Add defines from FPCOPTDEF to FPCOPT
-ifdef FPCOPTDEF
-override FPCOPT+=$(FPCOPTDEF)
-endif
-
-# Error file ?
-ifdef ERRORFILE
-override FPCOPT+=-Fr$(ERRORFILE)
-endif
-
-# Was a config file specified ?
-ifdef CFGFILE
-override FPCOPT+=@$(CFGFILE)
-endif
-
-# For win32 the options are passed using the environment FPCEXTCMD
-ifeq ($(OS_SOURCE),win32)
-override FPCEXTCMD:=$(FPCOPT)
-override FPCOPT:=!FPCEXTCMD
-export FPCEXTCMD
-endif
-
-# Compiler commandline
-override COMPILER:=$(FPC) $(FPCOPT)
-
-# also call ppas if with command option -s
-# but only if the OS_SOURCE and OS_TARGE are equal
-ifeq (,$(findstring -s ,$(COMPILER)))
-EXECPPAS=
-else
-ifeq ($(OS_SOURCE),$(OS_TARGET))
-EXECPPAS:=@$(PPAS)
-endif
-endif
-
-#####################################################################
-# Standard rules
-#####################################################################
-
-all: fpc_all
-
-debug: fpc_debug
-
-smart: fpc_smart
-
-shared: fpc_shared
-
-showinstall: fpc_showinstall
-
-install: fpc_install
-
-sourceinstall: fpc_sourceinstall
-
-exampleinstall: fpc_exampleinstall
-
-zipinstall: fpc_zipinstall
-
-zipsourceinstall: fpc_zipsourceinstall
-
-zipexampleinstall: fpc_zipexampleinstall
-
-clean: fpc_clean
-
-distclean: fpc_distclean
-
-cleanall: fpc_cleanall
-
-info: fpc_info
-
-.PHONY:  all debug smart shared showinstall install sourceinstall exampleinstall zipinstall zipsourceinstall zipexampleinstall clean distclean cleanall info
-
-#####################################################################
-# Loaders
-#####################################################################
-
-.PHONY: fpc_loaders
-
-%$(OEXT): %$(LOADEREXT)
-	$(AS) -o $*$(OEXT) $<
-
-override ALLTARGET+=fpc_loaders
-override CLEANTARGET+=fpc_loaders_clean
-override SHOWINSTALLTARGET+=fpc_loaders_showinstall
-override INSTALLTARGET+=fpc_loaders_install
-
-override LOADEROFILES:=$(addsuffix $(OEXT),$(LOADEROBJECTS))
-
-fpc_loaders: $(LOADEROFILES)
-
-fpc_loaders_clean:
-	-$(DEL) $(LOADEROFILES)
-
-fpc_loaders_showinstall:
-	@$(ECHO) -e $(addprefix "\n"$(UNITINSTALLDIR)/,$(LOADEROFILES))
-
-fpc_loaders_install:
-	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(LOADEROFILES) $(UNITINSTALLDIR)
-
-#####################################################################
-# Units
-#####################################################################
-
-.PHONY: fpc_units
-
-override ALLTARGET+=fpc_units
-
-override UNITPPUFILES=$(addsuffix $(PPUEXT),$(UNITOBJECTS))
-override INSTALLPPUFILES+=$(UNITPPUFILES)
-override CLEANPPUFILES+=$(UNITPPUFILES)
-
-fpc_units: $(UNITPPUFILES)
-
-#####################################################################
-# General compile rules
-#####################################################################
-
-.PHONY: fpc_packages fpc_all fpc_debug
-
-$(FPCMADE): $(ALLTARGET)
-	@$(ECHO) Compiled > $(FPCMADE)
-
-fpc_packages: $(COMPILEPACKAGES)
-
-fpc_all: fpc_packages $(FPCMADE)
-
-fpc_debug:
-	$(MAKE) all DEBUG=1
-
-# Search paths for .ppu if targetdir is set
-ifdef UNITTARGETDIR
-vpath %$(PPUEXT) $(UNITTARGETDIR)
-endif
-
-# General compile rules, available for both possible PASEXT
-
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
-
-%$(PPUEXT): %.pp
-	$(COMPILER) $< $(REDIR)
-	$(EXECPPAS)
-
-%$(PPUEXT): %.pas
-	$(COMPILER) $< $(REDIR)
-	$(EXECPPAS)
-
-%$(EXEEXT): %.pp
-	$(COMPILER) $< $(REDIR)
-	$(EXECPPAS)
-
-%$(EXEEXT): %.pas
-	$(COMPILER) $< $(REDIR)
-	$(EXECPPAS)
-
-#####################################################################
-# Library
-#####################################################################
-
-.PHONY: fpc_smart fpc_shared
-
-ifdef LIBVERSION
-LIBFULLNAME=$(LIBNAME).$(LIBVERSION)
-else
-LIBFULLNAME=$(LIBNAME)
-endif
-
-# Default sharedlib units are all unit objects
-ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
-endif
-
-fpc_smart:
-	$(MAKE) all LINKSMART=1 CREATESMART=1
-
-fpc_shared: all
-ifdef inlinux
-ifndef LIBNAME
-	@$(ECHO) "LIBNAME not set"
-else
-	$(PPUMOVE) $(SHAREDLIBUNITOBJECTS) -o$(LIBFULLNAME)
-endif
-else
-	@$(ECHO) "Shared Libraries not supported"
-endif
-
-#####################################################################
-# Install rules
-#####################################################################
-
-.PHONY: fpc_showinstall fpc_install
-
-ifdef EXTRAINSTALLUNITS
-override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS))
-endif
-
-ifdef INSTALLPPUFILES
-override INSTALLPPUFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLPPUFILES))
-ifdef PPUFILES
-INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-else
-INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))))
-endif
-override INSTALLPPULINKFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLPPULINKFILES))
-endif
-
-ifdef INSTALLEXEFILES
-override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
-endif
-
-fpc_showinstall: $(SHOWINSTALLTARGET)
-ifdef INSTALLEXEFILES
-	@$(ECHO) -e $(addprefix "\n"$(BININSTALLDIR)/,$(INSTALLEXEFILES))
-endif
-ifdef INSTALLPPUFILES
-	@$(ECHO) -e $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPUFILES))
-ifneq ($(INSTALLPPULINKFILES),)
-	@$(ECHO) -e $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPULINKFILES))
-endif
-ifneq ($(wildcard $(LIBFULLNAME)),)
-	@$(ECHO) $(LIBINSTALLDIR)/$(LIBFULLNAME)
-ifdef inlinux
-	@$(ECHO) $(LIBINSTALLDIR)/$(LIBNAME)
-endif
-endif
-endif
-ifdef EXTRAINSTALLFILES
-	@$(ECHO) -e $(addprefix "\n"$(DATAINSTALLDIR)/,$(EXTRAINSTALLFILES))
-endif
-
-fpc_install: $(INSTALLTARGET)
-# Create UnitInstallFiles
-ifdef INSTALLEXEFILES
-	$(MKDIR) $(BININSTALLDIR)
-# Compress the exes if upx is defined
-ifdef UPXPROG
-	-$(UPXPROG) $(INSTALLEXEFILES)
-endif
-	$(INSTALLEXE) $(INSTALLEXEFILES) $(BININSTALLDIR)
-endif
-ifdef INSTALLPPUFILES
-	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(INSTALLPPUFILES) $(UNITINSTALLDIR)
-ifneq ($(INSTALLPPULINKFILES),)
-	$(INSTALL) $(INSTALLPPULINKFILES) $(UNITINSTALLDIR)
-endif
-ifneq ($(wildcard $(LIBFULLNAME)),)
-	$(MKDIR) $(LIBINSTALLDIR)
-	$(INSTALL) $(LIBFULLNAME) $(LIBINSTALLDIR)
-ifdef inlinux
-	ln -sf $(LIBFULLNAME) $(LIBINSTALLDIR)/$(LIBNAME)
-endif
-endif
-endif
-ifdef EXTRAINSTALLFILES
-	$(MKDIR) $(DATAINSTALLDIR)
-	$(INSTALL) $(EXTRAINSTALLFILES) $(DATAINSTALLDIR)
-endif
-
-#####################################################################
-# SourceInstall rules
-#####################################################################
-
-.PHONY: fpc_sourceinstall
-
-ifndef SOURCETOPDIR
-SOURCETOPDIR=$(BASEDIR)
-endif
-
-fpc_sourceinstall: clean
-	$(MKDIR) $(SOURCEINSTALLDIR)
-	$(COPYTREE) $(SOURCETOPDIR) $(SOURCEINSTALLDIR)
-
-#####################################################################
-# exampleinstall rules
-#####################################################################
-
-.PHONY: fpc_exampleinstall
-
-fpc_exampleinstall: $(addsuffix _clean,$(EXAMPLEDIROBJECTS))
-ifdef EXAMPLESOURCEFILES
-	$(MKDIR) $(EXAMPLEINSTALLDIR)
-	$(COPY) $(EXAMPLESOURCEFILES) $(EXAMPLEINSTALLDIR)
-endif
-ifdef EXAMPLEDIROBJECTS
-ifndef EXAMPLESOURCEFILES
-	$(MKDIR) $(EXAMPLEINSTALLDIR)
-endif
-	$(COPYTREE) $(addsuffix /*,$(EXAMPLEDIROBJECTS)) $(EXAMPLEINSTALLDIR)
-endif
-
-#####################################################################
-# Zip
-#####################################################################
-
-.PHONY: fpc_zipinstall
-
-# Create suffix to add
-ifndef PACKAGESUFFIX
-PACKAGESUFFIX=$(OS_TARGET)
-ifeq ($(OS_TARGET),go32v2)
-PACKAGESUFFIX=go32
-endif
-ifeq ($(OS_TARGET),win32)
-PACKAGESUFFIX=w32
-endif
-endif
-
-# Temporary path to pack a file
-ifndef PACKDIR
-ifndef inlinux
-PACKDIR=$(BASEDIR)/pack_tmp
-else
-PACKDIR=/tmp/fpc-pack
-endif
-endif
-
-# Maybe create default zipname from packagename
-ifndef ZIPNAME
-ifdef PACKAGENAME
-ZIPNAME=$(PACKAGEPREFIX)$(PACKAGENAME)$(PACKAGESUFFIX)
-endif
-endif
-
-# Use tar by default under linux
-ifndef USEZIP
-ifdef inlinux
-USETAR=1
-endif
-endif
-
-fpc_zipinstall:
-ifndef ZIPNAME
-	@$(ECHO) "Please specify ZIPNAME!"
-	@exit 1
-else
-	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
-ifdef USETAR
-	$(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT)
-	cd $(PACKDIR) ; $(TARPROG) c$(TAROPT) --file $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT) * ; cd $(BASEDIR)
-else
-	$(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT)
-	cd $(PACKDIR) ; $(ZIPPROG) -Dr $(ZIPOPT) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT) * ; cd $(BASEDIR)
-endif
-	$(DELTREE) $(PACKDIR)
-endif
-
-.PHONY:  fpc_zipsourceinstall
-
-fpc_zipsourceinstall:
-	$(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall PACKAGESUFFIX=src
-
-.PHONY:  fpc_zipexampleinstall
-
-fpc_zipexampleinstall:
-	$(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall PACKAGESUFFIX=exm
-
-#####################################################################
-# Clean rules
-#####################################################################
-
-.PHONY: fpc_clean fpc_cleanall fpc_distclean
-
-ifdef EXTRACLEANUNITS
-override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRACLEANUNITS))
-endif
-
-ifdef CLEANPPUFILES
-override CLEANPPUFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANPPUFILES))
-# Get the .o and .a files created for the units
-ifdef PPUFILES
-CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
-else
-CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))))
-endif
-override CLEANPPULINKFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANPPULINKFILES))
-endif
-
-fpc_clean: $(CLEANTARGET)
-ifdef CLEANEXEFILES
-	-$(DEL) $(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
-endif
-ifdef CLEANPPUFILES
-	-$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
-	-$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
-	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-ifdef EXTRACLEANFILES
-	-$(DEL) $(EXTRACLEANFILES)
-endif
-ifdef LIBNAME
-	-$(DEL) $(LIBNAME) $(LIBFULLNAME)
-endif
-	-$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)
-
-fpc_distclean: fpc_clean
-
-# Also run clean first if targetdir is set. Unittargetdir is always
-# set if targetdir or unittargetdir is specified
-ifdef UNITTARGETDIR
-TARGETDIRCLEAN=clean
-endif
-
-fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
-ifdef CLEANEXEFILES
-	-$(DEL) $(CLEANEXEFILES)
-endif
-	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
-	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)
-
-#####################################################################
-# Info rules
-#####################################################################
-
-.PHONY: fpc_info fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo \
-	fpc_dirinfo
-
-fpc_info: $(INFOTARGET)
-
-fpc_infocfg:
-	@$(ECHO)
-	@$(ECHO)  == Configuration info ==
-	@$(ECHO)
-	@$(ECHO)  FPC....... $(FPC)
-	@$(ECHO)  Version... $(FPC_VERSION)
-	@$(ECHO)  CPU....... $(CPU_TARGET)
-	@$(ECHO)  Source.... $(OS_SOURCE)
-	@$(ECHO)  Target.... $(OS_TARGET)
-	@$(ECHO)
-
-fpc_infoobjects:
-	@$(ECHO)
-	@$(ECHO)  == Object info ==
-	@$(ECHO)
-	@$(ECHO)  LoaderObjects..... $(LOADEROBJECTS)
-	@$(ECHO)  UnitObjects....... $(UNITOBJECTS)
-	@$(ECHO)  ExeObjects........ $(EXEOBJECTS)
-	@$(ECHO)
-	@$(ECHO)  ExtraCleanUnits... $(EXTRACLEANUNITS)
-	@$(ECHO)  ExtraCleanFiles... $(EXTRACLEANFILES)
-	@$(ECHO)
-	@$(ECHO)  ExtraInstallUnits. $(EXTRAINSTALLUNITS)
-	@$(ECHO)  ExtraInstallFiles. $(EXTRAINSTALLFILES)
-	@$(ECHO)
-
-fpc_infoinstall:
-	@$(ECHO)
-	@$(ECHO)  == Install info ==
-	@$(ECHO)
-ifdef DATE
-	@$(ECHO)  DateStr.............. $(DATESTR)
-endif
-ifdef PACKAGEPREFIX
-	@$(ECHO)  PackagePrefix........ $(PACKAGEPREFIX)
-endif
-ifdef PACKAGENAME
-	@$(ECHO)  PackageName.......... $(PACKAGENAME)
-endif
-	@$(ECHO)  PackageSuffix........ $(PACKAGESUFFIX)
-	@$(ECHO)
-	@$(ECHO)  BaseInstallDir....... $(BASEINSTALLDIR)
-	@$(ECHO)  BinInstallDir........ $(BININSTALLDIR)
-	@$(ECHO)  LibInstallDir........ $(LIBINSTALLDIR)
-	@$(ECHO)  UnitInstallDir....... $(UNITINSTALLDIR)
-	@$(ECHO)  SourceInstallDir..... $(SOURCEINSTALLDIR)
-	@$(ECHO)  DocInstallDir........ $(DOCINSTALLDIR)
-	@$(ECHO)  DataInstallDir....... $(DATAINSTALLDIR)
-	@$(ECHO)
-	@$(ECHO)  DestZipDir........... $(DESTZIPDIR)
-	@$(ECHO)  ZipName.............. $(ZIPNAME)
-	@$(ECHO)
-
-#####################################################################
-# Local Makefile
-#####################################################################
-
-ifneq ($(wildcard fpcmake.loc),)
-include fpcmake.loc
-endif
-
-#####################################################################
-# Users rules
-#####################################################################
-
-vpath %$(PASEXT) $(INC) $(PROCINC)
-
-#
-# Loaders
-#
-
-prt0$(OEXT) : $(CPU_TARGET)/prt0.as
-	$(AS) -o prt0$(OEXT) $(CPU_TARGET)/prt0.as
-
-gprt0$(OEXT) : $(CPU_TARGET)/gprt0.as
-	$(AS) -o gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
-
-cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
-	$(AS) -o cprt0$(OEXT) $(CPU_TARGET)/cprt0.as
-
-cprt21$(OEXT) : $(CPU_TARGET)/cprt21.as
-	$(AS) -o cprt21$(OEXT) $(CPU_TARGET)/cprt21.as
-
-# still need to use gprt1, because gprt21 crashes
-gprt21$(OEXT) : $(CPU_TARGET)/gprt0.as
-	$(AS) -o gprt21$(OEXT) $(CPU_TARGET)/gprt0.as
-
-
-#
-# System Units (System, Objpas, Strings)
-#
-
-$(SYSTEMPPU) : syslinux.pp sysconst.inc systypes.inc syscalls.inc $(SYSDEPS)
-	$(COMPILER) -Us -Sg syslinux.pp $(REDIR)
-
-objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMPPU)
-	$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp $(REDIR)
-
-strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
-		   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
-		   $(SYSTEMPPU)
-
-#
-# System Dependent Units
-#
-
-linux$(PPUEXT) : $(LINUXDIR)/linux.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \
-		 syscalls.inc systypes.inc sysconst.inc timezone.inc $(SYSTEMPPU)
-
-ports$(PPUEXT) : ports.pp linux$(PPUEXT) objpas$(PPUEXT)
-
-#
-# TP7 Compatible RTL Units
-#
-
-dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
-	       linux$(PPUEXT) $(SYSTEMPPU)
-
-crt$(PPUEXT) : crt.pp $(INC)/textrec.inc linux$(PPUEXT) $(SYSTEMPPU)
-
-objects$(PPUEXT) : $(INC)/objects.pp objinc.inc $(SYSTEMPPU)
-
-printer$(PPUEXT) : printer.pp $(INC)/textrec.inc linux$(PPUEXT) $(SYSTEMPPU)
-
-#
-# Graph
-#
-include $(GRAPHDIR)/makefile.inc
-GRAPHINCDEPS=$(addprefix $(GRAPHDIR)/,$(GRAPHINCNAMES))
-
-graph$(PPUEXT) : graph.pp linux$(PPUEXT) $(SYSTEMPPU) \
-		 $(GRAPHINCDEPS) vgagraph16.inc
-	$(COMPILER) -I$(GRAPHDIR) graph.pp $(REDIR)
-
-ggigraph$(PPUEXT) : ggigraph.pp linux$(PPUEXT) $(SYSTEMPPU) \
-		 $(GRAPHINCDEPS)
-	$(COMPILER) -I$(GRAPHDIR) ggigraph.pp $(REDIR)
-
-#
-# Delphi Compatible Units
-#
-
-sysutils$(PPUEXT) : $(OBJPASDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/*.inc) \
-		    filutil.inc disk.inc objpas$(PPUEXT) linux$(PPUEXT)
-	$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/sysutils.pp $(REDIR)
-
-typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
-	$(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp $(REDIR)
-
-math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
-	$(COMPILER) $(OBJPASDIR)/math.pp $(REDIR)
-
-gettext$(PPUEXT): $(OBJPASDIR)/gettext.pp objpas$(PPUEXT) sysutils$(PPUEXT)
-	$(COMPILER) $(OBJPASDIR)/gettext.pp $(REDIR)
-
-#
-# Other system-independent RTL Units
-#
-
-cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMPPU)
-
-mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMPPU)
-
-getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMPPU)
-
-heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMPPU)
-	$(COMPILER) -Sg $(INC)/heaptrc.pp $(REDIR)
-
-lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMPPU)
-
-#
-# Other system-dependent RTL Units
-#
-
-errors$(PPUEXT) : errors.pp strings$(PPUEXT) $(SYSTEMPPU)
-
-ipc$(PPUEXT) : ipc.pp linux$(PPUEXT) $(SYSTEMPPU)

+ 0 - 196
rtl/bsd/Makefile.fpc

@@ -1,196 +0,0 @@
-#
-#   Makefile.fpc for Free Pascal Linux RTL
-#
-
-[targets]
-loaders=prt0 cprt0 gprt0 cprt21 gprt21
-units=$(SYSTEMUNIT) objpas strings \
-      linux initc \
-      dos crt objects printer graph ggigraph \
-      sysutils typinfo math \
-      cpu mmx getopts heaptrc lineinfo \
-      errors gpm
-
-[require]
-rtl=0
-
-[defaults]
-defaulttarget=linux
-defaultcpu=i386
-
-[install]
-unitsubdir=rtl
-
-[dirs]
-fpcdir=.
-incdir=$(INC) $(PROCINC)
-targetdir=.
-
-[libs]
-libname=fprtl
-libunits=$(SYSTEMUNIT) objpas strings \
-      linux \
-      dos crt objects printer \
-      sysutils typinfo math \
-      cpu mmx getopts heaptrc \
-      errors
-
-
-[presettings]
-RTL=..
-INC=$(RTL)/inc
-PROCINC=$(RTL)/$(CPU_TARGET)
-
-UNITPREFIX=rtl
-
-# Paths
-OBJPASDIR=$(RTL)/objpas
-GRAPHDIR=$(INC)/graph
-LINUXDIR=$(RTL)/linux
-
-
-# Define Go32v2 Units
-SYSTEMUNIT=syslinux
-
-# Use new graph unit ?
-# NEWGRAPH=YES
-# Use LibGGI ?
-# Use
-#
-ifndef USELIBGGI
-USELIBGGI=NO
-endif
-
-
-[postsettings]
-SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT))
-
-# Get the system independent include file names.
-# This will set the following variables :
-# SYSINCNAMES
-include $(INC)/makefile.inc
-SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
-
-# Get the processor dependent include file names.
-# This will set the following variables :
-# CPUINCNAMES
-include $(PROCINC)/makefile.cpu
-SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
-
-# Put system unit dependencies together.
-SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-
-
-[rules]
-vpath %$(PASEXT) $(INC) $(PROCINC)
-
-#
-# Loaders
-#
-
-prt0$(OEXT) : $(CPU_TARGET)/prt0.as
-        $(AS) -o prt0$(OEXT) $(CPU_TARGET)/prt0.as
-
-gprt0$(OEXT) : $(CPU_TARGET)/gprt0.as
-        $(AS) -o gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
-
-cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
-        $(AS) -o cprt0$(OEXT) $(CPU_TARGET)/cprt0.as
-
-cprt21$(OEXT) : $(CPU_TARGET)/cprt21.as
-        $(AS) -o cprt21$(OEXT) $(CPU_TARGET)/cprt21.as
-
-# still need to use gprt1, because gprt21 crashes
-gprt21$(OEXT) : $(CPU_TARGET)/gprt0.as
-        $(AS) -o gprt21$(OEXT) $(CPU_TARGET)/gprt0.as
-
-
-#
-# System Units (System, Objpas, Strings)
-#
-
-$(SYSTEMPPU) : syslinux.pp sysconst.inc systypes.inc syscalls.inc $(SYSDEPS)
-        $(COMPILER) -Us -Sg syslinux.pp $(REDIR)
-
-objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMPPU)
-        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp $(REDIR)
-
-strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
-                   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
-                   $(SYSTEMPPU)
-
-#
-# System Dependent Units
-#
-
-linux$(PPUEXT) : $(LINUXDIR)/linux.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \
-                 syscalls.inc systypes.inc sysconst.inc timezone.inc $(SYSTEMPPU)
-
-ports$(PPUEXT) : ports.pp linux$(PPUEXT) objpas$(PPUEXT)
-
-#
-# TP7 Compatible RTL Units
-#
-
-dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
-               linux$(PPUEXT) $(SYSTEMPPU)
-
-crt$(PPUEXT) : crt.pp $(INC)/textrec.inc linux$(PPUEXT) $(SYSTEMPPU)
-
-objects$(PPUEXT) : $(INC)/objects.pp objinc.inc $(SYSTEMPPU)
-
-printer$(PPUEXT) : printer.pp $(INC)/textrec.inc linux$(PPUEXT) $(SYSTEMPPU)
-
-#
-# Graph
-#
-include $(GRAPHDIR)/makefile.inc
-GRAPHINCDEPS=$(addprefix $(GRAPHDIR)/,$(GRAPHINCNAMES))
-
-graph$(PPUEXT) : graph.pp linux$(PPUEXT) $(SYSTEMPPU) \
-                 $(GRAPHINCDEPS) vgagraph16.inc
-        $(COMPILER) -I$(GRAPHDIR) graph.pp $(REDIR)
-
-ggigraph$(PPUEXT) : ggigraph.pp linux$(PPUEXT) $(SYSTEMPPU) \
-                 $(GRAPHINCDEPS)
-        $(COMPILER) -I$(GRAPHDIR) ggigraph.pp $(REDIR)
-
-#
-# Delphi Compatible Units
-#
-
-sysutils$(PPUEXT) : $(OBJPASDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/*.inc) \
-                    filutil.inc disk.inc objpas$(PPUEXT) linux$(PPUEXT)
-        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/sysutils.pp $(REDIR)
-
-typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
-        $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp $(REDIR)
-
-math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
-        $(COMPILER) $(OBJPASDIR)/math.pp $(REDIR)
-
-gettext$(PPUEXT): $(OBJPASDIR)/gettext.pp objpas$(PPUEXT) sysutils$(PPUEXT)
-        $(COMPILER) $(OBJPASDIR)/gettext.pp $(REDIR)
-
-#
-# Other system-independent RTL Units
-#
-
-cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMPPU)
-
-mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMPPU)
-
-getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMPPU)
-
-heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMPPU)
-        $(COMPILER) -Sg $(INC)/heaptrc.pp $(REDIR)
-
-lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMPPU)
-
-#
-# Other system-dependent RTL Units
-#
-
-errors$(PPUEXT) : errors.pp strings$(PPUEXT) $(SYSTEMPPU)
-
-ipc$(PPUEXT) : ipc.pp linux$(PPUEXT) $(SYSTEMPPU)

+ 0 - 179
rtl/bsd/bsdport.txt

@@ -1,179 +0,0 @@
-$Id$
-
-Comments, mistakes and suggestions to [email protected]
-
-
-1 FreeBSD status and notes. (kept on CVS because I work on several places)
------------------------------------------------------------------------------
-
-Please read these before running a FreeBSD snapshot.
-
-
-- Supported are FreeBSD 3.x (3.2, 3.4 and 4.0-release (quickly) tested. I never
-   tested on 3.0).  NON-ELF (2.x) versions are not supported.
-
-- This is alpha-alpha software. I didn't have data-loss using it, but you
-	use this on your own responsability. Use a scratch, or well backup'ed
-	system.
-
-- FPC for FreeBSD is initially working, but only the most basic functionality
-	is implemented.(to rebuild the compiler)
-	That however could be enough for CGI, stdio and environment support seems to
-          be working.
-	Therefore, I decided to put a first alpha snapshot on the Net.
-
--  IMPORTANT:
-     !!! An explicite warning: Not all procedures and structures in Linux are
-   checked, so even if they are not commented out, they can be not implemented!!!
-
-- The initial version's READDIR problem is fixed with a quick hack, which 
-    means that searchpath (-Fx) and FindFirst/FindNext are more or less 
-    working.
-  I don't know how  good that hack is,I hope to replace it later this week 
-     by a port of freebsd's libc opendir/readdir/closedir/telldir/seekdir code.
-  The hack may fail the first time you use it, or only when
-    you use hardlinks. (iow, I don't know why libc sorts the directory list
-    to find duplicate names. Just because of hardlinks or because due to heavy
-    deletion/insertion duplicate dir entries can exist?)
-
-- external lib linking is not ready yet. 
-
-2 Syscalls.
-
-The bulk of the linux syscalls are implemented.
-
-Some that aren't implemented:
-
-NI           = not implemented yet
-req          = required for compiler
-noreq?       = not required, but not checked.
-Ever? (y/n)
-
-syscall   status  Ever?  comment
-------------------------------------------------------------------------
-Readdir   I req         implemented from scratch, working. (this
-                        call doesn't exist on FBSD and FindFirst is 
-			based on it)
-
-ioperm   NI noreq  n    IO via port access impossible under FreeBSD
-                           (so: no ports unit, port[] support)
-
-ipc      NI       n     The IPC is an System V thingy, and not supported
-                            under BSD.
-
-Clone()  NI noreq       Emu code looks awfully complicated, amd maybe not
-                         possible in user space. Should be based
-                            on RFork if possible
-                        Some developper confirmed there will be no fully kernel
-                        level thread system. The implementation (after BSDI
-                        mergure) will be mixed kernel-userland space.
-
-sysinfo  NI noreq       Not supported under BSD, not even by emulator
-uname    NI noreq       "        "       "    "   "   "    "   "
-                        (procedures based on this call are also commented
-                         (get* procs))
-
-signal   NI  noreq?     A *lot* of emulation code.
-alarm    NI  noreq?     Could be possible to port.
-pause    NI  noreq?     Also possible I think. Uses process information
-                        in linux-emu, that is why I didn't port directly.
-
-
-3 How to build a FreeBSD compiler/RTL ?
------------------------------------------------------------------------------
-
-You'll probably need CVS sources dated after April 16th for this.
-
-3a How to build a FreeBSD system starting on Linux or using the Linux emu of
-   FreeBSD? (Bootstrapping)
-
-The FreeBSD port is experimental atm, though valid native binaries can be
-obtained.
-
-The procedure here is verbose, and for the most akward case.
-If you have linux support on on your FreeBSD machine, or operate on NFS or Samba
-share (so that copying and using the sources in two systems is easier)
-some steps can be omitted or simplified. Just play with it.
-
-STEP A: create the RTL assembler files.
-
-1a. Copy all linux files to a new directory. (here called BSDBUILD), and
-1b. edit the makefile to NOT compile the i386 directory. (we do that by
-    hand for now) I do this by emptying the LOADEROBJECTS= line, and kill
-    all references to the ports unit
-2. Copy all bsd files over them.
-3. Execute  make OPT='-Tlinux -dBSD -a -s -OG3p3' (with any i386 FPC compiler)
-    in directory BSDBUILD. This failed with some go32v2 versions (which wanted
-    to assemble anyway), but worked with several win32 and linux' snapshots.
-
-You now have .ppu's and .s  's for the RTL hopefully. Don't forget
-    i386/prt0.as (which is in fact a .s file)!
-
-STEP B: Create the compiler assembler (.s) sources;
-
-4. Compile with
-   ./bsdcompile -Fu/full_path_to_BSDBUILD -a -s
-
-STEP C: Building the binary
-
-7. Copy all necessary files
-    (- all *.s *.ppu files, both from compiler and BSDBUILD dir,
-     - compiler/link.res and
-     - compiler/ppas.sh
-     - Cut and paste of the DO_S script at the end of this document to file
-     - rtl/bsd/i386/*.s files
-     )
-     to a directory on the BSD machine.
-8a. Change to the directory on the BSD machine, and run the script DO_S to
-    assemble all .s files to .o files.
-8b. Assemble the stub with as prt0.as -o prt0.o
-9. Adapt link.res so that all paths to the BSD machine are right.
-    (remove all paths in front of all .o files, remove the -l lines and their
-      parentheses)
-10a. Edit ppas.sh, and keep only #!/bin/sh and the line starting with ld.
-  b  Remove any -l=ld-linux.so.1 (or similar) option from the ld line.
-  c  run ppas.sh to build the compiler
-
-11. Have fun :-) The compiler is called "pp"
-
-------------
-
-3b How to update FPC compiler on FreeBSD from fresh CVS sources with a snapshot
-installed.
-
-(assuming ppc386 in the PATH, and a rtl/ and compiler/ directory obtained
- from snapshot zips, with non mangled makefiles)
-
-1a  Rename the rtl/linux to something else. (here rtl/linuxorg)
-1b  create a new rtl/linux dir
-1c  copy rtl/linuxorg/* to rtl/linux
-1d  copy rtl/bsd/* to rtl/linux  RECURSIVELY
-2   switch to compiler/
-3   gmake cycle OPT='-OG3p3 -dBSD' will generate a new compiler.
-    Be patient! FreeBSD has slower disk-io than Linux :-)
-
-Do you see why I recommend snapshots?
-
-------------------
-The DO_S script.
-------------------
-#!/bin/sh
-
-for i in *.s; do
- flup=`basename $i .s`
- as $i -o $flup.o
- echo $i
- echo $flup
- done
-
-{
-$Log$
-Revision 1.1  2000-07-13 06:30:32  michael
-+ Initial import
-
-Revision 1.3  2000/04/16 16:11:33  marco
- * Severe updates for now *working* status
-
-Revision 1.2  2000/04/10 15:46:51  marco
- * worked all day. probably a lot changed
-}

+ 0 - 141
rtl/bsd/i386/cprt0.as

@@ -1,141 +0,0 @@
-#
-#   $Id$
-#   This file is part of the Free Pascal run time library.
-#   Copyright (c) 1999-2000 by Marco van de Voort, Michael Van Canneyt
-#                                                  and Peter Vreman
-#   members 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.
-#
-#**********************************************************************}
-#
-# FreeBSD  ELF startup code for Free Pascal for dynamical linking to libc.
-#
-
-        .file   "cprt0.as"
-        .version        "01.01"
-gcc2_compiled.:
-.globl __progname
-.section        .rodata
-.LC0:
-        .ascii "\0"
-.data
-        .p2align 2
-        .type    __progname,@object
-        .size    __progname,4
-__progname:
-        .long .LC0
-        .align  4
-___fpucw:
-        .long   0x1332
-
-        .globl  ___fpc_brk_addr         /* heap management */
-        .type   ___fpc_brk_addr,@object
-        .size   ___fpc_brk_addr,4
-___fpc_brk_addr:
-        .long   0
-
-
-.text
-        .p2align 2
-.globl _start
-        .type    _start,@function
-_start:
-        pushl %ebp
-        movl %esp,%ebp
-        pushl %edi
-        pushl %esi
-        pushl %ebx
-#APP
-        movl %edx,%edx
-#NO_APP
-        leal 8(%ebp),%edi
-        movl %edi,U_SYSLINUX_ARGV
-        mov -4(%edi),%eax
-        movl %eax,U_SYSLINUX_ARGC
-        movl 4(%ebp),%ebx
-        leal 12(%ebp,%ebx,4),%esi
-        movl %esi,U_SYSLINUX_ENVP
-        movl %esi,environ
-        testl %ebx,%ebx
-        jle .L2
-        movl 8(%ebp),%eax
-        testl %eax,%eax
-        je .L2
-        movl %eax,__progname
-        cmpb $0,(%eax)
-        je .L2
-        .p2align 2,0x90
-.L6:
-        cmpb $47,(%eax)
-        jne .L5
-        leal 1(%eax),%ecx
-        movl %ecx,__progname
-.L5:
-        incl %eax
-        cmpb $0,(%eax)
-        jne .L6
-.L2:
-        movl $_DYNAMIC,%eax
-        testl %eax,%eax
-        je .L9
-        pushl %edx
-        call atexit
-        addl $4,%esp
-.L9:
-        pushl $_fini
-        call atexit
-        call _init
-#       pushl %esi
-#       pushl %edi
-#       pushl %ebx
-#       call main
-#       pushl %eax
-#       call exit
-
-
-        finit                           /* initialize fpu */
-        fwait
-        fldcw   ___fpucw
-
-        xorl    %ebp,%ebp
-
-        call main
-        pushl %eax
-        jmp   _haltproc
-
-        .p2align 2,0x90
-        
-.globl _haltproc
-.type _haltproc,@function
-
-_haltproc:
-           mov $1,%eax  
-           movzwl U_SYSLINUX_EXITCODE,%ebx
-           pushl %ebx
-           call .Lactualsyscall
-           addl  $4,%esp
-           jmp   _haltproc
-
-.Lactualsyscall:
-         int $0x80
-         jb .LErrorcode
-         xor %ebx,%ebx
-         ret
-.LErrorcode:
-         mov %eax,%ebx
-         mov $-1,%eax
-         ret
-        .p2align 2,0x90
-.Lfe1:
-
-
-        .size    _start,.Lfe1-_start
-        .comm   environ,4,4
-        .weak   _DYNAMIC
-        .ident  "GCC: (GNU) 2.7.2.1"

+ 0 - 124
rtl/bsd/i386/prt0.as

@@ -1,124 +0,0 @@
-#
-#   $Id$
-#   This file is part of the Free Pascal run time library.
-#   Copyright (c) 1999-2000 by Marco van de Voort, Michael Van Canneyt
-#                                                  and Peter Vreman
-#   members 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.
-#
-#**********************************************************************}
-#
-# FreeBSD standard (static) ELF startup code for Free Pascal
-#
-
-        .file   "prt1.as"
-        .version        "01.01"
-gcc2_compiled.:
-.globl __progname
-.section        .rodata
-.LC0:
-        .ascii "\0"
-.data
-        .p2align 2
-        .type    __progname,@object
-        .size    __progname,4
-__progname:
-        .long .LC0
-        .align  4
-___fpucw:
-        .long   0x1332
-
-        .globl  ___fpc_brk_addr         /* heap management */
-        .type   ___fpc_brk_addr,@object
-        .size   ___fpc_brk_addr,4
-___fpc_brk_addr:
-        .long   0
-
-
-.text
-        .p2align 2
-.globl _start
-        .type    _start,@function
-_start:
-        pushl %ebp
-        movl %esp,%ebp
-        pushl %edi
-        pushl %esi
-        pushl %ebx
-#APP
-        movl %edx,%edx
-#NO_APP
-        leal 8(%ebp),%edi
-        movl %edi,U_SYSLINUX_ARGV
-        mov -4(%edi),%eax
-        movl %eax,U_SYSLINUX_ARGC
-        movl 4(%ebp),%ebx
-        leal 12(%ebp,%ebx,4),%esi
-        movl %esi,U_SYSLINUX_ENVP
-        movl %esi,environ
-        testl %ebx,%ebx
-        jle .L2
-        movl 8(%ebp),%eax
-        testl %eax,%eax
-        je .L2
-        movl %eax,__progname
-        cmpb $0,(%eax)
-        je .L2
-        .p2align 2,0x90
-.L6:
-        cmpb $47,(%eax)
-        jne .L5
-        leal 1(%eax),%ecx
-        movl %ecx,__progname
-.L5:
-        incl %eax
-        cmpb $0,(%eax)
-        jne .L6
-.L2:
-.L9:
-
-# copied from linux
-
-        finit                           /* initialize fpu */
-        fwait
-        fldcw   ___fpucw
-
-        xorl    %ebp,%ebp
-
-        call main
-        pushl %eax
-        jmp   _haltproc
-        
-.p2align 2,0x90
-.globl _haltproc
-.type _haltproc,@function
-
-_haltproc:
-           mov $1,%eax  
-           movzwl U_SYSLINUX_EXITCODE,%ebx
-           pushl %ebx
-           call _actualsyscall
-           addl  $4,%esp
-           jmp   _haltproc
-
-_actualsyscall:
-         int $0x80
-         jb .LErrorcode
-         xor %ebx,%ebx
-         ret
-.LErrorcode:
-         mov %eax,%ebx
-         mov $-1,%eax
-         ret
-        .p2align 2,0x90
-.Lfe1:
-        .size    _start,.Lfe1-_start
-        .comm   environ,4,4
-        .weak   _DYNAMIC
-        .ident  "GCC: (GNU) 2.7.2.1"

+ 0 - 420
rtl/bsd/syscalls.inc

@@ -1,420 +0,0 @@
-{
-    $Id$
-    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.
-
-    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.
-
- **********************************************************************}
-
-{BSD version of the syscalls required to implement SysLinux.}
-
-{No debugging for syslinux include !}
-{$IFDEF SYS_LINUX}
-  {$UNDEF SYSCALL_DEBUG}
-{$ENDIF SYS_LINUX}
-
-{*****************************************************************************
-                     --- Main:The System Call Self ---
-*****************************************************************************}
-
-{ The system designed for Linux can't be used for FreeBSD so easily, since
-  FreeBSD pushes arguments, instead of loading them to registers.
-
-For now I do them in assembler, which makes it easier to test them (copy and
-paste to and AS source). Ultimately I hope to design something like this}
-
-{actualsyscall:
-  _actualsyscall : int $0x80
-                   jb someerror
-                   ret
-      someerror:   storeerrorsomewhere
-                   ret
-}
-
-{
-procedure actualsyscall; cdecl; EXTERNAL NAME '_actualsyscall';
-}
-
-procedure actualsyscall; assembler;
-    asm
-         int $0x80
-         jb .LErrorcode
-         xor %ebx,%ebx
-         ret
-.LErrorcode:
-	 mov %eax,%ebx
-         mov $-1,%eax
-   end;
-
-
-function Do_SysCall(sysnr:LONGINT):longint; assembler;
-
-asm
-  movl  sysnr,%eax
-  call  actualsyscall
-  movw  %bx,Errno
-end;
-
-function Do_SysCall(sysnr,param1:longint):longint; assembler;
-
- asm
-  movl  sysnr,%eax
-  pushl Param1
-  call  actualsyscall
-  addl  $4,%esp
-  movw  %bx,Errno
- end;
-
-function Do_SysCall(sysnr,param1:integer):longint; assembler;
-
- asm
-  movl  sysnr,%eax
-  pushw Param1
-  call  actualsyscall
-  addw  $2,%esp
-  movw  %bx,Errno
- end;
-
-
-function Do_SysCall(sysnr,param1,param2:LONGINT):longint; assembler;
-
- asm
-   movl  sysnr,%eax
-   pushl param2
-   pushl Param1
-   call  actualsyscall
-   addl  $8,%esp
-   movw  %bx,Errno
- end;
-
-function Do_SysCall(sysnr,param1,param2,param3:LONGINT):longint; assembler;
-
- asm
-   movl  sysnr,%eax
-   pushl param3
-   pushl param2
-   pushl Param1
-   call  actualsyscall
-   addl  $12,%esp
-   movw  %bx,Errno
- end;
-
-function Do_SysCall(sysnr,param1,param2,param3,param4:LONGINT):longint; assembler;
-
-asm
-   movl  sysnr,%eax
-   pushl param4
-   pushl param3
-   pushl param2
-   pushl Param1
-   call  actualsyscall
-   addl  $16,%esp
-   movw  %bx,Errno
-end;
-
-
-function Do_SysCall(sysnr,param1,param2,param3,param4,param5:LONGINT):longint;  assembler;
-
- asm
-   movl  sysnr,%eax
-   pushl param5
-   pushl param4
-   pushl param3
-   pushl param2
-   pushl Param1
-   call  actualsyscall
-   addl  $20,%esp
-   movw  %bx,Errno
- end;
-
-function Do_SysCall(sysnr,param1,param2,param3,param4,param5,param6,param7:LONGINT):longint;  assembler;
-
-asm
-   movl  sysnr,%eax
-   pushl param7
-   pushl param6
-   pushl param5
-   pushl param4
-   pushl param3
-   pushl param2
-   pushl Param1
-   call  actualsyscall
-   addl  $28,%esp
-   movw  %bx,Errno
-end;
-
-Function Sys_Time:longint;
-
-VAR tv     : timeval;
-    tz     : timezone;
-    retval : longint;
-
-begin
-  Retval:=do_syscall(116,longint(@tv),longint(@tz));
-  If retval=-1 then
-   sys_time:=-1
-  else
-   sys_time:=tv.sec;
-end;
-
-{*****************************************************************************
-               --- File:File handling related calls ---
-*****************************************************************************}
-
-
-Function Sys_Open(f:pchar;flags:longint;mode:integer):longint;
-
-Begin
- sys_open:=do_syscall(syscall_nr_open,longint(f),flags,mode);
-End;
-
-Function Sys_Close(f:longint):longint;
-
-begin
- sys_close:=do_syscall(syscall_nr_close,f);
-end;
-
-{
-Function Sys_Lseek(F:longint;Off:longint;Whence:longint):longint;
-
-var returnvalue64 : array[0..1] of longint;
-
-begin
- {Lseek's offset is 64-bit, the highword  is the 0}
- do_syscall(syscall_nr_lseek,longint(@returnvalue64),F,Off,0,Whence);
- sys_lseek:=returnvalue64[0];
-end;
-
-}
-
-Function Sys_Lseek(F:longint;Off:longint;Whence:longint):longint; assembler;
-
-{this one is special for the return value being 64-bit..}
-
- asm
-  pushl Whence
-  pushl $0      // high dword
-  pushl Off
-  pushl $0
-  pushl F
-  pushl $0      // Your guess is as good as mine.
-  pushl $0xc7   // Actual lseek syscall number.
-  movl  $0xc6,%eax
-  call  actualsyscall
-  addl  $28,%esp
-  mov   %ebx,Errno
- end;
-
-Function Sys_Read(f:longint;buffer:pchar;count:longint):longint;
-
-begin
-  sys_read:=do_syscall(syscall_nr_read,F,longint(buffer),count);
-end;
-
-Function Sys_Write(f:longint;buffer:pchar;count:longint):longint;
-
-begin
- sys_write:=do_syscall(syscall_nr_write,F,longint(buffer),count);
-end;
-
-Function Sys_Unlink(Filename:pchar):longint;
-
-begin
-  sys_unlink:=do_syscall(syscall_nr_unlink,longint(Filename));
-end;
-
-Function Sys_Rename(Oldname,Newname:pchar):longint;
-
-begin
-  sys_rename:=do_syscall(syscall_nr_rename,longint(oldname),longint(newname));
-end;
-
-Function Sys_Stat(Filename:pchar;var Buffer: stat):longint;
-{
-   We need this for getcwd
-}
-
-begin
- sys_stat:=do_syscall(syscall_nr_stat,longint(filename),longint(@buffer));
-end;
-
-Function Sys_Symlink(oldname,newname:pchar):longint;
-{
-  We need this for erase
-}
-
-begin
- sys_symlink:=do_syscall(syscall_nr_symlink,longint(oldname),longint(newname));
-end;
-
-
-Function Sys_ReadLink(name,linkname:pchar;maxlen:longint):longint;
-
-begin
-  sys_readlink:=do_syscall(syscall_nr_readlink, longint(name),longint(linkname),maxlen);
-end;
-
-
-
-{*****************************************************************************
-               --- Directory:Directory related calls ---
-*****************************************************************************}
-
-Function Sys_Chdir(Filename:pchar):longint;
-
-begin
- sys_chdir:=do_syscall(syscall_nr_chdir,longint(filename));
-end;
-
-Function Sys_Mkdir(Filename:pchar;mode:longint):longint;
-
-begin {Mode is 16-bit on F-BSD}
-  sys_mkdir:=do_syscall(syscall_nr_mkdir,longint(filename),mode shl 8);
-end;
-
-Function Sys_Rmdir(Filename:pchar):longint;
-
-begin
- sys_rmdir:=do_syscall(syscall_nr_rmdir,longint(filename));
-end;
-
-
-const DIRBLKSIZ=1024;
-
-
-{ we need this for getcwd, NOT touched for BSD version }
-Function OpenDir(f:pchar):pdir;
-
-var
-  fd:longint;
-  st:stat;
-  ptr:pdir;
-begin
-  opendir:=nil;
-  if sys_stat(f,st)<0 then
-   exit;
-{ Is it a dir ? }
-  if not((st.mode and $f000)=$4000)then
-   begin
-     errno:=sys_enotdir;
-     exit
-   end;
-{ Open it}
-  fd:=sys_open(f,OPEN_RDONLY,438);
-  if fd<0 then
-   exit;
-  new(ptr);
-  if ptr=nil then
-   exit;
-  Getmem(ptr^.buf,2*DIRBLKSIZ);
-  if ptr^.buf=nil then
-   exit;
-  ptr^.fd:=fd;
-  ptr^.loc:=-1;
-  ptr^.rewind:=longint(ptr^.buf);
-  ptr^.size:=0;
-//  ptr^.dd_max:=sizeof(ptr^.buf^);
-  opendir:=ptr;
-end;
-
-function CloseDir(p:pdir):integer;
-begin
-  closedir:=sys_close(p^.fd);
-  Freemem(p^.buf);
-  dispose(p);
-end;
-
-
-Function Sys_ReadDir(p:pdir):pdirent;
-{Different from Linux, Readdir on BSD is based on Getdents, due to the
-missing of the readdir syscall.
-Getdents requires the buffer to be larger than the blocksize.
-This usually the sectorsize =512 bytes, but maybe tapedrives and harddisks
-with blockmode have this higher?}
-
-function readbuffer:longint;
-
-var retval :longint;
-
-begin
-   retval:=do_syscall(syscall_nr_getdents,longint(p^.fd),longint(@p^.buf^),DIRBLKSIZ {sizeof(getdentsbuffer)});
-   p^.rewind:=longint(p^.buf);
-   if retval=0 then
-    begin
-     p^.rewind:=0;
-     p^.loc:=0;
-    end
-   else
-    P^.loc:=retval;
- readbuffer:=retval;
-end;
-
-var
-    l              : pdirent;
-    novalid        : boolean;
-
-begin
- if (p^.buf=nil) or (p^.loc=0) THEN
-  exit(nil);
- if p^.loc=-1 then         {First readdir on this pdir. Initial fill of buffer}
-  begin
-   if readbuffer()=0 Then    {nothing to be read}
-    exit(nil)
-  end;
- l:=nil;
- repeat
-  novalid:=false;
-  if (pdirent(p^.rewind)^.reclen<>0) then
-   begin {valid direntry?}
-    if pdirent(P^.rewind)^.ino<>0 then
-     l:=pdirent(p^.rewind);       
-    inc(p^.rewind,pdirent(p^.rewind)^.reclen);
-    if p^.rewind>=(longint(p^.buf)+dirblksiz) then
-     novalid:=true;
-   end
-  else
-   novalid:=true;
-  if novalid then
-   begin {block entirely searched or reclen=0}
-    if p^.loc<>0 THEN             {blocks left?}
-     if readbuffer()<>0 then        {succesful read?}
-      novalid:=false;
-   end;
- until (l<>nil) or novalid;
- Sys_ReadDir:=l;
-end;
-
-
-{*****************************************************************************
-        --- Process:Process & program handling - related calls ---
-*****************************************************************************}
-
-
-Function sys_GetPid:LongInt;
-{
-  Get Process ID.
-}
-
-begin
- sys_GetPID:=do_syscall(syscall_nr_getpid);
-end;
-
-Procedure Sys_Exit(ExitCode:longint);
-
-begin
-  do_syscall(syscall_nr_exit,exitcode);
-end;
-
-{
-  $Log$
-  Revision 1.2  2000-07-13 11:33:37  michael
-  + removed logs
- 
-}

+ 0 - 93
rtl/bsd/sysconst.inc

@@ -1,93 +0,0 @@
-{
-    $Id$
-    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.
-
-    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.
-
- **********************************************************************}
-
-{BSD version, only the blocks with BSD in the comment are updated}
-
-Const
-  { Things for LSEEK call, same in linux and BSD }
-  Seek_set = 0;
-  Seek_Cur = 1;
-  Seek_End = 2;
-  { Things for OPEN call - after include/sys/fcntl.h, BSD updated.
-   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;
-
-
-  { The waitpid uses the following options:}
-  Wait_NoHang   = 1;
-  Wait_UnTraced = 2;
-  Wait_Any      = -1; 
-  Wait_MyPGRP   = 0;  
-  { Constants to check stat.mode -  checked all STAT constants with BSD}
-  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;
-
-  { 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;
-
-{
-  $Log$
-  Revision 1.2  2000-07-13 11:33:37  michael
-  + removed logs
- 
-}

+ 0 - 373
rtl/bsd/sysnr.inc

@@ -1,373 +0,0 @@
-{
-    $Id$
-    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.
-
-    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.
-
- **********************************************************************}
-
-const
-{ Unverified calls.
- syscall_nr_setup                       =   0;
- syscall_nr_creat                       =   8;
- syscall_nr_time                        =  13;
- syscall_nr_break                       =  17;
- syscall_nr_oldstat                     =  18;
- syscall_nr_mount                       =  21;
- syscall_nr_umount                      =  22;
- syscall_nr_setuid                      =  23;
- syscall_nr_stime                       =  25;
- syscall_nr_ptrace                      =  26;
- syscall_nr_alarm                       =  27;
- syscall_nr_oldfstat                    =  28;
- syscall_nr_pause                       =  29;
- syscall_nr_stty                        =  31;
- syscall_nr_gtty                        =  32;
- syscall_nr_nice                        =  34;
- syscall_nr_ftime                       =  35;
- syscall_nr_sync                        =  36;
- syscall_nr_times                       =  43;
- syscall_nr_prof                        =  44;
- syscall_nr_brk                         =  45;
- syscall_nr_setgid                      =  46;
- syscall_nr_signal                      =  48;
- syscall_nr_acct                        =  51;
- syscall_nr_phys                        =  52;
- syscall_nr_lock                        =  53;
- syscall_nr_mpx                         =  56;
- syscall_nr_setpgid                     =  57;
- syscall_nr_ulimit                      =  58;
- syscall_nr_oldolduname                 =  59;
- syscall_nr_chroot                      =  61;
- syscall_nr_ustat                       =  62;
- syscall_nr_getpgrp                     =  65;
- syscall_nr_setsid                      =  66;
- syscall_nr_sgetmask                    =  68;
- syscall_nr_ssetmask                    =  69;
- syscall_nr_setreuid                    =  70;
- syscall_nr_setregid                    =  71;
- syscall_nr_sethostname                 =  74;
- syscall_nr_setrlimit                   =  75;
- syscall_nr_getrlimit                   =  76;
- syscall_nr_getrusage                   =  77;
- syscall_nr_settimeofday                =  79;
- syscall_nr_getgroups                   =  80;
- syscall_nr_setgroups                   =  81;
- syscall_nr_oldlstat                    =  84;
- syscall_nr_uselib                      =  86;
- syscall_nr_swapon                      =  87;
- syscall_nr_reboot                      =  88;
- syscall_nr_readdir                     =  89;
- syscall_nr_munmap                      =  91;
- syscall_nr_truncate                    =  92;
- syscall_nr_fchmod                      =  94;
- syscall_nr_fchown                      =  95;
- syscall_nr_profil                      =  98;
- syscall_nr_ioperm                      = 101;
- syscall_nr_socketcall                  = 102;
- syscall_nr_syslog                      = 103;
- syscall_nr_setitimer                   = 104;
- syscall_nr_getitimer                   = 105;
- syscall_nr_olduname                    = 109;
- syscall_nr_iopl                        = 110;
- syscall_nr_vhangup                     = 111;
- syscall_nr_idle                        = 112;
- syscall_nr_vm86old                     = 113;
- syscall_nr_wait4                       = 114;
- syscall_nr_swapoff                     = 115;
- syscall_nr_sysinfo                     = 116;
- syscall_nr_ipc                         = 117;
- syscall_nr_sigreturn                   = 119;
- syscall_nr_clone                       = 120;
- syscall_nr_setdomainname               = 121;
- syscall_nr_uname                       = 122;
- syscall_nr_modify_ldt                  = 123;
- syscall_nr_adjtimex                    = 124;
- syscall_nr_mprotect                    = 125;
- syscall_nr_create_module               = 127;
- syscall_nr_init_module                 = 128;
- syscall_nr_delete_module               = 129;
- syscall_nr_get_kernel_syms             = 130;
- syscall_nr_quotactl                    = 131;
- syscall_nr_getpgid                     = 132;
- syscall_nr_fchdir                      = 133;
- syscall_nr_bdflush                     = 134;
- syscall_nr_sysfs                       = 135;
- syscall_nr_personality                 = 136;
- syscall_nr_afs_syscall                 = 137;
- syscall_nr_setfsuid                    = 138;
- syscall_nr_setfsgid                    = 139;
- syscall_nr__llseek                     = 140;
- syscall_nr__newselect                  = 142;
- syscall_nr_msync                       = 144;
- syscall_nr_readv                       = 145;
- syscall_nr_writev                      = 146;
- syscall_nr_getsid                      = 147;
- syscall_nr_fdatasync                   = 148;
- syscall_nr__sysctl                     = 149;
- syscall_nr_mlock                       = 150;
- syscall_nr_munlock                     = 151;
- syscall_nr_mlockall                    = 152;
- syscall_nr_munlockall                  = 153;
- syscall_nr_sched_setparam              = 154;
- syscall_nr_sched_getparam              = 155;
- syscall_nr_sched_setscheduler          = 156;
- syscall_nr_sched_getscheduler          = 157;
- syscall_nr_sched_yield                 = 158;
- syscall_nr_sched_get_priority_max      = 159;
- syscall_nr_sched_get_priority_min      = 160;
- syscall_nr_sched_rr_get_interval       = 161;
- syscall_nr_nanosleep                   = 162;
- syscall_nr_mremap                      = 163;
- syscall_nr_setresuid                   = 164;
- syscall_nr_getresuid                   = 165;
- syscall_nr_vm86                        = 166;
- syscall_nr_query_module                = 167;
- syscall_nr_poll                        = 168;
-}
-
-{More or less checked BSD syscalls}
-
- syscall_nr_exit                        =   1;
- syscall_nr_fork                        =   2;
- syscall_nr_read                        =   3;
- syscall_nr_write                       =   4;
- syscall_nr_open                        =   5;
- syscall_nr_close                       =   6;
- syscall_nr_waitpid                     =   7;
- syscall_nr_link                        =   9;
- syscall_nr_unlink                      =  10;
- syscall_nr_chdir                       =  12;
- syscall_nr_mknod                       =  14;
- syscall_nr_chmod                       =  15;
- syscall_nr_chown                       =  16;
- syscall_nr_getpid                      =  20;
- syscall_nr_getuid                      =  24;
- syscall_nr_geteuid                     =  25;
- syscall_nr_access                      =  33;
- syscall_nr_kill                        =  37;
- syscall_nr_rename                      = 128;
- syscall_nr_getppid                     =  39;
- syscall_nr_dup                         =  41;
- syscall_nr_pipe                        =  42;
- syscall_nr_getegid                     =  43;
- syscall_nr_getgid                      =  47;
- syscall_nr_sigprocmask                 = 340;
- syscall_nr_sigpending                  = 343;
- syscall_nr_ioctl                       =  54;
- syscall_nr_symlink                     =  57;
- syscall_nr_readlink                    =  58;
- syscall_nr_execve                      =  59;
- syscall_nr_umask                       =  60;
- syscall_nr_dup2                        =  90;
- syscall_nr_fcntl                       =  92;
- syscall_nr_select                      =  93;
- syscall_nr_fsync                       =  95;
- syscall_nr_setpriority                 =  96;
- syscall_nr_getpriority                 = 100;
- syscall_nr_sigsuspend                  = 341;
- syscall_nr_sigaction                   = 342;
- syscall_nr_gettimeofday                = 116;
- syscall_nr_flock                       = 131;
- syscall_nr_mkdir                       = 136;
- syscall_nr_rmdir                       = 137;
- syscall_nr_utimes                      = 138;
- syscall_nr_statfs                      = 157;
- syscall_nr_fstatfs                     = 158;
- syscall_nr_stat                        = 188;
- syscall_nr_fstat                       = 189;
- syscall_nr_lstat                       = 190;
- syscall_nr_mmap                        = 197;
- syscall_nr_lseek                       = 199;
- syscall_nr_ftruncate                   = 201;
- syscall_nr_getdents                    = 272;
-
-
-{$IFNDEF BSD}
-{$IFDEF SYSCALL_DEBUG}
-const
-  Sys_nr_txt : array[0..168] of string[15]=(
-   'Setup',		{   0 }
-   'Exit',		{   1 }
-   'Fork',		{   2 }
-   'Read',		{   3 }
-   'Write',		{   4 }
-   'Open',		{   5 }
-   'Close',		{   6 }
-   'WaitPid',		{   7 }
-   'Create',		{   8 }
-   'Link',		{   9 }
-   'UnLink',		{  10 }
-   'ExecVe',		{  11 }
-   'ChDir',		{  12 }
-   'Time',		{  13 }
-   'MkNod',		{  14 }
-   'ChMod',		{  15 }
-   'ChOwn',		{  16 }
-   'Break',		{  17 }
-   'OldState',		{  18 }
-   'LSeek',		{  19 }
-   'GetPid',		{  20 }
-   'Mount',		{  21 }
-   'UMount',		{  22 }
-   'SetUid',		{  23 }
-   'GetUid',		{  24 }
-   'STime',		{  25 }
-   'PTrace',		{  26 }
-   'Alarm',		{  27 }
-   'OldFStat',		{  28 }
-   'Pause',		{  29 }
-   'UTime',		{  30 }
-   'STTY',		{  31 }
-   'GTTY',		{  32 }
-   'Access',		{  33 }
-   'Nice',		{  34 }
-   'FTime',		{  35 }
-   'Sync',		{  36 }
-   'Kill',		{  37 }
-   'Rename',		{  38 }
-   'MkDir',		{  39 }
-   'RmDir',		{  40 }
-   'Dup',		{  41 }
-   'Pipe',		{  42 }
-   'Times',		{  43 }
-   'Prof',		{  44 }
-   'Break',		{  45 }
-   'SetGid',		{  46 }
-   'GetGid',		{  47 }
-   'Signal',		{  48 }
-   'GetEUid',		{  49 }
-   'GetEGid',		{  50 }
-   'Acct',		{  51 }
-   'Phys',		{  52 }
-   'Lock',		{  53 }
-   'IOCtl',		{  54 }
-   'FCNtl',		{  55 }
-   'Mpx',		{  56 }
-   'SetPGid',		{  57 }
-   'ULimit',		{  58 }
-   'OldOldUName',	{  59 }
-   'UMask',		{  60 }
-   'ChRoot',		{  61 }
-   'UStat',		{  62 }
-   'Dup2',		{  63 }
-   'GetPPid',		{  64 }
-   'GetPGrp',		{  65 }
-   'SetSid',		{  66 }
-   'SigAction',		{  67 }
-   'SGetMask',		{  68 }
-   'SSetMask',		{  69 }
-   'SetReUid',		{  70 }
-   'SetReGid',		{  71 }
-   'SigSuspend',	{  72 }
-   'SigPending',	{  73 }
-   'SetHostName',	{  74 }
-   'SetRLimit',		{  75 }
-   'GetRLimit',		{  76 }
-   'GetRUsage',		{  77 }
-   'GetTimeOfDay',	{  78 }
-   'SetTimeOfDay',	{  79 }
-   'GetGroups',		{  80 }
-   'SetGroups',		{  81 }
-   'Select',		{  82 }
-   'SymLink',		{  83 }
-   'OldLStat',		{  84 }
-   'ReadLink',		{  85 }
-   'UseLib',		{  86 }
-   'SwapOn',		{  87 }
-   'Reboot',		{  88 }
-   'ReadDir',		{  89 }
-   'MMap',		{  90 }
-   'MunMap',		{  91 }
-   'Truncate',		{  92 }
-   'FTruncate',		{  93 }
-   'FChMod',		{  94 }
-   'FChOwn',		{  95 }
-   'GetPriority',	{  96 }
-   'SetPriority',	{  97 }
-   'Profile',		{  98 }
-   'StatFs',		{  99 }
-   'FStatFs',		{ 100 }
-   'IOPerm',		{ 101 }
-   'SocketCall',	{ 102 }
-   'SysLog',		{ 103 }
-   'SetITimer',		{ 104 }
-   'GetITimer',		{ 105 }
-   'Stat',		{ 106 }
-   'LStat',		{ 107 }
-   'FStat',		{ 108 }
-   'OldUName',		{ 109 }
-   'IOPl',		{ 110 }
-   'VHangup',		{ 111 }
-   'Idle',		{ 112 }
-   'VM86',		{ 113 }
-   'Wait4',		{ 114 }
-   'SwapOff',		{ 115 }
-   'SysInfo',		{ 116 }
-   'IPC',		{ 117 }
-   'FSync',		{ 118 }
-   'SigReturn',		{ 119 }
-   'Clone',		{ 120 }
-   'SetDomainName',	{ 121 }
-   'UName',		{ 122 }
-   'Modify_Ldt',	{ 123 }
-   'AdjTimeX',		{ 124 }
-   'MProtect',		{ 125 }
-   'SigProcMask',	{ 126 }
-   'Create_Module',	{ 127 }
-   'Init_Module',	{ 128 }
-   'Delete_Module',	{ 129 }
-   'Get_Kernel_Syms',	{ 130 }
-   'QuotaCtl',		{ 131 }
-   'GetPGid',		{ 132 }
-   'FChDir',		{ 133 }
-   'BDFlush',		{ 134 }
-   'SysFs',		{ 135 }
-   'Personality',	{ 136 }
-   'AFS_SysCall',	{ 137 }
-   'SetFsUid',		{ 138 }
-   'SetFsGid',		{ 139 }
-   '__LLSeek',		{ 140 }
-   'GetDents',		{ 141 }
-   '__NewSelect',	{ 142 }
-   'FLock',		{ 143 }
-   'MSync',		{ 144 }
-   'ReadV',		{ 145 }
-   'WriteV',		{ 146 }
-   'GetSid',		{ 147 }
-   'FDataSync',		{ 148 }
-   '__SysCtl',		{ 149 }
-   'MLock',		{ 150 }
-   'MUnLock',		{ 151 }
-   'MLockAll',		{ 152 }
-   'MUnLockAll',	{ 153 }
-   'MSchdSetParam',	{ 154 }
-   'MSchdGetParam',	{ 155 }
-   'MSchdSetSchd',	{ 156 }
-   'MSchdGetSchd',	{ 157 }
-   'MSchdYield',	{ 158 }
-   'MSchdGetPriMax',	{ 159 }
-   'MSchdGetPriMin',	{ 160 }
-   'MSchdRRGetInt',	{ 161 }
-   'NanoSleep',		{ 162 }
-   'MRemap',		{ 163 }
-   'SetReSuid',		{ 164 }
-   'GetReSuid',		{ 165 }
-   'vm86',		{ 166 }
-   'QueryModule',	{ 167 }
-   'Poll');		{ 168 }
-{$ENDIF}
-{$ENDIF}
-{
-  $Log$
-  Revision 1.2  2000-07-13 11:33:38  michael
-  + removed logs
- 
-}

+ 0 - 158
rtl/bsd/systypes.inc

@@ -1,158 +0,0 @@
-{
-    $Id$
-    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.
-
-    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.
-
- **********************************************************************}
-type
-
-{
- Linux system calls take arguments as follows :
-
-   i386/m68k:
-
-   %eax/%d0 : System call number
-   %ebx/%d1 : first argument
-   %ecx/%d2 : second argument
-   %edx/%d3 : third argumens
-   %esi/%d3 : fourth argument
-   %edi/%d4 : fifth argument
-
-  That is why we define a special type, with only these arguments
-  To make it processor independent, we don't give any system dependent
-  names, but the rather abstract reg1,reg2 etc;
-}
-  SysCallRegs=record
-    reg1,reg2,reg3,reg4,reg5,reg6 : longint;
-  end;
-  PSysCallRegs=^SysCallRegs;
-  TSysCallRegs=SysCallRegs;
-
-{ The following are records for system calls BSD updated }
-  dirent = packed record
-    ino    : cardinal;		{ This is not inode number, but "a number
-				  unique for each file on a filesystem"}
-    reclen : word;
-    d_type,
-    namlen : byte;
-    name   : array [0..255] of char;
-  end;
-
-  pdirent =^dirent;
-  TDirEnt = dirent;
-
-    TDir= packed record {BSD libc record.}
-            fd    : longint;    { file descriptor associated with directory }
-            loc,                { offset in current buffer }
-            size  : cardinal;   { amount of data returned by getdirentries}
-            buf   : pdirent;    { data buffer, actually a pchar}
-            len   : longint;    { size of data buffer 	}
-            seek,               { magic cookie returned by getdirentries}
-            rewind: cardinal;   { magic cookie for rewinding}
-            flags : longint;    { flags for readdir }
-            end;
-
-{ Linux kernel record
-    TDir = packed record
-            fd     : longint;
-            loc    : longint;
-            size   : integer;
-            buf    : pdirent;
-   {The following are used in libc, but NOT in the linux kernel sources ??}
-            nextoff: longint;
-            dd_max : integer; {size of buf. Irrelevant, as buf is of type dirent}
-            lock   : pointer;
-            dummy  : array[0..1023] of char;
-            end;}
-
-  PDir =^TDir;
-
-{$packrecords C}
- Stat =record {BSD version}
-        dev,                            { inode's device }
-        ino        :  cardinal;         { inode's number }
-        mode, 				{ inode protection mode }
-        nlink	   :  word;             { number of hard links }
-        uid,				{ user ID of the file's owner }
-        gid,				{ group ID of the file's group }
-        dev_t	   :  cardinal;		{ device type }
-	atime,                          { time of last access }
-	atime_nsec,         		{ nsec of last access }
-	mtime,	           		{ time of last data modification }
-	mtime_nsec,         		{ nsec of last data modification }
-	ctime,            		{ time of last file status change }
-	ctime_nsec : longint;      	{ nsec of last file status change }
-	size,           		{ file size, in bytes }
-	blocks     : Int64;		{ blocks allocated for file }
-	blksze,         		{ optimal blocksize for I/O }
-	flags,          		{ user defined flags for file }
-	filegen    : cardinal;		{ file generation number }
-	lspare	   : longint;
-	qspare     : array[0..1] of int64;
-       end;
-
-  PStat=^Stat;
-  TStat=Stat;
-
-  Statfs = packed record
-    spare2,	       { place holder}
-    bsize,	       { fundamental block size}
-    iosize,            { optimal block size }
-    blocks,            {  total blocks}
-    bfree,             { blocks free}
-    bavail,            { block available for mortal users}
-    files,	       { Total file nodes}
-    ffree	   : longint;    { file nodes free}
-    fsid	   : array[0..1] of longint;
-    fowner	   : longint; {mounter uid}
-    ftype	   : longint;
-    fflags         : longint; {copy of mount flags}
-    spare          : array [0..1] of longint; { For later use }
-    fstypename     : array[0..15] of char;
-    mountpoint     : array[0..89] of char;
-    mnfromname     : array[0..89] of char;
-  end;
-  PStatFS=^StatFS;
-  TStatFS=StatFS;
-
-  fdSet=array[0..7] of longint;{=256 bits}
-  pfdset=^fdset;
-  TFDSet=fdset;
-
-  timeval = packed record
-    sec,usec:int64;
-  end;
-  ptimeval=^timeval;
-  TTimeVal=timeval;
-
-  timezone = packed record
-    minuteswest,dsttime:longint;
-  end;
-  ptimezone =^timezone;
-  TTimeZone = timezone;
-
-  utsname = packed record
-    sysname,
-    nodename,
-    release,
-    version,
-    machine,
-    domainname : Array[0..64] of char;
-  end;
-  PUTSName=^UTSName;
-  TUTSName=UTSName;
-
-{
-  $Log$
-  Revision 1.2  2000-07-13 11:33:38  michael
-  + removed logs
- 
-}