fpmake.pp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses
  5. {$ifdef unix}
  6. cthreads,
  7. {$endif}
  8. fpmkunit;
  9. {$endif ALLPACKAGES}
  10. procedure add_pas2jni(const ADirectory: string);
  11. Var
  12. P : TPackage;
  13. T : TTarget;
  14. begin
  15. With Installer do
  16. begin
  17. P:=AddPackage('utils-pas2jni');
  18. P.ShortName:='p2jn';
  19. P.Author := 'Yury Sidorov';
  20. P.License := 'LGPL with modification';
  21. P.HomepageURL := 'www.freepascal.org';
  22. P.Description := 'The pas2jni utility generates a JNI (Java Native Interface) bridge for a Pascal code.';
  23. P.Email := '';
  24. P.NeedLibC:= false;
  25. P.OSes:=AllOSes-[embedded,msdos,win16,go32v2,nativent,macosclassic,palmos,atari,zxspectrum,msxdos,amstradcpc,sinclairql,wasi,human68k];
  26. if Defaults.CPU=jvm then
  27. P.OSes := P.OSes - [java,android];
  28. P.Directory:=ADirectory;
  29. P.Version:='3.3.1';
  30. P.Dependencies.Add('fcl-base');
  31. P.Dependencies.Add('fcl-process');
  32. P.Dependencies.Add('fcl-json');
  33. T:=P.Targets.AddImplicitUnit('def.pas');
  34. T.Install := false;
  35. T:=P.Targets.AddImplicitUnit('ppuparser.pas');
  36. T.Install := false;
  37. T:=P.Targets.AddImplicitUnit('writer.pas');
  38. T.Install := false;
  39. T:=P.Targets.AddProgram('pas2jni.pas');
  40. end;
  41. end;
  42. {$ifndef ALLPACKAGES}
  43. begin
  44. add_pas2jni('');
  45. Installer.Run;
  46. end.
  47. {$endif ALLPACKAGES}