Explorar o código

* regen makefiles

Nikolay Nikolov hai 5 meses
pai
achega
bf0c724d80
Modificáronse 100 ficheiros con 1662 adicións e 100 borrados
  1. 14 1
      Makefile
  2. 28 1
      compiler/Makefile
  3. 19 1
      compiler/utils/Makefile
  4. 16 1
      installer/Makefile
  5. 7 1
      packages/Makefile
  6. 12 1
      packages/build/Makefile.pkg
  7. 11 1
      packages/cdrom/examples/Makefile
  8. 11 1
      packages/dbus/examples/Makefile
  9. 19 1
      packages/fcl-base/examples/Makefile
  10. 21 1
      packages/fcl-db/src/base/Makefile
  11. 17 1
      packages/fcl-db/src/codegen/Makefile
  12. 18 1
      packages/fcl-db/src/datadict/Makefile
  13. 23 1
      packages/fcl-db/src/dbase/Makefile
  14. 18 1
      packages/fcl-db/src/export/Makefile
  15. 12 1
      packages/fcl-db/src/json/Makefile
  16. 17 1
      packages/fcl-db/src/memds/Makefile
  17. 15 1
      packages/fcl-db/src/paradox/Makefile
  18. 14 1
      packages/fcl-db/src/sdf/Makefile
  19. 20 1
      packages/fcl-db/src/sql/Makefile
  20. 17 1
      packages/fcl-db/src/sqldb/Makefile
  21. 15 1
      packages/fcl-db/src/sqldb/interbase/Makefile
  22. 14 1
      packages/fcl-db/src/sqldb/mssql/Makefile
  23. 18 1
      packages/fcl-db/src/sqldb/mysql/Makefile
  24. 15 1
      packages/fcl-db/src/sqldb/odbc/Makefile
  25. 18 1
      packages/fcl-db/src/sqldb/oracle/Makefile
  26. 18 1
      packages/fcl-db/src/sqldb/postgres/Makefile
  27. 15 1
      packages/fcl-db/src/sqldb/sqlite/Makefile
  28. 12 1
      packages/fcl-db/src/sqlite/Makefile
  29. 16 1
      packages/fcl-db/tests/Makefile
  30. 9 1
      packages/fcl-extra/examples/Makefile
  31. 16 1
      packages/fcl-fpcunit/src/exampletests/Makefile
  32. 16 1
      packages/fcl-fpcunit/src/tests/Makefile
  33. 11 1
      packages/fcl-image/examples/Makefile
  34. 19 1
      packages/fcl-net/examples/Makefile
  35. 10 1
      packages/fcl-registry/tests/Makefile
  36. 24 1
      packages/fcl-web/src/base/Makefile
  37. 17 1
      packages/fcl-web/src/jsonrpc/Makefile
  38. 18 1
      packages/fcl-web/src/webdata/Makefile
  39. 14 1
      packages/fpgtk/examples/Makefile
  40. 11 1
      packages/fpmkunit/Makefile
  41. 14 1
      packages/fv/examples/Makefile
  42. 11 1
      packages/gdbm/examples/Makefile
  43. 11 1
      packages/ggi/examples/Makefile
  44. 11 1
      packages/gmp/examples/Makefile
  45. 20 1
      packages/gtk1/examples/Makefile
  46. 7 1
      packages/gtk1/examples/tutorial/Makefile
  47. 14 1
      packages/gtk1/src/gtkgl/Makefile
  48. 20 1
      packages/gtk2/examples/Makefile
  49. 11 1
      packages/gtk2/examples/filechooser/Makefile
  50. 11 1
      packages/gtk2/examples/gettingstarted/Makefile
  51. 11 1
      packages/gtk2/examples/gtk_demo/Makefile
  52. 12 1
      packages/gtk2/examples/gtkglext/Makefile
  53. 11 1
      packages/gtk2/examples/helloworld/Makefile
  54. 11 1
      packages/gtk2/examples/helloworld2/Makefile
  55. 11 1
      packages/gtk2/examples/plugins/Makefile
  56. 11 1
      packages/gtk2/examples/scribble_simple/Makefile
  57. 13 1
      packages/hash/examples/Makefile
  58. 14 1
      packages/httpd20/examples/Makefile
  59. 14 1
      packages/httpd22/examples/Makefile
  60. 14 1
      packages/httpd24/examples/Makefile
  61. 11 1
      packages/ibase/examples/Makefile
  62. 11 1
      packages/iconvenc/examples/Makefile
  63. 20 1
      packages/ide/compiler/Makefile
  64. 10 1
      packages/ide/fakegdb/Makefile
  65. 11 1
      packages/libcurl/examples/Makefile
  66. 15 1
      packages/libgbafpc/examples/Makefile
  67. 13 1
      packages/libgbafpc/examples/audio/Makefile
  68. 16 1
      packages/libgbafpc/examples/audio/PlayBoyScout/Makefile
  69. 15 1
      packages/libgbafpc/examples/graphics/Makefile
  70. 16 1
      packages/libgbafpc/examples/graphics/PCXView/Makefile
  71. 16 1
      packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile
  72. 16 1
      packages/libgbafpc/examples/graphics/ansi_console/Makefile
  73. 16 1
      packages/libgbafpc/examples/template/Makefile
  74. 11 1
      packages/libgd/examples/Makefile
  75. 23 1
      packages/libndsfpc/examples/Makefile
  76. 14 1
      packages/libndsfpc/examples/audio/Makefile
  77. 17 1
      packages/libndsfpc/examples/audio/maxmod/Makefile
  78. 28 1
      packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile
  79. 28 1
      packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile
  80. 28 1
      packages/libndsfpc/examples/audio/maxmod/reverb/Makefile
  81. 28 1
      packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile
  82. 28 1
      packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile
  83. 25 1
      packages/libndsfpc/examples/audio/maxmod/streaming/Makefile
  84. 25 1
      packages/libndsfpc/examples/audio/micrecord/Makefile
  85. 13 1
      packages/libndsfpc/examples/card/Makefile
  86. 25 1
      packages/libndsfpc/examples/card/eeprom/Makefile
  87. 13 1
      packages/libndsfpc/examples/debugging/Makefile
  88. 25 1
      packages/libndsfpc/examples/debugging/exceptionTest/Makefile
  89. 25 1
      packages/libndsfpc/examples/ds_motion/Makefile
  90. 15 1
      packages/libndsfpc/examples/dswifi/Makefile
  91. 25 1
      packages/libndsfpc/examples/dswifi/ap_search/Makefile
  92. 25 1
      packages/libndsfpc/examples/dswifi/autoconnect/Makefile
  93. 25 1
      packages/libndsfpc/examples/dswifi/httpget/Makefile
  94. 14 1
      packages/libndsfpc/examples/filesystem/Makefile
  95. 28 1
      packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile
  96. 13 1
      packages/libndsfpc/examples/filesystem/libfat/Makefile
  97. 25 1
      packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile
  98. 25 1
      packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile
  99. 25 1
      packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile
  100. 13 1
      packages/libndsfpc/examples/filesystem/nitrofs/Makefile

+ 14 - 1
Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: help
 default: help
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -845,6 +845,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=compiler rtl utils packages installer
 override TARGET_DIRS+=compiler rtl utils packages installer
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=compiler rtl utils packages installer
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=compiler rtl utils packages installer
 override TARGET_DIRS+=compiler rtl utils packages installer
 endif
 endif
@@ -1421,6 +1424,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2907,6 +2913,13 @@ TARGET_DIRS_UTILS=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_INSTALLER=1
 TARGET_DIRS_INSTALLER=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_COMPILER=1
+TARGET_DIRS_RTL=1
+TARGET_DIRS_UTILS=1
+TARGET_DIRS_PACKAGES=1
+TARGET_DIRS_INSTALLER=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_RTL=1

+ 28 - 1
compiler/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -1027,6 +1027,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=utils
 override TARGET_DIRS+=utils
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=utils
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=utils
 override TARGET_DIRS+=utils
 endif
 endif
@@ -1366,6 +1369,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=pp
 override TARGET_PROGRAMS+=pp
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=pp
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=pp
 override TARGET_PROGRAMS+=pp
 endif
 endif
@@ -1706,6 +1712,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
 override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
 override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
 endif
 endif
@@ -2045,6 +2054,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
 override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
 override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
 endif
 endif
@@ -2384,6 +2396,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
 override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
 override COMPILER_TARGETDIR+=$(CPU_UNITDIR)/bin/$(FULL_TARGET)
 endif
 endif
@@ -2723,6 +2738,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
 override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
 override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
 endif
 endif
@@ -3298,6 +3316,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3850,6 +3871,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
@@ -4866,6 +4890,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 TARGET_DIRS_UTILS=1
 TARGET_DIRS_UTILS=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_UTILS=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_UTILS=1
 TARGET_DIRS_UTILS=1
 endif
 endif

+ 19 - 1
compiler/utils/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -666,6 +666,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins msg2inc mkx86inl mkz80ins
 override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins msg2inc mkx86inl mkz80ins
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins msg2inc mkx86inl mkz80ins
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins msg2inc mkx86inl mkz80ins
 override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins msg2inc mkx86inl mkz80ins
 endif
 endif
@@ -1005,6 +1008,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=ppu crc
 override CLEAN_UNITS+=ppu crc
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=ppu crc
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=ppu crc
 override CLEAN_UNITS+=ppu crc
 endif
 endif
@@ -1345,6 +1351,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITDIR+=..
 override COMPILER_UNITDIR+=..
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITDIR+=..
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITDIR+=..
 override COMPILER_UNITDIR+=..
 endif
 endif
@@ -1684,6 +1693,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_SOURCEDIR+=..
 override COMPILER_SOURCEDIR+=..
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_SOURCEDIR+=..
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_SOURCEDIR+=..
 override COMPILER_SOURCEDIR+=..
 endif
 endif
@@ -2261,6 +2273,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2813,6 +2828,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif

+ 16 - 1
installer/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -737,6 +737,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=scroll insthelp
 override CLEAN_UNITS+=scroll insthelp
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=scroll insthelp
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=scroll insthelp
 override CLEAN_UNITS+=scroll insthelp
 endif
 endif
@@ -1376,6 +1379,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2522,6 +2528,15 @@ REQUIRE_PACKAGES_UNZIP=1
 REQUIRE_PACKAGES_RTL-EXTRA=1
 REQUIRE_PACKAGES_RTL-EXTRA=1
 REQUIRE_PACKAGES_IDE=1
 REQUIRE_PACKAGES_IDE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_RTL-UNICODE=1
+REQUIRE_PACKAGES_RTL-CONSOLE=1
+REQUIRE_PACKAGES_FV=1
+REQUIRE_PACKAGES_UNZIP=1
+REQUIRE_PACKAGES_RTL-EXTRA=1
+REQUIRE_PACKAGES_IDE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL-UNICODE=1
 REQUIRE_PACKAGES_RTL-UNICODE=1

+ 7 - 1
packages/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -934,6 +934,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1486,6 +1489,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif

+ 12 - 1
packages/build/Makefile.pkg

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -910,6 +910,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1957,6 +1960,14 @@ REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_LIBTAR=1
 REQUIRE_PACKAGES_LIBTAR=1
 REQUIRE_PACKAGES_FPMKUNIT=1
 REQUIRE_PACKAGES_FPMKUNIT=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_LIBTAR=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_PASZLIB=1

+ 11 - 1
packages/cdrom/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=getdiscid showcds
 override TARGET_PROGRAMS+=getdiscid showcds
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=getdiscid showcds
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=getdiscid showcds
 override TARGET_PROGRAMS+=getdiscid showcds
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_CDROM=1
 REQUIRE_PACKAGES_CDROM=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_CDROM=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_CDROM=1
 REQUIRE_PACKAGES_CDROM=1

+ 11 - 1
packages/dbus/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=busexample
 override TARGET_PROGRAMS+=busexample
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=busexample
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=busexample
 override TARGET_PROGRAMS+=busexample
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_DBUS=1
 REQUIRE_PACKAGES_DBUS=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_DBUS=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_DBUS=1
 REQUIRE_PACKAGES_DBUS=1

+ 19 - 1
packages/fcl-base/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
 override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85  sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
 override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85  sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2682,6 +2688,18 @@ REQUIRE_PACKAGES_FCL-REGISTRY=1
 REQUIRE_PACKAGES_FCL-WEB=1
 REQUIRE_PACKAGES_FCL-WEB=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-DB=1
+REQUIRE_PACKAGES_FCL-FPCUNIT=1
+REQUIRE_PACKAGES_FCL-IMAGE=1
+REQUIRE_PACKAGES_FCL-NET=1
+REQUIRE_PACKAGES_FCL-PASSRC=1
+REQUIRE_PACKAGES_FCL-REGISTRY=1
+REQUIRE_PACKAGES_FCL-WEB=1
+REQUIRE_PACKAGES_FCL-XML=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 21 - 1
packages/fcl-db/src/base/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -666,6 +666,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=dbconst db dbwhtml bufdataset_parser bufdataset dbcoll sqlscript xmldatapacketreader
 override TARGET_UNITS+=dbconst db dbwhtml bufdataset_parser bufdataset dbcoll sqlscript xmldatapacketreader
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=dbconst db dbwhtml bufdataset_parser bufdataset dbcoll sqlscript xmldatapacketreader
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=dbconst db dbwhtml bufdataset_parser bufdataset dbcoll sqlscript xmldatapacketreader
 override TARGET_UNITS+=dbconst db dbwhtml bufdataset_parser bufdataset dbcoll sqlscript xmldatapacketreader
 endif
 endif
@@ -1005,6 +1008,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=dbconst dbcoll sqlscript xmldatapacketreader
 override TARGET_RSTS+=dbconst dbcoll sqlscript xmldatapacketreader
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=dbconst dbcoll sqlscript xmldatapacketreader
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=dbconst dbcoll sqlscript xmldatapacketreader
 override TARGET_RSTS+=dbconst dbcoll sqlscript xmldatapacketreader
 endif
 endif
@@ -1345,6 +1351,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1684,6 +1693,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITDIR+=../dbase
 override COMPILER_UNITDIR+=../dbase
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITDIR+=../dbase
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITDIR+=../dbase
 override COMPILER_UNITDIR+=../dbase
 endif
 endif
@@ -2259,6 +2271,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3009,6 +3024,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 17 - 1
packages/fcl-db/src/codegen/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=fpddcodegen fpcgcreatedbf fpcgdbcoll fpcgsqlconst fpcgtiopf fpddpopcode
 override TARGET_UNITS+=fpddcodegen fpcgcreatedbf fpcgdbcoll fpcgsqlconst fpcgtiopf fpddpopcode
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=fpddcodegen fpcgcreatedbf fpcgdbcoll fpcgsqlconst fpcgtiopf fpddpopcode
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=fpddcodegen fpcgcreatedbf fpcgdbcoll fpcgsqlconst fpcgtiopf fpddpopcode
 override TARGET_UNITS+=fpddcodegen fpcgcreatedbf fpcgdbcoll fpcgsqlconst fpcgtiopf fpddpopcode
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=fpddcodegen fpcgsqlconst fpddpopcode
 override TARGET_RSTS+=fpddcodegen fpcgsqlconst fpddpopcode
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=fpddcodegen fpcgsqlconst fpddpopcode
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=fpddcodegen fpcgsqlconst fpddpopcode
 override TARGET_RSTS+=fpddcodegen fpcgsqlconst fpddpopcode
 endif
 endif
@@ -1344,6 +1350,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1919,6 +1928,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2570,6 +2582,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 18 - 1
packages/fcl-db/src/datadict/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=fpdatadict fpdddiff fpdddbf fpddsqldb
 override TARGET_UNITS+=fpdatadict fpdddiff fpdddbf fpddsqldb
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=fpdatadict fpdddiff fpdddbf fpddsqldb
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=fpdatadict fpdddiff fpdddbf fpddsqldb  fpddfb fpddmysql40 fpddmysql41 fpddmysql50 fpddodbc fpddpq fpddoracle fpddsqlite3 fpddregstd fpddmysql51 fpddmysql55
 override TARGET_UNITS+=fpdatadict fpdddiff fpdddbf fpddsqldb  fpddfb fpddmysql40 fpddmysql41 fpddmysql50 fpddodbc fpddpq fpddoracle fpddsqlite3 fpddregstd fpddmysql51 fpddmysql55
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=fpdatadict fpddfb fpddsqldb fpdddiff
 override TARGET_RSTS+=fpdatadict fpddfb fpddsqldb fpdddiff
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=fpdatadict fpddfb fpddsqldb fpdddiff
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=fpdatadict fpddfb fpddsqldb fpdddiff  fpddfb fpddmysql40 fpddmysql41 fpddmysql50 fpddodbc fpddpq fpddoracle fpddsqlite3 fpddregstd fpddmysql51 fpddmysql55
 override TARGET_RSTS+=fpdatadict fpddfb fpddsqldb fpdddiff  fpddfb fpddmysql40 fpddmysql41 fpddmysql50 fpddodbc fpddpq fpddoracle fpddsqlite3 fpddregstd fpddmysql51 fpddmysql55
 endif
 endif
@@ -1344,6 +1350,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1919,6 +1928,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2895,6 +2907,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 23 - 1
packages/fcl-db/src/dbase/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=dbf
 override TARGET_UNITS+=dbf
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=dbf
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=dbf
 override TARGET_UNITS+=dbf
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_EXAMPLES+=testdbf
 override TARGET_EXAMPLES+=testdbf
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_EXAMPLES+=testdbf
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_EXAMPLES+=testdbf
 override TARGET_EXAMPLES+=testdbf
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=dbf_collate dbf_common dbf_cursor dbf_dbffile dbf_fields dbf_idxcur dbf_idxfile dbf_lang dbf_memo dbf_parser dbf_pgfile dbf_prscore dbf_prsdef dbf_prssupp dbf_str
 override CLEAN_UNITS+=dbf_collate dbf_common dbf_cursor dbf_dbffile dbf_fields dbf_idxcur dbf_idxfile dbf_lang dbf_memo dbf_parser dbf_pgfile dbf_prscore dbf_prsdef dbf_prssupp dbf_str
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=dbf_collate dbf_common dbf_cursor dbf_dbffile dbf_fields dbf_idxcur dbf_idxfile dbf_lang dbf_memo dbf_parser dbf_pgfile dbf_prscore dbf_prsdef dbf_prssupp dbf_str
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=dbf_collate dbf_common dbf_cursor dbf_dbffile dbf_fields dbf_idxcur dbf_idxfile dbf_lang dbf_memo dbf_parser dbf_pgfile dbf_prscore dbf_prsdef dbf_prssupp dbf_str
 override CLEAN_UNITS+=dbf_collate dbf_common dbf_cursor dbf_dbffile dbf_fields dbf_idxcur dbf_idxfile dbf_lang dbf_memo dbf_parser dbf_pgfile dbf_prscore dbf_prsdef dbf_prssupp dbf_str
 endif
 endif
@@ -1690,6 +1699,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override INSTALL_UNITS+=dbf_collate dbf_common dbf_cursor dbf_dbffile dbf_fields dbf_idxcur dbf_idxfile dbf_lang dbf_memo dbf_parser dbf_pgfile dbf_prscore dbf_prsdef dbf_prssupp dbf_str
 override INSTALL_UNITS+=dbf_collate dbf_common dbf_cursor dbf_dbffile dbf_fields dbf_idxcur dbf_idxfile dbf_lang dbf_memo dbf_parser dbf_pgfile dbf_prscore dbf_prsdef dbf_prssupp dbf_str
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override INSTALL_UNITS+=dbf_collate dbf_common dbf_cursor dbf_dbffile dbf_fields dbf_idxcur dbf_idxfile dbf_lang dbf_memo dbf_parser dbf_pgfile dbf_prscore dbf_prsdef dbf_prssupp dbf_str
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override INSTALL_UNITS+=dbf_collate dbf_common dbf_cursor dbf_dbffile dbf_fields dbf_idxcur dbf_idxfile dbf_lang dbf_memo dbf_parser dbf_pgfile dbf_prscore dbf_prsdef dbf_prssupp dbf_str
 override INSTALL_UNITS+=dbf_collate dbf_common dbf_cursor dbf_dbffile dbf_fields dbf_idxcur dbf_idxfile dbf_lang dbf_memo dbf_parser dbf_pgfile dbf_prscore dbf_prsdef dbf_prssupp dbf_str
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2 -Sh
 override COMPILER_OPTIONS+=-S2 -Sh
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2 -Sh
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2 -Sh
 override COMPILER_OPTIONS+=-S2 -Sh
 endif
 endif
@@ -2605,6 +2620,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3256,6 +3274,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 18 - 1
packages/fcl-db/src/export/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=fpdbexport fpcsvexport fpfixedexport fpsqlexport fpsimplexmlexport fpsimplejsonexport fpdbfexport fptexexport fprtfexport fpxmlxsdexport fpstdexports
 override TARGET_UNITS+=fpdbexport fpcsvexport fpfixedexport fpsqlexport fpsimplexmlexport fpsimplejsonexport fpdbfexport fptexexport fprtfexport fpxmlxsdexport fpstdexports
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=fpdbexport fpcsvexport fpfixedexport fpsqlexport fpsimplexmlexport fpsimplejsonexport fpdbfexport fptexexport fprtfexport fpxmlxsdexport fpstdexports
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=fpdbexport fpcsvexport fpfixedexport fpsqlexport fpsimplexmlexport fpsimplejsonexport fpdbfexport fptexexport fprtfexport fpxmlxsdexport fpstdexports
 override TARGET_UNITS+=fpdbexport fpcsvexport fpfixedexport fpsqlexport fpsimplexmlexport fpsimplejsonexport fpdbfexport fptexexport fprtfexport fpxmlxsdexport fpstdexports
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=fpdbexport fpcsvexport fpfixedexport fpsqlexport fpsimplexmlexport fpsimplejsonexport fpdbfexport fptexexport fprtfexport fpxmlxsdexport fpstdexports
 override TARGET_RSTS+=fpdbexport fpcsvexport fpfixedexport fpsqlexport fpsimplexmlexport fpsimplejsonexport fpdbfexport fptexexport fprtfexport fpxmlxsdexport fpstdexports
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=fpdbexport fpcsvexport fpfixedexport fpsqlexport fpsimplexmlexport fpsimplejsonexport fpdbfexport fptexexport fprtfexport fpxmlxsdexport fpstdexports
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=fpdbexport fpcsvexport fpfixedexport fpsqlexport fpsimplexmlexport fpsimplejsonexport fpdbfexport fptexexport fprtfexport fpxmlxsdexport fpstdexports
 override TARGET_RSTS+=fpdbexport fpcsvexport fpfixedexport fpsqlexport fpsimplexmlexport fpsimplejsonexport fpdbfexport fptexexport fprtfexport fpxmlxsdexport fpstdexports
 endif
 endif
@@ -1344,6 +1350,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1919,6 +1928,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2669,6 +2681,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 12 - 1
packages/fcl-db/src/json/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=fpjsondataset extjsdataset
 override TARGET_UNITS+=fpjsondataset extjsdataset
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=fpjsondataset extjsdataset
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=fpjsondataset extjsdataset
 override TARGET_UNITS+=fpjsondataset extjsdataset
 endif
 endif
@@ -1241,6 +1244,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1991,6 +1997,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-JSON=1
 REQUIRE_PACKAGES_FCL-JSON=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-JSON=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 17 - 1
packages/fcl-db/src/memds/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=memds
 override TARGET_UNITS+=memds
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=memds
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=memds
 override TARGET_UNITS+=memds
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=memds
 override TARGET_RSTS+=memds
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=memds
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=memds
 override TARGET_RSTS+=memds
 endif
 endif
@@ -1343,6 +1349,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_EXAMPLES+=testpop testopen testld testcp
 override TARGET_EXAMPLES+=testpop testopen testld testcp
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_EXAMPLES+=testpop testopen testld testcp
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_EXAMPLES+=testpop testopen testld testcp
 override TARGET_EXAMPLES+=testpop testopen testld testcp
 endif
 endif
@@ -1919,6 +1928,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2570,6 +2582,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 15 - 1
packages/fcl-db/src/paradox/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=paradox
 override TARGET_UNITS+=paradox
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=paradox
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=paradox
 override TARGET_UNITS+=paradox
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=paradox
 override TARGET_RSTS+=paradox
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=paradox
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=paradox
 override TARGET_RSTS+=paradox
 endif
 endif
@@ -1580,6 +1586,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2330,6 +2339,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_PXLIB=1
 REQUIRE_PACKAGES_PXLIB=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PXLIB=1
+REQUIRE_PACKAGES_FCL-BASE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_PXLIB=1
 REQUIRE_PACKAGES_PXLIB=1

+ 14 - 1
packages/fcl-db/src/sdf/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=sdfdata
 override TARGET_UNITS+=sdfdata
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=sdfdata
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=sdfdata
 override TARGET_UNITS+=sdfdata
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_EXAMPLES+=testsdf testfix
 override TARGET_EXAMPLES+=testsdf testfix
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_EXAMPLES+=testsdf testfix
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_EXAMPLES+=testsdf testfix
 override TARGET_EXAMPLES+=testsdf testfix
 endif
 endif
@@ -1580,6 +1586,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2231,6 +2240,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 20 - 1
packages/fcl-db/src/sql/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=fpsqltree fpsqlscanner fpsqlparser
 override TARGET_UNITS+=fpsqltree fpsqlscanner fpsqlparser
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=fpsqltree fpsqlscanner fpsqlparser
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=fpsqltree fpsqlscanner fpsqlparser
 override TARGET_UNITS+=fpsqltree fpsqlscanner fpsqlparser
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=fpsqltree fpsqlscanner fpsqlparser
 override TARGET_RSTS+=fpsqltree fpsqlscanner fpsqlparser
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=fpsqltree fpsqlscanner fpsqlparser
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=fpsqltree fpsqlscanner fpsqlparser
 override TARGET_RSTS+=fpsqltree fpsqlscanner fpsqlparser
 endif
 endif
@@ -1344,6 +1350,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1683,6 +1692,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITDIR+=../dbase
 override COMPILER_UNITDIR+=../dbase
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITDIR+=../dbase
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITDIR+=../dbase
 override COMPILER_UNITDIR+=../dbase
 endif
 endif
@@ -2258,6 +2270,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2909,6 +2924,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 17 - 1
packages/fcl-db/src/sqldb/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -800,6 +800,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=sqldb
 override TARGET_UNITS+=sqldb
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=sqldb
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=sqldb
 override TARGET_UNITS+=sqldb
 endif
 endif
@@ -1139,6 +1142,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=sqldb
 override TARGET_RSTS+=sqldb
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=sqldb
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=sqldb
 override TARGET_RSTS+=sqldb
 endif
 endif
@@ -1479,6 +1485,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
@@ -2054,6 +2063,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2969,6 +2981,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-XML=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1

+ 15 - 1
packages/fcl-db/src/sqldb/interbase/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=ibconnection fbadmin  fbeventmonitor
 override TARGET_UNITS+=ibconnection fbadmin  fbeventmonitor
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=ibconnection fbadmin  fbeventmonitor
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=ibconnection fbadmin  fbeventmonitor
 override TARGET_UNITS+=ibconnection fbadmin  fbeventmonitor
 endif
 endif
@@ -1005,6 +1008,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
@@ -1580,6 +1586,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2330,6 +2339,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_IBASE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_IBASE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1

+ 14 - 1
packages/fcl-db/src/sqldb/mssql/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=mssqlconn
 override TARGET_UNITS+=mssqlconn
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=mssqlconn
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=mssqlconn
 override TARGET_UNITS+=mssqlconn
 endif
 endif
@@ -1005,6 +1008,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
@@ -1580,6 +1586,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2231,6 +2240,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_DBLIB=1
 REQUIRE_PACKAGES_DBLIB=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_DBLIB=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_DBLIB=1
 REQUIRE_PACKAGES_DBLIB=1

+ 18 - 1
packages/fcl-db/src/sqldb/mysql/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
 override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
 override TARGET_UNITS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
 override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
 override TARGET_RSTS+=mysql40conn mysql41conn mysql50conn mysql51conn mysql55conn mysql56conn mysql57conn mysql80conn
 endif
 endif
@@ -1344,6 +1350,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
@@ -1919,6 +1928,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2669,6 +2681,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_MYSQL=1
 REQUIRE_PACKAGES_MYSQL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_MYSQL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1

+ 15 - 1
packages/fcl-db/src/sqldb/odbc/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=odbcconn
 override TARGET_UNITS+=odbcconn
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=odbcconn
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=odbcconn
 override TARGET_UNITS+=odbcconn
 endif
 endif
@@ -1005,6 +1008,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
@@ -1580,6 +1586,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2330,6 +2339,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_ODBC=1
 REQUIRE_PACKAGES_ODBC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_ODBC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1

+ 18 - 1
packages/fcl-db/src/sqldb/oracle/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=oracleconnection
 override TARGET_UNITS+=oracleconnection
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=oracleconnection
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=oracleconnection
 override TARGET_UNITS+=oracleconnection
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=oracleconnection
 override TARGET_RSTS+=oracleconnection
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=oracleconnection
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=oracleconnection
 override TARGET_RSTS+=oracleconnection
 endif
 endif
@@ -1344,6 +1350,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
@@ -1919,6 +1928,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2669,6 +2681,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_ORACLE=1
 REQUIRE_PACKAGES_ORACLE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_ORACLE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1

+ 18 - 1
packages/fcl-db/src/sqldb/postgres/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=pqconnection pqeventmonitor
 override TARGET_UNITS+=pqconnection pqeventmonitor
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=pqconnection pqeventmonitor
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=pqconnection pqeventmonitor
 override TARGET_UNITS+=pqconnection pqeventmonitor
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=pqconnection
 override TARGET_RSTS+=pqconnection
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=pqconnection
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=pqconnection
 override TARGET_RSTS+=pqconnection
 endif
 endif
@@ -1344,6 +1350,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
@@ -1919,6 +1928,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2669,6 +2681,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_POSTGRES=1
 REQUIRE_PACKAGES_POSTGRES=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_POSTGRES=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1

+ 15 - 1
packages/fcl-db/src/sqldb/sqlite/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=sqlite3conn
 override TARGET_UNITS+=sqlite3conn
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=sqlite3conn
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=sqlite3conn
 override TARGET_UNITS+=sqlite3conn
 endif
 endif
@@ -1005,6 +1008,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2
 override COMPILER_OPTIONS+=-S2
 endif
 endif
@@ -1580,6 +1586,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2330,6 +2339,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_SQLITE=1
 REQUIRE_PACKAGES_SQLITE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_SQLITE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1

+ 12 - 1
packages/fcl-db/src/sqlite/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=customsqliteds sqliteds sqlite3ds
 override TARGET_UNITS+=customsqliteds sqliteds sqlite3ds
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=customsqliteds sqliteds sqlite3ds
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=customsqliteds sqliteds sqlite3ds
 override TARGET_UNITS+=customsqliteds sqliteds sqlite3ds
 endif
 endif
@@ -1241,6 +1244,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1991,6 +1997,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_SQLITE=1
 REQUIRE_PACKAGES_SQLITE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_SQLITE=1
+REQUIRE_PACKAGES_FCL-BASE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_SQLITE=1
 REQUIRE_PACKAGES_SQLITE=1

+ 16 - 1
packages/fcl-db/tests/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=toolsunit dbftoolsunit memdstoolsunit sqldbtoolsunit sdfdstoolsunit
 override TARGET_UNITS+=toolsunit dbftoolsunit memdstoolsunit sqldbtoolsunit sdfdstoolsunit
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=toolsunit dbftoolsunit memdstoolsunit sqldbtoolsunit sdfdstoolsunit
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=toolsunit dbftoolsunit memdstoolsunit sqldbtoolsunit sdfdstoolsunit
 override TARGET_UNITS+=toolsunit dbftoolsunit memdstoolsunit sqldbtoolsunit sdfdstoolsunit
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_EXAMPLES+=dbtestframework testsqlfiles
 override TARGET_EXAMPLES+=dbtestframework testsqlfiles
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_EXAMPLES+=dbtestframework testsqlfiles
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_EXAMPLES+=dbtestframework testsqlfiles
 override TARGET_EXAMPLES+=dbtestframework testsqlfiles
 endif
 endif
@@ -1580,6 +1586,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2429,6 +2438,12 @@ REQUIRE_PACKAGES_FCL-FPCUNIT=1
 REQUIRE_PACKAGES_FCL-DB=1
 REQUIRE_PACKAGES_FCL-DB=1
 REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_PASZLIB=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-FPCUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
+REQUIRE_PACKAGES_PASZLIB=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-FPCUNIT=1
 REQUIRE_PACKAGES_FCL-FPCUNIT=1

+ 9 - 1
packages/fcl-extra/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -1029,6 +1029,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1779,6 +1782,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-EXTRA=1
 REQUIRE_PACKAGES_FCL-EXTRA=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-EXTRA=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 16 - 1
packages/fcl-fpcunit/src/exampletests/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=fpcunittests  money  moneytest testmockobject
 override TARGET_UNITS+=fpcunittests  money  moneytest testmockobject
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=fpcunittests  money  moneytest testmockobject
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=fpcunittests  money  moneytest testmockobject
 override TARGET_UNITS+=fpcunittests  money  moneytest testmockobject
 endif
 endif
@@ -1005,6 +1008,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1580,6 +1586,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2429,6 +2438,12 @@ REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-FPCUNIT=1
 REQUIRE_PACKAGES_FCL-FPCUNIT=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_FCL-FPCUNIT=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 16 - 1
packages/fcl-fpcunit/src/tests/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=asserttest frameworktest suitetest
 override TARGET_UNITS+=asserttest frameworktest suitetest
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=asserttest frameworktest suitetest
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=asserttest frameworktest suitetest
 override TARGET_UNITS+=asserttest frameworktest suitetest
 endif
 endif
@@ -1005,6 +1008,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1580,6 +1586,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2429,6 +2438,12 @@ REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-FPCUNIT=1
 REQUIRE_PACKAGES_FCL-FPCUNIT=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_FCL-FPCUNIT=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 11 - 1
packages/fcl-image/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=imgconv drawing xwdtobmp interpoldemo
 override TARGET_PROGRAMS+=imgconv drawing xwdtobmp interpoldemo
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=imgconv drawing xwdtobmp interpoldemo
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=imgconv drawing xwdtobmp interpoldemo
 override TARGET_PROGRAMS+=imgconv drawing xwdtobmp interpoldemo
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-IMAGE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-IMAGE=1
 REQUIRE_PACKAGES_FCL-IMAGE=1

+ 19 - 1
packages/fcl-net/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=rpcserv rpccli isockcli isocksvr
 override TARGET_PROGRAMS+=rpcserv rpccli isockcli isocksvr
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=rpcserv rpccli isockcli isocksvr
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=rpcserv rpccli isockcli isocksvr
 override TARGET_PROGRAMS+=rpcserv rpccli isockcli isocksvr
 endif
 endif
@@ -1002,6 +1005,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=svrclass svrclass_xmlrpc
 override TARGET_UNITS+=svrclass svrclass_xmlrpc
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=svrclass svrclass_xmlrpc
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=svrclass svrclass_xmlrpc
 override TARGET_UNITS+=svrclass svrclass_xmlrpc
 endif
 endif
@@ -1342,6 +1348,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1917,6 +1926,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2766,6 +2778,12 @@ REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-NET=1
 REQUIRE_PACKAGES_FCL-NET=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_FCL-NET=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 10 - 1
packages/fcl-registry/tests/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_EXAMPLES+=tregtestframework
 override TARGET_EXAMPLES+=tregtestframework
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_EXAMPLES+=tregtestframework
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_EXAMPLES+=tregtestframework
 override TARGET_EXAMPLES+=tregtestframework
 endif
 endif
@@ -1241,6 +1244,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1793,6 +1799,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif

+ 24 - 1
packages/fcl-web/src/base/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -666,6 +666,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=httpdefs fphttp custweb custcgi fpcgi fphtml iniwebsession websession fpweb webutil fpdatasetform cgiapp ezcgi fpapache webpage fcgigate fphttpserver fphttpclient custhttpapp fphttpapp fpwebfile fpapache24
 override TARGET_UNITS+=httpdefs fphttp custweb custcgi fpcgi fphtml iniwebsession websession fpweb webutil fpdatasetform cgiapp ezcgi fpapache webpage fcgigate fphttpserver fphttpclient custhttpapp fphttpapp fpwebfile fpapache24
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=httpdefs fphttp custweb custcgi fpcgi fphtml iniwebsession websession fpweb webutil fpdatasetform cgiapp ezcgi fpapache webpage fcgigate fphttpserver fphttpclient custhttpapp fphttpapp fpwebfile fpapache24
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=httpdefs fphttp custweb custcgi fpcgi fphtml iniwebsession websession fpweb webutil fpdatasetform cgiapp ezcgi fpapache webpage fcgigate fphttpserver fphttpclient custhttpapp fphttpapp fpwebfile fpapache24  custfcgi fpfcgi
 override TARGET_UNITS+=httpdefs fphttp custweb custcgi fpcgi fphtml iniwebsession websession fpweb webutil fpdatasetform cgiapp ezcgi fpapache webpage fcgigate fphttpserver fphttpclient custhttpapp fphttpapp fpwebfile fpapache24  custfcgi fpfcgi
 endif
 endif
@@ -1005,6 +1008,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_RSTS+=fpcgi fphtml fpweb websession cgiapp fphttpserver fphttpclient
 override TARGET_RSTS+=fpcgi fphtml fpweb websession cgiapp fphttpserver fphttpclient
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_RSTS+=fpcgi fphtml fpweb websession cgiapp fphttpserver fphttpclient
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_RSTS+=fpcgi fphtml fpweb websession cgiapp fphttpserver fphttpclient
 override TARGET_RSTS+=fpcgi fphtml fpweb websession cgiapp fphttpserver fphttpclient
 endif
 endif
@@ -1345,6 +1351,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1920,6 +1929,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3272,6 +3284,17 @@ REQUIRE_PACKAGES_FASTCGI=1
 REQUIRE_PACKAGES_FCL-NET=1
 REQUIRE_PACKAGES_FCL-NET=1
 REQUIRE_PACKAGES_HTTPD24=1
 REQUIRE_PACKAGES_HTTPD24=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_FCL-DB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HTTPD22=1
+REQUIRE_PACKAGES_FASTCGI=1
+REQUIRE_PACKAGES_FCL-NET=1
+REQUIRE_PACKAGES_HTTPD24=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 17 - 1
packages/fcl-web/src/jsonrpc/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -666,6 +666,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=fpjsonrpc  webjsonrpc fpextdirect
 override TARGET_UNITS+=fpjsonrpc  webjsonrpc fpextdirect
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=fpjsonrpc  webjsonrpc fpextdirect
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=fpjsonrpc  webjsonrpc fpextdirect
 override TARGET_UNITS+=fpjsonrpc  webjsonrpc fpextdirect
 endif
 endif
@@ -1006,6 +1009,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1581,6 +1587,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2529,6 +2538,13 @@ REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-JSON=1
 REQUIRE_PACKAGES_FCL-JSON=1
 REQUIRE_PACKAGES_FCL-PROCESS=1
 REQUIRE_PACKAGES_FCL-PROCESS=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_FCL-JSON=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 18 - 1
packages/fcl-web/src/webdata/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -666,6 +666,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=fpwebdata sqldbwebdata fpextjs extjsjson extjsxml
 override TARGET_UNITS+=fpwebdata sqldbwebdata fpextjs extjsjson extjsxml
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=fpwebdata sqldbwebdata fpextjs extjsjson extjsxml
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=fpwebdata sqldbwebdata fpextjs extjsjson extjsxml
 override TARGET_UNITS+=fpwebdata sqldbwebdata fpextjs extjsjson extjsxml
 endif
 endif
@@ -1006,6 +1009,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
@@ -1581,6 +1587,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2628,6 +2637,14 @@ REQUIRE_PACKAGES_FCL-DB=1
 REQUIRE_PACKAGES_FCL-JSON=1
 REQUIRE_PACKAGES_FCL-JSON=1
 REQUIRE_PACKAGES_FCL-PROCESS=1
 REQUIRE_PACKAGES_FCL-PROCESS=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_FCL-DB=1
+REQUIRE_PACKAGES_FCL-JSON=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FCL-BASE=1
 REQUIRE_PACKAGES_FCL-BASE=1

+ 14 - 1
packages/fpgtk/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=testgtk
 override TARGET_PROGRAMS+=testgtk
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=testgtk
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=testgtk
 override TARGET_PROGRAMS+=testgtk
 endif
 endif
@@ -1002,6 +1005,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=lister
 override CLEAN_UNITS+=lister
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=lister
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=lister
 override CLEAN_UNITS+=lister
 endif
 endif
@@ -1578,6 +1584,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2229,6 +2238,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FPGTK=1
 REQUIRE_PACKAGES_FPGTK=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FPGTK=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FPGTK=1
 REQUIRE_PACKAGES_FPGTK=1

+ 11 - 1
packages/fpmkunit/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -960,6 +960,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1908,6 +1911,13 @@ REQUIRE_PACKAGES_FCL-PROCESS=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_LIBTAR=1
 REQUIRE_PACKAGES_LIBTAR=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_LIBTAR=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_PASZLIB=1
 REQUIRE_PACKAGES_PASZLIB=1

+ 14 - 1
packages/fv/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=testapp
 override TARGET_PROGRAMS+=testapp
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=testapp
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=testapp
 override TARGET_PROGRAMS+=testapp
 endif
 endif
@@ -1002,6 +1005,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_INCLUDEDIR+=../src
 override COMPILER_INCLUDEDIR+=../src
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_INCLUDEDIR+=../src
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_INCLUDEDIR+=../src
 override COMPILER_INCLUDEDIR+=../src
 endif
 endif
@@ -1577,6 +1583,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2228,6 +2237,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_FV=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FV=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FV=1
 REQUIRE_PACKAGES_FV=1

+ 11 - 1
packages/gdbm/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=testgdbm testgdbm2
 override TARGET_PROGRAMS+=testgdbm testgdbm2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=testgdbm testgdbm2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=testgdbm testgdbm2
 override TARGET_PROGRAMS+=testgdbm testgdbm2
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GDBM=1
 REQUIRE_PACKAGES_GDBM=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GDBM=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GDBM=1
 REQUIRE_PACKAGES_GDBM=1

+ 11 - 1
packages/ggi/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=ggi1
 override TARGET_PROGRAMS+=ggi1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=ggi1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=ggi1
 override TARGET_PROGRAMS+=ggi1
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GGI=1
 REQUIRE_PACKAGES_GGI=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GGI=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GGI=1
 REQUIRE_PACKAGES_GGI=1

+ 11 - 1
packages/gmp/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=gmp_accept_test gmp_testcase pidigits_example pidigits_example2 printf_example printf_example2 scanf_example scanf_example2
 override TARGET_PROGRAMS+=gmp_accept_test gmp_testcase pidigits_example pidigits_example2 printf_example printf_example2 scanf_example scanf_example2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=gmp_accept_test gmp_testcase pidigits_example pidigits_example2 printf_example printf_example2 scanf_example scanf_example2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=gmp_accept_test gmp_testcase pidigits_example pidigits_example2 printf_example printf_example2 scanf_example scanf_example2
 override TARGET_PROGRAMS+=gmp_accept_test gmp_testcase pidigits_example pidigits_example2 printf_example printf_example2 scanf_example scanf_example2
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GMP=1
 REQUIRE_PACKAGES_GMP=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GMP=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GMP=1
 REQUIRE_PACKAGES_GMP=1

+ 20 - 1
packages/gtk1/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=tutorial
 override TARGET_DIRS+=tutorial
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=tutorial
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=tutorial
 override TARGET_DIRS+=tutorial
 endif
 endif
@@ -1002,6 +1005,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=entry notebook scribble clist ttt_test pixmap list progressbar filesel statusbar toolbar rulers spinbutton gtkgldemo
 override TARGET_PROGRAMS+=entry notebook scribble clist ttt_test pixmap list progressbar filesel statusbar toolbar rulers spinbutton gtkgldemo
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=entry notebook scribble clist ttt_test pixmap list progressbar filesel statusbar toolbar rulers spinbutton gtkgldemo
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=entry notebook scribble clist ttt_test pixmap list progressbar filesel statusbar toolbar rulers spinbutton gtkgldemo
 override TARGET_PROGRAMS+=entry notebook scribble clist ttt_test pixmap list progressbar filesel statusbar toolbar rulers spinbutton gtkgldemo
 endif
 endif
@@ -1341,6 +1347,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=tictactoe
 override CLEAN_UNITS+=tictactoe
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=tictactoe
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=tictactoe
 override CLEAN_UNITS+=tictactoe
 endif
 endif
@@ -1917,6 +1926,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2568,6 +2580,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK1=1
 REQUIRE_PACKAGES_GTK1=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GTK1=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK1=1
 REQUIRE_PACKAGES_GTK1=1
@@ -3556,6 +3572,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 TARGET_DIRS_TUTORIAL=1
 TARGET_DIRS_TUTORIAL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_TUTORIAL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_TUTORIAL=1
 TARGET_DIRS_TUTORIAL=1
 endif
 endif

+ 7 - 1
packages/gtk1/examples/tutorial/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -900,6 +900,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1452,6 +1455,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_GTK1=1
 REQUIRE_PACKAGES_GTK1=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_GTK1=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_GTK1=1
 REQUIRE_PACKAGES_GTK1=1
 endif
 endif

+ 14 - 1
packages/gtk1/src/gtkgl/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=gtkglarea
 override TARGET_UNITS+=gtkglarea
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=gtkglarea
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=gtkglarea
 override TARGET_UNITS+=gtkglarea
 endif
 endif
@@ -1004,6 +1007,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_EXAMPLES+=gtkgldemo
 override TARGET_EXAMPLES+=gtkgldemo
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_EXAMPLES+=gtkgldemo
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_EXAMPLES+=gtkgldemo
 override TARGET_EXAMPLES+=gtkgldemo
 endif
 endif
@@ -1582,6 +1588,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2233,6 +2242,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_OPENGL=1
 REQUIRE_PACKAGES_OPENGL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_OPENGL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_OPENGL=1
 REQUIRE_PACKAGES_OPENGL=1

+ 20 - 1
packages/gtk2/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=helloworld helloworld2 gtk_demo gettingstarted plugins scribble_simple gtkglext
 override TARGET_DIRS+=helloworld helloworld2 gtk_demo gettingstarted plugins scribble_simple gtkglext
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=helloworld helloworld2 gtk_demo gettingstarted plugins scribble_simple gtkglext
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=helloworld helloworld2 gtk_demo gettingstarted plugins scribble_simple gtkglext
 override TARGET_DIRS+=helloworld helloworld2 gtk_demo gettingstarted plugins scribble_simple gtkglext
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_OPENGL=1
 REQUIRE_PACKAGES_OPENGL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_GTK2=1
+REQUIRE_PACKAGES_OPENGL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_OPENGL=1
 REQUIRE_PACKAGES_OPENGL=1
@@ -3305,6 +3315,15 @@ TARGET_DIRS_PLUGINS=1
 TARGET_DIRS_SCRIBBLE_SIMPLE=1
 TARGET_DIRS_SCRIBBLE_SIMPLE=1
 TARGET_DIRS_GTKGLEXT=1
 TARGET_DIRS_GTKGLEXT=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_HELLOWORLD=1
+TARGET_DIRS_HELLOWORLD2=1
+TARGET_DIRS_GTK_DEMO=1
+TARGET_DIRS_GETTINGSTARTED=1
+TARGET_DIRS_PLUGINS=1
+TARGET_DIRS_SCRIBBLE_SIMPLE=1
+TARGET_DIRS_GTKGLEXT=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_HELLOWORLD=1
 TARGET_DIRS_HELLOWORLD=1
 TARGET_DIRS_HELLOWORLD2=1
 TARGET_DIRS_HELLOWORLD2=1

+ 11 - 1
packages/gtk2/examples/filechooser/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=simple glade
 override TARGET_PROGRAMS+=simple glade
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=simple glade
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=simple glade
 override TARGET_PROGRAMS+=simple glade
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GTK2=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1

+ 11 - 1
packages/gtk2/examples/gettingstarted/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=gettingstarted
 override TARGET_PROGRAMS+=gettingstarted
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=gettingstarted
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=gettingstarted
 override TARGET_PROGRAMS+=gettingstarted
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GTK2=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1

+ 11 - 1
packages/gtk2/examples/gtk_demo/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=gtk_demo
 override TARGET_PROGRAMS+=gtk_demo
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=gtk_demo
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=gtk_demo
 override TARGET_PROGRAMS+=gtk_demo
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GTK2=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1

+ 12 - 1
packages/gtk2/examples/gtkglext/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=gears
 override TARGET_PROGRAMS+=gears
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=gears
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=gears
 override TARGET_PROGRAMS+=gears
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1989,6 +1995,11 @@ REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_OPENGL=1
 REQUIRE_PACKAGES_OPENGL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GTK2=1
+REQUIRE_PACKAGES_OPENGL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1

+ 11 - 1
packages/gtk2/examples/helloworld/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=helloworld
 override TARGET_PROGRAMS+=helloworld
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=helloworld
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=helloworld
 override TARGET_PROGRAMS+=helloworld
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GTK2=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1

+ 11 - 1
packages/gtk2/examples/helloworld2/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=helloworld2
 override TARGET_PROGRAMS+=helloworld2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=helloworld2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=helloworld2
 override TARGET_PROGRAMS+=helloworld2
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GTK2=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1

+ 11 - 1
packages/gtk2/examples/plugins/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=plugin main
 override TARGET_PROGRAMS+=plugin main
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=plugin main
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=plugin main
 override TARGET_PROGRAMS+=plugin main
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GTK2=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1

+ 11 - 1
packages/gtk2/examples/scribble_simple/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=scribble_simple
 override TARGET_PROGRAMS+=scribble_simple
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=scribble_simple
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=scribble_simple
 override TARGET_PROGRAMS+=scribble_simple
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_GTK2=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_GTK2=1
 REQUIRE_PACKAGES_GTK2=1

+ 13 - 1
packages/hash/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=mdtest crctest sha1test md5performancetest  sha1performancetest
 override TARGET_PROGRAMS+=mdtest crctest sha1test md5performancetest  sha1performancetest
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=mdtest crctest sha1test md5performancetest  sha1performancetest
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=mdtest crctest sha1test md5performancetest  sha1performancetest
 override TARGET_PROGRAMS+=mdtest crctest sha1test md5performancetest  sha1performancetest
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2088,6 +2094,12 @@ REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_RTL-EXTRA=1
 REQUIRE_PACKAGES_RTL-EXTRA=1
 REQUIRE_PACKAGES_RTL-OBJPAS=1
 REQUIRE_PACKAGES_RTL-OBJPAS=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_RTL-EXTRA=1
+REQUIRE_PACKAGES_RTL-OBJPAS=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_HASH=1

+ 14 - 1
packages/httpd20/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=mod_example  mod_hello  mod_spelling  testmodule
 override TARGET_PROGRAMS+=mod_example  mod_hello  mod_spelling  testmodule
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=mod_example  mod_hello  mod_spelling  testmodule
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=mod_example  mod_hello  mod_spelling  testmodule
 override TARGET_PROGRAMS+=mod_example  mod_hello  mod_spelling  testmodule
 endif
 endif
@@ -1002,6 +1005,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=minimain
 override TARGET_UNITS+=minimain
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=minimain
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=minimain
 override TARGET_UNITS+=minimain
 endif
 endif
@@ -1578,6 +1584,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2229,6 +2238,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HTTPD20=1
 REQUIRE_PACKAGES_HTTPD20=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_HTTPD20=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HTTPD20=1
 REQUIRE_PACKAGES_HTTPD20=1

+ 14 - 1
packages/httpd22/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=mod_example  mod_hello  mod_spelling  testmodule
 override TARGET_PROGRAMS+=mod_example  mod_hello  mod_spelling  testmodule
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=mod_example  mod_hello  mod_spelling  testmodule
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=mod_example  mod_hello  mod_spelling  testmodule
 override TARGET_PROGRAMS+=mod_example  mod_hello  mod_spelling  testmodule
 endif
 endif
@@ -1002,6 +1005,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=minimain
 override TARGET_UNITS+=minimain
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=minimain
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=minimain
 override TARGET_UNITS+=minimain
 endif
 endif
@@ -1578,6 +1584,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2229,6 +2238,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HTTPD22=1
 REQUIRE_PACKAGES_HTTPD22=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_HTTPD22=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HTTPD22=1
 REQUIRE_PACKAGES_HTTPD22=1

+ 14 - 1
packages/httpd24/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=mod_hello
 override TARGET_PROGRAMS+=mod_hello
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=mod_hello
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=mod_hello
 override TARGET_PROGRAMS+=mod_hello
 endif
 endif
@@ -1002,6 +1005,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=minimain
 override TARGET_UNITS+=minimain
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=minimain
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=minimain
 override TARGET_UNITS+=minimain
 endif
 endif
@@ -1578,6 +1584,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2229,6 +2238,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HTTPD24=1
 REQUIRE_PACKAGES_HTTPD24=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_HTTPD24=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HTTPD24=1
 REQUIRE_PACKAGES_HTTPD24=1

+ 11 - 1
packages/ibase/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=testib40 testib60
 override TARGET_PROGRAMS+=testib40 testib60
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=testib40 testib60
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=testib40 testib60
 override TARGET_PROGRAMS+=testib40 testib60
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_IBASE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_IBASE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_IBASE=1
 REQUIRE_PACKAGES_IBASE=1

+ 11 - 1
packages/iconvenc/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=iconvtest
 override TARGET_PROGRAMS+=iconvtest
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=iconvtest
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=iconvtest
 override TARGET_PROGRAMS+=iconvtest
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_ICONVENC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_ICONVENC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_ICONVENC=1
 REQUIRE_PACKAGES_ICONVENC=1

+ 20 - 1
packages/ide/compiler/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -711,6 +711,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=compunit
 override TARGET_UNITS+=compunit
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=compunit
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=compunit
 override TARGET_UNITS+=compunit
 endif
 endif
@@ -1051,6 +1054,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Ur -dNOCATCH
 override COMPILER_OPTIONS+=-Ur -dNOCATCH
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Ur -dNOCATCH
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Ur -dNOCATCH
 override COMPILER_OPTIONS+=-Ur -dNOCATCH
 endif
 endif
@@ -1390,6 +1396,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_INCLUDEDIR+=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET)
 override COMPILER_INCLUDEDIR+=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_INCLUDEDIR+=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_INCLUDEDIR+=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET)
 override COMPILER_INCLUDEDIR+=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET)
 endif
 endif
@@ -1729,6 +1738,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITDIR+=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET) $(COMPILERDIR)/targets $(COMPILERDIR)/systems
 override COMPILER_UNITDIR+=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET) $(COMPILERDIR)/targets $(COMPILERDIR)/systems
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITDIR+=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET) $(COMPILERDIR)/targets $(COMPILERDIR)/systems
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITDIR+=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET) $(COMPILERDIR)/targets $(COMPILERDIR)/systems
 override COMPILER_UNITDIR+=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET) $(COMPILERDIR)/targets $(COMPILERDIR)/systems
 endif
 endif
@@ -2304,6 +2316,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2955,6 +2970,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL-EXTRA=1
 REQUIRE_PACKAGES_RTL-EXTRA=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_RTL-EXTRA=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL-EXTRA=1
 REQUIRE_PACKAGES_RTL-EXTRA=1

+ 10 - 1
packages/ide/fakegdb/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_UNITS+=gdbcon gdbint
 override TARGET_UNITS+=gdbcon gdbint
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_UNITS+=gdbcon gdbint
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_UNITS+=gdbcon gdbint
 override TARGET_UNITS+=gdbcon gdbint
 endif
 endif
@@ -1241,6 +1244,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1793,6 +1799,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif

+ 11 - 1
packages/libcurl/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=testcurl teststream
 override TARGET_PROGRAMS+=testcurl teststream
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=testcurl teststream
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=testcurl teststream
 override TARGET_PROGRAMS+=testcurl teststream
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_LIBCURL=1
 REQUIRE_PACKAGES_LIBCURL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_LIBCURL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_LIBCURL=1
 REQUIRE_PACKAGES_LIBCURL=1

+ 15 - 1
packages/libgbafpc/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=audio graphics template
 override TARGET_DIRS+=audio graphics template
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=audio graphics template
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=audio graphics template
 override TARGET_DIRS+=audio graphics template
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1791,6 +1797,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBGBAFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
@@ -2752,6 +2761,11 @@ TARGET_DIRS_AUDIO=1
 TARGET_DIRS_GRAPHICS=1
 TARGET_DIRS_GRAPHICS=1
 TARGET_DIRS_TEMPLATE=1
 TARGET_DIRS_TEMPLATE=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_AUDIO=1
+TARGET_DIRS_GRAPHICS=1
+TARGET_DIRS_TEMPLATE=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_AUDIO=1
 TARGET_DIRS_AUDIO=1
 TARGET_DIRS_GRAPHICS=1
 TARGET_DIRS_GRAPHICS=1

+ 13 - 1
packages/libgbafpc/examples/audio/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=PlayBoyScout
 override TARGET_DIRS+=PlayBoyScout
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=PlayBoyScout
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=PlayBoyScout
 override TARGET_DIRS+=PlayBoyScout
 endif
 endif
@@ -1241,6 +1244,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1793,6 +1799,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBGBAFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
@@ -2715,6 +2724,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 TARGET_DIRS_PLAYBOYSCOUT=1
 TARGET_DIRS_PLAYBOYSCOUT=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_PLAYBOYSCOUT=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_PLAYBOYSCOUT=1
 TARGET_DIRS_PLAYBOYSCOUT=1
 endif
 endif

+ 16 - 1
packages/libgbafpc/examples/audio/PlayBoyScout/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -670,6 +670,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=PlayBoyScout
 override TARGET_PROGRAMS+=PlayBoyScout
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=PlayBoyScout
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=PlayBoyScout
 override TARGET_PROGRAMS+=PlayBoyScout
 endif
 endif
@@ -1009,6 +1012,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1348,6 +1354,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 endif
 endif
@@ -1924,6 +1933,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2476,6 +2488,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBGBAFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif

+ 15 - 1
packages/libgbafpc/examples/graphics/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -665,6 +665,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=ansi_console PCXView SimpleBGScroll
 override TARGET_DIRS+=ansi_console PCXView SimpleBGScroll
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=ansi_console PCXView SimpleBGScroll
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=ansi_console PCXView SimpleBGScroll
 override TARGET_DIRS+=ansi_console PCXView SimpleBGScroll
 endif
 endif
@@ -1241,6 +1244,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1793,6 +1799,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBGBAFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
@@ -2913,6 +2922,11 @@ TARGET_DIRS_ANSI_CONSOLE=1
 TARGET_DIRS_PCXVIEW=1
 TARGET_DIRS_PCXVIEW=1
 TARGET_DIRS_SIMPLEBGSCROLL=1
 TARGET_DIRS_SIMPLEBGSCROLL=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_ANSI_CONSOLE=1
+TARGET_DIRS_PCXVIEW=1
+TARGET_DIRS_SIMPLEBGSCROLL=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_ANSI_CONSOLE=1
 TARGET_DIRS_ANSI_CONSOLE=1
 TARGET_DIRS_PCXVIEW=1
 TARGET_DIRS_PCXVIEW=1

+ 16 - 1
packages/libgbafpc/examples/graphics/PCXView/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -670,6 +670,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=PcxView
 override TARGET_PROGRAMS+=PcxView
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=PcxView
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=PcxView
 override TARGET_PROGRAMS+=PcxView
 endif
 endif
@@ -1009,6 +1012,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1348,6 +1354,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 endif
 endif
@@ -1924,6 +1933,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2476,6 +2488,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBGBAFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif

+ 16 - 1
packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -670,6 +670,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=SimpleBGScroll
 override TARGET_PROGRAMS+=SimpleBGScroll
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=SimpleBGScroll
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=SimpleBGScroll
 override TARGET_PROGRAMS+=SimpleBGScroll
 endif
 endif
@@ -1009,6 +1012,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1348,6 +1354,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 endif
 endif
@@ -1924,6 +1933,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2476,6 +2488,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBGBAFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif

+ 16 - 1
packages/libgbafpc/examples/graphics/ansi_console/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -670,6 +670,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=console
 override TARGET_PROGRAMS+=console
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=console
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=console
 override TARGET_PROGRAMS+=console
 endif
 endif
@@ -1009,6 +1012,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1348,6 +1354,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 endif
 endif
@@ -1924,6 +1933,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2476,6 +2488,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBGBAFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif

+ 16 - 1
packages/libgbafpc/examples/template/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -672,6 +672,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=template
 override TARGET_PROGRAMS+=template
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=template
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=template
 override TARGET_PROGRAMS+=template
 endif
 endif
@@ -1011,6 +1014,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1350,6 +1356,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 override CLEAN_FILES+=*.elf *.o *.s *.gba *.h *.bin *.map $(BUILD)/* $(INC)/*
 endif
 endif
@@ -1926,6 +1935,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2478,6 +2490,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBGBAFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBGBAFPC=1
 REQUIRE_PACKAGES_LIBGBAFPC=1
 endif
 endif

+ 11 - 1
packages/libgd/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=gdtest gdtestcgi
 override TARGET_PROGRAMS+=gdtest gdtestcgi
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=gdtest gdtestcgi
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=gdtest gdtestcgi
 override TARGET_PROGRAMS+=gdtest gdtestcgi
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1890,6 +1896,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_LIBGD=1
 REQUIRE_PACKAGES_LIBGD=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_LIBGD=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_LIBGD=1
 REQUIRE_PACKAGES_LIBGD=1

+ 23 - 1
packages/libndsfpc/examples/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=audio card debugging ds_motion dswifi filesystem gl2d graphics hello_world input time
 override TARGET_DIRS+=audio card debugging ds_motion dswifi filesystem gl2d graphics hello_world input time
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=audio card debugging ds_motion dswifi filesystem gl2d graphics hello_world input time
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=audio card debugging ds_motion dswifi filesystem gl2d graphics hello_world input time
 override TARGET_DIRS+=audio card debugging ds_motion dswifi filesystem gl2d graphics hello_world input time
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1791,6 +1797,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
@@ -3544,6 +3553,19 @@ TARGET_DIRS_HELLO_WORLD=1
 TARGET_DIRS_INPUT=1
 TARGET_DIRS_INPUT=1
 TARGET_DIRS_TIME=1
 TARGET_DIRS_TIME=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_AUDIO=1
+TARGET_DIRS_CARD=1
+TARGET_DIRS_DEBUGGING=1
+TARGET_DIRS_DS_MOTION=1
+TARGET_DIRS_DSWIFI=1
+TARGET_DIRS_FILESYSTEM=1
+TARGET_DIRS_GL2D=1
+TARGET_DIRS_GRAPHICS=1
+TARGET_DIRS_HELLO_WORLD=1
+TARGET_DIRS_INPUT=1
+TARGET_DIRS_TIME=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_AUDIO=1
 TARGET_DIRS_AUDIO=1
 TARGET_DIRS_CARD=1
 TARGET_DIRS_CARD=1

+ 14 - 1
packages/libndsfpc/examples/audio/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=maxmod micrecord
 override TARGET_DIRS+=maxmod micrecord
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=maxmod micrecord
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=maxmod micrecord
 override TARGET_DIRS+=maxmod micrecord
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1791,6 +1797,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
@@ -2653,6 +2662,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 TARGET_DIRS_MAXMOD=1
 TARGET_DIRS_MAXMOD=1
 TARGET_DIRS_MICRECORD=1
 TARGET_DIRS_MICRECORD=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_MAXMOD=1
+TARGET_DIRS_MICRECORD=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_MAXMOD=1
 TARGET_DIRS_MAXMOD=1
 TARGET_DIRS_MICRECORD=1
 TARGET_DIRS_MICRECORD=1

+ 17 - 1
packages/libndsfpc/examples/audio/maxmod/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=audio_modes basic_sound reverb song_events_example song_events_example2
 override TARGET_DIRS+=audio_modes basic_sound reverb song_events_example song_events_example2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=audio_modes basic_sound reverb song_events_example song_events_example2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=audio_modes basic_sound reverb song_events_example song_events_example2
 override TARGET_DIRS+=audio_modes basic_sound reverb song_events_example song_events_example2
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1791,6 +1797,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
@@ -2950,6 +2959,13 @@ TARGET_DIRS_REVERB=1
 TARGET_DIRS_SONG_EVENTS_EXAMPLE=1
 TARGET_DIRS_SONG_EVENTS_EXAMPLE=1
 TARGET_DIRS_SONG_EVENTS_EXAMPLE2=1
 TARGET_DIRS_SONG_EVENTS_EXAMPLE2=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_AUDIO_MODES=1
+TARGET_DIRS_BASIC_SOUND=1
+TARGET_DIRS_REVERB=1
+TARGET_DIRS_SONG_EVENTS_EXAMPLE=1
+TARGET_DIRS_SONG_EVENTS_EXAMPLE2=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_AUDIO_MODES=1
 TARGET_DIRS_AUDIO_MODES=1
 TARGET_DIRS_BASIC_SOUND=1
 TARGET_DIRS_BASIC_SOUND=1

+ 28 - 1
packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -675,6 +675,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=audio_modes
 override TARGET_PROGRAMS+=audio_modes
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=audio_modes
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=audio_modes
 override TARGET_PROGRAMS+=audio_modes
 endif
 endif
@@ -1014,6 +1017,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_LOADERS+=soundbank.bin
 override TARGET_LOADERS+=soundbank.bin
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_LOADERS+=soundbank.bin
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_LOADERS+=soundbank.bin
 override TARGET_LOADERS+=soundbank.bin
 endif
 endif
@@ -1353,6 +1359,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1692,6 +1701,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -2032,6 +2044,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2371,6 +2386,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2710,6 +2728,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -3285,6 +3306,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3837,6 +3861,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 28 - 1
packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -675,6 +675,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=basic_sound
 override TARGET_PROGRAMS+=basic_sound
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=basic_sound
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=basic_sound
 override TARGET_PROGRAMS+=basic_sound
 endif
 endif
@@ -1014,6 +1017,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
 override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
 override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
 endif
 endif
@@ -1353,6 +1359,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1692,6 +1701,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -2032,6 +2044,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2371,6 +2386,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2710,6 +2728,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -3285,6 +3306,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3837,6 +3861,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 28 - 1
packages/libndsfpc/examples/audio/maxmod/reverb/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -675,6 +675,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=reverb
 override TARGET_PROGRAMS+=reverb
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=reverb
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=reverb
 override TARGET_PROGRAMS+=reverb
 endif
 endif
@@ -1014,6 +1017,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
 override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
 override TARGET_LOADERS+=soundbank.bin $(GFX_FILES)
 endif
 endif
@@ -1353,6 +1359,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1692,6 +1701,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -2032,6 +2044,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2371,6 +2386,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2710,6 +2728,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -3285,6 +3306,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3837,6 +3861,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 28 - 1
packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -675,6 +675,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=song_events_example
 override TARGET_PROGRAMS+=song_events_example
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=song_events_example
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=song_events_example
 override TARGET_PROGRAMS+=song_events_example
 endif
 endif
@@ -1014,6 +1017,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_LOADERS+=mmsolution.bin
 override TARGET_LOADERS+=mmsolution.bin
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_LOADERS+=mmsolution.bin
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_LOADERS+=mmsolution.bin
 override TARGET_LOADERS+=mmsolution.bin
 endif
 endif
@@ -1353,6 +1359,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1692,6 +1701,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -2032,6 +2044,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2371,6 +2386,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2710,6 +2728,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -3285,6 +3306,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3837,6 +3861,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 28 - 1
packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -675,6 +675,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=song_events_example2
 override TARGET_PROGRAMS+=song_events_example2
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=song_events_example2
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=song_events_example2
 override TARGET_PROGRAMS+=song_events_example2
 endif
 endif
@@ -1014,6 +1017,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_LOADERS+=mmsolution.bin
 override TARGET_LOADERS+=mmsolution.bin
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_LOADERS+=mmsolution.bin
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_LOADERS+=mmsolution.bin
 override TARGET_LOADERS+=mmsolution.bin
 endif
 endif
@@ -1353,6 +1359,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1692,6 +1701,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -2032,6 +2044,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2371,6 +2386,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2710,6 +2728,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -3285,6 +3306,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3837,6 +3861,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 25 - 1
packages/libndsfpc/examples/audio/maxmod/streaming/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -675,6 +675,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=streaming
 override TARGET_PROGRAMS+=streaming
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=streaming
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=streaming
 override TARGET_PROGRAMS+=streaming
 endif
 endif
@@ -1014,6 +1017,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1353,6 +1359,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1693,6 +1702,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2032,6 +2044,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2371,6 +2386,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2946,6 +2964,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3498,6 +3519,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 25 - 1
packages/libndsfpc/examples/audio/micrecord/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=micrecord
 override TARGET_PROGRAMS+=micrecord
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=micrecord
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=micrecord
 override TARGET_PROGRAMS+=micrecord
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2369,6 +2384,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2944,6 +2962,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3496,6 +3517,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 13 - 1
packages/libndsfpc/examples/card/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=eeprom
 override TARGET_DIRS+=eeprom
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=eeprom
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=eeprom
 override TARGET_DIRS+=eeprom
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1791,6 +1797,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
@@ -2554,6 +2563,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 TARGET_DIRS_EEPROM=1
 TARGET_DIRS_EEPROM=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_EEPROM=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_EEPROM=1
 TARGET_DIRS_EEPROM=1
 endif
 endif

+ 25 - 1
packages/libndsfpc/examples/card/eeprom/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=eeprom
 override TARGET_PROGRAMS+=eeprom
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=eeprom
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=eeprom
 override TARGET_PROGRAMS+=eeprom
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2369,6 +2384,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2944,6 +2962,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3496,6 +3517,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 13 - 1
packages/libndsfpc/examples/debugging/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=exceptionTest
 override TARGET_DIRS+=exceptionTest
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=exceptionTest
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=exceptionTest
 override TARGET_DIRS+=exceptionTest
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1791,6 +1797,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
@@ -2554,6 +2563,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 TARGET_DIRS_EXCEPTIONTEST=1
 TARGET_DIRS_EXCEPTIONTEST=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_EXCEPTIONTEST=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_EXCEPTIONTEST=1
 TARGET_DIRS_EXCEPTIONTEST=1
 endif
 endif

+ 25 - 1
packages/libndsfpc/examples/debugging/exceptionTest/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=exceptionTest
 override TARGET_PROGRAMS+=exceptionTest
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=exceptionTest
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=exceptionTest
 override TARGET_PROGRAMS+=exceptionTest
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2369,6 +2384,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2944,6 +2962,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3496,6 +3517,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 25 - 1
packages/libndsfpc/examples/ds_motion/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=dsMotion
 override TARGET_PROGRAMS+=dsMotion
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=dsMotion
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=dsMotion
 override TARGET_PROGRAMS+=dsMotion
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2369,6 +2384,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2944,6 +2962,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3496,6 +3517,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 15 - 1
packages/libndsfpc/examples/dswifi/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=ap_search autoconnect httpget
 override TARGET_DIRS+=ap_search autoconnect httpget
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=ap_search autoconnect httpget
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=ap_search autoconnect httpget
 override TARGET_DIRS+=ap_search autoconnect httpget
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1791,6 +1797,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
@@ -2752,6 +2761,11 @@ TARGET_DIRS_AP_SEARCH=1
 TARGET_DIRS_AUTOCONNECT=1
 TARGET_DIRS_AUTOCONNECT=1
 TARGET_DIRS_HTTPGET=1
 TARGET_DIRS_HTTPGET=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_AP_SEARCH=1
+TARGET_DIRS_AUTOCONNECT=1
+TARGET_DIRS_HTTPGET=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_AP_SEARCH=1
 TARGET_DIRS_AP_SEARCH=1
 TARGET_DIRS_AUTOCONNECT=1
 TARGET_DIRS_AUTOCONNECT=1

+ 25 - 1
packages/libndsfpc/examples/dswifi/ap_search/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=apSearch
 override TARGET_PROGRAMS+=apSearch
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=apSearch
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=apSearch
 override TARGET_PROGRAMS+=apSearch
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2369,6 +2384,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2944,6 +2962,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3496,6 +3517,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 25 - 1
packages/libndsfpc/examples/dswifi/autoconnect/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=autoconnect
 override TARGET_PROGRAMS+=autoconnect
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=autoconnect
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=autoconnect
 override TARGET_PROGRAMS+=autoconnect
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2369,6 +2384,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2944,6 +2962,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3496,6 +3517,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 25 - 1
packages/libndsfpc/examples/dswifi/httpget/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=httpget
 override TARGET_PROGRAMS+=httpget
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=httpget
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=httpget
 override TARGET_PROGRAMS+=httpget
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2369,6 +2384,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2944,6 +2962,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3496,6 +3517,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 14 - 1
packages/libndsfpc/examples/filesystem/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=libfat nitrofs
 override TARGET_DIRS+=libfat nitrofs
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=libfat nitrofs
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=libfat nitrofs
 override TARGET_DIRS+=libfat nitrofs
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1791,6 +1797,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
@@ -2653,6 +2662,10 @@ ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 TARGET_DIRS_LIBFAT=1
 TARGET_DIRS_LIBFAT=1
 TARGET_DIRS_NITROFS=1
 TARGET_DIRS_NITROFS=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_LIBFAT=1
+TARGET_DIRS_NITROFS=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_LIBFAT=1
 TARGET_DIRS_LIBFAT=1
 TARGET_DIRS_NITROFS=1
 TARGET_DIRS_NITROFS=1

+ 28 - 1
packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -674,6 +674,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=embedded_gbfs
 override TARGET_PROGRAMS+=embedded_gbfs
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=embedded_gbfs
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=embedded_gbfs
 override TARGET_PROGRAMS+=embedded_gbfs
 endif
 endif
@@ -1013,6 +1016,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_LOADERS+=data.gbfs
 override TARGET_LOADERS+=data.gbfs
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_LOADERS+=data.gbfs
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_LOADERS+=data.gbfs
 override TARGET_LOADERS+=data.gbfs
 endif
 endif
@@ -1352,6 +1358,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -2031,6 +2043,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2370,6 +2385,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2709,6 +2727,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -3284,6 +3305,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3836,6 +3860,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 13 - 1
packages/libndsfpc/examples/filesystem/libfat/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=libfatdir
 override TARGET_DIRS+=libfatdir
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=libfatdir
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=libfatdir
 override TARGET_DIRS+=libfatdir
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1791,6 +1797,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
@@ -2554,6 +2563,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 TARGET_DIRS_LIBFATDIR=1
 TARGET_DIRS_LIBFATDIR=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_LIBFATDIR=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_LIBFATDIR=1
 TARGET_DIRS_LIBFATDIR=1
 endif
 endif

+ 25 - 1
packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=access_dir
 override TARGET_PROGRAMS+=access_dir
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=access_dir
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=access_dir
 override TARGET_PROGRAMS+=access_dir
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2369,6 +2384,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2944,6 +2962,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3496,6 +3517,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 25 - 1
packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=access_file
 override TARGET_PROGRAMS+=access_file
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=access_file
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=access_file
 override TARGET_PROGRAMS+=access_file
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2369,6 +2384,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2944,6 +2962,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3496,6 +3517,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 25 - 1
packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -673,6 +673,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_PROGRAMS+=libfatdir
 override TARGET_PROGRAMS+=libfatdir
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_PROGRAMS+=libfatdir
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_PROGRAMS+=libfatdir
 override TARGET_PROGRAMS+=libfatdir
 endif
 endif
@@ -1012,6 +1015,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_UNITS+=*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_UNITS+=*
 override CLEAN_UNITS+=*
 endif
 endif
@@ -1351,6 +1357,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 override CLEAN_FILES+=*.elf *.o *.s *.nds *.nef *.h *.bin *.map $(BUILD)/* $(INC)/* $(BIN)/*
 endif
 endif
@@ -1691,6 +1700,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_OPTIONS+=-Xm
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_OPTIONS+=-Xm
 override COMPILER_OPTIONS+=-Xm
 endif
 endif
@@ -2030,6 +2042,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_TARGETDIR+=$(BIN)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_TARGETDIR+=$(BIN)
 override COMPILER_TARGETDIR+=$(BIN)
 endif
 endif
@@ -2369,6 +2384,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override COMPILER_UNITTARGETDIR+=$(BUILD)
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 override COMPILER_UNITTARGETDIR+=$(BUILD)
 endif
 endif
@@ -2944,6 +2962,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -3496,6 +3517,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif

+ 13 - 1
packages/libndsfpc/examples/filesystem/nitrofs/Makefile

@@ -2,7 +2,7 @@
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 # Don't edit, this file is generated by FPCMake Version 2.0.0
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql m68k-human68k powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mipsel-ps1 mips64-linux mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-embedded aarch64-iphonesim aarch64-android aarch64-ios wasm32-embedded wasm32-wasip1 wasm32-wasip1threads sparc64-linux riscv32-linux riscv32-embedded riscv32-freertos riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc loongarch64-linux
 BSDs = freebsd netbsd openbsd darwin dragonfly
 BSDs = freebsd netbsd openbsd darwin dragonfly
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
 LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari human68k
@@ -663,6 +663,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 override TARGET_DIRS+=nitrodir
 override TARGET_DIRS+=nitrodir
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+override TARGET_DIRS+=nitrodir
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 override TARGET_DIRS+=nitrodir
 override TARGET_DIRS+=nitrodir
 endif
 endif
@@ -1239,6 +1242,9 @@ endif
 ifeq ($(OS_TARGET),wasip1)
 ifeq ($(OS_TARGET),wasip1)
 EXEEXT=.wasm
 EXEEXT=.wasm
 endif
 endif
+ifeq ($(OS_TARGET),wasip1threads)
+EXEEXT=.wasm
+endif
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -1791,6 +1797,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+REQUIRE_PACKAGES_LIBNDSFPC=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 REQUIRE_PACKAGES_LIBNDSFPC=1
 REQUIRE_PACKAGES_LIBNDSFPC=1
 endif
 endif
@@ -2554,6 +2563,9 @@ endif
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
 TARGET_DIRS_NITRODIR=1
 TARGET_DIRS_NITRODIR=1
 endif
 endif
+ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
+TARGET_DIRS_NITRODIR=1
+endif
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 ifeq ($(CPU_OS_TARGET),sparc64-linux)
 TARGET_DIRS_NITRODIR=1
 TARGET_DIRS_NITRODIR=1
 endif
 endif

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio