Browse Source

* merge r30942,30958-30959,30966

git-svn-id: branches/fixes_3_0@31094 -
marco 10 years ago
parent
commit
261a02b504
6 changed files with 226 additions and 211 deletions
  1. 38 11
      rtl/amicommon/athreads.pp
  2. 1 1
      rtl/amicommon/tthread.inc
  3. 79 77
      rtl/amiga/Makefile
  4. 5 1
      rtl/amiga/Makefile.fpc
  5. 78 98
      rtl/morphos/Makefile
  6. 25 23
      rtl/morphos/Makefile.fpc

+ 38 - 11
rtl/amicommon/athreads.pp

@@ -67,7 +67,8 @@ type
     num: longint;            { This was the "num"th thread to created }
     mainthread: boolean;     { true if this is our main thread }
     exited: boolean;         { true if the thread has exited, and can be cleaned up }
-    suspended: boolean;      { true if the thread was started suspended, and not resumed yet }
+    startSuspended: boolean; { true if the thread was started suspended, and not resumed yet }
+    suspended: boolean;      { true if the thread is currently suspended }
     mutex: TSignalSemaphore; { thread's mutex. locked during the thread's life. }
     name: String;            { Thread's name }
   end;
@@ -440,7 +441,7 @@ begin
   { if creating a suspended thread, wait for the wakeup message to arrive }
   { then check if we actually have to resume, or exit }
   exitSuspend:=false;
-  if threadInfo^.suspended then
+  if threadInfo^.startSuspended then
     begin
 {$ifdef DEBUG_MT}
       SysDebugLn('FPC AThreads: Suspending subthread on entry, ID:'+hexStr(threadInfo));
@@ -448,7 +449,7 @@ begin
       WaitPort(@thisThread^.pr_MsgPort);
       resumeMsg:=PThreadMsg(GetMsg(@thisThread^.pr_MsgPort));
       exitSuspend:=resumeMsg^.tm_Operation <> toResume;
-      threadInfo^.suspended:=false;
+      threadInfo^.startSuspended:=false;
       ReplyMsg(PMessage(resumeMsg));
 {$ifdef DEBUG_MT}
       SysDebugLn('FPC AThreads: Resuming subthread on entry, ID:'+hexStr(threadInfo)+', resumed only to exit: '+IToStr(ord(exitSuspend)));
@@ -508,7 +509,7 @@ begin
     threadInfo^.stackLen:=stacksize
   else
     threadInfo^.stackLen:=System.StackLength; { inherit parent's stack size }
-  threadInfo^.suspended:=(creationFlags and CREATE_SUSPENDED) > 0;
+  threadInfo^.startSuspended:=(creationFlags and CREATE_SUSPENDED) > 0;
 
 {$ifdef DEBUG_MT}
   SysDebugLn('FPC AThreads: Starting new thread... Stack size: '+IToStr(threadInfo^.stackLen));
@@ -555,12 +556,39 @@ end;
 
 
 function ASuspendThread (threadHandle : TThreadID) : dword;
+var
+  p: PThreadInfo;
+  m: PThreadMsg;
 begin
+  ASuspendThread:=0;
+  if GetCurrentThreadID = threadHandle then
+    begin
+      p:=GetThreadInfo(AThreadList,threadHandle);
+      if p <> nil then
+        begin
+          p^.suspended:=true;
+          while p^.suspended do
+            begin
+              WaitPort(@p^.threadPtr^.pr_MsgPort);
+              m:=PThreadMsg(GetMsg(@p^.threadPtr^.pr_MsgPort));
+              if m^.tm_Operation = toResume then
+                p^.suspended:=false
+              else
 {$ifdef DEBUG_MT}
-  SysDebugLn('FPC AThreads: unsupported operation: SuspendThread called for ID:'+IToHStr(threadHandle));
+                SysDebugLn('FPC AThreads: Got message during suspend, but it wasn''t toResume! ID:'+IToHStr(threadHandle))
 {$endif}
-  // cannot be properly supported on Amiga
-  result:=dword(-1);
+              ;
+              ReplyMsg(PMessage(m));
+            end;
+        end;
+    end
+  else
+    begin
+{$ifdef DEBUG_MT}
+      SysDebugLn('FPC AThreads: SuspendThread called for ID:'+IToHStr(threadHandle)+' which is not the current thread!');
+{$endif}
+      result:=dword(-1);
+    end;
 end;
 
 
@@ -572,7 +600,7 @@ begin
   AResumeThread:=0;
   Forbid();
   p:=GetThreadInfo(AThreadList,threadHandle);
-  if (p <> nil) and p^.suspended then
+  if (p <> nil) and (p^.suspended or p^.startSuspended) then
     begin
 {$ifdef DEBUG_MT}
       SysDebugLn('FPC AThreads: Waiting for thread to resume, ID:'+IToHStr(threadHandle));
@@ -583,7 +611,6 @@ begin
     end
   else
     begin
-      SysDebugLn('FPC AThreads: szijjal gazt:'+hexstr(p)+' mi?'+IToStr(ord(p^.suspended))+' mimi?'+IToStr(ord(p^.exited)));
 {$ifdef DEBUG_MT}
       SysDebugLn('FPC AThreads: Error, attempt to resume a non-suspended thread, or invalid thread ID:'+IToHStr(threadHandle));
 {$endif}
@@ -643,11 +670,11 @@ begin
           SysDebugLn('FPC AThreads: Waiting for thread to exit, ID:'+IToHStr(threadHandle));
 {$endif}
           { WaitPort in SendMessageToThread will break the Forbid() state... }
-          if p^.suspended then
+          if p^.startSuspended then
             begin
               SendMessageToThread(m,p,toExit,true);
 {$ifdef DEBUG_MT}
-              SysDebugLn('FPC AThreads: Signaled suspended thread to exit, ID:'+IToHStr(threadHandle));
+              SysDebugLn('FPC AThreads: Signaled start-suspended thread to exit, ID:'+IToHStr(threadHandle));
 {$endif}
             end;
 

+ 1 - 1
rtl/amicommon/tthread.inc

@@ -27,7 +27,7 @@ begin
   FInitialSuspended := CreateSuspended;
   { Always start in suspended state, will be resumed in AfterConstruction if necessary
     See Mantis #16884 }
-  FHandle := BeginThread(nil, StackSize, @ThreadProc, pointer(self), 1{CREATE_SUSPENDED},
+  FHandle := BeginThread(nil, StackSize, @ThreadProc, pointer(self), CREATE_SUSPENDED,
                          FThreadID);
   if FHandle = TThreadID(0) then
     raise EThread.CreateFmt(SThreadCreateError, ['Cannot create thread.']);

+ 79 - 77
rtl/amiga/Makefile

@@ -341,235 +341,235 @@ override FPCOPT+=-Ur
 endif
 OBJPASDIR=$(RTL)/objpas
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-nativent)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-iphonesim)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-android)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-aros)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-wii)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-aix)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-solaris)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-openbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-dragonfly)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-android)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc64-aix)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),mips-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),mipsel-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),mipsel-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),mipsel-android)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),jvm-java)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),jvm-android)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i8086-msdos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc lineinfo ctypes sysutils fgl classes math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_IMPLICITUNITS+=cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852
@@ -2982,3 +2982,5 @@ cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT)
 	$(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas
 fpintres$(PPUEXT) : $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) $(INC)/fpintres.pp
+athreads$(PPUEXT) : athreads.pp $(SYSTEMUNIT)$(PPUEXT)
+	$(COMPILER) $(AMIINC)/athreads.pp

+ 5 - 1
rtl/amiga/Makefile.fpc

@@ -11,7 +11,8 @@ units=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings \
       fpintres dos heaptrc lineinfo ctypes \
       sysutils fgl classes math typinfo \
       charset cpall getopts \
-      types rtlconsts sysconst
+      types rtlconsts sysconst \
+      athreads
 implicitunits=cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 \
       cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852
 # \
@@ -202,6 +203,9 @@ fpintres$(PPUEXT) : $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT)
 # Other system-dependent RTL Units
 #
 
+athreads$(PPUEXT) : athreads.pp $(SYSTEMUNIT)$(PPUEXT)
+	$(COMPILER) $(AMIINC)/athreads.pp
+
 #exec$(PPUEXT)    : exec.pp execf.inc execd.inc
 
 #timer$(PPUEXT)   : timer.pp timerd.inc timerf.inc

+ 78 - 98
rtl/morphos/Makefile

@@ -342,235 +342,235 @@ endif
 OBJPASDIR=$(RTL)/objpas
 GRAPHDIR=$(INC)/graph
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-nativent)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-iphonesim)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-android)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-aros)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-wii)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc-aix)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-netbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-solaris)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-openbsd)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),x86_64-dragonfly)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),arm-android)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),powerpc64-aix)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),mips-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),mipsel-linux)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),mipsel-embedded)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),mipsel-android)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),jvm-java)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),jvm-android)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i8086-msdos)
-override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst
+override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings fpintres dos heaptrc ctypes sysutils classes fgl math typinfo charset cpall getopts types rtlconsts sysconst athreads
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_IMPLICITUNITS+=cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852
@@ -2971,25 +2971,5 @@ cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT)
 	$(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas
 fpintres$(PPUEXT) : $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) $(INC)/fpintres.pp
-exec$(PPUEXT)    : exec.pp execf.inc execd.inc
-timer$(PPUEXT)   : timer.pp timerd.inc timerf.inc
-utility$(PPUEXT) : utility.pp exec$(PPUEXT) utilf.inc utild1.inc utild2.inc
-doslib$(PPUEXT)  : doslib.pp exec$(PPUEXT) timer$(PPUEXT) doslibd.inc doslibf.inc
-hardware$(PPUEXT): hardware.pas exec$(PPUEXT)
-inputevent$(PPUEXT): inputevent.pas exec$(PPUEXT) timer$(PPUEXT) utility$(PPUEXT)
-graphics$(PPUEXT): graphics.pas exec$(PPUEXT) utility$(PPUEXT) hardware$(PPUEXT)
-layers$(PPUEXT)  : layers.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
-intuition$(PPUEXT): intuition.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT) \
-		    inputevent$(PPUEXT) timer$(PPUEXT) layers$(PPUEXT)
-aboxlib$(PPUEXT): aboxlib.pas
-clipboard$(PPUEXT): clipboard.pas exec$(PPUEXT)
-datatype$(PPUEXT): datatypes.pas exec$(PPUEXT) doslib$(PPUEXT) intuition$(PPUEXT) \
-		   utility$(PPUEXT) graphics$(PPUEXT)
-asl$(PPUEXT): asl.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
-ahi$(PPUEXT): ahi.pas exec$(PPUEXT) utility$(PPUEXT)
-mui$(PPUEXT): mui.pas exec$(PPUEXT) utility$(PPUEXT) intuition$(PPUEXT) graphics$(PPUEXT)
-tinygl$(PPUEXT): tinygl.pp exec$(PPUEXT)
-get9$(PPUEXT): get9.pas exec$(PPUEXT)
-muihelper$(PPUEXT): muihelper.pas intuition$(PPUEXT) mui$(PPUEXT) doslib$(PPUEXT) utility$(PPUEXT)
-kvm$(PPUEXT) : kvm.pp
+athreadss$(PPUEXT) : $(AMIINC)/athreads.pp $(SYSTEMUNIT)$(PPUEXT)
 ctypes$(PPUEXT) :  $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT)

+ 25 - 23
rtl/morphos/Makefile.fpc

@@ -11,8 +11,8 @@ units=$(SYSTEMUNIT) uuchar objpas macpas iso7185 strings \
       fpintres dos heaptrc ctypes \
       sysutils classes fgl math typinfo \
       charset cpall getopts \
-      types rtlconsts sysconst
-
+      types rtlconsts sysconst \
+      athreads
 #      exec timer doslib utility hardware inputevent keymap graphics layers 
 #      intuition aboxlib mui 
 # these units are here, because they depend on system interface units above
@@ -178,45 +178,47 @@ fpintres$(PPUEXT) : $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT)
 # Other system-dependent RTL Units
 #
 
-exec$(PPUEXT)    : exec.pp execf.inc execd.inc
+athreadss$(PPUEXT) : $(AMIINC)/athreads.pp $(SYSTEMUNIT)$(PPUEXT)
+
+#exec$(PPUEXT)    : exec.pp execf.inc execd.inc
 
-timer$(PPUEXT)   : timer.pp timerd.inc timerf.inc
+#timer$(PPUEXT)   : timer.pp timerd.inc timerf.inc
 
-utility$(PPUEXT) : utility.pp exec$(PPUEXT) utilf.inc utild1.inc utild2.inc
+#utility$(PPUEXT) : utility.pp exec$(PPUEXT) utilf.inc utild1.inc utild2.inc
 
-doslib$(PPUEXT)  : doslib.pp exec$(PPUEXT) timer$(PPUEXT) doslibd.inc doslibf.inc
+#doslib$(PPUEXT)  : doslib.pp exec$(PPUEXT) timer$(PPUEXT) doslibd.inc doslibf.inc
 
-hardware$(PPUEXT): hardware.pas exec$(PPUEXT)
+#hardware$(PPUEXT): hardware.pas exec$(PPUEXT)
 
-inputevent$(PPUEXT): inputevent.pas exec$(PPUEXT) timer$(PPUEXT) utility$(PPUEXT)
+#inputevent$(PPUEXT): inputevent.pas exec$(PPUEXT) timer$(PPUEXT) utility$(PPUEXT)
 
-graphics$(PPUEXT): graphics.pas exec$(PPUEXT) utility$(PPUEXT) hardware$(PPUEXT)
+#graphics$(PPUEXT): graphics.pas exec$(PPUEXT) utility$(PPUEXT) hardware$(PPUEXT)
 
-layers$(PPUEXT)  : layers.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
+#layers$(PPUEXT)  : layers.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
 
-intuition$(PPUEXT): intuition.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT) \
-                    inputevent$(PPUEXT) timer$(PPUEXT) layers$(PPUEXT)
+#intuition$(PPUEXT): intuition.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT) \
+#                    inputevent$(PPUEXT) timer$(PPUEXT) layers$(PPUEXT)
 
-aboxlib$(PPUEXT): aboxlib.pas
+#aboxlib$(PPUEXT): aboxlib.pas
 
-clipboard$(PPUEXT): clipboard.pas exec$(PPUEXT)
+#clipboard$(PPUEXT): clipboard.pas exec$(PPUEXT)
 
-datatype$(PPUEXT): datatypes.pas exec$(PPUEXT) doslib$(PPUEXT) intuition$(PPUEXT) \
-                   utility$(PPUEXT) graphics$(PPUEXT)
+#datatype$(PPUEXT): datatypes.pas exec$(PPUEXT) doslib$(PPUEXT) intuition$(PPUEXT) \
+#                   utility$(PPUEXT) graphics$(PPUEXT)
 
-asl$(PPUEXT): asl.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
+#asl$(PPUEXT): asl.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
 
-ahi$(PPUEXT): ahi.pas exec$(PPUEXT) utility$(PPUEXT)
+#ahi$(PPUEXT): ahi.pas exec$(PPUEXT) utility$(PPUEXT)
 
-mui$(PPUEXT): mui.pas exec$(PPUEXT) utility$(PPUEXT) intuition$(PPUEXT) graphics$(PPUEXT)
+#mui$(PPUEXT): mui.pas exec$(PPUEXT) utility$(PPUEXT) intuition$(PPUEXT) graphics$(PPUEXT)
 
-tinygl$(PPUEXT): tinygl.pp exec$(PPUEXT)
+#tinygl$(PPUEXT): tinygl.pp exec$(PPUEXT)
 
-get9$(PPUEXT): get9.pas exec$(PPUEXT)
+#get9$(PPUEXT): get9.pas exec$(PPUEXT)
 
-muihelper$(PPUEXT): muihelper.pas intuition$(PPUEXT) mui$(PPUEXT) doslib$(PPUEXT) utility$(PPUEXT)
+#muihelper$(PPUEXT): muihelper.pas intuition$(PPUEXT) mui$(PPUEXT) doslib$(PPUEXT) utility$(PPUEXT)
 
-kvm$(PPUEXT) : kvm.pp
+#kvm$(PPUEXT) : kvm.pp
 
 ctypes$(PPUEXT) :  $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT)