fpmake.pp 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses fpmkunit;
  5. Var
  6. T : TTarget;
  7. P : TPackage;
  8. begin
  9. With Installer do
  10. begin
  11. {$endif ALLPACKAGES}
  12. P:=AddPackage('fcl-web');
  13. P.ShortName:='fclw';
  14. {$ifdef ALLPACKAGES}
  15. P.Directory:=ADirectory;
  16. {$endif ALLPACKAGES}
  17. P.Version:='3.04rc1';
  18. P.OSes := [beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,win32,win64,wince,aix,amiga,aros,morphos,dragonfly];
  19. if Defaults.CPU=powerpc then
  20. P.OSes:=P.OSes-[amiga];
  21. P.Dependencies.Add('fcl-base');
  22. P.Dependencies.Add('fcl-db');
  23. P.Dependencies.Add('fcl-xml');
  24. P.Dependencies.Add('fcl-json');
  25. P.Dependencies.Add('fcl-net');
  26. P.Dependencies.Add('fcl-process');
  27. P.Dependencies.Add('fcl-fpcunit');
  28. P.Dependencies.Add('fastcgi');
  29. P.Dependencies.Add('httpd22', AllOses - [amiga,aros,morphos]);
  30. P.Dependencies.Add('httpd24', AllOses - [amiga,aros,morphos]);
  31. // (Temporary) indirect dependencies, not detected by fpcmake:
  32. P.Dependencies.Add('univint',[MacOSX,iphonesim]);
  33. P.Author := 'FreePascal development team';
  34. P.License := 'LGPL with modification, ';
  35. P.HomepageURL := 'www.freepascal.org';
  36. P.Email := '';
  37. P.Description := 'Web(app) related parts of Free Component Libraries (FCL), FPC''s OOP library.';
  38. P.NeedLibC:= false;
  39. P.SourcePath.Add('src/base');
  40. P.SourcePath.Add('src/webdata');
  41. P.SourcePath.Add('src/jsonrpc');
  42. P.SourcePath.Add('src/hpack');
  43. T:=P.Targets.AddUnit('httpdefs.pp');
  44. T.ResourceStrings:=true;
  45. T.Dependencies.AddUnit('httpprotocol');
  46. T:=P.Targets.AddUnit('httproute.pp');
  47. T.Dependencies.AddUnit('httpdefs');
  48. T:=P.Targets.AddUnit('cgiapp.pp');
  49. T.ResourceStrings:=true;
  50. T:=P.Targets.AddUnit('custcgi.pp');
  51. T.ResourceStrings:=true;
  52. with T.Dependencies do
  53. begin
  54. AddUnit('httpprotocol');
  55. AddUnit('cgiprotocol');
  56. AddUnit('httpdefs');
  57. end;
  58. T:=P.Targets.AddUnit('ezcgi.pp');
  59. T:=P.Targets.AddUnit('fpcgi.pp');
  60. with T.Dependencies do
  61. begin
  62. AddUnit('httpdefs');
  63. AddUnit('fphttp');
  64. end;
  65. T:=P.Targets.AddUnit('fpdatasetform.pp');
  66. with T.Dependencies do
  67. begin
  68. AddUnit('fphtml');
  69. end;
  70. T:=P.Targets.AddUnit('fphtml.pp');
  71. T.ResourceStrings:=true;
  72. with T.Dependencies do
  73. begin
  74. AddUnit('httpdefs');
  75. AddUnit('fphttp');
  76. end;
  77. T:=P.Targets.AddUnit('fphttp.pp');
  78. T.ResourceStrings:=true;
  79. with T.Dependencies do
  80. begin
  81. AddUnit('httpdefs');
  82. end;
  83. T:=P.Targets.AddUnit('fpweb.pp');
  84. T.ResourceStrings:=true;
  85. with T.Dependencies do
  86. begin
  87. AddUnit('httpdefs');
  88. AddUnit('fphttp');
  89. AddUnit('websession');
  90. end;
  91. T:=P.Targets.AddUnit('httpprotocol.pp');
  92. T:=P.Targets.AddUnit('cgiprotocol.pp');
  93. T:=P.Targets.AddUnit('iniwebsession.pp');
  94. T.ResourceStrings:=true;
  95. with T.Dependencies do
  96. begin
  97. AddUnit('fphttp');
  98. AddUnit('httpdefs');
  99. end;
  100. T:=P.Targets.AddUnit('websession.pp');
  101. with T.Dependencies do
  102. begin
  103. AddUnit('iniwebsession');
  104. end;
  105. T:=P.Targets.AddUnit('webutil.pp');
  106. with T.Dependencies do
  107. begin
  108. AddUnit('httpdefs');
  109. end;
  110. with P.Targets.AddUnit('custweb.pp') do
  111. begin
  112. ResourceStrings:=true;
  113. Dependencies.AddUnit('httpdefs');
  114. Dependencies.AddUnit('httproute');
  115. Dependencies.AddUnit('fphttp');
  116. end;
  117. with P.Targets.AddUnit('webpage.pp') do
  118. begin
  119. Dependencies.AddUnit('httpdefs');
  120. Dependencies.AddUnit('fphtml');
  121. Dependencies.AddUnit('fpweb');
  122. end;
  123. with P.Targets.AddUnit('fpfcgi.pp') do
  124. begin
  125. OSes:=AllOses-[wince,darwin,iphonesim,aix,amiga,aros,morphos];
  126. Dependencies.AddUnit('custfcgi');
  127. end;
  128. with P.Targets.AddUnit('custfcgi.pp') do
  129. begin
  130. OSes:=AllOses-[wince,darwin,iphonesim,aix,amiga,aros,morphos];
  131. Dependencies.AddUnit('httpprotocol');
  132. Dependencies.AddUnit('cgiprotocol');
  133. Dependencies.AddUnit('custcgi');
  134. Dependencies.AddUnit('httpdefs');
  135. Dependencies.AddUnit('custweb');
  136. ResourceStrings:=true;
  137. end;
  138. with P.Targets.AddUnit('custapache.pp') do
  139. begin
  140. OSes:=AllOses-[amiga,aros,morphos];
  141. Dependencies.AddUnit('httpprotocol');
  142. Dependencies.AddUnit('fphttp');
  143. Dependencies.AddUnit('custweb');
  144. ResourceStrings:=true;
  145. end;
  146. with P.Targets.AddUnit('fpapache.pp') do
  147. begin
  148. OSes:=AllOses-[amiga,aros,morphos];
  149. Dependencies.AddUnit('custapache');
  150. end;
  151. with P.Targets.AddUnit('custapache24.pp') do
  152. begin
  153. OSes:=AllOses-[amiga,aros,morphos];
  154. Dependencies.AddUnit('fphttp');
  155. Dependencies.AddUnit('custweb');
  156. ResourceStrings:=true;
  157. end;
  158. with P.Targets.AddUnit('fpapache24.pp') do
  159. begin
  160. OSes:=AllOses-[amiga,aros,morphos];
  161. Dependencies.AddUnit('custapache24');
  162. end;
  163. T:=P.Targets.AddUnit('fcgigate.pp');
  164. T.ResourceStrings:=true;
  165. With T.Dependencies do
  166. begin
  167. AddUnit('httpdefs');
  168. AddUnit('custcgi');
  169. end;
  170. T:=P.Targets.AddUnit('fphttpserver.pp');
  171. T.ResourceStrings:=true;
  172. with T.Dependencies do
  173. begin
  174. AddUnit('httpdefs');
  175. end;
  176. T:=P.Targets.AddUnit('fphttpclient.pp');
  177. T.ResourceStrings:=true;
  178. T:=P.Targets.AddUnit('custhttpapp.pp');
  179. // T.ResourceStrings:=true;
  180. T:=P.Targets.AddUnit('fphttpapp.pp');
  181. T:=P.Targets.AddUnit('fpwebfile.pp');
  182. T.ResourceStrings:=true;
  183. T:=P.Targets.AddUnit('fpwebdata.pp');
  184. T.ResourceStrings:=true;
  185. With T.Dependencies do
  186. begin
  187. AddUnit('httpdefs');
  188. AddUnit('fphttp');
  189. AddUnit('websession');
  190. end;
  191. T:=P.Targets.AddUnit('sqldbwebdata.pp');
  192. T.ResourceStrings:=true;
  193. With T.Dependencies do
  194. begin
  195. AddUnit('fpwebdata');
  196. AddUnit('fphttp');
  197. end;
  198. T:=P.Targets.AddUnit('fpextjs.pp');
  199. T.ResourceStrings:=true;
  200. With T.Dependencies do
  201. begin
  202. AddUnit('fpwebdata');
  203. AddUnit('httpdefs');
  204. AddUnit('fphttp');
  205. end;
  206. T:=P.Targets.AddUnit('extjsxml.pp');
  207. T.ResourceStrings:=true;
  208. With T.Dependencies do
  209. begin
  210. AddUnit('fpwebdata');
  211. AddUnit('httpdefs');
  212. AddUnit('fpextjs');
  213. end;
  214. T:=P.Targets.AddUnit('extjsjson.pp');
  215. T.ResourceStrings:=true;
  216. With T.Dependencies do
  217. begin
  218. AddUnit('fpwebdata');
  219. AddUnit('httpdefs');
  220. AddUnit('fpextjs');
  221. end;
  222. T:=P.Targets.AddUnit('fpjsonrpc.pp');
  223. T.ResourceStrings:=true;
  224. T:=P.Targets.AddUnit('webjsonrpc.pp');
  225. With T.Dependencies do
  226. begin
  227. AddUnit('fpjsonrpc');
  228. end;
  229. T:=P.Targets.AddUnit('fpdispextdirect.pp');
  230. With T.Dependencies do
  231. begin
  232. AddUnit('fpjsonrpc');
  233. end;
  234. T:=P.Targets.AddUnit('fpextdirect.pp');
  235. T.ResourceStrings:=true;
  236. With T.Dependencies do
  237. begin
  238. AddUnit('fpdispextdirect');
  239. AddUnit('webjsonrpc');
  240. AddUnit('httpdefs');
  241. end;
  242. T:=P.Targets.AddUnit('fpwebclient.pp');
  243. T:=P.Targets.AddUnit('fpjwt.pp');
  244. T:=P.Targets.AddUnit('fpoauth2.pp');
  245. T.Dependencies.AddUnit('fpwebclient');
  246. T.Dependencies.AddUnit('fpjwt');
  247. T:=P.Targets.AddUnit('fpoauth2ini.pp');
  248. T.Dependencies.AddUnit('fpoauth2');
  249. T:=P.Targets.AddUnit('fphttpwebclient.pp');
  250. T.Dependencies.AddUnit('fpwebclient');
  251. T:=P.Targets.AddUnit('restbase.pp');
  252. T:=P.Targets.AddUnit('restcodegen.pp');
  253. T:=P.Targets.AddUnit('uhpacktables.pp');
  254. T:=P.Targets.AddUnit('uhpackimp.pp');
  255. With T.Dependencies do
  256. AddUnit('uhpacktables');
  257. T:=P.Targets.AddUnit('uhpack.pp');
  258. With T.Dependencies do
  259. begin
  260. AddUnit('uhpackimp');
  261. end;
  262. {$ifndef ALLPACKAGES}
  263. Run;
  264. end;
  265. end.
  266. {$endif ALLPACKAGES}