fpmake.pp 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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_fppkg_util(const ADirectory: string);
  11. const
  12. lnetOSes = [linux,beos,haiku,freebsd,netbsd,openbsd,darwin,iphonesim,ios,solaris,win32,win64,wince,aix,dragonfly];
  13. WindowsOSes = [win32,win64,wince];
  14. Var
  15. P : TPackage;
  16. T : TTarget;
  17. VS: string;
  18. begin
  19. With Installer do
  20. begin
  21. P:=AddPackage('utils-fppkg');
  22. P.ShortName:='fpkg';
  23. P.Author := '<various>';
  24. P.License := 'LGPL with modification';
  25. P.HomepageURL := 'www.freepascal.org';
  26. P.Email := '';
  27. P.Description := 'Free Pascal package repository utility.';
  28. P.NeedLibC:= false;
  29. P.Directory:=ADirectory;
  30. P.Version:='3.3.1';
  31. P.OSes := P.OSes - [embedded,nativent,msdos,go32v2,win16,atari,macosclassic,palmos,symbian,zxspectrum,msxdos,amstradcpc,sinclairql,wasi,human68k];
  32. if Defaults.CPU=jvm then
  33. P.OSes := P.OSes - [java,android];
  34. P.SourcePath.Add('lnet',lnetOSes);
  35. P.IncludePath.Add('lnet/sys',lnetOSes);
  36. P.SupportBuildModes:=[bmOneByOne];
  37. P.Options.Add('-Sm');
  38. Str(P.PackageVersion.Major, VS);
  39. P.Options.Add('-dpackage_version_major:='+VS);
  40. Str(P.PackageVersion.Minor, VS);
  41. P.Options.Add('-dpackage_version_minor:='+VS);
  42. Str(P.PackageVersion.Micro, VS);
  43. P.Options.Add('-dpackage_version_micro:='+VS);
  44. Str(P.PackageVersion.Build, VS);
  45. P.Options.Add('-dpackage_version_build:='+VS);
  46. P.Dependencies.Add('fcl-base');
  47. P.Dependencies.Add('fcl-xml');
  48. P.Dependencies.Add('fcl-process');
  49. P.Dependencies.Add('fcl-net');
  50. P.Dependencies.Add('paszlib');
  51. //P.Dependencies.Add('libcurl',[beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,aix]);
  52. P.Dependencies.Add('fppkg');
  53. P.Dependencies.Add('univint', [Darwin, iphonesim,ios]);
  54. T:=P.Targets.AddProgram('fppkg.pp');
  55. T := P.Targets.AddUnit('pkglnet.pp', lnetOSes);
  56. T.Dependencies.AddUnit('lnet');
  57. T.Dependencies.AddUnit('lftp');
  58. T.Dependencies.AddUnit('lhttp');
  59. T.Install:=false;
  60. P.Targets.AddUnit('lnet/fastcgi_base.pp', lnetOSes).install:=false;
  61. P.Targets.AddUnit('lnet/lcontrolstack.pp', lnetOSes).install:=false;
  62. P.Targets.AddUnit('lnet/lhttp.pp', lnetOSes).install:=false;
  63. P.Targets.AddUnit('lnet/lmimestreams.pp', lnetOSes).install:=false;
  64. P.Targets.AddUnit('lnet/lmimewrapper.pp', lnetOSes).install:=false;
  65. P.Targets.AddUnit('lnet/lprocess.pp', lnetOSes).install:=false;
  66. P.Targets.AddUnit('lnet/lspawnfcgi.pp', lnetOSes).install:=false;
  67. P.Targets.AddUnit('lnet/ltelnet.pp', lnetOSes).install:=false;
  68. P.Targets.AddUnit('lnet/lcommon.pp', lnetOSes).install:=false;
  69. P.Targets.AddUnit('lnet/levents.pp', lnetOSes).install:=false;
  70. P.Targets.AddUnit('lnet/lftp.pp', lnetOSes).install:=false;
  71. P.Targets.AddUnit('lnet/lhttputil.pp', lnetOSes).install:=false;
  72. P.Targets.AddUnit('lnet/lmimetypes.pp', lnetOSes).install:=false;
  73. P.Targets.AddUnit('lnet/lnet.pp', lnetOSes).install:=false;
  74. P.Targets.AddUnit('lnet/lstrbuffer.pp', lnetOSes).install:=false;
  75. P.Targets.AddUnit('lnet/ltimer.pp', lnetOSes).install:=false;
  76. P.Targets.AddUnit('lnet/lws2tcpip.pp', WindowsOSes).install:=false;
  77. P.Sources.AddSrc('lnet/lsmtp.pp');
  78. P.Sources.AddSrc('lnet/lwebserver.pp');
  79. P.Sources.AddSrc('lnet/lfastcgi.pp');
  80. P.Sources.AddSrc('lnet/lcontainers.inc');
  81. P.Sources.AddSrc('lnet/lcontainersh.inc');
  82. P.Sources.AddSrc('lnet/lws2tcpip.pp');
  83. P.Sources.AddSrc('lnet/sys/lepolleventerh.inc');
  84. P.Sources.AddSrc('lnet/sys/lkqueueeventerh.inc');
  85. P.Sources.AddSrc('lnet/sys/lspawnfcgiwin.inc');
  86. P.Sources.AddSrc('lnet/sys/lepolleventer.inc');
  87. P.Sources.AddSrc('lnet/sys/lkqueueeventer.inc');
  88. P.Sources.AddSrc('lnet/sys/lspawnfcgiunix.inc');
  89. P.Sources.AddSrc('lnet/sys/osunits.inc');
  90. end;
  91. end;
  92. {$ifndef ALLPACKAGES}
  93. begin
  94. add_fppkg_util('');
  95. Installer.Run;
  96. end.
  97. {$endif ALLPACKAGES}