Browse Source

MorphOS: fixed support for dotted rtl

Marcus Sackrow 1 year ago
parent
commit
374d22b5ea
2 changed files with 41 additions and 25 deletions
  1. 27 24
      rtl/morphos/Makefile
  2. 14 1
      rtl/morphos/buildrtl.pp

+ 27 - 24
rtl/morphos/Makefile

@@ -195,7 +195,7 @@ endif
 endif
 endif
 ifeq ($(CPU_OS_TARGET),aarch64-embedded)
 ifeq ($(CPU_OS_TARGET),aarch64-embedded)
 endif
 endif
-ifdef SUB_TARGET 
+ifdef SUB_TARGET
 FPCOPT+=-t$(SUB_TARGET)
 FPCOPT+=-t$(SUB_TARGET)
 FPMAKE_OPT+=--subtarget=$(SUB_TARGET)
 FPMAKE_OPT+=--subtarget=$(SUB_TARGET)
 endif
 endif
@@ -885,7 +885,7 @@ override FPCOPT+=-Ur
 endif
 endif
 OBJPASDIR=$(RTL)/objpas
 OBJPASDIR=$(RTL)/objpas
 ifeq ($(CPU_OS_TARGET),powerpc-morphos)
 ifeq ($(CPU_OS_TARGET),powerpc-morphos)
-override TARGET_UNITS+=$(SYSTEMUNIT) heaptrc uuchar objpas macpas iso7185 extpas buildrtl cpall
+override TARGET_UNITS+=$(SYSTEMUNIT) heaptrc uuchar objpas macpas iso7185 extpas buildrtl $(CPALLUNIT)
 endif
 endif
 ifeq ($(CPU_OS_TARGET),powerpc-morphos)
 ifeq ($(CPU_OS_TARGET),powerpc-morphos)
 override TARGET_IMPLICITUNITS+=$(SYSINITUNITS) athreads fpintres $(DOSUNIT) $(SYSUTILSUNIT) $(CTYPESUNIT) $(STRINGSUNIT) $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(MATHUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(CHARSETUNIT) $(CHARACTERUNIT) $(GETOPTSUNIT) $(FPWIDESTRINGUNIT) $(FPINTRESUNIT) $(EXEINFOUNIT) $(LINEINFOUNIT) $(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) $(CP437UNIT) $(CP646UNIT) $(CP737UNIT) $(CP775UNIT) $(CP850UNIT) $(CP852UNIT) $(CP855UNIT) $(CP856UNIT) $(CP857UNIT) $(CP860UNIT) $(CP861UNIT) $(CP862UNIT) $(CP863UNIT) $(CP864UNIT) $(CP865UNIT) $(CP866UNIT) $(CP869UNIT) $(CP874UNIT) $(CP3021UNIT) $(CP8859_1UNIT) $(CP8859_2UNIT) $(CP8859_3UNIT) $(CP8859_4UNIT) $(CP8859_5UNIT) $(CP8859_6UNIT) $(CP8859_7UNIT) $(CP8859_8UNIT) $(CP8859_9UNIT) $(CP8859_10UNIT) $(CP8859_11UNIT) $(CP8859_13UNIT) $(CP8859_14UNIT) $(CP8859_15UNIT) $(CP8859_16UNIT) $(CPKOI8_RUNIT) $(CPKOI8_UUNIT) $(UNICODEDATAUNIT) $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT)  $(UFLOAT128UNIT)
 override TARGET_IMPLICITUNITS+=$(SYSINITUNITS) athreads fpintres $(DOSUNIT) $(SYSUTILSUNIT) $(CTYPESUNIT) $(STRINGSUNIT) $(RTLCONSTSUNIT) $(SYSCONSTUNIT) $(MATHUNIT) $(TYPESUNIT) $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(CHARSETUNIT) $(CHARACTERUNIT) $(GETOPTSUNIT) $(FPWIDESTRINGUNIT) $(FPINTRESUNIT) $(EXEINFOUNIT) $(LINEINFOUNIT) $(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) $(CP437UNIT) $(CP646UNIT) $(CP737UNIT) $(CP775UNIT) $(CP850UNIT) $(CP852UNIT) $(CP855UNIT) $(CP856UNIT) $(CP857UNIT) $(CP860UNIT) $(CP861UNIT) $(CP862UNIT) $(CP863UNIT) $(CP864UNIT) $(CP865UNIT) $(CP866UNIT) $(CP869UNIT) $(CP874UNIT) $(CP3021UNIT) $(CP8859_1UNIT) $(CP8859_2UNIT) $(CP8859_3UNIT) $(CP8859_4UNIT) $(CP8859_5UNIT) $(CP8859_6UNIT) $(CP8859_7UNIT) $(CP8859_8UNIT) $(CP8859_9UNIT) $(CP8859_10UNIT) $(CP8859_11UNIT) $(CP8859_13UNIT) $(CP8859_14UNIT) $(CP8859_15UNIT) $(CP8859_16UNIT) $(CPKOI8_RUNIT) $(CPKOI8_UUNIT) $(UNICODEDATAUNIT) $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT)  $(UFLOAT128UNIT)
@@ -2237,7 +2237,7 @@ FPINTRES_DEPS= $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT) \
 fpintres$(PPUEXT) : $(FPINTRES_DEPS)
 fpintres$(PPUEXT) : $(FPINTRES_DEPS)
 	$(COMPILER) $(FPINTRES_OPT) $<
 	$(COMPILER) $(FPINTRES_OPT) $<
 FPEXTRES_DEPS= $(INC)/fpextres.pp $(SYSTEMUNIT)$(PPUEXT) \
 FPEXTRES_DEPS= $(INC)/fpextres.pp $(SYSTEMUNIT)$(PPUEXT) \
-	       $(FPEXTRES_DEPS_OS) $(FPEXTRES_DEPS_CPU)              
+	       $(FPEXTRES_DEPS_OS) $(FPEXTRES_DEPS_CPU)
 fpextres$(PPUEXT) : $(FPEXTRES_DEPS)
 fpextres$(PPUEXT) : $(FPEXTRES_DEPS)
 	$(COMPILER) -Sg $(FPEXTRES_OPT) $<
 	$(COMPILER) -Sg $(FPEXTRES_OPT) $<
 HEAPTRC_DEPS=$(INC)/heaptrc.pp \
 HEAPTRC_DEPS=$(INC)/heaptrc.pp \
@@ -2248,13 +2248,13 @@ heaptrc$(PPUEXT) : $(HEAPTRC_DEPS)
 SOFTFPU_DEPS=$(INC)/softfpu.pp \
 SOFTFPU_DEPS=$(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
 	     $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
-softfpu$(PPUEXT) : $(SOFTFPU_DEPS) 
+softfpu$(PPUEXT) : $(SOFTFPU_DEPS)
 	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
-System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS) 
+System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS)
 	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 	$(COMPILER) -Sg $(SOFTFPU_OPT) $<
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
-	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU) 
+	     $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
 	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 	$(COMPILER) -Sg $(SFPUX80_OPT) $<
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
 System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp  $(SFPUX80_DEPS)
@@ -2290,7 +2290,7 @@ System.Strings$(PPUEXT) : $(NSINC)/System.Strings.pp $(STRINGS_DEPS)
 PORTS_DEPS=$(PORTSDIR)/ports.$(PORTSUNITEXT) \
 PORTS_DEPS=$(PORTSDIR)/ports.$(PORTSUNITEXT) \
 	   $(SYSTEMUNIT)$(PPUEXT) \
 	   $(SYSTEMUNIT)$(PPUEXT) \
 	   $(PORTS_DEPS_OS) $(PORTS_DEPS_CPU)
 	   $(PORTS_DEPS_OS) $(PORTS_DEPS_CPU)
-ports$(PPUEXT) : $(PORTS_DEPS) 
+ports$(PPUEXT) : $(PORTS_DEPS)
 	$(COMPILER) $(PORTS_OPT) $<
 	$(COMPILER) $(PORTS_OPT) $<
 System.Ports$(PPUEXT) :  $(NSINC)/System.Ports.$(PORTSUNITEXT) $(PORTS_DEPS)
 System.Ports$(PPUEXT) :  $(NSINC)/System.Ports.$(PORTSUNITEXT) $(PORTS_DEPS)
 	$(COMPILER) $(PORTS_OPT) $<
 	$(COMPILER) $(PORTS_OPT) $<
@@ -2318,7 +2318,7 @@ LINUX_DEPS=$(OSDIR)/linux.pp \
 	   $(LINUX_DEPS_OS) $(LINUX_DEPS_CPU)
 	   $(LINUX_DEPS_OS) $(LINUX_DEPS_CPU)
 linux$(PPUEXT): $(LINUX_DEPS)
 linux$(PPUEXT): $(LINUX_DEPS)
 	$(COMPILER) $<
 	$(COMPILER) $<
-LinuxApi$(PPUEXT): $(NSOSDIR)/LinuxApi.pp $(LINUX_DEPS) 
+LinuxApi$(PPUEXT): $(NSOSDIR)/LinuxApi.pp $(LINUX_DEPS)
 	$(COMPILER) $(LINUX_OPT) $<
 	$(COMPILER) $(LINUX_OPT) $<
 LINUXVCS_DEPS=$(OSDIR)/linuxvcs.pp $(BASEUNIXUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 LINUXVCS_DEPS=$(OSDIR)/linuxvcs.pp $(BASEUNIXUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	      $(LINUXVCS_DEPS_OS) $(LINUXVCS_DEPS_CPU)
 	      $(LINUXVCS_DEPS_OS) $(LINUXVCS_DEPS_CPU)
@@ -2367,7 +2367,7 @@ CLASSES_DEPS=$(CLASSESDIR)/classes.pp $(wildcard $(OBJPASDIR)/$(CLASSESUNIT)/*.i
 	     $(CLASSES_DEPS_OS) $(CLASSES_DEPS_CPU)
 	     $(CLASSES_DEPS_OS) $(CLASSES_DEPS_CPU)
 classes$(PPUEXT) : $(CLASSES_DEPS)
 classes$(PPUEXT) : $(CLASSES_DEPS)
 	$(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
 	$(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
-System.Classes$(PPUEXT) : $(NSINC)/System.Classes.pp $(CLASSES_DEPS) 
+System.Classes$(PPUEXT) : $(NSINC)/System.Classes.pp $(CLASSES_DEPS)
 	$(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
 	$(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
 TYPINFO_DEPS=$(OBJPASDIR)/typinfo.pp \
 TYPINFO_DEPS=$(OBJPASDIR)/typinfo.pp \
 	     objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
 	     objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
@@ -2438,7 +2438,7 @@ System.CPU$(PPUEXT) : $(NSINC)/System.CPU.pp $(CPU_DEPS)
 	$(COMPILER) $(CPU_OPT) $<
 	$(COMPILER) $(CPU_OPT) $<
 MMX_DEPS=$(PROCINC)/mmx.pp \
 MMX_DEPS=$(PROCINC)/mmx.pp \
 	 $(CPUUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	 $(CPUUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
-	 $(MMX_DEPS_OS) $(MMX_DEPS_CPU) 
+	 $(MMX_DEPS_OS) $(MMX_DEPS_CPU)
 mmx$(PPUEXT) : $(MMX_DEPS)
 mmx$(PPUEXT) : $(MMX_DEPS)
 	$(COMPILER) $(MMX_OPT) $<
 	$(COMPILER) $(MMX_OPT) $<
 System.CPU.MMX$(PPUEXT) : $(NSINC)/System.CPU.MMX.pp $(MMX_DEPS)
 System.CPU.MMX$(PPUEXT) : $(NSINC)/System.CPU.MMX.pp $(MMX_DEPS)
@@ -2493,7 +2493,7 @@ CHARSET_DEPS=$(INC)/charset.pp \
 charset$(PPUEXT) : $(CHARSET_DEPS)
 charset$(PPUEXT) : $(CHARSET_DEPS)
 	$(COMPILER) $(CHARSET_OPT) $<
 	$(COMPILER) $(CHARSET_OPT) $<
 System.CharSet$(PPUEXT) : $(NSINC)/System.CharSet.pp $(CHARSET_DEPS)
 System.CharSet$(PPUEXT) : $(NSINC)/System.CharSet.pp $(CHARSET_DEPS)
-	$(COMPILER) $(CHARSET_OPT) $< 
+	$(COMPILER) $(CHARSET_OPT) $<
 UNICODEDATA_DEPS = $(OBJPASDIR)/unicodedata.pas $(OBJPASDIR)/unicodedata.inc \
 UNICODEDATA_DEPS = $(OBJPASDIR)/unicodedata.pas $(OBJPASDIR)/unicodedata.inc \
 		   $(OBJPASDIR)/unicodedata_le.inc $(OBJPASDIR)/unicodedata_be.inc \
 		   $(OBJPASDIR)/unicodedata_le.inc $(OBJPASDIR)/unicodedata_be.inc \
 		   $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT)
 		   $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT)
@@ -2504,7 +2504,7 @@ System.CodePages.unicodedata$(PPUEXT) : $(NSINC)/System.CodePages.unicodedata.pa
 CPALL_DEPS=$(RTL)/charmaps/cpall.pas \
 CPALL_DEPS=$(RTL)/charmaps/cpall.pas \
 	  system$(PPUEXT) $(CHARSETUNIT)$(PPUEXT) \
 	  system$(PPUEXT) $(CHARSETUNIT)$(PPUEXT) \
 	  $(CPALL_DEPS_OS) $(CPALL_DEPS_CPU)
 	  $(CPALL_DEPS_OS) $(CPALL_DEPS_CPU)
-cpall$(PPUEXT): $(CPALL_DEPS)  
+cpall$(PPUEXT): $(CPALL_DEPS)
 	$(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
 	$(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
 System.CodePages.All$(PPUEXT):  $(NSINC)/System.CodePages.All.pas $(CPALL_DEPS)
 System.CodePages.All$(PPUEXT):  $(NSINC)/System.CodePages.All.pas $(CPALL_DEPS)
 	$(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
 	$(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
@@ -2525,14 +2525,14 @@ fpwidestring$(PPUEXT): $(FPWIDESTRING_DEPS)
 System.FPWideString$(PPUEXT): $(NSINC)/System.FPWideString.pp $(FPWIDESTRING_DEPS)
 System.FPWideString$(PPUEXT): $(NSINC)/System.FPWideString.pp $(FPWIDESTRING_DEPS)
 	$(COMPILER) -Fi$(OBJPASDIR) $(FPWIDESTRING_OPT) $<
 	$(COMPILER) -Fi$(OBJPASDIR) $(FPWIDESTRING_OPT) $<
 SORTBASE_DEPS=$(INC)/sortbase.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 SORTBASE_DEPS=$(INC)/sortbase.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
-	      $(SORTBASE_DEPS_OS) $(SORTBASE_DEPS_CPU) 
+	      $(SORTBASE_DEPS_OS) $(SORTBASE_DEPS_CPU)
 sortbase$(PPUEXT) : $(SORTBASE_DEPS)
 sortbase$(PPUEXT) : $(SORTBASE_DEPS)
 	$(COMPILER) $(SORTBASE_OPT) $<
 	$(COMPILER) $(SORTBASE_OPT) $<
 System.SortBase$(PPUEXT) : $(NSINC)/System.SortBase.pp $(SORTBASE_DEPS)
 System.SortBase$(PPUEXT) : $(NSINC)/System.SortBase.pp $(SORTBASE_DEPS)
 	$(COMPILER) $(SORTBASE_OPT) $<
 	$(COMPILER) $(SORTBASE_OPT) $<
 CALLSPEC_DEPS=$(INC)/callspec.pp \
 CALLSPEC_DEPS=$(INC)/callspec.pp \
 	      $(SYSTEMUNIT)$(PPUEXT) \
 	      $(SYSTEMUNIT)$(PPUEXT) \
-	      $(CALLSPEC_DEPS_OS) $(CALLSPEC_DEPS_CPU) 
+	      $(CALLSPEC_DEPS_OS) $(CALLSPEC_DEPS_CPU)
 callspec$(PPUEXT) : $(CALLSPEC_DEPS)
 callspec$(PPUEXT) : $(CALLSPEC_DEPS)
 	$(COMPILER) $(CALLSPEC_OPT) $<
 	$(COMPILER) $(CALLSPEC_OPT) $<
 System.CallSpec$(PPUEXT) : $(NSINC)/System.CallSpec.pp $(CALLSPEC_DEPS)
 System.CallSpec$(PPUEXT) : $(NSINC)/System.CallSpec.pp $(CALLSPEC_DEPS)
@@ -2547,10 +2547,10 @@ System.CMem$(PPUEXT) : $(NSINC)/System.CMem.pp $(CMEM_DEPS)
 BASEUNIX_DEPS=$(BASEUNIXDIR)/baseunix.pp  $(UNIXINC)/ctypes.inc  \
 BASEUNIX_DEPS=$(BASEUNIXDIR)/baseunix.pp  $(UNIXINC)/ctypes.inc  \
 	      $(UNIXINC)/bunxh.inc $(UNIXINC)/gensigset.inc $(OSDIR)/ptypes.inc $(OSDIR)/errno.inc \
 	      $(UNIXINC)/bunxh.inc $(UNIXINC)/gensigset.inc $(OSDIR)/ptypes.inc $(OSDIR)/errno.inc \
 	      $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	      $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
-	      $(BASEUNIX_DEPS_OS) $(BASEUNIX_DEPS_CPU) 
+	      $(BASEUNIX_DEPS_OS) $(BASEUNIX_DEPS_CPU)
 baseunix$(PPUEXT): $(BASEUNIX_DEPS)
 baseunix$(PPUEXT): $(BASEUNIX_DEPS)
 	$(COMPILER) $(BASEUNIX_OPT) $<
 	$(COMPILER) $(BASEUNIX_OPT) $<
-UnixApi.Base$(PPUEXT): $(NSINC)/UnixApi.Base.pp $(BASEUNIX_DEPS) 
+UnixApi.Base$(PPUEXT): $(NSINC)/UnixApi.Base.pp $(BASEUNIX_DEPS)
 	$(COMPILER) $(BASEUNIX_OPT) $<
 	$(COMPILER) $(BASEUNIX_OPT) $<
 UNIX_DEPS=$(UNIXINC)/unix.pp \
 UNIX_DEPS=$(UNIXINC)/unix.pp \
 	 $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
 	 $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
@@ -2567,14 +2567,14 @@ SYSCALL_DEPS=$(UNIXINC)/syscall.pp \
 	     $(SYSCALL_DEPS_OS) $(SYSCALL_DEPS_CPU)
 	     $(SYSCALL_DEPS_OS) $(SYSCALL_DEPS_CPU)
 syscall$(PPUEXT) : $(SYSCALL_DEPS)
 syscall$(PPUEXT) : $(SYSCALL_DEPS)
 	$(COMPILER) $(SYSCALL_OPT) $<
 	$(COMPILER) $(SYSCALL_OPT) $<
-UnixApi.SysCall$(PPUEXT) : $(NSINC)/UnixApi.SysCall.pp $(SYSCALL_DEPS) 
+UnixApi.SysCall$(PPUEXT) : $(NSINC)/UnixApi.SysCall.pp $(SYSCALL_DEPS)
 	$(COMPILER) $(SYSCALL_OPT) $<
 	$(COMPILER) $(SYSCALL_OPT) $<
 UNIXUTIL_DEPS=$(UNIXINC)/unixutil.pp $(INC)/textrec.inc $(INC)/filerec.inc \
 UNIXUTIL_DEPS=$(UNIXINC)/unixutil.pp $(INC)/textrec.inc $(INC)/filerec.inc \
 	     $(SYSTEMUNIT)$(PPUEXT) \
 	     $(SYSTEMUNIT)$(PPUEXT) \
 	     $(UNIXUTIL_DEPS_OS)
 	     $(UNIXUTIL_DEPS_OS)
 unixutil$(PPUEXT) : $(UNIXUTIL_DEPS)
 unixutil$(PPUEXT) : $(UNIXUTIL_DEPS)
 	$(COMPILER) $(UNIXUTIL_OPT) $<
 	$(COMPILER) $(UNIXUTIL_OPT) $<
-UnixApi.Utils$(PPUEXT) : $(NSINC)/UnixApi.Utils.pp $(UNIXUTIL_DEPS) 
+UnixApi.Utils$(PPUEXT) : $(NSINC)/UnixApi.Utils.pp $(UNIXUTIL_DEPS)
 	$(COMPILER) $(UNIXUTIL_OPT) $<
 	$(COMPILER) $(UNIXUTIL_OPT) $<
 UNIXTYPE_DEPS=$(UNIXINC)/unixtype.pp \
 UNIXTYPE_DEPS=$(UNIXINC)/unixtype.pp \
 	      $(SYSTEMUNIT)$(PPUEXT) $(OSDIR)/ptypes.inc $(UNIXINC)/ctypes.inc \
 	      $(SYSTEMUNIT)$(PPUEXT) $(OSDIR)/ptypes.inc $(UNIXINC)/ctypes.inc \
@@ -2609,7 +2609,7 @@ CWSTRING_DEPS=$(UNIXINC)/cwstring.pp \
 	      $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
 	      $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
 	      $(UNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
 	      $(UNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
 	      $(DYNLIBSUNIT)$(PPUEXT) $(UNIXCPUNIT)$(PPUEXT) \
 	      $(DYNLIBSUNIT)$(PPUEXT) $(UNIXCPUNIT)$(PPUEXT) \
-	      $(CWSTRING_DEPS_OS) $(CWSTRING_DEPS_CPU) 
+	      $(CWSTRING_DEPS_OS) $(CWSTRING_DEPS_CPU)
 cwstring$(PPUEXT) : $(CWSTRING_DEPS)
 cwstring$(PPUEXT) : $(CWSTRING_DEPS)
 	$(COMPILER) $(CWSTRING_OPT) $<
 	$(COMPILER) $(CWSTRING_OPT) $<
 UnixApi.CWString$(PPUEXT) : $(NSINC)/UnixApi.CWString.pp $(CWSTRING_DEPS)
 UnixApi.CWString$(PPUEXT) : $(NSINC)/UnixApi.CWString.pp $(CWSTRING_DEPS)
@@ -2617,9 +2617,9 @@ UnixApi.CWString$(PPUEXT) : $(NSINC)/UnixApi.CWString.pp $(CWSTRING_DEPS)
 CTYPES_DEPS=$(INC)/ctypes.pp \
 CTYPES_DEPS=$(INC)/ctypes.pp \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(SYSTEMUNIT)$(PPUEXT) \
 	    $(CTYPES_DEPS_OS) $(CTYPES_DEPS_CPU)
 	    $(CTYPES_DEPS_OS) $(CTYPES_DEPS_CPU)
-ctypes$(PPUEXT) : $(CTYPES_DEPS) 
+ctypes$(PPUEXT) : $(CTYPES_DEPS)
 	$(COMPILER) $(CTYPES_OPT) $<
 	$(COMPILER) $(CTYPES_OPT) $<
-System.CTypes$(PPUEXT) : $(NSINC)/System.CTypes.pp $(CTYPES_DEPS) 
+System.CTypes$(PPUEXT) : $(NSINC)/System.CTypes.pp $(CTYPES_DEPS)
 	$(COMPILER) $(CTYPES_OPT) $<
 	$(COMPILER) $(CTYPES_OPT) $<
 OBJC_DEPS=$(INC)/objc.pp $(INC)/objc.pp $(INC)/objc1.inc $(INC)/objcnf.inc \
 OBJC_DEPS=$(INC)/objc.pp $(INC)/objc.pp $(INC)/objc1.inc $(INC)/objcnf.inc \
 	  $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
 	  $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
@@ -2725,13 +2725,13 @@ OS2Api.doscall2$(PPUEXT) : $(NSOS2DIR)/OS2Api.doscall2.pas $(DOSCALL2_DEPS)
 	$(COMPILER) -Fi$(OS2DIR) $<
 	$(COMPILER) -Fi$(OS2DIR) $<
 PMWIN_DEPS = $(OS2DIR)/pmwin.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 PMWIN_DEPS = $(OS2DIR)/pmwin.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
 	     $(PMWIN_DEPS_OS) $(PMWIN_DEPS_CPU)
 	     $(PMWIN_DEPS_OS) $(PMWIN_DEPS_CPU)
-pmwin$(PPUEXT) : $(PMWIN_DEPS) 
+pmwin$(PPUEXT) : $(PMWIN_DEPS)
 	$(COMPILER) $<
 	$(COMPILER) $<
 OS2Api.pmwin$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwin.pas $(PMWIN_DEPS)
 OS2Api.pmwin$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwin.pas $(PMWIN_DEPS)
 	$(COMPILER) -Fi$(OS2DIR) $<
 	$(COMPILER) -Fi$(OS2DIR) $<
 PMBITMAP_DEPS = $(OS2DIR)/pmbitmap.pas $(SYSTEMUNIT)$(PPUEXT) \
 PMBITMAP_DEPS = $(OS2DIR)/pmbitmap.pas $(SYSTEMUNIT)$(PPUEXT) \
 	     $(PMBITMAP_DEPS_OS) $(PMBITMAP_DEPS_CPU)
 	     $(PMBITMAP_DEPS_OS) $(PMBITMAP_DEPS_CPU)
-pmbitmap$(PPUEXT) : $(PMBITMAP_DEPS) 
+pmbitmap$(PPUEXT) : $(PMBITMAP_DEPS)
 	$(COMPILER) $<
 	$(COMPILER) $<
 OS2Api.pmbitmap$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmbitmap.pas $(PMBITMAP_DEPS)
 OS2Api.pmbitmap$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmbitmap.pas $(PMBITMAP_DEPS)
 	$(COMPILER) -Fi$(OS2DIR) $<
 	$(COMPILER) -Fi$(OS2DIR) $<
@@ -2824,7 +2824,10 @@ iso7185$(PPUEXT) : $(INC)/iso7185.pp buildrtl$(PPUEXT) heaptrc$(PPUEXT)
 	$(COMPILER) $(INC)/iso7185.pp
 	$(COMPILER) $(INC)/iso7185.pp
 extpas$(PPUEXT) : $(INC)/extpas.pp buildrtl$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) heaptrc$(PPUEXT)
 extpas$(PPUEXT) : $(INC)/extpas.pp buildrtl$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) heaptrc$(PPUEXT)
 	$(COMPILER) $(INC)/extpas.pp
 	$(COMPILER) $(INC)/extpas.pp
+ifdef FPC_DOTTEDUNITS
+BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS
+endif
 buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
 buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
-	$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
+	$(COMPILER) -Fi$(OBJPASDIR) -Fi../charmaps -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) $(BUILDRTL_OPT) buildrtl
 cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
 cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) objpas$(PPUEXT) heaptrc$(PPUEXT)
 	$(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas
 	$(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas

+ 14 - 1
rtl/morphos/buildrtl.pp

@@ -1,7 +1,20 @@
 unit buildrtl;
 unit buildrtl;
 
 
   interface
   interface
+{$IFDEF FPC_DOTTEDUNITS}
+    uses
+      si_prc,
+      AmigaApi.AThreads, TP.DOS, System.SysUtils,
 
 
+      System.ExeInfo, System.LineInfo,
+
+      System.CTypes, System.Strings,
+      System.RtlConsts, System.SysConst, System.Math, System.Types,
+      System.TypInfo, System.SortBase, System.FGL, System.Classes,
+      System.CharSet, System.Character, System.GetOpts,
+      System.FPWideString, fpintres, System.CodePages.All,
+      System.SoftFPU, System.SoftFpuX80, System.SoftFpu128, System.UFloatX80, System.UFloat128;
+{$ELSE FPC_DOTTEDUNITS}
     uses
     uses
       si_prc,
       si_prc,
       athreads, dos, sysutils,
       athreads, dos, sysutils,
@@ -14,7 +27,7 @@ unit buildrtl;
       charset, character, getopts,
       charset, character, getopts,
       fpwidestring, fpintres,
       fpwidestring, fpintres,
       softfpu, sfpux80, ufloatx80, sfpu128, ufloat128;
       softfpu, sfpux80, ufloatx80, sfpu128, ufloat128;
-
+{$ENDIF FPC_DOTTEDUNITS}
   implementation
   implementation
 
 
 end.
 end.