fpmake.pp 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses {$ifdef unix}cthreads,{$endif} fpmkunit;
  5. Var
  6. P : TPackage;
  7. T : TTarget;
  8. begin
  9. With Installer do
  10. begin
  11. {$endif ALLPACKAGES}
  12. P:=AddPackage('gst');
  13. {$ifdef ALLPACKAGES}
  14. P.Directory:=ADirectory;
  15. {$endif ALLPACKAGES}
  16. P.Version:='3.3.1';
  17. P.SupportBuildModes := [bmOneByOne];
  18. P.OSes:=AllUnixOSes+[Win32,Win64]-[darwin,iphonesim,ios,Android];
  19. if Defaults.CPU<>arm then
  20. P.OSes := P.OSes + [darwin];
  21. P.Author := 'Library: Wim Taymans and others, header: Michael Van Canneyt';
  22. P.License := 'Library: LGPL2.1, header: LGPL with modification, ';
  23. P.HomepageURL := 'www.freepascal.org';
  24. P.Email := '';
  25. P.Description := 'Header to the GStreamer libgstreamer-1.0 library.';
  26. P.NeedLibC:= true; // true for headers that indirectly link to libc?
  27. P.Dependencies.Add('gtk2');
  28. P.SourcePath.Add('src');
  29. P.IncludePath.Add('src');
  30. T:=P.Targets.AddUnit('gst.pp');
  31. With T.Dependencies do
  32. begin
  33. AddInclude('elementfactory.inc');
  34. AddInclude('gstaliases.inc');
  35. AddInclude('gstallocator.inc');
  36. AddInclude('gstatomicqueue.inc');
  37. AddInclude('gstbin.inc');
  38. AddInclude('gstbuffer.inc');
  39. AddInclude('gstbufferlist.inc');
  40. AddInclude('gstbufferpool.inc');
  41. AddInclude('gstbus.inc');
  42. AddInclude('gstcapsfeatures.inc');
  43. AddInclude('gstcaps.inc');
  44. AddInclude('gstchildproxy.inc');
  45. AddInclude('gstclock.inc');
  46. AddInclude('gstcontext.inc');
  47. AddInclude('gstcontrolbinding.inc');
  48. AddInclude('gstcontrolsource.inc');
  49. AddInclude('gstdatetime.inc');
  50. AddInclude('gstdebugutils.inc');
  51. AddInclude('gstdevice.inc');
  52. AddInclude('gstdevicemonitor.inc');
  53. AddInclude('gstdeviceproviderfactory.inc');
  54. AddInclude('gstdeviceprovider.inc');
  55. AddInclude('gstdynamictypefactory.inc');
  56. AddInclude('gstelementfactory.inc');
  57. AddInclude('gstelement.inc');
  58. AddInclude('gstelementmetadata.inc');
  59. AddInclude('gstenum.inc');
  60. AddInclude('gstenumtypes.inc');
  61. AddInclude('gsterror.inc');
  62. AddInclude('gstevent.inc');
  63. AddInclude('gstformat.inc');
  64. AddInclude('gstghostpad.inc');
  65. AddInclude('gstinfo.inc');
  66. AddInclude('gstiterator.inc');
  67. AddInclude('gstmemory.inc');
  68. AddInclude('gstmessage.inc');
  69. AddInclude('gstmeta.inc');
  70. AddInclude('gstminiobject.inc');
  71. AddInclude('gstobject.inc');
  72. AddInclude('gstpad.inc');
  73. AddInclude('gstpadtemplate.inc');
  74. AddInclude('gstparamspecs.inc');
  75. AddInclude('gstparse.inc');
  76. AddInclude('gstpipeline.inc');
  77. AddInclude('gstpluginfeature.inc');
  78. AddInclude('gstplugin.inc');
  79. AddInclude('gstpoll.inc');
  80. AddInclude('gstpreset.inc');
  81. AddInclude('gstpromise.inc');
  82. AddInclude('gstprotection.inc');
  83. AddInclude('gstquery.inc');
  84. AddInclude('gstrec.inc');
  85. AddInclude('gstregistry.inc');
  86. AddInclude('gstsample.inc');
  87. AddInclude('gstsegment.inc');
  88. AddInclude('gststreamcollection.inc');
  89. AddInclude('gststreams.inc');
  90. AddInclude('gststructure.inc');
  91. AddInclude('gstsystemclock.inc');
  92. AddInclude('gsttaglist.inc');
  93. AddInclude('gsttagsetter.inc');
  94. AddInclude('gsttask.inc');
  95. AddInclude('gsttaskpool.inc');
  96. AddInclude('gsttoc.inc');
  97. AddInclude('gsttocsetter.inc');
  98. AddInclude('gsttracerfactory.inc');
  99. AddInclude('gsttracer.inc');
  100. AddInclude('gsttracerrecord.inc');
  101. AddInclude('gsttypefindfactory.inc');
  102. AddInclude('gsttypefind.inc');
  103. AddInclude('gsturi.inc');
  104. AddInclude('gstutils.inc');
  105. AddInclude('gstvalue.inc');
  106. AddInclude('gstversion.inc');
  107. // Implementations
  108. AddInclude('gstmessage_impl.inc');
  109. AddInclude('gstbin_impl.inc');
  110. end;
  111. P.Sources.AddExampleFiles('examples/camrecord.lpr',P.Directory,false,'.');
  112. P.NamespaceMap:='namespaces.lst';
  113. {$ifndef ALLPACKAGES}
  114. Run;
  115. end;
  116. end.
  117. {$endif ALLPACKAGES}