fpmake.pp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses fpmkunit;
  5. {$endif ALLPACKAGES}
  6. procedure add_fpcmkcfg(const ADirectory: string);
  7. Var
  8. P : TPackage;
  9. T : TTarget;
  10. Data2IncBin : string;
  11. begin
  12. With Installer do
  13. begin
  14. P:=AddPackage('utils-fpcmkcfg');
  15. P.ShortName:='fcmk';
  16. P.Author := '<various>';
  17. P.License := 'LGPL with modification';
  18. P.HomepageURL := 'www.freepascal.org';
  19. P.Email := '';
  20. P.Description := 'A utility to create the Free Pascal configuration files.';
  21. P.NeedLibC:= false;
  22. P.Directory:=ADirectory;
  23. P.Version:='3.1.1';
  24. P.Dependencies.Add('fcl-base');
  25. P.Dependencies.Add('fpmkunit');
  26. Data2IncBin := AddProgramExtension('data2inc',Defaults.BuildOS);
  27. p.Commands.AddCommand(caBeforeCompile, Data2IncBin, '-b -s fpc.cft fpccfg.inc DefaultConfig','fpccfg.inc','fpc.cft');
  28. p.Commands.AddCommand(caBeforeCompile, Data2IncBin, '-b -s fpinc.cfg fpcfg.inc fpcfg','fpcfg.inc','fpinc.cfg');
  29. p.Commands.AddCommand(caBeforeCompile, Data2IncBin, '-b -s fpinc.ini fpini.inc fpini','fpini.inc','fpinc.ini');
  30. p.Commands.AddCommand(caBeforeCompile, Data2IncBin, '-b -s fppkg.cfg fppkg.inc fppkg','fppkg.inc','fppkg.cfg');
  31. p.Commands.AddCommand(caBeforeCompile, Data2IncBin, '-b -s default.cft default.inc fppkg_default','default.inc','default.cft');
  32. T:=P.Targets.AddProgram('fpcmkcfg.pp');
  33. T.Dependencies.AddInclude('fpccfg.inc');
  34. T.Dependencies.AddInclude('fpcfg.inc');
  35. T.Dependencies.AddInclude('fpini.inc');
  36. T.Dependencies.AddInclude('fppkg.inc');
  37. T.Dependencies.AddInclude('default.inc');
  38. end;
  39. end;
  40. {$ifndef ALLPACKAGES}
  41. begin
  42. add_fpcmkcfg('');
  43. Installer.Run;
  44. end.
  45. {$endif ALLPACKAGES}