Parcourir la source

Merged revisions 13458-13596 via svnmerge from
svn+ssh://[email protected]/FPC/svn/fpc/trunk

git-svn-id: branches/objc@13598 -

Jonas Maebe il y a 16 ans
Parent
commit
a149674a75
100 fichiers modifiés avec 1632 ajouts et 920 suppressions
  1. 105 109
      .gitattributes
  2. 0 7
      .gitignore
  3. 4 2
      Makefile
  4. 1 1
      Makefile.fpc
  5. 51 17
      compiler/Makefile
  6. 42 21
      compiler/Makefile.fpc
  7. 4 1
      compiler/cfileutl.pas
  8. 1 0
      compiler/cgobj.pas
  9. 0 2
      compiler/cgutils.pas
  10. 1 1
      compiler/cutils.pas
  11. 4 4
      compiler/dbgdwarf.pas
  12. 2 1
      compiler/finput.pas
  13. 0 2
      compiler/fpcdefs.inc
  14. 6 17
      compiler/htypechk.pas
  15. 2 0
      compiler/i386/cgcpu.pas
  16. 1 1
      compiler/i386/cpuinfo.pas
  17. 27 9
      compiler/msg/errord.msg
  18. 28 9
      compiler/msg/errordu.msg
  19. 11 12
      compiler/ncal.pas
  20. 2 2
      compiler/ncgcal.pas
  21. 0 16
      compiler/ncgcon.pas
  22. 0 2
      compiler/ncginl.pas
  23. 8 3
      compiler/ncgutil.pas
  24. 9 0
      compiler/ncnv.pas
  25. 3 7
      compiler/ninl.pas
  26. 1 1
      compiler/nld.pas
  27. 2 2
      compiler/nmem.pas
  28. 1 3
      compiler/nobj.pas
  29. 4 6
      compiler/nutils.pas
  30. 3 22
      compiler/options.pas
  31. 3 3
      compiler/optloop.pas
  32. 3 1
      compiler/optvirt.pas
  33. 23 4
      compiler/pass_1.pas
  34. 5 5
      compiler/pdecsub.pas
  35. 7 1
      compiler/pdecvar.pas
  36. 403 380
      compiler/pexpr.pas
  37. 4 4
      compiler/pinline.pas
  38. 1 1
      compiler/powerpc/nppccnv.pas
  39. 1 1
      compiler/powerpc64/nppccnv.pas
  40. 0 10
      compiler/ppu.pas
  41. 1 1
      compiler/pstatmnt.pas
  42. 1 1
      compiler/psub.pas
  43. 1 3
      compiler/psystem.pas
  44. 0 5
      compiler/ptconst.pas
  45. 1 1
      compiler/ptype.pas
  46. 74 25
      compiler/scanner.pas
  47. 2 2
      compiler/symsym.pas
  48. 51 48
      compiler/symtable.pas
  49. 8 1
      compiler/symtype.pas
  50. 48 26
      compiler/systems/t_linux.pas
  51. 17 1
      compiler/utils/Makefile
  52. 1 1
      compiler/version.pas
  53. 17 1
      compiler/x86/aasmcpu.pas
  54. 1 7
      compiler/x86/cgx86.pas
  55. 10 1
      compiler/x86/rgx86.pas
  56. 93 2
      ide/Makefile
  57. 1 1
      ide/Makefile.fpc
  58. 17 1
      ide/compiler/Makefile
  59. 17 1
      ide/fakegdb/Makefile
  60. 1 1
      ide/fpconst.pas
  61. 4 2
      ide/fpviews.pas
  62. 30 22
      ide/wchmhwrap.pas
  63. 1 1
      ide/whelp.pas
  64. 2 2
      ide/whtml.pas
  65. 21 12
      ide/whtmlhlp.pas
  66. 18 2
      installer/Makefile
  67. 1 1
      installer/Makefile.fpc
  68. 6 4
      installer/install.dat
  69. 4 4
      installer/install.pas
  70. 3 1
      packages/Makefile
  71. 18 2
      packages/a52/Makefile
  72. 1 1
      packages/a52/Makefile.fpc
  73. 18 2
      packages/amunits/Makefile
  74. 1 1
      packages/amunits/Makefile.fpc
  75. 18 2
      packages/amunits/src/utilunits/Makefile
  76. 1 1
      packages/amunits/src/utilunits/Makefile.fpc
  77. 18 2
      packages/aspell/Makefile
  78. 1 1
      packages/aspell/Makefile.fpc
  79. 18 2
      packages/bfd/Makefile
  80. 1 1
      packages/bfd/Makefile.fpc
  81. 4 2
      packages/bzip2/Makefile
  82. 1 1
      packages/bzip2/Makefile.fpc
  83. 49 2
      packages/cairo/Makefile
  84. 1 1
      packages/cairo/Makefile.fpc
  85. 18 2
      packages/cdrom/Makefile
  86. 1 1
      packages/cdrom/Makefile.fpc
  87. 17 1
      packages/cdrom/examples/Makefile
  88. 130 2
      packages/chm/Makefile
  89. 1 1
      packages/chm/Makefile.fpc
  90. 7 6
      packages/chm/src/chmtypes.pas
  91. 18 2
      packages/dbus/Makefile
  92. 1 1
      packages/dbus/Makefile.fpc
  93. 17 1
      packages/dbus/examples/Makefile
  94. 18 2
      packages/dts/Makefile
  95. 1 1
      packages/dts/Makefile.fpc
  96. 4 2
      packages/fastcgi/Makefile
  97. 1 1
      packages/fastcgi/Makefile.fpc
  98. 18 2
      packages/fcl-async/Makefile
  99. 1 1
      packages/fcl-async/Makefile.fpc
  100. 4 2
      packages/fcl-base/Makefile

+ 105 - 109
.gitattributes

@@ -675,7 +675,7 @@ ide/fpcygwin.pas svneol=native#text/plain
 ide/fpdebug.pas svneol=native#text/plain
 ide/fpdebug.pas svneol=native#text/plain
 ide/fpdesk.pas svneol=native#text/plain
 ide/fpdesk.pas svneol=native#text/plain
 ide/fpdpansi.pas svneol=native#text/plain
 ide/fpdpansi.pas svneol=native#text/plain
-ide/fpevalw.pas svneol=native#text/x-pascal
+ide/fpevalw.pas svneol=native#text/plain
 ide/fphelp.pas svneol=native#text/plain
 ide/fphelp.pas svneol=native#text/plain
 ide/fpide.pas svneol=native#text/plain
 ide/fpide.pas svneol=native#text/plain
 ide/fpini.pas svneol=native#text/plain
 ide/fpini.pas svneol=native#text/plain
@@ -1503,6 +1503,7 @@ packages/fcl-net/examples/testproto.pp svneol=native#text/plain
 packages/fcl-net/examples/testsvc.pp svneol=native#text/plain
 packages/fcl-net/examples/testsvc.pp svneol=native#text/plain
 packages/fcl-net/examples/testuri.pp svneol=native#text/plain
 packages/fcl-net/examples/testuri.pp svneol=native#text/plain
 packages/fcl-net/fpmake.pp svneol=native#text/plain
 packages/fcl-net/fpmake.pp svneol=native#text/plain
+packages/fcl-net/src/cnetdb.pp svneol=native#text/plain
 packages/fcl-net/src/fpsock.pp svneol=native#text/plain
 packages/fcl-net/src/fpsock.pp svneol=native#text/plain
 packages/fcl-net/src/httpbase.pp svneol=native#text/plain
 packages/fcl-net/src/httpbase.pp svneol=native#text/plain
 packages/fcl-net/src/httpclient.pp svneol=native#text/plain
 packages/fcl-net/src/httpclient.pp svneol=native#text/plain
@@ -3107,26 +3108,6 @@ packages/libgbafpc/examples/audio/PlayBoyScout/Makefile.fpc svneol=native#text/p
 packages/libgbafpc/examples/audio/PlayBoyScout/PlayBoyScout.pp svneol=native#text/plain
 packages/libgbafpc/examples/audio/PlayBoyScout/PlayBoyScout.pp svneol=native#text/plain
 packages/libgbafpc/examples/audio/PlayBoyScout/data/ScoutSplash.pcx -text
 packages/libgbafpc/examples/audio/PlayBoyScout/data/ScoutSplash.pcx -text
 packages/libgbafpc/examples/audio/PlayBoyScout/data/tune.bgf -text
 packages/libgbafpc/examples/audio/PlayBoyScout/data/tune.bgf -text
-packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/Makefile.fpc svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/PlayBoyScout.pp svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/ScoutSplash.pcx -text svneol=unset#image/pcx
-packages/libgbafpc/examples/devkitPro/audio/PlayBoyScout/data/tune.bgf -text
-packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/PCXView/Makefile.fpc svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/ScoutSplash.pcx -text svneol=unset#image/pcx
-packages/libgbafpc/examples/devkitPro/graphics/PCXView/data/splash.pcx -text svneol=unset#image/pcx
-packages/libgbafpc/examples/devkitPro/graphics/PCXView/pcx_view.pp svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/Makefile.fpc svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/SimpleBGScroll.pp svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/SimpleBGScroll/data/r6502_portfont.bin -text
-packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/ansi_console/Makefile.fpc svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/graphics/ansi_console/console.pp svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/template/Makefile svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/template/Makefile.fpc svneol=native#text/plain
-packages/libgbafpc/examples/devkitPro/template/template.pp svneol=native#text/plain
 packages/libgbafpc/examples/graphics/Makefile svneol=native#text/plain
 packages/libgbafpc/examples/graphics/Makefile svneol=native#text/plain
 packages/libgbafpc/examples/graphics/Makefile.fpc svneol=native#text/plain
 packages/libgbafpc/examples/graphics/Makefile.fpc svneol=native#text/plain
 packages/libgbafpc/examples/graphics/PCXView/Makefile svneol=native#text/plain
 packages/libgbafpc/examples/graphics/PCXView/Makefile svneol=native#text/plain
@@ -4682,14 +4663,18 @@ packages/univint/src/CFData.pas svneol=native#text/plain
 packages/univint/src/CFDate.pas svneol=native#text/plain
 packages/univint/src/CFDate.pas svneol=native#text/plain
 packages/univint/src/CFDateFormatter.pas svneol=native#text/plain
 packages/univint/src/CFDateFormatter.pas svneol=native#text/plain
 packages/univint/src/CFDictionary.pas svneol=native#text/plain
 packages/univint/src/CFDictionary.pas svneol=native#text/plain
+packages/univint/src/CFError.pas svneol=native#text/plain
 packages/univint/src/CFFTPStream.pas svneol=native#text/plain
 packages/univint/src/CFFTPStream.pas svneol=native#text/plain
+packages/univint/src/CFHTTPAuthentication.pas svneol=native#text/plain
 packages/univint/src/CFHTTPMessage.pas svneol=native#text/plain
 packages/univint/src/CFHTTPMessage.pas svneol=native#text/plain
 packages/univint/src/CFHTTPStream.pas svneol=native#text/plain
 packages/univint/src/CFHTTPStream.pas svneol=native#text/plain
 packages/univint/src/CFHost.pas svneol=native#text/plain
 packages/univint/src/CFHost.pas svneol=native#text/plain
 packages/univint/src/CFLocale.pas svneol=native#text/plain
 packages/univint/src/CFLocale.pas svneol=native#text/plain
 packages/univint/src/CFMachPort.pas svneol=native#text/plain
 packages/univint/src/CFMachPort.pas svneol=native#text/plain
 packages/univint/src/CFMessagePort.pas svneol=native#text/plain
 packages/univint/src/CFMessagePort.pas svneol=native#text/plain
+packages/univint/src/CFNetDiagnostics.pas svneol=native#text/plain
 packages/univint/src/CFNetServices.pas svneol=native#text/plain
 packages/univint/src/CFNetServices.pas svneol=native#text/plain
+packages/univint/src/CFNetworkErrorss.pas svneol=native#text/plain
 packages/univint/src/CFNotificationCenter.pas svneol=native#text/plain
 packages/univint/src/CFNotificationCenter.pas svneol=native#text/plain
 packages/univint/src/CFNumber.pas svneol=native#text/plain
 packages/univint/src/CFNumber.pas svneol=native#text/plain
 packages/univint/src/CFNumberFormatter.pas svneol=native#text/plain
 packages/univint/src/CFNumberFormatter.pas svneol=native#text/plain
@@ -4697,6 +4682,7 @@ packages/univint/src/CFPlugIn.pas svneol=native#text/plain
 packages/univint/src/CFPlugInCOM.pas svneol=native#text/plain
 packages/univint/src/CFPlugInCOM.pas svneol=native#text/plain
 packages/univint/src/CFPreferences.pas svneol=native#text/plain
 packages/univint/src/CFPreferences.pas svneol=native#text/plain
 packages/univint/src/CFPropertyList.pas svneol=native#text/plain
 packages/univint/src/CFPropertyList.pas svneol=native#text/plain
+packages/univint/src/CFProxySupport.pas svneol=native#text/plain
 packages/univint/src/CFRunLoop.pas svneol=native#text/plain
 packages/univint/src/CFRunLoop.pas svneol=native#text/plain
 packages/univint/src/CFSet.pas svneol=native#text/plain
 packages/univint/src/CFSet.pas svneol=native#text/plain
 packages/univint/src/CFSocket.pas svneol=native#text/plain
 packages/univint/src/CFSocket.pas svneol=native#text/plain
@@ -4796,6 +4782,7 @@ packages/univint/src/Drag.pas svneol=native#text/plain
 packages/univint/src/DrawSprocket.pas svneol=native#text/plain
 packages/univint/src/DrawSprocket.pas svneol=native#text/plain
 packages/univint/src/DriverFamilyMatching.pas svneol=native#text/plain
 packages/univint/src/DriverFamilyMatching.pas svneol=native#text/plain
 packages/univint/src/DriverGestalt.pas svneol=native#text/plain
 packages/univint/src/DriverGestalt.pas svneol=native#text/plain
+packages/univint/src/DriverServices.pas svneol=native#text/plain
 packages/univint/src/DriverSynchronization.pas svneol=native#text/plain
 packages/univint/src/DriverSynchronization.pas svneol=native#text/plain
 packages/univint/src/Endian.pas svneol=native#text/plain
 packages/univint/src/Endian.pas svneol=native#text/plain
 packages/univint/src/Events.pas svneol=native#text/plain
 packages/univint/src/Events.pas svneol=native#text/plain
@@ -4926,6 +4913,7 @@ packages/univint/src/TextCommon.pas svneol=native#text/plain
 packages/univint/src/TextEdit.pas svneol=native#text/plain
 packages/univint/src/TextEdit.pas svneol=native#text/plain
 packages/univint/src/TextEncodingConverter.pas svneol=native#text/plain
 packages/univint/src/TextEncodingConverter.pas svneol=native#text/plain
 packages/univint/src/TextEncodingPlugin.pas svneol=native#text/plain
 packages/univint/src/TextEncodingPlugin.pas svneol=native#text/plain
+packages/univint/src/TextInputSources.pas svneol=native#text/plain
 packages/univint/src/TextServices.pas svneol=native#text/plain
 packages/univint/src/TextServices.pas svneol=native#text/plain
 packages/univint/src/TextUtils.pas svneol=native#text/plain
 packages/univint/src/TextUtils.pas svneol=native#text/plain
 packages/univint/src/Threads.pas svneol=native#text/plain
 packages/univint/src/Threads.pas svneol=native#text/plain
@@ -4957,7 +4945,7 @@ packages/unixutil/src/unixutils.pp svneol=native#text/plain
 packages/unzip/Makefile svneol=native#text/plain
 packages/unzip/Makefile svneol=native#text/plain
 packages/unzip/Makefile.fpc svneol=native#text/plain
 packages/unzip/Makefile.fpc svneol=native#text/plain
 packages/unzip/fpmake.pp svneol=native#text/plain
 packages/unzip/fpmake.pp svneol=native#text/plain
-packages/unzip/src/unzip.pp svneol=native#text/plain
+packages/unzip/src/unzip51g.pp svneol=native#text/plain
 packages/unzip/src/unzipdll.pp svneol=native#text/plain
 packages/unzip/src/unzipdll.pp svneol=native#text/plain
 packages/unzip/src/ziptypes.pp svneol=native#text/plain
 packages/unzip/src/ziptypes.pp svneol=native#text/plain
 packages/users/Makefile svneol=native#text/plain
 packages/users/Makefile svneol=native#text/plain
@@ -5434,7 +5422,7 @@ rtl/amiga/timerd.inc svneol=native#text/plain
 rtl/amiga/tthread.inc svneol=native#text/plain
 rtl/amiga/tthread.inc svneol=native#text/plain
 rtl/amiga/varutils.pp svneol=native#text/plain
 rtl/amiga/varutils.pp svneol=native#text/plain
 rtl/arm/arm.inc svneol=native#text/plain
 rtl/arm/arm.inc svneol=native#text/plain
-rtl/arm/divide.inc svneol=native#text/x-pascal
+rtl/arm/divide.inc svneol=native#text/plain
 rtl/arm/int64p.inc svneol=native#text/plain
 rtl/arm/int64p.inc svneol=native#text/plain
 rtl/arm/makefile.cpu svneol=native#text/plain
 rtl/arm/makefile.cpu svneol=native#text/plain
 rtl/arm/math.inc svneol=native#text/plain
 rtl/arm/math.inc svneol=native#text/plain
@@ -5494,7 +5482,7 @@ rtl/beos/unixsock.inc svneol=native#text/plain
 rtl/beos/unxconst.inc svneol=native#text/plain
 rtl/beos/unxconst.inc svneol=native#text/plain
 rtl/beos/unxfunc.inc svneol=native#text/plain
 rtl/beos/unxfunc.inc svneol=native#text/plain
 rtl/beos/unxsockh.inc svneol=native#text/plain
 rtl/beos/unxsockh.inc svneol=native#text/plain
-rtl/bsd/bsd.pas -text
+rtl/bsd/bsd.pas -text svneol=unset#text/plain
 rtl/bsd/bunxfunch.inc svneol=native#text/plain
 rtl/bsd/bunxfunch.inc svneol=native#text/plain
 rtl/bsd/bunxsysc.inc svneol=native#text/plain
 rtl/bsd/bunxsysc.inc svneol=native#text/plain
 rtl/bsd/clocale.inc svneol=native#text/plain
 rtl/bsd/clocale.inc svneol=native#text/plain
@@ -5522,7 +5510,7 @@ rtl/darwin/Makefile.fpc svneol=native#text/plain
 rtl/darwin/arm/sighnd.inc svneol=native#text/plain
 rtl/darwin/arm/sighnd.inc svneol=native#text/plain
 rtl/darwin/console.pp svneol=native#text/plain
 rtl/darwin/console.pp svneol=native#text/plain
 rtl/darwin/errno.inc svneol=native#text/plain
 rtl/darwin/errno.inc svneol=native#text/plain
-rtl/darwin/errnostr.inc -text
+rtl/darwin/errnostr.inc svneol=native#text/plain
 rtl/darwin/extres_multiarch.inc svneol=native#text/plain
 rtl/darwin/extres_multiarch.inc svneol=native#text/plain
 rtl/darwin/i386/sig_cpu.inc svneol=native#text/plain
 rtl/darwin/i386/sig_cpu.inc svneol=native#text/plain
 rtl/darwin/i386/sighnd.inc svneol=native#text/plain
 rtl/darwin/i386/sighnd.inc svneol=native#text/plain
@@ -5588,8 +5576,8 @@ rtl/freebsd/buildrtl.lpi svneol=native#text/plain
 rtl/freebsd/buildrtl.pp svneol=native#text/plain
 rtl/freebsd/buildrtl.pp svneol=native#text/plain
 rtl/freebsd/console.pp svneol=native#text/plain
 rtl/freebsd/console.pp svneol=native#text/plain
 rtl/freebsd/errno.inc svneol=native#text/plain
 rtl/freebsd/errno.inc svneol=native#text/plain
-rtl/freebsd/errnostr.inc -text
-rtl/freebsd/freebsd.pas -text
+rtl/freebsd/errnostr.inc svneol=native#text/plain
+rtl/freebsd/freebsd.pas -text svneol=unset#text/plain
 rtl/freebsd/i386/bsyscall.inc svneol=native#text/plain
 rtl/freebsd/i386/bsyscall.inc svneol=native#text/plain
 rtl/freebsd/i386/cprt0.as svneol=native#text/plain
 rtl/freebsd/i386/cprt0.as svneol=native#text/plain
 rtl/freebsd/i386/gprt0.as svneol=native#text/plain
 rtl/freebsd/i386/gprt0.as svneol=native#text/plain
@@ -5611,7 +5599,7 @@ rtl/freebsd/sysnr.inc svneol=native#text/plain
 rtl/freebsd/termio.pp svneol=native#text/plain
 rtl/freebsd/termio.pp svneol=native#text/plain
 rtl/freebsd/termios.inc svneol=native#text/plain
 rtl/freebsd/termios.inc svneol=native#text/plain
 rtl/freebsd/termiosproc.inc svneol=native#text/plain
 rtl/freebsd/termiosproc.inc svneol=native#text/plain
-rtl/freebsd/ucontexth.inc -text svneol=unset#text/plain
+rtl/freebsd/ucontexth.inc svneol=native#text/plain
 rtl/freebsd/unixsock.inc svneol=native#text/plain
 rtl/freebsd/unixsock.inc svneol=native#text/plain
 rtl/freebsd/unxconst.inc svneol=native#text/plain
 rtl/freebsd/unxconst.inc svneol=native#text/plain
 rtl/freebsd/unxfunc.inc svneol=native#text/plain
 rtl/freebsd/unxfunc.inc svneol=native#text/plain
@@ -5845,7 +5833,7 @@ rtl/linux/buildrtl.lpi svneol=native#text/plain
 rtl/linux/buildrtl.pp svneol=native#text/plain
 rtl/linux/buildrtl.pp svneol=native#text/plain
 rtl/linux/bunxsysc.inc svneol=native#text/plain
 rtl/linux/bunxsysc.inc svneol=native#text/plain
 rtl/linux/errno.inc svneol=native#text/plain
 rtl/linux/errno.inc svneol=native#text/plain
-rtl/linux/errnostr.inc -text
+rtl/linux/errnostr.inc svneol=native#text/plain
 rtl/linux/fpcylix.pp svneol=native#text/plain
 rtl/linux/fpcylix.pp svneol=native#text/plain
 rtl/linux/fpmake.inc svneol=native#text/plain
 rtl/linux/fpmake.inc svneol=native#text/plain
 rtl/linux/gpm.pp svneol=native#text/plain
 rtl/linux/gpm.pp svneol=native#text/plain
@@ -5872,7 +5860,7 @@ rtl/linux/i386/sysnr.inc svneol=native#text/plain
 rtl/linux/ipccall.inc svneol=native#text/plain
 rtl/linux/ipccall.inc svneol=native#text/plain
 rtl/linux/ipcsys.inc svneol=native#text/plain
 rtl/linux/ipcsys.inc svneol=native#text/plain
 rtl/linux/linux.pp svneol=native#text/plain
 rtl/linux/linux.pp svneol=native#text/plain
-rtl/linux/linuxvcs.pp -text
+rtl/linux/linuxvcs.pp svneol=native#text/plain
 rtl/linux/m68k/bsyscall.inc svneol=native#text/plain
 rtl/linux/m68k/bsyscall.inc svneol=native#text/plain
 rtl/linux/m68k/cprt0.as svneol=native#text/plain
 rtl/linux/m68k/cprt0.as svneol=native#text/plain
 rtl/linux/m68k/cprt21.as svneol=native#text/plain
 rtl/linux/m68k/cprt21.as svneol=native#text/plain
@@ -5964,7 +5952,7 @@ rtl/linux/x86_64/stat.inc svneol=native#text/plain
 rtl/linux/x86_64/syscall.inc svneol=native#text/plain
 rtl/linux/x86_64/syscall.inc svneol=native#text/plain
 rtl/linux/x86_64/syscallh.inc svneol=native#text/plain
 rtl/linux/x86_64/syscallh.inc svneol=native#text/plain
 rtl/linux/x86_64/sysnr.inc svneol=native#text/plain
 rtl/linux/x86_64/sysnr.inc svneol=native#text/plain
-rtl/m68k/int64p.inc -text
+rtl/m68k/int64p.inc svneol=native#text/plain
 rtl/m68k/lowmath.inc svneol=native#text/plain
 rtl/m68k/lowmath.inc svneol=native#text/plain
 rtl/m68k/m68k.inc svneol=native#text/plain
 rtl/m68k/m68k.inc svneol=native#text/plain
 rtl/m68k/makefile.cpu svneol=native#text/plain
 rtl/m68k/makefile.cpu svneol=native#text/plain
@@ -5994,12 +5982,12 @@ rtl/macos/system.pp svneol=native#text/plain
 rtl/macos/sysutils.pp svneol=native#text/plain
 rtl/macos/sysutils.pp svneol=native#text/plain
 rtl/morphos/Makefile svneol=native#text/plain
 rtl/morphos/Makefile svneol=native#text/plain
 rtl/morphos/Makefile.fpc svneol=native#text/plain
 rtl/morphos/Makefile.fpc svneol=native#text/plain
-rtl/morphos/aboxlib.pas -text
+rtl/morphos/aboxlib.pas -text svneol=unset#text/plain
 rtl/morphos/ahi.pas svneol=native#text/plain
 rtl/morphos/ahi.pas svneol=native#text/plain
 rtl/morphos/asl.pas svneol=native#text/plain
 rtl/morphos/asl.pas svneol=native#text/plain
 rtl/morphos/classes.pp svneol=native#text/plain
 rtl/morphos/classes.pp svneol=native#text/plain
 rtl/morphos/clipboard.pas svneol=native#text/plain
 rtl/morphos/clipboard.pas svneol=native#text/plain
-rtl/morphos/datatypes.pas -text
+rtl/morphos/datatypes.pas -text svneol=unset#text/plain
 rtl/morphos/dos.pp svneol=native#text/plain
 rtl/morphos/dos.pp svneol=native#text/plain
 rtl/morphos/doslib.pp svneol=native#text/plain
 rtl/morphos/doslib.pp svneol=native#text/plain
 rtl/morphos/doslibd.inc svneol=native#text/plain
 rtl/morphos/doslibd.inc svneol=native#text/plain
@@ -6018,8 +6006,8 @@ rtl/morphos/keymap.pas svneol=native#text/plain
 rtl/morphos/kvm.pp svneol=native#text/plain
 rtl/morphos/kvm.pp svneol=native#text/plain
 rtl/morphos/layers.pas svneol=native#text/plain
 rtl/morphos/layers.pas svneol=native#text/plain
 rtl/morphos/mouse.pp svneol=native#text/plain
 rtl/morphos/mouse.pp svneol=native#text/plain
-rtl/morphos/mui.pas -text
-rtl/morphos/muihelper.pas -text
+rtl/morphos/mui.pas -text svneol=unset#text/plain
+rtl/morphos/muihelper.pas -text svneol=unset#text/plain
 rtl/morphos/prt0.as svneol=native#text/plain
 rtl/morphos/prt0.as svneol=native#text/plain
 rtl/morphos/sockets.pp svneol=native#text/plain
 rtl/morphos/sockets.pp svneol=native#text/plain
 rtl/morphos/sysdir.inc svneol=native#text/plain
 rtl/morphos/sysdir.inc svneol=native#text/plain
@@ -6032,7 +6020,7 @@ rtl/morphos/sysutils.pp svneol=native#text/plain
 rtl/morphos/timer.pp svneol=native#text/plain
 rtl/morphos/timer.pp svneol=native#text/plain
 rtl/morphos/timerd.inc svneol=native#text/plain
 rtl/morphos/timerd.inc svneol=native#text/plain
 rtl/morphos/timerf.inc svneol=native#text/plain
 rtl/morphos/timerf.inc svneol=native#text/plain
-rtl/morphos/tinygl.pp -text
+rtl/morphos/tinygl.pp svneol=native#text/plain
 rtl/morphos/tthread.inc svneol=native#text/plain
 rtl/morphos/tthread.inc svneol=native#text/plain
 rtl/morphos/utild1.inc svneol=native#text/plain
 rtl/morphos/utild1.inc svneol=native#text/plain
 rtl/morphos/utild2.inc svneol=native#text/plain
 rtl/morphos/utild2.inc svneol=native#text/plain
@@ -6047,6 +6035,8 @@ rtl/nds/classes.pp svneol=native#text/plain
 rtl/nds/cprt07.as svneol=native#text/plain
 rtl/nds/cprt07.as svneol=native#text/plain
 rtl/nds/cprt09.as svneol=native#text/plain
 rtl/nds/cprt09.as svneol=native#text/plain
 rtl/nds/dos.pp svneol=native#text/plain
 rtl/nds/dos.pp svneol=native#text/plain
+rtl/nds/libc.inc svneol=native#text/plain
+rtl/nds/libch.inc svneol=native#text/plain
 rtl/nds/nds.inc svneol=native#text/plain
 rtl/nds/nds.inc svneol=native#text/plain
 rtl/nds/ndsbios.inc svneol=native#text/plain
 rtl/nds/ndsbios.inc svneol=native#text/plain
 rtl/nds/ndsbiosh.inc svneol=native#text/plain
 rtl/nds/ndsbiosh.inc svneol=native#text/plain
@@ -6055,7 +6045,7 @@ rtl/nds/prt07.as svneol=native#text/plain
 rtl/nds/prt09.as svneol=native#text/plain
 rtl/nds/prt09.as svneol=native#text/plain
 rtl/nds/sysdir.inc svneol=native#text/plain
 rtl/nds/sysdir.inc svneol=native#text/plain
 rtl/nds/sysfile.inc svneol=native#text/plain
 rtl/nds/sysfile.inc svneol=native#text/plain
-rtl/nds/sysheap.inc svneol=native#text/x-pascal
+rtl/nds/sysheap.inc svneol=native#text/plain
 rtl/nds/sysos.inc svneol=native#text/plain
 rtl/nds/sysos.inc svneol=native#text/plain
 rtl/nds/sysosh.inc svneol=native#text/plain
 rtl/nds/sysosh.inc svneol=native#text/plain
 rtl/nds/system.pp svneol=native#text/plain
 rtl/nds/system.pp svneol=native#text/plain
@@ -6066,7 +6056,7 @@ rtl/nds/varutils.pp svneol=native#text/plain
 rtl/netbsd/Makefile svneol=native#text/plain
 rtl/netbsd/Makefile svneol=native#text/plain
 rtl/netbsd/Makefile.fpc svneol=native#text/plain
 rtl/netbsd/Makefile.fpc svneol=native#text/plain
 rtl/netbsd/errno.inc svneol=native#text/plain
 rtl/netbsd/errno.inc svneol=native#text/plain
-rtl/netbsd/errnostr.inc -text
+rtl/netbsd/errnostr.inc svneol=native#text/plain
 rtl/netbsd/i386/bsyscall.inc svneol=native#text/plain
 rtl/netbsd/i386/bsyscall.inc svneol=native#text/plain
 rtl/netbsd/i386/cprt0.as svneol=native#text/plain
 rtl/netbsd/i386/cprt0.as svneol=native#text/plain
 rtl/netbsd/i386/prt0.as svneol=native#text/plain
 rtl/netbsd/i386/prt0.as svneol=native#text/plain
@@ -6466,21 +6456,21 @@ rtl/sparc/stringss.inc svneol=native#text/plain
 rtl/symbian/Makefile svneol=native#text/plain
 rtl/symbian/Makefile svneol=native#text/plain
 rtl/symbian/Makefile.fpc svneol=native#text/plain
 rtl/symbian/Makefile.fpc svneol=native#text/plain
 rtl/symbian/bindings/pbeexe.cpp -text
 rtl/symbian/bindings/pbeexe.cpp -text
-rtl/symbian/buildrtl.pp -text
-rtl/symbian/symbian.pas -text
-rtl/symbian/symbianinc/e32def.inc -text
-rtl/symbian/symbianinc/e32err.inc -text
-rtl/symbian/symbianinc/e32std.inc -text
+rtl/symbian/buildrtl.pp svneol=native#text/plain
+rtl/symbian/symbian.pas -text svneol=unset#text/plain
+rtl/symbian/symbianinc/e32def.inc svneol=native#text/plain
+rtl/symbian/symbianinc/e32err.inc svneol=native#text/plain
+rtl/symbian/symbianinc/e32std.inc svneol=native#text/plain
 rtl/symbian/sysdir.inc svneol=native#text/plain
 rtl/symbian/sysdir.inc svneol=native#text/plain
 rtl/symbian/sysfile.inc svneol=native#text/plain
 rtl/symbian/sysfile.inc svneol=native#text/plain
 rtl/symbian/sysheap.inc svneol=native#text/plain
 rtl/symbian/sysheap.inc svneol=native#text/plain
 rtl/symbian/sysos.inc svneol=native#text/plain
 rtl/symbian/sysos.inc svneol=native#text/plain
 rtl/symbian/sysosh.inc svneol=native#text/plain
 rtl/symbian/sysosh.inc svneol=native#text/plain
 rtl/symbian/system.pp svneol=native#text/plain
 rtl/symbian/system.pp svneol=native#text/plain
-rtl/symbian/uiq.pas -text
-rtl/symbian/uiqclasses.pas -text
-rtl/symbian/uiqinc/qikapplication.inc -text
-rtl/symbian/uiqinc/qikapplicationoo.inc -text
+rtl/symbian/uiq.pas -text svneol=unset#text/plain
+rtl/symbian/uiqclasses.pas -text svneol=unset#text/plain
+rtl/symbian/uiqinc/qikapplication.inc svneol=native#text/plain
+rtl/symbian/uiqinc/qikapplicationoo.inc svneol=native#text/plain
 rtl/ucmaps/8859-1.txt svneol=native#text/plain
 rtl/ucmaps/8859-1.txt svneol=native#text/plain
 rtl/ucmaps/8859-10.txt svneol=native#text/plain
 rtl/ucmaps/8859-10.txt svneol=native#text/plain
 rtl/ucmaps/8859-13.txt svneol=native#text/plain
 rtl/ucmaps/8859-13.txt svneol=native#text/plain
@@ -6529,7 +6519,7 @@ rtl/unix/bunxovl.inc svneol=native#text/plain
 rtl/unix/bunxovlh.inc svneol=native#text/plain
 rtl/unix/bunxovlh.inc svneol=native#text/plain
 rtl/unix/classes.pp svneol=native#text/plain
 rtl/unix/classes.pp svneol=native#text/plain
 rtl/unix/clocale.pp svneol=native#text/plain
 rtl/unix/clocale.pp svneol=native#text/plain
-rtl/unix/convert.inc -text
+rtl/unix/convert.inc svneol=native#text/plain
 rtl/unix/crt.pp svneol=native#text/plain
 rtl/unix/crt.pp svneol=native#text/plain
 rtl/unix/cthreads.pp svneol=native#text/plain
 rtl/unix/cthreads.pp svneol=native#text/plain
 rtl/unix/ctypes.inc svneol=native#text/plain
 rtl/unix/ctypes.inc svneol=native#text/plain
@@ -6582,11 +6572,11 @@ rtl/watcom/classes.pp svneol=native#text/plain
 rtl/watcom/crt.pp svneol=native#text/plain
 rtl/watcom/crt.pp svneol=native#text/plain
 rtl/watcom/dos.pp svneol=native#text/plain
 rtl/watcom/dos.pp svneol=native#text/plain
 rtl/watcom/prt0.as -text
 rtl/watcom/prt0.as -text
-rtl/watcom/sysdir.inc -text
-rtl/watcom/sysfile.inc -text
-rtl/watcom/sysheap.inc -text
-rtl/watcom/sysos.inc -text
-rtl/watcom/sysosh.inc -text
+rtl/watcom/sysdir.inc svneol=native#text/plain
+rtl/watcom/sysfile.inc svneol=native#text/plain
+rtl/watcom/sysheap.inc svneol=native#text/plain
+rtl/watcom/sysos.inc svneol=native#text/plain
+rtl/watcom/sysosh.inc svneol=native#text/plain
 rtl/watcom/system.pp svneol=native#text/plain
 rtl/watcom/system.pp svneol=native#text/plain
 rtl/watcom/sysutils.pp svneol=native#text/plain
 rtl/watcom/sysutils.pp svneol=native#text/plain
 rtl/watcom/varutils.pp svneol=native#text/plain
 rtl/watcom/varutils.pp svneol=native#text/plain
@@ -6676,7 +6666,7 @@ rtl/wince/wininc/makefile.inc svneol=native#text/plain
 rtl/wince/wininc/messages.inc svneol=native#text/plain
 rtl/wince/wininc/messages.inc svneol=native#text/plain
 rtl/wince/wininc/redef.inc svneol=native#text/plain
 rtl/wince/wininc/redef.inc svneol=native#text/plain
 rtl/wince/wininc/struct.inc svneol=native#text/plain
 rtl/wince/wininc/struct.inc svneol=native#text/plain
-rtl/wince/winres.inc -text
+rtl/wince/winres.inc svneol=native#text/plain
 rtl/wince/winsock.pp svneol=native#text/plain
 rtl/wince/winsock.pp svneol=native#text/plain
 rtl/wince/winsock2.pp svneol=native#text/plain
 rtl/wince/winsock2.pp svneol=native#text/plain
 rtl/x86_64/int64p.inc svneol=native#text/plain
 rtl/x86_64/int64p.inc svneol=native#text/plain
@@ -6695,7 +6685,7 @@ tests/MPWMake -text
 tests/Makefile svneol=native#text/plain
 tests/Makefile svneol=native#text/plain
 tests/Makefile.fpc svneol=native#text/plain
 tests/Makefile.fpc svneol=native#text/plain
 tests/bench/bansi1.inc svneol=native#text/plain
 tests/bench/bansi1.inc svneol=native#text/plain
-tests/bench/bansi1.pp -text
+tests/bench/bansi1.pp svneol=native#text/plain
 tests/bench/bansi1mt.pp svneol=native#text/plain
 tests/bench/bansi1mt.pp svneol=native#text/plain
 tests/bench/blists1.inc svneol=native#text/plain
 tests/bench/blists1.inc svneol=native#text/plain
 tests/bench/blists1.pp svneol=native#text/plain
 tests/bench/blists1.pp svneol=native#text/plain
@@ -6766,7 +6756,7 @@ tests/bench/shootout/src/knucleotide.lpi svneol=native#text/plain
 tests/bench/shootout/src/knucleotide.pp svneol=native#text/plain
 tests/bench/shootout/src/knucleotide.pp svneol=native#text/plain
 tests/bench/shootout/src/mandelbrot.pp svneol=native#text/plain
 tests/bench/shootout/src/mandelbrot.pp svneol=native#text/plain
 tests/bench/shootout/src/message.pp svneol=native#text/plain
 tests/bench/shootout/src/message.pp svneol=native#text/plain
-tests/bench/shootout/src/meteorshower.pp svneol=native#text/x-pascal
+tests/bench/shootout/src/meteorshower.pp svneol=native#text/plain
 tests/bench/shootout/src/n_body.pp svneol=native#text/plain
 tests/bench/shootout/src/n_body.pp svneol=native#text/plain
 tests/bench/shootout/src/nsieve.pp svneol=native#text/plain
 tests/bench/shootout/src/nsieve.pp svneol=native#text/plain
 tests/bench/shootout/src/partialsums.pp svneol=native#text/plain
 tests/bench/shootout/src/partialsums.pp svneol=native#text/plain
@@ -6776,9 +6766,9 @@ tests/bench/shootout/src/regexdna.pp svneol=native#text/plain
 tests/bench/shootout/src/simple_hash.pp svneol=native#text/plain
 tests/bench/shootout/src/simple_hash.pp svneol=native#text/plain
 tests/bench/shootout/src/spectralnorm.pp svneol=native#text/plain
 tests/bench/shootout/src/spectralnorm.pp svneol=native#text/plain
 tests/bench/shootout/src/sumcol.pp svneol=native#text/plain
 tests/bench/shootout/src/sumcol.pp svneol=native#text/plain
-tests/bench/shootout/src/thread_ring.pp svneol=native#text/pascal
+tests/bench/shootout/src/thread_ring.pp svneol=native#text/plain
 tests/bench/shortbench.pp svneol=native#text/plain
 tests/bench/shortbench.pp svneol=native#text/plain
-tests/bench/stream.pp svneol=native#text/x-pascal
+tests/bench/stream.pp svneol=native#text/plain
 tests/bench/timer.pas svneol=native#text/plain
 tests/bench/timer.pas svneol=native#text/plain
 tests/bench/whet.pas svneol=native#text/plain
 tests/bench/whet.pas svneol=native#text/plain
 tests/dbdigest.cfg.example -text
 tests/dbdigest.cfg.example -text
@@ -6982,9 +6972,9 @@ tests/tbf/tb0195.pp svneol=native#text/plain
 tests/tbf/tb0196.pp svneol=native#text/plain
 tests/tbf/tb0196.pp svneol=native#text/plain
 tests/tbf/tb0197.pp svneol=native#text/plain
 tests/tbf/tb0197.pp svneol=native#text/plain
 tests/tbf/tb0198.pp svneol=native#text/plain
 tests/tbf/tb0198.pp svneol=native#text/plain
-tests/tbf/tb0199.pp -text
-tests/tbf/tb0199a.pp -text
-tests/tbf/tb0200.pp svneol=native#text/x-pascal
+tests/tbf/tb0199.pp svneol=native#text/plain
+tests/tbf/tb0199a.pp svneol=native#text/plain
+tests/tbf/tb0200.pp svneol=native#text/plain
 tests/tbf/tb0201.pp svneol=native#text/plain
 tests/tbf/tb0201.pp svneol=native#text/plain
 tests/tbf/tb0202.pp svneol=native#text/plain
 tests/tbf/tb0202.pp svneol=native#text/plain
 tests/tbf/tb0203.pp svneol=native#text/plain
 tests/tbf/tb0203.pp svneol=native#text/plain
@@ -7527,15 +7517,15 @@ tests/tbs/tb0520.pp svneol=native#text/plain
 tests/tbs/tb0521.pp svneol=native#text/plain
 tests/tbs/tb0521.pp svneol=native#text/plain
 tests/tbs/tb0522.pp svneol=native#text/plain
 tests/tbs/tb0522.pp svneol=native#text/plain
 tests/tbs/tb0523.pp svneol=native#text/plain
 tests/tbs/tb0523.pp svneol=native#text/plain
-tests/tbs/tb0524.pp svneol=native#text/x-pascal
+tests/tbs/tb0524.pp svneol=native#text/plain
 tests/tbs/tb0525.pp svneol=native#text/plain
 tests/tbs/tb0525.pp svneol=native#text/plain
 tests/tbs/tb0526.pp svneol=native#text/plain
 tests/tbs/tb0526.pp svneol=native#text/plain
 tests/tbs/tb0527.pp svneol=native#text/plain
 tests/tbs/tb0527.pp svneol=native#text/plain
-tests/tbs/tb0528.pp svneol=native#text/x-pascal
+tests/tbs/tb0528.pp svneol=native#text/plain
 tests/tbs/tb0529.pp svneol=native#text/plain
 tests/tbs/tb0529.pp svneol=native#text/plain
 tests/tbs/tb0530.pp svneol=native#text/plain
 tests/tbs/tb0530.pp svneol=native#text/plain
 tests/tbs/tb0531.pp svneol=native#text/plain
 tests/tbs/tb0531.pp svneol=native#text/plain
-tests/tbs/tb0532.pp svneol=native#text/x-pascal
+tests/tbs/tb0532.pp svneol=native#text/plain
 tests/tbs/tb0533.pp svneol=native#text/plain
 tests/tbs/tb0533.pp svneol=native#text/plain
 tests/tbs/tb0534.pp svneol=native#text/plain
 tests/tbs/tb0534.pp svneol=native#text/plain
 tests/tbs/tb0535.pp svneol=native#text/plain
 tests/tbs/tb0535.pp svneol=native#text/plain
@@ -7543,7 +7533,7 @@ tests/tbs/tb0536.pp svneol=native#text/plain
 tests/tbs/tb0537.pp svneol=native#text/plain
 tests/tbs/tb0537.pp svneol=native#text/plain
 tests/tbs/tb0538.pp svneol=native#text/plain
 tests/tbs/tb0538.pp svneol=native#text/plain
 tests/tbs/tb0539.pp svneol=native#text/plain
 tests/tbs/tb0539.pp svneol=native#text/plain
-tests/tbs/tb0540.pp svneol=native#text/x-pascal
+tests/tbs/tb0540.pp svneol=native#text/plain
 tests/tbs/tb0541.pp svneol=native#text/plain
 tests/tbs/tb0541.pp svneol=native#text/plain
 tests/tbs/tb0542.pp svneol=native#text/plain
 tests/tbs/tb0542.pp svneol=native#text/plain
 tests/tbs/tb0543.pp svneol=native#text/plain
 tests/tbs/tb0543.pp svneol=native#text/plain
@@ -7568,6 +7558,7 @@ tests/tbs/tb0559.pp svneol=native#text/plain
 tests/tbs/tb0560.pp svneol=native#text/plain
 tests/tbs/tb0560.pp svneol=native#text/plain
 tests/tbs/tb0561a.pp svneol=native#text/plain
 tests/tbs/tb0561a.pp svneol=native#text/plain
 tests/tbs/tb0561b.pp svneol=native#text/plain
 tests/tbs/tb0561b.pp svneol=native#text/plain
+tests/tbs/tb0564.pp svneol=native#text/plain
 tests/tbs/tb205.pp svneol=native#text/plain
 tests/tbs/tb205.pp svneol=native#text/plain
 tests/tbs/ub0060.pp svneol=native#text/plain
 tests/tbs/ub0060.pp svneol=native#text/plain
 tests/tbs/ub0069.pp svneol=native#text/plain
 tests/tbs/ub0069.pp svneol=native#text/plain
@@ -7722,7 +7713,7 @@ tests/test/cg/taddset4.pp svneol=native#text/plain
 tests/test/cg/tadint64.pp svneol=native#text/plain
 tests/test/cg/tadint64.pp svneol=native#text/plain
 tests/test/cg/tassign1.pp svneol=native#text/plain
 tests/test/cg/tassign1.pp svneol=native#text/plain
 tests/test/cg/tassign2.pp svneol=native#text/plain
 tests/test/cg/tassign2.pp svneol=native#text/plain
-tests/test/cg/tautom.pp svneol=native#text/x-pascal
+tests/test/cg/tautom.pp svneol=native#text/plain
 tests/test/cg/tcalcla1.pp svneol=native#text/plain
 tests/test/cg/tcalcla1.pp svneol=native#text/plain
 tests/test/cg/tcalcon1.pp svneol=native#text/plain
 tests/test/cg/tcalcon1.pp svneol=native#text/plain
 tests/test/cg/tcalcst1.pp svneol=native#text/plain
 tests/test/cg/tcalcst1.pp svneol=native#text/plain
@@ -7736,8 +7727,8 @@ tests/test/cg/tcalcst8.pp svneol=native#text/plain
 tests/test/cg/tcalcst9.pp svneol=native#text/plain
 tests/test/cg/tcalcst9.pp svneol=native#text/plain
 tests/test/cg/tcalext.pp svneol=native#text/plain
 tests/test/cg/tcalext.pp svneol=native#text/plain
 tests/test/cg/tcalext2.pp svneol=native#text/plain
 tests/test/cg/tcalext2.pp svneol=native#text/plain
-tests/test/cg/tcalext3.pp -text
-tests/test/cg/tcalext4.pp -text
+tests/test/cg/tcalext3.pp svneol=native#text/plain
+tests/test/cg/tcalext4.pp svneol=native#text/plain
 tests/test/cg/tcalext5.pp svneol=native#text/plain
 tests/test/cg/tcalext5.pp svneol=native#text/plain
 tests/test/cg/tcalfun1.pp svneol=native#text/plain
 tests/test/cg/tcalfun1.pp svneol=native#text/plain
 tests/test/cg/tcalfun2.pp svneol=native#text/plain
 tests/test/cg/tcalfun2.pp svneol=native#text/plain
@@ -7764,7 +7755,7 @@ tests/test/cg/tcalpvr6.pp svneol=native#text/plain
 tests/test/cg/tcalpvr7.pp svneol=native#text/plain
 tests/test/cg/tcalpvr7.pp svneol=native#text/plain
 tests/test/cg/tcalpvr8.pp svneol=native#text/plain
 tests/test/cg/tcalpvr8.pp svneol=native#text/plain
 tests/test/cg/tcalval1.pp svneol=native#text/plain
 tests/test/cg/tcalval1.pp svneol=native#text/plain
-tests/test/cg/tcalval10.pp -text
+tests/test/cg/tcalval10.pp svneol=native#text/plain
 tests/test/cg/tcalval2.pp svneol=native#text/plain
 tests/test/cg/tcalval2.pp svneol=native#text/plain
 tests/test/cg/tcalval3.pp svneol=native#text/plain
 tests/test/cg/tcalval3.pp svneol=native#text/plain
 tests/test/cg/tcalval4.pp svneol=native#text/plain
 tests/test/cg/tcalval4.pp svneol=native#text/plain
@@ -7802,7 +7793,7 @@ tests/test/cg/tdivz1.pp svneol=native#text/plain
 tests/test/cg/tdivz2.pp svneol=native#text/plain
 tests/test/cg/tdivz2.pp svneol=native#text/plain
 tests/test/cg/texit.pp svneol=native#text/plain
 tests/test/cg/texit.pp svneol=native#text/plain
 tests/test/cg/tfor.pp svneol=native#text/plain
 tests/test/cg/tfor.pp svneol=native#text/plain
-tests/test/cg/tformfnc.pp -text
+tests/test/cg/tformfnc.pp svneol=native#text/plain
 tests/test/cg/tfuncret.pp svneol=native#text/plain
 tests/test/cg/tfuncret.pp svneol=native#text/plain
 tests/test/cg/tin.pp svneol=native#text/plain
 tests/test/cg/tin.pp svneol=native#text/plain
 tests/test/cg/tincdec.pp svneol=native#text/plain
 tests/test/cg/tincdec.pp svneol=native#text/plain
@@ -8059,6 +8050,7 @@ tests/test/packages/webtbs/tw10045.pp svneol=native#text/plain
 tests/test/packages/webtbs/tw11142.pp svneol=native#text/plain
 tests/test/packages/webtbs/tw11142.pp svneol=native#text/plain
 tests/test/packages/webtbs/tw11570.pp svneol=native#text/plain
 tests/test/packages/webtbs/tw11570.pp svneol=native#text/plain
 tests/test/packages/webtbs/tw12830.pp svneol=native#text/plain
 tests/test/packages/webtbs/tw12830.pp svneol=native#text/plain
+tests/test/packages/webtbs/tw14265.pp svneol=native#text/plain
 tests/test/packages/webtbs/tw1808.pp svneol=native#text/plain
 tests/test/packages/webtbs/tw1808.pp svneol=native#text/plain
 tests/test/packages/webtbs/tw3820.pp svneol=native#text/plain
 tests/test/packages/webtbs/tw3820.pp svneol=native#text/plain
 tests/test/packages/win-base/tdispvar1.pp svneol=native#text/plain
 tests/test/packages/win-base/tdispvar1.pp svneol=native#text/plain
@@ -8075,15 +8067,15 @@ tests/test/taddstr1.pp svneol=native#text/plain
 tests/test/talign.pp svneol=native#text/plain
 tests/test/talign.pp svneol=native#text/plain
 tests/test/talign1.pp svneol=native#text/plain
 tests/test/talign1.pp svneol=native#text/plain
 tests/test/talign2.pp svneol=native#text/plain
 tests/test/talign2.pp svneol=native#text/plain
-tests/test/targ1a.pp -text
-tests/test/targ1b.pp -text
+tests/test/targ1a.pp svneol=native#text/plain
+tests/test/targ1b.pp svneol=native#text/plain
 tests/test/tarray1.pp svneol=native#text/plain
 tests/test/tarray1.pp svneol=native#text/plain
 tests/test/tarray2.pp svneol=native#text/plain
 tests/test/tarray2.pp svneol=native#text/plain
 tests/test/tarray3.pp svneol=native#text/plain
 tests/test/tarray3.pp svneol=native#text/plain
 tests/test/tarray4.pp svneol=native#text/plain
 tests/test/tarray4.pp svneol=native#text/plain
 tests/test/tarray5.pp svneol=native#text/plain
 tests/test/tarray5.pp svneol=native#text/plain
 tests/test/tarray6.pp svneol=native#text/plain
 tests/test/tarray6.pp svneol=native#text/plain
-tests/test/tarray7.pp svneol=native#text/x-pascal
+tests/test/tarray7.pp svneol=native#text/plain
 tests/test/tasmread.pp svneol=native#text/plain
 tests/test/tasmread.pp svneol=native#text/plain
 tests/test/tasout.pp svneol=native#text/plain
 tests/test/tasout.pp svneol=native#text/plain
 tests/test/tbopr.pp svneol=native#text/plain
 tests/test/tbopr.pp svneol=native#text/plain
@@ -8178,7 +8170,7 @@ tests/test/tinline10.pp svneol=native#text/plain
 tests/test/tinline2.pp svneol=native#text/plain
 tests/test/tinline2.pp svneol=native#text/plain
 tests/test/tinline3.pp svneol=native#text/plain
 tests/test/tinline3.pp svneol=native#text/plain
 tests/test/tinline4.pp svneol=native#text/plain
 tests/test/tinline4.pp svneol=native#text/plain
-tests/test/tinline5.pp -text
+tests/test/tinline5.pp svneol=native#text/plain
 tests/test/tinline6.pp svneol=native#text/plain
 tests/test/tinline6.pp svneol=native#text/plain
 tests/test/tinline7.pp svneol=native#text/plain
 tests/test/tinline7.pp svneol=native#text/plain
 tests/test/tinline8.pp svneol=native#text/plain
 tests/test/tinline8.pp svneol=native#text/plain
@@ -8325,9 +8317,9 @@ tests/test/trange3.pp svneol=native#text/plain
 tests/test/trange4.pp svneol=native#text/plain
 tests/test/trange4.pp svneol=native#text/plain
 tests/test/trange5.pp svneol=native#text/plain
 tests/test/trange5.pp svneol=native#text/plain
 tests/test/trangeob.pp svneol=native#text/plain
 tests/test/trangeob.pp svneol=native#text/plain
-tests/test/trecreg.pp -text
+tests/test/trecreg.pp svneol=native#text/plain
 tests/test/trecreg2.pp svneol=native#text/plain
 tests/test/trecreg2.pp svneol=native#text/plain
-tests/test/trecreg3.pp -text
+tests/test/trecreg3.pp svneol=native#text/plain
 tests/test/trecreg4.pp svneol=native#text/plain
 tests/test/trecreg4.pp svneol=native#text/plain
 tests/test/tresstr.pp svneol=native#text/plain
 tests/test/tresstr.pp svneol=native#text/plain
 tests/test/trox1.pp svneol=native#text/plain
 tests/test/trox1.pp svneol=native#text/plain
@@ -8374,7 +8366,7 @@ tests/test/tstring8.pp svneol=native#text/plain
 tests/test/tstring9.pp svneol=native#text/plain
 tests/test/tstring9.pp svneol=native#text/plain
 tests/test/tstrreal1.pp svneol=native#text/plain
 tests/test/tstrreal1.pp svneol=native#text/plain
 tests/test/tstrreal2.pp svneol=native#text/plain
 tests/test/tstrreal2.pp svneol=native#text/plain
-tests/test/tstrreal3.pp -text
+tests/test/tstrreal3.pp svneol=native#text/plain
 tests/test/tsubdecl.pp svneol=native#text/plain
 tests/test/tsubdecl.pp svneol=native#text/plain
 tests/test/tunaligned1.pp svneol=native#text/plain
 tests/test/tunaligned1.pp svneol=native#text/plain
 tests/test/tunistr1.pp svneol=native#text/plain
 tests/test/tunistr1.pp svneol=native#text/plain
@@ -8387,8 +8379,8 @@ tests/test/tunit1.pp svneol=native#text/plain
 tests/test/tunit2.pp svneol=native#text/plain
 tests/test/tunit2.pp svneol=native#text/plain
 tests/test/tunit3.pp svneol=native#text/plain
 tests/test/tunit3.pp svneol=native#text/plain
 tests/test/tunroll1.pp svneol=native#text/plain
 tests/test/tunroll1.pp svneol=native#text/plain
-tests/test/tutf81.pp svneol=native#text/plain%3Bcharset%3Dutf-8
-tests/test/tutf82.pp svneol=native#text/plain%3Bcharset%3Dutf-8
+tests/test/tutf81.pp svneol=native#text/plain
+tests/test/tutf82.pp svneol=native#text/plain
 tests/test/tvarset1.pp svneol=native#text/plain
 tests/test/tvarset1.pp svneol=native#text/plain
 tests/test/tweaklib1.pp svneol=native#text/plain
 tests/test/tweaklib1.pp svneol=native#text/plain
 tests/test/tweaklib2.pp svneol=native#text/plain
 tests/test/tweaklib2.pp svneol=native#text/plain
@@ -8466,6 +8458,7 @@ tests/test/units/fpcunit/testclasses.lpr svneol=native#text/plain
 tests/test/units/fpcunit/testcomps.pp svneol=native#text/plain
 tests/test/units/fpcunit/testcomps.pp svneol=native#text/plain
 tests/test/units/fpcunit/tstrutils.lpi svneol=native#text/plain
 tests/test/units/fpcunit/tstrutils.lpi svneol=native#text/plain
 tests/test/units/fpcunit/tstrutils.lpr svneol=native#text/plain
 tests/test/units/fpcunit/tstrutils.lpr svneol=native#text/plain
+tests/test/units/math/tdivmod.pp svneol=native#text/plain
 tests/test/units/math/tmask.inc svneol=native#text/plain
 tests/test/units/math/tmask.inc svneol=native#text/plain
 tests/test/units/math/tmask.pp svneol=native#text/plain
 tests/test/units/math/tmask.pp svneol=native#text/plain
 tests/test/units/math/tmask2.pp svneol=native#text/plain
 tests/test/units/math/tmask2.pp svneol=native#text/plain
@@ -8511,7 +8504,7 @@ tests/test/units/system/trandom.pp svneol=native#text/plain
 tests/test/units/system/trdtxt01.pp svneol=native#text/plain
 tests/test/units/system/trdtxt01.pp svneol=native#text/plain
 tests/test/units/system/trdtxt02.pp svneol=native#text/plain
 tests/test/units/system/trdtxt02.pp svneol=native#text/plain
 tests/test/units/system/trdtxt03.pp svneol=native#text/plain
 tests/test/units/system/trdtxt03.pp svneol=native#text/plain
-tests/test/units/system/tres.pp -text
+tests/test/units/system/tres.pp svneol=native#text/plain
 tests/test/units/system/tres1.rc -text
 tests/test/units/system/tres1.rc -text
 tests/test/units/system/tres1.res -text
 tests/test/units/system/tres1.res -text
 tests/test/units/system/tres1.txt -text
 tests/test/units/system/tres1.txt -text
@@ -8536,13 +8529,13 @@ tests/test/units/system/tstring.pp svneol=native#text/plain
 tests/test/units/system/ttrig.pas svneol=native#text/plain
 tests/test/units/system/ttrig.pas svneol=native#text/plain
 tests/test/units/system/ttrunc.pp svneol=native#text/plain
 tests/test/units/system/ttrunc.pp svneol=native#text/plain
 tests/test/units/system/tval.inc svneol=native#text/plain
 tests/test/units/system/tval.inc svneol=native#text/plain
-tests/test/units/system/tval.pp -text
-tests/test/units/system/tval1.pp -text
-tests/test/units/system/tval2.pp -text
-tests/test/units/system/tval3.pp -text
-tests/test/units/system/tval4.pp -text
+tests/test/units/system/tval.pp svneol=native#text/plain
+tests/test/units/system/tval1.pp svneol=native#text/plain
+tests/test/units/system/tval2.pp svneol=native#text/plain
+tests/test/units/system/tval3.pp svneol=native#text/plain
+tests/test/units/system/tval4.pp svneol=native#text/plain
 tests/test/units/system/tval5.pp svneol=native#text/plain
 tests/test/units/system/tval5.pp svneol=native#text/plain
-tests/test/units/system/tvalc.pp -text
+tests/test/units/system/tvalc.pp svneol=native#text/plain
 tests/test/units/sysutils/tastrcmp.pp svneol=native#text/plain
 tests/test/units/sysutils/tastrcmp.pp svneol=native#text/plain
 tests/test/units/sysutils/tastrcmp1.pp svneol=native#text/plain
 tests/test/units/sysutils/tastrcmp1.pp svneol=native#text/plain
 tests/test/units/sysutils/texec1.pp svneol=native#text/plain
 tests/test/units/sysutils/texec1.pp svneol=native#text/plain
@@ -8551,7 +8544,7 @@ tests/test/units/sysutils/textractquote.pp svneol=native#text/plain
 tests/test/units/sysutils/tfile1.pp svneol=native#text/plain
 tests/test/units/sysutils/tfile1.pp svneol=native#text/plain
 tests/test/units/sysutils/tfile2.pp svneol=native#text/plain
 tests/test/units/sysutils/tfile2.pp svneol=native#text/plain
 tests/test/units/sysutils/tfilename.pp svneol=native#text/plain
 tests/test/units/sysutils/tfilename.pp svneol=native#text/plain
-tests/test/units/sysutils/tfloattostr.pp -text
+tests/test/units/sysutils/tfloattostr.pp svneol=native#text/plain
 tests/test/units/sysutils/tlocale.pp svneol=native#text/plain
 tests/test/units/sysutils/tlocale.pp svneol=native#text/plain
 tests/test/units/sysutils/tsscanf.pp svneol=native#text/plain
 tests/test/units/sysutils/tsscanf.pp svneol=native#text/plain
 tests/test/units/sysutils/tstrtobool.pp svneol=native#text/plain
 tests/test/units/sysutils/tstrtobool.pp svneol=native#text/plain
@@ -8646,6 +8639,7 @@ tests/webtbf/tw1251a.pp svneol=native#text/plain
 tests/webtbf/tw1270.pp svneol=native#text/plain
 tests/webtbf/tw1270.pp svneol=native#text/plain
 tests/webtbf/tw12933.pp svneol=native#text/plain
 tests/webtbf/tw12933.pp svneol=native#text/plain
 tests/webtbf/tw1306.pp svneol=native#text/plain
 tests/webtbf/tw1306.pp svneol=native#text/plain
+tests/webtbf/tw13135.pp svneol=native#text/plain
 tests/webtbf/tw1316.pp svneol=native#text/plain
 tests/webtbf/tw1316.pp svneol=native#text/plain
 tests/webtbf/tw1328.pp svneol=native#text/plain
 tests/webtbf/tw1328.pp svneol=native#text/plain
 tests/webtbf/tw13563a.pp svneol=native#text/plain
 tests/webtbf/tw13563a.pp svneol=native#text/plain
@@ -8658,6 +8652,7 @@ tests/webtbf/tw1407.pp svneol=native#text/plain
 tests/webtbf/tw14104a.pp svneol=native#text/plain
 tests/webtbf/tw14104a.pp svneol=native#text/plain
 tests/webtbf/tw14104b.pp svneol=native#text/plain
 tests/webtbf/tw14104b.pp svneol=native#text/plain
 tests/webtbf/tw14104c.pp svneol=native#text/plain
 tests/webtbf/tw14104c.pp svneol=native#text/plain
+tests/webtbf/tw14248.pp svneol=native#text/plain
 tests/webtbf/tw1432.pp svneol=native#text/plain
 tests/webtbf/tw1432.pp svneol=native#text/plain
 tests/webtbf/tw1467.pp svneol=native#text/plain
 tests/webtbf/tw1467.pp svneol=native#text/plain
 tests/webtbf/tw1483.pp svneol=native#text/plain
 tests/webtbf/tw1483.pp svneol=native#text/plain
@@ -8788,7 +8783,7 @@ tests/webtbf/tw4554c.pp svneol=native#text/plain
 tests/webtbf/tw4554d.pp svneol=native#text/plain
 tests/webtbf/tw4554d.pp svneol=native#text/plain
 tests/webtbf/tw4569a.pp svneol=native#text/plain
 tests/webtbf/tw4569a.pp svneol=native#text/plain
 tests/webtbf/tw4569b.pp svneol=native#text/plain
 tests/webtbf/tw4569b.pp svneol=native#text/plain
-tests/webtbf/tw4619a.pp -text svneol=unset#text/plain
+tests/webtbf/tw4619a.pp svneol=native#text/plain
 tests/webtbf/tw4619b.pp svneol=native#text/plain
 tests/webtbf/tw4619b.pp svneol=native#text/plain
 tests/webtbf/tw4647.pp svneol=native#text/plain
 tests/webtbf/tw4647.pp svneol=native#text/plain
 tests/webtbf/tw4651.pp svneol=native#text/plain
 tests/webtbf/tw4651.pp svneol=native#text/plain
@@ -8804,7 +8799,7 @@ tests/webtbf/tw4781b.pp svneol=native#text/plain
 tests/webtbf/tw4893d.pp svneol=native#text/plain
 tests/webtbf/tw4893d.pp svneol=native#text/plain
 tests/webtbf/tw4893e.pp svneol=native#text/plain
 tests/webtbf/tw4893e.pp svneol=native#text/plain
 tests/webtbf/tw4911.pp svneol=native#text/plain
 tests/webtbf/tw4911.pp svneol=native#text/plain
-tests/webtbf/tw4913.pp -text
+tests/webtbf/tw4913.pp svneol=native#text/plain
 tests/webtbf/tw5896a.pp svneol=native#text/plain
 tests/webtbf/tw5896a.pp svneol=native#text/plain
 tests/webtbf/tw6036b.pp svneol=native#text/plain
 tests/webtbf/tw6036b.pp svneol=native#text/plain
 tests/webtbf/tw6420.pp svneol=native#text/plain
 tests/webtbf/tw6420.pp svneol=native#text/plain
@@ -8814,7 +8809,7 @@ tests/webtbf/tw6796.pp svneol=native#text/plain
 tests/webtbf/tw6797a.pp svneol=native#text/plain
 tests/webtbf/tw6797a.pp svneol=native#text/plain
 tests/webtbf/tw6797b.pp svneol=native#text/plain
 tests/webtbf/tw6797b.pp svneol=native#text/plain
 tests/webtbf/tw6922.pp svneol=native#text/plain
 tests/webtbf/tw6922.pp svneol=native#text/plain
-tests/webtbf/tw6957.pp -text
+tests/webtbf/tw6957.pp svneol=native#text/plain
 tests/webtbf/tw6970.pp svneol=native#text/plain
 tests/webtbf/tw6970.pp svneol=native#text/plain
 tests/webtbf/tw7070.pp svneol=native#text/plain
 tests/webtbf/tw7070.pp svneol=native#text/plain
 tests/webtbf/tw7322.pp svneol=native#text/plain
 tests/webtbf/tw7322.pp svneol=native#text/plain
@@ -8844,7 +8839,7 @@ tests/webtbf/tw8465a.pp svneol=native#text/plain
 tests/webtbf/tw8528.pp svneol=native#text/plain
 tests/webtbf/tw8528.pp svneol=native#text/plain
 tests/webtbf/tw8583.pp svneol=native#text/plain
 tests/webtbf/tw8583.pp svneol=native#text/plain
 tests/webtbf/tw8588.pp svneol=native#text/plain
 tests/webtbf/tw8588.pp svneol=native#text/plain
-tests/webtbf/tw8591.pp -text
+tests/webtbf/tw8591.pp svneol=native#text/plain
 tests/webtbf/tw8717.pp svneol=native#text/plain
 tests/webtbf/tw8717.pp svneol=native#text/plain
 tests/webtbf/tw8738.pas svneol=native#text/plain
 tests/webtbf/tw8738.pas svneol=native#text/plain
 tests/webtbf/tw8777a.pp svneol=native#text/plain
 tests/webtbf/tw8777a.pp svneol=native#text/plain
@@ -9234,6 +9229,7 @@ tests/webtbs/tw1407.pp svneol=native#text/plain
 tests/webtbs/tw1408.pp svneol=native#text/plain
 tests/webtbs/tw1408.pp svneol=native#text/plain
 tests/webtbs/tw1409.pp svneol=native#text/plain
 tests/webtbs/tw1409.pp svneol=native#text/plain
 tests/webtbs/tw1412.pp svneol=native#text/plain
 tests/webtbs/tw1412.pp svneol=native#text/plain
+tests/webtbs/tw14124.pp svneol=native#text/plain
 tests/webtbs/tw14134.pp svneol=native#text/plain
 tests/webtbs/tw14134.pp svneol=native#text/plain
 tests/webtbs/tw1414.pp svneol=native#text/plain
 tests/webtbs/tw1414.pp svneol=native#text/plain
 tests/webtbs/tw14143.pp svneol=native#text/plain
 tests/webtbs/tw14143.pp svneol=native#text/plain
@@ -9242,8 +9238,13 @@ tests/webtbs/tw14149.pp svneol=native#text/plain
 tests/webtbs/tw14155.pp svneol=native#text/plain
 tests/webtbs/tw14155.pp svneol=native#text/plain
 tests/webtbs/tw1416.pp svneol=native#text/plain
 tests/webtbs/tw1416.pp svneol=native#text/plain
 tests/webtbs/tw14174.pp svneol=native#text/plain
 tests/webtbs/tw14174.pp svneol=native#text/plain
+tests/webtbs/tw14230.pp svneol=native#text/plain
+tests/webtbs/tw14236.pp svneol=native#text/plain
 tests/webtbs/tw1430.pp svneol=native#text/plain
 tests/webtbs/tw1430.pp svneol=native#text/plain
+tests/webtbs/tw14307.pp svneol=native#text/plain
 tests/webtbs/tw1433.pp svneol=native#text/plain
 tests/webtbs/tw1433.pp svneol=native#text/plain
+tests/webtbs/tw14363.pp svneol=native#text/plain
+tests/webtbs/tw14403.pp svneol=native#text/plain
 tests/webtbs/tw1445.pp svneol=native#text/plain
 tests/webtbs/tw1445.pp svneol=native#text/plain
 tests/webtbs/tw1450.pp svneol=native#text/plain
 tests/webtbs/tw1450.pp svneol=native#text/plain
 tests/webtbs/tw1451.pp svneol=native#text/plain
 tests/webtbs/tw1451.pp svneol=native#text/plain
@@ -9847,7 +9848,7 @@ tests/webtbs/tw5001.pp svneol=native#text/plain
 tests/webtbs/tw5015.pp svneol=native#text/plain
 tests/webtbs/tw5015.pp svneol=native#text/plain
 tests/webtbs/tw5023.pp svneol=native#text/plain
 tests/webtbs/tw5023.pp svneol=native#text/plain
 tests/webtbs/tw5036.pp svneol=native#text/plain
 tests/webtbs/tw5036.pp svneol=native#text/plain
-tests/webtbs/tw5082.pp -text svneol=unset#text/plain
+tests/webtbs/tw5082.pp svneol=native#text/plain
 tests/webtbs/tw5086.pp svneol=native#text/plain
 tests/webtbs/tw5086.pp svneol=native#text/plain
 tests/webtbs/tw5094.pp svneol=native#text/plain
 tests/webtbs/tw5094.pp svneol=native#text/plain
 tests/webtbs/tw5100.pp svneol=native#text/plain
 tests/webtbs/tw5100.pp svneol=native#text/plain
@@ -9866,7 +9867,7 @@ tests/webtbs/tw6451a.pp svneol=native#text/plain
 tests/webtbs/tw6451b.pp svneol=native#text/plain
 tests/webtbs/tw6451b.pp svneol=native#text/plain
 tests/webtbs/tw6491.pp svneol=native#text/plain
 tests/webtbs/tw6491.pp svneol=native#text/plain
 tests/webtbs/tw6493.pp svneol=native#text/plain
 tests/webtbs/tw6493.pp svneol=native#text/plain
-tests/webtbs/tw6525.pp -text
+tests/webtbs/tw6525.pp svneol=native#text/plain
 tests/webtbs/tw6543.pp svneol=native#text/plain
 tests/webtbs/tw6543.pp svneol=native#text/plain
 tests/webtbs/tw6586a.pp svneol=native#text/plain
 tests/webtbs/tw6586a.pp svneol=native#text/plain
 tests/webtbs/tw6586b.pp svneol=native#text/plain
 tests/webtbs/tw6586b.pp svneol=native#text/plain
@@ -9879,7 +9880,7 @@ tests/webtbs/tw6690.pp svneol=native#text/plain
 tests/webtbs/tw6700.pp svneol=native#text/plain
 tests/webtbs/tw6700.pp svneol=native#text/plain
 tests/webtbs/tw6727.pp svneol=native#text/plain
 tests/webtbs/tw6727.pp svneol=native#text/plain
 tests/webtbs/tw6735.pp svneol=native#text/plain
 tests/webtbs/tw6735.pp svneol=native#text/plain
-tests/webtbs/tw6737.pp -text
+tests/webtbs/tw6737.pp svneol=native#text/plain
 tests/webtbs/tw6742.pp svneol=native#text/plain
 tests/webtbs/tw6742.pp svneol=native#text/plain
 tests/webtbs/tw6767.pp svneol=native#text/plain
 tests/webtbs/tw6767.pp svneol=native#text/plain
 tests/webtbs/tw6769.pp svneol=native#text/plain
 tests/webtbs/tw6769.pp svneol=native#text/plain
@@ -9970,7 +9971,7 @@ tests/webtbs/tw8156.pp svneol=native#text/plain
 tests/webtbs/tw8171.pp svneol=native#text/plain
 tests/webtbs/tw8171.pp svneol=native#text/plain
 tests/webtbs/tw8172.pp svneol=native#text/plain
 tests/webtbs/tw8172.pp svneol=native#text/plain
 tests/webtbs/tw8177.pp svneol=native#text/plain
 tests/webtbs/tw8177.pp svneol=native#text/plain
-tests/webtbs/tw8177a.pp -text
+tests/webtbs/tw8177a.pp svneol=native#text/plain
 tests/webtbs/tw8180.pp svneol=native#text/plain
 tests/webtbs/tw8180.pp svneol=native#text/plain
 tests/webtbs/tw8183.pp svneol=native#text/plain
 tests/webtbs/tw8183.pp svneol=native#text/plain
 tests/webtbs/tw8187.pp svneol=native#text/plain
 tests/webtbs/tw8187.pp svneol=native#text/plain
@@ -10071,12 +10072,12 @@ tests/webtbs/tw9190.pp svneol=native#text/plain
 tests/webtbs/tw9209.pp svneol=native#text/plain
 tests/webtbs/tw9209.pp svneol=native#text/plain
 tests/webtbs/tw9221.pp svneol=native#text/plain
 tests/webtbs/tw9221.pp svneol=native#text/plain
 tests/webtbs/tw9233.pp svneol=native#text/plain
 tests/webtbs/tw9233.pp svneol=native#text/plain
-tests/webtbs/tw9261.pp svneol=native#text/x-pascal
+tests/webtbs/tw9261.pp svneol=native#text/plain
 tests/webtbs/tw9278.pp svneol=native#text/plain
 tests/webtbs/tw9278.pp svneol=native#text/plain
-tests/webtbs/tw9299.pp -text
-tests/webtbs/tw9306a.pp -text
-tests/webtbs/tw9306b.pp -text
-tests/webtbs/tw9309.pp -text
+tests/webtbs/tw9299.pp svneol=native#text/plain
+tests/webtbs/tw9306a.pp svneol=native#text/plain
+tests/webtbs/tw9306b.pp svneol=native#text/plain
+tests/webtbs/tw9309.pp svneol=native#text/plain
 tests/webtbs/tw9327.pp svneol=native#text/plain
 tests/webtbs/tw9327.pp svneol=native#text/plain
 tests/webtbs/tw9347.pp svneol=native#text/plain
 tests/webtbs/tw9347.pp svneol=native#text/plain
 tests/webtbs/tw9347a.pp svneol=native#text/plain
 tests/webtbs/tw9347a.pp svneol=native#text/plain
@@ -10092,7 +10093,7 @@ tests/webtbs/tw9551a.pp svneol=native#text/plain
 tests/webtbs/tw9601.pp svneol=native#text/plain
 tests/webtbs/tw9601.pp svneol=native#text/plain
 tests/webtbs/tw9667.pp svneol=native#text/plain
 tests/webtbs/tw9667.pp svneol=native#text/plain
 tests/webtbs/tw9672.pp svneol=native#text/plain
 tests/webtbs/tw9672.pp svneol=native#text/plain
-tests/webtbs/tw9673.pp -text
+tests/webtbs/tw9673.pp svneol=native#text/plain
 tests/webtbs/tw9695.pp svneol=native#text/plain
 tests/webtbs/tw9695.pp svneol=native#text/plain
 tests/webtbs/tw9704.pp svneol=native#text/plain
 tests/webtbs/tw9704.pp svneol=native#text/plain
 tests/webtbs/tw9766.pp svneol=native#text/plain
 tests/webtbs/tw9766.pp svneol=native#text/plain
@@ -10101,7 +10102,7 @@ tests/webtbs/tw9894.pp svneol=native#text/plain
 tests/webtbs/tw9894a.pp svneol=native#text/plain
 tests/webtbs/tw9894a.pp svneol=native#text/plain
 tests/webtbs/tw9897.pp svneol=native#text/plain
 tests/webtbs/tw9897.pp svneol=native#text/plain
 tests/webtbs/tw9918.pp svneol=native#text/plain
 tests/webtbs/tw9918.pp svneol=native#text/plain
-tests/webtbs/tw9919.pp -text
+tests/webtbs/tw9919.pp svneol=native#text/plain
 tests/webtbs/tw9985.pp svneol=native#text/plain
 tests/webtbs/tw9985.pp svneol=native#text/plain
 tests/webtbs/tw9985a.pp svneol=native#text/plain
 tests/webtbs/tw9985a.pp svneol=native#text/plain
 tests/webtbs/ub1873.pp svneol=native#text/plain
 tests/webtbs/ub1873.pp svneol=native#text/plain
@@ -10122,6 +10123,7 @@ tests/webtbs/uw13345b.pp svneol=native#text/plain
 tests/webtbs/uw13345c.pp svneol=native#text/plain
 tests/webtbs/uw13345c.pp svneol=native#text/plain
 tests/webtbs/uw13345y.pp svneol=native#text/plain
 tests/webtbs/uw13345y.pp svneol=native#text/plain
 tests/webtbs/uw13583.pp svneol=native#text/plain
 tests/webtbs/uw13583.pp svneol=native#text/plain
+tests/webtbs/uw14124.pp svneol=native#text/plain
 tests/webtbs/uw2004.inc svneol=native#text/plain
 tests/webtbs/uw2004.inc svneol=native#text/plain
 tests/webtbs/uw2040.pp svneol=native#text/plain
 tests/webtbs/uw2040.pp svneol=native#text/plain
 tests/webtbs/uw2266a.inc svneol=native#text/plain
 tests/webtbs/uw2266a.inc svneol=native#text/plain
@@ -10313,6 +10315,7 @@ utils/fpmc/test.mc -text
 utils/fppkg/Makefile svneol=native#text/plain
 utils/fppkg/Makefile svneol=native#text/plain
 utils/fppkg/Makefile.fpc svneol=native#text/plain
 utils/fppkg/Makefile.fpc svneol=native#text/plain
 utils/fppkg/README.txt svneol=native#text/plain
 utils/fppkg/README.txt svneol=native#text/plain
+utils/fppkg/buildfppkg.pp svneol=native#text/plain
 utils/fppkg/examples/pkglibcurl.pp svneol=native#text/plain
 utils/fppkg/examples/pkglibcurl.pp svneol=native#text/plain
 utils/fppkg/examples/pkgocurl.pp svneol=native#text/plain
 utils/fppkg/examples/pkgocurl.pp svneol=native#text/plain
 utils/fppkg/examples/pkgsynapse.pp svneol=native#text/plain
 utils/fppkg/examples/pkgsynapse.pp svneol=native#text/plain
@@ -10479,13 +10482,6 @@ utils/sim_pasc/token.c svneol=native#text/plain
 utils/sim_pasc/token.h svneol=native#text/plain
 utils/sim_pasc/token.h svneol=native#text/plain
 utils/sim_pasc/tokenarray.c svneol=native#text/plain
 utils/sim_pasc/tokenarray.c svneol=native#text/plain
 utils/sim_pasc/tokenarray.h svneol=native#text/plain
 utils/sim_pasc/tokenarray.h svneol=native#text/plain
-utils/simulator/Makefile svneol=native#text/plain
-utils/simulator/Makefile.fpc svneol=native#text/plain
-utils/simulator/alphasim.pas svneol=native#text/plain
-utils/simulator/fastmm64.pas svneol=native#text/plain
-utils/simulator/mm64.pas svneol=native#text/plain
-utils/simulator/simbase.pas svneol=native#text/plain
-utils/simulator/simlib.pas svneol=native#text/plain
 utils/svn2cl.pp svneol=native#text/plain
 utils/svn2cl.pp svneol=native#text/plain
 utils/svn2cvs/svn2cvs.lpi svneol=native#text/plain
 utils/svn2cvs/svn2cvs.lpi svneol=native#text/plain
 utils/svn2cvs/svn2cvs.pp svneol=native#text/plain
 utils/svn2cvs/svn2cvs.pp svneol=native#text/plain

+ 0 - 7
.gitignore

@@ -1551,13 +1551,6 @@ utils/ptop
 utils/ptop.exe
 utils/ptop.exe
 utils/rstconv
 utils/rstconv
 utils/rstconv.exe
 utils/rstconv.exe
-utils/simulator/*.bak
-utils/simulator/*.exe
-utils/simulator/*.o
-utils/simulator/*.ppu
-utils/simulator/*.s
-utils/simulator/fpcmade.*
-utils/simulator/units
 utils/tply/*.bak
 utils/tply/*.bak
 utils/tply/*.exe
 utils/tply/*.exe
 utils/tply/*.o
 utils/tply/*.o

+ 4 - 2
Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/02/28]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: help
 default: help
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=fpc
 override PACKAGE_NAME=fpc
-override PACKAGE_VERSION=2.3.1
+override PACKAGE_VERSION=2.5.1
 ifndef inOS2
 ifndef inOS2
 override FPCDIR:=$(BASEDIR)
 override FPCDIR:=$(BASEDIR)
 export FPCDIR
 export FPCDIR

+ 1 - 1
Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=fpc
 name=fpc
-version=2.3.1
+version=2.5.1
 
 
 [target]
 [target]
 dirs=compiler rtl utils packages ide installer
 dirs=compiler rtl utils packages ide installer

+ 51 - 17
compiler/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/02/21]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/14]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=compiler
 override PACKAGE_NAME=compiler
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 unexport FPC_VERSION FPC_COMPILERINFO
 unexport FPC_VERSION FPC_COMPILERINFO
 CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64 m68k armeb
 CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64 m68k armeb
 ALLTARGETS=$(CYCLETARGETS)
 ALLTARGETS=$(CYCLETARGETS)
@@ -346,16 +348,6 @@ CPUSUF=arm
 endif
 endif
 NOCPUDEF=1
 NOCPUDEF=1
 MSGFILE=msg/error$(FPCLANG).msg
 MSGFILE=msg/error$(FPCLANG).msg
-ifeq ($(OS_TARGET),linux)
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-override LOCALOPT+=-dUNIX
-endif
-endif
-ifeq ($(OS_TARGET),freebsd)
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-override LOCALOPT+=-dUNIX
-endif
-endif
 REVINC:=$(wildcard revision.inc)
 REVINC:=$(wildcard revision.inc)
 ifneq ($(REVINC),)
 ifneq ($(REVINC),)
 override LOCALOPT+=-dREVINC
 override LOCALOPT+=-dREVINC
@@ -392,6 +384,16 @@ endif
 ifeq ($(PPC_TARGET),arm)
 ifeq ($(PPC_TARGET),arm)
 override LOCALOPT+=
 override LOCALOPT+=
 endif
 endif
+OPTWPOCOLLECT=-OWdevirtcalls,optvmts -FW$(BASEDIR)/pp1.wpo
+OPTWPOPERFORM=-Owdevirtcalls,optvmts -Fw$(BASEDIR)/pp1.wpo
+ifneq ($(findstring $(OS_TARGET),darwin linux freebsd solaris),)
+ifdef LINKSMART
+ifdef CREATESMART
+OPTWPOCOLLECT+=-OWsymbolliveness -Xs-
+OPTWPOPERFORM+=-Owsymbolliveness
+endif
+endif
+endif
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_DIRS+=utils
 override TARGET_DIRS+=utils
 endif
 endif
@@ -1655,6 +1657,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1662,6 +1665,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1698,6 +1702,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1706,6 +1711,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1745,17 +1751,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1782,14 +1791,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1836,6 +1848,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1896,6 +1909,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1907,6 +1921,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1918,6 +1933,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
@@ -3230,9 +3246,6 @@ override DIFF:=$(CMP) -i218
 endif
 endif
 endif
 endif
 override COMPILER+=$(LOCALOPT)
 override COMPILER+=$(LOCALOPT)
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-override COMPILER:=$(patsubst -O%,,$(COMPILER))
-endif
 PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc.exe,$(SEARCHPATH))))
 PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc.exe,$(SEARCHPATH))))
 ifeq ($(PASDOC),)
 ifeq ($(PASDOC),)
 PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc,$(SEARCHPATH))))
 PASDOC:=$(strip $(wildcard $(addsuffix /pasdoc,$(SEARCHPATH))))
@@ -3251,6 +3264,8 @@ PPCROSSNAME=ppcross$(CPUSUF)$(SRCEXEEXT)
 TEMPNAME1=ppc1$(EXEEXT)
 TEMPNAME1=ppc1$(EXEEXT)
 TEMPNAME2=ppc2$(EXEEXT)
 TEMPNAME2=ppc2$(EXEEXT)
 TEMPNAME3=ppc3$(EXEEXT)
 TEMPNAME3=ppc3$(EXEEXT)
+TEMPWPONAME1=ppcwpo1$(EXEEXT)
+TEMPWPONAME2=ppcwpo2$(EXEEXT)
 MAKEDEP=ppdep$(EXEEXT)
 MAKEDEP=ppdep$(EXEEXT)
 MSG2INC=./msg2inc$(EXEEXT)
 MSG2INC=./msg2inc$(EXEEXT)
 ifdef CROSSINSTALL
 ifdef CROSSINSTALL
@@ -3288,9 +3303,9 @@ ppuclean:
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) $(addsuffix /*$(PPUEXT),$(COMPILERSOURCEDIR))
 	-$(DEL) $(addsuffix /*$(PPUEXT),$(COMPILERSOURCEDIR))
 tempclean:
 tempclean:
-	-$(DEL) $(PPCROSSNAME) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC)
+	-$(DEL) $(PPCROSSNAME) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC) pp1.wpo pp2.wpo
 execlean :
 execlean :
-	-$(DEL) ppc386$(EXEEXT) ppcaxp$(EXEEXT) ppc68k$(EXEEXT) ppcx64$(EXEEXT) ppcppc$(EXEEXT) ppcsparc$(EXEEXT) $(EXENAME)
+	-$(DEL) ppc386$(EXEEXT) ppcaxp$(EXEEXT) ppc68k$(EXEEXT) ppcx64$(EXEEXT) ppcppc$(EXEEXT) ppcsparc$(EXEEXT) $(EXENAME) $(TEMPWPONAME1) $(TEMPWPONAME2)
 $(addsuffix _clean,$(ALLTARGETS)):
 $(addsuffix _clean,$(ALLTARGETS)):
 	-$(DELTREE) $(addprefix $(subst _clean,,$@),/units)
 	-$(DELTREE) $(addprefix $(subst _clean,,$@),/units)
 	-$(DEL) $(addprefix $(subst _clean,,$@)/,*$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT))
 	-$(DEL) $(addprefix $(subst _clean,,$@)/,*$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT))
@@ -3327,6 +3342,24 @@ endif
 	$(MOVE) $(COMPILER_TARGETDIR)/$(PPEXENAME) $(EXENAME)
 	$(MOVE) $(COMPILER_TARGETDIR)/$(PPEXENAME) $(EXENAME)
 ifeq ($(CPU_SOURCE),$(PPC_TARGET))
 ifeq ($(CPU_SOURCE),$(PPC_TARGET))
 ifeq ($(OS_SOURCE),$(OS_TARGET))
 ifeq ($(OS_SOURCE),$(OS_TARGET))
+ifndef NOWPOCYCLE
+ifdef RELEASE
+DOWPOCYCLE=1
+wpocycle:
+	$(RM) $(EXENAME)
+	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(LOCALOPT) $(OPTWPOCOLLECT)' compiler
+	$(RM) $(EXENAME)
+	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(RTLOPT) $(OPTWPOPERFORM)' rtlclean rtl
+	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(LOCALOPT) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT))' $(addsuffix _clean,$(ALLTARGETS)) compiler
+	$(MOVE) $(EXENAME) $(TEMPWPONAME1)
+	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1)' 'OPT=$(RTLOPT) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM))' rtlclean rtl
+	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1)' 'OPT=$(LOCALOPT) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM))' $(addsuffix _clean,$(ALLTARGETS)) compiler
+	$(COPY) $(EXENAME) $(TEMPWPONAME2)
+endif
+endif
+ifndef DOWPOCYCLE
+wpocycle:
+endif
 ifdef DIFF
 ifdef DIFF
 ifdef OLDFPC
 ifdef OLDFPC
 ifneq ($(OS_TARGET),darwin)
 ifneq ($(OS_TARGET),darwin)
@@ -3367,6 +3400,7 @@ cycle:
 	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OLDFPC=$(BASEDIR)/$(TEMPNAME2)' next
 	$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OLDFPC=$(BASEDIR)/$(TEMPNAME2)' next
 	$(DIFF) $(TEMPNAME3) $(EXENAME)
 	$(DIFF) $(TEMPNAME3) $(EXENAME)
 	$(MAKE) $(addsuffix _all,$(TARGET_DIRS)) 'FPC=$(BASEDIR)/$(EXENAME)'
 	$(MAKE) $(addsuffix _all,$(TARGET_DIRS)) 'FPC=$(BASEDIR)/$(EXENAME)'
+	$(MAKE) wpocycle
 	$(MAKE) echotime
 	$(MAKE) echotime
 else
 else
 cycle:
 cycle:

+ 42 - 21
compiler/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=compiler
 name=compiler
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 programs=pp
 programs=pp
@@ -150,19 +150,6 @@ NOCPUDEF=1
 # Default message file
 # Default message file
 MSGFILE=msg/error$(FPCLANG).msg
 MSGFILE=msg/error$(FPCLANG).msg
 
 
-# Define Unix also for Linux
-ifeq ($(OS_TARGET),linux)
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-override LOCALOPT+=-dUNIX
-endif
-endif
-
-ifeq ($(OS_TARGET),freebsd)
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-override LOCALOPT+=-dUNIX
-endif
-endif
-
 REVINC:=$(wildcard revision.inc)
 REVINC:=$(wildcard revision.inc)
 ifneq ($(REVINC),)
 ifneq ($(REVINC),)
 override LOCALOPT+=-dREVINC
 override LOCALOPT+=-dREVINC
@@ -218,6 +205,20 @@ ifeq ($(PPC_TARGET),arm)
 override LOCALOPT+=
 override LOCALOPT+=
 endif
 endif
 
 
+OPTWPOCOLLECT=-OWdevirtcalls,optvmts -FW$(BASEDIR)/pp1.wpo
+OPTWPOPERFORM=-Owdevirtcalls,optvmts -Fw$(BASEDIR)/pp1.wpo
+# symbol liveness WPO requires nm, smart linking and no stripping (the latter
+# is forced by the Makefile when necessary)
+ifneq ($(findstring $(OS_TARGET),darwin linux freebsd solaris),)
+ifdef LINKSMART
+ifdef CREATESMART
+OPTWPOCOLLECT+=-OWsymbolliveness -Xs-
+OPTWPOPERFORM+=-Owsymbolliveness
+endif
+endif
+endif
+
+
 [rules]
 [rules]
 #####################################################################
 #####################################################################
 # Setup Targets
 # Setup Targets
@@ -232,11 +233,6 @@ endif
 # Add Local options
 # Add Local options
 override COMPILER+=$(LOCALOPT)
 override COMPILER+=$(LOCALOPT)
 
 
-# Disable optimizer when compiled with 1.0.x
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-override COMPILER:=$(patsubst -O%,,$(COMPILER))
-endif
-
 
 
 #####################################################################
 #####################################################################
 # PASDoc
 # PASDoc
@@ -266,6 +262,8 @@ PPCROSSNAME=ppcross$(CPUSUF)$(SRCEXEEXT)
 TEMPNAME1=ppc1$(EXEEXT)
 TEMPNAME1=ppc1$(EXEEXT)
 TEMPNAME2=ppc2$(EXEEXT)
 TEMPNAME2=ppc2$(EXEEXT)
 TEMPNAME3=ppc3$(EXEEXT)
 TEMPNAME3=ppc3$(EXEEXT)
+TEMPWPONAME1=ppcwpo1$(EXEEXT)
+TEMPWPONAME2=ppcwpo2$(EXEEXT)
 MAKEDEP=ppdep$(EXEEXT)
 MAKEDEP=ppdep$(EXEEXT)
 MSG2INC=./msg2inc$(EXEEXT)
 MSG2INC=./msg2inc$(EXEEXT)
 ifdef CROSSINSTALL
 ifdef CROSSINSTALL
@@ -326,10 +324,10 @@ ppuclean:
         -$(DEL) $(addsuffix /*$(PPUEXT),$(COMPILERSOURCEDIR))
         -$(DEL) $(addsuffix /*$(PPUEXT),$(COMPILERSOURCEDIR))
 
 
 tempclean:
 tempclean:
-        -$(DEL) $(PPCROSSNAME) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC)
+        -$(DEL) $(PPCROSSNAME) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC) pp1.wpo pp2.wpo
 
 
 execlean :
 execlean :
-        -$(DEL) ppc386$(EXEEXT) ppcaxp$(EXEEXT) ppc68k$(EXEEXT) ppcx64$(EXEEXT) ppcppc$(EXEEXT) ppcsparc$(EXEEXT) $(EXENAME)
+        -$(DEL) ppc386$(EXEEXT) ppcaxp$(EXEEXT) ppc68k$(EXEEXT) ppcx64$(EXEEXT) ppcppc$(EXEEXT) ppcsparc$(EXEEXT) $(EXENAME) $(TEMPWPONAME1) $(TEMPWPONAME2)
 
 
 $(addsuffix _clean,$(ALLTARGETS)):
 $(addsuffix _clean,$(ALLTARGETS)):
         -$(DELTREE) $(addprefix $(subst _clean,,$@),/units)
         -$(DELTREE) $(addprefix $(subst _clean,,$@),/units)
@@ -411,6 +409,28 @@ ifeq ($(OS_SOURCE),$(OS_TARGET))
 # Normal cycle
 # Normal cycle
 #
 #
 
 
+ifndef NOWPOCYCLE
+ifdef RELEASE
+DOWPOCYCLE=1
+# Two WPO cycles in case of RELEASE=1
+wpocycle:
+# don't use cycle_clean, it will delete the compiler utilities again
+        $(RM) $(EXENAME)
+        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(LOCALOPT) $(OPTWPOCOLLECT)' compiler
+        $(RM) $(EXENAME)
+        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(RTLOPT) $(OPTWPOPERFORM)' rtlclean rtl
+        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(LOCALOPT) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT))' $(addsuffix _clean,$(ALLTARGETS)) compiler
+        $(MOVE) $(EXENAME) $(TEMPWPONAME1)
+        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1)' 'OPT=$(RTLOPT) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM))' rtlclean rtl
+        $(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1)' 'OPT=$(LOCALOPT) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM))' $(addsuffix _clean,$(ALLTARGETS)) compiler
+        $(COPY) $(EXENAME) $(TEMPWPONAME2)
+endif
+endif
+
+ifndef DOWPOCYCLE
+wpocycle:
+endif
+
 # Used to avoid unnecessary steps
 # Used to avoid unnecessary steps
 ifdef DIFF
 ifdef DIFF
 ifdef OLDFPC
 ifdef OLDFPC
@@ -457,6 +477,7 @@ cycle:
         $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OLDFPC=$(BASEDIR)/$(TEMPNAME2)' next
         $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OLDFPC=$(BASEDIR)/$(TEMPNAME2)' next
         $(DIFF) $(TEMPNAME3) $(EXENAME)
         $(DIFF) $(TEMPNAME3) $(EXENAME)
         $(MAKE) $(addsuffix _all,$(TARGET_DIRS)) 'FPC=$(BASEDIR)/$(EXENAME)'
         $(MAKE) $(addsuffix _all,$(TARGET_DIRS)) 'FPC=$(BASEDIR)/$(EXENAME)'
+        $(MAKE) wpocycle
         $(MAKE) echotime
         $(MAKE) echotime
 
 
 else
 else

+ 4 - 1
compiler/cfileutl.pas

@@ -523,7 +523,10 @@ end;
         if (length(s)>0) and (s[1] in AllowDirectorySeparators) then
         if (length(s)>0) and (s[1] in AllowDirectorySeparators) then
           result:=true;
           result:=true;
 {$elseif defined(amiga) or defined(morphos)}
 {$elseif defined(amiga) or defined(morphos)}
-        if ((length(s)>0) and (s[1] in AllowDirectorySeparators)) or (Pos(':',s) = length(s)) then
+        (* An Amiga path is absolute, if it has a volume/device name in it (contains ":"), 
+           otherwise it's always a relative path, no matter if it starts with a directory 
+           separator or not. (KB) *)
+        if (length(s)>0) and (Pos(':',s) <> 0) then
           result:=true;
           result:=true;
 {$elseif defined(macos)}
 {$elseif defined(macos)}
         if IsMacFullPath(s) then
         if IsMacFullPath(s) then

+ 1 - 0
compiler/cgobj.pas

@@ -3057,6 +3057,7 @@ implementation
         cgpara1.done;
         cgpara1.done;
       end;
       end;
 
 
+
     procedure tcg.g_copyvariant(list : TAsmList;const source,dest : treference);
     procedure tcg.g_copyvariant(list : TAsmList;const source,dest : treference);
       var
       var
         cgpara1,cgpara2 : TCGPara;
         cgpara1,cgpara2 : TCGPara;

+ 0 - 2
compiler/cgutils.pas

@@ -61,9 +61,7 @@ unit cgutils;
          { (An)+ and -(An)                      }
          { (An)+ and -(An)                      }
          direction : tdirection;
          direction : tdirection;
 {$endif m68k}
 {$endif m68k}
-{$ifdef SUPPORT_UNALIGNED}
          alignment : byte;
          alignment : byte;
-{$endif SUPPORT_UNALIGNED}
       end;
       end;
 
 
       tsubsetregister = record
       tsubsetregister = record

+ 1 - 1
compiler/cutils.pas

@@ -123,7 +123,7 @@ interface
     { the data in p is modified and p is returned     }
     { the data in p is modified and p is returned     }
     function pchar2pshortstring(p : pchar) : pshortstring;
     function pchar2pshortstring(p : pchar) : pshortstring;
 
 
-    { ambivalent to pchar2pshortstring }
+    { inverse of pchar2pshortstring }
     function pshortstring2pchar(p : pshortstring) : pchar;
     function pshortstring2pchar(p : pshortstring) : pchar;
 
 
     { allocate a new pchar with the contents of a}
     { allocate a new pchar with the contents of a}

+ 4 - 4
compiler/dbgdwarf.pas

@@ -1344,13 +1344,13 @@ implementation
 
 
         if not is_packed_array(def) then
         if not is_packed_array(def) then
           begin
           begin
-          elestrideattr := DW_AT_byte_stride;
-          elesize := def.elesize;
+            elestrideattr := DW_AT_byte_stride;
+            elesize := def.elesize;
           end
           end
         else
         else
           begin
           begin
-          elestrideattr := DW_AT_stride_size;
-          elesize := def.elepackedbitsize;
+            elestrideattr := DW_AT_stride_size;
+            elesize := def.elepackedbitsize;
           end;
           end;
 
 
         if is_special_array(def) then
         if is_special_array(def) then

+ 2 - 1
compiler/finput.pas

@@ -29,7 +29,7 @@ interface
       cutils,cclasses;
       cutils,cclasses;
 
 
     const
     const
-       InputFileBufSize=32*1024;
+       InputFileBufSize=32*1024+1;
        linebufincrease=512;
        linebufincrease=512;
 
 
     type
     type
@@ -268,6 +268,7 @@ uses
         endoffile:=false;
         endoffile:=false;
         closed:=false;
         closed:=false;
         Getmem(buf,MaxBufsize);
         Getmem(buf,MaxBufsize);
+        buf[0]:=#0;
         bufstart:=0;
         bufstart:=0;
         bufsize:=0;
         bufsize:=0;
         open:=true;
         open:=true;

+ 0 - 2
compiler/fpcdefs.inc

@@ -124,8 +124,6 @@
 {$DEFINE USE_FAKE_SYSUTILS}
 {$DEFINE USE_FAKE_SYSUTILS}
 {$ENDIF MACOS}
 {$ENDIF MACOS}
 
 
-{$define SUPPORT_UNALIGNED}
-
 {$if not defined(FPC_HAS_TYPE_EXTENDED) and defined(i386)}
 {$if not defined(FPC_HAS_TYPE_EXTENDED) and defined(i386)}
 {$error Cross-compiling from systems without support for an 80 bit extended floating point type to i386 is not yet supported at this time }
 {$error Cross-compiling from systems without support for an 80 bit extended floating point type to i386 is not yet supported at this time }
 {$endif}
 {$endif}

+ 6 - 17
compiler/htypechk.pas

@@ -503,7 +503,7 @@ implementation
         { Display info when multiple candidates are found }
         { Display info when multiple candidates are found }
         candidates.dump_info(V_Debug);
         candidates.dump_info(V_Debug);
 {$endif EXTDEBUG}
 {$endif EXTDEBUG}
-        cand_cnt:=candidates.choose_best(operpd,false);
+        cand_cnt:=candidates.choose_best(tabstractprocdef(operpd),false);
 
 
         { exit when no overloads are found }
         { exit when no overloads are found }
         if cand_cnt=0 then
         if cand_cnt=0 then
@@ -649,7 +649,7 @@ implementation
         { Display info when multiple candidates are found }
         { Display info when multiple candidates are found }
         candidates.dump_info(V_Debug);
         candidates.dump_info(V_Debug);
 {$endif EXTDEBUG}
 {$endif EXTDEBUG}
-        cand_cnt:=candidates.choose_best(operpd,false);
+        cand_cnt:=candidates.choose_best(tabstractprocdef(operpd),false);
 
 
         { exit when no overloads are found }
         { exit when no overloads are found }
         if cand_cnt=0 then
         if cand_cnt=0 then
@@ -1332,11 +1332,8 @@ implementation
              inlinen :
              inlinen :
                begin
                begin
                  if ((valid_const in opts) and
                  if ((valid_const in opts) and
-                    (tinlinenode(hp).inlinenumber in [in_typeof_x]))
-{$ifdef SUPPORT_UNALIGNED}
-                    or (tinlinenode(hp).inlinenumber in [in_unaligned_x])
-{$endif SUPPORT_UNALIGNED}
-                    then
+                     (tinlinenode(hp).inlinenumber in [in_typeof_x])) or
+                    (tinlinenode(hp).inlinenumber in [in_unaligned_x]) then
                    result:=true
                    result:=true
                  else
                  else
                    if report_errors then
                    if report_errors then
@@ -1519,16 +1516,8 @@ implementation
               { if they are objects              }
               { if they are objects              }
               if (def_from.typ=objectdef) and
               if (def_from.typ=objectdef) and
                  (
                  (
-                  (
-                   not(m_delphi in current_settings.modeswitches) and
-                   (tobjectdef(def_from).objecttype in [odt_object,odt_class]) and
-                   (tobjectdef(def_to).objecttype in [odt_object,odt_class])
-                  ) or
-                  (
-                   (m_delphi in current_settings.modeswitches) and
-                   (tobjectdef(def_from).objecttype=odt_object) and
-                   (tobjectdef(def_to).objecttype=odt_object)
-                  )
+                  (tobjectdef(def_from).objecttype=odt_object) and
+                  (tobjectdef(def_to).objecttype=odt_object)
                  ) and
                  ) and
                  (tobjectdef(def_from).is_related(tobjectdef(def_to))) then
                  (tobjectdef(def_from).is_related(tobjectdef(def_to))) then
                 eq:=te_convert_l1;
                 eq:=te_convert_l1;

+ 2 - 0
compiler/i386/cgcpu.pas

@@ -612,6 +612,7 @@ unit cgcpu;
           list.concat(taicpu.op_ref(op,S_L,href));
           list.concat(taicpu.op_ref(op,S_L,href));
         end;
         end;
 
 
+
       procedure loadmethodoffstoeax;
       procedure loadmethodoffstoeax;
         var
         var
           href : treference;
           href : treference;
@@ -623,6 +624,7 @@ unit cgcpu;
           cg.a_load_ref_reg(list,OS_ADDR,OS_ADDR,href,NR_EAX);
           cg.a_load_ref_reg(list,OS_ADDR,OS_ADDR,href,NR_EAX);
         end;
         end;
 
 
+
       var
       var
         lab : tasmsymbol;
         lab : tasmsymbol;
         make_global : boolean;
         make_global : boolean;

+ 1 - 1
compiler/i386/cpuinfo.pas

@@ -104,7 +104,7 @@ Const
      cs_opt_asmcse,cs_opt_loopunroll,cs_opt_uncertain,cs_opt_tailrecursion];
      cs_opt_asmcse,cs_opt_loopunroll,cs_opt_uncertain,cs_opt_tailrecursion];
 
 
    level1optimizerswitches = genericlevel1optimizerswitches + [cs_opt_peephole];
    level1optimizerswitches = genericlevel1optimizerswitches + [cs_opt_peephole];
-   level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [cs_opt_regvar,cs_opt_stackframe,cs_opt_asmcse,cs_opt_tailrecursion];
+   level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [cs_opt_regvar,cs_opt_stackframe,cs_opt_tailrecursion];
    level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
    level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
 
 
 Implementation
 Implementation

+ 27 - 9
compiler/msg/errord.msg

@@ -3,7 +3,7 @@
 #   Latest updates contributed by Karl-Michael Schindler aka mischi
 #   Latest updates contributed by Karl-Michael Schindler aka mischi
 #   <karl-michael.schindler at web.de>
 #   <karl-michael.schindler at web.de>
 #
 #
-#   Based on errore.msg of SVN revision 13257 + one
+#   Based on errore.msg of SVN revision 13334
 #
 #
 #   This file is part of the Free Pascal Compiler
 #   This file is part of the Free Pascal Compiler
 #   Copyright (c) 1998-2009 by the Free Pascal Development team
 #   Copyright (c) 1998-2009 by the Free Pascal Development team
@@ -370,7 +370,7 @@ scan_w_multiple_main_name_overrides=02086_W_Der Name der "main" Prozedur wird me
 #
 #
 # Parser
 # Parser
 #
 #
-# 03250 is the last used one
+# 03252 is the last used one
 #
 #
 % \section{Parser messages}
 % \section{Parser messages}
 % This section lists all parser messages. The parser takes care of the
 % This section lists all parser messages. The parser takes care of the
@@ -1181,6 +1181,19 @@ parser_n_ignore_lower_visibility=03250_N_Die virtuelle Methode "$1" hat eine nie
 % The virtual method overrides an method that is declared with a higher visibility. This might give
 % The virtual method overrides an method that is declared with a higher visibility. This might give
 % unexpected results. In case the new visibility is private than it might be that a call to inherited in a
 % unexpected results. In case the new visibility is private than it might be that a call to inherited in a
 % new child class will call the higher visible method in a parent class and ignores the private method.
 % new child class will call the higher visible method in a parent class and ignores the private method.
+parser_e_field_not_allowed_here=03251_E_Felder sind nach der Definition einer Methode oder Eigenschaft nicht erlaubt. Beginne vorher eine neue Sichtbarkeitssektion
+% Once a method or property has been defined in a class or object, you cannot define any fields afterwards
+% without starting a new visibility section (such as \var{public}, \var{private}, etc.). The reason is
+% that otherwise the source code can appear ambiguous to the compiler, since it is possible to use modifiers
+% such as \var{default} and \var{register} also as field names.
+parser_e_no_local_para_def=03252_E_Parameter k”nnen keine lokalen Typdeklarationen enthalten. Verwende eine getrennte Typdefinition in einem "type"-Block
+% In Pascal, types are not considered to be identical simply because they are semantically equivalent.
+% Two variables or parameters are only considered to be of the same type if they refer to the
+% same type definition.
+% As a result, it is not allowed to define new types inside parameter lists, because then it is impossible to
+% refer to the same type definition in the procedure headers of the interface and implementation of a unit
+% (both procedure headers would define a separate type). Keep in mind that expressions such as
+% ``file of byte'' or ``string[50]'' also define a new type.
 % \end{description}
 % \end{description}
 #
 #
 # Type Checking
 # Type Checking
@@ -2406,7 +2419,7 @@ unit_u_skipping_reresolving_unit=10059_U_Erneutes Resolving der Unit $1 wird 
 % When you use the \var{-vu} flag, the compiler warns that it is
 % When you use the \var{-vu} flag, the compiler warns that it is
 % skipping the recalculation of the internal data of the unit
 % skipping the recalculation of the internal data of the unit
 % because there is no data to recalculate.
 % because there is no data to recalculate.
-unit_u_unload_resunit=10060_U_Entlade die Resource Unit $1 (wird nicht ben”tigt) 
+unit_u_unload_resunit=10060_U_Entlade die Resource-Unit $1 (wird nicht ben”tigt) 
 % When you use the \var{-vu} flag, the compiler warns that it is unloading the 
 % When you use the \var{-vu} flag, the compiler warns that it is unloading the 
 % resource handling unit, since no resources are used.
 % resource handling unit, since no resources are used.
 unit_e_different_wpo_file=10061_E_Unit $1 wurde mit einer anderen Feedback-Eingabe ($2, $3) f�r die Gesamtprogramm-Optimierung (wpo) �bersetzt. Bitte erneut ohne wpo oder mit der gleichen wpo-Feedback-Eingabe-Datei �bersetzen
 unit_e_different_wpo_file=10061_E_Unit $1 wurde mit einer anderen Feedback-Eingabe ($2, $3) f�r die Gesamtprogramm-Optimierung (wpo) �bersetzt. Bitte erneut ohne wpo oder mit der gleichen wpo-Feedback-Eingabe-Datei �bersetzen
@@ -2428,8 +2441,8 @@ option_usage=11000_O_$1 [Optionen] <Eingabedatei> [Optionen]
 % This section lists errors that occur when the compiler is processing the
 % This section lists errors that occur when the compiler is processing the
 % command line or handling the configuration files.
 % command line or handling the configuration files.
 % \begin{description}
 % \begin{description}
-option_only_one_source_support=11001_W_Nur eine Quelldatei unterst�tzt
-% You can specify only one source file on the command line. The first
+option_only_one_source_support=11001_W_Es wird nur eine Quelldatei unterst�tzt. Wechsel f�r das Kompilieren von Quelldatei "$1" zu Quelldatei "$2"
+% You can specify only one source file on the command line. The last
 % one will be compiled, others will be ignored. This may indicate that
 % one will be compiled, others will be ignored. This may indicate that
 % you forgot a \var{'-'} sign.
 % you forgot a \var{'-'} sign.
 option_def_only_for_os2=11002_W_DEF-Datei kann nur f�r OS/2 erzeugt werden
 option_def_only_for_os2=11002_W_DEF-Datei kann nur f�r OS/2 erzeugt werden
@@ -2754,6 +2767,7 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
 **1F<x>_Dateinamen und Pfade:
 **1F<x>_Dateinamen und Pfade:
 **2Fa<x>[,y]_Ein Program soll die Units <x> und [y] laden, bevor uses analysiert wird
 **2Fa<x>[,y]_Ein Program soll die Units <x> und [y] laden, bevor uses analysiert wird
 **2Fc<x>_Setze die Eingabe-Codepage zu <x>
 **2Fc<x>_Setze die Eingabe-Codepage zu <x>
+**2Fd_Schalte den internen Verzeichnis-Cache des Compilers aus
 **2FC<x>_Setze den Namen des RC Compiler-Bin„rprograms auf <x>
 **2FC<x>_Setze den Namen des RC Compiler-Bin„rprograms auf <x>
 **2FD<x>_Setze das Verzeichnis f�r die Compiler-Hilfsprogramme
 **2FD<x>_Setze das Verzeichnis f�r die Compiler-Hilfsprogramme
 **2Fe<x>_Leite die Fehlerausgabe um nach <x>
 **2Fe<x>_Leite die Fehlerausgabe um nach <x>
@@ -2775,11 +2789,15 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
 *g2gh_Heaptrace-Unit einbinden
 *g2gh_Heaptrace-Unit einbinden
 *g2gl_Line info Unit einbinden, um mehr backtrace Informationen anzuzeigen
 *g2gl_Line info Unit einbinden, um mehr backtrace Informationen anzuzeigen
 *g2go<x>_Setze Optionen f�r die Debug Informationen
 *g2go<x>_Setze Optionen f�r die Debug Informationen
-*g3godwarfsets_Schalte Dwarf Debug Informationen f�r Mengen (sets) ein (verhindert debugging mit gdb < 6.5)
+*g3godwarfsets_Schalte DWARF Debug Informationen f�r Mengen (sets) ein (verhindert debugging mit gdb < 6.5)
+*g3gostabsabsincludes_ Absolute/volle Include-Datei-Pfade in Stabs speichern
 *g2gp_Erhalte Gross/Kleinschreibung in Stabs-Symbolnamen
 *g2gp_Erhalte Gross/Kleinschreibung in Stabs-Symbolnamen
+*g2gs_Erzeuge Stabs-Debug-Informationen
 *g2gt_L”sche lokale Variablen (um eine Verwendung ohne Initialisierung zu finden)
 *g2gt_L”sche lokale Variablen (um eine Verwendung ohne Initialisierung zu finden)
-*g2gv_Erzeuge ein mit valgrind verfolgbares (traceable) Programm
-*g2gw_Erzeuge dwarf Informationen
+*g2gv_Erzeuge ein mit Valgrind verfolgbares (traceable) Programm
+*g2gw_Erzeuge DWARFv2-Debug-Informationen (wie -gw2)
+*g2gw2_Erzeuge DWARFv2-Debug-Informationen
+*g2gw3_Erzeuge DWARFv3-Debug-Informationen
 **1i_Zeige alle Information �ber den Compiler
 **1i_Zeige alle Information �ber den Compiler
 **2iD_Zeige Compilerdatum
 **2iD_Zeige Compilerdatum
 **2iV_Zeige Compilerversion
 **2iV_Zeige Compilerversion
@@ -2936,7 +2954,7 @@ P*2WX_Erm
 **2Xm_Erzeuge die "link map"
 **2Xm_Erzeuge die "link map"
 **2XM<x>_Setze den Namen der 'main' program Routine   (default ist 'main')
 **2XM<x>_Setze den Namen der 'main' program Routine   (default ist 'main')
 **2XP<x>_Stelle den Namen der Compiler-Hilfsprogrammen den Prefix <x> voran
 **2XP<x>_Stelle den Namen der Compiler-Hilfsprogrammen den Prefix <x> voran
-**2Xr<x>_Setze den Bibliotheks-Suchpfad zu <x>       (ben”tigt f�r cross compile)
+**2Xr<x>_Setze den rlink-Pfad des Linker zu <x> (ben”tigt f�r cross compile, siehe ld-Manual f�r mehr Informationen) (BeOS, Linux)
 **2XR<x>_Stelle allen Linker-Suchpfaden den Namen <x> voran (BeOS, Darwin, FreeBSD, Linux, Mac OS, Solaris)
 **2XR<x>_Stelle allen Linker-Suchpfaden den Namen <x> voran (BeOS, Darwin, FreeBSD, Linux, Mac OS, Solaris)
 **2Xs_Entferne alle Symbole aus der ausf�hrbaren Datei
 **2Xs_Entferne alle Symbole aus der ausf�hrbaren Datei
 **2XS_Versuche Units statisch zu linken (default)    (definiert FPC_LINK_STATIC)
 **2XS_Versuche Units statisch zu linken (default)    (definiert FPC_LINK_STATIC)

+ 28 - 9
compiler/msg/errordu.msg

@@ -3,7 +3,7 @@
 #   Latest updates contributed by Karl-Michael Schindler aka mischi
 #   Latest updates contributed by Karl-Michael Schindler aka mischi
 #   <karl-michael.schindler at web.de>
 #   <karl-michael.schindler at web.de>
 #
 #
-#   Based on errore.msg of SVN revision 13257 + one
+#   Based on errore.msg of SVN revision 13334
 #
 #
 #   This file is part of the Free Pascal Compiler
 #   This file is part of the Free Pascal Compiler
 #   Copyright (c) 1998-2009 by the Free Pascal Development team
 #   Copyright (c) 1998-2009 by the Free Pascal Development team
@@ -370,7 +370,7 @@ scan_w_multiple_main_name_overrides=02086_W_Der Name der "main" Prozedur wird me
 #
 #
 # Parser
 # Parser
 #
 #
-# 03250 is the last used one
+# 03252 is the last used one
 #
 #
 % \section{Parser messages}
 % \section{Parser messages}
 % This section lists all parser messages. The parser takes care of the
 % This section lists all parser messages. The parser takes care of the
@@ -1181,6 +1181,20 @@ parser_n_ignore_lower_visibility=03250_N_Die virtuelle Methode "$1" hat eine nie
 % The virtual method overrides an method that is declared with a higher visibility. This might give
 % The virtual method overrides an method that is declared with a higher visibility. This might give
 % unexpected results. In case the new visibility is private than it might be that a call to inherited in a
 % unexpected results. In case the new visibility is private than it might be that a call to inherited in a
 % new child class will call the higher visible method in a parent class and ignores the private method.
 % new child class will call the higher visible method in a parent class and ignores the private method.
+parser_e_field_not_allowed_here=03251_E_Felder sind nach der Definition einer Methode oder Eigenschaft nicht erlaubt. Beginne vorher eine neue Sichtbarkeitssektion
+% Once a method or property has been defined in a class or object, you cannot define any fields afterwards
+% without starting a new visibility section (such as \var{public}, \var{private}, etc.). The reason is
+% that otherwise the source code can appear ambiguous to the compiler, since it is possible to use modifiers
+% such as \var{default} and \var{register} also as field names.
+parser_e_no_local_para_def=03252_E_Parameter können keine lokalen Typdeklarationen enthalten. Verwende eine getrennte Typdefinition in einem "type"-Block
+% In Pascal, types are not considered to be identical simply because they are semantically equivalent.
+% Two variables or parameters are only considered to be of the same type if they refer to the
+% same type definition.
+% As a result, it is not allowed to define new types inside parameter lists, because then it is impossible to
+% refer to the same type definition in the procedure headers of the interface and implementation of a unit
+% (both procedure headers would define a separate type). Keep in mind that expressions such as
+% ``file of byte'' or ``string[50]'' also define a new type.
+% \end{description}
 #
 #
 # Type Checking
 # Type Checking
 #
 #
@@ -2405,7 +2419,7 @@ unit_u_skipping_reresolving_unit=10059_U_Erneutes Resolving der Unit $1 wird üb
 % When you use the \var{-vu} flag, the compiler warns that it is
 % When you use the \var{-vu} flag, the compiler warns that it is
 % skipping the recalculation of the internal data of the unit
 % skipping the recalculation of the internal data of the unit
 % because there is no data to recalculate.
 % because there is no data to recalculate.
-unit_u_unload_resunit=10060_U_Entlade die Resource Unit $1 (wird nicht benötigt) 
+unit_u_unload_resunit=10060_U_Entlade die Resource-Unit $1 (wird nicht benötigt) 
 % When you use the \var{-vu} flag, the compiler warns that it is unloading the 
 % When you use the \var{-vu} flag, the compiler warns that it is unloading the 
 % resource handling unit, since no resources are used.
 % resource handling unit, since no resources are used.
 % \end{description}
 % \end{description}
@@ -2427,8 +2441,8 @@ option_usage=11000_O_$1 [Optionen] <Eingabedatei> [Optionen]
 % This section lists errors that occur when the compiler is processing the
 % This section lists errors that occur when the compiler is processing the
 % command line or handling the configuration files.
 % command line or handling the configuration files.
 % \begin{description}
 % \begin{description}
-option_only_one_source_support=11001_W_Nur eine Quelldatei unterstützt
-% You can specify only one source file on the command line. The first
+option_only_one_source_support=11001_W_Es wird nur eine Quelldatei unterstützt. Wechsel für das Kompilieren von Quelldatei "$1" zu Quelldatei "$2"
+% You can specify only one source file on the command line. The last
 % one will be compiled, others will be ignored. This may indicate that
 % one will be compiled, others will be ignored. This may indicate that
 % you forgot a \var{'-'} sign.
 % you forgot a \var{'-'} sign.
 option_def_only_for_os2=11002_W_DEF-Datei kann nur für OS/2 erzeugt werden
 option_def_only_for_os2=11002_W_DEF-Datei kann nur für OS/2 erzeugt werden
@@ -2754,6 +2768,7 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
 **2Fa<x>[,y]_Ein Program soll die Units <x> und [y] laden, bevor uses analysiert wird
 **2Fa<x>[,y]_Ein Program soll die Units <x> und [y] laden, bevor uses analysiert wird
 **2Fc<x>_Setze die Eingabe-Codepage zu <x>
 **2Fc<x>_Setze die Eingabe-Codepage zu <x>
 **2FC<x>_Setze den Namen des RC Compiler-Binärprograms auf <x>
 **2FC<x>_Setze den Namen des RC Compiler-Binärprograms auf <x>
+**2Fd_Schalte den internen Verzeichnis-Cache des Compilers aus
 **2FD<x>_Setze das Verzeichnis für die Compiler-Hilfsprogramme
 **2FD<x>_Setze das Verzeichnis für die Compiler-Hilfsprogramme
 **2Fe<x>_Leite die Fehlerausgabe um nach <x>
 **2Fe<x>_Leite die Fehlerausgabe um nach <x>
 **2Ff<x>_Ergänze <x> zum Framework-Pfad (nur Darwin)
 **2Ff<x>_Ergänze <x> zum Framework-Pfad (nur Darwin)
@@ -2774,11 +2789,15 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
 *g2gh_Heaptrace-Unit einbinden
 *g2gh_Heaptrace-Unit einbinden
 *g2gl_Line info Unit einbinden, um mehr backtrace Informationen anzuzeigen
 *g2gl_Line info Unit einbinden, um mehr backtrace Informationen anzuzeigen
 *g2go<x>_Setze Optionen für die Debug Informationen
 *g2go<x>_Setze Optionen für die Debug Informationen
-*g3godwarfsets_Schalte Dwarf Debug Informationen für Mengen (sets) ein (verhindert debugging mit gdb < 6.5)
+*g3godwarfsets_Schalte DWARF Debug Informationen für Mengen (sets) ein (verhindert debugging mit gdb < 6.5)
+*g3gostabsabsincludes_ Absolute/volle Include-Datei-Pfade in Stabs speichern
 *g2gp_Erhalte Gross/Kleinschreibung in Stabs-Symbolnamen
 *g2gp_Erhalte Gross/Kleinschreibung in Stabs-Symbolnamen
+*g2gs_Erzeuge Stabs-Debug-Informationen
 *g2gt_Lösche lokale Variablen (um eine Verwendung ohne Initialisierung zu finden)
 *g2gt_Lösche lokale Variablen (um eine Verwendung ohne Initialisierung zu finden)
-*g2gv_Erzeuge ein mit valgrind verfolgbares (traceable) Programm
-*g2gw_Erzeuge dwarf Informationen
+*g2gv_Erzeuge ein mit Valgrind verfolgbares (traceable) Programm
+*g2gw_Erzeuge DWARFv2-Debug-Informationen (wie -gw2)
+*g2gw2_Erzeuge DWARFv2-Debug-Informationen
+*g2gw3_Erzeuge DWARFv3-Debug-Informationen
 **1i_Zeige alle Information über den Compiler
 **1i_Zeige alle Information über den Compiler
 **2iD_Zeige Compilerdatum
 **2iD_Zeige Compilerdatum
 **2iV_Zeige Compilerversion
 **2iV_Zeige Compilerversion
@@ -2935,7 +2954,7 @@ P*2WX_Ermögliche den executable stack (Linux)
 **2Xm_Erzeuge die "link map"
 **2Xm_Erzeuge die "link map"
 **2XM<x>_Setze den Namen der 'main' program Routine   (default ist 'main')
 **2XM<x>_Setze den Namen der 'main' program Routine   (default ist 'main')
 **2XP<x>_Stelle den Namen der Compiler-Hilfsprogrammen den Prefix <x> voran
 **2XP<x>_Stelle den Namen der Compiler-Hilfsprogrammen den Prefix <x> voran
-**2Xr<x>_Setze den Bibliotheks-Suchpfad zu <x>       (benötigt für cross compile)
+**2Xr<x>_Setze den rlink-Pfad des Linker zu <x> (benötigt für cross compile, siehe ld-Manual für mehr Informationen) (BeOS, Linux)
 **2XR<x>_Stelle allen Linker-Suchpfaden den Namen <x> voran (BeOS, Darwin, FreeBSD, Linux, Mac OS, Solaris)
 **2XR<x>_Stelle allen Linker-Suchpfaden den Namen <x> voran (BeOS, Darwin, FreeBSD, Linux, Mac OS, Solaris)
 **2Xs_Entferne alle Symbole aus der ausführbaren Datei
 **2Xs_Entferne alle Symbole aus der ausführbaren Datei
 **2XS_Versuche Units statisch zu linken (default)    (definiert FPC_LINK_STATIC)
 **2XS_Versuche Units statisch zu linken (default)    (definiert FPC_LINK_STATIC)

+ 11 - 12
compiler/ncal.pas

@@ -740,7 +740,7 @@ implementation
                      { release temp after next use }
                      { release temp after next use }
                      addstatement(statements,ctempdeletenode.create_normal_temp(temp));
                      addstatement(statements,ctempdeletenode.create_normal_temp(temp));
                      addstatement(statements,ctemprefnode.create(temp));
                      addstatement(statements,ctemprefnode.create(temp));
-                     typecheckpass(block);
+                     typecheckpass(tnode(block));
                      left:=block;
                      left:=block;
                    end;
                    end;
 
 
@@ -752,8 +752,7 @@ implementation
                     not(is_open_string(parasym.vardef)) and
                     not(is_open_string(parasym.vardef)) and
                     not(equal_defs(left.resultdef,parasym.vardef)) then
                     not(equal_defs(left.resultdef,parasym.vardef)) then
                    begin
                    begin
-                     current_filepos:=left.fileinfo;
-                     CGMessage(type_e_strict_var_string_violation);
+                     CGMessagePos(left.fileinfo,type_e_strict_var_string_violation);
                    end;
                    end;
 
 
                  { Handle formal parameters separate }
                  { Handle formal parameters separate }
@@ -2880,13 +2879,13 @@ implementation
          { (simplify depends on typecheck info)        }
          { (simplify depends on typecheck info)        }
          if assigned(callinitblock) then
          if assigned(callinitblock) then
            begin
            begin
-             typecheckpass(callinitblock);
-             dosimplify(callinitblock);
+             typecheckpass(tnode(callinitblock));
+             dosimplify(tnode(callinitblock));
            end;
            end;
          if assigned(callcleanupblock) then
          if assigned(callcleanupblock) then
            begin
            begin
-             typecheckpass(callcleanupblock);
-             dosimplify(callcleanupblock);
+             typecheckpass(tnode(callcleanupblock));
+             dosimplify(tnode(callcleanupblock));
            end;
            end;
 
 
          { Continue with checking a normal call or generate the inlined code }
          { Continue with checking a normal call or generate the inlined code }
@@ -2923,7 +2922,7 @@ implementation
            check_stack_parameters;
            check_stack_parameters;
 
 
          if assigned(callinitblock) then
          if assigned(callinitblock) then
-           firstpass(callinitblock);
+           firstpass(tnode(callinitblock));
 
 
          { function result node (tempref or simple load) }
          { function result node (tempref or simple load) }
          if assigned(funcretnode) then
          if assigned(funcretnode) then
@@ -2942,7 +2941,7 @@ implementation
            firstpass(methodpointer);
            firstpass(methodpointer);
 
 
          if assigned(callcleanupblock) then
          if assigned(callcleanupblock) then
-           firstpass(callcleanupblock);
+           firstpass(tnode(callcleanupblock));
 
 
          if not (block_type in [bt_const,bt_type,bt_const_type,bt_var_type]) then
          if not (block_type in [bt_const,bt_type,bt_const_type,bt_var_type]) then
            include(current_procinfo.flags,pi_do_call);
            include(current_procinfo.flags,pi_do_call);
@@ -3396,9 +3395,9 @@ implementation
         { consider it must not be inlined if called
         { consider it must not be inlined if called
           again inside the args or itself }
           again inside the args or itself }
         exclude(procdefinition.procoptions,po_inline);
         exclude(procdefinition.procoptions,po_inline);
-        typecheckpass(inlineblock);
-        dosimplify(inlineblock);
-        firstpass(inlineblock);
+        typecheckpass(tnode(inlineblock));
+        dosimplify(tnode(inlineblock));
+        firstpass(tnode(inlineblock));
         include(procdefinition.procoptions,po_inline);
         include(procdefinition.procoptions,po_inline);
         result:=inlineblock;
         result:=inlineblock;
 
 

+ 2 - 2
compiler/ncgcal.pas

@@ -935,7 +935,7 @@ implementation
            internalerror(200305264);
            internalerror(200305264);
 
 
          if assigned(callinitblock) then
          if assigned(callinitblock) then
-           secondpass(callinitblock);
+           secondpass(tnode(callinitblock));
 
 
          regs_to_save_int:=paramanager.get_volatile_registers_int(procdefinition.proccalloption);
          regs_to_save_int:=paramanager.get_volatile_registers_int(procdefinition.proccalloption);
          regs_to_save_fpu:=paramanager.get_volatile_registers_fpu(procdefinition.proccalloption);
          regs_to_save_fpu:=paramanager.get_volatile_registers_fpu(procdefinition.proccalloption);
@@ -1203,7 +1203,7 @@ implementation
 
 
          { convert persistent temps for parameters and function result to normal temps }
          { convert persistent temps for parameters and function result to normal temps }
          if assigned(callcleanupblock) then
          if assigned(callcleanupblock) then
-           secondpass(callcleanupblock);
+           secondpass(tnode(callcleanupblock));
 
 
          { release temps and finalize unused return values, must be
          { release temps and finalize unused return values, must be
            after the callcleanupblock because that converts temps
            after the callcleanupblock because that converts temps

+ 0 - 16
compiler/ncgcon.pas

@@ -432,18 +432,11 @@ implementation
           location_reset(location,LOC_CONSTANT,int_cgsize(resultdef.size));
           location_reset(location,LOC_CONSTANT,int_cgsize(resultdef.size));
           if (source_info.endian=target_info.endian) then
           if (source_info.endian=target_info.endian) then
             begin
             begin
-{$if defined(FPC_NEW_BIGENDIAN_SETS) or defined(FPC_LITTLE_ENDIAN)}
               { not plongint, because that will "sign extend" the set on 64 bit platforms }
               { not plongint, because that will "sign extend" the set on 64 bit platforms }
               { if changed to "paword", please also modify "32-resultdef.size*8" and      }
               { if changed to "paword", please also modify "32-resultdef.size*8" and      }
               { cross-endian code below                                                   }
               { cross-endian code below                                                   }
               { Extra aint type cast to avoid range errors                                }
               { Extra aint type cast to avoid range errors                                }
               location.value:=aint(pCardinal(value_set)^)
               location.value:=aint(pCardinal(value_set)^)
-{$else}
-              location.value:=reverse_byte(Psetbytes(value_set)^[0]);
-              location.value:=location.value or (reverse_byte(Psetbytes(value_set)^[1]) shl 8);
-              location.value:=location.value or (reverse_byte(Psetbytes(value_set)^[2]) shl 16);
-              location.value:=location.value or (reverse_byte(Psetbytes(value_set)^[3]) shl 24);
-{$endif}
             end
             end
           else
           else
             begin
             begin
@@ -490,11 +483,7 @@ implementation
                                begin
                                begin
                                  if (source_info.endian=target_info.endian) then
                                  if (source_info.endian=target_info.endian) then
                                    begin
                                    begin
-{$if defined(FPC_NEW_BIGENDIAN_SETS) or defined(FPC_LITTLE_ENDIAN)}
                                      if tai_const(hp1).value<>Psetbytes(value_set)^[i ] then
                                      if tai_const(hp1).value<>Psetbytes(value_set)^[i ] then
-{$else}
-                                     if tai_const(hp1).value<>reverse_byte(Psetbytes(value_set)^[i xor 3]) then
-{$endif}
                                        break
                                        break
                                    end
                                    end
                                  else if tai_const(hp1).value<>reverse_byte(Psetbytes(value_set)^[i]) then
                                  else if tai_const(hp1).value<>reverse_byte(Psetbytes(value_set)^[i]) then
@@ -537,13 +526,8 @@ implementation
                    new_section(current_asmdata.asmlists[al_typedconsts],sec_rodata_norel,lastlabel.name,const_align(8));
                    new_section(current_asmdata.asmlists[al_typedconsts],sec_rodata_norel,lastlabel.name,const_align(8));
                    current_asmdata.asmlists[al_typedconsts].concat(Tai_label.Create(lastlabel));
                    current_asmdata.asmlists[al_typedconsts].concat(Tai_label.Create(lastlabel));
                    if (source_info.endian=target_info.endian) then
                    if (source_info.endian=target_info.endian) then
-{$if defined(FPC_NEW_BIGENDIAN_SETS) or defined(FPC_LITTLE_ENDIAN)}
                      for i:=0 to 31 do
                      for i:=0 to 31 do
                        current_asmdata.asmlists[al_typedconsts].concat(Tai_const.Create_8bit(Psetbytes(value_set)^[i]))
                        current_asmdata.asmlists[al_typedconsts].concat(Tai_const.Create_8bit(Psetbytes(value_set)^[i]))
-{$else}
-                     for i:=0 to 31 do
-                       current_asmdata.asmlists[al_typedconsts].concat(Tai_const.Create_8bit(reverse_byte(Psetbytes(value_set)^[i xor 3])))
-{$endif}
                    else
                    else
                      for i:=0 to 31 do
                      for i:=0 to 31 do
                        current_asmdata.asmlists[al_typedconsts].concat(Tai_const.Create_8bit(reverse_byte(Psetbytes(value_set)^[i])));
                        current_asmdata.asmlists[al_typedconsts].concat(Tai_const.Create_8bit(reverse_byte(Psetbytes(value_set)^[i])));

+ 0 - 2
compiler/ncginl.pas

@@ -135,7 +135,6 @@ implementation
               second_get_caller_frame;
               second_get_caller_frame;
             in_get_caller_addr:
             in_get_caller_addr:
               second_get_caller_addr;
               second_get_caller_addr;
-{$ifdef SUPPORT_UNALIGNED}
             in_unaligned_x:
             in_unaligned_x:
               begin
               begin
                 secondpass(tcallparanode(left).left);
                 secondpass(tcallparanode(left).left);
@@ -143,7 +142,6 @@ implementation
                 if location.loc in [LOC_CREFERENCE,LOC_REFERENCE] then
                 if location.loc in [LOC_CREFERENCE,LOC_REFERENCE] then
                   location.reference.alignment:=1;
                   location.reference.alignment:=1;
               end;
               end;
-{$endif SUPPORT_UNALIGNED}
 {$ifdef SUPPORT_MMX}
 {$ifdef SUPPORT_MMX}
             in_mmx_pcmpeqb..in_mmx_pcmpgtw:
             in_mmx_pcmpeqb..in_mmx_pcmpgtw:
               begin
               begin

+ 8 - 3
compiler/ncgutil.pas

@@ -1029,7 +1029,7 @@ implementation
                        tlocalvarsym(p).getsize)
                        tlocalvarsym(p).getsize)
                    else
                    else
                      { may be an open string, even if is_open_string() returns }
                      { may be an open string, even if is_open_string() returns }
-                     { false for some helpers in the system unit               }
+                     { false (for some helpers in the system unit)             }
                      { an open string has at least size 2                      }
                      { an open string has at least size 2                      }
                      trash_reference(list,tabstractnormalvarsym(p).initialloc.reference,
                      trash_reference(list,tabstractnormalvarsym(p).initialloc.reference,
                        2);
                        2);
@@ -1235,7 +1235,12 @@ implementation
                         { needs separate implementation to trash open arrays }
                         { needs separate implementation to trash open arrays }
                         { since their size is only known at run time         }
                         { since their size is only known at run time         }
                         not is_special_array(tparavarsym(p).vardef) then
                         not is_special_array(tparavarsym(p).vardef) then
-                       trash_reference(list,href,tparavarsym(p).vardef.size);
+                        { may be an open string, even if is_open_string() returns }
+                        { false (for some helpers in the system unit)             }
+                       if not is_shortstring(tparavarsym(p).vardef) then
+                         trash_reference(list,href,tparavarsym(p).vardef.size)
+                       else
+                         trash_reference(list,href,2);
                      if needs_inittable then
                      if needs_inittable then
                        cg.g_initialize(list,tparavarsym(p).vardef,href);
                        cg.g_initialize(list,tparavarsym(p).vardef,href);
                    end;
                    end;
@@ -1253,7 +1258,7 @@ implementation
                      reference_reset_base(href,tmpreg,0,
                      reference_reset_base(href,tmpreg,0,
                        used_align(tparavarsym(p).vardef.alignment,current_settings.alignment.localalignmin,current_settings.alignment.localalignmax));
                        used_align(tparavarsym(p).vardef.alignment,current_settings.alignment.localalignmin,current_settings.alignment.localalignmax));
                      { may be an open string, even if is_open_string() returns }
                      { may be an open string, even if is_open_string() returns }
-                     { false for some helpers in the system unit               }
+                     { false (for some helpers in the system unit)             }
                      if not is_shortstring(tparavarsym(p).vardef) then
                      if not is_shortstring(tparavarsym(p).vardef) then
                        trash_reference(list,href,tparavarsym(p).vardef.size)
                        trash_reference(list,href,tparavarsym(p).vardef.size)
                      else
                      else

+ 9 - 0
compiler/ncnv.pas

@@ -249,6 +249,7 @@ implementation
         else
         else
          begin
          begin
            p:=ctypeconvnode.create(p,def);
            p:=ctypeconvnode.create(p,def);
+           p.fileinfo:=ttypeconvnode(p).left.fileinfo;
            typecheckpass(p);
            typecheckpass(p);
          end;
          end;
       end;
       end;
@@ -270,6 +271,7 @@ implementation
         else
         else
          begin
          begin
            p:=ctypeconvnode.create_internal(p,def);
            p:=ctypeconvnode.create_internal(p,def);
+           p.fileinfo:=ttypeconvnode(p).left.fileinfo;
            typecheckpass(p);
            typecheckpass(p);
          end;
          end;
       end;
       end;
@@ -363,6 +365,7 @@ implementation
         l : Longint;
         l : Longint;
         lr,hr : TConstExprInt;
         lr,hr : TConstExprInt;
         hp : tarrayconstructornode;
         hp : tarrayconstructornode;
+        oldfilepos: tfileposinfo;
       begin
       begin
         if p.nodetype<>arrayconstructorn then
         if p.nodetype<>arrayconstructorn then
           internalerror(200205105);
           internalerror(200205105);
@@ -407,6 +410,7 @@ implementation
                 end;
                 end;
               if codegenerror then
               if codegenerror then
                break;
                break;
+              oldfilepos:=current_filepos;
               current_filepos:=p2.fileinfo;
               current_filepos:=p2.fileinfo;
               case p2.resultdef.typ of
               case p2.resultdef.typ of
                  enumdef,
                  enumdef,
@@ -535,6 +539,7 @@ implementation
               hp:=tarrayconstructornode(tarrayconstructornode(p2).right);
               hp:=tarrayconstructornode(tarrayconstructornode(p2).right);
               tarrayconstructornode(p2).right:=nil;
               tarrayconstructornode(p2).right:=nil;
               p2.free;
               p2.free;
+              current_filepos:=oldfilepos;
             end;
             end;
            if (hdef=nil) then
            if (hdef=nil) then
             hdef:=u8inttype;
             hdef:=u8inttype;
@@ -607,6 +612,10 @@ implementation
             variantdef:
             variantdef:
               if iscvarargs then
               if iscvarargs then
                 CGMessagePos1(p.fileinfo,type_e_wrong_type_in_array_constructor,p.resultdef.typename);
                 CGMessagePos1(p.fileinfo,type_e_wrong_type_in_array_constructor,p.resultdef.typename);
+            { maybe warn in case it's not using "packrecords c"? }
+            recorddef:
+              if not iscvarargs then
+                CGMessagePos1(p.fileinfo,type_e_wrong_type_in_array_constructor,p.resultdef.typename);
             pointerdef:
             pointerdef:
               ;
               ;
             classrefdef:
             classrefdef:

+ 3 - 7
compiler/ninl.pas

@@ -1063,9 +1063,9 @@ implementation
         left := nil;
         left := nil;
 
 
         if is_typed then
         if is_typed then
-          found_error:=handle_typed_read_write(filepara,Ttertiarynode(params),newstatement)
+          found_error:=handle_typed_read_write(filepara,Ttertiarynode(params),tnode(newstatement))
         else
         else
-          found_error:=handle_text_read_write(filepara,Ttertiarynode(params),newstatement);
+          found_error:=handle_text_read_write(filepara,Ttertiarynode(params),tnode(newstatement));
 
 
         { if we found an error, simply delete the generated blocknode }
         { if we found an error, simply delete the generated blocknode }
         if found_error then
         if found_error then
@@ -2413,12 +2413,10 @@ implementation
                 begin
                 begin
                 end;
                 end;
 {$endif SUPPORT_MMX}
 {$endif SUPPORT_MMX}
-{$ifdef SUPPORT_UNALIGNED}
               in_unaligned_x:
               in_unaligned_x:
                 begin
                 begin
                   resultdef:=left.resultdef;
                   resultdef:=left.resultdef;
                 end;
                 end;
-{$endif SUPPORT_UNALIGNED}
               in_assert_x_y :
               in_assert_x_y :
                 begin
                 begin
                   resultdef:=voidtype;
                   resultdef:=voidtype;
@@ -2669,7 +2667,7 @@ implementation
                    if assigned(tempnode) then
                    if assigned(tempnode) then
                      addstatement(newstatement,ctempdeletenode.create(tempnode));
                      addstatement(newstatement,ctempdeletenode.create(tempnode));
                    { firstpass it }
                    { firstpass it }
-                   firstpass(newblock);
+                   firstpass(tnode(newblock));
                    { return new node }
                    { return new node }
                    result := newblock;
                    result := newblock;
                  end;
                  end;
@@ -2819,12 +2817,10 @@ implementation
            begin
            begin
              expectloc:=LOC_VOID;
              expectloc:=LOC_VOID;
            end;
            end;
-{$ifdef SUPPORT_UNALIGNED}
          in_unaligned_x:
          in_unaligned_x:
            begin
            begin
              expectloc:=tcallparanode(left).left.expectloc;
              expectloc:=tcallparanode(left).left.expectloc;
            end;
            end;
-{$endif SUPPORT_UNALIGNED}
          in_rol_x,
          in_rol_x,
          in_rol_x_x,
          in_rol_x_x,
          in_ror_x,
          in_ror_x,

+ 1 - 1
compiler/nld.pas

@@ -175,7 +175,7 @@ implementation
       begin
       begin
          inherited create(loadn,nil);
          inherited create(loadn,nil);
          if not assigned(v) then
          if not assigned(v) then
-          internalerror(200108121);
+          internalerror(200108122);
          symtableentry:=v;
          symtableentry:=v;
          symtable:=st;
          symtable:=st;
          procdef:=d;
          procdef:=d;

+ 2 - 2
compiler/nmem.pas

@@ -388,8 +388,7 @@ implementation
                (left.nodetype in [stringconstn])
                (left.nodetype in [stringconstn])
               ) then
               ) then
          begin
          begin
-           current_filepos:=left.fileinfo;
-           CGMessage(type_e_no_addr_of_constant);
+           CGMessagePos(left.fileinfo,type_e_no_addr_of_constant);
            exit;
            exit;
          end;
          end;
 
 
@@ -407,6 +406,7 @@ implementation
             if not isprocvar then
             if not isprocvar then
               begin
               begin
                 left:=ctypeconvnode.create_proc_to_procvar(left);
                 left:=ctypeconvnode.create_proc_to_procvar(left);
+                left.fileinfo:=fileinfo;
                 typecheckpass(left);
                 typecheckpass(left);
               end;
               end;
 
 

+ 1 - 3
compiler/nobj.pas

@@ -730,7 +730,6 @@ implementation
 
 
 
 
     procedure TVMTWriter.insertint(p : pprocdeftree;var at : pprocdeftree;var count:longint);
     procedure TVMTWriter.insertint(p : pprocdeftree;var at : pprocdeftree;var count:longint);
-
       begin
       begin
          if at=nil then
          if at=nil then
            begin
            begin
@@ -748,11 +747,10 @@ implementation
            end;
            end;
       end;
       end;
 
 
-    procedure TVMTWriter.insertstr(p : pprocdeftree;var at : pprocdeftree;var count:longint);
 
 
+    procedure TVMTWriter.insertstr(p : pprocdeftree;var at : pprocdeftree;var count:longint);
       var
       var
          i : integer;
          i : integer;
-
       begin
       begin
          if at=nil then
          if at=nil then
            begin
            begin

+ 4 - 6
compiler/nutils.pas

@@ -115,10 +115,10 @@ implementation
             end;
             end;
           calln:
           calln:
             begin
             begin
-              result := foreachnode(procmethod,tcallnode(n).callinitblock,f,arg) or result;
+              result := foreachnode(procmethod,tnode(tcallnode(n).callinitblock),f,arg) or result;
               result := foreachnode(procmethod,tcallnode(n).methodpointer,f,arg) or result;
               result := foreachnode(procmethod,tcallnode(n).methodpointer,f,arg) or result;
               result := foreachnode(procmethod,tcallnode(n).funcretnode,f,arg) or result;
               result := foreachnode(procmethod,tcallnode(n).funcretnode,f,arg) or result;
-              result := foreachnode(procmethod,tcallnode(n).callcleanupblock,f,arg) or result;
+              result := foreachnode(procmethod,tnode(tcallnode(n).callcleanupblock),f,arg) or result;
             end;
             end;
           ifn, whilerepeatn, forn, tryexceptn, tryfinallyn:
           ifn, whilerepeatn, forn, tryexceptn, tryfinallyn:
             begin
             begin
@@ -194,10 +194,10 @@ implementation
             end;
             end;
           calln:
           calln:
             begin
             begin
-              result := foreachnodestatic(procmethod,tcallnode(n).callinitblock,f,arg) or result;
+              result := foreachnodestatic(procmethod,tnode(tcallnode(n).callinitblock),f,arg) or result;
               result := foreachnodestatic(procmethod,tcallnode(n).methodpointer,f,arg) or result;
               result := foreachnodestatic(procmethod,tcallnode(n).methodpointer,f,arg) or result;
               result := foreachnodestatic(procmethod,tcallnode(n).funcretnode,f,arg) or result;
               result := foreachnodestatic(procmethod,tcallnode(n).funcretnode,f,arg) or result;
-              result := foreachnodestatic(procmethod,tcallnode(n).callcleanupblock,f,arg) or result;
+              result := foreachnodestatic(procmethod,tnode(tcallnode(n).callcleanupblock),f,arg) or result;
             end;
             end;
           ifn, whilerepeatn, forn, tryexceptn, tryfinallyn:
           ifn, whilerepeatn, forn, tryexceptn, tryfinallyn:
             begin
             begin
@@ -747,9 +747,7 @@ implementation
                     in_sqr_real,
                     in_sqr_real,
                     in_sqrt_real,
                     in_sqrt_real,
                     in_ln_real,
                     in_ln_real,
-          {$ifdef SUPPORT_UNALIGNED}
                     in_unaligned_x,
                     in_unaligned_x,
-          {$endif SUPPORT_UNALIGNED}
                     in_prefetch_var:
                     in_prefetch_var:
                       begin
                       begin
                         inc(result);
                         inc(result);

+ 3 - 22
compiler/options.pas

@@ -93,7 +93,6 @@ var
   disable_configfile : boolean;
   disable_configfile : boolean;
   fpcdir,
   fpcdir,
   ppccfg,
   ppccfg,
-  ppcaltcfg,
   param_file    : string;   { file to compile specified on the commandline }
   param_file    : string;   { file to compile specified on the commandline }
 
 
 
 
@@ -2328,10 +2327,7 @@ begin
       Delete(cmd,1,pos(']',cmd));
       Delete(cmd,1,pos(']',cmd));
     end
     end
   else
   else
-    begin
-      ppccfg:='fpc.cfg';
-      ppcaltcfg:='ppc386.cfg';
-    end;
+    ppccfg:='fpc.cfg';
 
 
 { first pass reading of parameters, only -i -v -T etc.}
 { first pass reading of parameters, only -i -v -T etc.}
   option.firstpass:=true;
   option.firstpass:=true;
@@ -2366,7 +2362,6 @@ begin
   def_system_macro('FPC_HAS_STR_CURRENCY');
   def_system_macro('FPC_HAS_STR_CURRENCY');
   def_system_macro('FPC_REAL2REAL_FIXED');
   def_system_macro('FPC_REAL2REAL_FIXED');
   def_system_macro('FPC_STRTOCHARARRAYPROC');
   def_system_macro('FPC_STRTOCHARARRAYPROC');
-  def_system_macro('FPC_NEW_BIGENDIAN_SETS');
   def_system_macro('FPC_STRTOSHORTSTRINGPROC');
   def_system_macro('FPC_STRTOSHORTSTRINGPROC');
   def_system_macro('FPC_OBJFPC_EXTENDED_IF');
   def_system_macro('FPC_OBJFPC_EXTENDED_IF');
 {$if defined(x86) or defined(powerpc) or defined(powerpc64)}
 {$if defined(x86) or defined(powerpc) or defined(powerpc64)}
@@ -2383,10 +2378,6 @@ begin
   def_system_macro('FPC_HAS_INTERNAL_ROX');
   def_system_macro('FPC_HAS_INTERNAL_ROX');
 {$endif}
 {$endif}
 
 
-{$ifdef SUPPORT_UNALIGNED}
-  def_system_macro('FPC_SUPPORTS_UNALIGNED');
-  def_system_macro('FPC_UNALIGNED_FIXED');
-{$endif SUPPORT_UNALIGNED}
 {$ifdef powerpc64}
 {$ifdef powerpc64}
   def_system_macro('FPC_HAS_LWSYNC');
   def_system_macro('FPC_HAS_LWSYNC');
 {$endif}
 {$endif}
@@ -2489,17 +2480,7 @@ begin
   { read configuration file }
   { read configuration file }
   if (not disable_configfile) and
   if (not disable_configfile) and
      (ppccfg<>'') then
      (ppccfg<>'') then
-    begin
-      read_configfile:=check_configfile(ppccfg,ppccfg);
-      { Maybe alternative configfile ? }
-      if (not read_configfile) and
-         (ppcaltcfg<>'') then
-        begin
-          read_configfile:=check_configfile(ppcaltcfg,ppccfg);
-          if read_configfile then
-            message(option_ppc386_deprecated);
-        end;
-    end
+    read_configfile:=check_configfile(ppccfg,ppccfg)
   else
   else
     read_configfile := false;
     read_configfile := false;
 
 
@@ -2767,7 +2748,7 @@ begin
   set_system_macro('FPC_PATCH',patch_nr);
   set_system_macro('FPC_PATCH',patch_nr);
   set_system_macro('FPC_FULLVERSION',Format('%d%.02d%.02d',[StrToInt(version_nr),StrToInt(release_nr),StrToInt(patch_nr)]));
   set_system_macro('FPC_FULLVERSION',Format('%d%.02d%.02d',[StrToInt(version_nr),StrToInt(release_nr),StrToInt(patch_nr)]));
 
 
-  if not(target_info.system in system_all_windows) then
+  if not(target_info.system in system_windows) then
     def_system_macro('FPC_WIDESTRING_EQUAL_UNICODESTRING');
     def_system_macro('FPC_WIDESTRING_EQUAL_UNICODESTRING');
 
 
   for i:=low(tfeature) to high(tfeature) do
   for i:=low(tfeature) to high(tfeature) do

+ 3 - 3
compiler/optloop.pas

@@ -416,9 +416,9 @@ unit optloop;
         { clue everything together }
         { clue everything together }
         if assigned(initcode) then
         if assigned(initcode) then
           begin
           begin
-            do_firstpass(initcode);
-            do_firstpass(calccode);
-            do_firstpass(deletecode);
+            do_firstpass(tnode(initcode));
+            do_firstpass(tnode(calccode));
+            do_firstpass(tnode(deletecode));
             { create a new for node, the old one will be released by the compiler }
             { create a new for node, the old one will be released by the compiler }
             with tfornode(node) do
             with tfornode(node) do
               begin
               begin

+ 3 - 1
compiler/optvirt.pas

@@ -1012,8 +1012,10 @@ unit optvirt;
             { cut off the trailing & }
             { cut off the trailing & }
             setlength(classid,length(classid)-1);
             setlength(classid,length(classid)-1);
             classdevirtinfo:=unitdevirtinfo.addclass(classid,instantiated);
             classdevirtinfo:=unitdevirtinfo.addclass(classid,instantiated);
+            { last class could be an instantiated class without any
+               optimisable methods. }
             if not reader.sectiongetnextline(vmttype) then
             if not reader.sectiongetnextline(vmttype) then
-              internalerror(2008100506);
+              exit;
             { any optimisable virtual methods? }
             { any optimisable virtual methods? }
             if (vmttype<>'') then
             if (vmttype<>'') then
               begin
               begin

+ 23 - 4
compiler/pass_1.pas

@@ -30,6 +30,7 @@ interface
 
 
     procedure typecheckpass(var p : tnode);
     procedure typecheckpass(var p : tnode);
     function  do_typecheckpass(var p : tnode) : boolean;
     function  do_typecheckpass(var p : tnode) : boolean;
+    function  do_typecheckpass_changed(var p : tnode; out nodechanged: boolean) : boolean;
 
 
     procedure firstpass(var p : tnode);
     procedure firstpass(var p : tnode);
     function  do_firstpass(var p : tnode) : boolean;
     function  do_firstpass(var p : tnode) : boolean;
@@ -57,7 +58,7 @@ implementation
                             Global procedures
                             Global procedures
 *****************************************************************************}
 *****************************************************************************}
 
 
-    procedure typecheckpass(var p : tnode);
+    procedure typecheckpass_internal(var p : tnode; out node_changed: boolean);
       var
       var
          oldcodegenerror  : boolean;
          oldcodegenerror  : boolean;
          oldlocalswitches : tlocalswitches;
          oldlocalswitches : tlocalswitches;
@@ -65,6 +66,7 @@ implementation
          oldpos    : tfileposinfo;
          oldpos    : tfileposinfo;
          hp        : tnode;
          hp        : tnode;
       begin
       begin
+        node_changed:=false;
         if (p.resultdef=nil) then
         if (p.resultdef=nil) then
          begin
          begin
            oldcodegenerror:=codegenerror;
            oldcodegenerror:=codegenerror;
@@ -79,6 +81,7 @@ implementation
            { should the node be replaced? }
            { should the node be replaced? }
            if assigned(hp) then
            if assigned(hp) then
             begin
             begin
+               node_changed:=true;
                p.free;
                p.free;
                { run typecheckpass }
                { run typecheckpass }
                typecheckpass(hp);
                typecheckpass(hp);
@@ -106,11 +109,27 @@ implementation
       end;
       end;
 
 
 
 
-    function do_typecheckpass(var p : tnode) : boolean;
+    procedure typecheckpass(var p : tnode);
+      var
+        node_changed: boolean;
+      begin
+        typecheckpass_internal(p,node_changed);
+      end;
+
+
+    function do_typecheckpass_changed(var p : tnode; out nodechanged: boolean) : boolean;
       begin
       begin
          codegenerror:=false;
          codegenerror:=false;
-         typecheckpass(p);
-         do_typecheckpass:=codegenerror;
+         typecheckpass_internal(p,nodechanged);
+         do_typecheckpass_changed:=codegenerror;
+      end;
+
+
+    function do_typecheckpass(var p : tnode) : boolean;
+      var
+        nodechanged: boolean;
+      begin
+         result:=do_typecheckpass_changed(p,nodechanged);
       end;
       end;
 
 
 
 

+ 5 - 5
compiler/pdecsub.pas

@@ -308,9 +308,9 @@ implementation
                  paramanager.push_high_param(varspez,vardef,pocall_default) then
                  paramanager.push_high_param(varspez,vardef,pocall_default) then
                begin
                begin
                  if is_open_string(vardef) then
                  if is_open_string(vardef) then
-                    Message(parser_w_cdecl_no_openstring);
+                    MessagePos(fileinfo,parser_w_cdecl_no_openstring);
                  if not (po_external in pd.procoptions) then
                  if not (po_external in pd.procoptions) then
-                   Message(parser_w_cdecl_has_no_high);
+                   MessagePos(fileinfo,parser_w_cdecl_has_no_high);
                end;
                end;
               if (vardef.typ=formaldef) and (Tformaldef(vardef).typed) then
               if (vardef.typ=formaldef) and (Tformaldef(vardef).typed) then
                 begin
                 begin
@@ -339,12 +339,12 @@ implementation
                 if not is_variant_array(tparavarsym(sym).vardef) and
                 if not is_variant_array(tparavarsym(sym).vardef) and
                    not is_array_of_const(tparavarsym(sym).vardef) and
                    not is_array_of_const(tparavarsym(sym).vardef) and
                    (tparavarsym(sym).varspez<>vs_var) then
                    (tparavarsym(sym).varspez<>vs_var) then
-                  Message(parser_h_c_arrays_are_references);
+                  MessagePos(tparavarsym(sym).fileinfo,parser_h_c_arrays_are_references);
                 if is_array_of_const(tparavarsym(sym).vardef) and
                 if is_array_of_const(tparavarsym(sym).vardef) and
                    (i<lastparaidx) and
                    (i<lastparaidx) and
                    (tsym(pd.parast.SymList[i+1]).typ=paravarsym) and
                    (tsym(pd.parast.SymList[i+1]).typ=paravarsym) and
                    not(vo_is_high_para in tparavarsym(pd.parast.SymList[i+1]).varoptions) then
                    not(vo_is_high_para in tparavarsym(pd.parast.SymList[i+1]).varoptions) then
-                  Message(parser_e_C_array_of_const_must_be_last);
+                  MessagePos(tparavarsym(sym).fileinfo,parser_e_C_array_of_const_must_be_last);
               end;
               end;
           end;
           end;
       end;
       end;
@@ -362,7 +362,7 @@ implementation
             { First parameter must be var }
             { First parameter must be var }
             if (paranr=10) and
             if (paranr=10) and
                (varspez<>vs_var) then
                (varspez<>vs_var) then
-              Message(parser_e_ill_msg_param);
+              MessagePos(fileinfo,parser_e_ill_msg_param);
           end;
           end;
       end;
       end;
 
 

+ 7 - 1
compiler/pdecvar.pas

@@ -1316,6 +1316,7 @@ implementation
          tempdef: tdef;
          tempdef: tdef;
          is_first_type: boolean;
          is_first_type: boolean;
 {$endif powerpc or powerpc64}
 {$endif powerpc or powerpc64}
+         sl       : tpropaccesslist;
       begin
       begin
          recst:=tabstractrecordsymtable(symtablestack.top);
          recst:=tabstractrecordsymtable(symtablestack.top);
          is_first_field:=true;
          is_first_field:=true;
@@ -1438,9 +1439,14 @@ implementation
                    begin
                    begin
                      fieldvs:=tfieldvarsym(sc[i]);
                      fieldvs:=tfieldvarsym(sc[i]);
                      include(fieldvs.symoptions,sp_static);
                      include(fieldvs.symoptions,sp_static);
-                     hstaticvs:=tstaticvarsym.create('$'+lower(symtablestack.top.name^)+'_'+fieldvs.name,vs_value,hdef,[]);
+                     { generate the symbol which reserves the space }
+                     hstaticvs:=tstaticvarsym.create('$_static_'+lower(symtablestack.top.name^)+'_'+fieldvs.name,vs_value,hdef,[]);
                      recst.defowner.owner.insert(hstaticvs);
                      recst.defowner.owner.insert(hstaticvs);
                      insertbssdata(hstaticvs);
                      insertbssdata(hstaticvs);
+                     { generate the symbol for the access }
+                     sl:=tpropaccesslist.create;
+                     sl.addsym(sl_load,hstaticvs);
+                     recst.insert(tabsolutevarsym.create_ref('$'+lower(symtablestack.top.name^)+'_'+fieldvs.name,hdef,sl));
                    end;
                    end;
                  consume(_SEMICOLON);
                  consume(_SEMICOLON);
                end;
                end;

+ 403 - 380
compiler/pexpr.pas

@@ -465,7 +465,6 @@ implementation
                 end;
                 end;
             end;
             end;
 
 
-{$ifdef SUPPORT_UNALIGNED}
           in_unaligned_x :
           in_unaligned_x :
             begin
             begin
               err:=false;
               err:=false;
@@ -477,7 +476,6 @@ implementation
               consume(_RKLAMMER);
               consume(_RKLAMMER);
               statement_syssym:=p2;
               statement_syssym:=p2;
             end;
             end;
-{$endif SUPPORT_UNALIGNED}
 
 
           in_assigned_x :
           in_assigned_x :
             begin
             begin
@@ -1211,12 +1209,14 @@ implementation
                    begin
                    begin
                       if (sp_static in sym.symoptions) then
                       if (sp_static in sym.symoptions) then
                         begin
                         begin
-                           static_name:=lower(sym.owner.name^)+'_'+sym.name;
-                           searchsym(static_name,sym,srsymtable);
-                           if assigned(sym) then
-                             check_hints(sym,sym.symoptions);
-                           p1.free;
-                           p1:=cloadnode.create(sym,srsymtable);
+                          static_name:=lower(sym.owner.name^)+'_'+sym.name;
+                          searchsym_in_class(tobjectdef(sym.owner.defowner),tobjectdef(sym.owner.defowner),static_name,sym,srsymtable);
+                          if assigned(sym) then
+                            check_hints(sym,sym.symoptions);
+                          p1.free;
+                          p1:=nil;
+                          { static syms are always stored as absolutevarsym to handle scope and storage properly }
+                          propaccesslist_to_node(p1,nil,tabsolutevarsym(sym).ref);
                         end
                         end
                       else
                       else
                         begin
                         begin
@@ -1292,7 +1292,7 @@ implementation
                          Factor_read_id
                          Factor_read_id
          ---------------------------------------------}
          ---------------------------------------------}
 
 
-       procedure factor_read_id(var p1:tnode;var again:boolean);
+       procedure factor_read_id(out p1:tnode;var again:boolean);
          var
          var
            pc    : pchar;
            pc    : pchar;
            srsym : tsym;
            srsym : tsym;
@@ -1350,6 +1350,8 @@ implementation
            { Access to funcret or need to call the function? }
            { Access to funcret or need to call the function? }
            if (srsym.typ in [absolutevarsym,localvarsym,paravarsym]) and
            if (srsym.typ in [absolutevarsym,localvarsym,paravarsym]) and
               (vo_is_funcret in tabstractvarsym(srsym).varoptions) and
               (vo_is_funcret in tabstractvarsym(srsym).varoptions) and
+              { result(x) is not allowed }
+              not(vo_is_result in tabstractvarsym(srsym).varoptions) and
               (
               (
                (token=_LKLAMMER) or
                (token=_LKLAMMER) or
                (
                (
@@ -1357,8 +1359,7 @@ implementation
                  (m_tp7 in current_settings.modeswitches) or
                  (m_tp7 in current_settings.modeswitches) or
                  (m_delphi in current_settings.modeswitches)
                  (m_delphi in current_settings.modeswitches)
                 ) and
                 ) and
-                (afterassignment or in_args) and
-                not(vo_is_result in tabstractvarsym(srsym).varoptions)
+                (afterassignment or in_args)
                )
                )
               ) then
               ) then
             begin
             begin
@@ -1711,7 +1712,8 @@ implementation
                         PostFixOperators
                         PostFixOperators
          ---------------------------------------------}
          ---------------------------------------------}
 
 
-      procedure postfixoperators(var p1:tnode;var again:boolean);
+      { returns whether or not p1 has been changed }
+      function postfixoperators(var p1:tnode;var again:boolean): boolean;
 
 
         { tries to avoid syntax errors after invalid qualifiers }
         { tries to avoid syntax errors after invalid qualifiers }
         procedure recoverconsume_postfixops;
         procedure recoverconsume_postfixops;
@@ -1828,14 +1830,17 @@ implementation
           { shouldn't be used that often, so the extra overhead is ok to save
           { shouldn't be used that often, so the extra overhead is ok to save
             stack space }
             stack space }
           dispatchstring : ansistring;
           dispatchstring : ansistring;
+          nodechanged    : boolean;
         label
         label
           skipreckklammercheck;
           skipreckklammercheck;
         begin
         begin
+          result:=false;
           again:=true;
           again:=true;
           while again do
           while again do
            begin
            begin
              { we need the resultdef }
              { we need the resultdef }
-             do_typecheckpass(p1);
+             do_typecheckpass_changed(p1,nodechanged);
+             result:=result or nodechanged;
 
 
              if codegenerror then
              if codegenerror then
               begin
               begin
@@ -1896,6 +1901,7 @@ implementation
                       begin
                       begin
                         consume(_LECKKLAMMER);
                         consume(_LECKKLAMMER);
                         repeat
                         repeat
+                          { in all of the cases below, p1 is changed }
                           case p1.resultdef.typ of
                           case p1.resultdef.typ of
                             pointerdef:
                             pointerdef:
                               begin
                               begin
@@ -2161,6 +2167,11 @@ implementation
                      again:=false;
                      again:=false;
                   end;
                   end;
              end;
              end;
+
+             { we only try again if p1 was changed }
+             if again or
+                (p1.nodetype=errorn) then
+               result:=true;
            end; { while again }
            end; { while again }
         end;
         end;
 
 
@@ -2173,21 +2184,24 @@ implementation
          l          : longint;
          l          : longint;
          ic         : int64;
          ic         : int64;
          qc         : qword;
          qc         : qword;
-         oldp1,
          p1         : tnode;
          p1         : tnode;
          code       : integer;
          code       : integer;
-         again      : boolean;
          srsym      : tsym;
          srsym      : tsym;
          srsymtable : TSymtable;
          srsymtable : TSymtable;
          pd         : tprocdef;
          pd         : tprocdef;
-         hclassdef     : tobjectdef;
+         hclassdef  : tobjectdef;
          d          : bestreal;
          d          : bestreal;
          cur        : currency;
          cur        : currency;
          hs,hsorg   : string;
          hs,hsorg   : string;
          hdef       : tdef;
          hdef       : tdef;
          filepos    : tfileposinfo;
          filepos    : tfileposinfo;
+         again,
+         updatefpos,
+         nodechanged  : boolean;
       begin
       begin
-        oldp1:=nil;
+        { can't keep a copy of p1 and compare pointers afterwards, because
+          p1 may be freed and reallocated in the same place!  }
+        updatefpos:=false;
         p1:=nil;
         p1:=nil;
         filepos:=current_tokenpos;
         filepos:=current_tokenpos;
         again:=false;
         again:=false;
@@ -2206,390 +2220,392 @@ implementation
            else
            else
              factor_read_id(p1,again);
              factor_read_id(p1,again);
 
 
-           if again then
+           if assigned(p1) then
             begin
             begin
-              if (p1<>oldp1) then
-               begin
-                 if assigned(p1) then
-                   p1.fileinfo:=filepos;
-                 oldp1:=p1;
-                 filepos:=current_tokenpos;
-               end;
-              { handle post fix operators }
-              postfixoperators(p1,again);
+              { factor_read_id will set the filepos to after the id,
+                and in case of _SELF the filepos will already be the
+                same as filepos (so setting it again doesn't hurt).  }
+              p1.fileinfo:=filepos;
+              filepos:=current_tokenpos;
             end;
             end;
+           { handle post fix operators }
+           updatefpos:=postfixoperators(p1,again);
          end
          end
         else
         else
-         case token of
-           _RETURN :
-              begin
-                consume(_RETURN);
-                if not(token in [_SEMICOLON,_ELSE,_END]) then
-                  p1 := cexitnode.create(comp_expr(true))
-                else
-                  p1 := cexitnode.create(nil);
-              end;
-           _INHERITED :
-             begin
-               again:=true;
-               consume(_INHERITED);
-               if assigned(current_procinfo) and
-                  assigned(current_objectdef) then
+         begin
+           updatefpos:=true;
+           case token of
+             _RETURN :
                 begin
                 begin
-                  hclassdef:=current_objectdef.childof;
-                  { if inherited; only then we need the method with
-                    the same name }
-                  if token in endtokens then
-                   begin
-                     hs:=current_procinfo.procdef.procsym.name;
-                     hsorg:=current_procinfo.procdef.procsym.realname;
-                     anon_inherited:=true;
-                     { For message methods we need to search using the message
-                       number or string }
-                     pd:=tprocdef(tprocsym(current_procinfo.procdef.procsym).ProcdefList[0]);
-                     srdef:=nil;
-                     if (po_msgint in pd.procoptions) then
-                       searchsym_in_class_by_msgint(hclassdef,pd.messageinf.i,srdef,srsym,srsymtable)
-                     else
-                      if (po_msgstr in pd.procoptions) then
-                        searchsym_in_class_by_msgstr(hclassdef,pd.messageinf.str^,srsym,srsymtable)
-                     else
-                       searchsym_in_class(hclassdef,current_objectdef,hs,srsym,srsymtable);
-                   end
+                  consume(_RETURN);
+                  if not(token in [_SEMICOLON,_ELSE,_END]) then
+                    p1 := cexitnode.create(comp_expr(true))
                   else
                   else
-                   begin
-                     hs:=pattern;
-                     hsorg:=orgpattern;
-                     consume(_ID);
-                     anon_inherited:=false;
-                     searchsym_in_class(hclassdef,current_objectdef,hs,srsym,srsymtable);
-                   end;
-                  if assigned(srsym) then
-                   begin
-                     check_hints(srsym,srsym.symoptions);
-                     { load the procdef from the inherited class and
-                       not from self }
-                     case srsym.typ of
-                       procsym:
-                         begin
-                           hdef:=hclassdef;
-                           if (po_classmethod in current_procinfo.procdef.procoptions) or
-                              (po_staticmethod in current_procinfo.procdef.procoptions) then
-                             hdef:=tclassrefdef.create(hdef);
-                           p1:=ctypenode.create(hdef);
-                         end;
-                       propertysym:
-                         ;
+                    p1 := cexitnode.create(nil);
+                end;
+             _INHERITED :
+               begin
+                 again:=true;
+                 consume(_INHERITED);
+                 if assigned(current_procinfo) and
+                    assigned(current_objectdef) then
+                  begin
+                    hclassdef:=current_objectdef.childof;
+                    { if inherited; only then we need the method with
+                      the same name }
+                    if token in endtokens then
+                     begin
+                       hs:=current_procinfo.procdef.procsym.name;
+                       hsorg:=current_procinfo.procdef.procsym.realname;
+                       anon_inherited:=true;
+                       { For message methods we need to search using the message
+                         number or string }
+                       pd:=tprocdef(tprocsym(current_procinfo.procdef.procsym).ProcdefList[0]);
+                       srdef:=nil;
+                       if (po_msgint in pd.procoptions) then
+                         searchsym_in_class_by_msgint(hclassdef,pd.messageinf.i,srdef,srsym,srsymtable)
                        else
                        else
-                         begin
-                           Message(parser_e_methode_id_expected);
-                           p1:=cerrornode.create;
-                         end;
-                     end;
-                     do_member_read(hclassdef,getaddr,srsym,p1,again,[cnf_inherited,cnf_anon_inherited]);
-                   end
-                  else
-                   begin
-                     if anon_inherited then
-                      begin
-                        { For message methods we need to call DefaultHandler }
-                        if (po_msgint in pd.procoptions) or
-                           (po_msgstr in pd.procoptions) then
-                          begin
-                            searchsym_in_class(hclassdef,hclassdef,'DEFAULTHANDLER',srsym,srsymtable);
-                            if not assigned(srsym) or
-                               (srsym.typ<>procsym) then
-                              internalerror(200303171);
-                            p1:=nil;
-                            do_proc_call(srsym,srsym.owner,hclassdef,false,again,p1,[]);
-                          end
-                        else
-                          begin
-                            { we need to ignore the inherited; }
-                            p1:=cnothingnode.create;
-                          end;
-                      end
-                     else
-                      begin
-                        Message1(sym_e_id_no_member,hsorg);
-                        p1:=cerrornode.create;
-                      end;
-                     again:=false;
-                   end;
-                  { turn auto inheriting off }
-                  anon_inherited:=false;
-                end
-               else
-                 begin
-                    Message(parser_e_generic_methods_only_in_methods);
-                    again:=false;
-                    p1:=cerrornode.create;
-                 end;
-               postfixoperators(p1,again);
-             end;
-
-           _INTCONST :
-             begin
-               {Try first wether the value fits in an int64.}
-               val(pattern,ic,code);
-               if code=0 then
-                 begin
-                    consume(_INTCONST);
-                    int_to_type(ic,hdef);
-                    p1:=cordconstnode.create(ic,hdef,true);
-                 end
-               else
-                 begin
-                   { try qword next }
-                   val(pattern,qc,code);
-                   if code=0 then
+                        if (po_msgstr in pd.procoptions) then
+                          searchsym_in_class_by_msgstr(hclassdef,pd.messageinf.str^,srsym,srsymtable)
+                       else
+                         searchsym_in_class(hclassdef,current_objectdef,hs,srsym,srsymtable);
+                     end
+                    else
                      begin
                      begin
-                        consume(_INTCONST);
-                        int_to_type(qc,hdef);
-                        p1:=cordconstnode.create(qc,hdef,true);
+                       hs:=pattern;
+                       hsorg:=orgpattern;
+                       consume(_ID);
+                       anon_inherited:=false;
+                       searchsym_in_class(hclassdef,current_objectdef,hs,srsym,srsymtable);
                      end;
                      end;
-                 end;
-               if code<>0 then
-                 begin
-                   { finally float }
-                   val(pattern,d,code);
-                   if code<>0 then
+                    if assigned(srsym) then
                      begin
                      begin
-                        Message(parser_e_invalid_integer);
-                        consume(_INTCONST);
-                        l:=1;
-                        p1:=cordconstnode.create(l,sinttype,true);
+                       check_hints(srsym,srsym.symoptions);
+                       { load the procdef from the inherited class and
+                         not from self }
+                       case srsym.typ of
+                         procsym:
+                           begin
+                             hdef:=hclassdef;
+                             if (po_classmethod in current_procinfo.procdef.procoptions) or
+                                (po_staticmethod in current_procinfo.procdef.procoptions) then
+                               hdef:=tclassrefdef.create(hdef);
+                             p1:=ctypenode.create(hdef);
+                           end;
+                         propertysym:
+                           ;
+                         else
+                           begin
+                             Message(parser_e_methode_id_expected);
+                             p1:=cerrornode.create;
+                           end;
+                       end;
+                       do_member_read(hclassdef,getaddr,srsym,p1,again,[cnf_inherited,cnf_anon_inherited]);
                      end
                      end
-                   else
+                    else
                      begin
                      begin
-                        consume(_INTCONST);
-                        p1:=crealconstnode.create(d,pbestrealtype^);
+                       if anon_inherited then
+                        begin
+                          { For message methods we need to call DefaultHandler }
+                          if (po_msgint in pd.procoptions) or
+                             (po_msgstr in pd.procoptions) then
+                            begin
+                              searchsym_in_class(hclassdef,hclassdef,'DEFAULTHANDLER',srsym,srsymtable);
+                              if not assigned(srsym) or
+                                 (srsym.typ<>procsym) then
+                                internalerror(200303171);
+                              p1:=nil;
+                              do_proc_call(srsym,srsym.owner,hclassdef,false,again,p1,[]);
+                            end
+                          else
+                            begin
+                              { we need to ignore the inherited; }
+                              p1:=cnothingnode.create;
+                            end;
+                        end
+                       else
+                        begin
+                          Message1(sym_e_id_no_member,hsorg);
+                          p1:=cerrornode.create;
+                        end;
+                       again:=false;
                      end;
                      end;
-                 end
-               else
-                 { the necessary range checking has already been done by val }
-                 tordconstnode(p1).rangecheck:=false;
-             end;
+                    { turn auto inheriting off }
+                    anon_inherited:=false;
+                  end
+                 else
+                   begin
+                      Message(parser_e_generic_methods_only_in_methods);
+                      again:=false;
+                      p1:=cerrornode.create;
+                   end;
+                 postfixoperators(p1,again);
+               end;
 
 
-           _REALNUMBER :
-             begin
-               val(pattern,d,code);
-               if code<>0 then
-                begin
-                  Message(parser_e_error_in_real);
-                  d:=1.0;
-                end;
-               consume(_REALNUMBER);
+             _INTCONST :
+               begin
+                 {Try first wether the value fits in an int64.}
+                 val(pattern,ic,code);
+                 if code=0 then
+                   begin
+                      consume(_INTCONST);
+                      int_to_type(ic,hdef);
+                      p1:=cordconstnode.create(ic,hdef,true);
+                   end
+                 else
+                   begin
+                     { try qword next }
+                     val(pattern,qc,code);
+                     if code=0 then
+                       begin
+                          consume(_INTCONST);
+                          int_to_type(qc,hdef);
+                          p1:=cordconstnode.create(qc,hdef,true);
+                       end;
+                   end;
+                 if code<>0 then
+                   begin
+                     { finally float }
+                     val(pattern,d,code);
+                     if code<>0 then
+                       begin
+                          Message(parser_e_invalid_integer);
+                          consume(_INTCONST);
+                          l:=1;
+                          p1:=cordconstnode.create(l,sinttype,true);
+                       end
+                     else
+                       begin
+                          consume(_INTCONST);
+                          p1:=crealconstnode.create(d,pbestrealtype^);
+                       end;
+                   end
+                 else
+                   { the necessary range checking has already been done by val }
+                   tordconstnode(p1).rangecheck:=false;
+               end;
+
+             _REALNUMBER :
+               begin
+                 val(pattern,d,code);
+                 if code<>0 then
+                  begin
+                    Message(parser_e_error_in_real);
+                    d:=1.0;
+                  end;
+                 consume(_REALNUMBER);
 {$ifdef FPC_REAL2REAL_FIXED}
 {$ifdef FPC_REAL2REAL_FIXED}
-               if current_settings.fputype=fpu_none then
-                 Message(parser_e_unsupported_real);
-               if (current_settings.minfpconstprec=s32real) and
-                  (d = single(d)) then
-                 p1:=crealconstnode.create(d,s32floattype)
-               else if (current_settings.minfpconstprec=s64real) and
-                       (d = double(d)) then
-                 p1:=crealconstnode.create(d,s64floattype)
-               else
+                 if current_settings.fputype=fpu_none then
+                   Message(parser_e_unsupported_real);
+                 if (current_settings.minfpconstprec=s32real) and
+                    (d = single(d)) then
+                   p1:=crealconstnode.create(d,s32floattype)
+                 else if (current_settings.minfpconstprec=s64real) and
+                         (d = double(d)) then
+                   p1:=crealconstnode.create(d,s64floattype)
+                 else
 {$endif FPC_REAL2REAL_FIXED}
 {$endif FPC_REAL2REAL_FIXED}
-                 p1:=crealconstnode.create(d,pbestrealtype^);
+                   p1:=crealconstnode.create(d,pbestrealtype^);
 {$ifdef FPC_HAS_STR_CURRENCY}
 {$ifdef FPC_HAS_STR_CURRENCY}
-               val(pattern,cur,code);
-               if code=0 then
-                 trealconstnode(p1).value_currency:=cur;
+                 val(pattern,cur,code);
+                 if code=0 then
+                   trealconstnode(p1).value_currency:=cur;
 {$endif FPC_HAS_STR_CURRENCY}
 {$endif FPC_HAS_STR_CURRENCY}
-             end;
-
-           _STRING :
-             begin
-               string_dec(hdef,true);
-               { STRING can be also a type cast }
-               if try_to_consume(_LKLAMMER) then
-                begin
-                  p1:=comp_expr(true);
-                  consume(_RKLAMMER);
-                  p1:=ctypeconvnode.create_explicit(p1,hdef);
-                  { handle postfix operators here e.g. string(a)[10] }
-                  again:=true;
-                  postfixoperators(p1,again);
-                end
-               else
-                p1:=ctypenode.create(hdef);
-             end;
+               end;
 
 
-           _FILE :
-             begin
-               hdef:=cfiletype;
-               consume(_FILE);
-               { FILE can be also a type cast }
-               if try_to_consume(_LKLAMMER) then
-                begin
-                  p1:=comp_expr(true);
-                  consume(_RKLAMMER);
-                  p1:=ctypeconvnode.create_explicit(p1,hdef);
-                  { handle postfix operators here e.g. string(a)[10] }
-                  again:=true;
-                  postfixoperators(p1,again);
-                end
-               else
-                begin
+             _STRING :
+               begin
+                 string_dec(hdef,true);
+                 { STRING can be also a type cast }
+                 if try_to_consume(_LKLAMMER) then
+                  begin
+                    p1:=comp_expr(true);
+                    consume(_RKLAMMER);
+                    p1:=ctypeconvnode.create_explicit(p1,hdef);
+                    { handle postfix operators here e.g. string(a)[10] }
+                    again:=true;
+                    postfixoperators(p1,again);
+                  end
+                 else
                   p1:=ctypenode.create(hdef);
                   p1:=ctypenode.create(hdef);
-                end;
-             end;
+               end;
 
 
-           _CSTRING :
-             begin
-               p1:=cstringconstnode.createstr(pattern);
-               consume(_CSTRING);
-             end;
+             _FILE :
+               begin
+                 hdef:=cfiletype;
+                 consume(_FILE);
+                 { FILE can be also a type cast }
+                 if try_to_consume(_LKLAMMER) then
+                  begin
+                    p1:=comp_expr(true);
+                    consume(_RKLAMMER);
+                    p1:=ctypeconvnode.create_explicit(p1,hdef);
+                    { handle postfix operators here e.g. string(a)[10] }
+                    again:=true;
+                    postfixoperators(p1,again);
+                  end
+                 else
+                  begin
+                    p1:=ctypenode.create(hdef);
+                  end;
+               end;
 
 
-           _CCHAR :
-             begin
-               p1:=cordconstnode.create(ord(pattern[1]),cchartype,true);
-               consume(_CCHAR);
-             end;
+             _CSTRING :
+               begin
+                 p1:=cstringconstnode.createstr(pattern);
+                 consume(_CSTRING);
+               end;
 
 
-           _CWSTRING:
-             begin
-               p1:=cstringconstnode.createwstr(patternw);
-               consume(_CWSTRING);
-             end;
+             _CCHAR :
+               begin
+                 p1:=cordconstnode.create(ord(pattern[1]),cchartype,true);
+                 consume(_CCHAR);
+               end;
 
 
-           _CWCHAR:
-             begin
-               p1:=cordconstnode.create(ord(getcharwidestring(patternw,0)),cwidechartype,true);
-               consume(_CWCHAR);
-             end;
+             _CWSTRING:
+               begin
+                 p1:=cstringconstnode.createwstr(patternw);
+                 consume(_CWSTRING);
+               end;
 
 
-           _KLAMMERAFFE :
-             begin
-               consume(_KLAMMERAFFE);
-               got_addrn:=true;
-               { support both @<x> and @(<x>) }
-               if try_to_consume(_LKLAMMER) then
-                begin
+             _CWCHAR:
+               begin
+                 p1:=cordconstnode.create(ord(getcharwidestring(patternw,0)),cwidechartype,true);
+                 consume(_CWCHAR);
+               end;
+
+             _KLAMMERAFFE :
+               begin
+                 consume(_KLAMMERAFFE);
+                 got_addrn:=true;
+                 { support both @<x> and @(<x>) }
+                 if try_to_consume(_LKLAMMER) then
+                  begin
+                    p1:=factor(true);
+                    if token in [_CARET,_POINT,_LECKKLAMMER] then
+                     begin
+                       again:=true;
+                       postfixoperators(p1,again);
+                     end
+                    else
+                    consume(_RKLAMMER);
+                  end
+                 else
                   p1:=factor(true);
                   p1:=factor(true);
-                  if token in [_CARET,_POINT,_LECKKLAMMER] then
-                   begin
-                     again:=true;
-                     postfixoperators(p1,again);
-                   end;
-                  consume(_RKLAMMER);
-                end
-               else
-                p1:=factor(true);
-               if token in [_CARET,_POINT,_LECKKLAMMER] then
-                begin
-                  again:=true;
-                  postfixoperators(p1,again);
-                end;
-               got_addrn:=false;
-               p1:=caddrnode.create(p1);
-               if cs_typed_addresses in current_settings.localswitches then
-                 include(p1.flags,nf_typedaddr);
-               { Store the procvar that we are expecting, the
-                 addrn will use the information to find the correct
-                 procdef or it will return an error }
-               if assigned(getprocvardef) and
-                  (taddrnode(p1).left.nodetype = loadn) then
-                 taddrnode(p1).getprocvardef:=getprocvardef;
-             end;
+                 if token in [_CARET,_POINT,_LECKKLAMMER] then
+                  begin
+                    again:=true;
+                    postfixoperators(p1,again);
+                  end;
+                 got_addrn:=false;
+                 p1:=caddrnode.create(p1);
+                 p1.fileinfo:=filepos;
+                 if cs_typed_addresses in current_settings.localswitches then
+                   include(p1.flags,nf_typedaddr);
+                 { Store the procvar that we are expecting, the
+                   addrn will use the information to find the correct
+                   procdef or it will return an error }
+                 if assigned(getprocvardef) and
+                    (taddrnode(p1).left.nodetype = loadn) then
+                   taddrnode(p1).getprocvardef:=getprocvardef;
+               end;
 
 
-           _LKLAMMER :
-             begin
-               consume(_LKLAMMER);
-               p1:=comp_expr(true);
-               consume(_RKLAMMER);
-               { it's not a good solution     }
-               { but (a+b)^ makes some problems  }
-               if token in [_CARET,_POINT,_LECKKLAMMER] then
-                begin
-                  again:=true;
-                  postfixoperators(p1,again);
-                end;
-             end;
+             _LKLAMMER :
+               begin
+                 consume(_LKLAMMER);
+                 p1:=comp_expr(true);
+                 consume(_RKLAMMER);
+                 { it's not a good solution     }
+                 { but (a+b)^ makes some problems  }
+                 if token in [_CARET,_POINT,_LECKKLAMMER] then
+                  begin
+                    again:=true;
+                    postfixoperators(p1,again);
+                  end;
+               end;
 
 
-           _LECKKLAMMER :
-             begin
-               consume(_LECKKLAMMER);
-               p1:=factor_read_set;
-               consume(_RECKKLAMMER);
-             end;
+             _LECKKLAMMER :
+               begin
+                 consume(_LECKKLAMMER);
+                 p1:=factor_read_set;
+                 consume(_RECKKLAMMER);
+               end;
 
 
-           _PLUS :
-             begin
-               consume(_PLUS);
-               p1:=factor(false);
-               { we must generate a new node to do 0+<p1> otherwise the + will
-                 not be checked }
-               p1:=caddnode.create(addn,genintconstnode(0),p1);
-             end;
+             _PLUS :
+               begin
+                 consume(_PLUS);
+                 p1:=factor(false);
+                 { we must generate a new node to do 0+<p1> otherwise the + will
+                   not be checked }
+                 p1:=caddnode.create(addn,genintconstnode(0),p1);
+               end;
 
 
-           _MINUS :
-             begin
-               consume(_MINUS);
-               if (token = _INTCONST) then
-                  begin
-                    { ugly hack, but necessary to be able to parse }
-                    { -9223372036854775808 as int64 (JM)           }
-                    pattern := '-'+pattern;
-                    p1:=sub_expr(oppower,false);
-                    {  -1 ** 4 should be - (1 ** 4) and not
-                       (-1) ** 4
-                       This was the reason of tw0869.pp test failure PM }
-                    if p1.nodetype=starstarn then
-                      begin
-                        if tbinarynode(p1).left.nodetype=ordconstn then
-                          begin
-                            tordconstnode(tbinarynode(p1).left).value:=-tordconstnode(tbinarynode(p1).left).value;
-                            p1:=cunaryminusnode.create(p1);
-                          end
-                        else if tbinarynode(p1).left.nodetype=realconstn then
-                          begin
-                            trealconstnode(tbinarynode(p1).left).value_real:=-trealconstnode(tbinarynode(p1).left).value_real;
-                            trealconstnode(tbinarynode(p1).left).value_currency:=-trealconstnode(tbinarynode(p1).left).value_currency;
-                            p1:=cunaryminusnode.create(p1);
-                          end
-                        else
-                          internalerror(20021029);
-                      end;
-                  end
-               else
-                 begin
-                   p1:=sub_expr(oppower,false);
-                   p1:=cunaryminusnode.create(p1);
-                 end;
-             end;
+             _MINUS :
+               begin
+                 consume(_MINUS);
+                 if (token = _INTCONST) then
+                    begin
+                      { ugly hack, but necessary to be able to parse }
+                      { -9223372036854775808 as int64 (JM)           }
+                      pattern := '-'+pattern;
+                      p1:=sub_expr(oppower,false);
+                      {  -1 ** 4 should be - (1 ** 4) and not
+                         (-1) ** 4
+                         This was the reason of tw0869.pp test failure PM }
+                      if p1.nodetype=starstarn then
+                        begin
+                          if tbinarynode(p1).left.nodetype=ordconstn then
+                            begin
+                              tordconstnode(tbinarynode(p1).left).value:=-tordconstnode(tbinarynode(p1).left).value;
+                              p1:=cunaryminusnode.create(p1);
+                            end
+                          else if tbinarynode(p1).left.nodetype=realconstn then
+                            begin
+                              trealconstnode(tbinarynode(p1).left).value_real:=-trealconstnode(tbinarynode(p1).left).value_real;
+                              trealconstnode(tbinarynode(p1).left).value_currency:=-trealconstnode(tbinarynode(p1).left).value_currency;
+                              p1:=cunaryminusnode.create(p1);
+                            end
+                          else
+                            internalerror(20021029);
+                        end;
+                    end
+                 else
+                   begin
+                     p1:=sub_expr(oppower,false);
+                     p1:=cunaryminusnode.create(p1);
+                   end;
+               end;
 
 
-           _OP_NOT :
-             begin
-               consume(_OP_NOT);
-               p1:=factor(false);
-               p1:=cnotnode.create(p1);
-             end;
+             _OP_NOT :
+               begin
+                 consume(_OP_NOT);
+                 p1:=factor(false);
+                 p1:=cnotnode.create(p1);
+               end;
 
 
-           _TRUE :
-             begin
-               consume(_TRUE);
-               p1:=cordconstnode.create(1,booltype,false);
-             end;
+             _TRUE :
+               begin
+                 consume(_TRUE);
+                 p1:=cordconstnode.create(1,booltype,false);
+               end;
 
 
-           _FALSE :
-             begin
-               consume(_FALSE);
-               p1:=cordconstnode.create(0,booltype,false);
-             end;
+             _FALSE :
+               begin
+                 consume(_FALSE);
+                 p1:=cordconstnode.create(0,booltype,false);
+               end;
 
 
-           _NIL :
-             begin
-               consume(_NIL);
-               p1:=cnilnode.create;
-               { It's really ugly code nil^, but delphi allows it }
-               if token in [_CARET] then
-                begin
-                  again:=true;
-                  postfixoperators(p1,again);
-                end;
-             end;
+             _NIL :
+               begin
+                 consume(_NIL);
+                 p1:=cnilnode.create;
+                 { It's really ugly code nil^, but delphi allows it }
+                 if token in [_CARET] then
+                  begin
+                    again:=true;
+                    postfixoperators(p1,again);
+                  end;
+               end;
            _OBJCPROTOCOL:
            _OBJCPROTOCOL:
              begin
              begin
                { The @protocol keyword is used in two ways in Objective-C:
                { The @protocol keyword is used in two ways in Objective-C:
@@ -2606,13 +2622,14 @@ implementation
                p1:=cinlinenode.create(in_objc_protocol_x,false,p1);
                p1:=cinlinenode.create(in_objc_protocol_x,false,p1);
              end;
              end;
 
 
-           else
-             begin
-               Message(parser_e_illegal_expression);
-               p1:=cerrornode.create;
-               { recover }
-               consume(token);
-             end;
+             else
+               begin
+                 Message(parser_e_illegal_expression);
+                 p1:=cerrornode.create;
+                 { recover }
+                 consume(token);
+               end;
+           end;
         end;
         end;
 
 
         { generate error node if no node is created }
         { generate error node if no node is created }
@@ -2622,14 +2639,18 @@ implementation
            Comment(V_Warning,'factor: p1=nil');
            Comment(V_Warning,'factor: p1=nil');
 {$endif}
 {$endif}
            p1:=cerrornode.create;
            p1:=cerrornode.create;
+           updatefpos:=true;
          end;
          end;
 
 
         { get the resultdef for the node }
         { get the resultdef for the node }
         if (not assigned(p1.resultdef)) then
         if (not assigned(p1.resultdef)) then
-         do_typecheckpass(p1);
+          begin
+            do_typecheckpass_changed(p1,nodechanged);
+            updatefpos:=updatefpos or nodechanged;
+          end;
 
 
         if assigned(p1) and
         if assigned(p1) and
-           (p1<>oldp1) then
+           updatefpos then
           p1.fileinfo:=filepos;
           p1.fileinfo:=filepos;
         factor:=p1;
         factor:=p1;
       end;
       end;
@@ -2760,9 +2781,9 @@ implementation
 
 
       var
       var
          p1,p2 : tnode;
          p1,p2 : tnode;
-         oldafterassignment : boolean;
-         oldp1 : tnode;
          filepos : tfileposinfo;
          filepos : tfileposinfo;
+         oldafterassignment,
+         updatefpos          : boolean;
 
 
       begin
       begin
          oldafterassignment:=afterassignment;
          oldafterassignment:=afterassignment;
@@ -2773,7 +2794,7 @@ implementation
          filepos:=current_tokenpos;
          filepos:=current_tokenpos;
          if token in [_ASSIGNMENT,_PLUSASN,_MINUSASN,_STARASN,_SLASHASN] then
          if token in [_ASSIGNMENT,_PLUSASN,_MINUSASN,_STARASN,_SLASHASN] then
            afterassignment:=true;
            afterassignment:=true;
-         oldp1:=p1;
+         updatefpos:=true;
          case token of
          case token of
            _POINTPOINT :
            _POINTPOINT :
              begin
              begin
@@ -2816,12 +2837,14 @@ implementation
                p2:=sub_expr(opcompare,true);
                p2:=sub_expr(opcompare,true);
                p1:=gen_c_style_operator(slashn,p1,p2);
                p1:=gen_c_style_operator(slashn,p1,p2);
             end;
             end;
+          else
+            updatefpos:=false;
          end;
          end;
          { get the resultdef for this expression }
          { get the resultdef for this expression }
          if not assigned(p1.resultdef) then
          if not assigned(p1.resultdef) then
           do_typecheckpass(p1);
           do_typecheckpass(p1);
          afterassignment:=oldafterassignment;
          afterassignment:=oldafterassignment;
-         if p1<>oldp1 then
+         if updatefpos then
            p1.fileinfo:=filepos;
            p1.fileinfo:=filepos;
          expr:=p1;
          expr:=p1;
       end;
       end;

+ 4 - 4
compiler/pinline.pas

@@ -719,12 +719,12 @@ implementation
             is_pchar(paradef)) then
             is_pchar(paradef)) then
           copynode:=ccallnode.createintern('fpc_ansistr_copy',paras)
           copynode:=ccallnode.createintern('fpc_ansistr_copy',paras)
         else
         else
-         if is_widestring(paradef) or
-            is_widechararray(paradef) or
-            is_pwidechar(paradef) then
+         if is_widestring(paradef) then
            copynode:=ccallnode.createintern('fpc_widestr_copy',paras)
            copynode:=ccallnode.createintern('fpc_widestr_copy',paras)
         else
         else
-         if is_unicodestring(paradef) then
+         if is_unicodestring(paradef) or
+            is_widechararray(paradef) or
+            is_pwidechar(paradef) then
            copynode:=ccallnode.createintern('fpc_unicodestr_copy',paras)
            copynode:=ccallnode.createintern('fpc_unicodestr_copy',paras)
         else
         else
          if is_char(paradef) then
          if is_char(paradef) then

+ 1 - 1
compiler/powerpc/nppccnv.pas

@@ -120,7 +120,7 @@ implementation
          dummy2: int64 = $4330000000000000;
          dummy2: int64 = $4330000000000000;
 
 
       var
       var
-        tempconst: trealconstnode;
+        tempconst: tnode;
         ref: treference;
         ref: treference;
         valuereg, tempreg, leftreg, tmpfpureg: tregister;
         valuereg, tempreg, leftreg, tmpfpureg: tregister;
         size: tcgsize;
         size: tcgsize;

+ 1 - 1
compiler/powerpc64/nppccnv.pas

@@ -96,7 +96,7 @@ procedure tppctypeconvnode.second_int_to_real;
 const
 const
   convconst : double = $100000000;
   convconst : double = $100000000;
 var
 var
-  tempconst : trealconstnode;
+  tempconst : tnode;
   disp, disp2: treference;
   disp, disp2: treference;
   // temp registers for converting signed ints
   // temp registers for converting signed ints
   valuereg, leftreg,
   valuereg, leftreg,

+ 0 - 10
compiler/ppu.pas

@@ -601,14 +601,12 @@ begin
      result:=0;
      result:=0;
      exit;
      exit;
    end;
    end;
-{$ifdef FPC_UNALIGNED_FIXED}
   if bufsize-bufidx>=sizeof(word) then
   if bufsize-bufidx>=sizeof(word) then
     begin
     begin
       result:=Unaligned(pword(@buf[bufidx])^);
       result:=Unaligned(pword(@buf[bufidx])^);
       inc(bufidx,sizeof(word));
       inc(bufidx,sizeof(word));
     end
     end
   else
   else
-{$endif FPC_UNALIGNED_FIXED}
     readdata(result,sizeof(word));
     readdata(result,sizeof(word));
   if change_endian then
   if change_endian then
    result:=swapendian(result);
    result:=swapendian(result);
@@ -624,14 +622,12 @@ begin
      result:=0;
      result:=0;
      exit;
      exit;
    end;
    end;
-{$ifdef FPC_UNALIGNED_FIXED}
   if bufsize-bufidx>=sizeof(longint) then
   if bufsize-bufidx>=sizeof(longint) then
     begin
     begin
       result:=Unaligned(plongint(@buf[bufidx])^);
       result:=Unaligned(plongint(@buf[bufidx])^);
       inc(bufidx,sizeof(longint));
       inc(bufidx,sizeof(longint));
     end
     end
   else
   else
-{$endif FPC_UNALIGNED_FIXED}
     readdata(result,sizeof(longint));
     readdata(result,sizeof(longint));
   if change_endian then
   if change_endian then
    result:=swapendian(result);
    result:=swapendian(result);
@@ -647,14 +643,12 @@ begin
      result:=0;
      result:=0;
      exit;
      exit;
    end;
    end;
-{$ifdef FPC_UNALIGNED_FIXED}
   if bufsize-bufidx>=sizeof(dword) then
   if bufsize-bufidx>=sizeof(dword) then
     begin
     begin
       result:=Unaligned(plongint(@buf[bufidx])^);
       result:=Unaligned(plongint(@buf[bufidx])^);
       inc(bufidx,sizeof(longint));
       inc(bufidx,sizeof(longint));
     end
     end
   else
   else
-{$endif FPC_UNALIGNED_FIXED}
     readdata(result,sizeof(dword));
     readdata(result,sizeof(dword));
   if change_endian then
   if change_endian then
    result:=swapendian(result);
    result:=swapendian(result);
@@ -670,14 +664,12 @@ begin
      result:=0;
      result:=0;
      exit;
      exit;
    end;
    end;
-{$ifdef FPC_UNALIGNED_FIXED}
   if bufsize-bufidx>=sizeof(int64) then
   if bufsize-bufidx>=sizeof(int64) then
     begin
     begin
       result:=Unaligned(pint64(@buf[bufidx])^);
       result:=Unaligned(pint64(@buf[bufidx])^);
       inc(bufidx,sizeof(int64));
       inc(bufidx,sizeof(int64));
     end
     end
   else
   else
-{$endif FPC_UNALIGNED_FIXED}
     readdata(result,sizeof(int64));
     readdata(result,sizeof(int64));
   if change_endian then
   if change_endian then
    result:=swapendian(result);
    result:=swapendian(result);
@@ -693,14 +685,12 @@ begin
      result:=0;
      result:=0;
      exit;
      exit;
    end;
    end;
-{$ifdef FPC_UNALIGNED_FIXED}
   if bufsize-bufidx>=sizeof(qword) then
   if bufsize-bufidx>=sizeof(qword) then
     begin
     begin
       result:=Unaligned(pqword(@buf[bufidx])^);
       result:=Unaligned(pqword(@buf[bufidx])^);
       inc(bufidx,sizeof(qword));
       inc(bufidx,sizeof(qword));
     end
     end
   else
   else
-{$endif FPC_UNALIGNED_FIXED}
     readdata(result,sizeof(qword));
     readdata(result,sizeof(qword));
   if change_endian then
   if change_endian then
    result:=swapendian(result);
    result:=swapendian(result);

+ 1 - 1
compiler/pstatmnt.pas

@@ -544,7 +544,7 @@ implementation
                   hdef:=tpointerdef.create(p.resultdef);
                   hdef:=tpointerdef.create(p.resultdef);
                 { load address of the value in a temp }
                 { load address of the value in a temp }
                 tempnode:=ctempcreatenode.create_withnode(hdef,sizeof(pint),tt_persistent,true,p);
                 tempnode:=ctempcreatenode.create_withnode(hdef,sizeof(pint),tt_persistent,true,p);
-                typecheckpass(tempnode);
+                typecheckpass(tnode(tempnode));
                 valuenode:=p;
                 valuenode:=p;
                 refnode:=ctemprefnode.create(tempnode);
                 refnode:=ctemprefnode.create(tempnode);
                 fillchar(refnode.fileinfo,sizeof(tfileposinfo),0);
                 fillchar(refnode.fileinfo,sizeof(tfileposinfo),0);

+ 1 - 1
compiler/psub.pas

@@ -616,7 +616,7 @@ implementation
             addstatement(newstatement,bodyexitcode);
             addstatement(newstatement,bodyexitcode);
             addstatement(newstatement,final_asmnode);
             addstatement(newstatement,final_asmnode);
           end;
           end;
-        do_firstpass(newblock);
+        do_firstpass(tnode(newblock));
         code:=newblock;
         code:=newblock;
         current_filepos:=oldfilepos;
         current_filepos:=oldfilepos;
       end;
       end;

+ 1 - 3
compiler/psystem.pas

@@ -99,9 +99,7 @@ implementation
 {$if defined(x86) or defined(arm)}
 {$if defined(x86) or defined(arm)}
         systemunit.insert(tsyssym.create('Get_Frame',in_get_frame));
         systemunit.insert(tsyssym.create('Get_Frame',in_get_frame));
 {$endif defined(x86) or defined(arm)}
 {$endif defined(x86) or defined(arm)}
-{$ifdef SUPPORT_UNALIGNED}
         systemunit.insert(tsyssym.create('Unaligned',in_unaligned_x));
         systemunit.insert(tsyssym.create('Unaligned',in_unaligned_x));
-{$endif SUPPORT_UNALIGNED}
         systemunit.insert(tsyssym.create('ObjCSelector',in_objc_selector_x)); { objc only }
         systemunit.insert(tsyssym.create('ObjCSelector',in_objc_selector_x)); { objc only }
         systemunit.insert(tsyssym.create('ObjCEncode',in_objc_encode_x)); { objc only }
         systemunit.insert(tsyssym.create('ObjCEncode',in_objc_encode_x)); { objc only }
       end;
       end;
@@ -165,7 +163,7 @@ implementation
         { should we give a length to the default long and ansi string definition ?? }
         { should we give a length to the default long and ansi string definition ?? }
         clongstringtype:=tstringdef.createlong(-1);
         clongstringtype:=tstringdef.createlong(-1);
         cansistringtype:=tstringdef.createansi;
         cansistringtype:=tstringdef.createansi;
-        if target_info.system in system_all_windows then
+        if target_info.system in system_windows then
           cwidestringtype:=tstringdef.createwide
           cwidestringtype:=tstringdef.createwide
         else
         else
           cwidestringtype:=tstringdef.createunicode;
           cwidestringtype:=tstringdef.createunicode;

+ 0 - 5
compiler/ptconst.pas

@@ -595,13 +595,8 @@ implementation
                   { arrays of 32-bit values CEC          }
                   { arrays of 32-bit values CEC          }
                   if source_info.endian = target_info.endian then
                   if source_info.endian = target_info.endian then
                     begin
                     begin
-{$if defined(FPC_NEW_BIGENDIAN_SETS) or defined(FPC_LITTLE_ENDIAN)}
                       for i:=0 to p.resultdef.size-1 do
                       for i:=0 to p.resultdef.size-1 do
                         list.concat(tai_const.create_8bit(Psetbytes(tsetconstnode(p).value_set)^[i]));
                         list.concat(tai_const.create_8bit(Psetbytes(tsetconstnode(p).value_set)^[i]));
-{$else}
-                      for i:=0 to p.resultdef.size-1 do
-                        list.concat(tai_const.create_8bit(reverse_byte(Psetbytes(tsetconstnode(p).value_set)^[i xor 3])));
-{$endif}
                     end
                     end
                   else
                   else
                     begin
                     begin

+ 1 - 1
compiler/ptype.pas

@@ -114,7 +114,7 @@ implementation
                         { we need a class type for classrefdef }
                         { we need a class type for classrefdef }
                         if (def.typ=classrefdef) and
                         if (def.typ=classrefdef) and
                            not(is_class(ttypesym(srsym).typedef)) then
                            not(is_class(ttypesym(srsym).typedef)) then
-                          MessagePos1(tsym(srsym).fileinfo,type_e_class_type_expected,ttypesym(srsym).typedef.typename);
+                          MessagePos1(def.typesym.fileinfo,type_e_class_type_expected,ttypesym(srsym).typedef.typename);
                       end
                       end
                      else
                      else
                       begin
                       begin

+ 74 - 25
compiler/scanner.pas

@@ -70,6 +70,12 @@ interface
        tspecialgenerictoken = (ST_LOADSETTINGS,ST_LINE,ST_COLUMN,ST_FILEINDEX);
        tspecialgenerictoken = (ST_LOADSETTINGS,ST_LINE,ST_COLUMN,ST_FILEINDEX);
 
 
        tscannerfile = class
        tscannerfile = class
+       private
+         procedure do_gettokenpos(out tokenpos: longint; out filepos: tfileposinfo);
+         procedure cachenexttokenpos;
+         procedure setnexttoken;
+         procedure savetokenpos;
+         procedure restoretokenpos;
        public
        public
           inputfile    : tinputfile;  { current inputfile list }
           inputfile    : tinputfile;  { current inputfile list }
           inputfilecount : longint;
           inputfilecount : longint;
@@ -81,10 +87,16 @@ interface
           line_no,                    { line }
           line_no,                    { line }
           lastlinepos  : longint;
           lastlinepos  : longint;
 
 
-          lasttokenpos : longint;     { token }
+          lasttokenpos,
+          nexttokenpos : longint;     { token }
           lasttoken,
           lasttoken,
           nexttoken    : ttoken;
           nexttoken    : ttoken;
 
 
+          oldlasttokenpos     : longint; { temporary saving/restoring tokenpos }
+          oldcurrent_filepos,
+          oldcurrent_tokenpos : tfileposinfo;
+
+
           replaysavetoken : ttoken;
           replaysavetoken : ttoken;
           replaytokenbuf,
           replaytokenbuf,
           recordtokenbuf : tdynamicarray;
           recordtokenbuf : tdynamicarray;
@@ -95,7 +107,9 @@ interface
           last_settings : tsettings;
           last_settings : tsettings;
 
 
           { last filepos we stored }
           { last filepos we stored }
-          last_filepos : tfileposinfo;
+          last_filepos,
+          { if nexttoken<>NOTOKEN, then nexttokenpos holds its filepos }
+          next_filepos   : tfileposinfo;
 
 
           comment_level,
           comment_level,
           yylexcount     : longint;
           yylexcount     : longint;
@@ -1837,6 +1851,7 @@ In case not, the value returned can be arbitrary.
         line_no:=0;
         line_no:=0;
         lastlinepos:=0;
         lastlinepos:=0;
         lasttokenpos:=0;
         lasttokenpos:=0;
+        nexttokenpos:=0;
         lasttoken:=NOTOKEN;
         lasttoken:=NOTOKEN;
         nexttoken:=NOTOKEN;
         nexttoken:=NOTOKEN;
         lastasmgetchar:=#0;
         lastasmgetchar:=#0;
@@ -1882,6 +1897,7 @@ In case not, the value returned can be arbitrary.
         line_no:=0;
         line_no:=0;
         lastlinepos:=0;
         lastlinepos:=0;
         lasttokenpos:=0;
         lasttokenpos:=0;
+        nexttokenpos:=0;
       end;
       end;
 
 
 
 
@@ -1896,6 +1912,7 @@ In case not, the value returned can be arbitrary.
         line_no:=0;
         line_no:=0;
         lastlinepos:=0;
         lastlinepos:=0;
         lasttokenpos:=0;
         lasttokenpos:=0;
+        nexttokenpos:=0;
       end;
       end;
 
 
 
 
@@ -2221,7 +2238,7 @@ In case not, the value returned can be arbitrary.
 
 
                    line_no:=1;
                    line_no:=1;
                    if cs_asm_source in current_settings.globalswitches then
                    if cs_asm_source in current_settings.globalswitches then
-                     inputfile.setline(line_no,bufstart);
+                     inputfile.setline(line_no,inputstart+inputpointer-inputbuffer);
                  end;
                  end;
               end
               end
              else
              else
@@ -2274,27 +2291,65 @@ In case not, the value returned can be arbitrary.
         line_no:=line;
         line_no:=line;
         lastlinepos:=0;
         lastlinepos:=0;
         lasttokenpos:=0;
         lasttokenpos:=0;
+        nexttokenpos:=0;
       { load new c }
       { load new c }
         c:=inputpointer^;
         c:=inputpointer^;
         inc(inputpointer);
         inc(inputpointer);
       end;
       end;
 
 
 
 
+    procedure tscannerfile.do_gettokenpos(out tokenpos: longint; out filepos: tfileposinfo);
+      begin
+        tokenpos:=inputstart+(inputpointer-inputbuffer);
+        filepos.line:=line_no;
+        filepos.column:=tokenpos-lastlinepos;
+        filepos.fileindex:=inputfile.ref_index;
+        filepos.moduleindex:=current_module.unit_index;
+      end;
+
+
     procedure tscannerfile.gettokenpos;
     procedure tscannerfile.gettokenpos;
     { load the values of tokenpos and lasttokenpos }
     { load the values of tokenpos and lasttokenpos }
       begin
       begin
-        lasttokenpos:=inputstart+(inputpointer-inputbuffer);
-        current_tokenpos.line:=line_no;
-        current_tokenpos.column:=lasttokenpos-lastlinepos;
-        current_tokenpos.fileindex:=inputfile.ref_index;
-        current_tokenpos.moduleindex:=current_module.unit_index;
+        do_gettokenpos(lasttokenpos,current_tokenpos);
+        current_filepos:=current_tokenpos;
+      end;
+
+
+    procedure tscannerfile.cachenexttokenpos;
+      begin
+        do_gettokenpos(nexttokenpos,next_filepos);
+      end;
+
+
+    procedure tscannerfile.setnexttoken;
+      begin
+        token:=nexttoken;
+        nexttoken:=NOTOKEN;
+        lasttokenpos:=nexttokenpos;
+        current_tokenpos:=next_filepos;
         current_filepos:=current_tokenpos;
         current_filepos:=current_tokenpos;
+        nexttokenpos:=0;
+      end;
+
+
+    procedure tscannerfile.savetokenpos;
+      begin
+        oldlasttokenpos:=lasttokenpos;
+        oldcurrent_filepos:=current_filepos;
+        oldcurrent_tokenpos:=current_tokenpos;
+      end;
+
+
+    procedure tscannerfile.restoretokenpos;
+      begin
+        lasttokenpos:=oldlasttokenpos;
+        current_filepos:=oldcurrent_filepos;
+        current_tokenpos:=oldcurrent_tokenpos;
       end;
       end;
 
 
 
 
     procedure tscannerfile.inc_comment_level;
     procedure tscannerfile.inc_comment_level;
-      var
-         oldcurrent_filepos : tfileposinfo;
       begin
       begin
          if (m_nested_comment in current_settings.modeswitches) then
          if (m_nested_comment in current_settings.modeswitches) then
            inc(comment_level)
            inc(comment_level)
@@ -2302,10 +2357,10 @@ In case not, the value returned can be arbitrary.
            comment_level:=1;
            comment_level:=1;
          if (comment_level>1) then
          if (comment_level>1) then
           begin
           begin
-             oldcurrent_filepos:=current_filepos;
+             savetokenpos;
              gettokenpos; { update for warning }
              gettokenpos; { update for warning }
              Message1(scan_w_comment_level,tostr(comment_level));
              Message1(scan_w_comment_level,tostr(comment_level));
-             current_filepos:=oldcurrent_filepos;
+             restoretokenpos;
           end;
           end;
       end;
       end;
 
 
@@ -2322,8 +2377,6 @@ In case not, the value returned can be arbitrary.
     procedure tscannerfile.linebreak;
     procedure tscannerfile.linebreak;
       var
       var
          cur : char;
          cur : char;
-         oldtokenpos,
-         oldcurrent_filepos : tfileposinfo;
       begin
       begin
         with inputfile do
         with inputfile do
          begin
          begin
@@ -2343,20 +2396,18 @@ In case not, the value returned can be arbitrary.
            { Always return #10 as line break }
            { Always return #10 as line break }
            c:=#10;
            c:=#10;
            { increase line counters }
            { increase line counters }
-           lastlinepos:=bufstart+(inputpointer-inputbuffer);
+           lastlinepos:=inputstart+(inputpointer-inputbuffer);
            inc(line_no);
            inc(line_no);
            { update linebuffer }
            { update linebuffer }
            if cs_asm_source in current_settings.globalswitches then
            if cs_asm_source in current_settings.globalswitches then
              inputfile.setline(line_no,lastlinepos);
              inputfile.setline(line_no,lastlinepos);
            { update for status and call the show status routine,
            { update for status and call the show status routine,
              but don't touch current_filepos ! }
              but don't touch current_filepos ! }
-           oldcurrent_filepos:=current_filepos;
-           oldtokenpos:=current_tokenpos;
+           savetokenpos;
            gettokenpos; { update for v_status }
            gettokenpos; { update for v_status }
            inc(status.compiledlines);
            inc(status.compiledlines);
            ShowStatus;
            ShowStatus;
-           current_filepos:=oldcurrent_filepos;
-           current_tokenpos:=oldtokenpos;
+           restoretokenpos;
          end;
          end;
       end;
       end;
 
 
@@ -2491,10 +2542,8 @@ In case not, the value returned can be arbitrary.
 
 
 
 
     procedure tscannerfile.handleconditional(p:tdirectiveitem);
     procedure tscannerfile.handleconditional(p:tdirectiveitem);
-      var
-        oldcurrent_filepos : tfileposinfo;
       begin
       begin
-        oldcurrent_filepos:=current_filepos;
+        savetokenpos;
         repeat
         repeat
           current_scanner.gettokenpos;
           current_scanner.gettokenpos;
           p.proc();
           p.proc();
@@ -2516,7 +2565,7 @@ In case not, the value returned can be arbitrary.
              Message1(scan_d_handling_switch,'$'+p.name);
              Message1(scan_d_handling_switch,'$'+p.name);
            end;
            end;
         until false;
         until false;
-        current_filepos:=oldcurrent_filepos;
+        restoretokenpos;
       end;
       end;
 
 
 
 
@@ -3235,8 +3284,7 @@ In case not, the value returned can be arbitrary.
       { was there already a token read, then return that token }
       { was there already a token read, then return that token }
         if nexttoken<>NOTOKEN then
         if nexttoken<>NOTOKEN then
          begin
          begin
-           token:=nexttoken;
-           nexttoken:=NOTOKEN;
+           setnexttoken;
            goto exit_label;
            goto exit_label;
          end;
          end;
 
 
@@ -3385,6 +3433,7 @@ In case not, the value returned can be arbitrary.
                   { first check for a . }
                   { first check for a . }
                     if c='.' then
                     if c='.' then
                      begin
                      begin
+                       cachenexttokenpos;
                        readchar;
                        readchar;
                        { is it a .. from a range? }
                        { is it a .. from a range? }
                        case c of
                        case c of

+ 2 - 2
compiler/symsym.pas

@@ -1743,8 +1743,8 @@ implementation
     constructor ttypesym.create(const n : string;def:tdef);
     constructor ttypesym.create(const n : string;def:tdef);
 
 
       begin
       begin
-         inherited create(typesym,n);
-         typedef:=def;
+        inherited create(typesym,n);
+        typedef:=def;
         { register the typesym for the definition }
         { register the typesym for the definition }
         if assigned(typedef) and
         if assigned(typedef) and
            (typedef.typ<>errordef) and
            (typedef.typ<>errordef) and

+ 51 - 48
compiler/symtable.pas

@@ -565,70 +565,73 @@ implementation
          if (tsym(sym).typ in [staticvarsym,localvarsym,paravarsym,fieldvarsym]) and
          if (tsym(sym).typ in [staticvarsym,localvarsym,paravarsym,fieldvarsym]) and
             ((tsym(sym).owner.symtabletype in
             ((tsym(sym).owner.symtabletype in
              [parasymtable,localsymtable,ObjectSymtable,staticsymtable])) then
              [parasymtable,localsymtable,ObjectSymtable,staticsymtable])) then
-          begin
-           { unused symbol should be reported only if no }
-           { error is reported                     }
-           { if the symbol is in a register it is used   }
-           { also don't count the value parameters which have local copies }
-           { also don't claim for high param of open parameters (PM) }
-           if (Errorcount<>0) or
-              ([vo_is_hidden_para,vo_is_funcret] * tabstractvarsym(sym).varoptions = [vo_is_hidden_para]) then
-             exit;
-           if (tstoredsym(sym).refs=0) then
-             begin
-                if (vo_is_funcret in tabstractvarsym(sym).varoptions) then
-                  begin
-                    { don't warn about the result of constructors }
-                    if ((tsym(sym).owner.symtabletype<>localsymtable) or
-                       (tprocdef(tsym(sym).owner.defowner).proctypeoption<>potype_constructor)) and
-                       not(cs_opt_nodedfa in current_settings.optimizerswitches) then
-                      MessagePos(tsym(sym).fileinfo,sym_w_function_result_not_set)
-                  end
-                else if (tsym(sym).owner.symtabletype=parasymtable) then
-                  MessagePos1(tsym(sym).fileinfo,sym_h_para_identifier_not_used,tsym(sym).realname)
-                else if (tsym(sym).owner.symtabletype=ObjectSymtable) then
-                  MessagePos2(tsym(sym).fileinfo,sym_n_private_identifier_not_used,tsym(sym).owner.realname^,tsym(sym).realname)
-                else
-                  MessagePos1(tsym(sym).fileinfo,sym_n_local_identifier_not_used,tsym(sym).realname);
-             end
-           else if tabstractvarsym(sym).varstate in [vs_written,vs_initialised] then
-             begin
-                if (tsym(sym).owner.symtabletype=parasymtable) then
-                  begin
-                    if not(tabstractvarsym(sym).varspez in [vs_var,vs_out]) and
-                       not(vo_is_funcret in tabstractvarsym(sym).varoptions) then
-                      MessagePos1(tsym(sym).fileinfo,sym_h_para_identifier_only_set,tsym(sym).realname)
-                  end
-                else if (tsym(sym).owner.symtabletype=ObjectSymtable) then
-                  MessagePos2(tsym(sym).fileinfo,sym_n_private_identifier_only_set,tsym(sym).owner.realname^,tsym(sym).realname)
-                else if tabstractvarsym(sym).varoptions*[vo_is_funcret,vo_is_public,vo_is_external]=[] then
-                  MessagePos1(tsym(sym).fileinfo,sym_n_local_identifier_only_set,tsym(sym).realname);
-             end
-           else if (tabstractvarsym(sym).varstate = vs_read_not_warned) and
-                   ([vo_is_public,vo_is_external] * tabstractvarsym(sym).varoptions = []) then
-             MessagePos1(tsym(sym).fileinfo,sym_w_identifier_only_read,tsym(sym).realname)
-         end
-      else if ((tsym(sym).owner.symtabletype in
+           begin
+            { unused symbol should be reported only if no }
+            { error is reported                     }
+            { if the symbol is in a register it is used   }
+            { also don't count the value parameters which have local copies }
+            { also don't claim for high param of open parameters (PM) }
+            if (Errorcount<>0) or
+               ([vo_is_hidden_para,vo_is_funcret] * tabstractvarsym(sym).varoptions = [vo_is_hidden_para]) then
+              exit;
+            if (tstoredsym(sym).refs=0) then
+              begin
+                 if (vo_is_funcret in tabstractvarsym(sym).varoptions) then
+                   begin
+                     { don't warn about the result of constructors }
+                     if ((tsym(sym).owner.symtabletype<>localsymtable) or
+                        (tprocdef(tsym(sym).owner.defowner).proctypeoption<>potype_constructor)) and
+                        not(cs_opt_nodedfa in current_settings.optimizerswitches) then
+                       MessagePos(tsym(sym).fileinfo,sym_w_function_result_not_set)
+                   end
+                 else if (tsym(sym).owner.symtabletype=parasymtable) then
+                   MessagePos1(tsym(sym).fileinfo,sym_h_para_identifier_not_used,tsym(sym).prettyname)
+                 else if (tsym(sym).owner.symtabletype=ObjectSymtable) then
+                   MessagePos2(tsym(sym).fileinfo,sym_n_private_identifier_not_used,tsym(sym).owner.realname^,tsym(sym).prettyname)
+                 else
+                   MessagePos1(tsym(sym).fileinfo,sym_n_local_identifier_not_used,tsym(sym).prettyname);
+              end
+            else if tabstractvarsym(sym).varstate in [vs_written,vs_initialised] then
+              begin
+                 if (tsym(sym).owner.symtabletype=parasymtable) then
+                   begin
+                     if not(tabstractvarsym(sym).varspez in [vs_var,vs_out]) and
+                        not(vo_is_funcret in tabstractvarsym(sym).varoptions) then
+                       MessagePos1(tsym(sym).fileinfo,sym_h_para_identifier_only_set,tsym(sym).prettyname)
+                   end
+                 else if (tsym(sym).owner.symtabletype=ObjectSymtable) then
+                   MessagePos2(tsym(sym).fileinfo,sym_n_private_identifier_only_set,tsym(sym).owner.realname^,tsym(sym).prettyname)
+                 else if tabstractvarsym(sym).varoptions*[vo_is_funcret,vo_is_public,vo_is_external]=[] then
+                   MessagePos1(tsym(sym).fileinfo,sym_n_local_identifier_only_set,tsym(sym).prettyname);
+              end
+            else if (tabstractvarsym(sym).varstate = vs_read_not_warned) and
+                    ([vo_is_public,vo_is_external] * tabstractvarsym(sym).varoptions = []) then
+              MessagePos1(tsym(sym).fileinfo,sym_w_identifier_only_read,tsym(sym).prettyname)
+          end
+        else if ((tsym(sym).owner.symtabletype in
               [ObjectSymtable,parasymtable,localsymtable,staticsymtable])) then
               [ObjectSymtable,parasymtable,localsymtable,staticsymtable])) then
           begin
           begin
            if (Errorcount<>0) or
            if (Errorcount<>0) or
               (sp_internal in tsym(sym).symoptions) then
               (sp_internal in tsym(sym).symoptions) then
              exit;
              exit;
            { do not claim for inherited private fields !! }
            { do not claim for inherited private fields !! }
-           if (Tsym(sym).refs=0) and (tsym(sym).owner.symtabletype=ObjectSymtable) then
-             MessagePos2(tsym(sym).fileinfo,sym_n_private_method_not_used,tsym(sym).owner.realname^,tsym(sym).realname)
+           if (tsym(sym).refs=0) and (tsym(sym).owner.symtabletype=ObjectSymtable) then
+             MessagePos2(tsym(sym).fileinfo,sym_n_private_method_not_used,tsym(sym).owner.realname^,tsym(sym).prettyname)
            { units references are problematic }
            { units references are problematic }
            else
            else
             begin
             begin
-              if (Tsym(sym).refs=0) and
+              if (tsym(sym).refs=0) and
                  not(tsym(sym).typ in [enumsym,unitsym]) and
                  not(tsym(sym).typ in [enumsym,unitsym]) and
                  not(is_funcret_sym(tsym(sym))) and
                  not(is_funcret_sym(tsym(sym))) and
+                 { don't complain about compiler generated syms for specializations, see also #13405 }
+                 not((tsym(sym).typ=typesym) and (df_specialization in ttypesym(sym).typedef.defoptions) and
+                    (pos('$',ttypesym(sym).Realname)<>0)) and
                  (
                  (
                   (tsym(sym).typ<>procsym) or
                   (tsym(sym).typ<>procsym) or
                   ((tsym(sym).owner.symtabletype=staticsymtable) and
                   ((tsym(sym).owner.symtabletype=staticsymtable) and
                    not current_module.is_unit)
                    not current_module.is_unit)
                  ) then
                  ) then
-                MessagePos2(tsym(sym).fileinfo,sym_h_local_symbol_not_used,SymTypeName[tsym(sym).typ],tsym(sym).realname);
+                MessagePos2(tsym(sym).fileinfo,sym_h_local_symbol_not_used,SymTypeName[tsym(sym).typ],tsym(sym).prettyname);
             end;
             end;
           end;
           end;
       end;
       end;

+ 8 - 1
compiler/symtype.pas

@@ -98,13 +98,14 @@ interface
       public
       public
          fileinfo   : tfileposinfo;
          fileinfo   : tfileposinfo;
          symoptions : tsymoptions;
          symoptions : tsymoptions;
-         visibility : tvisibility;
          refs       : longint;
          refs       : longint;
          reflist    : TLinkedList;
          reflist    : TLinkedList;
+         visibility : tvisibility;
          isdbgwritten : boolean;
          isdbgwritten : boolean;
          constructor create(st:tsymtyp;const aname:string);
          constructor create(st:tsymtyp;const aname:string);
          destructor  destroy;override;
          destructor  destroy;override;
          function  mangledname:string; virtual;
          function  mangledname:string; virtual;
+         function  prettyname:string; virtual;
          procedure buildderef;virtual;
          procedure buildderef;virtual;
          procedure deref;virtual;
          procedure deref;virtual;
          procedure ChangeOwner(st:TSymtable);
          procedure ChangeOwner(st:TSymtable);
@@ -388,6 +389,12 @@ implementation
       end;
       end;
 
 
 
 
+    function tsym.prettyname : string;
+      begin
+        result:=realname;
+      end;
+
+
     procedure tsym.ChangeOwner(st:TSymtable);
     procedure tsym.ChangeOwner(st:TSymtable);
       begin
       begin
         Owner:=st;
         Owner:=st;

+ 48 - 26
compiler/systems/t_linux.pas

@@ -380,6 +380,10 @@ begin
       { try to add crti and crtbegin if linking to C }
       { try to add crti and crtbegin if linking to C }
       if linklibc and (libctype<>uclibc) then
       if linklibc and (libctype<>uclibc) then
        begin
        begin
+         { crti.o must come first }
+         if librarysearchpath.FindFile('crti.o',false,s) then
+           AddFileName(s);
+         { then the crtbegin* }
          { x86_64 requires this to use entry/exit code with pic,
          { x86_64 requires this to use entry/exit code with pic,
            see also issue #8210 regarding a discussion
            see also issue #8210 regarding a discussion
            no idea about the other non i386 CPUs (FK)
            no idea about the other non i386 CPUs (FK)
@@ -392,10 +396,11 @@ begin
            end
            end
          else
          else
 {$endif x86_64}
 {$endif x86_64}
-           if librarysearchpath.FindFile('crtbegin.o',false,s) then
+           if (cs_link_staticflag in current_settings.globalswitches) and
+              librarysearchpath.FindFile('crtbeginT.o',false,s) then
+             AddFileName(s)
+           else if librarysearchpath.FindFile('crtbegin.o',false,s) then
              AddFileName(s);
              AddFileName(s);
-         if librarysearchpath.FindFile('crti.o',false,s) then
-           AddFileName(s);
        end;
        end;
       { main objectfiles }
       { main objectfiles }
       while not ObjectFiles.Empty do
       while not ObjectFiles.Empty do
@@ -429,29 +434,46 @@ begin
       if not SharedLibFiles.Empty then
       if not SharedLibFiles.Empty then
        begin
        begin
 
 
-         Add('INPUT(');
-         While not SharedLibFiles.Empty do
-          begin
-            S:=SharedLibFiles.GetFirst;
-            if (s<>'c') or reorder then
-             begin
-               i:=Pos(target_info.sharedlibext,S);
-               if i>0 then
-                Delete(S,i,255);
-               Add('-l'+s);
-             end
-            else
-             begin
-               linklibc:=true;
-             end;
-          end;
-         { be sure that libc is the last lib }
-         if linklibc and not reorder then
-          Add('-lc');
-         { when we have -static for the linker the we also need libgcc }
-         if (cs_link_staticflag in current_settings.globalswitches) then
-          Add('-lgcc');
-         Add(')');
+         if (SharedLibFiles.Count<>1) or
+            (TCmdStrListItem(SharedLibFiles.First).Str<>'c') or
+            reorder then
+           begin
+             Add('INPUT(');
+             While not SharedLibFiles.Empty do
+              begin
+                S:=SharedLibFiles.GetFirst;
+                if (s<>'c') or reorder then
+                 begin
+                   i:=Pos(target_info.sharedlibext,S);
+                   if i>0 then
+                    Delete(S,i,255);
+                   Add('-l'+s);
+                 end
+                else
+                 begin
+                   linklibc:=true;
+                 end;
+              end;
+             Add(')');
+           end
+         else
+           linklibc:=true;
+         if (cs_link_staticflag in current_settings.globalswitches) or
+            (linklibc and not reorder) then
+           begin
+             Add('GROUP(');
+             { when we have -static for the linker the we also need libgcc }
+             if (cs_link_staticflag in current_settings.globalswitches) then
+               begin
+                 Add('-lgcc');
+                 if librarysearchpath.FindFile('libgcc_eh.a',false,s1) then
+                   Add('-lgcc_eh');
+               end;
+             { be sure that libc is the last lib }
+             if linklibc and not reorder then
+               Add('-lc');
+             Add(')');
+           end;
        end;
        end;
 
 
       { objects which must be at the end }
       { objects which must be at the end }

+ 17 - 1
compiler/utils/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/01/26]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -1179,6 +1181,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1186,6 +1189,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1222,6 +1226,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1230,6 +1235,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1269,17 +1275,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1306,14 +1315,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1360,6 +1372,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1420,6 +1433,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1431,6 +1445,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1442,6 +1457,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
compiler/version.pas

@@ -28,7 +28,7 @@ interface
     const
     const
        { version string }
        { version string }
        version_nr = '2';
        version_nr = '2';
-       release_nr = '3';
+       release_nr = '5';
        patch_nr   = '1';
        patch_nr   = '1';
        minorpatch = '';
        minorpatch = '';
 
 

+ 17 - 1
compiler/x86/aasmcpu.pas

@@ -2402,6 +2402,8 @@ implementation
       begin
       begin
         case getregtype(r) of
         case getregtype(r) of
           R_INTREGISTER :
           R_INTREGISTER :
+            { we don't need special code here for 32 bit loads on x86_64, since
+              those will automatically zero-extend the upper 32 bits. }
             result:=taicpu.op_ref_reg(A_MOV,reg2opsize(r),ref,r);
             result:=taicpu.op_ref_reg(A_MOV,reg2opsize(r),ref,r);
           R_MMREGISTER :
           R_MMREGISTER :
             case getsubreg(r) of
             case getsubreg(r) of
@@ -2421,10 +2423,24 @@ implementation
 
 
 
 
     function spilling_create_store(r:tregister; const ref:treference):Taicpu;
     function spilling_create_store(r:tregister; const ref:treference):Taicpu;
+      var
+        size: topsize;
       begin
       begin
         case getregtype(r) of
         case getregtype(r) of
           R_INTREGISTER :
           R_INTREGISTER :
-            result:=taicpu.op_reg_ref(A_MOV,reg2opsize(r),r,ref);
+            begin
+              size:=reg2opsize(r);
+{$ifdef x86_64}
+              { even if it's a 32 bit reg, we still have to spill 64 bits
+                because we often perform 64 bit operations on them }
+              if (size=S_L) then
+                begin
+                  size:=S_Q;
+                  r:=newreg(getregtype(r),getsupreg(r),R_SUBWHOLE);
+                end;
+{$endif x86_64}
+              result:=taicpu.op_reg_ref(A_MOV,size,r,ref);
+            end;
           R_MMREGISTER :
           R_MMREGISTER :
             case getsubreg(r) of
             case getsubreg(r) of
               R_SUBMMD:
               R_SUBMMD:

+ 1 - 7
compiler/x86/cgx86.pas

@@ -2123,13 +2123,7 @@ unit cgx86;
         if (cs_create_pic in current_settings.moduleswitches) and
         if (cs_create_pic in current_settings.moduleswitches) and
            { darwin/x86_64's assembler doesn't want @PLT after call symbols }
            { darwin/x86_64's assembler doesn't want @PLT after call symbols }
            (target_info.system<>system_x86_64_darwin) then
            (target_info.system<>system_x86_64_darwin) then
-          begin
-            { it could be that we're called from a procedure not having the
-              got loaded
-            }
-            g_maybe_got_init(list);
-            ref.refaddr:=addr_pic
-          end
+          ref.refaddr:=addr_pic
         else
         else
           ref.refaddr:=addr_full;
           ref.refaddr:=addr_full;
         list.concat(taicpu.op_ref(A_JMP,S_NO,ref));
         list.concat(taicpu.op_ref(A_JMP,S_NO,ref));

+ 10 - 1
compiler/x86/rgx86.pas

@@ -247,7 +247,16 @@ implementation
                       end;
                       end;
                     end;
                     end;
                 end;
                 end;
-            end;
+             end;
+
+            {$ifdef x86_64}
+            { 32 bit operations on 32 bit registers on x86_64 can result in
+              zeroing the upper 32 bits of the register. This does not happen
+              with memory operations, so we have to perform these calculations
+              in registers.  }
+            if (instr.opsize=S_L) then
+              replaceoper:=-1;
+            {$endif x86_64}
 
 
             { Replace register with spill reference }
             { Replace register with spill reference }
             if replaceoper<>-1 then
             if replaceoper<>-1 then

+ 93 - 2
ide/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=ide
 override PACKAGE_NAME=ide
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifndef PPC_TARGET
 ifndef PPC_TARGET
 PPC_TARGET=$(CPU_TARGET)
 PPC_TARGET=$(CPU_TARGET)
 endif
 endif
@@ -1072,6 +1074,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1079,6 +1082,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1115,6 +1119,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1123,6 +1128,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1162,17 +1168,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1199,14 +1208,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1253,6 +1265,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1313,6 +1326,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1324,6 +1338,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1335,6 +1350,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
@@ -1613,6 +1629,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1652,6 +1669,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1661,6 +1679,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1670,6 +1689,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1732,7 +1752,9 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1796,6 +1818,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1805,6 +1828,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1868,6 +1892,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1903,7 +1928,9 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1931,6 +1958,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1967,6 +1995,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1976,6 +2005,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -1984,7 +2014,9 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -2014,6 +2046,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -2031,7 +2064,9 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -2086,6 +2121,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -2094,7 +2130,9 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -2122,6 +2160,7 @@ REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_GDBINT=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_REGEXPR=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
@@ -2264,6 +2303,32 @@ ifdef UNITDIR_FCL-BASE
 override COMPILER_UNITDIR+=$(UNITDIR_FCL-BASE)
 override COMPILER_UNITDIR+=$(UNITDIR_FCL-BASE)
 endif
 endif
 endif
 endif
+ifdef REQUIRE_PACKAGES_ICONVENC
+PACKAGEDIR_ICONVENC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /iconvenc/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_ICONVENC),)
+ifneq ($(wildcard $(PACKAGEDIR_ICONVENC)/units/$(TARGETSUFFIX)),)
+UNITDIR_ICONVENC=$(PACKAGEDIR_ICONVENC)/units/$(TARGETSUFFIX)
+else
+UNITDIR_ICONVENC=$(PACKAGEDIR_ICONVENC)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_ICONVENC)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_ICONVENC) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_ICONVENC)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_ICONVENC=
+UNITDIR_ICONVENC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /iconvenc/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_ICONVENC),)
+UNITDIR_ICONVENC:=$(firstword $(UNITDIR_ICONVENC))
+else
+UNITDIR_ICONVENC=
+endif
+endif
+ifdef UNITDIR_ICONVENC
+override COMPILER_UNITDIR+=$(UNITDIR_ICONVENC)
+endif
+endif
 ifdef REQUIRE_PACKAGES_FCL-XML
 ifdef REQUIRE_PACKAGES_FCL-XML
 PACKAGEDIR_FCL-XML:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-xml/Makefile.fpc,$(PACKAGESDIR))))))
 PACKAGEDIR_FCL-XML:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-xml/Makefile.fpc,$(PACKAGESDIR))))))
 ifneq ($(PACKAGEDIR_FCL-XML),)
 ifneq ($(PACKAGEDIR_FCL-XML),)
@@ -2394,6 +2459,32 @@ ifdef UNITDIR_WINUNITS-JEDI
 override COMPILER_UNITDIR+=$(UNITDIR_WINUNITS-JEDI)
 override COMPILER_UNITDIR+=$(UNITDIR_WINUNITS-JEDI)
 endif
 endif
 endif
 endif
+ifdef REQUIRE_PACKAGES_UNIVINT
+PACKAGEDIR_UNIVINT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /univint/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_UNIVINT),)
+ifneq ($(wildcard $(PACKAGEDIR_UNIVINT)/units/$(TARGETSUFFIX)),)
+UNITDIR_UNIVINT=$(PACKAGEDIR_UNIVINT)/units/$(TARGETSUFFIX)
+else
+UNITDIR_UNIVINT=$(PACKAGEDIR_UNIVINT)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_UNIVINT)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_UNIVINT) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_UNIVINT)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_UNIVINT=
+UNITDIR_UNIVINT:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /univint/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_UNIVINT),)
+UNITDIR_UNIVINT:=$(firstword $(UNITDIR_UNIVINT))
+else
+UNITDIR_UNIVINT=
+endif
+endif
+ifdef UNITDIR_UNIVINT
+override COMPILER_UNITDIR+=$(UNITDIR_UNIVINT)
+endif
+endif
 ifndef NOCPUDEF
 ifndef NOCPUDEF
 override FPCOPTDEF=$(ARCH)
 override FPCOPTDEF=$(ARCH)
 endif
 endif

+ 1 - 1
ide/Makefile.fpc

@@ -6,7 +6,7 @@
 
 
 [package]
 [package]
 name=ide
 name=ide
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 dirs=compiler
 dirs=compiler

+ 17 - 1
ide/compiler/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -1204,6 +1206,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1211,6 +1214,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1247,6 +1251,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1255,6 +1260,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1294,17 +1300,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1331,14 +1340,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1385,6 +1397,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1445,6 +1458,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1456,6 +1470,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1467,6 +1482,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 17 - 1
ide/fakegdb/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -657,6 +659,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -664,6 +667,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -700,6 +704,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -708,6 +713,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -747,17 +753,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -784,14 +793,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -838,6 +850,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -898,6 +911,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -909,6 +923,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -920,6 +935,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
ide/fpconst.pas

@@ -21,7 +21,7 @@ uses Views,App,
      WViews,WEditor,WHTMLHlp;
      WViews,WEditor,WHTMLHlp;
 
 
 const
 const
-     VersionStr           = '1.0.10';
+     VersionStr           = '1.0.12';
 
 
      MaxRecentFileCount   = 9;
      MaxRecentFileCount   = 9;
      MaxToolCount         = 16;
      MaxToolCount         = 16;

+ 4 - 2
ide/fpviews.pas

@@ -3894,7 +3894,9 @@ begin
        end;
        end;
     W^.HelpCtx:=hcSourceWindow;
     W^.HelpCtx:=hcSourceWindow;
     Desktop^.Insert(W);
     Desktop^.Insert(W);
+    { this makes loading a lot slower and is not needed as far as I can see (FK)
     Message(Application,evBroadcast,cmUpdate,nil);
     Message(Application,evBroadcast,cmUpdate,nil);
+    }
   end;
   end;
   PopStatus;
   PopStatus;
   IOpenEditorWindow:=W;
   IOpenEditorWindow:=W;
@@ -3986,7 +3988,7 @@ begin
  FindFirst(filename,anyfile,Srec);
  FindFirst(filename,anyfile,Srec);
  while (DosError=0) do
  while (DosError=0) do
    begin
    begin
-     ITryToOpenFile(Bounds,dir+srec.name,CurX,CurY,tryexts,true,false);    
+     ITryToOpenFile(Bounds,dir+srec.name,CurX,CurY,tryexts,true,false);
      FindNext(srec);
      FindNext(srec);
    end;
    end;
   FindClose(srec);
   FindClose(srec);
@@ -4249,7 +4251,7 @@ begin
   else
   else
 {$endif NODEBUG}
 {$endif NODEBUG}
     R2.Move(0,2);
     R2.Move(0,2);
-  Insert(New(PStaticText, Init(R2, ^C'Copyright (C) 1998-2008 by')));
+  Insert(New(PStaticText, Init(R2, ^C'Copyright (C) 1998-2009 by')));
   R2.Move(0,2);
   R2.Move(0,2);
   Insert(New(PStaticText, Init(R2, ^C'B‚rczi G bor')));
   Insert(New(PStaticText, Init(R2, ^C'B‚rczi G bor')));
   R2.Move(0,1);
   R2.Move(0,1);

+ 30 - 22
ide/wchmhwrap.pas

@@ -15,13 +15,13 @@
  **********************************************************************}
  **********************************************************************}
 unit wchmhwrap;
 unit wchmhwrap;
 
 
-interface 
+interface
 {$Mode Delphi}
 {$Mode Delphi}
 
 
 Uses  wutils,whelp,whtml,SysUtils,ChmReader,ChmSiteMap,Classes;
 Uses  wutils,whelp,whtml,SysUtils,ChmReader,ChmSiteMap,Classes;
 
 
 Type
 Type
-//      TopicLinks: PTopicLinkCollection;IndexEntries : PUnsortedIndexEntryCollection;  
+//      TopicLinks: PTopicLinkCollection;IndexEntries : PUnsortedIndexEntryCollection;
 
 
      TChmWrapper = Class
      TChmWrapper = Class
                      private
                      private
@@ -30,7 +30,7 @@ Type
                        findex: TChmSiteMap;
                        findex: TChmSiteMap;
                        ftopic: TChmSiteMap;
                        ftopic: TChmSiteMap;
                        floaded  : boolean;
                        floaded  : boolean;
-                     public    
+                     public
                       constructor Create(name:String);
                       constructor Create(name:String);
                       function	  LoadIndex(id:integer;TopicLinks: PTopicLinkCollection;IndexEntries : PUnsortedIndexEntryCollection;helpfacility:PHelpFacility):boolean;
                       function	  LoadIndex(id:integer;TopicLinks: PTopicLinkCollection;IndexEntries : PUnsortedIndexEntryCollection;helpfacility:PHelpFacility):boolean;
                       function    GetTopic(name:string):PMemoryTextFile;
                       function    GetTopic(name:string):PMemoryTextFile;
@@ -56,11 +56,19 @@ begin
        basepath:=extractfiledir(basepath);
        basepath:=extractfiledir(basepath);
        delete(relpath,1,3);
        delete(relpath,1,3);
      end;
      end;
-       
-   {$ifdef combinedebug}
+
+  {$ifdef combinedebug}
     debugmessageS({$i %file%},'combine out "'+relpath+'" and "'+basepath+'"',{$i %line%},'1',0,0);
     debugmessageS({$i %file%},'combine out "'+relpath+'" and "'+basepath+'"',{$i %line%},'1',0,0);
   {$endif}
   {$endif}
-  
+  if (length(basepath)>0) and (length(relpath)>0) then
+    begin
+      if (relpath[1]<>'/') and (basepath[length(basepath)]<>'/') then
+        basepath:=basepath+'/';
+       {$ifdef combinedebug}
+        debugmessageS({$i %file%},'combine out2 "'+relpath+'" and "'+basepath+'"',{$i %line%},'1',0,0);
+       {$endif}
+    end;
+
   result:=basepath+relpath;
   result:=basepath+relpath;
 end;
 end;
 
 
@@ -75,8 +83,8 @@ begin
     begin
     begin
       freeandnil(fchmr);
       freeandnil(fchmr);
       freeandnil(ffs);
       freeandnil(ffs);
-      exit;  
-    end;      
+      exit;
+    end;
   {$ifdef wdebug}
   {$ifdef wdebug}
     debugmessageS({$i %file%},'TCHMWrapper: before sitemap creation ',{$i %line%},'1',0,0);
     debugmessageS({$i %file%},'TCHMWrapper: before sitemap creation ',{$i %line%},'1',0,0);
   {$endif}
   {$endif}
@@ -97,7 +105,7 @@ begin
 //  if (length(alias)>0) and (alias[1]<>'/') then Alias:='/'+alias;
 //  if (length(alias)>0) and (alias[1]<>'/') then Alias:='/'+alias;
   FormatAlias:=Alias;
   FormatAlias:=Alias;
 end;
 end;
-              
+
 var
 var
     m : Classes.TMemoryStream;
     m : Classes.TMemoryStream;
     i,j : integer;
     i,j : integer;
@@ -108,15 +116,15 @@ begin
  if not assigned (fchmr) then exit;
  if not assigned (fchmr) then exit;
  if floaded then exit;
  if floaded then exit;
  {$ifdef wdebug}
  {$ifdef wdebug}
-     debugmessageS({$i %file%},'TCHMWrapper: indexfilename:'+fchmr.indexfile,{$i %line%},'1',0,0); 
+     debugmessageS({$i %file%},'TCHMWrapper: indexfilename:'+fchmr.indexfile,{$i %line%},'1',0,0);
  {$endif}
  {$endif}
-  
+
   m:=fchmr.getobject(fchmr.indexfile);
   m:=fchmr.getobject(fchmr.indexfile);
   try
   try
    if assigned(m) then
    if assigned(m) then
      begin
      begin
       {$ifdef wdebug}
       {$ifdef wdebug}
-       debugmessageS({$i %file%},'TCHMWrapper: stream size loaded :'+inttostr(m.size),{$i %line%},'1',0,0); 
+       debugmessageS({$i %file%},'TCHMWrapper: stream size loaded :'+inttostr(m.size),{$i %line%},'1',0,0);
       {$endif}
       {$endif}
       findex.loadfromStream(m);
       findex.loadfromStream(m);
     end;
     end;
@@ -124,21 +132,21 @@ begin
     freeandnil(m);
     freeandnil(m);
     end;
     end;
    {$ifdef wdebug}
    {$ifdef wdebug}
-     debugmessageS({$i %file%},'TCHMWrapper: loadindex after final ',{$i %line%},'1',0,0); 
+     debugmessageS({$i %file%},'TCHMWrapper: loadindex after final ',{$i %line%},'1',0,0);
   {$endif}
   {$endif}
-  
-  tli:=TopicLinks^.AddItem(fchmr.defaultpage); 
+
+  tli:=TopicLinks^.AddItem(fchmr.defaultpage);
   TLI:=EncodeHTMLCtx(ID,TLI+1);
   TLI:=EncodeHTMLCtx(ID,TLI+1);
   IndexEntries^.Insert(NewIndexEntry(  FormatAlias('Table of contents'),ID,TLI));
   IndexEntries^.Insert(NewIndexEntry(  FormatAlias('Table of contents'),ID,TLI));
   for i:=0 to findex.items.count-1 do
   for i:=0 to findex.items.count-1 do
     begin
     begin
       item:=findex.items.item[i];
       item:=findex.items.item[i];
-      tli:=TopicLinks^.AddItem('/'+item.local); 
+      tli:=TopicLinks^.AddItem('/'+item.local);
       TLI:=EncodeHTMLCtx(ID,TLI+1);
       TLI:=EncodeHTMLCtx(ID,TLI+1);
       IndexEntries^.Insert(NewIndexEntry(  FormatAlias(item.text),ID,TLI));
       IndexEntries^.Insert(NewIndexEntry(  FormatAlias(item.text),ID,TLI));
     end;
     end;
    {$ifdef wdebug}
    {$ifdef wdebug}
-     debugmessageS({$i %file%},'TCHMWrapper: endloadindex ',{$i %line%},'1',0,0); 
+     debugmessageS({$i %file%},'TCHMWrapper: endloadindex ',{$i %line%},'1',0,0);
   {$endif}
   {$endif}
   floaded:=true;
   floaded:=true;
   result:=true;
   result:=true;
@@ -161,7 +169,7 @@ begin
       if (s[i]=' ') and not inquote then lastpoint:=i;
       if (s[i]=' ') and not inquote then lastpoint:=i;
       if (s[i]='"') then inquote:=not inquote;
       if (s[i]='"') then inquote:=not inquote;
       inc(i);
       inc(i);
-    end;  
+    end;
   scanvalue:=lastpoint;
   scanvalue:=lastpoint;
 end;
 end;
 
 
@@ -191,19 +199,19 @@ var
 begin
 begin
   result:=nil;
   result:=nil;
   if not assigned(fchmr) or (name='') then exit;
   if not assigned(fchmr) or (name='') then exit;
-  
+
   If (name[1]<>'/') and (copy(name,1,7)<>'ms-its:') Then
   If (name[1]<>'/') and (copy(name,1,7)<>'ms-its:') Then
     name:='/'+name;
     name:='/'+name;
   linedata:=Classes.TStringList.create;
   linedata:=Classes.TStringList.create;
   try
   try
     {$ifdef wdebug}
     {$ifdef wdebug}
-     debugmessageS({$i %file%},'TCHMWrapper: Getting file '+name,{$i %line%},'1',0,0); 
+     debugmessageS({$i %file%},'TCHMWrapper: Getting file '+name,{$i %line%},'1',0,0);
     {$endif}
     {$endif}
 //    if uppercase(name)='TABLE OF CONTENTS' Then
 //    if uppercase(name)='TABLE OF CONTENTS' Then
   //    m:=fchmr.getobject(fchmr.tocfile)
   //    m:=fchmr.getobject(fchmr.tocfile)
 //    else
 //    else
       m:=fchmr.getobject(name);
       m:=fchmr.getobject(name);
-    
+
     if not assigned(m) then exit;
     if not assigned(m) then exit;
     linedata.loadfromstream(m);
     linedata.loadfromstream(m);
     result:=new(PMemoryTextFile,Init);
     result:=new(PMemoryTextFile,Init);
@@ -231,4 +239,4 @@ end;
 // m:=r.getobject(r.indexfile);
 // m:=r.getobject(r.indexfile);
 //  siteindex.loadfromStream(m);
 //  siteindex.loadfromStream(m);
 
 
-end.
+end.

+ 1 - 1
ide/whelp.pas

@@ -156,7 +156,7 @@ type
 const TopicCacheSize    : sw_integer = 10;
 const TopicCacheSize    : sw_integer = 10;
       HelpStreamBufSize : sw_integer = 4096;
       HelpStreamBufSize : sw_integer = 4096;
       HelpFacility      : PHelpFacility = nil;
       HelpFacility      : PHelpFacility = nil;
-      MaxHelpTopicSize  : sw_word = 3*65520;
+      MaxHelpTopicSize  : sw_word = 1024*1024;
 
 
 function  NewTopic(FileID: byte; HelpCtx: THelpCtx; Pos: longint; Param: string;
 function  NewTopic(FileID: byte; HelpCtx: THelpCtx; Pos: longint; Param: string;
           ExtData: pointer; ExtDataSize: longint): PTopic;
           ExtData: pointer; ExtDataSize: longint): PTopic;

+ 2 - 2
ide/whtml.pas

@@ -120,7 +120,7 @@ Type
     TTopicLinkCollection = object(TStringCollection)
     TTopicLinkCollection = object(TStringCollection)
       procedure   Insert(Item: Pointer); virtual;
       procedure   Insert(Item: Pointer); virtual;
       function    At(Index: sw_Integer): PString;
       function    At(Index: sw_Integer): PString;
-      function    AddItem(Item: string): integer;
+      function    AddItem(Item: string): sw_integer;
     end;
     end;
 
 
 function EncodeHTMLCtx(FileID: integer; LinkNo: word): longint;
 function EncodeHTMLCtx(FileID: integer; LinkNo: word): longint;
@@ -901,7 +901,7 @@ begin
   At:=inherited At(Index);
   At:=inherited At(Index);
 end;
 end;
 
 
-function TTopicLinkCollection.AddItem(Item: string): integer;
+function TTopicLinkCollection.AddItem(Item: string): sw_integer;
 var Idx: sw_integer;
 var Idx: sw_integer;
 begin
 begin
   if Item='' then Idx:=-1 else
   if Item='' then Idx:=-1 else

+ 21 - 12
ide/whtmlhlp.pas

@@ -149,7 +149,7 @@ type
     TCHMTopicRenderer = object(THTMLTopicRenderer)
     TCHMTopicRenderer = object(THTMLTopicRenderer)
       function CanonicalizeURL(const Base,Relative:String):string; virtual;
       function CanonicalizeURL(const Base,Relative:String):string; virtual;
       end;
       end;
-      
+
     PCustomHTMLHelpFile = ^TCustomHTMLHelpFile;
     PCustomHTMLHelpFile = ^TCustomHTMLHelpFile;
     TCustomHTMLHelpFile = object(THelpFile)
     TCustomHTMLHelpFile = object(THelpFile)
       constructor Init(AID: word);
       constructor Init(AID: word);
@@ -165,7 +165,7 @@ type
       CurFileName: string;
       CurFileName: string;
       TopicLinks: PTopicLinkCollection;
       TopicLinks: PTopicLinkCollection;
     end;
     end;
-   
+
     PHTMLHelpFile = ^THTMLHelpFile;
     PHTMLHelpFile = ^THTMLHelpFile;
     THTMLHelpFile = object(TCustomHTMLHelpFile)
     THTMLHelpFile = object(TCustomHTMLHelpFile)
       constructor Init(AFileName: string; AID: word; ATOCEntry: string);
       constructor Init(AFileName: string; AID: word; ATOCEntry: string);
@@ -178,7 +178,7 @@ type
     PCHMHelpFile = ^TCHMHelpFile;
     PCHMHelpFile = ^TCHMHelpFile;
     TCHMHelpFile = object(TCustomHTMLHelpFile)
     TCHMHelpFile = object(TCustomHTMLHelpFile)
       constructor Init(AFileName: string; AID: word);
       constructor Init(AFileName: string; AID: word);
-      destructor  Done; virtual; 
+      destructor  Done; virtual;
     public
     public
       function    LoadIndex: boolean; virtual;
       function    LoadIndex: boolean; virtual;
       function    ReadTopic(T: PTopic): boolean; virtual;
       function    ReadTopic(T: PTopic): boolean; virtual;
@@ -651,7 +651,7 @@ begin
 {$IFDEF WDEBUG}
 {$IFDEF WDEBUG}
               DebugMessageS({$i %file%},' Adding Link1 "'+HRef+'"'+' "'+url+'"',{$i %line%},'1',0,0);
               DebugMessageS({$i %file%},' Adding Link1 "'+HRef+'"'+' "'+url+'"',{$i %line%},'1',0,0);
 {$ENDIF WDEBUG}
 {$ENDIF WDEBUG}
-              
+
               if pos('#',HRef)=1 then
               if pos('#',HRef)=1 then
                 Href:=NameAndExtOf(GetFilename)+Href;
                 Href:=NameAndExtOf(GetFilename)+Href;
               HRef:=canonicalizeURL(URL,HRef);
               HRef:=canonicalizeURL(URL,HRef);
@@ -717,7 +717,7 @@ begin
     end;
     end;
 end;
 end;
 
 
-Function  THTMLTopicRenderer.CanonicalizeURL(const Base,Relative:String):string; 
+Function  THTMLTopicRenderer.CanonicalizeURL(const Base,Relative:String):string;
 // uses info from filesystem (curdir) -> overriden for CHM.
 // uses info from filesystem (curdir) -> overriden for CHM.
 begin
 begin
  CanonicalizeURL:=CompleteURL(Base,relative);
  CanonicalizeURL:=CompleteURL(Base,relative);
@@ -1307,6 +1307,12 @@ begin
               Topic^.Links^[I].FileID:=Topic^.FileID;
               Topic^.Links^[I].FileID:=Topic^.FileID;
               Topic^.Links^[I].Context:=EncodeHTMLCtx(Topic^.FileID,LinkIndexes[I]+1);
               Topic^.Links^[I].Context:=EncodeHTMLCtx(Topic^.FileID,LinkIndexes[I]+1);
             end;
             end;
+         {$IFDEF WDEBUG}
+          if Topic^.Linkcount>High(linkindexes) then
+           DebugMessageS({$i %file%},' Maximum links exceeded ('+inttostr(Topic^.LinkCount)+') '+URL,{$i %line%},'1',0,0);
+         {$endif WDEBUG}
+
+
           { --- topic text --- }
           { --- topic text --- }
           GetMem(TP,TextPtr);
           GetMem(TP,TextPtr);
           Move(Topic^.Text^,TP^,TextPtr);
           Move(Topic^.Text^,TP^,TextPtr);
@@ -1322,12 +1328,12 @@ begin
   BuildTopic:=OK;
   BuildTopic:=OK;
 end;
 end;
 
 
-Function  TCHMTopicRenderer.CanonicalizeURL(const Base,Relative:String):string; 
+Function  TCHMTopicRenderer.CanonicalizeURL(const Base,Relative:String):string;
 begin
 begin
- if copy(relative,1,7)<>'ms-its:' then 
+ if copy(relative,1,7)<>'ms-its:' then
    CanonicalizeUrl:=combinepaths(relative,base)
    CanonicalizeUrl:=combinepaths(relative,base)
   else
   else
-   CanonicalizeUrl:=relative; 
+   CanonicalizeUrl:=relative;
 end;
 end;
 
 
 constructor TCustomHTMLHelpFile.Init(AID: word);
 constructor TCustomHTMLHelpFile.Init(AID: word);
@@ -1390,7 +1396,7 @@ begin
 {$IFDEF WDEBUG}
 {$IFDEF WDEBUG}
           DebugMessageS({$i %file%},'(Topicinfo) Link before formatpath "'+link+'"',{$i %line%},'1',0,0);
           DebugMessageS({$i %file%},'(Topicinfo) Link before formatpath "'+link+'"',{$i %line%},'1',0,0);
 {$ENDIF WDEBUG}
 {$ENDIF WDEBUG}
-          
+
           Link:=FormatLink(Link);
           Link:=FormatLink(Link);
 {$IFDEF WDEBUG}
 {$IFDEF WDEBUG}
           DebugMessageS({$i %file%},'(Topicinfo) Link after formatpath "'+link+'"',{$i %line%},'1',0,0);
           DebugMessageS({$i %file%},'(Topicinfo) Link after formatpath "'+link+'"',{$i %line%},'1',0,0);
@@ -1584,11 +1590,11 @@ end;
 
 
 constructor TChmHelpFile.Init(AFileName: string; AID: word);
 constructor TChmHelpFile.Init(AFileName: string; AID: word);
 begin
 begin
-  if inherited Init(AID)=false then 
+  if inherited Init(AID)=false then
     Fail;
     Fail;
   Dispose(renderer,done);
   Dispose(renderer,done);
   renderer:=New(PCHMTopicRenderer, Init);
   renderer:=New(PCHMTopicRenderer, Init);
-  DefaultFileName:=AFileName; 
+  DefaultFileName:=AFileName;
   if (DefaultFileName='') or not ExistsFile(DefaultFilename) then
   if (DefaultFileName='') or not ExistsFile(DefaultFilename) then
   begin
   begin
     Done;
     Done;
@@ -1598,7 +1604,7 @@ begin
     chmw:=TCHMWrapper.Create(DefaultFileName);
     chmw:=TCHMWrapper.Create(DefaultFileName);
 end;
 end;
 
 
-function    TChmHelpFile.LoadIndex: boolean; 
+function    TChmHelpFile.LoadIndex: boolean;
 begin
 begin
   loadindex:=false;
   loadindex:=false;
   if assigned(chmw) then
   if assigned(chmw) then
@@ -1705,6 +1711,9 @@ begin
           begin
           begin
             Bookmark:=copy(Link,P+1,length(Link));
             Bookmark:=copy(Link,P+1,length(Link));
             Link:=copy(Link,1,P-1);
             Link:=copy(Link,1,P-1);
+            {$IFDEF WDEBUG}
+              debugMessageS({$i %file%},' Removed label: "'+Link+'"',{$i %line%},'1',0,0);
+            {$endif WDEBUG}
           end;
           end;
 {          if CurFileName='' then Name:=Link else
 {          if CurFileName='' then Name:=Link else
           Name:=CompletePath(CurFileName,Link);}
           Name:=CompletePath(CurFileName,Link);}

+ 18 - 2
installer/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=installer
 override PACKAGE_NAME=installer
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_PROGRAMS+=installer writeidx
 override TARGET_PROGRAMS+=installer writeidx
 endif
 endif
@@ -888,6 +890,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -895,6 +898,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -931,6 +935,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -939,6 +944,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -978,17 +984,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1015,14 +1024,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1069,6 +1081,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1129,6 +1142,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1140,6 +1154,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1151,6 +1166,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
installer/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=installer
 name=installer
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 programs_go32v2=install writeidx
 programs_go32v2=install writeidx

+ 6 - 4
installer/install.dat

@@ -5,8 +5,8 @@
 #
 #
 # Warning: no package should contain more than 16 files
 # Warning: no package should contain more than 16 files
 
 
-title=Free Pascal Compiler 2.2.4
-version=2.2.4
+title=Free Pascal Compiler 2.5.1
+version=2.5.1
 
 
 #
 #
 # General
 # General
@@ -426,10 +426,12 @@ pack=Commo~n~
 # Common 1
 # Common 1
 package=doc-pdf.zip,Documentation (~P~DF)
 package=doc-pdf.zip,Documentation (~P~DF)
 # Common 2
 # Common 2
-package=doc-html.zip[doc-htm.zip],Documentation (~H~TML)
+package=doc-chm.zip,Documentation (CH~M~)
 # Common 3
 # Common 3
-package=doc-txt.zip,Documentation (~T~XT)
+package=doc-html.zip[doc-htm.zip],Documentation (~H~TML)
 # Common 4
 # Common 4
+package=doc-txt.zip,Documentation (~T~XT)
+# Common 5
 package=demo.zip,D~e~mos
 package=demo.zip,D~e~mos
 
 
 
 

+ 4 - 4
installer/install.pas

@@ -85,7 +85,7 @@ program install;
      commands,
      commands,
      HelpCtx,
      HelpCtx,
 {$ENDIF}
 {$ENDIF}
-     unzip,ziptypes,
+     unzip51g,ziptypes,
 {$IFDEF DLL}
 {$IFDEF DLL}
      unzipdll,
      unzipdll,
 {$ENDIF}
 {$ENDIF}
@@ -93,8 +93,8 @@ program install;
      WHTMLScn,insthelp;
      WHTMLScn,insthelp;
 
 
   const
   const
-     installerversion='2.2.0';
-     installercopyright='Copyright (c) 1993-2008 Florian Klaempfl';
+     installerversion='2.5.1';
+     installercopyright='Copyright (c) 1993-2009 Florian Klaempfl';
 
 
 
 
      maxpacks=30;
      maxpacks=30;
@@ -1814,7 +1814,7 @@ end;
     begin
     begin
       GetExtent(R);
       GetExtent(R);
       R.A.Y := R.B.Y - 1;
       R.A.Y := R.B.Y - 1;
-      R.B.X := R.B.X - 12;
+      //R.B.X := R.B.X - 2;
       New(StatusLine,
       New(StatusLine,
         Init(R,
         Init(R,
           NewStatusDef(0, $EFFF,nil,nil
           NewStatusDef(0, $EFFF,nil,nil

+ 3 - 1
packages/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/07/25]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else

+ 18 - 2
packages/a52/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=a52
 override PACKAGE_NAME=a52
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=a52
 override TARGET_UNITS+=a52
 endif
 endif
@@ -1005,6 +1007,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1012,6 +1015,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1048,6 +1052,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1056,6 +1061,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1095,17 +1101,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1132,14 +1141,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1186,6 +1198,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1246,6 +1259,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1257,6 +1271,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1268,6 +1283,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
packages/a52/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=a52
 name=a52
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=a52
 units=a52

+ 18 - 2
packages/amunits/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=amunits
 override PACKAGE_NAME=amunits
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=msgbox amigautils wbargs vartags pastoc tagsarray systemvartags         deadkeys consoleio pcq longarray linklist hisoft timerutils easyasl     doublebuffer intuition graphics amigalib nonvolatile iffparse hardware  expansion diskfont conunit amigados configvars keyboard bootblock icon  cd realtime rexx translator scsidisk lowlevel configregs prefs parallel gadtools prtgfx romboot_base trackdisk expansionbase amigaguide         amigaprinter bullet clipboard keymap utility timer workbench colorwheel prtbase console locale tapedeck serial gameport gradientslider input    audio datatypes asl commodities hardblocks layers inputevent identify   gtlayout tritonmacros render mui picasso96api guigfx preferences        xadmaster cybergraphics ptreplay reqtools amarquee ttengine triton zlib mysticview ahi lucyplay ahi_sub
 override TARGET_UNITS+=msgbox amigautils wbargs vartags pastoc tagsarray systemvartags         deadkeys consoleio pcq longarray linklist hisoft timerutils easyasl     doublebuffer intuition graphics amigalib nonvolatile iffparse hardware  expansion diskfont conunit amigados configvars keyboard bootblock icon  cd realtime rexx translator scsidisk lowlevel configregs prefs parallel gadtools prtgfx romboot_base trackdisk expansionbase amigaguide         amigaprinter bullet clipboard keymap utility timer workbench colorwheel prtbase console locale tapedeck serial gameport gradientslider input    audio datatypes asl commodities hardblocks layers inputevent identify   gtlayout tritonmacros render mui picasso96api guigfx preferences        xadmaster cybergraphics ptreplay reqtools amarquee ttengine triton zlib mysticview ahi lucyplay ahi_sub
 endif
 endif
@@ -1005,6 +1007,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1012,6 +1015,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1048,6 +1052,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1056,6 +1061,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1095,17 +1101,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1132,14 +1141,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1186,6 +1198,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1246,6 +1259,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1257,6 +1271,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1268,6 +1283,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
packages/amunits/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=amunits
 name=amunits
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units= msgbox amigautils wbargs vartags pastoc tagsarray systemvartags         \
 units= msgbox amigautils wbargs vartags pastoc tagsarray systemvartags         \

+ 18 - 2
packages/amunits/src/utilunits/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=amunits
 override PACKAGE_NAME=amunits
-override PACKAGE_VERSION=2.0.0
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=amigautils consoleio deadkeys doublebuffer easyasl hisoft linklist longarray msgbox pastoc pcq systemvartags tagsarray timerutils vartags wbargs
 override TARGET_UNITS+=amigautils consoleio deadkeys doublebuffer easyasl hisoft linklist longarray msgbox pastoc pcq systemvartags tagsarray timerutils vartags wbargs
 endif
 endif
@@ -1179,6 +1181,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1186,6 +1189,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1222,6 +1226,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1230,6 +1235,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1269,17 +1275,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1306,14 +1315,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1360,6 +1372,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1420,6 +1433,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1431,6 +1445,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1442,6 +1457,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
packages/amunits/src/utilunits/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=amunits
 name=amunits
-version=2.0.0
+version=2.5.1
 
 
 [target]
 [target]
 units=amigautils consoleio deadkeys doublebuffer easyasl hisoft \
 units=amigautils consoleio deadkeys doublebuffer easyasl hisoft \

+ 18 - 2
packages/aspell/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/11/27]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=aspell
 override PACKAGE_NAME=aspell
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=aspell aspelldyn spellcheck
 override TARGET_UNITS+=aspell aspelldyn spellcheck
 endif
 endif
@@ -1005,6 +1007,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1012,6 +1015,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1048,6 +1052,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1056,6 +1061,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1095,17 +1101,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1132,14 +1141,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1186,6 +1198,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1246,6 +1259,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1257,6 +1271,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1268,6 +1283,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
packages/aspell/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=aspell
 name=aspell
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=aspell aspelldyn spellcheck
 units=aspell aspelldyn spellcheck

+ 18 - 2
packages/bfd/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=bfd
 override PACKAGE_NAME=bfd
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=bfd
 override TARGET_UNITS+=bfd
 endif
 endif
@@ -1007,6 +1009,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1014,6 +1017,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1050,6 +1054,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1058,6 +1063,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1097,17 +1103,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1134,14 +1143,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1188,6 +1200,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1248,6 +1261,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1259,6 +1273,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1270,6 +1285,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
packages/bfd/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=bfd
 name=bfd
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=bfd
 units=bfd

+ 4 - 2
packages/bzip2/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/06/27]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=bzip2
 override PACKAGE_NAME=bzip2
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=bzip2comn bzip2 bzip2stream
 override TARGET_UNITS+=bzip2comn bzip2 bzip2stream
 endif
 endif

+ 1 - 1
packages/bzip2/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=bzip2
 name=bzip2
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=bzip2comn bzip2 bzip2stream
 units=bzip2comn bzip2 bzip2stream

+ 49 - 2
packages/cairo/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=cairo
 override PACKAGE_NAME=cairo
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=cairo cairoft  cairoxlib
 override TARGET_UNITS+=cairo cairoft  cairoxlib
 endif
 endif
@@ -1036,6 +1038,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1043,6 +1046,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1079,6 +1083,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1087,6 +1092,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1126,17 +1132,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1163,14 +1172,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1217,6 +1229,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1277,6 +1290,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1288,6 +1302,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1299,6 +1314,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
@@ -1687,6 +1703,7 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_X11=1
 REQUIRE_PACKAGES_X11=1
@@ -1846,6 +1863,7 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_X11=1
 REQUIRE_PACKAGES_X11=1
@@ -1924,6 +1942,7 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_X11=1
 REQUIRE_PACKAGES_X11=1
@@ -1968,6 +1987,7 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_X11=1
 REQUIRE_PACKAGES_X11=1
@@ -2026,6 +2046,7 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_X11=1
 REQUIRE_PACKAGES_X11=1
@@ -2297,6 +2318,32 @@ ifdef UNITDIR_WINUNITS-JEDI
 override COMPILER_UNITDIR+=$(UNITDIR_WINUNITS-JEDI)
 override COMPILER_UNITDIR+=$(UNITDIR_WINUNITS-JEDI)
 endif
 endif
 endif
 endif
+ifdef REQUIRE_PACKAGES_UNIVINT
+PACKAGEDIR_UNIVINT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /univint/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_UNIVINT),)
+ifneq ($(wildcard $(PACKAGEDIR_UNIVINT)/units/$(TARGETSUFFIX)),)
+UNITDIR_UNIVINT=$(PACKAGEDIR_UNIVINT)/units/$(TARGETSUFFIX)
+else
+UNITDIR_UNIVINT=$(PACKAGEDIR_UNIVINT)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_UNIVINT)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_UNIVINT) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_UNIVINT)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_UNIVINT=
+UNITDIR_UNIVINT:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /univint/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_UNIVINT),)
+UNITDIR_UNIVINT:=$(firstword $(UNITDIR_UNIVINT))
+else
+UNITDIR_UNIVINT=
+endif
+endif
+ifdef UNITDIR_UNIVINT
+override COMPILER_UNITDIR+=$(UNITDIR_UNIVINT)
+endif
+endif
 ifndef NOCPUDEF
 ifndef NOCPUDEF
 override FPCOPTDEF=$(ARCH)
 override FPCOPTDEF=$(ARCH)
 endif
 endif

+ 1 - 1
packages/cairo/Makefile.fpc

@@ -13,7 +13,7 @@ packages_darwin=x11
 
 
 [package]
 [package]
 name=cairo
 name=cairo
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=cairo cairoft
 units=cairo cairoft

+ 18 - 2
packages/cdrom/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/11/14]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=cdrom
 override PACKAGE_NAME=cdrom
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=cdrom discid fpcddb
 override TARGET_UNITS+=cdrom discid fpcddb
 endif
 endif
@@ -1206,6 +1208,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1213,6 +1216,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1249,6 +1253,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1257,6 +1262,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1296,17 +1302,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1333,14 +1342,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1387,6 +1399,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1447,6 +1460,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1458,6 +1472,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1469,6 +1484,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
packages/cdrom/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=cdrom
 name=cdrom
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=cdrom discid fpcddb
 units=cdrom discid fpcddb

+ 17 - 1
packages/cdrom/examples/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/12/12]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -655,6 +657,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -662,6 +665,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -698,6 +702,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -706,6 +711,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -745,17 +751,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -782,14 +791,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -836,6 +848,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -896,6 +909,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -907,6 +921,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -918,6 +933,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 130 - 2
packages/chm/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/25]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=chm
 override PACKAGE_NAME=chm
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_PROGRAMS+=chmcmd chmls
 override TARGET_PROGRAMS+=chmcmd chmls
 endif
 endif
@@ -1157,6 +1159,37 @@ endif
 else
 else
 CROSSBINDIR=
 CROSSBINDIR=
 endif
 endif
+ifeq ($(OS_SOURCE),linux)
+ifndef GCCLIBDIR
+ifeq ($(CPU_TARGET),i386)
+ifneq ($(findstring x86_64,$(shell uname -a)),)
+ifeq ($(BINUTILSPREFIX),)
+GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
+endif
+endif
+endif
+ifeq ($(CPU_TARGET),powerpc64)
+ifeq ($(BINUTILSPREFIX),)
+GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`)
+endif
+endif
+endif
+ifndef GCCLIBDIR
+CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH))))
+ifneq ($(CROSSGCC),)
+GCCLIBDIR:=$(shell dirname `$(CROSSGCC) -print-libgcc-file-name`)
+endif
+endif
+ifndef OTHERLIBDIR
+OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
+endif
+endif
+ifdef inUnix
+ifeq ($(OS_SOURCE),netbsd)
+OTHERLIBDIR+=/usr/pkg/lib
+endif
+export GCCLIBDIR OTHERLIB
+endif
 BATCHEXT=.bat
 BATCHEXT=.bat
 LOADEREXT=.as
 LOADEREXT=.as
 EXEEXT=.exe
 EXEEXT=.exe
@@ -1179,6 +1212,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1186,6 +1220,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1222,6 +1257,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1230,6 +1266,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1269,17 +1306,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1306,14 +1346,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1360,6 +1403,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1420,6 +1464,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1431,6 +1476,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1442,6 +1488,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
@@ -1717,6 +1764,7 @@ override REQUIRE_PACKAGES=rtl rtl fcl-xml
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
 ifeq ($(FULL_TARGET),i386-go32v2)
@@ -1739,16 +1787,19 @@ endif
 ifeq ($(FULL_TARGET),i386-freebsd)
 ifeq ($(FULL_TARGET),i386-freebsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),i386-beos)
 ifeq ($(FULL_TARGET),i386-beos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
 ifeq ($(FULL_TARGET),i386-haiku)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 ifeq ($(FULL_TARGET),i386-netbsd)
@@ -1783,7 +1834,9 @@ REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
 ifeq ($(FULL_TARGET),i386-darwin)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),i386-emx)
 ifeq ($(FULL_TARGET),i386-emx)
@@ -1819,11 +1872,13 @@ endif
 ifeq ($(FULL_TARGET),m68k-linux)
 ifeq ($(FULL_TARGET),m68k-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
 ifeq ($(FULL_TARGET),m68k-freebsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
 ifeq ($(FULL_TARGET),m68k-netbsd)
@@ -1859,6 +1914,7 @@ endif
 ifeq ($(FULL_TARGET),powerpc-linux)
 ifeq ($(FULL_TARGET),powerpc-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
 ifeq ($(FULL_TARGET),powerpc-netbsd)
@@ -1878,7 +1934,9 @@ REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
 ifeq ($(FULL_TARGET),powerpc-darwin)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
 ifeq ($(FULL_TARGET),powerpc-morphos)
@@ -1894,6 +1952,7 @@ endif
 ifeq ($(FULL_TARGET),sparc-linux)
 ifeq ($(FULL_TARGET),sparc-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
 ifeq ($(FULL_TARGET),sparc-netbsd)
@@ -1914,16 +1973,20 @@ endif
 ifeq ($(FULL_TARGET),x86_64-linux)
 ifeq ($(FULL_TARGET),x86_64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 ifeq ($(FULL_TARGET),x86_64-darwin)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 ifeq ($(FULL_TARGET),x86_64-win64)
@@ -1941,6 +2004,7 @@ endif
 ifeq ($(FULL_TARGET),arm-linux)
 ifeq ($(FULL_TARGET),arm-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
 ifeq ($(FULL_TARGET),arm-palmos)
@@ -1950,7 +2014,9 @@ REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),arm-darwin)
 ifeq ($(FULL_TARGET),arm-darwin)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),arm-wince)
 ifeq ($(FULL_TARGET),arm-wince)
@@ -1981,11 +2047,14 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
 ifeq ($(FULL_TARGET),powerpc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
 ifeq ($(FULL_TARGET),powerpc64-darwin)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_UNIVINT=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 ifeq ($(FULL_TARGET),powerpc64-embedded)
@@ -2001,6 +2070,7 @@ endif
 ifeq ($(FULL_TARGET),armeb-linux)
 ifeq ($(FULL_TARGET),armeb-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 ifeq ($(FULL_TARGET),armeb-embedded)
@@ -2060,6 +2130,32 @@ ifdef UNITDIR_FCL-BASE
 override COMPILER_UNITDIR+=$(UNITDIR_FCL-BASE)
 override COMPILER_UNITDIR+=$(UNITDIR_FCL-BASE)
 endif
 endif
 endif
 endif
+ifdef REQUIRE_PACKAGES_ICONVENC
+PACKAGEDIR_ICONVENC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /iconvenc/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_ICONVENC),)
+ifneq ($(wildcard $(PACKAGEDIR_ICONVENC)/units/$(TARGETSUFFIX)),)
+UNITDIR_ICONVENC=$(PACKAGEDIR_ICONVENC)/units/$(TARGETSUFFIX)
+else
+UNITDIR_ICONVENC=$(PACKAGEDIR_ICONVENC)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_ICONVENC)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_ICONVENC) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_ICONVENC)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_ICONVENC=
+UNITDIR_ICONVENC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /iconvenc/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_ICONVENC),)
+UNITDIR_ICONVENC:=$(firstword $(UNITDIR_ICONVENC))
+else
+UNITDIR_ICONVENC=
+endif
+endif
+ifdef UNITDIR_ICONVENC
+override COMPILER_UNITDIR+=$(UNITDIR_ICONVENC)
+endif
+endif
 ifdef REQUIRE_PACKAGES_FCL-XML
 ifdef REQUIRE_PACKAGES_FCL-XML
 PACKAGEDIR_FCL-XML:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-xml/Makefile.fpc,$(PACKAGESDIR))))))
 PACKAGEDIR_FCL-XML:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-xml/Makefile.fpc,$(PACKAGESDIR))))))
 ifneq ($(PACKAGEDIR_FCL-XML),)
 ifneq ($(PACKAGEDIR_FCL-XML),)
@@ -2138,6 +2234,32 @@ ifdef UNITDIR_WINUNITS-JEDI
 override COMPILER_UNITDIR+=$(UNITDIR_WINUNITS-JEDI)
 override COMPILER_UNITDIR+=$(UNITDIR_WINUNITS-JEDI)
 endif
 endif
 endif
 endif
+ifdef REQUIRE_PACKAGES_UNIVINT
+PACKAGEDIR_UNIVINT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /univint/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_UNIVINT),)
+ifneq ($(wildcard $(PACKAGEDIR_UNIVINT)/units/$(TARGETSUFFIX)),)
+UNITDIR_UNIVINT=$(PACKAGEDIR_UNIVINT)/units/$(TARGETSUFFIX)
+else
+UNITDIR_UNIVINT=$(PACKAGEDIR_UNIVINT)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_UNIVINT)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_UNIVINT) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_UNIVINT)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_UNIVINT=
+UNITDIR_UNIVINT:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /univint/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_UNIVINT),)
+UNITDIR_UNIVINT:=$(firstword $(UNITDIR_UNIVINT))
+else
+UNITDIR_UNIVINT=
+endif
+endif
+ifdef UNITDIR_UNIVINT
+override COMPILER_UNITDIR+=$(UNITDIR_UNIVINT)
+endif
+endif
 ifndef NOCPUDEF
 ifndef NOCPUDEF
 override FPCOPTDEF=$(ARCH)
 override FPCOPTDEF=$(ARCH)
 endif
 endif
@@ -2257,6 +2379,12 @@ endif
 endif
 endif
 ifdef LINKSHARED
 ifdef LINKSHARED
 endif
 endif
+ifdef GCCLIBDIR
+override FPCOPT+=-Fl$(GCCLIBDIR)
+endif
+ifdef OTHERLIBDIR
+override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
+endif
 ifdef OPT
 ifdef OPT
 override FPCOPT+=$(OPT)
 override FPCOPT+=$(OPT)
 endif
 endif

+ 1 - 1
packages/chm/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=chm
 name=chm
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=fasthtmlparser htmlutil paslzx paslzxcomp paslznonslide chmbase chmtypes \
 units=fasthtmlparser htmlutil paslzx paslzxcomp paslznonslide chmbase chmtypes \

+ 7 - 6
packages/chm/src/chmtypes.pas

@@ -99,7 +99,7 @@ uses chmbase;
 
 
 function TDirectoryChunk.CanHold(ASize: Integer): Boolean;
 function TDirectoryChunk.CanHold(ASize: Integer): Boolean;
 begin
 begin
-  Result := CurrentPos < $1000-1 - ASize - (SizeOf(Word) * (FQuickRefEntries+2));
+  Result := CurrentPos < $1000 - ASize - (SizeOf(Word) * (FQuickRefEntries+2));
 end;
 end;
 
 
 function TDirectoryChunk.FreeSpace: Integer;
 function TDirectoryChunk.FreeSpace: Integer;
@@ -125,8 +125,8 @@ begin
   // now put a quickref entry if needed
   // now put a quickref entry if needed
   if ItemCount mod 5 = 0 then begin
   if ItemCount mod 5 = 0 then begin
     Inc(FQuickRefEntries);
     Inc(FQuickRefEntries);
-    ReversePos := ($1000-1) - SizeOf(Word) - (SizeOf(Word)*FQuickRefEntries);
-    Value := NtoLE(Word(CurrentPos - Size));
+    ReversePos := ($1000) - SizeOf(Word) - (SizeOf(Word)*FQuickRefEntries);
+    Value := NtoLE(Word(CurrentPos - Size - FHeaderSize));
     Move(Value, Buffer[ReversePos], SizeOf(Word));
     Move(Value, Buffer[ReversePos], SizeOf(Word));
   end;
   end;
 end;
 end;
@@ -134,10 +134,11 @@ end;
 procedure TDirectoryChunk.WriteChunkToStream(Stream: TStream);
 procedure TDirectoryChunk.WriteChunkToStream(Stream: TStream);
 var
 var
   ReversePos: Integer;
   ReversePos: Integer;
+  TmpItemCount: Word;
 begin
 begin
-  ReversePos := $1000-1 - SizeOf(Word);
-  FItemCount := NtoLE(ItemCount);
-  Move(ItemCount, Buffer[ReversePos], SizeOf(Word));
+  ReversePos := $1000 - SizeOf(Word);
+  TmpItemCount := NtoLE(Word(FItemCount));
+  Move(TmpItemCount, Buffer[ReversePos], SizeOf(Word));
 
 
   Stream.Write(Buffer[0], $1000);
   Stream.Write(Buffer[0], $1000);
   {$IFDEF DEBUG_CHM_CHUNKS}
   {$IFDEF DEBUG_CHM_CHUNKS}

+ 18 - 2
packages/dbus/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=dbus
 override PACKAGE_NAME=dbus
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=dbus
 override TARGET_UNITS+=dbus
 endif
 endif
@@ -1210,6 +1212,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1217,6 +1220,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1253,6 +1257,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1261,6 +1266,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1300,17 +1306,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1337,14 +1346,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1391,6 +1403,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1451,6 +1464,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1462,6 +1476,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1473,6 +1488,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
packages/dbus/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=dbus
 name=dbus
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=dbus
 units=dbus

+ 17 - 1
packages/dbus/examples/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -686,6 +688,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -693,6 +696,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -729,6 +733,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -737,6 +742,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -776,17 +782,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -813,14 +822,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -867,6 +879,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -927,6 +940,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -938,6 +952,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -949,6 +964,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 18 - 2
packages/dts/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=dts
 override PACKAGE_NAME=dts
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=dts
 override TARGET_UNITS+=dts
 endif
 endif
@@ -1005,6 +1007,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1012,6 +1015,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1048,6 +1052,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1056,6 +1061,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1095,17 +1101,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1132,14 +1141,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1186,6 +1198,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1246,6 +1259,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1257,6 +1271,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1268,6 +1283,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
packages/dts/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=dts
 name=dts
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=dts
 units=dts

+ 4 - 2
packages/fastcgi/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/07/19]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=fastcgi
 override PACKAGE_NAME=fastcgi
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=fastcgi
 override TARGET_UNITS+=fastcgi
 endif
 endif

+ 1 - 1
packages/fastcgi/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=fastcgi
 name=fastcgi
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=fastcgi
 units=fastcgi

+ 18 - 2
packages/fcl-async/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=fcl-async
 override PACKAGE_NAME=fcl-async
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_UNITS+=libasync fpasync
 override TARGET_UNITS+=libasync fpasync
 endif
 endif
@@ -1005,6 +1007,7 @@ endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1012,6 +1015,7 @@ OEXT=.obj
 ASMEXT=.asm
 ASMEXT=.asm
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1048,6 +1052,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),emx)
 ifeq ($(OS_TARGET),emx)
 BATCHEXT=.cmd
 BATCHEXT=.cmd
@@ -1056,6 +1061,7 @@ STATICLIBPREFIX=
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=emx
 SHORTSUFFIX=emx
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1095,17 +1101,20 @@ ifeq ($(OS_TARGET),netware)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 EXEEXT=.nlm
 EXEEXT=.nlm
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),darwin)
 ifeq ($(OS_TARGET),darwin)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1132,14 +1141,17 @@ STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=v1
 SHORTSUFFIX=v1
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=dos
 SHORTSUFFIX=dos
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),watcom)
 ifeq ($(OS_TARGET),watcom)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
 SHORTSUFFIX=wat
 SHORTSUFFIX=wat
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 BATCHEXT=.sh
 BATCHEXT=.sh
@@ -1186,6 +1198,7 @@ STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=os2
 SHORTSUFFIX=os2
 ECHO=echo
 ECHO=echo
+IMPORTLIBPREFIX=
 endif
 endif
 ifeq ($(OS_TARGET),amiga)
 ifeq ($(OS_TARGET),amiga)
 EXEEXT=
 EXEEXT=
@@ -1246,6 +1259,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nw
 SHORTSUFFIX=nw
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),netwlibc)
 ifeq ($(OS_TARGET),netwlibc)
 STATICLIBPREFIX=
 STATICLIBPREFIX=
@@ -1257,6 +1271,7 @@ STATICLIBEXT=.a
 SHAREDLIBEXT=.nlm
 SHAREDLIBEXT=.nlm
 EXEEXT=.nlm
 EXEEXT=.nlm
 SHORTSUFFIX=nwl
 SHORTSUFFIX=nwl
+IMPORTLIBPREFIX=imp
 endif
 endif
 ifeq ($(OS_TARGET),macos)
 ifeq ($(OS_TARGET),macos)
 BATCHEXT=
 BATCHEXT=
@@ -1268,6 +1283,7 @@ STATICLIBEXT=.a
 EXEEXT=
 EXEEXT=
 DEBUGSYMEXT=.xcoff
 DEBUGSYMEXT=.xcoff
 SHORTSUFFIX=mac
 SHORTSUFFIX=mac
+IMPORTLIBPREFIX=imp
 endif
 endif
 endif
 endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)

+ 1 - 1
packages/fcl-async/Makefile.fpc

@@ -4,7 +4,7 @@
 
 
 [package]
 [package]
 name=fcl-async
 name=fcl-async
-version=2.2.2
+version=2.5.1
 
 
 [target]
 [target]
 units=libasync fpasync
 units=libasync fpasync

+ 4 - 2
packages/fcl-base/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/03/15]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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
@@ -59,9 +59,11 @@ endif
 endif
 endif
 ifdef COMSPEC
 ifdef COMSPEC
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
 ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+ifndef RUNBATCH
 RUNBATCH=$(COMSPEC) /C
 RUNBATCH=$(COMSPEC) /C
 endif
 endif
 endif
 endif
+endif
 ifdef inUnix
 ifdef inUnix
 PATHSEP=/
 PATHSEP=/
 else
 else
@@ -263,7 +265,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 override PACKAGE_NAME=fcl-base
 override PACKAGE_NAME=fcl-base
-override PACKAGE_VERSION=2.2.2
+override PACKAGE_VERSION=2.5.1
 ifeq ($(OS_TARGET),win32)
 ifeq ($(OS_TARGET),win32)
 INSTALL_DATADIR=${INSTALL_UNITDIR}
 INSTALL_DATADIR=${INSTALL_UNITDIR}
 endif
 endif

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff