PkgGen.dpr 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. { $HDR$}
  2. {**********************************************************************}
  3. { Unit archived using Team Coherence }
  4. { Team Coherence is Copyright 2002 by Quality Software Components }
  5. { }
  6. { For further information / comments, visit our WEB site at }
  7. { http://www.TeamCoherence.com }
  8. {**********************************************************************}
  9. {}
  10. { $Log: 55378: PkgGen.dpr
  11. {
  12. { Rev 1.17 3/28/2005 5:53:16 AM JPMugaas
  13. { New security package.
  14. }
  15. {
  16. { Rev 1.16 3/3/2005 7:46:22 PM JPMugaas
  17. { Backdoors for BDS assembly version information.
  18. }
  19. {
  20. { Rev 1.15 25/11/2004 8:10:22 AM czhower
  21. { Removed D4, D8, D10, D11
  22. }
  23. {
  24. { Rev 1.14 2004.11.14 10:35:34 AM czhower
  25. { Update
  26. }
  27. {
  28. { Rev 1.13 12/10/2004 15:39:38 HHariri
  29. { Fixes for VS
  30. }
  31. {
  32. { Rev 1.12 9/7/2004 3:50:46 PM JPMugaas
  33. { Updates.
  34. }
  35. {
  36. { Rev 1.11 04/09/2004 12:45:18 ANeillans
  37. { Moved the databasename and output paths into a globally accessible variable
  38. { -- makes it a lot easier to override if you need to (as I did for my local
  39. { file structure).
  40. }
  41. {
  42. { Rev 1.10 2004.08.30 11:27:54 czhower
  43. { Updates
  44. }
  45. {
  46. { Rev 1.9 2004.06.13 8:06:10 PM czhower
  47. { Update for D8
  48. }
  49. {
  50. { Rev 1.8 6/10/2004 6:55:36 PM JPMugaas
  51. { Bug fix, filtered was not true when it should've been causing units to be
  52. { added to the wrong packages. This was a bug I introduced. Sorry.
  53. }
  54. {
  55. { Rev 1.7 09/06/2004 12:06:54 CCostelloe
  56. { Added Kylix 3
  57. }
  58. {
  59. { Rev 1.6 6/8/2004 3:52:54 PM JPMugaas
  60. { FTP List generation should work.
  61. }
  62. {
  63. { Rev 1.5 6/8/2004 2:16:36 PM JPMugaas
  64. { Now does the FTP List parser listing unit.
  65. }
  66. {
  67. { Rev 1.4 02/06/2004 17:00:44 HHariri
  68. { design-time added
  69. }
  70. {
  71. { Rev 1.3 2004.05.19 10:01:54 AM czhower
  72. { Updates
  73. }
  74. {
  75. { Rev 1.2 2004.01.22 8:17:58 PM czhower
  76. { Updates
  77. }
  78. program PkgGen;
  79. {$APPTYPE CONSOLE}
  80. uses
  81. Classes,
  82. {$IFDEF WIN32}
  83. Windows,
  84. {$ENDIF}
  85. DB,
  86. SysUtils,
  87. Package in 'Package.pas',
  88. PackageVisualStudio in 'PackageVisualStudio.pas',
  89. PackageD8Master in 'PackageD8Master.pas',
  90. PackageSystem in 'PackageSystem.pas',
  91. PackageSuperCore in 'PackageSuperCore.pas',
  92. PackageCore in 'PackageCore.pas',
  93. PackageProtocols in 'PackageProtocols.pas',
  94. PackageFTPParsers in 'PackageFTPParsers.pas',
  95. PackageSecurity in 'PackageSecurity.pas',
  96. PackageBuildRes in 'PackageBuildRes.pas',
  97. PackageVersInc in 'PackageVersInc.pas',
  98. PackageCleanCmd in 'PackageCleanCmd.pas',
  99. PackageLazarus in 'PackageLazarus.pas',
  100. DModule in 'DModule.pas';
  101. procedure Main;
  102. var
  103. LDebugFlag: TGenerateFlags;
  104. begin
  105. DM := TDM.Create(nil); try
  106. with DM do begin
  107. WriteLn('INI Path: ' + Ini.FileName );
  108. if FindCmdLineSwitch('checkini') then begin
  109. WriteLn('Checking for missing files to add to INI...');
  110. CheckForMissingFiles;
  111. Exit;
  112. end;
  113. InitVersionNumbers;
  114. LDebugFlag := [];
  115. if FindCmdLineSwitch('debugPkgs') then begin
  116. Include(LDebugFlag, gfDebug);
  117. WriteLn('Will Generate Debug Packages');
  118. end else begin
  119. WriteLn('Will Not Generate Debug Packages');
  120. end;
  121. WriteLn;
  122. WriteLn('Generating Visual Studio Package...');
  123. with TPackageVisualStudio.Create do try
  124. Load('DotNet=True, DesignUnit=False', True);
  125. Generate(ctDotNet);
  126. Load('DotNet=True, DesignUnit=False', True);
  127. Generate(ctDotNet, [gfDebug]{LDebugFlag});
  128. finally Free; end;
  129. WriteLn('Generating Lazarus Package...');
  130. with TPackageLazarus.Create do try
  131. // nothing to load from the database...
  132. //Load('FPC=True, FPCListInPkg=True');
  133. Generate(ctUnversioned, []{LDebugFlag});
  134. finally Free; end;
  135. WriteLn('Generating D8 Master Package...');
  136. with TPackageD8Master.Create do try
  137. Load('DelphiDotNet=True, DesignUnit=False', True);
  138. Generate(Delphi_DotNet, LDebugFlag);
  139. finally Free; end;
  140. WriteLn('Generating System Package...');
  141. with TPackageSystem.Create do try
  142. Load('VCL=True, Pkg=System, DesignUnit=False');
  143. Generate(Delphi_Native, LDebugFlag);
  144. //
  145. Load('DelphiDotNet=True, DotNet2_0OrAboveOnly=False, Pkg=System, DesignUnit=False');
  146. Generate(Delphi_DotNet_1_1, LDebugFlag);
  147. //
  148. Load('DelphiDotNet=True, Pkg=System, DesignUnit=False');
  149. Generate(Delphi_DotNet_2_Or_Later, LDebugFlag);
  150. //
  151. Load('Kylix=True, Pkg=System');
  152. Generate(ctKylix3, LDebugFlag);
  153. //
  154. GenerateRC([ctUnversioned] + Delphi_Native, [gfRunTime, gfDesignTime] + LDebugFlag);
  155. finally Free; end;
  156. WriteLn('Generating Core Package...');
  157. with TPackageCore.Create do try
  158. Load('VCL=True, Pkg=Core, DesignUnit=False');
  159. Generate(Delphi_Native, LDebugFlag);
  160. //
  161. Load('DelphiDotNet=True, DotNet2_0OrAboveOnly=False, Pkg=Core, DesignUnit=False');
  162. Generate(Delphi_DotNet_1_1, LDebugFlag);
  163. //
  164. Load('DelphiDotNet=True, Pkg=Core, DesignUnit=False');
  165. Generate(Delphi_DotNet_2_Or_Later, LDebugFlag);
  166. //
  167. Load('Kylix=True, Pkg=Core, DesignUnit=False');
  168. Generate(ctKylix3, LDebugFlag);
  169. //
  170. Load('VCL=True, Pkg=Core, DesignUnit=True');
  171. Generate(Delphi_Native, [gfDesignTime] + LDebugFlag);
  172. //
  173. Load('DelphiDotNet=True, Pkg=Core, DesignUnit=True');
  174. Generate(Delphi_DotNet, [gfDesignTime] + LDebugFlag);
  175. //
  176. Load('Kylix=True, Pkg=Core, DesignUnit=True');
  177. Generate(ctKylix3, [gfDesignTime] + LDebugFlag);
  178. //
  179. GenerateRC([ctUnversioned] + Delphi_Native, [gfRunTime, gfDesignTime] + LDebugFlag);
  180. GenerateDsnCoreResourceStrings;
  181. finally Free; end;
  182. WriteLn('Generating Protocols Package...');
  183. with TPackageProtocols.Create do try
  184. Load('VCL=True, Pkg=Protocols, DesignUnit=False');
  185. Generate(Delphi_Native, LDebugFlag);
  186. //
  187. Load('DelphiDotNet=True, DotNet2_0OrAboveOnly=False, Pkg=Protocols, DesignUnit=False');
  188. Generate(Delphi_DotNet_1_1, LDebugFlag);
  189. //
  190. Load('DelphiDotNet=True, Pkg=Protocols, DesignUnit=False');
  191. Generate(Delphi_DotNet_2_Or_Later, LDebugFlag);
  192. //
  193. Load('Kylix=True, Pkg=Protocols, DesignUnit=False');
  194. Generate(ctKylix3, LDebugFlag);
  195. //
  196. Load('VCL=True, Pkg=Protocols, DesignUnit=True');
  197. Generate(Delphi_Native, [gfDesignTime] + LDebugFlag);
  198. //
  199. Load('DelphiDotNet=True, DotNet2_0OrAboveOnly=False, Pkg=Protocols, DesignUnit=True');
  200. Generate(Delphi_DotNet_1_1, [gfDesignTime] + LDebugFlag);
  201. //
  202. Load('DelphiDotNet=True, Pkg=Protocols, DesignUnit=True');
  203. Generate(Delphi_DotNet_2_Or_Later, [gfDesignTime] + LDebugFlag);
  204. //
  205. Load('Kylix=True, Pkg=Protocols, DesignUnit=True');
  206. Generate(ctKylix3, [gfDesignTime] + LDebugFlag);
  207. //
  208. GenerateRC([ctUnversioned] + Delphi_Native, [gfRunTime, gfDesignTime] + LDebugFlag);
  209. finally Free; end;
  210. WriteLn('Generating Security Package...');
  211. with TPackageSecurity.Create do try
  212. //We are not going to support the Security package in NET 2.0.
  213. Load('DelphiDotNet=True, Pkg=Security, DesignUnit=False');
  214. Generate(Delphi_DotNet_1_1, LDebugFlag);
  215. //
  216. Load('DelphiDotNet=True, Pkg=Security, DesignUnit=True');
  217. Generate(Delphi_DotNet_1_1, [gfDesignTime] + LDebugFlag);
  218. finally Free; end;
  219. WriteLn('Generating SuperCore Package...');
  220. with TPackageSuperCore.Create do try
  221. Load('VCL=True, Pkg=SuperCore');
  222. Generate(ctDelphi7, LDebugFlag);
  223. finally Free; end;
  224. WriteLn('Generating FTP Parsers unit...');
  225. // FTP Parsers
  226. with TFTPParsers.Create do try
  227. Load('VCL=True, Pkg=Protocols, FTPParser=True, DesignUnit=False');
  228. Generate(ctUnversioned, LDebugFlag);
  229. finally Free; end;
  230. WriteLn('Generating Version include files...');
  231. with TVersInc.Create do try
  232. // nothing to load from the database...
  233. Generate(ctUnversioned, [gfRunTime, gfDesignTime, gfTemplate]);
  234. finally Free; end;
  235. WriteLn('Generating Resource files...');
  236. with TBuildRes.Create do try
  237. // nothing to load from the database...
  238. Generate(Delphi_Native);
  239. finally Free; end;
  240. WriteLn('Generating Clean.cmd scripts...');
  241. with TCleanCmd.Create do try
  242. // nothing to load from the database...
  243. Generate([ctDelphiXE3..Delphi_Native_Highest]);
  244. finally Free; end;
  245. // TODO: generate FULLC_xxx.bat scripts...
  246. end;
  247. finally
  248. FreeAndNil(DM);
  249. end;
  250. end;
  251. begin
  252. try
  253. Main;
  254. except
  255. on E: Exception do begin
  256. WriteLn(E.Message);
  257. // raise;
  258. end;
  259. end;
  260. WriteLn;
  261. WriteLn('Done! Press ENTER to exit...');
  262. ReadLn;
  263. end.