2
0

fpmake.pp 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses fpmkunit;
  5. Var
  6. T : TTarget;
  7. P : TPackage;
  8. D : TDependency;
  9. begin
  10. With Installer do
  11. begin
  12. {$endif ALLPACKAGES}
  13. P:=AddPackage('fcl-xml');
  14. {$ifdef ALLPACKAGES}
  15. P.Directory:=ADirectory;
  16. {$endif ALLPACKAGES}
  17. P.Version:='2.7.1';
  18. P.Options.Add('-S2h');
  19. D:=P.Dependencies.Add('fcl-base');
  20. D.Version:='2.7.1';
  21. D:=P.Dependencies.Add('iconvenc',[linux,darwin,iphonesim,freebsd,haiku,beos,aix]);
  22. P.Author := 'Sebastian Guenther, Sergei Gorelkin and FPC development team';
  23. P.License := 'LGPL with modification, ';
  24. P.HomepageURL := 'www.freepascal.org';
  25. P.Email := '';
  26. P.Description := 'XML and DOM parts of Free Component Libraries (FCL), FPC''s OOP library.';
  27. P.NeedLibC:= false;
  28. P.OSes:=AllOSes-[embedded];
  29. P.SourcePath.Add('src');
  30. P.IncludePath.Add('src');
  31. T:=P.Targets.AddUnit('dom_html.pp');
  32. with T.Dependencies do
  33. begin
  34. AddUnit('dom');
  35. end;
  36. T:=P.Targets.AddUnit('dom.pp');
  37. with T.Dependencies do
  38. begin
  39. AddUnit('xmlutils');
  40. end;
  41. T:=P.Targets.AddUnit('htmldefs.pp');
  42. T:=P.Targets.AddUnit('htmlelements.pp');
  43. with T.Dependencies do
  44. begin
  45. AddInclude('tagsintf.inc');
  46. AddInclude('tagsimpl.inc');
  47. AddUnit('dom');
  48. AddUnit('htmldefs');
  49. end;
  50. T:=P.Targets.AddUnit('htmlwriter.pp');
  51. with T.Dependencies do
  52. begin
  53. AddInclude('wtagsintf.inc');
  54. AddInclude('wtagsimpl.inc');
  55. AddUnit('dom');
  56. AddUnit('htmlelements');
  57. AddUnit('htmldefs');
  58. end;
  59. T.ResourceStrings:=True;
  60. T:=P.Targets.AddUnit('htmwrite.pp');
  61. with T.Dependencies do
  62. begin
  63. AddUnit('dom');
  64. AddUnit('htmldefs');
  65. end;
  66. T:=P.Targets.AddUnit('sax_html.pp');
  67. with T.Dependencies do
  68. begin
  69. AddUnit('sax');
  70. AddUnit('dom');
  71. AddUnit('dom_html');
  72. AddUnit('htmldefs');
  73. end;
  74. T:=P.Targets.AddUnit('sax.pp');
  75. T.ResourceStrings:=True;
  76. T:=P.Targets.AddUnit('xhtml.pp');
  77. with T.Dependencies do
  78. begin
  79. AddUnit('dom');
  80. AddUnit('dom_html');
  81. end;
  82. T:=P.Targets.AddUnit('xmlcfg.pp');
  83. with T.Dependencies do
  84. begin
  85. AddUnit('dom');
  86. AddUnit('xmlread');
  87. AddUnit('xmlwrite');
  88. end;
  89. T.ResourceStrings:=True;
  90. T:=P.Targets.AddUnit('xmlconf.pp');
  91. with T.Dependencies do
  92. begin
  93. AddUnit('dom');
  94. AddUnit('xmlread');
  95. AddUnit('xmlwrite');
  96. end;
  97. T.ResourceStrings:=True;
  98. T:=P.Targets.AddUnit('xmlreader.pp');
  99. with T.Dependencies do
  100. begin
  101. AddUnit('xmlutils');
  102. end;
  103. T:=P.Targets.AddUnit('xmltextreader.pp');
  104. with T.Dependencies do
  105. begin
  106. AddUnit('xmlutils');
  107. AddUnit('xmlreader');
  108. AddUnit('dtdmodel');
  109. end;
  110. T:=P.Targets.AddUnit('xmlread.pp');
  111. with T.Dependencies do
  112. begin
  113. AddUnit('dom');
  114. AddUnit('xmlutils');
  115. AddUnit('xmlreader');
  116. AddUnit('xmltextreader');
  117. end;
  118. T:=P.Targets.AddUnit('xmlstreaming.pp');
  119. with T.Dependencies do
  120. begin
  121. AddUnit('dom');
  122. end;
  123. T:=P.Targets.AddUnit('xmlutils.pp');
  124. with T.Dependencies do
  125. begin
  126. AddInclude('names.inc');
  127. end;
  128. T:=P.Targets.AddUnit('xmlwrite.pp');
  129. with T.Dependencies do
  130. begin
  131. AddUnit('dom');
  132. end;
  133. T:=P.Targets.AddUnit('xpath.pp');
  134. with T.Dependencies do
  135. begin
  136. AddInclude('xpathkw.inc');
  137. AddUnit('dom');
  138. end;
  139. T.ResourceStrings:=True;
  140. T:=P.Targets.AddUnit('sax_xml.pp');
  141. with T.Dependencies do
  142. begin
  143. AddUnit('sax');
  144. AddUnit('dom');
  145. AddUnit('htmldefs');
  146. end;
  147. T:=P.Targets.AddUnit('xmliconv.pas',[linux,freebsd,darwin,iphonesim,haiku,beos,aix]);
  148. with T.Dependencies do
  149. begin
  150. AddUnit('xmlread');
  151. end;
  152. T:=P.Targets.AddUnit('xmliconv_windows.pas',[win32,win64]);
  153. with T.Dependencies do
  154. begin
  155. AddUnit('xmlread');
  156. end;
  157. T:=P.Targets.AddUnit('dtdmodel.pp');
  158. with T.Dependencies do
  159. begin
  160. AddUnit('xmlutils');
  161. end;
  162. P.Sources.AddSrc('src/README.txt');
  163. P.ExamplePath.Add('examples');
  164. P.Targets.AddExampleProgram('tests/xmlts.pp');
  165. P.Targets.AddExampleProgram('tests/domunit.pp');
  166. P.Targets.AddExampleProgram('tests/testgen.pp');
  167. // 'tests/api.xml
  168. // 'tests/README_DOM
  169. // 'tests/README
  170. // 'tests/template.xml
  171. {$ifndef ALLPACKAGES}
  172. Run;
  173. end;
  174. end.
  175. {$endif ALLPACKAGES}