fpmake.pp 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses 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. {$ifdef ALLPACKAGES}
  14. P.Directory:='fcl-net';
  15. {$endif ALLPACKAGES}
  16. P.Version:='2.2.2-0';
  17. P.Dependencies.Add('fcl-base');
  18. P.Dependencies.Add('fcl-xml');
  19. P.Dependencies.Add('fcl-passrc');
  20. P.Dependencies.Add('fcl-async');
  21. P.Author := 'Sebastian Guenther and Free Pascal development team';
  22. P.License := 'LGPL with modification, ';
  23. P.HomepageURL := 'www.freepascal.org';
  24. P.Email := '';
  25. P.Description := 'Network related parts of Free Component Libraries (FCL), FPC''s OOP library.';
  26. P.NeedLibC:= false;
  27. P.SourcePath.Add('src');
  28. P.IncludePath.Add('src/unix',AllUnixOSes);
  29. P.IncludePath.Add('src/win',AllWindowsOSes);
  30. P.IncludePath.Add('src/os2',[EMX]);
  31. P.IncludePath.Add('src/$(OS)',AllOSes-AllWindowsOSes-AllUnixOSes-[EMX]);
  32. // IP and Sockets
  33. T:=P.Targets.AddUnit('netdb.pp',AllUnixOSes);
  34. T:=P.Targets.AddUnit('resolve.pp',AllUnixOSes+AllWindowsOSes+[OS2,EMX]);
  35. with T.Dependencies do
  36. begin
  37. AddInclude('resolve.inc');
  38. AddUnit('netdb');
  39. end;
  40. T:=P.Targets.AddUnit('ssockets.pp',AllUnixOSes+AllWindowsOSes+[OS2,EMX]);
  41. with T.Dependencies do
  42. begin
  43. AddUnit('resolve');
  44. end;
  45. // HTTP Client
  46. T:=P.Targets.AddUnit('servlets.pp');
  47. T:=P.Targets.AddUnit('fpsock.pp',AllUnixOSes);
  48. with T.Dependencies do
  49. begin
  50. AddUnit('resolve');
  51. end;
  52. T:=P.Targets.AddUnit('httpbase.pp',AllUnixOSes);
  53. T:=P.Targets.AddUnit('httpclient.pp',AllUnixOSes);
  54. with T.Dependencies do
  55. begin
  56. AddUnit('httpbase');
  57. AddUnit('fpsock');
  58. end;
  59. T:=P.Targets.AddUnit('httpsvlt.pp',AllUnixOSes);
  60. with T.Dependencies do
  61. begin
  62. AddUnit('fpsock');
  63. AddUnit('httpbase');
  64. AddUnit('servlets');
  65. end;
  66. // XML-RPC
  67. T:=P.Targets.AddUnit('xmlrpc.pp',AllUnixOSes);
  68. with T.Dependencies do
  69. begin
  70. AddUnit('ssockets');
  71. AddUnit('httpclient');
  72. AddUnit('httpsvlt');
  73. end;
  74. T:=P.Targets.AddProgram('mkxmlrpc.pp',AllUnixOSes);
  75. P.ExamplePath.Add('examples');
  76. P.Targets.AddExampleProgram('examples/rpccli.pp');
  77. P.Targets.AddExampleProgram('examples/svrclass_xmlrpc.pp');
  78. P.Targets.AddExampleProgram('examples/ip6test.pp');
  79. P.Targets.AddExampleProgram('examples/svrclass.pp');
  80. P.Targets.AddExampleProgram('examples/testdns.pp');
  81. P.Targets.AddExampleProgram('examples/testnet.pp');
  82. P.Targets.AddExampleProgram('examples/testhosts.pp');
  83. P.Targets.AddExampleProgram('examples/rpcserv.pp');
  84. P.Targets.AddExampleProgram('examples/testsvc.pp');
  85. P.Targets.AddExampleProgram('examples/testhst.pp');
  86. P.Targets.AddExampleProgram('examples/testuri.pp');
  87. P.Targets.AddExampleProgram('examples/testproto.pp');
  88. // 'examples/Makefile
  89. // 'examples/Makefile.fpc
  90. // 'examples/readme.txt
  91. {$ifndef ALLPACKAGES}
  92. Run;
  93. end;
  94. end.
  95. {$endif ALLPACKAGES}