fpmake.pp 4.8 KB

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