Browse Source

+ compile the strings unit for the wasi target

git-svn-id: branches/wasm@48427 -
nickysn 4 years ago
parent
commit
616db5df68
5 changed files with 152 additions and 106 deletions
  1. 2 0
      .gitattributes
  2. 109 105
      rtl/wasi/Makefile
  3. 6 1
      rtl/wasi/Makefile.fpc
  4. 18 0
      rtl/wasm32/strings.inc
  5. 17 0
      rtl/wasm32/stringss.inc

+ 2 - 0
.gitattributes

@@ -12210,6 +12210,8 @@ rtl/wasm32/math.inc svneol=native#text/plain
 rtl/wasm32/set.inc svneol=native#text/plain
 rtl/wasm32/set.inc svneol=native#text/plain
 rtl/wasm32/setjump.inc svneol=native#text/plain
 rtl/wasm32/setjump.inc svneol=native#text/plain
 rtl/wasm32/setjumph.inc svneol=native#text/plain
 rtl/wasm32/setjumph.inc svneol=native#text/plain
+rtl/wasm32/strings.inc svneol=native#text/plain
+rtl/wasm32/stringss.inc svneol=native#text/plain
 rtl/wasm32/wasm32.inc svneol=native#text/plain
 rtl/wasm32/wasm32.inc svneol=native#text/plain
 rtl/watcom/Makefile svneol=native#text/plain
 rtl/watcom/Makefile svneol=native#text/plain
 rtl/watcom/Makefile.fpc svneol=native#text/plain
 rtl/watcom/Makefile.fpc svneol=native#text/plain

+ 109 - 105
rtl/wasi/Makefile

@@ -366,319 +366,319 @@ ifdef NO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
 endif
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-win32)
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-os2)
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-beos)
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
 ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-netware)
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-emx)
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-wince)
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-nativent)
 ifeq ($(FULL_TARGET),i386-nativent)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-iphonesim)
 ifeq ($(FULL_TARGET),i386-iphonesim)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-android)
 ifeq ($(FULL_TARGET),i386-android)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i386-aros)
 ifeq ($(FULL_TARGET),i386-aros)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-macosclassic)
 ifeq ($(FULL_TARGET),m68k-macosclassic)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),m68k-sinclairql)
 ifeq ($(FULL_TARGET),m68k-sinclairql)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-macosclassic)
 ifeq ($(FULL_TARGET),powerpc-macosclassic)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-wii)
 ifeq ($(FULL_TARGET),powerpc-wii)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc-aix)
 ifeq ($(FULL_TARGET),powerpc-aix)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-haiku)
 ifeq ($(FULL_TARGET),x86_64-haiku)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-netbsd)
 ifeq ($(FULL_TARGET),x86_64-netbsd)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-solaris)
 ifeq ($(FULL_TARGET),x86_64-solaris)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-openbsd)
 ifeq ($(FULL_TARGET),x86_64-openbsd)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-iphonesim)
 ifeq ($(FULL_TARGET),x86_64-iphonesim)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-android)
 ifeq ($(FULL_TARGET),x86_64-android)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-aros)
 ifeq ($(FULL_TARGET),x86_64-aros)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),x86_64-dragonfly)
 ifeq ($(FULL_TARGET),x86_64-dragonfly)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-linux)
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-netbsd)
 ifeq ($(FULL_TARGET),arm-netbsd)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-wince)
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-gba)
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-nds)
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-android)
 ifeq ($(FULL_TARGET),arm-android)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-aros)
 ifeq ($(FULL_TARGET),arm-aros)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-freertos)
 ifeq ($(FULL_TARGET),arm-freertos)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),arm-ios)
 ifeq ($(FULL_TARGET),arm-ios)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),powerpc64-aix)
 ifeq ($(FULL_TARGET),powerpc64-aix)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
 ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
 ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),mips-linux)
 ifeq ($(FULL_TARGET),mips-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 ifeq ($(FULL_TARGET),mipsel-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),mipsel-embedded)
 ifeq ($(FULL_TARGET),mipsel-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),mipsel-android)
 ifeq ($(FULL_TARGET),mipsel-android)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),mips64el-linux)
 ifeq ($(FULL_TARGET),mips64el-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),jvm-java)
 ifeq ($(FULL_TARGET),jvm-java)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),jvm-android)
 ifeq ($(FULL_TARGET),jvm-android)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i8086-embedded)
 ifeq ($(FULL_TARGET),i8086-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i8086-msdos)
 ifeq ($(FULL_TARGET),i8086-msdos)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),i8086-win16)
 ifeq ($(FULL_TARGET),i8086-win16)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),aarch64-linux)
 ifeq ($(FULL_TARGET),aarch64-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),aarch64-darwin)
 ifeq ($(FULL_TARGET),aarch64-darwin)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),aarch64-win64)
 ifeq ($(FULL_TARGET),aarch64-win64)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),aarch64-android)
 ifeq ($(FULL_TARGET),aarch64-android)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),aarch64-ios)
 ifeq ($(FULL_TARGET),aarch64-ios)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),wasm32-embedded)
 ifeq ($(FULL_TARGET),wasm32-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),wasm32-wasi)
 ifeq ($(FULL_TARGET),wasm32-wasi)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),sparc64-linux)
 ifeq ($(FULL_TARGET),sparc64-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),riscv32-linux)
 ifeq ($(FULL_TARGET),riscv32-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),riscv32-embedded)
 ifeq ($(FULL_TARGET),riscv32-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),riscv64-linux)
 ifeq ($(FULL_TARGET),riscv64-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),riscv64-embedded)
 ifeq ($(FULL_TARGET),riscv64-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),xtensa-linux)
 ifeq ($(FULL_TARGET),xtensa-linux)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),xtensa-embedded)
 ifeq ($(FULL_TARGET),xtensa-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),xtensa-freertos)
 ifeq ($(FULL_TARGET),xtensa-freertos)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),z80-embedded)
 ifeq ($(FULL_TARGET),z80-embedded)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),z80-zxspectrum)
 ifeq ($(FULL_TARGET),z80-zxspectrum)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),z80-msxdos)
 ifeq ($(FULL_TARGET),z80-msxdos)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 ifeq ($(FULL_TARGET),z80-amstradcpc)
 ifeq ($(FULL_TARGET),z80-amstradcpc)
-override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+override TARGET_UNITS+=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 endif
 endif
 override INSTALL_FPCPACKAGE=y
 override INSTALL_FPCPACKAGE=y
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
@@ -2618,6 +2618,10 @@ system$(PPUEXT) : system.pp $(SYSDEPS) wasiinc/wasitypes.inc wasiinc/wasiprocs.i
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp -Fiwasiinc
 	$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp -Fiwasiinc
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
 	$(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
 	$(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
+strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
+		   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
+		   $(SYSTEMUNIT)$(PPUEXT)
+	$(COMPILER) $<
 si_prc$(PPUEXT) : si_prc.pp $(SYSTEMUNIT)$(PPUEXT)
 si_prc$(PPUEXT) : si_prc.pp $(SYSTEMUNIT)$(PPUEXT)
 	$(COMPILER) $<
 	$(COMPILER) $<
 wasiapi$(PPUEXT) : wasiapi.pp wasiinc/wasitypes.inc wasiinc/wasiprocs.inc $(SYSTEMUNIT)$(PPUEXT)
 wasiapi$(PPUEXT) : wasiapi.pp wasiinc/wasitypes.inc wasiinc/wasiprocs.inc $(SYSTEMUNIT)$(PPUEXT)

+ 6 - 1
rtl/wasi/Makefile.fpc

@@ -5,7 +5,7 @@
 main=rtl
 main=rtl
 [target]
 [target]
 loaders=
 loaders=
-units=system $(SYSINIT_UNITS) objpas wasiapi ctypes
+units=system $(SYSINIT_UNITS) objpas wasiapi ctypes strings
 
 
 [require]
 [require]
 nortl=y
 nortl=y
@@ -60,6 +60,11 @@ system$(PPUEXT) : system.pp $(SYSDEPS) wasiinc/wasitypes.inc wasiinc/wasiprocs.i
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
 objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
         $(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
         $(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
 
 
+strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
+                   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
+                   $(SYSTEMUNIT)$(PPUEXT)
+        $(COMPILER) $<
+
 #
 #
 # $(SYSINIT_UNITS) Units
 # $(SYSINIT_UNITS) Units
 #
 #

+ 18 - 0
rtl/wasm32/strings.inc

@@ -0,0 +1,18 @@
+{
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 2000 by Jonas Maebe, member of the
+    Free Pascal development team
+
+    Processor dependent part of strings.pp, that can be shared with
+    sysutils unit.
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+
+

+ 17 - 0
rtl/wasm32/stringss.inc

@@ -0,0 +1,17 @@
+{
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 1999-2000 by Jonas Maebe, member of the
+    Free Pascal development team
+
+    Processor dependent part of strings.pp, not shared with
+    sysutils unit.
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+