fpmake.pp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  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. P.SourcePath.Add('src/restbridge');
  46. T:=P.Targets.AddUnit('httpdefs.pp');
  47. T.ResourceStrings:=true;
  48. T.Dependencies.AddUnit('httpprotocol');
  49. T:=P.Targets.AddUnit('httproute.pp');
  50. T.ResourceStrings:=true;
  51. T.Dependencies.AddUnit('httpdefs');
  52. T:=P.Targets.AddUnit('cgiapp.pp');
  53. T.ResourceStrings:=true;
  54. T:=P.Targets.AddUnit('custcgi.pp');
  55. T.ResourceStrings:=true;
  56. with T.Dependencies do
  57. begin
  58. AddUnit('httpprotocol');
  59. AddUnit('cgiprotocol');
  60. AddUnit('httpdefs');
  61. end;
  62. T:=P.Targets.AddUnit('ezcgi.pp');
  63. T:=P.Targets.AddUnit('fpcgi.pp');
  64. with T.Dependencies do
  65. begin
  66. AddUnit('httpdefs');
  67. AddUnit('fphttp');
  68. end;
  69. T:=P.Targets.AddUnit('fpdatasetform.pp');
  70. with T.Dependencies do
  71. begin
  72. AddUnit('fphtml');
  73. end;
  74. T:=P.Targets.AddUnit('fphtml.pp');
  75. T.ResourceStrings:=true;
  76. with T.Dependencies do
  77. begin
  78. AddUnit('httpdefs');
  79. AddUnit('fphttp');
  80. end;
  81. T:=P.Targets.AddUnit('fphttp.pp');
  82. T.ResourceStrings:=true;
  83. with T.Dependencies do
  84. begin
  85. AddUnit('httpdefs');
  86. end;
  87. T:=P.Targets.AddUnit('fpweb.pp');
  88. T.ResourceStrings:=true;
  89. with T.Dependencies do
  90. begin
  91. AddUnit('httpdefs');
  92. AddUnit('fphttp');
  93. AddUnit('websession');
  94. end;
  95. T:=P.Targets.AddUnit('httpprotocol.pp');
  96. T:=P.Targets.AddUnit('cgiprotocol.pp');
  97. T:=P.Targets.AddUnit('iniwebsession.pp');
  98. T.ResourceStrings:=true;
  99. with T.Dependencies do
  100. begin
  101. AddUnit('fphttp');
  102. AddUnit('httpdefs');
  103. end;
  104. T:=P.Targets.AddUnit('websession.pp');
  105. with T.Dependencies do
  106. begin
  107. AddUnit('iniwebsession');
  108. end;
  109. T:=P.Targets.AddUnit('webutil.pp');
  110. with T.Dependencies do
  111. begin
  112. AddUnit('httpdefs');
  113. end;
  114. with P.Targets.AddUnit('custweb.pp') do
  115. begin
  116. ResourceStrings:=true;
  117. Dependencies.AddUnit('httpdefs');
  118. Dependencies.AddUnit('httproute');
  119. Dependencies.AddUnit('fphttp');
  120. end;
  121. with P.Targets.AddUnit('webpage.pp') do
  122. begin
  123. Dependencies.AddUnit('httpdefs');
  124. Dependencies.AddUnit('fphtml');
  125. Dependencies.AddUnit('fpweb');
  126. end;
  127. with P.Targets.AddUnit('fpfcgi.pp') do
  128. begin
  129. OSes:=AllOses-[wince,darwin,iphonesim,aix,amiga,aros,morphos];
  130. Dependencies.AddUnit('custfcgi');
  131. end;
  132. with P.Targets.AddUnit('custfcgi.pp') do
  133. begin
  134. OSes:=AllOses-[wince,darwin,iphonesim,aix,amiga,aros,morphos];
  135. Dependencies.AddUnit('httpprotocol');
  136. Dependencies.AddUnit('cgiprotocol');
  137. Dependencies.AddUnit('custcgi');
  138. Dependencies.AddUnit('httpdefs');
  139. Dependencies.AddUnit('custweb');
  140. ResourceStrings:=true;
  141. end;
  142. with P.Targets.AddUnit('custapache.pp') do
  143. begin
  144. OSes:=AllOses-[amiga,aros,morphos];
  145. Dependencies.AddUnit('httpprotocol');
  146. Dependencies.AddUnit('fphttp');
  147. Dependencies.AddUnit('custweb');
  148. ResourceStrings:=true;
  149. end;
  150. with P.Targets.AddUnit('fpapache.pp') do
  151. begin
  152. OSes:=AllOses-[amiga,aros,morphos];
  153. Dependencies.AddUnit('custapache');
  154. end;
  155. with P.Targets.AddUnit('custapache24.pp') do
  156. begin
  157. OSes:=AllOses-[amiga,aros,morphos];
  158. Dependencies.AddUnit('fphttp');
  159. Dependencies.AddUnit('custweb');
  160. ResourceStrings:=true;
  161. end;
  162. with P.Targets.AddUnit('fpapache24.pp') do
  163. begin
  164. OSes:=AllOses-[amiga,aros,morphos];
  165. Dependencies.AddUnit('custapache24');
  166. end;
  167. with P.Targets.AddUnit('custhttpsys.pp') do
  168. begin
  169. OSes:=[Win32,Win64];
  170. Dependencies.AddUnit('custweb');
  171. Dependencies.AddUnit('httpdefs');
  172. Dependencies.AddUnit('httpprotocol');
  173. ResourceStrings:=true;
  174. end;
  175. with P.Targets.AddUnit('fphttpsys.pp') do
  176. begin
  177. OSes:=[Win32,Win64];
  178. Dependencies.AddUnit('custhttpsys');
  179. end;
  180. with P.Targets.AddUnit('fphttpstatus.pas') do
  181. begin
  182. Dependencies.AddUnit('fphttpserver');
  183. Dependencies.AddUnit('HTTPDefs');
  184. end;
  185. T:=P.Targets.AddUnit('fcgigate.pp');
  186. T.ResourceStrings:=true;
  187. With T.Dependencies do
  188. begin
  189. AddUnit('httpdefs');
  190. AddUnit('custcgi');
  191. end;
  192. T:=P.Targets.AddUnit('fphttpserver.pp');
  193. T.ResourceStrings:=true;
  194. with T.Dependencies do
  195. begin
  196. AddUnit('httpdefs');
  197. end;
  198. T:=P.Targets.AddUnit('fphttpclient.pp');
  199. T.ResourceStrings:=true;
  200. T:=P.Targets.AddUnit('custhttpapp.pp');
  201. // T.ResourceStrings:=true;
  202. T:=P.Targets.AddUnit('fphttpapp.pp');
  203. T:=P.Targets.AddUnit('fpwebfile.pp');
  204. T.ResourceStrings:=true;
  205. T:=P.Targets.AddUnit('fpwebdata.pp');
  206. T.ResourceStrings:=true;
  207. With T.Dependencies do
  208. begin
  209. AddUnit('httpdefs');
  210. AddUnit('fphttp');
  211. AddUnit('websession');
  212. end;
  213. T:=P.Targets.AddUnit('sqldbwebdata.pp');
  214. T.ResourceStrings:=true;
  215. With T.Dependencies do
  216. begin
  217. AddUnit('fpwebdata');
  218. AddUnit('fphttp');
  219. end;
  220. T:=P.Targets.AddUnit('fpextjs.pp');
  221. T.ResourceStrings:=true;
  222. With T.Dependencies do
  223. begin
  224. AddUnit('fpwebdata');
  225. AddUnit('httpdefs');
  226. AddUnit('fphttp');
  227. end;
  228. T:=P.Targets.AddUnit('extjsxml.pp');
  229. T.ResourceStrings:=true;
  230. With T.Dependencies do
  231. begin
  232. AddUnit('fpwebdata');
  233. AddUnit('httpdefs');
  234. AddUnit('fpextjs');
  235. end;
  236. T:=P.Targets.AddUnit('extjsjson.pp');
  237. T.ResourceStrings:=true;
  238. With T.Dependencies do
  239. begin
  240. AddUnit('fpwebdata');
  241. AddUnit('httpdefs');
  242. AddUnit('fpextjs');
  243. end;
  244. T:=P.Targets.AddUnit('fpjsonrpc.pp');
  245. T.ResourceStrings:=true;
  246. T:=P.Targets.AddUnit('webjsonrpc.pp');
  247. With T.Dependencies do
  248. begin
  249. AddUnit('fpjsonrpc');
  250. end;
  251. T:=P.Targets.AddUnit('fpdispextdirect.pp');
  252. With T.Dependencies do
  253. begin
  254. AddUnit('fpjsonrpc');
  255. end;
  256. T:=P.Targets.AddUnit('fpextdirect.pp');
  257. T.ResourceStrings:=true;
  258. With T.Dependencies do
  259. begin
  260. AddUnit('fpdispextdirect');
  261. AddUnit('webjsonrpc');
  262. AddUnit('httpdefs');
  263. end;
  264. T:=P.Targets.AddUnit('fpwebclient.pp');
  265. T:=P.Targets.AddUnit('fpjwt.pp');
  266. T:=P.Targets.AddUnit('fpoauth2.pp');
  267. T.ResourceStrings:=true;
  268. T.Dependencies.AddUnit('fpwebclient');
  269. T.Dependencies.AddUnit('fpjwt');
  270. T:=P.Targets.AddUnit('fpoauth2ini.pp');
  271. T.Dependencies.AddUnit('fpoauth2');
  272. T:=P.Targets.AddUnit('fphttpwebclient.pp');
  273. T.Dependencies.AddUnit('fpwebclient');
  274. T:=P.Targets.AddUnit('restbase.pp');
  275. T:=P.Targets.AddUnit('restcodegen.pp');
  276. T:=P.Targets.AddUnit('uhpacktables.pp');
  277. T:=P.Targets.AddUnit('uhpackimp.pp');
  278. With T.Dependencies do
  279. AddUnit('uhpacktables');
  280. T:=P.Targets.AddUnit('uhpack.pp');
  281. With T.Dependencies do
  282. begin
  283. AddUnit('uhpackimp');
  284. end;
  285. T:=P.Targets.AddUnit('sqldbrestconst.pp');
  286. T.ResourceStrings:=true;
  287. T:=P.Targets.AddUnit('sqldbrestschema.pp');
  288. With T.Dependencies do
  289. begin
  290. AddUnit('sqldbrestconst');
  291. end;
  292. T:=P.Targets.AddUnit('sqldbrestio.pp');
  293. With T.Dependencies do
  294. begin
  295. AddUnit('sqldbrestconst');
  296. AddUnit('sqldbrestschema');
  297. end;
  298. T:=P.Targets.AddUnit('sqldbrestdata.pp');
  299. With T.Dependencies do
  300. begin
  301. AddUnit('sqldbrestconst');
  302. AddUnit('sqldbrestschema');
  303. AddUnit('sqldbrestio');
  304. end;
  305. T:=P.Targets.AddUnit('sqldbrestauth.pp');
  306. With T.Dependencies do
  307. begin
  308. AddUnit('sqldbrestconst');
  309. AddUnit('sqldbrestio');
  310. AddUnit('sqldbrestschema');
  311. end;
  312. T:=P.Targets.AddUnit('sqldbrestjson.pp');
  313. With T.Dependencies do
  314. begin
  315. AddUnit('sqldbrestio');
  316. AddUnit('sqldbrestschema');
  317. AddUnit('sqldbrestconst');
  318. end;
  319. T:=P.Targets.AddUnit('sqldbrestbridge.pp');
  320. With T.Dependencies do
  321. begin
  322. AddUnit('sqldbrestio');
  323. AddUnit('sqldbrestdata');
  324. AddUnit('sqldbrestschema');
  325. AddUnit('sqldbrestconst');
  326. end;
  327. T:=P.Targets.AddUnit('sqldbrestcds.pp');
  328. With T.Dependencies do
  329. begin
  330. AddUnit('sqldbrestio');
  331. AddUnit('sqldbrestschema');
  332. AddUnit('sqldbrestconst');
  333. end;
  334. T:=P.Targets.AddUnit('sqldbrestcsv.pp');
  335. With T.Dependencies do
  336. begin
  337. AddUnit('sqldbrestio');
  338. AddUnit('sqldbrestschema');
  339. AddUnit('sqldbrestconst');
  340. end;
  341. T:=P.Targets.AddUnit('sqldbrestxml.pp');
  342. With T.Dependencies do
  343. begin
  344. AddUnit('sqldbrestio');
  345. AddUnit('sqldbrestschema');
  346. AddUnit('sqldbrestconst');
  347. end;
  348. T:=P.Targets.AddUnit('sqldbrestado.pp');
  349. With T.Dependencies do
  350. begin
  351. AddUnit('sqldbrestio');
  352. AddUnit('sqldbrestschema');
  353. AddUnit('sqldbrestconst');
  354. end;
  355. T:=P.Targets.AddUnit('sqldbrestini.pp');
  356. With T.Dependencies do
  357. begin
  358. AddUnit('sqldbrestbridge');
  359. AddUnit('sqldbrestschema');
  360. AddUnit('sqldbrestconst');
  361. end;
  362. T:=P.Targets.AddUnit('sqldbrestauthini.pp');
  363. With T.Dependencies do
  364. begin
  365. AddUnit('sqldbrestauth');
  366. AddUnit('sqldbrestschema');
  367. AddUnit('sqldbrestconst');
  368. end;
  369. T:=P.Targets.AddUnit('sqldbrestmodule.pp');
  370. With T.Dependencies do
  371. begin
  372. AddUnit('sqldbrestbridge');
  373. AddUnit('sqldbrestconst');
  374. end;
  375. {$ifndef ALLPACKAGES}
  376. Run;
  377. end;
  378. end.
  379. {$endif ALLPACKAGES}