Browse Source

* Build and install pas2jni.

git-svn-id: trunk@24143 -
yury 12 years ago
parent
commit
cd6669f52a
4 changed files with 860 additions and 76 deletions
  1. 195 74
      utils/Makefile
  2. 1 1
      utils/Makefile.fpc
  3. 661 1
      utils/pas2jni/Makefile
  4. 3 0
      utils/pas2jni/Makefile.fpc

+ 195 - 74
utils/Makefile

@@ -1,10 +1,10 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2013/03/10]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2013-03-25 rev 23995]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux jvm-java jvm-android
 BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx haiku aix 
+UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom
 OSNeedsComspecToRunBatch = go32v2 watcom
 FORCE:
@@ -318,220 +318,220 @@ endif
 override PACKAGE_NAME=utils
 override PACKAGE_VERSION=2.7.1
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  rmwait
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  rmwait
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpmc fpcres rmwait instantfpc importtl unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpmc fpcres rmwait instantfpc importtl unicode
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpmc fpcres rmwait
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpmc fpcres rmwait
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres fpcreslipo instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres fpcreslipo instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpmc fpcres rmwait
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpmc fpcres rmwait
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres rmwait instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres rmwait instantfpc
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),i386-nativent)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),i386-iphonesim)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres fpcreslipo instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres fpcreslipo instantfpc
 endif
 ifeq ($(FULL_TARGET),i386-android)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres fpcreslipo instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres fpcreslipo instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),powerpc-wii)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),powerpc-aix)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),x86_64-netbsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),x86_64-solaris)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),x86_64-openbsd)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres fpcreslipo instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres fpcreslipo instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpmc fpcres rmwait instantfpc importtl unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpmc fpcres rmwait instantfpc importtl unicode
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres fpcreslipo instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres fpcreslipo instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres rmwait instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres rmwait instantfpc
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),arm-android)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres fpcreslipo instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres fpcreslipo instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),powerpc64-aix)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),mips-linux)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),mipsel-linux)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm  fpcres instantfpc unicode
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni  fpcres instantfpc unicode
 endif
 ifeq ($(FULL_TARGET),jvm-java)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),jvm-android)
-override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+override TARGET_DIRS+=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_PROGRAMS+=ppdep ptop rstconv data2inc delp bin2obj postw32 rmcvsdir  grab_vcsa
@@ -1782,7 +1782,11 @@ AS=$(ASPROG)
 LD=$(LDPROG)
 RC=$(RCPROG)
 AR=$(ARPROG)
+ifdef inUnix
+PPAS=./ppas$(SRCBATCHEXT)
+else
 PPAS=ppas$(SRCBATCHEXT)
+endif
 ifdef inUnix
 LDCONFIG=ldconfig
 else
@@ -3360,6 +3364,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 TARGET_DIRS_UNICODE=1
@@ -3375,6 +3380,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_RMWAIT=1
 endif
 ifeq ($(FULL_TARGET),i386-win32)
@@ -3388,6 +3394,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPMC=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_RMWAIT=1
@@ -3406,6 +3413,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPMC=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_RMWAIT=1
@@ -3421,6 +3429,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3435,6 +3444,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
 TARGET_DIRS_FPPKG=1
@@ -3447,6 +3457,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3461,6 +3472,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3475,6 +3487,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3489,6 +3502,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),i386-netware)
 TARGET_DIRS_FPPKG=1
@@ -3501,6 +3515,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
 TARGET_DIRS_FPPKG=1
@@ -3513,6 +3528,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3527,6 +3543,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
 TARGET_DIRS_FPPKG=1
@@ -3539,6 +3556,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_FPCRESLIPO=1
 TARGET_DIRS_INSTANTFPC=1
@@ -3555,6 +3573,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPMC=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_RMWAIT=1
@@ -3570,6 +3589,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
 TARGET_DIRS_FPPKG=1
@@ -3582,6 +3602,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),i386-wince)
 TARGET_DIRS_FPPKG=1
@@ -3594,6 +3615,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_RMWAIT=1
 TARGET_DIRS_INSTANTFPC=1
@@ -3609,6 +3631,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
 TARGET_DIRS_FPPKG=1
@@ -3621,6 +3644,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),i386-nativent)
 TARGET_DIRS_FPPKG=1
@@ -3633,6 +3657,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),i386-iphonesim)
 TARGET_DIRS_FPPKG=1
@@ -3645,6 +3670,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_FPCRESLIPO=1
 TARGET_DIRS_INSTANTFPC=1
@@ -3660,6 +3686,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
 TARGET_DIRS_FPPKG=1
@@ -3672,6 +3699,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 TARGET_DIRS_UNICODE=1
@@ -3687,6 +3715,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3701,6 +3730,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3715,6 +3745,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
 TARGET_DIRS_FPPKG=1
@@ -3727,6 +3758,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
 TARGET_DIRS_FPPKG=1
@@ -3739,6 +3771,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3753,6 +3786,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
 TARGET_DIRS_FPPKG=1
@@ -3765,6 +3799,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
 TARGET_DIRS_FPPKG=1
@@ -3777,6 +3812,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 TARGET_DIRS_UNICODE=1
@@ -3792,6 +3828,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3806,6 +3843,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
 TARGET_DIRS_FPPKG=1
@@ -3818,6 +3856,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
 TARGET_DIRS_FPPKG=1
@@ -3830,6 +3869,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_FPCRESLIPO=1
 TARGET_DIRS_INSTANTFPC=1
@@ -3846,6 +3886,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
 TARGET_DIRS_FPPKG=1
@@ -3858,6 +3899,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),powerpc-wii)
 TARGET_DIRS_FPPKG=1
@@ -3870,6 +3912,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),powerpc-aix)
 TARGET_DIRS_FPPKG=1
@@ -3882,6 +3925,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3896,6 +3940,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 TARGET_DIRS_UNICODE=1
@@ -3911,6 +3956,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3925,6 +3971,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3939,6 +3986,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
 TARGET_DIRS_FPPKG=1
@@ -3951,6 +3999,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 TARGET_DIRS_UNICODE=1
@@ -3966,6 +4015,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3980,6 +4030,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -3994,6 +4045,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -4008,6 +4060,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -4022,6 +4075,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_FPCRESLIPO=1
 TARGET_DIRS_INSTANTFPC=1
@@ -4038,6 +4092,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPMC=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_RMWAIT=1
@@ -4056,6 +4111,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),arm-linux)
 TARGET_DIRS_FPPKG=1
@@ -4068,6 +4124,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 TARGET_DIRS_UNICODE=1
@@ -4083,6 +4140,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),arm-darwin)
 TARGET_DIRS_FPPKG=1
@@ -4095,6 +4153,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_FPCRESLIPO=1
 TARGET_DIRS_INSTANTFPC=1
@@ -4111,6 +4170,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_RMWAIT=1
 TARGET_DIRS_INSTANTFPC=1
@@ -4126,6 +4186,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),arm-nds)
 TARGET_DIRS_FPPKG=1
@@ -4138,6 +4199,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
 TARGET_DIRS_FPPKG=1
@@ -4150,6 +4212,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
 TARGET_DIRS_FPPKG=1
@@ -4162,6 +4225,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),arm-android)
 TARGET_DIRS_FPPKG=1
@@ -4174,6 +4238,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
 TARGET_DIRS_FPPKG=1
@@ -4186,6 +4251,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 TARGET_DIRS_UNICODE=1
@@ -4201,6 +4267,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_FPCRESLIPO=1
 TARGET_DIRS_INSTANTFPC=1
@@ -4217,6 +4284,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-aix)
 TARGET_DIRS_FPPKG=1
@@ -4229,6 +4297,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 endif
@@ -4243,6 +4312,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
 TARGET_DIRS_FPPKG=1
@@ -4255,6 +4325,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 TARGET_DIRS_UNICODE=1
@@ -4270,6 +4341,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),mips-linux)
 TARGET_DIRS_FPPKG=1
@@ -4282,6 +4354,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 TARGET_DIRS_UNICODE=1
@@ -4297,6 +4370,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 TARGET_DIRS_FPCRES=1
 TARGET_DIRS_INSTANTFPC=1
 TARGET_DIRS_UNICODE=1
@@ -4312,6 +4386,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifeq ($(FULL_TARGET),jvm-android)
 TARGET_DIRS_FPPKG=1
@@ -4324,6 +4399,7 @@ TARGET_DIRS_FPDOC=1
 TARGET_DIRS_FPCMKCFG=1
 TARGET_DIRS_PAS2UT=1
 TARGET_DIRS_PAS2FPM=1
+TARGET_DIRS_PAS2JNI=1
 endif
 ifdef TARGET_DIRS_FPPKG
 fppkg_all:
@@ -4775,6 +4851,51 @@ pas2fpm:
 	$(MAKE) -C pas2fpm all
 .PHONY: pas2fpm_all pas2fpm_debug pas2fpm_smart pas2fpm_release pas2fpm_units pas2fpm_examples pas2fpm_shared pas2fpm_install pas2fpm_sourceinstall pas2fpm_exampleinstall pas2fpm_distinstall pas2fpm_zipinstall pas2fpm_zipsourceinstall pas2fpm_zipexampleinstall pas2fpm_zipdistinstall pas2fpm_clean pas2fpm_distclean pas2fpm_cleanall pas2fpm_info pas2fpm_makefiles pas2fpm
 endif
+ifdef TARGET_DIRS_PAS2JNI
+pas2jni_all:
+	$(MAKE) -C pas2jni all
+pas2jni_debug:
+	$(MAKE) -C pas2jni debug
+pas2jni_smart:
+	$(MAKE) -C pas2jni smart
+pas2jni_release:
+	$(MAKE) -C pas2jni release
+pas2jni_units:
+	$(MAKE) -C pas2jni units
+pas2jni_examples:
+	$(MAKE) -C pas2jni examples
+pas2jni_shared:
+	$(MAKE) -C pas2jni shared
+pas2jni_install:
+	$(MAKE) -C pas2jni install
+pas2jni_sourceinstall:
+	$(MAKE) -C pas2jni sourceinstall
+pas2jni_exampleinstall:
+	$(MAKE) -C pas2jni exampleinstall
+pas2jni_distinstall:
+	$(MAKE) -C pas2jni distinstall
+pas2jni_zipinstall:
+	$(MAKE) -C pas2jni zipinstall
+pas2jni_zipsourceinstall:
+	$(MAKE) -C pas2jni zipsourceinstall
+pas2jni_zipexampleinstall:
+	$(MAKE) -C pas2jni zipexampleinstall
+pas2jni_zipdistinstall:
+	$(MAKE) -C pas2jni zipdistinstall
+pas2jni_clean:
+	$(MAKE) -C pas2jni clean
+pas2jni_distclean:
+	$(MAKE) -C pas2jni distclean
+pas2jni_cleanall:
+	$(MAKE) -C pas2jni cleanall
+pas2jni_info:
+	$(MAKE) -C pas2jni info
+pas2jni_makefiles:
+	$(MAKE) -C pas2jni makefiles
+pas2jni:
+	$(MAKE) -C pas2jni all
+.PHONY: pas2jni_all pas2jni_debug pas2jni_smart pas2jni_release pas2jni_units pas2jni_examples pas2jni_shared pas2jni_install pas2jni_sourceinstall pas2jni_exampleinstall pas2jni_distinstall pas2jni_zipinstall pas2jni_zipsourceinstall pas2jni_zipexampleinstall pas2jni_zipdistinstall pas2jni_clean pas2jni_distclean pas2jni_cleanall pas2jni_info pas2jni_makefiles pas2jni
+endif
 ifdef TARGET_DIRS_FPCRES
 fpcres_all:
 	$(MAKE) -C fpcres all

+ 1 - 1
utils/Makefile.fpc

@@ -7,7 +7,7 @@ name=utils
 version=2.7.1
 
 [target]
-dirs=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm
+dirs=fppkg fpcm tply h2pas fprcp dxegen fpdoc fpcmkcfg pas2ut pas2fpm pas2jni
 programs=ppdep ptop rstconv data2inc delp bin2obj postw32 rmcvsdir
 programs_linux=grab_vcsa
 dirs_win32=fpmc fpcres rmwait instantfpc importtl unicode

+ 661 - 1
utils/pas2jni/Makefile

@@ -1372,222 +1372,654 @@ else
 TAROPT=vz
 TAREXT=.tar.gz
 endif
-override REQUIRE_PACKAGES=rtl 
+override REQUIRE_PACKAGES=rtl rtl fcl-base
 ifeq ($(FULL_TARGET),i386-linux)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-win32)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-os2)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-beos)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-netware)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-emx)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-wince)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-nativent)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-iphonesim)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),i386-android)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc-wii)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc-aix)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),x86_64-netbsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),x86_64-solaris)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),x86_64-openbsd)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),arm-linux)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),arm-darwin)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),arm-wince)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),arm-gba)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),arm-nds)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),arm-android)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-aix)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),mips-linux)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),jvm-java)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifeq ($(FULL_TARGET),jvm-android)
 REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-RES=1
+REQUIRE_PACKAGES_FCL-BASE=1
 endif
 ifdef REQUIRE_PACKAGES_RTL
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
@@ -1627,6 +2059,234 @@ ifdef UNITDIR_FPMAKE_RTL
 override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_RTL)
 endif
 endif
+ifdef REQUIRE_PACKAGES_PASZLIB
+PACKAGEDIR_PASZLIB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_PASZLIB),)
+ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)),)
+UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)
+else
+UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)
+endif
+ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(SOURCESUFFIX)
+else
+ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units_bs/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)/units_bs/$(SOURCESUFFIX)
+else
+UNITDIR_FPMAKE_PASZLIB=$(PACKAGEDIR_PASZLIB)
+endif
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_PASZLIB)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_PASZLIB) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_PASZLIB)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_PASZLIB=
+UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_PASZLIB),)
+UNITDIR_PASZLIB:=$(firstword $(UNITDIR_PASZLIB))
+else
+UNITDIR_PASZLIB=
+endif
+endif
+ifdef UNITDIR_PASZLIB
+override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB)
+endif
+ifdef UNITDIR_FPMAKE_PASZLIB
+override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_PASZLIB)
+endif
+endif
+ifdef REQUIRE_PACKAGES_FCL-PROCESS
+PACKAGEDIR_FCL-PROCESS:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-process/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_FCL-PROCESS),)
+ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units/$(TARGETSUFFIX)),)
+UNITDIR_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units/$(TARGETSUFFIX)
+else
+UNITDIR_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)
+endif
+ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units/$(SOURCESUFFIX)
+else
+ifneq ($(wildcard $(PACKAGEDIR_FCL-PROCESS)/units_bs/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)/units_bs/$(SOURCESUFFIX)
+else
+UNITDIR_FPMAKE_FCL-PROCESS=$(PACKAGEDIR_FCL-PROCESS)
+endif
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_FCL-PROCESS)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_FCL-PROCESS) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-PROCESS)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_FCL-PROCESS=
+UNITDIR_FCL-PROCESS:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-process/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_FCL-PROCESS),)
+UNITDIR_FCL-PROCESS:=$(firstword $(UNITDIR_FCL-PROCESS))
+else
+UNITDIR_FCL-PROCESS=
+endif
+endif
+ifdef UNITDIR_FCL-PROCESS
+override COMPILER_UNITDIR+=$(UNITDIR_FCL-PROCESS)
+endif
+ifdef UNITDIR_FPMAKE_FCL-PROCESS
+override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-PROCESS)
+endif
+endif
+ifdef REQUIRE_PACKAGES_HASH
+PACKAGEDIR_HASH:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /hash/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_HASH),)
+ifneq ($(wildcard $(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)),)
+UNITDIR_HASH=$(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)
+else
+UNITDIR_HASH=$(PACKAGEDIR_HASH)
+endif
+ifneq ($(wildcard $(PACKAGEDIR_HASH)/units/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)/units/$(SOURCESUFFIX)
+else
+ifneq ($(wildcard $(PACKAGEDIR_HASH)/units_bs/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)/units_bs/$(SOURCESUFFIX)
+else
+UNITDIR_FPMAKE_HASH=$(PACKAGEDIR_HASH)
+endif
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_HASH)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_HASH) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_HASH)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_HASH=
+UNITDIR_HASH:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /hash/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_HASH),)
+UNITDIR_HASH:=$(firstword $(UNITDIR_HASH))
+else
+UNITDIR_HASH=
+endif
+endif
+ifdef UNITDIR_HASH
+override COMPILER_UNITDIR+=$(UNITDIR_HASH)
+endif
+ifdef UNITDIR_FPMAKE_HASH
+override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_HASH)
+endif
+endif
+ifdef REQUIRE_PACKAGES_FPMKUNIT
+PACKAGEDIR_FPMKUNIT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fpmkunit/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_FPMKUNIT),)
+ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units/$(TARGETSUFFIX)),)
+UNITDIR_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units/$(TARGETSUFFIX)
+else
+UNITDIR_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)
+endif
+ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units/$(SOURCESUFFIX)
+else
+ifneq ($(wildcard $(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOURCESUFFIX)
+else
+UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)
+endif
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_FPMKUNIT)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_FPMKUNIT) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_FPMKUNIT)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_FPMKUNIT=
+UNITDIR_FPMKUNIT:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fpmkunit/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_FPMKUNIT),)
+UNITDIR_FPMKUNIT:=$(firstword $(UNITDIR_FPMKUNIT))
+else
+UNITDIR_FPMKUNIT=
+endif
+endif
+ifdef UNITDIR_FPMKUNIT
+override COMPILER_UNITDIR+=$(UNITDIR_FPMKUNIT)
+endif
+ifdef UNITDIR_FPMAKE_FPMKUNIT
+override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FPMKUNIT)
+endif
+endif
+ifdef REQUIRE_PACKAGES_FCL-RES
+PACKAGEDIR_FCL-RES:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-res/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_FCL-RES),)
+ifneq ($(wildcard $(PACKAGEDIR_FCL-RES)/units/$(TARGETSUFFIX)),)
+UNITDIR_FCL-RES=$(PACKAGEDIR_FCL-RES)/units/$(TARGETSUFFIX)
+else
+UNITDIR_FCL-RES=$(PACKAGEDIR_FCL-RES)
+endif
+ifneq ($(wildcard $(PACKAGEDIR_FCL-RES)/units/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_FCL-RES=$(PACKAGEDIR_FCL-RES)/units/$(SOURCESUFFIX)
+else
+ifneq ($(wildcard $(PACKAGEDIR_FCL-RES)/units_bs/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_FCL-RES=$(PACKAGEDIR_FCL-RES)/units_bs/$(SOURCESUFFIX)
+else
+UNITDIR_FPMAKE_FCL-RES=$(PACKAGEDIR_FCL-RES)
+endif
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_FCL-RES)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_FCL-RES) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-RES)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_FCL-RES=
+UNITDIR_FCL-RES:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-res/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_FCL-RES),)
+UNITDIR_FCL-RES:=$(firstword $(UNITDIR_FCL-RES))
+else
+UNITDIR_FCL-RES=
+endif
+endif
+ifdef UNITDIR_FCL-RES
+override COMPILER_UNITDIR+=$(UNITDIR_FCL-RES)
+endif
+ifdef UNITDIR_FPMAKE_FCL-RES
+override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-RES)
+endif
+endif
+ifdef REQUIRE_PACKAGES_FCL-BASE
+PACKAGEDIR_FCL-BASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-base/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_FCL-BASE),)
+ifneq ($(wildcard $(PACKAGEDIR_FCL-BASE)/units/$(TARGETSUFFIX)),)
+UNITDIR_FCL-BASE=$(PACKAGEDIR_FCL-BASE)/units/$(TARGETSUFFIX)
+else
+UNITDIR_FCL-BASE=$(PACKAGEDIR_FCL-BASE)
+endif
+ifneq ($(wildcard $(PACKAGEDIR_FCL-BASE)/units/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_FCL-BASE=$(PACKAGEDIR_FCL-BASE)/units/$(SOURCESUFFIX)
+else
+ifneq ($(wildcard $(PACKAGEDIR_FCL-BASE)/units_bs/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_FCL-BASE=$(PACKAGEDIR_FCL-BASE)/units_bs/$(SOURCESUFFIX)
+else
+UNITDIR_FPMAKE_FCL-BASE=$(PACKAGEDIR_FCL-BASE)
+endif
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_FCL-BASE)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_FCL-BASE) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-BASE)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_FCL-BASE=
+UNITDIR_FCL-BASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-base/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_FCL-BASE),)
+UNITDIR_FCL-BASE:=$(firstword $(UNITDIR_FCL-BASE))
+else
+UNITDIR_FCL-BASE=
+endif
+endif
+ifdef UNITDIR_FCL-BASE
+override COMPILER_UNITDIR+=$(UNITDIR_FCL-BASE)
+endif
+ifdef UNITDIR_FPMAKE_FCL-BASE
+override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-BASE)
+endif
+endif
 ifndef NOCPUDEF
 override FPCOPTDEF=$(ARCH)
 endif

+ 3 - 0
utils/pas2jni/Makefile.fpc

@@ -8,6 +8,9 @@ programs=pas2jni
 [clean]
 units=pas2jni def ppuparser writer
 
+[require]
+packages=rtl fcl-base
+
 [install]
 fpcpackage=y