fpmake.pp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses fpmkunit;
  5. Var
  6. P : TPackage;
  7. T : TTarget;
  8. begin
  9. With Installer do
  10. begin
  11. {$endif ALLPACKAGES}
  12. P:=AddPackage('hash');
  13. {$ifdef ALLPACKAGES}
  14. P.Directory:=ADirectory;
  15. {$endif ALLPACKAGES}
  16. P.Author := 'Free Pascal development team, Mark Adler, Jacques Nomssi Nzali, Silvio Clecio';
  17. P.License := 'LGPL with modification, ';
  18. P.HomepageURL := 'www.freepascal.org';
  19. P.Email := '';
  20. P.Description := 'Several hash and cryptography algorithms (MD5,CRC,Linux crypt and NTLM1).';
  21. P.NeedLibC:= false;
  22. P.OSes:=P.OSes-[embedded,win16,macos,palmos];
  23. if Defaults.CPU=jvm then
  24. P.OSes := P.OSes - [java,android];
  25. P.Dependencies.Add('rtl-objpas');
  26. P.Version:='3.3.1';
  27. T:=P.Targets.AddUnit('src/md5.pp');
  28. T.Dependencies.AddInclude('src/md5i386.inc', [i386], AllOSes-[darwin]);
  29. T:=P.Targets.AddUnit('src/sha1.pp');
  30. T.Dependencies.AddInclude('src/sha1i386.inc', [i386], AllOSes-[darwin]);
  31. T:=P.Targets.AddUnit('src/crc.pas');
  32. T:=P.Targets.AddUnit('src/ntlm.pas');
  33. T:=P.Targets.AddUnit('src/uuid.pas');
  34. T:=P.Targets.AddUnit('src/hmac.pp');
  35. T:=P.Targets.AddUnit('src/unixcrypt.pas');
  36. T.OSes:=[Linux];
  37. T:=P.Targets.AddExampleunit('examples/mdtest.pas');
  38. T:=P.Targets.AddExampleunit('examples/crctest.pas');
  39. T:=P.Targets.AddExampleunit('examples/sha1test.pp');
  40. T:=P.Targets.AddExampleunit('examples/hmd5.pp');
  41. T:=P.Targets.AddExampleunit('examples/hsha1.pp');
  42. T:=P.Targets.AddExampleunit('examples/md5performancetest.pas');
  43. T:=P.Targets.AddExampleunit('examples/sha1performancetest.pas');
  44. // md5.ref
  45. {$ifndef ALLPACKAGES}
  46. Run;
  47. end;
  48. end.
  49. {$endif ALLPACKAGES}