Browse Source

* synchronized with trunk

git-svn-id: branches/unicodekvm@49556 -
nickysn 4 years ago
parent
commit
71bbee9310
100 changed files with 755 additions and 64 deletions
  1. 2 0
      .gitattributes
  2. 366 0
      LICENSE
  3. 3 0
      Makefile
  4. 19 0
      README.md
  5. 3 0
      compiler/Makefile
  6. 11 1
      compiler/arm/aoptcpu.pas
  7. 4 0
      compiler/arm/cgcpu.pas
  8. 3 0
      compiler/utils/Makefile
  9. 24 17
      compiler/wasm32/agllvmmc.pas
  10. 3 0
      installer/Makefile
  11. 3 0
      packages/Makefile
  12. 3 0
      packages/a52/Makefile
  13. 3 0
      packages/ami-extra/Makefile
  14. 3 0
      packages/amunits/Makefile
  15. 7 7
      packages/amunits/src/coreunits/agraphics.pas
  16. 7 7
      packages/amunits/src/coreunits/amigados.pas
  17. 3 0
      packages/arosunits/Makefile
  18. 21 21
      packages/arosunits/src/amigados.pas
  19. 24 11
      packages/arosunits/src/exec.pas
  20. 3 0
      packages/aspell/Makefile
  21. 3 0
      packages/bfd/Makefile
  22. 3 0
      packages/bzip2/Makefile
  23. 3 0
      packages/cairo/Makefile
  24. 3 0
      packages/cdrom/Makefile
  25. 3 0
      packages/cdrom/examples/Makefile
  26. 3 0
      packages/chm/Makefile
  27. 3 0
      packages/cocoaint/Makefile
  28. 3 0
      packages/dblib/Makefile
  29. 3 0
      packages/dbus/Makefile
  30. 3 0
      packages/dbus/examples/Makefile
  31. 3 0
      packages/dts/Makefile
  32. 3 0
      packages/fastcgi/Makefile
  33. 3 0
      packages/fcl-async/Makefile
  34. 3 0
      packages/fcl-base/Makefile
  35. 3 0
      packages/fcl-base/examples/Makefile
  36. 3 0
      packages/fcl-db/Makefile
  37. 3 0
      packages/fcl-db/src/base/Makefile
  38. 3 0
      packages/fcl-db/src/codegen/Makefile
  39. 3 0
      packages/fcl-db/src/datadict/Makefile
  40. 3 0
      packages/fcl-db/src/dbase/Makefile
  41. 3 0
      packages/fcl-db/src/export/Makefile
  42. 3 0
      packages/fcl-db/src/json/Makefile
  43. 3 0
      packages/fcl-db/src/memds/Makefile
  44. 3 0
      packages/fcl-db/src/paradox/Makefile
  45. 3 0
      packages/fcl-db/src/sdf/Makefile
  46. 3 0
      packages/fcl-db/src/sql/Makefile
  47. 3 0
      packages/fcl-db/src/sqldb/Makefile
  48. 3 0
      packages/fcl-db/src/sqldb/interbase/Makefile
  49. 3 0
      packages/fcl-db/src/sqldb/mssql/Makefile
  50. 3 0
      packages/fcl-db/src/sqldb/mysql/Makefile
  51. 3 0
      packages/fcl-db/src/sqldb/odbc/Makefile
  52. 3 0
      packages/fcl-db/src/sqldb/oracle/Makefile
  53. 3 0
      packages/fcl-db/src/sqldb/postgres/Makefile
  54. 3 0
      packages/fcl-db/src/sqldb/sqlite/Makefile
  55. 3 0
      packages/fcl-db/src/sqlite/Makefile
  56. 3 0
      packages/fcl-db/tests/Makefile
  57. 3 0
      packages/fcl-extra/Makefile
  58. 3 0
      packages/fcl-extra/examples/Makefile
  59. 3 0
      packages/fcl-fpcunit/Makefile
  60. 3 0
      packages/fcl-fpcunit/src/exampletests/Makefile
  61. 3 0
      packages/fcl-fpcunit/src/tests/Makefile
  62. 3 0
      packages/fcl-image/Makefile
  63. 3 0
      packages/fcl-image/examples/Makefile
  64. 3 0
      packages/fcl-js/Makefile
  65. 3 0
      packages/fcl-json/Makefile
  66. 3 0
      packages/fcl-mustache/Makefile
  67. 3 0
      packages/fcl-net/Makefile
  68. 3 0
      packages/fcl-net/examples/Makefile
  69. 3 0
      packages/fcl-passrc/Makefile
  70. 3 0
      packages/fcl-pdf/Makefile
  71. 3 0
      packages/fcl-process/Makefile
  72. 3 0
      packages/fcl-registry/Makefile
  73. 3 0
      packages/fcl-registry/tests/Makefile
  74. 3 0
      packages/fcl-report/Makefile
  75. 3 0
      packages/fcl-res/Makefile
  76. 3 0
      packages/fcl-sdo/Makefile
  77. 3 0
      packages/fcl-sound/Makefile
  78. 3 0
      packages/fcl-stl/Makefile
  79. 3 0
      packages/fcl-web/Makefile
  80. 3 0
      packages/fcl-web/src/base/Makefile
  81. 3 0
      packages/fcl-web/src/jsonrpc/Makefile
  82. 3 0
      packages/fcl-web/src/webdata/Makefile
  83. 3 0
      packages/fcl-xml/Makefile
  84. 3 0
      packages/fftw/Makefile
  85. 3 0
      packages/fpgtk/Makefile
  86. 3 0
      packages/fpgtk/examples/Makefile
  87. 3 0
      packages/fpindexer/Makefile
  88. 3 0
      packages/fpmkunit/Makefile
  89. 3 0
      packages/fppkg/Makefile
  90. 3 0
      packages/fuse/Makefile
  91. 3 0
      packages/fv/Makefile
  92. 3 0
      packages/fv/examples/Makefile
  93. 3 0
      packages/gdbint/Makefile
  94. 3 0
      packages/gdbm/Makefile
  95. 3 0
      packages/gdbm/examples/Makefile
  96. 3 0
      packages/ggi/Makefile
  97. 3 0
      packages/ggi/examples/Makefile
  98. 3 0
      packages/gmp/Makefile
  99. 3 0
      packages/gmp/examples/Makefile
  100. 3 0
      packages/gnome1/Makefile

+ 2 - 0
.gitattributes

@@ -1,6 +1,8 @@
 * text=auto !eol
+/LICENSE svneol=native#text/plain
 /Makefile svneol=native#text/plain
 /Makefile.fpc svneol=native#text/plain
+/README.md svneol=native#text/plain
 compiler/COPYING.txt svneol=native#text/plain
 compiler/MPWMake -text
 compiler/Makefile svneol=native#text/plain

+ 366 - 0
LICENSE

@@ -0,0 +1,366 @@
+This is the file COPYING.FPC, it applies to the Free Pascal Run-Time Library 
+(RTL) and packages (packages) distributed by members of the Free Pascal 
+Development Team.
+
+The source code of the Free Pascal Runtime Libraries and packages are 
+distributed under the Library GNU General Public License 
+(see the file COPYING) with the following modification:
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent modules,
+and to copy and distribute the resulting executable under terms of your choice,
+provided that you also meet, for each linked independent module, the terms
+and conditions of the license of that module. An independent module is a module
+which is not derived from or based on this library. If you modify this
+library, you may extend this exception to your version of the library, but you are
+not obligated to do so. If you do not wish to do so, delete this exception
+statement from your version.
+
+If you didn't receive a copy of the file COPYING, contact:
+      Free Software Foundation
+      675 Mass Ave
+      Cambridge, MA  02139
+      USA
+
+The compiler itself is licensed under the GPL V2:
+
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    testconversion
+    Copyright (C) 2021  FPC
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    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.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.

+ 3 - 0
Makefile

@@ -1340,6 +1340,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 19 - 0
README.md

@@ -0,0 +1,19 @@
+# FPC Source code repository
+
+## Synopsis
+This repository contains the sources of the [Free Pascal](https://www.freepascal.org/) compiler distribution.
+
+
+It contains
+* The compiler sources in the directory *compiler*.
+* The run-time library in the directory *rtl*.
+* The packages distributed with the compiler in the directory *packages*.
+* Several utilities in the directory *utils*.
+* The compiler testsuite in the directory *tests*.
+
+## License
+The compiler is licensed under GPL v2, the run-time files are licensed under modified LGPL. 
+Both can be found in the LICENSE file, and the file rtl/COPYING.txt
+
+## Documentation
+Extensive documentation can be found on the [documentation website](https://docs.freepascal.org/). 

+ 3 - 0
compiler/Makefile

@@ -3065,6 +3065,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 11 - 1
compiler/arm/aoptcpu.pas

@@ -640,6 +640,10 @@ Implementation
         into
 
         add/sub rx,ry,const1+/-const
+        or
+        mov rx,ry if const1+/-const=0
+        or
+        remove it, if rx=ry and const1+/-const=0
 
         check if the first operation has no postfix and condition
       }
@@ -664,7 +668,13 @@ Implementation
               Result:=true;
               if newvalue=0 then
                 begin
-                  RemoveCurrentP(p);
+                  if MatchOperand(taicpu(p).oper[0]^,taicpu(p).oper[1]^) then
+                    RemoveCurrentP(p)
+                  else
+                    begin
+                      taicpu(p).opcode:=A_MOV;
+                      taicpu(p).ops:=2;
+                    end;
                   Exit;
                 end;
             end;

+ 4 - 0
compiler/arm/cgcpu.pas

@@ -3773,6 +3773,10 @@ unit cgcpu;
               end;
 
             registerarea:=0;
+            { do not save integer registers if the procedure does not return }
+            if po_noreturn in current_procinfo.procdef.procoptions then
+              regs:=[];
+
             if regs<>[] then
                begin
                  for r:=RS_R0 to RS_R15 do

+ 3 - 0
compiler/utils/Makefile

@@ -2132,6 +2132,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 24 - 17
compiler/wasm32/agllvmmc.pas

@@ -68,6 +68,25 @@ implementation
 
 
   procedure TLLVMMachineCodePlaygroundAssembler.WriteImports;
+
+      procedure WriteImportDll(proc: tprocdef);
+        var
+          list : TAsmList;
+        begin
+          list:=TAsmList.Create;
+          thlcgwasm(hlcg).g_procdef(list,proc);
+          WriteTree(list);
+          list.free;
+          writer.AsmWrite(#9'.import_module'#9);
+          writer.AsmWrite(proc.mangledname);
+          writer.AsmWrite(', ');
+          writer.AsmWriteLn(proc.import_dll^);
+          writer.AsmWrite(#9'.import_name'#9);
+          writer.AsmWrite(proc.mangledname);
+          writer.AsmWrite(', ');
+          writer.AsmWriteLn(proc.import_name^);
+        end;
+
     var
       i    : integer;
       def  : tdef;
@@ -82,22 +101,8 @@ implementation
           if assigned(def) and (def.typ=procdef) then
             begin
               proc := tprocdef(def);
-              if (po_external in proc.procoptions) and assigned(proc.import_dll) then
-                begin
-                  //WriteProcDef(proc);
-                  list:=TAsmList.Create;
-                  thlcgwasm(hlcg).g_procdef(list,proc);
-                  WriteTree(list);
-                  list.free;
-                  writer.AsmWrite(#9'.import_module'#9);
-                  writer.AsmWrite(proc.mangledname);
-                  writer.AsmWrite(', ');
-                  writer.AsmWriteLn(proc.import_dll^);
-                  writer.AsmWrite(#9'.import_name'#9);
-                  writer.AsmWrite(proc.mangledname);
-                  writer.AsmWrite(', ');
-                  writer.AsmWriteLn(proc.import_name^);
-                end;
+              if (po_external in proc.procoptions) and (po_has_importdll in proc.procoptions) then
+                WriteImportDll(proc);
             end;
          end;
       list:=TAsmList.Create;
@@ -117,7 +122,9 @@ implementation
               if assigned(def) and (tdef(def).typ = procdef) then
                 begin
                   proc := tprocdef(def);
-                  if (not proc.owner.iscurrentunit or (po_external in proc.procoptions)) and
+                  if (po_external in proc.procoptions) and (po_has_importdll in proc.procoptions) then
+                    WriteImportDll(proc)
+                  else if (not proc.owner.iscurrentunit or (po_external in proc.procoptions)) and
                      ((proc.paras.Count=0) or (proc.has_paraloc_info in [callerside,callbothsides])) then
                     thlcgwasm(hlcg).g_procdef(list,proc);
                 end;

+ 3 - 0
installer/Makefile

@@ -1298,6 +1298,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/Makefile

@@ -889,6 +889,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/a52/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/ami-extra/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/amunits/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 7 - 7
packages/amunits/src/coreunits/agraphics.pas

@@ -383,12 +383,12 @@ type
       );
     1:(
       DestAddr: SmallInt; // destination Pointer
-      DestData: SmallInt; // data to send      
+      DestData: SmallInt; // data to send
       );
     2:(
       VWaitPos: SmallInt; // vertical wait position
-      HWaitPos: SmallInt; // horizontal wait position      
-      );  
+      HWaitPos: SmallInt; // horizontal wait position
+      );
   end;
 
 { structure of cprlist that points to list that hardware actually executes }
@@ -400,7 +400,7 @@ type
         MaxCount : smallint;       { number of long instructions }
     end;
 
-    
+
     tCopList = record
         Next    : pCopList;     { next block for this copper list }
         _CopList : pCopList;    { system use }
@@ -2248,7 +2248,7 @@ const
 
 
 var
-    GfxBase : pLibrary = nil;
+    GfxBase : PGfxBase = nil;
 
 PROCEDURE AddAnimOb(anOb : pAnimOb location 'a0'; anKey : ppAnimOb location 'a1'; rp : pRastPort location 'a2'); syscall GfxBase 156;
 PROCEDURE AddBob(bob : pBob location 'a0'; rp : pRastPort location 'a1'); syscall GfxBase 096;
@@ -2617,10 +2617,10 @@ const
     LIBVERSION : longword = 0;
 
 initialization
-  GfxBase := OpenLibrary(GRAPHICSNAME,LIBVERSION);
+  GfxBase := PGFXBase(OpenLibrary(GRAPHICSNAME,LIBVERSION));
 finalization
   if Assigned(GfxBase) then
-    CloseLibrary(GfxBase);
+    CloseLibrary(PLibrary(GfxBase));
 END. (* UNIT GRAPHICS *)
 
 

+ 7 - 7
packages/amunits/src/coreunits/amigados.pas

@@ -1601,8 +1601,8 @@ FUNCTION CreateProc(const name : pCHAR location 'd1'; pri : LONGINT location 'd2
 FUNCTION CurrentDir(lock : BPTR location 'd1') : BPTR; syscall _DOSBase 126;
 PROCEDURE DateStamp(date : pDateStamp location 'd1'); syscall _DOSBase 192;
 FUNCTION DOSDateToStr(datetime : _PDateTime location 'd1') : LongBool; syscall _DOSBase 744;
-FUNCTION DOSDeleteFile(const name : pCHAR location 'd1') : LongBool; syscall _DOSBase 072;
-FUNCTION DeleteVar(const name : pCHAR location 'd1'; flags : ULONG location 'd2') : LongBool; syscall _DOSBase 912;
+FUNCTION DOSDeleteFile(const name : STRPTR location 'd1') : LongBool; syscall _DOSBase 072;
+FUNCTION DeleteVar(const name : STRPTR location 'd1'; flags : ULONG location 'd2') : LongBool; syscall _DOSBase 912;
 FUNCTION DeviceProc(const name : pCHAR location 'd1') : pMsgPort; syscall _DOSBase 174;
 FUNCTION DoPkt(port : pMsgPort location 'd1'; action : LONGINT location 'd2'; arg1 : LONGINT location 'd3'; arg2 : LONGINT location 'd4'; arg3 : LONGINT location 'd5'; arg4 : LONGINT location 'd6'; arg5 : LONGINT location 'd7') : LONGINT; syscall _DOSBase 240;
 FUNCTION DoPkt0(port : pMsgPort location 'd1'; action : LONGINT location 'd2') : LONGINT; syscall _DOSBase 240;
@@ -1618,7 +1618,7 @@ FUNCTION DOSInput : BPTR; syscall _DOSBase 054;
 FUNCTION DOSOpen(const name : pCHAR location 'd1'; accessMode : LONGINT location 'd2') : BPTR; syscall _DOSBase 030;
 FUNCTION DOSOutput : BPTR; syscall _DOSBase 060;
 FUNCTION DOSRead(file_ : BPTR location 'd1'; buffer : POINTER location 'd2'; length : LONGINT location 'd3') : LONGINT; syscall _DOSBase 042;
-FUNCTION DOSRename(const oldName : pCHAR location 'd1';const newName : pCHAR location 'd2') : LongBool; syscall _DOSBase 078;
+FUNCTION DOSRename(const oldName : STRPTR location 'd1';const newName : STRPTR location 'd2') : LongBool; syscall _DOSBase 078;
 FUNCTION DOSSeek(file_ : BPTR location 'd1'; position : LONGINT location 'd2'; offset : LONGINT location 'd3') : LONGINT; syscall _DOSBase 066;
 FUNCTION DOSWrite(file_ : BPTR location 'd1'; buffer : POINTER location 'd2'; length : LONGINT location 'd3') : LONGINT; syscall _DOSBase 048;
 FUNCTION DupLock(lock : BPTR location 'd1') : BPTR; syscall _DOSBase 096;
@@ -1629,7 +1629,7 @@ FUNCTION ExAll(lock : BPTR location 'd1'; buffer : pExAllData location 'd2'; siz
 PROCEDURE ExAllEnd(lock : BPTR location 'd1'; buffer : pExAllData location 'd2'; size : LONGINT location 'd3'; data : LONGINT location 'd4'; control : pExAllControl location 'd5'); syscall _DOSBase 990;
 FUNCTION Examine(lock : BPTR location 'd1'; fileInfoBlock : pFileInfoBlock location 'd2') : LongBool; syscall _DOSBase 102;
 FUNCTION ExamineFH(fh : BPTR location 'd1'; fib : pFileInfoBlock location 'd2') : LongBool; syscall _DOSBase 390;
-FUNCTION Execute(const string_ : pCHAR location 'd1'; file_ : LONGINT location 'd2'; file2 : LONGINT location 'd3') : LongBool; syscall _DOSBase 222;
+FUNCTION Execute(const string_ : pCHAR location 'd1'; file_ : BPTR location 'd2'; file2 : BPTR location 'd3') : LongBool; syscall _DOSBase 222;
 FUNCTION ExNext(lock : BPTR location 'd1'; fileInfoBlock : pFileInfoBlock location 'd2') : LongBool; syscall _DOSBase 108;
 FUNCTION Fault(code : LONGINT location 'd1'; header : pCHAR location 'd2'; buffer : pCHAR location 'd3'; len : LONGINT location 'd4') : LongBool; syscall _DOSBase 468;
 FUNCTION FGetC(fh : BPTR location 'd1') : LONGINT; syscall _DOSBase 306;
@@ -1690,7 +1690,7 @@ FUNCTION ParsePattern(const pat : pCHAR location 'd1'; buf : pCHAR location 'd2'
 FUNCTION ParsePatternNoCase(const pat : pCHAR location 'd1'; buf : pCHAR location 'd2'; buflen : LONGINT location 'd3') : LONGINT; syscall _DOSBase 966;
 FUNCTION PathPart(const path : pCHAR location 'd1') : pCHAR; syscall _DOSBase 876;
 FUNCTION PrintFault(code : LONGINT location 'd1';const header : pCHAR location 'd2') : LongBool; syscall _DOSBase 474;
-FUNCTION PutStr(const str : pCHAR location 'd1') : LongBool; syscall _DOSBase 948;
+FUNCTION PutStr(const str : pCHAR location 'd1') : LongInt; syscall _DOSBase 948;
 FUNCTION ReadArgs(const arg_template : pCHAR location 'd1'; arra : pLONGINT location 'd2'; args : pRDArgs location 'd3') : pRDArgs; syscall _DOSBase 798;
 FUNCTION ReadItem(const name : pCHAR location 'd1'; maxchars : LONGINT location 'd2'; cSource : pCSource location 'd3') : LONGINT; syscall _DOSBase 810;
 FUNCTION ReadLink(port : pMsgPort location 'd1'; lock : LONGINT location 'd2';const path : pCHAR location 'd3'; buffer : pCHAR location 'd4'; size : ULONG location 'd5') : LongBool; syscall _DOSBase 438;
@@ -1797,7 +1797,7 @@ FUNCTION NewLoadSeg(const file_ : string;const tags : pTagItem) : LONGINT;
 FUNCTION NewLoadSegTagList(const file_ : string;const tags : pTagItem) : LONGINT;
 FUNCTION PathPart(const path : string) : pCHAR;
 FUNCTION PrintFault(code : LONGINT;const header : string) : BOOLEAN;
-FUNCTION PutStr(const str : string) : BOOLEAN;
+FUNCTION PutStr(const str : string) : LongInt;
 FUNCTION ReadArgs(const arg_template : string; arra : pLONGINT; args : pRDArgs) : pRDArgs;
 FUNCTION ReadLink(port : pMsgPort; lock : LONGINT;const path : string; buffer : pCHAR; size : ULONG) : BOOLEAN;
 FUNCTION Relabel(const drive : string;const newname : pCHAR) : BOOLEAN;
@@ -2083,7 +2083,7 @@ begin
     PrintFault := PrintFault(code,PChar(RawByteString(header)));
 end;
 
-FUNCTION PutStr(const str : string) : BOOLEAN;
+FUNCTION PutStr(const str : string) : LongInt;
 begin
     PutStr := PutStr(PChar(RawByteString(str)));
 end;

+ 3 - 0
packages/arosunits/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 21 - 21
packages/arosunits/src/amigados.pas

@@ -2210,13 +2210,13 @@ function DOSInput: BPTR; syscall AOS_DOSBase 9;
 function DOSOutput : BPTR; syscall AOS_DOSBase 10;
 function DOSSeek(File_: BPTR; Position: LongInt; Mode: LongInt): LongInt; syscall AOS_DOSBase 11;
 function DOSDeleteFile(const Name: STRPTR): LongBool; syscall AOS_DOSBase 12;
-function DOSRename(const OldName: STRPTR; const NewName: STRPTR): LongInt; syscall AOS_DOSBase 13;
+function DOSRename(const OldName: STRPTR; const NewName: STRPTR): LongBool; syscall AOS_DOSBase 13;
 function Lock(const Name: STRPTR; AccessMode: LongInt): BPTR; syscall AOS_DOSBase 14;
 function UnLock(Lock: BPTR): LongBool; syscall AOS_DOSBase 15;
 function DupLock(Lock: BPTR): BPTR; syscall AOS_DOSBase 16;
-function Examine(Lock: BPTR; FileInfoBlock: PFileInfoBlock): LongInt; syscall AOS_DOSBase 17;
-function ExNext(Lock: BPTR; FileInfoBlock: PFileInfoBlock): LongInt; syscall AOS_DOSBase 18;
-function Info(Lock: BPTR; ParameterBlock: PInfoData): LongInt; syscall AOS_DOSBase 19;
+function Examine(Lock: BPTR; FileInfoBlock: PFileInfoBlock): LongBool; syscall AOS_DOSBase 17;
+function ExNext(Lock: BPTR; FileInfoBlock: PFileInfoBlock): LongBool; syscall AOS_DOSBase 18;
+function Info(Lock: BPTR; ParameterBlock: PInfoData): LongBool; syscall AOS_DOSBase 19;
 function DOSCreateDir(const Name: STRPTR): BPTR; syscall AOS_DOSBase 20;
 function CurrentDir(Lock: BPTR): BPTR; syscall AOS_DOSBase 21;
 function IoErr: LongInt; syscall AOS_DOSBase 22;
@@ -2225,14 +2225,14 @@ procedure DOSExit(ReturnCode: LongInt); syscall AOS_DOSBase 24;
 function LoadSeg(const Name: STRPTR): BPTR; syscall AOS_DOSBase 25;
 procedure UnLoadSeg(Seglist: BPTR); syscall AOS_DOSBase 26;
 function DeviceProc(const Name: STRPTR): PMsgPort; syscall AOS_DOSBase 29;
-function SetComment(const Name: STRPTR; const Comment: STRPTR): LongInt; syscall AOS_DOSBase 30;
-function SetProtection(const Name: STRPTR; Protect: LongWord): LongInt; syscall AOS_DOSBase 31;
+function SetComment(const Name: STRPTR; const Comment: STRPTR): LongBool; syscall AOS_DOSBase 30;
+function SetProtection(const Name: STRPTR; Protect: LongWord): LongBool; syscall AOS_DOSBase 31;
 function DateStamp(Date: PDateStamp): PDateStamp; syscall AOS_DOSBase 32;
 procedure DOSDelay(TimeOut: LongWord); syscall AOS_DOSBase 33;
-function WaitForChar(File_: BPTR; TimeOut: LongInt): LongInt; syscall AOS_DOSBase 34;
+function WaitForChar(File_: BPTR; TimeOut: LongInt): LongBool; syscall AOS_DOSBase 34;
 function ParentDir(Lock: BPTR): BPTR; syscall AOS_DOSBase 35;
 function IsInteractive(File_: BPTR): LongInt; syscall AOS_DOSBase 36;
-function Execute(const String_: STRPTR; Input: BPTR; Output: BPTR): LongInt; syscall AOS_DOSBase 37;
+function Execute(const String_: STRPTR; Input: BPTR; Output: BPTR): LongBool; syscall AOS_DOSBase 37;
 function AllocDosObject(Type_: LongWord; const Tags: PTagItem): APTR; syscall AOS_DOSBase 38;
 function AllocDosObjectTagList(Type_: LongWord; const Tags: PTagItem): APTR; syscall AOS_DOSBase 38;
 procedure FreeDosObject(Type_: LongWord; Ptr: APTR); syscall AOS_DOSBase 39;
@@ -2256,8 +2256,8 @@ function FGets(Fh: BPTR; Buf: STRPTR; BufLen: LongWord): STRPTR; syscall AOS_DOS
 function FPuts(File_: BPTR; const String_: STRPTR): LongInt; syscall AOS_DOSBase 57;
 function VFWritef(Fh: BPTR; const Fmt: STRPTR; const ArgArray: PLongInt): LongInt; syscall AOS_DOSBase 58;
 function VFPrintf(Fh: BPTR; const format: STRPTR; const ArgArray: PLongInt): LongInt; syscall AOS_DOSBase 59;
-function DOSFlush(File_: BPTR): LongInt; syscall AOS_DOSBase 60;
-function SetVBuf(File_: BPTR; Buff: STRPTR; Type_: LongInt; Size: LongInt): LongInt; syscall AOS_DOSBase 61;
+function DOSFlush(File_: BPTR): LongBool; syscall AOS_DOSBase 60;
+function SetVBuf(File_: BPTR; Buff: STRPTR; Type_: LongInt; Size: LongInt): LongBool; syscall AOS_DOSBase 61;
 function DupLockFromFH(Lock: BPTR): BPTR; syscall AOS_DOSBase 62;
 function OpenFromLock(Lock: BPTR): BPTR; syscall AOS_DOSBase 63;
 function ParentOfFH(Fh: BPTR): BPTR; syscall AOS_DOSBase 64;
@@ -2269,8 +2269,8 @@ function SplitName(const Name: STRPTR; Seperator: LongWord; Buf: STRPTR; OldPos:
 function SameLock(Lock1: BPTR; Lock2: BPTR): LongInt; syscall AOS_DOSBase 70;
 function SetMode(Fh: BPTR; Mode: LongInt): LongBool; syscall AOS_DOSBase 71;
 function ExAll(Lock: BPTR; Buffer: PExAllData; Size: LongInt; Data: LongInt; Control: PExAllControl): LongBool; syscall AOS_DOSBase 72;
-function ReadLink(Port: PMsgPort; Lock: LongInt; const Path: STRPTR; Buffer: STRPTR; Size: LongWord): LongInt; syscall AOS_DOSBase 73;
-function MakeLink(const Name: STRPTR; Dest: APTR; Soft: LongInt): LongInt; syscall AOS_DOSBase 74;
+function ReadLink(Port: PMsgPort; Lock: LongInt; const Path: STRPTR; Buffer: STRPTR; Size: LongWord): LongBool; syscall AOS_DOSBase 73;
+function MakeLink(const Name: STRPTR; Dest: APTR; Soft: LongInt): LongBool; syscall AOS_DOSBase 74;
 function ChangeMode(Type_: LongWord; Object_: BPTR; NewMode: LongWord): LongBool; syscall AOS_DOSBase 75;
 function SetFileSize(File_: BPTR; Offset: LongInt; Mode: LongInt): LongInt; syscall AOS_DOSBase 76;
 function SetIoErr(Result_: LongInt): LongInt; syscall AOS_DOSBase 77;
@@ -2300,26 +2300,26 @@ function SetProgramDir(Lock: BPTR): BPTR; syscall AOS_DOSBase 99;
 function GetProgramDir: BPTR; syscall AOS_DOSBase 100;
 function SystemTagList(const Command: STRPTR; const Tags: PTagItem): LongInt; syscall AOS_DOSBase 101;
 function DOSSystem(const Command: STRPTR; const Tags: PTagItem): LongInt; syscall AOS_DOSBase 101;
-function AssignLock(const Name: STRPTR; Lock: BPTR): LongInt; syscall AOS_DOSBase 102;
+function AssignLock(const Name: STRPTR; Lock: BPTR): LongBool; syscall AOS_DOSBase 102;
 function AssignLate(const Name: STRPTR; const Path: STRPTR): LongBool; syscall AOS_DOSBase 103;
 function AssignPath(const Name: STRPTR; const Path: STRPTR): LongBool; syscall AOS_DOSBase 104;
 function AssignAdd(const Name: STRPTR; Lock: BPTR): LongBool; syscall AOS_DOSBase 105;
-function RemAssignList(const Name: STRPTR; Lock: BPTR): LongInt; syscall AOS_DOSBase 106;
+function RemAssignList(const Name: STRPTR; Lock: BPTR): LongBool; syscall AOS_DOSBase 106;
 function GetDeviceProc(const Name: STRPTR; Dp: PDevProc): PDevProc; syscall AOS_DOSBase 107;
 procedure FreeDeviceProc(Dp: PDevProc); syscall AOS_DOSBase 108;
 function LockDosList(Flags: LongWord): PDosList; syscall AOS_DOSBase 109;
 procedure UnLockDosList(Flags: LongWord); syscall AOS_DOSBase 110;
 function AttemptLockDosList(Flags: LongWord): PDosList; syscall AOS_DOSBase 111;
-function RemDosEntry(DList: PDosList): LongInt; syscall AOS_DOSBase 112;
-function AddDosEntry(DList: PDosList): LongInt; syscall AOS_DOSBase 113;
+function RemDosEntry(DList: PDosList): LongBool; syscall AOS_DOSBase 112;
+function AddDosEntry(DList: PDosList): LongBool; syscall AOS_DOSBase 113;
 function FindDosEntry(const DList: PDosList; const Name: STRPTR; Flags: LongWord): PDosList; syscall AOS_DOSBase 114;
 function NextDosEntry(const DList: PDosList; Flags: LongWord): PDosList; syscall AOS_DOSBase 115;
 function MakeDosEntry(const Name: STRPTR; Type_: LongInt): PDosList; syscall AOS_DOSBase 116;
 procedure FreeDosEntry(DList: PDosList); syscall AOS_DOSBase 117;
 function IsFileSystem(const Name: STRPTR): LongBool; syscall AOS_DOSBase 118;
-function DosFormat(const DeviceName: STRPTR; const VolumeName: STRPTR; DosType: LongWord): LongBool; syscall AOS_DOSBase 119;
-function Relabel(const Drive: STRPTR; const NewName: STRPTR): LongInt; syscall AOS_DOSBase 120;
-function Inhibit(const Name: STRPTR; OnOff: LongInt): LongInt; syscall AOS_DOSBase 121;
+function Format(const DeviceName: STRPTR; const VolumeName: STRPTR; DosType: LongWord): LongBool; syscall AOS_DOSBase 119;
+function Relabel(const Drive: STRPTR; const NewName: STRPTR): LongBool; syscall AOS_DOSBase 120;
+function Inhibit(const Name: STRPTR; OnOff: LongInt): LongBool; syscall AOS_DOSBase 121;
 function AddBuffers(const DeviceName: STRPTR; NumbBuffers: LongInt): LongBool; syscall AOS_DOSBase 122;
 function CompareDates(const Date1: PDateStamp; const Date2: PDateStamp): LongInt; syscall AOS_DOSBase 123;
 function DOSDateToStr(Datetime: _PDateTime): LongBool; syscall AOS_DOSBase 124;
@@ -2330,7 +2330,7 @@ function NewLoadSeg(const File_: STRPTR; const Tags: PTagItem): BPTR; syscall AO
 function NewLoadSegTagList(const File_: STRPTR; const Tags: PTagItem): BPTR; syscall AOS_DOSBase 128;
 function AddSegment(const Name: STRPTR; Seg: BPTR; Type_: LongInt): LongBool; syscall AOS_DOSBase 129;
 function FindSegment(const Name: STRPTR; const Seg: PSegment; System: LongBool): PSegment; syscall AOS_DOSBase 130;
-function RemSegment(Seg: PSegment): LongInt; syscall AOS_DOSBase 131;
+function RemSegment(Seg: PSegment): LongBool; syscall AOS_DOSBase 131;
 function CheckSignal(Mask: LongInt): LongInt; syscall AOS_DOSBase 132;
 function ReadArgs(const Template: STRPTR; Array_: PIPTR; RdArgs: PRDArgs): PRDArgs; syscall AOS_DOSBase 133;
 function FindArg(const Template: STRPTR; const KeyWord: STRPTR): LongInt; syscall AOS_DOSBase 134;
@@ -2349,7 +2349,7 @@ function StartNotify(Notify: PNotifyRequest): LongBool; syscall AOS_DOSBase 148;
 procedure EndNotify(Notify: PNotifyRequest); syscall AOS_DOSBase 149;
 function SetVar(const Name: STRPTR; Buffer: PChar; Size: LongInt; Flags: LongInt): LongBool;  syscall AOS_DOSBase 150;
 function GetVar(const Name: STRPTR; Buffer: STRPTR; Size: LongInt; Flags: LongInt): LongInt; syscall AOS_DOSBase 151;
-function DeleteVar(const Name: STRPTR; Flags: LongWord): LongInt; syscall AOS_DOSBase 152;
+function DeleteVar(const Name: STRPTR; Flags: LongWord): LongBool; syscall AOS_DOSBase 152;
 function FindVar(const Name: STRPTR; Type_: LongWord): PLocalVar; syscall AOS_DOSBase 153;
 function CliInit(Dp: PDosPacket): IPTR; syscall AOS_DOSBase 154;
 function CliInitNewcli(Dp: PDosPacket): IPTR; syscall AOS_DOSBase 155;

+ 24 - 11
packages/arosunits/src/exec.pas

@@ -1344,7 +1344,7 @@ function NewStackSwap(NewStack: PStackSwapStruct; Function_: APTR; Args: PStackS
 function TaggedOpenLibrary(Tag: LongInt): APTR; syscall AOS_ExecBase 135;
 function ReadGayle: ULONG; syscall AOS_ExecBase 136;
 function VNewRawDoFmt(const FormatString: STRPTR; PutChProc: TProcedure; PutChData: APTR; VaListStream: PChar): STRPTR; syscall AOS_ExecBase 137;
-function NewAddTaskA(TagList: PTagItem): APTR; syscall AOS_ExecBase 153;
+function NewCreateTaskA(TagList: PTagItem): APTR; syscall AOS_ExecBase 153;
 function AddResetCallback(ResetCallback: PInterrupt): LongBool; syscall AOS_ExecBase 167;
 procedure RemResetCallback(ResetCallback: PInterrupt); syscall AOS_ExecBase 168;
 function ShutdownA(Action: ULONG): ULONG; syscall AOS_ExecBase 173;
@@ -1356,15 +1356,15 @@ procedure Switch; syscall AOS_ExecBase 9;
 procedure Dispatch; syscall AOS_ExecBase 10;
 function AVL_AddNode(Root: PPAVLNode; Node: PAVLNode; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 139;
 function AVL_RemNodeByAddress(Root: PPAVLNode; Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 140;
-function AVL_RemNodeByKey(Root: PPAVLNode; Key: AVLKey; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 141;
-function AVL_FindNode(Root: PPAVLNode; Key: AVLKey; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 142;
+function AVL_RemNodeByKey(Root: PPAVLNode; Key: AVLKey; Func: PAVLKEYCOMP): PAVLNode; syscall AOS_ExecBase 141;
+function AVL_FindNode(Root: PPAVLNode; Key: AVLKey; Func: PAVLKEYCOMP): PAVLNode; syscall AOS_ExecBase 142;
 function AVL_FindPrevNodeByAddress(Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 143;
-function AVL_FindPrevNodeByKey(Node: PAVLNode; Key: AVLKey): PAVLNode; syscall AOS_ExecBase 144;
+function AVL_FindPrevNodeByKey(Node: PAVLNode; Key: AVLKey; func: PAVLKeyComp): PAVLNode; syscall AOS_ExecBase 144;
 function AVL_FindNextNodeByAddress(Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 145;
-function AVL_FindNextNodeByKey(Node: PAVLNode; Key: AVLKey): PAVLNode; syscall AOS_ExecBase 146;
+function AVL_FindNextNodeByKey(Node: PAVLNode; Key: AVLKey; func: PAVLKeyComp): PAVLNode; syscall AOS_ExecBase 146;
 function AVL_FindFirstNode(Root: PAVLNode): PAVLNode; syscall AOS_ExecBase 147;
 function AVL_FindLastNode(Root: PAVLNode): PAVLNode; syscall AOS_ExecBase 148;
-function NewAddTask(Task: PTask; InitialPC: APTR; FinalPC: APTR; TagList: PTagItem): APTR; syscall AOS_ExecBase 152;
+function NewAddTaskA(Task: PTask; InitialPC: APTR; FinalPC: APTR; TagList: PTagItem): APTR; syscall AOS_ExecBase 152;
 function AllocVecPooled(Pool: APTR; Size: ULONG): APTR; syscall AOS_ExecBase 149;
 procedure FreeVecPooled(Pool: APTR; Memory: APTR); syscall AOS_ExecBase 150;
 function NewAllocEntry(Entry: PMemList; var Return_Entry: PMemList; var Return_Flags: ULONG): LongBool; syscall AOS_ExecBase 151;
@@ -1374,19 +1374,19 @@ function NewAllocEntry(Entry: PMemList; var Return_Entry: PMemList; var Return_F
 procedure NewMinList(Ml: PMinList); syscall AOS_ExecBase 138;
 function AVL_AddNode(Root: PPAVLNode; Node: PAVLNode; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 142;
 function AVL_RemNodeByAddress(Root: PPAVLNode; Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 143;
-function AVL_RemNodeByKey(Root: PPAVLNode; Key: AVLKey; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 144;
-function AVL_FindNode(Root: PPAVLNode; Key: AVLKey; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 145;
+function AVL_RemNodeByKey(Root: PPAVLNode; Key: AVLKey; Func: PAVLKEYCOMP): PAVLNode; syscall AOS_ExecBase 144;
+function AVL_FindNode(Root: PPAVLNode; Key: AVLKey; Func: PAVLKEYCOMP): PAVLNode; syscall AOS_ExecBase 145;
 function AVL_FindPrevNodeByAddress(Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 146;
-function AVL_FindPrevNodeByKey(Node: PAVLNode; Key: AVLKey): PAVLNode; syscall AOS_ExecBase 147;
+function AVL_FindPrevNodeByKey(Node: PAVLNode; Key: AVLKey; func: PAVLKeyComp): PAVLNode; syscall AOS_ExecBase 147;
 function AVL_FindNextNodeByAddress(Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 148;
-function AVL_FindNextNodeByKey(Node: PAVLNode; Key: AVLKey): PAVLNode; syscall AOS_ExecBase 149;
+function AVL_FindNextNodeByKey(Node: PAVLNode; Key: AVLKey; func: PAVLKeyComp): PAVLNode; syscall AOS_ExecBase 149;
 function AVL_FindFirstNode(Root: PAVLNode): PAVLNode; syscall AOS_ExecBase 150;
 function AVL_FindLastNode(Root: PAVLNode): PAVLNode; syscall AOS_ExecBase 151;
 function FindTaskByPID(ProcessID: LongWord): PTask; syscall AOS_ExecBase 166;
 function AllocVecPooled(Pool: APTR; Size: ULONG): APTR; syscall AOS_ExecBase 169;
 procedure FreeVecPooled(Pool: APTR; Memory: APTR); syscall AOS_ExecBase 170;
 function NewAllocEntry(Entry: PMemList; var Return_Entry: PMemList; var Return_Flags: ULONG): LongBool; syscall AOS_ExecBase 174;
-function NewAddTask(Task: PTask; InitialPC: APTR; FinalPC: APTR; TagList: PTagItem): APTR; syscall AOS_ExecBase 176;
+function NewAddTaskA(Task: PTask; InitialPC: APTR; FinalPC: APTR; TagList: PTagItem): APTR; syscall AOS_ExecBase 176;
 function AllocTaskStorage: LongInt; syscall AOS_ExecBase 180;
 procedure FreeTaskStorage(Slot: LongInt); syscall AOS_ExecBase 181;
 function SaveTaskStorage: APTR; syscall AOS_ExecBase 182;
@@ -1413,6 +1413,9 @@ function IsListEmpty(List: PList): Boolean;
 function IsMinListEmpty(List: PMinList): Boolean;
 function IsMsgPortEmpty( mp: pMsgPort): Boolean;
 
+function NewAddTask(Task: PTask; InitialPC: APTR; FinalPC: APTR; const Tags: array of PtrUInt): APTR;
+function NewCreateTask(const Tags: array of PtrUInt): APTR;
+
 type
   TNodeProcedure = procedure(Node:PNode); // Procedure for ForEachNode;
 
@@ -1424,6 +1427,16 @@ procedure DeleteExtIO(ioReq: PIORequest);
 
 implementation
 
+function NewAddTask(Task: PTask; InitialPC: APTR; FinalPC: APTR; const Tags: array of PtrUInt): APTR;
+begin
+  NewAddTask := NewAddTaskA(Task, InitialPC, FinalPC, @Tags);
+end;
+
+function NewCreateTask(const Tags: array of PtrUInt): APTR;
+begin
+  NewCreateTask := NewCreateTaskA(@Tags);
+end;
+
 // C Macros
 procedure SetNodeName(Node: PNode; Name: PChar); inline;
 begin

+ 3 - 0
packages/aspell/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/bfd/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/bzip2/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/cairo/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/cdrom/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/cdrom/examples/Makefile

@@ -1173,6 +1173,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/chm/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/cocoaint/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/dblib/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/dbus/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/dbus/examples/Makefile

@@ -1173,6 +1173,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/dts/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fastcgi/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-async/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-base/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-base/examples/Makefile

@@ -1173,6 +1173,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/base/Makefile

@@ -2130,6 +2130,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/codegen/Makefile

@@ -1811,6 +1811,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/datadict/Makefile

@@ -1811,6 +1811,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/dbase/Makefile

@@ -2455,6 +2455,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/export/Makefile

@@ -1811,6 +1811,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/json/Makefile

@@ -1175,6 +1175,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/memds/Makefile

@@ -1811,6 +1811,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/paradox/Makefile

@@ -1493,6 +1493,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sdf/Makefile

@@ -1493,6 +1493,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sql/Makefile

@@ -2129,6 +2129,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sqldb/Makefile

@@ -1937,6 +1937,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sqldb/interbase/Makefile

@@ -1493,6 +1493,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sqldb/mssql/Makefile

@@ -1493,6 +1493,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sqldb/mysql/Makefile

@@ -1811,6 +1811,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sqldb/odbc/Makefile

@@ -1493,6 +1493,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sqldb/oracle/Makefile

@@ -1811,6 +1811,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sqldb/postgres/Makefile

@@ -1811,6 +1811,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sqldb/sqlite/Makefile

@@ -1493,6 +1493,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/src/sqlite/Makefile

@@ -1175,6 +1175,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-db/tests/Makefile

@@ -1493,6 +1493,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-extra/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-extra/examples/Makefile

@@ -975,6 +975,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-fpcunit/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-fpcunit/src/exampletests/Makefile

@@ -1493,6 +1493,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-fpcunit/src/tests/Makefile

@@ -1493,6 +1493,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-image/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-image/examples/Makefile

@@ -1173,6 +1173,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-js/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-json/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-mustache/Makefile

@@ -889,6 +889,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-net/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-net/examples/Makefile

@@ -1809,6 +1809,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-passrc/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-pdf/Makefile

@@ -889,6 +889,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-process/Makefile

@@ -889,6 +889,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-registry/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-registry/tests/Makefile

@@ -1175,6 +1175,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-report/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-res/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-sdo/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-sound/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-stl/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-web/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-web/src/base/Makefile

@@ -1812,6 +1812,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-web/src/jsonrpc/Makefile

@@ -1494,6 +1494,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-web/src/webdata/Makefile

@@ -1494,6 +1494,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fcl-xml/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fftw/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fpgtk/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fpgtk/examples/Makefile

@@ -1491,6 +1491,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fpindexer/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fpmkunit/Makefile

@@ -905,6 +905,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fppkg/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fuse/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fv/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/fv/examples/Makefile

@@ -1490,6 +1490,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/gdbint/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/gdbm/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/gdbm/examples/Makefile

@@ -1173,6 +1173,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/ggi/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/ggi/examples/Makefile

@@ -1173,6 +1173,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/gmp/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/gmp/examples/Makefile

@@ -1173,6 +1173,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

+ 3 - 0
packages/gnome1/Makefile

@@ -865,6 +865,9 @@ endif
 ifeq ($(OS_TARGET),zxspectrum)
 OEXT=.rel
 endif
+ifeq ($(OS_TARGET),wasi)
+EXEEXT=.wasm
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)

Some files were not shown because too many files changed in this diff