fpmake.pp 8.7 KB

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