Browse Source

- prt1.as removed
- removed tmporary code/comments
- prt1 compilation error workaround removed

yuri 21 years ago
parent
commit
fab546e6d1
5 changed files with 69 additions and 321 deletions
  1. 38 223
      rtl/os2/Makefile
  2. 4 15
      rtl/os2/Makefile.fpc
  3. 17 4
      rtl/os2/prt0.as
  4. 0 62
      rtl/os2/prt1.as
  5. 10 17
      rtl/os2/system.pas

+ 38 - 223
rtl/os2/Makefile

@@ -1,8 +1,8 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2004/01/05]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2002/04/24]
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom
+MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware
 override PATH:=$(subst \,/,$(PATH))
 override PATH:=$(subst \,/,$(PATH))
 ifeq ($(findstring ;,$(PATH)),)
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
 inUnix=1
@@ -10,7 +10,6 @@ SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
 else
 else
 SEARCHPATH:=$(subst ;, ,$(PATH))
 SEARCHPATH:=$(subst ;, ,$(PATH))
 endif
 endif
-SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
 ifeq ($(PWD),)
 ifeq ($(PWD),)
 PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
 PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
@@ -33,7 +32,7 @@ inOS2=1
 endif
 endif
 endif
 endif
 else
 else
-ifneq ($(findstring cygdrive,$(PATH)),)
+ifneq ($(findstring cygwin,$(MACHTYPE)),)
 inCygWin=1
 inCygWin=1
 endif
 endif
 endif
 endif
@@ -43,9 +42,6 @@ endif
 ifeq ($(OS_TARGET),netbsd)
 ifeq ($(OS_TARGET),netbsd)
 BSDhier=1
 BSDhier=1
 endif
 endif
-ifeq ($(OS_TARGET),openbsd)
-BSDhier=1
-endif
 ifdef inUnix
 ifdef inUnix
 BATCHEXT=.sh
 BATCHEXT=.sh
 else
 else
@@ -59,9 +55,6 @@ ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
 PATHSEP:=$(subst /,\,/)
 PATHSEP:=$(subst /,\,/)
-ifdef inCygWin
-PATHSEP=/
-endif
 endif
 endif
 ifdef PWD
 ifdef PWD
 BASEDIR:=$(subst \,/,$(shell $(PWD)))
 BASEDIR:=$(subst \,/,$(shell $(PWD)))
@@ -91,8 +84,8 @@ endif
 endif
 endif
 export ECHO
 export ECHO
 endif
 endif
-override OS_TARGET_DEFAULT=os2
-override CPU_TARGET_DEFAULT=i386
+OS_TARGET=os2
+CPU_TARGET=i386
 override DEFAULT_FPCDIR=../..
 override DEFAULT_FPCDIR=../..
 ifndef FPC
 ifndef FPC
 ifdef PP
 ifdef PP
@@ -114,38 +107,37 @@ endif
 override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
 override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
 override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
 override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
 ifndef FPC_VERSION
 ifndef FPC_VERSION
-FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
-FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
+FPC_VERSION:=$(shell $(FPC) -iV)
 endif
 endif
-export FPC FPC_VERSION FPC_COMPILERINFO
+export FPC FPC_VERSION
 unexport CHECKDEPEND ALLDEPENDENCIES
 unexport CHECKDEPEND ALLDEPENDENCIES
+ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
+COMPILERINFO:=$(shell $(FPC) -iSP -iTP -iSO -iTO)
+ifndef CPU_SOURCE
+CPU_SOURCE:=$(word 1,$(COMPILERINFO))
+endif
 ifndef CPU_TARGET
 ifndef CPU_TARGET
-ifdef CPU_TARGET_DEFAULT
-CPU_TARGET=$(CPU_TARGET_DEFAULT)
+CPU_TARGET:=$(word 2,$(COMPILERINFO))
 endif
 endif
+ifndef OS_SOURCE
+OS_SOURCE:=$(word 3,$(COMPILERINFO))
 endif
 endif
 ifndef OS_TARGET
 ifndef OS_TARGET
-ifdef OS_TARGET_DEFAULT
-OS_TARGET=$(OS_TARGET_DEFAULT)
-endif
-endif
-ifneq ($(words $(FPC_COMPILERINFO)),5)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
+OS_TARGET:=$(word 4,$(COMPILERINFO))
 endif
 endif
+else
 ifndef CPU_SOURCE
 ifndef CPU_SOURCE
-CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
+CPU_SOURCE:=$(shell $(FPC) -iSP)
 endif
 endif
 ifndef CPU_TARGET
 ifndef CPU_TARGET
-CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
+CPU_TARGET:=$(shell $(FPC) -iTP)
 endif
 endif
 ifndef OS_SOURCE
 ifndef OS_SOURCE
-OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
+OS_SOURCE:=$(shell $(FPC) -iSO)
 endif
 endif
 ifndef OS_TARGET
 ifndef OS_TARGET
-OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
+OS_TARGET:=$(shell $(FPC) -iTO)
+endif
 endif
 endif
 FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
 FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
@@ -222,7 +214,7 @@ endif
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 GRAPHDIR=$(INC)/graph
 GRAPHDIR=$(INC)/graph
 override TARGET_UNITS+=$(SYSTEMUNIT) objpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil
 override TARGET_UNITS+=$(SYSTEMUNIT) objpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi dos crt objects printer sysutils classes math typinfo varutils winsock charset ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants types rtlconst sysconst dateutil
-override TARGET_LOADERS+=prt0 prt1
+override TARGET_LOADERS+=prt0
 override TARGET_RSTS+=math varutils typinfo variants pmhelp classes sysconst dateutil
 override TARGET_RSTS+=math varutils typinfo variants pmhelp classes sysconst dateutil
 override INSTALL_FPCPACKAGE=y
 override INSTALL_FPCPACKAGE=y
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
@@ -244,15 +236,9 @@ endif
 ifeq ($(OS_TARGET),netbsd)
 ifeq ($(OS_TARGET),netbsd)
 UNIXINSTALLDIR=1
 UNIXINSTALLDIR=1
 endif
 endif
-ifeq ($(OS_TARGET),openbsd)
-UNIXINSTALLDIR=1
-endif
 ifeq ($(OS_TARGET),sunos)
 ifeq ($(OS_TARGET),sunos)
 UNIXINSTALLDIR=1
 UNIXINSTALLDIR=1
 endif
 endif
-ifeq ($(OS_TARGET),qnx)
-UNIXINSTALLDIR=1
-endif
 else
 else
 ifeq ($(OS_SOURCE),linux)
 ifeq ($(OS_SOURCE),linux)
 UNIXINSTALLDIR=1
 UNIXINSTALLDIR=1
@@ -263,15 +249,9 @@ endif
 ifeq ($(OS_SOURCE),netbsd)
 ifeq ($(OS_SOURCE),netbsd)
 UNIXINSTALLDIR=1
 UNIXINSTALLDIR=1
 endif
 endif
-ifeq ($(OS_SOURCE),openbsd)
-UNIXINSTALLDIR=1
-endif
 ifeq ($(OS_TARGET),sunos)
 ifeq ($(OS_TARGET),sunos)
 UNIXINSTALLDIR=1
 UNIXINSTALLDIR=1
 endif
 endif
-ifeq ($(OS_TARGET),qnx)
-UNIXINSTALLDIR=1
-endif
 endif
 endif
 ifndef INSTALL_PREFIX
 ifndef INSTALL_PREFIX
 ifdef PREFIX
 ifdef PREFIX
@@ -310,17 +290,9 @@ endif
 endif
 endif
 ifndef INSTALL_BINDIR
 ifndef INSTALL_BINDIR
 ifdef UNIXINSTALLDIR
 ifdef UNIXINSTALLDIR
-ifdef CROSSCOMPILE
-INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
-else
 INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
 INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
-endif
-else
-ifdef CROSSCOMPILE
-INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
 else
 else
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
 INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
-endif
 ifdef INSTALL_FPCPACKAGE
 ifdef INSTALL_FPCPACKAGE
 INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
 INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
 endif
 endif
@@ -441,111 +413,6 @@ SHAREDLIBEXT=.so
 STATICLIBPREFIX=libp
 STATICLIBPREFIX=libp
 RSTEXT=.rst
 RSTEXT=.rst
 FPCMADE=fpcmade
 FPCMADE=fpcmade
-ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),go32v1)
-STATICLIBPREFIX=
-FPCMADE=fpcmade.v1
-PACKAGESUFFIX=v1
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-FPCMADE=fpcmade.dos
-ZIPSUFFIX=go32
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-FPCMADE=fpcmade.wat
-ZIPSUFFIX=watc
-OEXT=.obj
-ASMEXT=.asm
-SHAREDLIBEXT=.dll
-endif
-ifeq ($(OS_TARGET),linux)
-EXEEXT=
-HASSHAREDLIB=1
-FPCMADE=fpcmade.lnx
-ZIPSUFFIX=linux
-endif
-ifeq ($(OS_TARGET),freebsd)
-EXEEXT=
-HASSHAREDLIB=1
-FPCMADE=fpcmade.freebsd
-ZIPSUFFIX=freebsd
-endif
-ifeq ($(OS_TARGET),netbsd)
-EXEEXT=
-HASSHAREDLIB=1
-FPCMADE=fpcmade.netbsd
-ZIPSUFFIX=netbsd
-endif
-ifeq ($(OS_TARGET),openbsd)
-EXEEXT=
-HASSHAREDLIB=1
-FPCMADE=fpcmade.openbsd
-ZIPSUFFIX=openbsd
-endif
-ifeq ($(OS_TARGET),win32)
-SHAREDLIBEXT=.dll
-FPCMADE=fpcmade.w32
-ZIPSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-FPCMADE=fpcmade.os2
-ZIPSUFFIX=os2
-ECHO=echo
-endif
-ifeq ($(OS_TARGET),emx)
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-FPCMADE=fpcmade.emx
-ZIPSUFFIX=emx
-ECHO=echo
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-SHAREDLIBEXT=.library
-FPCMADE=fpcmade.amg
-endif
-ifeq ($(OS_TARGET),atari)
-EXEEXT=.ttp
-FPCMADE=fpcmade.ata
-endif
-ifeq ($(OS_TARGET),beos)
-EXEEXT=
-FPCMADE=fpcmade.be
-ZIPSUFFIX=be
-endif
-ifeq ($(OS_TARGET),sunos)
-EXEEXT=
-FPCMADE=fpcmade.sun
-ZIPSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-EXEEXT=
-FPCMADE=fpcmade.qnx
-ZIPSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-FPCMADE=fpcmade.nw
-ZIPSUFFIX=nw
-endif
-ifeq ($(OS_TARGET),macos)
-EXEEXT=
-FPCMADE=fpcmade.mcc
-endif
-ifeq ($(OS_TARGET),darwin)
-EXEEXT=
-HASSHAREDLIB=1
-FPCMADE=fpcmade.darwin
-ZIPSUFFIX=darwin
-endif
-else
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
 PPUEXT=.pp1
 PPUEXT=.pp1
 OEXT=.o1
 OEXT=.o1
@@ -562,11 +429,6 @@ STATICLIBPREFIX=
 FPCMADE=fpcmade.dos
 FPCMADE=fpcmade.dos
 ZIPSUFFIX=go32
 ZIPSUFFIX=go32
 endif
 endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-FPCMADE=fpcmade.dos
-ZIPSUFFIX=watcom
-endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 EXEEXT=
 EXEEXT=
 HASSHAREDLIB=1
 HASSHAREDLIB=1
@@ -585,12 +447,6 @@ HASSHAREDLIB=1
 FPCMADE=fpcmade.netbsd
 FPCMADE=fpcmade.netbsd
 ZIPSUFFIX=netbsd
 ZIPSUFFIX=netbsd
 endif
 endif
-ifeq ($(OS_TARGET),openbsd)
-EXEEXT=
-HASSHAREDLIB=1
-FPCMADE=fpcmade.openbsd
-ZIPSUFFIX=openbsd
-endif
 ifeq ($(OS_TARGET),win32)
 ifeq ($(OS_TARGET),win32)
 PPUEXT=.ppw
 PPUEXT=.ppw
 OEXT=.ow
 OEXT=.ow
@@ -616,7 +472,7 @@ ECHO=echo
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
-PPUEXT=.ppu
+PPUEXT=.ppa
 ASMEXT=.asm
 ASMEXT=.asm
 OEXT=.o
 OEXT=.o
 SMARTEXT=.sl
 SMARTEXT=.sl
@@ -625,7 +481,7 @@ SHAREDLIBEXT=.library
 FPCMADE=fpcmade.amg
 FPCMADE=fpcmade.amg
 endif
 endif
 ifeq ($(OS_TARGET),atari)
 ifeq ($(OS_TARGET),atari)
-PPUEXT=.ppu
+PPUEXT=.ppt
 ASMEXT=.s
 ASMEXT=.s
 OEXT=.o
 OEXT=.o
 SMARTEXT=.sl
 SMARTEXT=.sl
@@ -665,8 +521,8 @@ ZIPSUFFIX=qnx
 endif
 endif
 ifeq ($(OS_TARGET),netware)
 ifeq ($(OS_TARGET),netware)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
+PPUEXT=.ppn
+OEXT=.on
 ASMEXT=.s
 ASMEXT=.s
 SMARTEXT=.sl
 SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
@@ -675,16 +531,6 @@ FPCMADE=fpcmade.nw
 ZIPSUFFIX=nw
 ZIPSUFFIX=nw
 EXEEXT=.nlm
 EXEEXT=.nlm
 endif
 endif
-ifeq ($(OS_TARGET),macos)
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-FPCMADE=fpcmade.mcc
-endif
-endif
 ifndef ECHO
 ifndef ECHO
 ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
 ifeq ($(ECHO),)
 ifeq ($(ECHO),)
@@ -755,11 +601,7 @@ endif
 endif
 endif
 export MVPROG
 export MVPROG
 ifndef ECHOREDIR
 ifndef ECHOREDIR
-ifndef inUnix
-ECHOREDIR=echo
-else
-ECHOREDIR=$(ECHO)
-endif
+ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO))
 endif
 endif
 ifndef COPY
 ifndef COPY
 COPY:=$(CPPROG) -fp
 COPY:=$(CPPROG) -fp
@@ -830,16 +672,14 @@ TARPROG:=$(firstword $(TARPROG))
 endif
 endif
 endif
 endif
 export TARPROG
 export TARPROG
-ASNAME=$(BINUTILSPREFIX)as
-LDNAME=$(BINUTILSPREFIX)ld
-ARNAME=$(BINUTILSPREFIX)ar
-RCNAME=$(BINUTILSPREFIX)rc
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),win32)
 ASNAME=as
 ASNAME=as
 LDNAME=ld
 LDNAME=ld
 ARNAME=ar
 ARNAME=ar
-endif
+RCNAME=rc
+ifeq ($(OS_TARGET),win32)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
 endif
 endif
 ifndef ASPROG
 ifndef ASPROG
 ifdef CROSSBINDIR
 ifdef CROSSBINDIR
@@ -918,17 +758,6 @@ endif
 ifneq ($(OS_TARGET),$(OS_SOURCE))
 ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 override FPCOPT+=-T$(OS_TARGET)
 endif
 endif
-ifeq ($(OS_SOURCE),openbsd)
-override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
-endif
-ifndef CROSSBOOTSTRAP
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
-endif
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-Xr$(RLINKPATH)
-endif
-endif
 ifdef UNITDIR
 ifdef UNITDIR
 override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
 override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
 endif
 endif
@@ -1010,11 +839,6 @@ override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
 override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
 override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
 endif
 endif
 endif
 endif
-ifeq ($(OS_TARGET),linux)
-ifeq ($(FPC_VERSION),1.0.6)
-override FPCOPTDEF+=HASUNIX
-endif
-endif
 ifdef OPT
 ifdef OPT
 override FPCOPT+=$(OPT)
 override FPCOPT+=$(OPT)
 endif
 endif
@@ -1033,7 +857,7 @@ override COMPILER:=$(FPC) $(FPCOPT)
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-ifeq ($(FULL_SOURCE),$(FULL_TARGET))
+ifeq ($(OS_SOURCE),$(OS_TARGET))
 EXECPPAS:=@$(PPAS)
 EXECPPAS:=@$(PPAS)
 endif
 endif
 endif
 endif
@@ -1075,7 +899,7 @@ fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
 fpc_release:
 fpc_release:
 	$(MAKE) all RELEASE=1
 	$(MAKE) all RELEASE=1
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res
+.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res
 %$(PPUEXT): %.pp
 %$(PPUEXT): %.pp
 	$(COMPILER) $<
 	$(COMPILER) $<
 	$(EXECPPAS)
 	$(EXECPPAS)
@@ -1088,14 +912,10 @@ fpc_release:
 %$(EXEEXT): %.pas
 %$(EXEEXT): %.pas
 	$(COMPILER) $<
 	$(COMPILER) $<
 	$(EXECPPAS)
 	$(EXECPPAS)
-%$(EXEEXT): %.dpr
-	$(COMPILER) $<
-	$(EXECPPAS)
 %.res: %.rc
 %.res: %.rc
 	windres -i $< -o $@
 	windres -i $< -o $@
 vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
 vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
 .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
 .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
 ifdef INSTALL_UNITS
 ifdef INSTALL_UNITS
@@ -1253,7 +1073,6 @@ fpc_baseinfo:
 	@$(ECHO)  Rm........ $(RMPROG)
 	@$(ECHO)  Rm........ $(RMPROG)
 	@$(ECHO)  GInstall.. $(GINSTALL)
 	@$(ECHO)  GInstall.. $(GINSTALL)
 	@$(ECHO)  Echo...... $(ECHO)
 	@$(ECHO)  Echo...... $(ECHO)
-	@$(ECHO)  Shell..... $(SHELL)
 	@$(ECHO)  Date...... $(DATE)
 	@$(ECHO)  Date...... $(DATE)
 	@$(ECHO)  FPCMake... $(FPCMAKE)
 	@$(ECHO)  FPCMake... $(FPCMAKE)
 	@$(ECHO)  PPUMove... $(PPUMOVE)
 	@$(ECHO)  PPUMove... $(PPUMOVE)
@@ -1339,12 +1158,8 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-%.o : %.as
-	$(AS) -o $*.o $*.as
-	$(AS) -o $*.oo2 $*.as
-%.oo2 : %.as
-	$(AS) -o $*.o $*.as
-	$(AS) -o $*.oo2 $*.as
+%$(OEXT) : %.as
+	$(AS) -o $*$(OEXT) $*.as
 $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pas $(SYSDEPS)
 $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pas $(SYSDEPS)
 	$(COMPILER) -Us -Sg $(SYSTEMUNIT).pas $(REDIR)
 	$(COMPILER) -Us -Sg $(SYSTEMUNIT).pas $(REDIR)
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
@@ -1379,7 +1194,7 @@ sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
 		    objpas$(PPUEXT) dos$(PPUEXT) sysconst$(PPUEXT)
 		    objpas$(PPUEXT) dos$(PPUEXT) sysconst$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
-		   sysutils$(PPUEXT) typinfo$(PPUEXT)
+		   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
 	$(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
 typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
 typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
 	$(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp $(REDIR)
 	$(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp $(REDIR)

+ 4 - 15
rtl/os2/Makefile.fpc

@@ -6,7 +6,7 @@
 main=rtl
 main=rtl
 
 
 [target]
 [target]
-loaders=prt0 prt1
+loaders=prt0
 units=$(SYSTEMUNIT) objpas strings \
 units=$(SYSTEMUNIT) objpas strings \
       ports os2def doscalls moncalls kbdcalls moucalls viocalls \
       ports os2def doscalls moncalls kbdcalls moucalls viocalls \
       pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi \
       pmbitmap pmwin pmgpi pmstddlg pmhelp pmdev pmspl pmshl pmwp pmwsock pmbidi \
@@ -78,19 +78,8 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 # Loaders
 # Loaders
 #
 #
 
 
-#%$(OEXT) : %.as
-#        $(AS) -o $*$(OEXT) $*.as
-#
-# Temporary solution of linking error
-%.o : %.as
-        $(AS) -o $*.o $*.as
-        $(AS) -o $*.oo2 $*.as
-
-%.oo2 : %.as
-        $(AS) -o $*.o $*.as
-        $(AS) -o $*.oo2 $*.as
-
-
+%$(OEXT) : %.as
+        $(AS) -o $*$(OEXT) $*.as
 
 
 #
 #
 # Base Units (System, strings, os-dependent-base-unit)
 # Base Units (System, strings, os-dependent-base-unit)
@@ -170,7 +159,7 @@ sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
         $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
         $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
 
 
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
-                   sysutils$(PPUEXT) typinfo$(PPUEXT)
+                   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT)
         $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
         $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
 
 
 typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
 typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)

+ 17 - 4
rtl/os2/prt0.as

@@ -9,10 +9,9 @@
         .globl  __text
         .globl  __text
         .globl  ___SYSCALL
         .globl  ___SYSCALL
         .globl  __data
         .globl  __data
-        .globl  __heap_base
-        .globl  __heap_brk
-        .globl  __heap_end
         .globl  __init
         .globl  __init
+        .globl  __dos_init
+        .globl  __dos_syscall
 
 
         .text
         .text
 
 
@@ -28,13 +27,27 @@ ___SYSCALL:
         .space  6, 0x90
         .space  6, 0x90
 
 
 __init: cld
 __init: cld
-        call    __entry1
 
 
         call    _main
         call    _main
         movb    $0x4c,%ah
         movb    $0x4c,%ah
         call    ___SYSCALL
         call    ___SYSCALL
 2:      jmp     2b
 2:      jmp     2b
 
 
+/ In executables created with emxbind, the call to _dos_init will
+/ be fixed up at load time to _emx_init of emx.dll.  Under DOS,
+/ this dummy is called instead as there is no fixup.  This module
+/ must be linked statically to avoid having two fixups for the
+/ same location.
+
+__dos_init:
+        ret     $4
+
+        .align  2, 0x90
+
+__dos_syscall:
+        int     $0x21
+        ret
+
         .data
         .data
 
 
 / The data segment starts with a table containing the start and end
 / The data segment starts with a table containing the start and end

+ 0 - 62
rtl/os2/prt1.as

@@ -1,62 +0,0 @@
-/ prt1.s (emx+fpk) -- Made from crt2.s and dos.s,
-/                     Copyright (c) 1990-1999-2000 by Eberhard Mattes.
-/                     Changed for Free Pascal in 1997 Daniel Mantione.
-/                     This code is _not_ under the Library GNU Public
-/                     License, because the original is not. See copying.emx
-/                     for details. You should have received it with this
-/                     product, write the author if you haven't.
-
-                .globl  __entry1
-/ Heh. Not needed anymore.
-/                .globl  _environ
-/                .globl  _envc
-/                .globl  _argv
-/                .globl  _argc
-
-                .text
-
-__entry1:
-                popl    %esi
-                cld
-                xorl    %ebp, %ebp
-                leal    (%esp), %edi      /* argv[] */
-                movl    %edi,_environ
-                call    L_ptr_tbl
-                movl    %ecx,_envc
-                movl    %edi,_argv
-                call    L_ptr_tbl
-                movl    %ecx,_argc
-                jmp     *%esi
-
-L_ptr_tbl:
-                xorl    %eax, %eax
-                movl    $-1, %ecx
-1:              incl    %ecx
-                scasl
-                jne     1b
-                ret
-
-/ In executables created with emxbind, the call to _dos_init will
-/ be fixed up at load time to _emx_init of emx.dll.  Under DOS,
-/ this dummy is called instead as there is no fixup.  This module
-/ must be linked statically to avoid having two fixups for the
-/ same location.
-
-                .globl  __dos_init
-                .globl  __dos_syscall
-
-__dos_init:
-                ret     $4
-
-                .align  2, 0x90
-
-__dos_syscall:
-                int     $0x21
-                ret
-
-                .data
-
-                .comm   _environ,       4
-                .comm   _envc,          4
-                .comm   _argv,          4
-                .comm   _argc,          4

+ 10 - 17
rtl/os2/system.pas

@@ -20,13 +20,6 @@ unit {$ifdef VER1_0}sysos2{$else}System{$endif};
 
 
 interface
 interface
 
 
-{Link the startup code.}
-{$ifdef VER1_0}
- {$l prt1.oo2}
-{$else}
- {$l prt1.o}
-{$endif}
-
 {$ifdef SYSTEMDEBUG}
 {$ifdef SYSTEMDEBUG}
   {$define SYSTEMEXCEPTIONDEBUG}
   {$define SYSTEMEXCEPTIONDEBUG}
   {.$define IODEBUG}
   {.$define IODEBUG}
@@ -120,10 +113,10 @@ const   UnusedHandle=-1;
 
 
 var
 var
 { C-compatible arguments and environment }
 { C-compatible arguments and environment }
-  argc  : longint; //external name '_argc';
-  argv  : ppchar; //external name '_argv';
-  envp  : ppchar; //external name '_environ';
-  EnvC: cardinal; //external name '_envc';
+  argc  : longint;
+  argv  : ppchar;
+  envp  : ppchar;
+  EnvC: cardinal;
 
 
 (* Pointer to the block of environment variables - used e.g. in unit Dos. *)
 (* Pointer to the block of environment variables - used e.g. in unit Dos. *)
   Environment: PChar;
   Environment: PChar;
@@ -141,11 +134,6 @@ implementation
 
 
 {$I system.inc}
 {$I system.inc}
 
 
-//var
-//    heap_base: pointer; external name '__heap_base';
-//    heap_brk: pointer; external name '__heap_brk';
-//    heap_end: pointer; external name '__heap_end';
-
 (* Maximum heap size - only used if heap is allocated as continuous block. *)
 (* Maximum heap size - only used if heap is allocated as continuous block. *)
 {$IFDEF CONTHEAP}
 {$IFDEF CONTHEAP}
 //    BrkLimit: cardinal;
 //    BrkLimit: cardinal;
@@ -1450,7 +1438,12 @@ begin
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.64  2004-01-25 21:41:48  hajny
+  Revision 1.65  2004-02-02 03:24:09  yuri
+  - prt1.as removed
+  - removed tmporary code/comments
+  - prt1 compilation error workaround removed
+
+  Revision 1.64  2004/01/25 21:41:48  hajny
     * reformatting of too long comment lines - not accepted by FP IDE
     * reformatting of too long comment lines - not accepted by FP IDE
 
 
   Revision 1.63  2004/01/21 14:15:42  florian
   Revision 1.63  2004/01/21 14:15:42  florian