fpmake.pp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. {$mode objfpc}{$H+}
  2. {$define allpackages}
  3. program fpmake;
  4. uses fpmkunit, sysutils;
  5. procedure add_utils;
  6. Var
  7. P : TPackage;
  8. T : TTarget;
  9. begin
  10. With Installer do
  11. begin
  12. P:=AddPackage('utils');
  13. P.Author := '<various>';
  14. P.License := 'LGPL with modification';
  15. P.HomepageURL := 'www.freepascal.org';
  16. P.Email := '';
  17. P.Description := 'Various Free Pascal utilities.';
  18. P.NeedLibC:= false;
  19. P.Dependencies.Add('fcl-base');
  20. P.Dependencies.Add('paszlib');
  21. P.Dependencies.Add('hash');
  22. P.Dependencies.Add('univint',[darwin,iphonesim]);
  23. P.Version:='2.7.1';
  24. T:=P.Targets.AddProgram('ptop.pp');
  25. T.Dependencies.AddUnit('ptopu');
  26. T.ResourceStrings:=true;
  27. P.Targets.AddProgram('ppdep.pp');
  28. P.Targets.AddProgram('rstconv.pp').ResourceStrings:=true;
  29. P.Targets.AddProgram('data2inc.pp');
  30. P.Targets.AddProgram('delp.pp');
  31. P.Targets.AddProgram('bin2obj.pp');
  32. P.Targets.AddProgram('postw32.pp');
  33. P.Targets.AddProgram('rmcvsdir.pp');
  34. P.Targets.AddProgram('grab_vcsa.pp');
  35. P.Targets.AddUnit('ptopu.pp').install:=false;
  36. end;
  37. end;
  38. (*
  39. The include files are generated with the following commands:
  40. rm fpmake_proc.inc fpmake_add.inc ; /bin/ls -1 */fpmake.pp| while read file; do cleanedname=`dirname $file | sed -e 's+-+_+g'` ; if ! `grep -i "^procedure add_$cleanedname" $file >/dev/null` ; then printf 'procedure add_%s;\nbegin\n with Installer do\n{$include %s}\nend;\n\n' $cleanedname $file >> fpmake_proc.inc; else printf '{$include %s}\n\n' $file >> fpmake_proc.inc; fi; echo " add_$cleanedname;" >> fpmake_add.inc; done
  41. *)
  42. {$include fpmake_proc.inc}
  43. begin
  44. {$include fpmake_add.inc}
  45. add_utils;
  46. Installer.Run;
  47. end.