fpmake.pp 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. VS: string;
  12. begin
  13. With Installer do
  14. begin
  15. P:=AddPackage('utils-fpcmkcfg');
  16. P.ShortName:='fcmk';
  17. P.OSes:=AllOSes-[embedded,msdos,nativent,win16,atari,macosclassic,palmos,zxspectrum,msxdos,amstradcpc];
  18. if Defaults.CPU=jvm then
  19. P.OSes := P.OSes - [java,android];
  20. P.Author := '<various>';
  21. P.License := 'LGPL with modification';
  22. P.HomepageURL := 'www.freepascal.org';
  23. P.Email := '';
  24. P.Description := 'A utility to create the Free Pascal configuration files.';
  25. P.NeedLibC:= false;
  26. P.Directory:=ADirectory;
  27. P.Version:='3.3.1';
  28. P.Options.Add('-Sm');
  29. Str(P.PackageVersion.Major, VS);
  30. P.Options.Add('-dpackage_version_major:='+VS);
  31. Str(P.PackageVersion.Minor, VS);
  32. P.Options.Add('-dpackage_version_minor:='+VS);
  33. Str(P.PackageVersion.Micro, VS);
  34. P.Options.Add('-dpackage_version_micro:='+VS);
  35. Str(P.PackageVersion.Build, VS);
  36. P.Options.Add('-dpackage_version_build:='+VS);
  37. P.Dependencies.Add('fcl-base');
  38. P.Dependencies.Add('fpmkunit');
  39. Data2IncBin := AddProgramExtension('data2inc',Defaults.BuildOS);
  40. p.Commands.AddCommand(caBeforeCompile, Data2IncBin, '-b -s fpc.cft fpccfg.inc DefaultConfig','fpccfg.inc','fpc.cft');
  41. p.Commands.AddCommand(caBeforeCompile, Data2IncBin, '-b -s fpinc.cfg fpcfg.inc fpcfg','fpcfg.inc','fpinc.cfg');
  42. p.Commands.AddCommand(caBeforeCompile, Data2IncBin, '-b -s fpinc.ini fpini.inc fpini','fpini.inc','fpinc.ini');
  43. p.Commands.AddCommand(caBeforeCompile, Data2IncBin, '-b -s fppkg.cfg fppkg.inc fppkg','fppkg.inc','fppkg.cfg');
  44. p.Commands.AddCommand(caBeforeCompile, Data2IncBin, '-b -s default.cft default.inc fppkg_default','default.inc','default.cft');
  45. T:=P.Targets.AddProgram('fpcmkcfg.pp');
  46. T.ResourceStrings:=true;
  47. T.Dependencies.AddInclude('fpccfg.inc');
  48. T.Dependencies.AddInclude('fpcfg.inc');
  49. T.Dependencies.AddInclude('fpini.inc');
  50. T.Dependencies.AddInclude('fppkg.inc');
  51. T.Dependencies.AddInclude('default.inc');
  52. end;
  53. end;
  54. {$ifndef ALLPACKAGES}
  55. begin
  56. add_fpcmkcfg('');
  57. Installer.Run;
  58. end.
  59. {$endif ALLPACKAGES}