fpmake.pp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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('ptop.pp');
  29. P.Targets.AddProgram('rstconv.pp').ResourceStrings:=true;
  30. P.Targets.AddProgram('data2inc.pp');
  31. P.Targets.AddProgram('delp.pp');
  32. P.Targets.AddProgram('bin2obj.pp');
  33. P.Targets.AddProgram('postw32.pp');
  34. P.Targets.AddProgram('rmcvsdir.pp');
  35. P.Targets.AddProgram('grab_vcsa.pp');
  36. P.Targets.AddUnit('ptopu.pp').install:=false;
  37. end;
  38. end;
  39. (*
  40. The include files are generated with the following commands:
  41. 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
  42. *)
  43. {$include fpmake_proc.inc}
  44. begin
  45. {$include fpmake_add.inc}
  46. add_utils;
  47. Installer.Run;
  48. end.