fpmake.pp 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  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. begin
  9. With Installer do
  10. begin
  11. {$endif ALLPACKAGES}
  12. P:=AddPackage('fcl-base');
  13. P.ShortName:='fclb';
  14. {$ifdef ALLPACKAGES}
  15. P.Directory:=ADirectory;
  16. {$endif ALLPACKAGES}
  17. P.Version:='3.3.1';
  18. P.Dependencies.Add('univint',[Darwin,iPhoneSim,ios]);
  19. p.Dependencies.Add('rtl-objpas');
  20. P.Author := '<various>';
  21. P.License := 'LGPL with modification, ';
  22. P.Email := '';
  23. P.Description := 'Base library of Free Component Libraries (FCL), FPC''s OOP library.';
  24. P.NeedLibC:= false;
  25. P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos,zxspectrum,msxdos,amstradcpc,sinclairql];
  26. if Defaults.CPU=jvm then
  27. P.OSes := P.OSes - [java,android];
  28. P.SourcePath.Add('src');
  29. P.SourcePath.Add('src/$(OS)');
  30. P.SourcePath.Add('src/unix',AllUnixOSes);
  31. P.SourcePath.Add('src/win',AllWindowsOSes);
  32. P.IncludePath.Add('src');
  33. P.IncludePath.Add('src/$(OS)');
  34. P.IncludePath.Add('src/unix',AllUnixOSes);
  35. P.IncludePath.Add('src/win',AllWindowsOSes-[WinCE]);
  36. P.IncludePath.Add('src/dummy',AllOSes);
  37. T:=P.Targets.AddUnit('ascii85.pp');
  38. T:=P.Targets.AddUnit('avl_tree.pp');
  39. T:=P.Targets.AddUnit('base64.pp');
  40. T:=P.Targets.AddUnit('pascodegen.pp');
  41. T:=P.Targets.AddUnit('fpobserver.pp');
  42. T.ResourceStrings:=true;
  43. T:=P.Targets.AddUnit('blowfish.pp');
  44. T.ResourceStrings:=true;
  45. T:=P.Targets.AddUnit('blowfish2.pp');
  46. T.ResourceStrings:=true;
  47. T:=P.Targets.AddUnit('bufstream.pp');
  48. T.ResourceStrings:=true;
  49. T:=P.Targets.AddUnit('cachecls.pp');
  50. T.ResourceStrings:=true;
  51. T:=P.Targets.AddUnit('contnrs.pp');
  52. T.ResourceStrings:=true;
  53. T:=P.Targets.AddUnit('singleinstance.pp');
  54. T:=P.Targets.AddUnit('custapp.pp');
  55. T.ResourceStrings:=true;
  56. with T.Dependencies do
  57. AddUnit('singleinstance');
  58. T:=P.Targets.AddUnit('eventlog.pp');
  59. T.ResourceStrings:=true;
  60. with T.Dependencies do
  61. begin
  62. AddInclude('eventlog.inc');
  63. end;
  64. T:=P.Targets.AddUnit('fptimer.pp',AllWindowsOSes+AllUnixOSes);
  65. T:=P.Targets.AddUnit('gettext.pp');
  66. T:=P.Targets.AddUnit('idea.pp');
  67. T:=P.Targets.AddUnit('inicol.pp');
  68. T.ResourceStrings:=true;
  69. with T.Dependencies do
  70. begin
  71. AddUnit('inifiles');
  72. end;
  73. T:=P.Targets.AddUnit('inifiles.pp');
  74. T.ResourceStrings:=true;
  75. with T.Dependencies do
  76. begin
  77. AddUnit('contnrs');
  78. end;
  79. T:=P.Targets.AddUnit('iostream.pp');
  80. T:=P.Targets.AddUnit('chainstream.pp');
  81. T:=P.Targets.AddUnit('lzwstream.pp');
  82. T:=P.Targets.AddUnit('nullstream.pp');
  83. T.ResourceStrings:=true;
  84. T:=P.Targets.AddUnit('maskutils.pp');
  85. T.ResourceStrings:=true;
  86. T:=P.Targets.AddUnit('pooledmm.pp');
  87. T:=P.Targets.AddUnit('rtfpars.pp');
  88. with T.Dependencies do
  89. begin
  90. AddInclude('rtfdata.inc');
  91. end;
  92. T:=P.Targets.AddUnit('rttiutils.pp');
  93. T:=P.Targets.AddUnit('streamcoll.pp');
  94. T.ResourceStrings:=true;
  95. T:=P.Targets.AddUnit('streamex.pp');
  96. T.ResourceStrings:=true;
  97. T:=P.Targets.AddUnit('streamio.pp');
  98. T.ResourceStrings:=true;
  99. T:=P.Targets.AddUnit('fptemplate.pp');
  100. T.ResourceStrings:=true;
  101. T:=P.Targets.AddUnit('syncobjs.pp',AllOSes-[go32v2,nativent,atari]);
  102. T.ResourceStrings:=true;
  103. T:=P.Targets.AddUnit('uriparser.pp');
  104. T:=P.Targets.AddUnit('wformat.pp');
  105. T:=P.Targets.AddUnit('whtml.pp');
  106. with T.Dependencies do
  107. begin
  108. AddUnit('wformat');
  109. end;
  110. T:=P.Targets.AddUnit('wtex.pp');
  111. with T.Dependencies do
  112. begin
  113. AddUnit('wformat');
  114. end;
  115. T:=P.Targets.AddUnit('fpexprpars.pp');
  116. T.ResourceStrings:=true;
  117. T:=P.Targets.AddUnit('csvreadwrite.pp');
  118. T:=P.Targets.addUnit('csvdocument.pp');
  119. With T.Dependencies do
  120. begin
  121. AddUnit('csvreadwrite');
  122. AddUnit('contnrs');
  123. end;
  124. T:=P.Targets.addUnit('advancedipc.pp',AllOSes-[atari]);
  125. T.ResourceStrings:=true;
  126. T:=P.Targets.addUnit('advancedsingleinstance.pas',AllOSes-[atari]);
  127. T.ResourceStrings:=true;
  128. T:=P.Targets.AddUnit('fpthreadpool.pp',AllOSes-[go32v2,nativent,atari]);
  129. T.Dependencies.AddUnit('syncobjs');
  130. T.ResourceStrings:=true;
  131. // Additional sources
  132. P.Sources.AddSrcFiles('src/win/fclel.*', P.Directory);
  133. // Install windows resources
  134. P.InstallFiles.Add('src/win/fclel.res',AllWindowsOSes,'$(unitinstalldir)');
  135. T:=P.Targets.addUnit('basenenc.pp');
  136. // Examples
  137. P.ExamplePath.Add('examples');
  138. T:=P.Targets.AddExampleProgram('asiotest.pp');
  139. T:=P.Targets.AddExampleProgram('b64dec.pp');
  140. T:=P.Targets.AddExampleProgram('b64enc.pp');
  141. T:=P.Targets.AddExampleProgram('b64.pp');
  142. T:=P.Targets.AddExampleProgram('b64test2.pp');
  143. T:=P.Targets.AddExampleProgram('b64test.pp');
  144. T:=P.Targets.AddExampleProgram('base64decodingtestcase.pas');
  145. T:=P.Targets.AddExampleProgram('cachetest.pp');
  146. T:=P.Targets.AddExampleProgram('cfgtest.pp');
  147. T:=P.Targets.AddExampleProgram('debugtest.pp');
  148. T:=P.Targets.AddExampleProgram('doecho.pp');
  149. T:=P.Targets.AddExampleProgram('dparser.pp');
  150. T:=P.Targets.AddExampleProgram('dsockcli.pp');
  151. T:=P.Targets.AddExampleProgram('dsocksvr.pp');
  152. T:=P.Targets.AddExampleProgram('fpdoc.dtd');
  153. T:=P.Targets.AddExampleProgram('fstream.pp');
  154. T:=P.Targets.AddExampleProgram('htdump.pp');
  155. T:=P.Targets.AddExampleProgram('isockcli.pp');
  156. T:=P.Targets.AddExampleProgram('isocksvr.pp');
  157. T:=P.Targets.AddExampleProgram('istream.pp');
  158. T:=P.Targets.AddExampleProgram('list.pp');
  159. T:=P.Targets.AddExampleProgram('mstream.pp');
  160. T:=P.Targets.AddExampleProgram('poolmm1.pp');
  161. T:=P.Targets.AddExampleProgram('poolmm2.pp');
  162. T:=P.Targets.AddExampleProgram('restest.pp');
  163. T:=P.Targets.AddExampleProgram('sockcli.pp');
  164. T:=P.Targets.AddExampleProgram('socksvr.pp');
  165. T:=P.Targets.AddExampleProgram('sstream.pp');
  166. T:=P.Targets.AddExampleProgram('stringl.pp');
  167. T:=P.Targets.AddExampleProgram('tarmakerconsgzip.pas');
  168. T:=P.Targets.AddExampleProgram('tarmakercons.pas');
  169. T:=P.Targets.AddExampleProgram('testapp.pp');
  170. T:=P.Targets.AddExampleProgram('testbf.pp');
  171. T:=P.Targets.AddExampleProgram('testbs.pp');
  172. T:=P.Targets.AddExampleProgram('testcgi.pp');
  173. T:=P.Targets.AddExampleProgram('testcont.pp');
  174. T:=P.Targets.AddExampleProgram('testez.pp');
  175. T:=P.Targets.AddExampleProgram('testhres.pp');
  176. T:=P.Targets.AddExampleProgram('testnres.pp');
  177. T:=P.Targets.AddExampleProgram('testol.pp');
  178. T:=P.Targets.AddExampleProgram('testproc.pp');
  179. T:=P.Targets.AddExampleProgram('testreg.pp');
  180. T:=P.Targets.AddExampleProgram('testrhre.pp');
  181. T:=P.Targets.AddExampleProgram('testrnre.pp');
  182. T:=P.Targets.AddExampleProgram('testrsre.pp');
  183. T:=P.Targets.AddExampleProgram('testrtf.pp');
  184. T:=P.Targets.AddExampleProgram('testser.pp');
  185. T:=P.Targets.AddExampleProgram('testsres.pp');
  186. T:=P.Targets.AddExampleProgram('testtimer.pp');
  187. T:=P.Targets.AddExampleProgram('testunzip.pp');
  188. T:=P.Targets.AddExampleProgram('testur.pp');
  189. T:=P.Targets.AddExampleProgram('testweb.pp');
  190. T:=P.Targets.AddExampleProgram('testz2.pp');
  191. T:=P.Targets.AddExampleProgram('testzip.pp');
  192. T:=P.Targets.AddExampleProgram('testz.pp');
  193. T:=P.Targets.AddExampleProgram('threads.pp');
  194. T:=P.Targets.AddExampleProgram('tidea.pp');
  195. T:=P.Targets.AddExampleProgram('tstelcmd.pp');
  196. T:=P.Targets.AddExampleProgram('tstelgtk.pp');
  197. T:=P.Targets.AddExampleProgram('txmlreg.pp');
  198. T:=P.Targets.AddExampleProgram('xmldump.pp');
  199. T:=P.Targets.AddExampleProgram('testthreadpool.pp');
  200. // example data files.
  201. // README
  202. // kword.xml
  203. // overview.rtf
  204. // simple.xml
  205. // parser.dat
  206. // testcgi.html
  207. P.NamespaceMap:='namespaces.lst';
  208. {$ifndef ALLPACKAGES}
  209. Run;
  210. end;
  211. end.
  212. {$endif ALLPACKAGES}