fpmake.pp 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses {$ifdef unix}cthreads,{$endif} fpmkunit;
  5. Var
  6. T : TTarget;
  7. P : TPackage;
  8. begin
  9. With Installer do
  10. begin
  11. {$endif ALLPACKAGES}
  12. P:=AddPackage('fcl-net');
  13. P.ShortName:='fcln';
  14. {$ifdef ALLPACKAGES}
  15. P.Directory:=ADirectory;
  16. {$endif ALLPACKAGES}
  17. P.Version:='3.3.1';
  18. P.Dependencies.Add('fcl-base');
  19. P.Dependencies.Add('fcl-xml');
  20. P.Dependencies.Add('fcl-passrc');
  21. P.Dependencies.Add('fcl-async',[linux,freebsd,netbsd,openbsd,dragonfly]);
  22. P.Dependencies.Add('rtl-extra');
  23. P.Author := 'Sebastian Guenther and Free Pascal development team';
  24. P.License := 'LGPL with modification, ';
  25. P.HomepageURL := 'www.freepascal.org';
  26. P.Email := '';
  27. P.Description := 'Network related parts of Free Component Libraries (FCL), FPC''s OOP library.';
  28. P.NeedLibC:= false;
  29. P.OSes:=P.OSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum,msxdos,amstradcpc,sinclairql,wasip1,wasip1threads,human68k,ps1,wasip2];
  30. if Defaults.CPU=jvm then
  31. P.OSes := P.OSes - [java,android];
  32. P.SourcePath.Add('src');
  33. P.IncludePath.Add('src/unix',AllUnixOSes);
  34. P.IncludePath.Add('src/win',AllWindowsOSes);
  35. P.IncludePath.Add('src/os2',[EMX]);
  36. P.IncludePath.Add('src/amiga',[morphos]);
  37. P.IncludePath.Add('src/$(OS)',AllOSes-AllWindowsOSes-AllUnixOSes-[EMX]);
  38. // IP and Sockets
  39. T:=P.Targets.AddUnit('fpsockets.pp',AllUnixOSes+AllWindowsOSes);
  40. T:=P.Targets.AddUnit('netdb.pp',AllUnixOSes);
  41. T:=P.Targets.AddUnit('sslbase.pp');
  42. T:=P.Targets.AddUnit('resolve.pp',AllUnixOSes+AllWindowsOSes+AllAmigaLikeOSes+[OS2,EMX]);
  43. with T.Dependencies do
  44. begin
  45. AddInclude('resolve.inc');
  46. AddUnit('netdb',AllUnixOSes);
  47. end;
  48. T.ResourceStrings := True;
  49. T:=P.Targets.AddUnit('ssockets.pp',AllUnixOSes+AllWindowsOSes+AllAmigaLikeOSes+[OS2,EMX]);
  50. with T.Dependencies do
  51. begin
  52. AddUnit('resolve');
  53. end;
  54. T.ResourceStrings := True;
  55. T:=P.Targets.AddUnit('sslsockets.pp',AllUnixOSes+AllWindowsOSes+AllAmigaLikeOSes+[OS2,EMX]);
  56. with T.Dependencies do
  57. begin
  58. AddUnit('ssockets');
  59. Addunit('sslbase');
  60. end;
  61. T.ResourceStrings := True;
  62. // HTTP Client
  63. T:=P.Targets.AddUnit('fpsock.pp',[linux,freebsd,netbsd,openbsd,dragonfly]);
  64. with T.Dependencies do
  65. begin
  66. AddUnit('resolve');
  67. end;
  68. T.ResourceStrings := True;
  69. T:=P.Targets.AddUnit('cnetdb.pp',[linux,freebsd,solaris,android,openbsd,dragonfly]);
  70. P.ExamplePath.Add('examples');
  71. P.Targets.AddExampleProgram('examples/ip6test.pp');
  72. P.Targets.AddExampleProgram('examples/svrclass.pp');
  73. P.Targets.AddExampleProgram('examples/testdns.pp');
  74. P.Targets.AddExampleProgram('examples/testnet.pp');
  75. P.Targets.AddExampleProgram('examples/testhosts.pp');
  76. P.Targets.AddExampleProgram('examples/testsvc.pp');
  77. P.Targets.AddExampleProgram('examples/testhst.pp');
  78. P.Targets.AddExampleProgram('examples/testuri.pp');
  79. P.Targets.AddExampleProgram('examples/testproto.pp');
  80. P.NamespaceMap:='namespaces.lst';
  81. {$ifndef ALLPACKAGES}
  82. Run;
  83. end;
  84. end.
  85. {$endif ALLPACKAGES}