fpmake.pp 5.0 KB

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