fpmake.pp 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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.3.1';
  19. P.Options.Add('-S2h');
  20. D:=P.Dependencies.Add('fcl-base');
  21. D.Version:='3.3.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,win16,macos,palmos];
  30. if Defaults.CPU=jvm then
  31. P.OSes := P.OSes - [java,android];
  32. P.SourcePath.Add('src');
  33. P.IncludePath.Add('src');
  34. T:=P.Targets.AddUnit('dom_html.pp');
  35. with T.Dependencies do
  36. begin
  37. AddUnit('dom');
  38. end;
  39. T:=P.Targets.AddUnit('dom.pp');
  40. with T.Dependencies do
  41. begin
  42. AddUnit('xmlutils');
  43. end;
  44. T:=P.Targets.AddUnit('htmldefs.pp');
  45. T:=P.Targets.AddUnit('htmlelements.pp');
  46. with T.Dependencies do
  47. begin
  48. AddInclude('tagsintf.inc');
  49. AddInclude('tagsimpl.inc');
  50. AddUnit('dom');
  51. AddUnit('htmldefs');
  52. end;
  53. T:=P.Targets.AddUnit('htmlwriter.pp');
  54. with T.Dependencies do
  55. begin
  56. AddInclude('wtagsintf.inc');
  57. AddInclude('wtagsimpl.inc');
  58. AddUnit('dom');
  59. AddUnit('htmlelements');
  60. AddUnit('htmldefs');
  61. end;
  62. T.ResourceStrings:=True;
  63. T:=P.Targets.AddUnit('htmwrite.pp');
  64. with T.Dependencies do
  65. begin
  66. AddUnit('dom');
  67. AddUnit('htmldefs');
  68. end;
  69. T:=P.Targets.AddUnit('sax_html.pp');
  70. with T.Dependencies do
  71. begin
  72. AddUnit('sax');
  73. AddUnit('dom');
  74. AddUnit('dom_html');
  75. AddUnit('htmldefs');
  76. end;
  77. T:=P.Targets.AddUnit('sax.pp');
  78. T.ResourceStrings:=True;
  79. T:=P.Targets.AddUnit('xhtml.pp');
  80. with T.Dependencies do
  81. begin
  82. AddUnit('dom');
  83. AddUnit('dom_html');
  84. end;
  85. T:=P.Targets.AddUnit('xmlcfg.pp');
  86. with T.Dependencies do
  87. begin
  88. AddUnit('dom');
  89. AddUnit('xmlread');
  90. AddUnit('xmlwrite');
  91. end;
  92. T.ResourceStrings:=True;
  93. T:=P.Targets.AddUnit('xmlconf.pp');
  94. with T.Dependencies do
  95. begin
  96. AddUnit('dom');
  97. AddUnit('xmlread');
  98. AddUnit('xmlwrite');
  99. end;
  100. T.ResourceStrings:=True;
  101. T:=P.Targets.AddUnit('xmlreader.pp');
  102. with T.Dependencies do
  103. begin
  104. AddUnit('xmlutils');
  105. end;
  106. T:=P.Targets.AddUnit('xmltextreader.pp');
  107. with T.Dependencies do
  108. begin
  109. AddUnit('xmlutils');
  110. AddUnit('xmlreader');
  111. AddUnit('dtdmodel');
  112. end;
  113. T:=P.Targets.AddUnit('xmlread.pp');
  114. with T.Dependencies do
  115. begin
  116. AddUnit('dom');
  117. AddUnit('xmlutils');
  118. AddUnit('xmlreader');
  119. AddUnit('xmltextreader');
  120. end;
  121. T:=P.Targets.AddUnit('xmlstreaming.pp');
  122. with T.Dependencies do
  123. begin
  124. AddUnit('dom');
  125. end;
  126. T:=P.Targets.AddUnit('xmlutils.pp');
  127. with T.Dependencies do
  128. begin
  129. AddInclude('names.inc');
  130. end;
  131. T:=P.Targets.AddUnit('xmlwrite.pp');
  132. with T.Dependencies do
  133. begin
  134. AddUnit('dom');
  135. end;
  136. T:=P.Targets.AddUnit('xpath.pp');
  137. with T.Dependencies do
  138. begin
  139. AddInclude('xpathkw.inc');
  140. AddUnit('dom');
  141. end;
  142. T.ResourceStrings:=True;
  143. T:=P.Targets.AddUnit('sax_xml.pp');
  144. with T.Dependencies do
  145. begin
  146. AddUnit('sax');
  147. AddUnit('dom');
  148. AddUnit('htmldefs');
  149. end;
  150. T:=P.Targets.AddUnit('xmliconv.pas',[linux,freebsd,darwin,iphonesim,haiku,beos,aix]);
  151. with T.Dependencies do
  152. begin
  153. AddUnit('xmlread');
  154. end;
  155. T:=P.Targets.AddUnit('xmliconv_windows.pas',[win32,win64]);
  156. with T.Dependencies do
  157. begin
  158. AddUnit('xmlread');
  159. end;
  160. T:=P.Targets.AddUnit('dtdmodel.pp');
  161. with T.Dependencies do
  162. begin
  163. AddUnit('xmlutils');
  164. end;
  165. P.Sources.AddSrc('src/README.txt');
  166. P.ExamplePath.Add('examples');
  167. P.Targets.AddExampleProgram('tests/xmlts.pp');
  168. P.Targets.AddExampleProgram('tests/domunit.pp');
  169. P.Targets.AddExampleProgram('tests/testgen.pp');
  170. // 'tests/api.xml
  171. // 'tests/README_DOM
  172. // 'tests/README
  173. // 'tests/template.xml
  174. {$ifndef ALLPACKAGES}
  175. Run;
  176. end;
  177. end.
  178. {$endif ALLPACKAGES}