fpmake.pp 2.3 KB

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