fpmake.pp 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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-process');
  13. P.ShortName:='fclp';
  14. {$ifdef ALLPACKAGES}
  15. P.Directory:=ADirectory;
  16. {$endif ALLPACKAGES}
  17. P.Version:='3.3.1';
  18. P.Author := 'Michael van Canneyt and Free Pascal Development team';
  19. P.License := 'LGPL with modification';
  20. P.HomepageURL := 'www.freepascal.org';
  21. P.Email := '';
  22. P.Description := 'Process (execution) related parts of Free Component Libraries (FCL), FPC''s OOP library.';
  23. P.Options.Add('-S2h');
  24. P.NeedLibC:= false;
  25. P.OSes:=AllOSes-[embedded,msdos,win16,go32v2,nativent,macosclassic,palmos,atari,zxspectrum,msxdos,amstradcpc,sinclairql,wasip1,wasip1threads,human68k,ps1,wasip2];
  26. if Defaults.CPU=jvm then
  27. P.OSes := P.OSes - [java,android];
  28. P.SourcePath.Add('src');
  29. P.IncludePath.Add('src',AllOSes);
  30. P.IncludePath.Add('src/unix',AllUnixOSes);
  31. P.IncludePath.Add('src/winall',AllWindowsOSes);
  32. P.IncludePath.Add('src/win',[win32,win64]);
  33. P.IncludePath.Add('src/amicommon',AllAmigaLikeOSes);
  34. P.IncludePath.Add('src/$(OS)',AllOSes-[win32,win64]-AllUnixOSes-AllAmigaLikeOSes);
  35. P.IncludePath.Add('src/dummy',AllOSes-[win32,win64]-AllUnixOSes-AllAmigaLikeOSes);
  36. P.Dependencies.add('winunits-jedi',[win32,win64]);
  37. P.Dependencies.add('morphunits',[morphos]);
  38. P.Dependencies.add('arosunits',[aros]);
  39. if Defaults.CPU=powerpc then
  40. P.Dependencies.add('os4units',[amiga])
  41. else
  42. P.Dependencies.add('amunits',[amiga]);
  43. P.Dependencies.add('fcl-base');
  44. T:=P.Targets.AddUnit('pipes.pp');
  45. T.Dependencies.AddInclude('pipes.inc');
  46. T:=P.Targets.AddUnit('process.pp');
  47. T.Dependencies.AddInclude('processbody.inc');
  48. T.Dependencies.AddInclude('process.inc');
  49. T.ResourceStrings:=True;
  50. T:=P.Targets.AddUnit('fpsimpleservice.pp',[win32,win64]);
  51. T:=P.Targets.AddUnit('processunicode.pp',[win32,win64]);
  52. T.Dependencies.AddInclude('processbody.inc');
  53. T.Dependencies.AddInclude('process.inc');
  54. T.ResourceStrings:=True;
  55. T:=P.Targets.AddUnit('simpleipc.pp');
  56. T.Dependencies.AddInclude('simpleipc.inc');
  57. T.ResourceStrings:=True;
  58. T:=P.Targets.AddUnit('syncipc.pp');
  59. T:=P.Targets.AddUnit('pipesipc.pp',AllUnixOSes);
  60. T.Dependencies.AddInclude('simpleipc.inc');
  61. T.ResourceStrings:=True;
  62. T:=P.Targets.AddUnit('dbugmsg.pp');
  63. T.ResourceStrings:=True;
  64. T:=P.Targets.AddUnit('dbugintf.pp');
  65. T.ResourceStrings:=True;
  66. P.ExamplePath.Add('examples');
  67. T:=P.Targets.AddExampleProgram('ipcclient.pp');
  68. T:=P.Targets.AddExampleProgram('ipcserver.pp');
  69. T:=P.Targets.AddExampleProgram('syncipcclient.pp');
  70. T:=P.Targets.AddExampleProgram('syncipcserver.pp');
  71. T:=P.Targets.AddExampleProgram('dbugsrv.pp');
  72. P.NamespaceMap:='namespaces.lst';
  73. {$ifndef ALLPACKAGES}
  74. Run;
  75. end;
  76. end.
  77. {$endif ALLPACKAGES}