Explorar o código

Merged revisions 10799-10800 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

........
r10799 | hajny | 2008-04-25 22:09:56 -0700 | 1 line

+ probability of issues with long pathnames not fitting DOS command line length limits decreased by patch by Giulio Bernardi
........
r10800 | hajny | 2008-04-25 22:53:58 -0700 | 1 line

+ fgl and ctypes added to compilation in patch by Giulio Bernardi
........

git-svn-id: branches/fixes_2_2@10832 -

Tomas Hajny %!s(int64=17) %!d(string=hai) anos
pai
achega
91d4d5c980
Modificáronse 3 ficheiros con 161 adicións e 73 borrados
  1. 11 12
      compiler/systems/t_go32v2.pas
  2. 145 59
      rtl/go32v2/Makefile
  3. 5 2
      rtl/go32v2/Makefile.fpc

+ 11 - 12
compiler/systems/t_go32v2.pas

@@ -87,7 +87,7 @@ procedure TExternalLinkerGo32v2.SetDefaultInfo;
 begin
   with Info do
    begin
-     ExeCmd[1]:='ld $SCRIPT $OPT $STRIP -o $EXE $RES';
+     ExeCmd[1]:='ld $RES';
    end;
 end;
 
@@ -103,6 +103,16 @@ begin
 
   { Open link.res file }
   LinkRes:=TLinkRes.Create(outputexedir+Info.ResName);
+  
+  { Add all options to link.res instead of passing them via command line:
+    DOS command line is limited to 126 characters! }
+  LinkRes.Add('--script='+maybequoted(outputexedir+Info.ScriptName));
+  if info.ExtraOptions<>'' then
+    LinkRes.Add(Info.ExtraOptions);
+(* Potential issues with older ld version??? *)
+  if (cs_link_strip in current_settings.globalswitches) then
+    LinkRes.Add('-s');
+  LinkRes.Add('-o '+maybequoted(current_module.exefilename^));
 
   { Write staticlibraries }
   if not StaticLibFiles.Empty then
@@ -238,28 +248,17 @@ var
   binstr,
   cmdstr  : TCmdStr;
   success : boolean;
-  StripStr : string[40];
 begin
   if not(cs_link_nolink in current_settings.globalswitches) then
    Message1(exec_i_linking,current_module.exefilename^);
 
-{ Create some replacements }
-  StripStr:='';
-  if (cs_link_strip in current_settings.globalswitches) then
-   StripStr:='-s';
-
   { Write used files and libraries and our own ld script }
   WriteScript(false);
   WriteResponsefile(false);
 
 { Call linker }
   SplitBinCmd(Info.ExeCmd[1],binstr,cmdstr);
-  Replace(cmdstr,'$EXE',maybequoted(current_module.exefilename^));
-  Replace(cmdstr,'$OPT',Info.ExtraOptions);
   Replace(cmdstr,'$RES','@'+maybequoted(outputexedir+Info.ResName));
-(* Potential issues with older ld version??? *)
-  Replace(cmdstr,'$STRIP',StripStr);
-  Replace(cmdstr,'$SCRIPT','--script='+maybequoted(outputexedir+Info.ScriptName));
   success:=DoExec(FindUtil(utilsprefix+BinStr),cmdstr,true,false);
 
 { Remove ReponseFile }

+ 145 - 59
rtl/go32v2/Makefile

@@ -1,8 +1,8 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/01/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/04/18]
 #
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) solaris qnx
 LIMIT83fs = go32v2 os2 emx watcom
@@ -169,6 +169,17 @@ OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
 endif
 FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
+ifeq ($(CPU_TARGET),armeb)
+ARCH=arm
+override FPCOPT+=-Cb
+else
+ifeq ($(CPU_TARGET),armel)
+ARCH=arm
+override FPCOPT+=-CaEABI
+else
+ARCH=$(CPU_TARGET)
+endif
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 TARGETSUFFIX=$(OS_TARGET)
 SOURCESUFFIX=$(OS_SOURCE)
@@ -190,7 +201,7 @@ endif
 ifeq ($(OS_TARGET),linux)
 linuxHier=1
 endif
-export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
+export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
@@ -260,163 +271,175 @@ ifdef NO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 endif
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override TARGET_UNITS+=system objpas macpas strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_IMPLICITUNITS+=exeinfo
@@ -553,6 +576,9 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override TARGET_IMPLICITUNITS+=exeinfo
 endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override TARGET_IMPLICITUNITS+=exeinfo
+endif
 ifeq ($(FULL_TARGET),arm-wince)
 override TARGET_IMPLICITUNITS+=exeinfo
 endif
@@ -577,6 +603,15 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override TARGET_IMPLICITUNITS+=exeinfo
 endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override TARGET_IMPLICITUNITS+=exeinfo
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override TARGET_IMPLICITUNITS+=exeinfo
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override TARGET_IMPLICITUNITS+=exeinfo
+endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_LOADERS+=prt0 exceptn fpu
 endif
@@ -712,6 +747,9 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override TARGET_LOADERS+=prt0 exceptn fpu
 endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override TARGET_LOADERS+=prt0 exceptn fpu
+endif
 ifeq ($(FULL_TARGET),arm-wince)
 override TARGET_LOADERS+=prt0 exceptn fpu
 endif
@@ -736,6 +774,15 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override TARGET_LOADERS+=prt0 exceptn fpu
 endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override TARGET_LOADERS+=prt0 exceptn fpu
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override TARGET_LOADERS+=prt0 exceptn fpu
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override TARGET_LOADERS+=prt0 exceptn fpu
+endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
 endif
@@ -871,6 +918,9 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
 endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
+endif
 ifeq ($(FULL_TARGET),arm-wince)
 override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
 endif
@@ -895,6 +945,15 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
 endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
+endif
 override INSTALL_FPCPACKAGE=y
 ifeq ($(FULL_TARGET),i386-linux)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
@@ -1031,6 +1090,9 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
+endif
 ifeq ($(FULL_TARGET),arm-wince)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
@@ -1055,6 +1117,15 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
+endif
 ifeq ($(FULL_TARGET),i386-linux)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
 endif
@@ -1190,6 +1261,9 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
 endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
+endif
 ifeq ($(FULL_TARGET),arm-wince)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
 endif
@@ -1214,6 +1288,15 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
 endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
+endif
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 endif
@@ -1962,13 +2045,13 @@ TAROPT=vz
 TAREXT=.tar.gz
 endif
 ifndef NOCPUDEF
-override FPCOPTDEF=$(CPU_TARGET)
+override FPCOPTDEF=$(ARCH)
 endif
 ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 endif
 ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(CPU_TARGET)
+override FPCOPT+=-P$(ARCH)
 endif
 ifeq ($(OS_SOURCE),openbsd)
 override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
@@ -2529,8 +2612,10 @@ sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
 		    objpas$(PPUEXT) dos$(PPUEXT) go32$(PPUEXT) sysconst$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
-		   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT)
+		   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT) fgl$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
+fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT)
+	$(COMPILER) $(OBJPASDIR)/fgl.pp
 math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
 	$(COMPILER) $(OBJPASDIR)/math.pp
 typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) rtlconst$(PPUEXT)
@@ -2567,3 +2652,4 @@ charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT)
 ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT)
 msmouse$(PPUEXT) : msmouse.pp system$(PPUEXT)
 callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
+ctypes$(PPUEXT) : $(INC)/ctypes.pp system$(PPUEXT)

+ 5 - 2
rtl/go32v2/Makefile.fpc

@@ -9,7 +9,7 @@ units=system objpas macpas strings \
       go32 dpmiexcp initc ports profile dxetype dxeload emu387 \
       dos crt objects printer \
       sysutils classes math typinfo matrix \
-      cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf \
+      cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl \
       msmouse charset varutils \
       video mouse keyboard variants vesamode types fmtbcd \
       sysconst rtlconst dateutil convutil strutils
@@ -105,8 +105,10 @@ sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
                     objpas$(PPUEXT) dos$(PPUEXT) go32$(PPUEXT) sysconst$(PPUEXT)
         $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
 classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
-                   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT)
+                   sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT) fgl$(PPUEXT)
         $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
+fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT)
+        $(COMPILER) $(OBJPASDIR)/fgl.pp
 math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
         $(COMPILER) $(OBJPASDIR)/math.pp
 typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) rtlconst$(PPUEXT)
@@ -155,3 +157,4 @@ ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT)
 #
 msmouse$(PPUEXT) : msmouse.pp system$(PPUEXT)
 callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
+ctypes$(PPUEXT) : $(INC)/ctypes.pp system$(PPUEXT)