fpmake.pp 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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:=ADirectory;
  15. {$endif ALLPACKAGES}
  16. P.Version:='2.7.1';
  17. P.Dependencies.Add('fcl-base');
  18. P.Dependencies.Add('fcl-xml');
  19. P.Dependencies.Add('fcl-passrc');
  20. P.Dependencies.Add('fcl-async',[linux,freebsd,netbsd,openbsd]);
  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.OSes:=P.OSes-[embedded];
  28. P.SourcePath.Add('src');
  29. P.IncludePath.Add('src/unix',AllUnixOSes);
  30. P.IncludePath.Add('src/win',AllWindowsOSes);
  31. P.IncludePath.Add('src/os2',[EMX]);
  32. P.IncludePath.Add('src/$(OS)',AllOSes-AllWindowsOSes-AllUnixOSes-[EMX]);
  33. // IP and Sockets
  34. T:=P.Targets.AddUnit('netdb.pp',AllUnixOSes);
  35. T:=P.Targets.AddUnit('resolve.pp',AllUnixOSes+AllWindowsOSes+[OS2,EMX]);
  36. with T.Dependencies do
  37. begin
  38. AddInclude('resolve.inc');
  39. AddUnit('netdb',AllUnixOSes);
  40. end;
  41. T.ResourceStrings := True;
  42. T:=P.Targets.AddUnit('ssockets.pp',AllUnixOSes+AllWindowsOSes+[OS2,EMX]);
  43. with T.Dependencies do
  44. begin
  45. AddUnit('resolve');
  46. end;
  47. T.ResourceStrings := True;
  48. // HTTP Client
  49. T:=P.Targets.AddUnit('fpsock.pp',[linux,freebsd,netbsd,openbsd]);
  50. with T.Dependencies do
  51. begin
  52. AddUnit('resolve');
  53. end;
  54. T.ResourceStrings := True;
  55. T:=P.Targets.AddUnit('cnetdb.pp',[linux,freebsd]);
  56. P.ExamplePath.Add('examples');
  57. P.Targets.AddExampleProgram('examples/ip6test.pp');
  58. P.Targets.AddExampleProgram('examples/svrclass.pp');
  59. P.Targets.AddExampleProgram('examples/testdns.pp');
  60. P.Targets.AddExampleProgram('examples/testnet.pp');
  61. P.Targets.AddExampleProgram('examples/testhosts.pp');
  62. P.Targets.AddExampleProgram('examples/testsvc.pp');
  63. P.Targets.AddExampleProgram('examples/testhst.pp');
  64. P.Targets.AddExampleProgram('examples/testuri.pp');
  65. P.Targets.AddExampleProgram('examples/testproto.pp');
  66. {$ifndef ALLPACKAGES}
  67. Run;
  68. end;
  69. end.
  70. {$endif ALLPACKAGES}