From: Andreas H. <ah...@us...> - 2004-04-25 19:10:48
|
Update of /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23284/install/JVCLInstall Modified Files: CmdLineUtils.pas Compile.pas JVCLInstall.dof PackageUtils.pas Log Message: now the installer known about JCL dependencies Index: JVCLInstall.dof =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/JVCLInstall.dof,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** JVCLInstall.dof 12 Apr 2004 08:10:24 -0000 1.4 --- JVCLInstall.dof 25 Apr 2004 10:44:42 -0000 1.5 *************** *** 1,6 **** --- 1,125 ---- + [FileVersion] + Version=7.0 + [Compiler] + A=8 + B=0 + C=1 + D=1 + E=0 + F=0 + G=1 + H=1 + I=1 + J=0 + K=0 + L=1 + M=0 + N=1 + O=1 + P=1 + Q=0 + R=0 + S=0 + T=0 + U=0 + V=1 + W=0 + X=1 + Y=1 + Z=1 + ShowHints=1 + ShowWarnings=1 + UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + NamespacePrefix= + SymbolDeprecated=1 + SymbolLibrary=1 + SymbolPlatform=1 + UnitLibrary=1 + UnitPlatform=1 + UnitDeprecated=1 + HResultCompat=1 + HidingMember=1 + HiddenVirtual=1 + Garbage=1 + BoundsError=1 + ZeroNilCompat=1 + StringConstTruncated=1 + ForLoopVarVarPar=1 + TypedConstVarPar=1 + AsgToTypedConst=1 + CaseLabelRange=1 + ForVariable=1 + ConstructingAbstract=1 + ComparisonFalse=1 + ComparisonTrue=1 + ComparingSignedUnsigned=1 + CombiningSignedUnsigned=1 + UnsupportedConstruct=1 + FileOpen=1 + FileOpenUnitSrc=1 + BadGlobalSymbol=1 + DuplicateConstructorDestructor=1 + InvalidDirective=1 + PackageNoLink=1 + PackageThreadVar=1 + ImplicitImport=1 + HPPEMITIgnored=1 + NoRetVal=1 + UseBeforeDef=1 + ForLoopVarUndef=1 + UnitNameMismatch=1 + NoCFGFileFound=1 + MessageDirective=1 + ImplicitVariants=1 + UnicodeToLocale=1 + LocaleToUnicode=1 + ImagebaseMultiple=1 + SuspiciousTypecast=1 + PrivatePropAccessor=1 + UnsafeType=1 + UnsafeCode=1 + UnsafeCast=1 + [Linker] + MapFile=3 + OutputObjs=0 + ConsoleApp=1 + DebugInfo=0 + RemoteSymbols=0 + MinStackSize=16384 + MaxStackSize=1048576 + ImageBase=4194304 + ExeDescription= [Directories] OutputDir=..\..\bin UnitOutputDir=..\..\dcu + PackageDLLOutputDir= + PackageDCPOutputDir= + SearchPath= + Packages= Conditionals=NO_JCL + DebugSourceDirs= + UsePackages=0 [Parameters] RunParams=--ignore-ide --keep-files + HostApplication= + Launcher= + UseLauncher=0 + DebugCWD= + [Language] + ActiveLang= + ProjectLang= + RootDir= + [Version Info] + IncludeVerInfo=0 + AutoIncBuild=0 + MajorVer=1 + MinorVer=0 + Release=0 + Build=0 + Debug=0 + PreRelease=0 + Special=0 + Private=0 + DLL=0 + Locale=1031 + CodePage=1252 Index: CmdLineUtils.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/CmdLineUtils.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CmdLineUtils.pas 9 Apr 2004 22:22:32 -0000 1.1 --- CmdLineUtils.pas 25 Apr 2004 10:44:42 -0000 1.2 *************** *** 79,83 **** AddSpace; AddDir('--jcl-path=', 'Set the JCL root directory to X.', FJclPath); ! AddBool('--keep-files', 'Do not display BCB versions.', FKeepFiles); AddBool('--autoupdate', 'Updates all IDEs where JVCL 3 is installed.', FAutoUpdate); AddSpace; --- 79,83 ---- AddSpace; AddDir('--jcl-path=', 'Set the JCL root directory to X.', FJclPath); ! AddBool('--keep-files', 'Do not call "clean".', FKeepFiles); AddBool('--autoupdate', 'Updates all IDEs where JVCL 3 is installed.', FAutoUpdate); AddSpace; Index: PackageUtils.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/PackageUtils.pas,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PackageUtils.pas 9 Apr 2004 22:22:32 -0000 1.2 --- PackageUtils.pas 25 Apr 2004 10:44:42 -0000 1.3 *************** *** 77,82 **** FSourceName: string; FInfo: TPackageInfo; ! FJvDependencies: TStringList; // Strings[]: "JvXxxx-"[D|R] | "JvQXxxx-"[D|R] ! // Objects[]: TRequiredPackage FCompile: Boolean; FInstall: Boolean; --- 77,84 ---- FSourceName: string; FInfo: TPackageInfo; ! FJvDependencies: TStringList; // Strings[]: "JvXxxx-"[D|R] | "JvQXxxx-"[D|R] ! // Objects[]: TRequiredPackage ! FJclDependencies: TStringList; // Strings[]: "JvXxxx-"[D|R] | "JvQXxxx-"[D|R] ! // Objects[]: TRequiredPackage FCompile: Boolean; FInstall: Boolean; *************** *** 110,113 **** --- 112,116 ---- property Info: TPackageInfo read FInfo; property JvDependencies: TStringList read FJvDependencies; + property JclDependencies: TStringList read FJclDependencies; // In contrast to Info.Xxx these properties only returns the *************** *** 499,502 **** --- 502,507 ---- FJvDependencies := TStringList.Create; FJvDependencies.Sorted := True; + FJclDependencies := TStringList.Create; + FJclDependencies.Sorted := True; FCompile := True; *************** *** 510,523 **** FContaineList.Free; FJvDependencies.Free; // FInfo is buffered and is destroyed by XmlFileCache inherited Destroy; end; - /// <summary> - /// GetDependencies obtains the JVCL (JvXxx) dependencies from the PackageInfo - /// data. Only the JvXxx packages that are for this target are added to the - /// JvDependencies list. All items in JvDependencies are physical files and - /// are a valid JVCL target. - /// </summary> function TPackageTarget.FindRuntimePackage: TPackageTarget; begin --- 515,523 ---- FContaineList.Free; FJvDependencies.Free; + FJclDependencies.Free; // FInfo is buffered and is destroyed by XmlFileCache inherited Destroy; end; function TPackageTarget.FindRuntimePackage: TPackageTarget; begin *************** *** 537,540 **** --- 537,548 ---- end; + /// <summary> + /// GetDependencies obtains the JVCL (JvXxx) and JCL ([D|C]JCLxx) dependencies + /// from the PackageInfo data. Only the JvXxx packages that are for this target + /// are added to the JvDependencies list. And only the [D|C]JCLxxx packages are + /// added to the JclDependencies list that are for this target. All items in + /// JvDependencies are physical files and are a valid JVCL target. All items in + /// JclDependencies must not be physical files. + /// </summary> procedure TPackageTarget.GetDependencies; var *************** *** 544,548 **** for i := 0 to Info.RequireCount - 1 do begin ! if StartsWith(Info.Requires[i].Name, 'Jv', True) then begin if FileExists(Info.FXmlDir + '\' + Info.Requires[i].Name + '.xml') and // do not localize --- 552,557 ---- for i := 0 to Info.RequireCount - 1 do begin ! // JVCL dependencies ! if StartsWith(Info.Requires[i].Name, 'Jv', True) then // do not localize begin if FileExists(Info.FXmlDir + '\' + Info.Requires[i].Name + '.xml') and // do not localize *************** *** 552,555 **** --- 561,572 ---- FJvDependencies.AddObject(Info.Requires[i].Name, Info.Requires[i]); end; + end + else + // is it a JCL dependency + if StartsWith(Info.Requires[i].Name, 'DJcl', True) or // do not localize + StartsWith(Info.Requires[i].Name, 'CJcl', True) then // do not localize + begin + if Info.Requires[i].IsRequiredByTarget(Owner.TargetConfig) then + FJclDependencies.AddObject(Info.Requires[i].Name, Info.Requires[i]); end; end; Index: Compile.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/Compile.pas,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Compile.pas 23 Apr 2004 22:36:58 -0000 1.14 --- Compile.pas 25 Apr 2004 10:44:42 -0000 1.15 *************** *** 83,86 **** --- 83,87 ---- procedure CaptureLine(const Line: string; var Aborted: Boolean); virtual; + procedure CaptureLineClean(const Line: string; var Aborted: Boolean); virtual; procedure CaptureLineGetCompileCount(const Line: string; var Aborted: Boolean); procedure CaptureLinePackageCompilation(const Line: string; var Aborted: Boolean); *************** *** 225,228 **** --- 226,235 ---- end; + procedure TJVCLCompiler.CaptureLineClean(const Line: string; var Aborted: Boolean); + begin + if StartsWith('[', Line) then + CaptureLine(Line, Aborted); + end; + procedure TJVCLCompiler.CaptureLineGetCompileCount(const Line: string; var Aborted: Boolean); begin *************** *** 561,565 **** if Result or not CmdOptions.KeepFiles then ! Make(TargetConfig, FQuiet + ' Clean', CaptureLine); if Result then CaptureLine('[Finished JVCL for VCL installation]', Aborted); --- 568,572 ---- if Result or not CmdOptions.KeepFiles then ! Make(TargetConfig, FQuiet + ' Clean', CaptureLineClean); if Result then CaptureLine('[Finished JVCL for VCL installation]', Aborted); *************** *** 580,584 **** if Result or not CmdOptions.KeepFiles then ! Make(TargetConfig, FQuiet + ' Clean', CaptureLine); if Result then CaptureLine('[Finished JVCL for CLX installation]', Aborted); --- 587,591 ---- if Result or not CmdOptions.KeepFiles then ! Make(TargetConfig, FQuiet + ' Clean', CaptureLineClean); if Result then CaptureLine('[Finished JVCL for CLX installation]', Aborted); *************** *** 840,843 **** --- 847,852 ---- Lines.Add(Format('.path.bpl = %s;%s', [ProjectGroup.TargetConfig.BplDir, ProjectGroup.TargetConfig.DcpDir])); + Lines.Add(Format('.path.dcp = %s;%s', + [ProjectGroup.TargetConfig.BplDir, ProjectGroup.TargetConfig.DcpDir])); Lines.Add(''); // add files like jvcl.inc *************** *** 871,874 **** --- 880,889 ---- ProjectGroup.FindPackagebyXmlName(Pkg.JvDependencies[depI]).TargetName; + // add JCL dependencies + for depI := 0 to Pkg.JclDependencies.Count - 1 do + Dependencies := Dependencies + '\' + sLineBreak + #9#9 + + Pkg.JclDependencies[depI] + '.dcp'; + + if AutoDepend then begin |