2
0

fpmake.pp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. {$ifndef ALLPACKAGES}
  2. program fpmake;
  3. {$mode objfpc}{$h+}
  4. uses fpmkunit;
  5. {$endif}
  6. Procedure add_rtl_generics(ADirectory : string);
  7. Var
  8. P : TPackage;
  9. T : TTarget;
  10. begin
  11. With Installer do
  12. begin
  13. P:=AddPackage('rtl-generics');
  14. P.ShortName:='rtlg';
  15. P.Author := 'Maciej Izak';
  16. P.License := 'LGPL with modification, ';
  17. P.HomepageURL := 'www.freepascal.org';
  18. P.Email := '';
  19. P.Description := 'Generic collection library.';
  20. P.NeedLibC:= false;
  21. P.OSes := AllOSes-[embedded,win16,macos,palmos];
  22. if Defaults.CPU=jvm then
  23. P.OSes := P.OSes - [java,android];
  24. P.Directory:=ADirectory;
  25. P.Version:='3.3.1';
  26. P.Dependencies.Add('rtl-objpas');
  27. P.SourcePath.Add('src');
  28. P.IncludePath.Add('src/inc');
  29. T:=P.Targets.AddUnit('generics.collections.pas');
  30. with T.Dependencies do
  31. begin
  32. AddUnit('generics.memoryexpanders');
  33. AddUnit('generics.defaults');
  34. AddUnit('generics.helpers');
  35. AddUnit('generics.strings');
  36. end;
  37. T:=P.Targets.AddUnit('generics.defaults.pas');
  38. with T.Dependencies do
  39. begin
  40. AddUnit('generics.hashes');
  41. AddUnit('generics.strings');
  42. AddUnit('generics.helpers');
  43. end;
  44. T:=P.Targets.AddUnit('generics.hashes.pas');
  45. T:=P.Targets.AddUnit('generics.helpers.pas');
  46. T:=P.Targets.AddUnit('generics.memoryexpanders.pas');
  47. T:=P.Targets.AddUnit('generics.strings.pas');
  48. // Examples
  49. P.ExamplePath.Add('examples/tarraydouble');
  50. T:=P.Targets.AddExampleProgram('tarrayprojectdouble.lpr');
  51. P.ExamplePath.Add('examples/tarraysingle');
  52. T:=P.Targets.AddExampleProgram('tarrayprojectsingle.lpr');
  53. P.ExamplePath.Add('examples/tcomparer');
  54. T:=P.Targets.AddExampleProgram('tcomparerproject.lpr');
  55. P.ExamplePath.Add('examples/thashmap');
  56. T:=P.Targets.AddExampleProgram('thashmapproject.lpr');
  57. P.ExamplePath.Add('examples/thashmapcaseinsensitive');
  58. T:=P.Targets.AddExampleProgram('thashmapcaseinsensitive.lpr');
  59. P.ExamplePath.Add('examples/thashmapextendedequalitycomparer');
  60. T:=P.Targets.AddExampleProgram('thashmapextendedequalitycomparer.lpr');
  61. P.ExamplePath.Add('examples/tobjectlist');
  62. T:=P.Targets.AddExampleProgram('tobjectlistproject.lpr');
  63. P.ExamplePath.Add('examples/tqueue');
  64. T:=P.Targets.AddExampleProgram('tqueueproject.lpr');
  65. P.ExamplePath.Add('examples/tstack');
  66. T:=P.Targets.AddExampleProgram('tstackproject.lpr');
  67. end;
  68. end;
  69. {$ifndef ALLPACKAGES}
  70. begin
  71. add_rtl_generics('');
  72. Installer.Run;
  73. end.
  74. {$endif ALLPACKAGES}