From 71688e72efe39482a9bdae2d229f674d9f59ff1b Mon Sep 17 00:00:00 2001 From: peter <peter@freepascal.org> Date: Sat, 26 Jan 2008 16:39:28 +0000 Subject: [PATCH] * update convertmk to generate a valid fpmake.pp * never overwrite existing fpmake.pp git-svn-id: trunk@9938 - --- utils/fppkg/pkgmessages.pp | 1 + utils/fppkg/pkgmkconv.pp | 25 ++++++++++++++----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/utils/fppkg/pkgmessages.pp b/utils/fppkg/pkgmessages.pp index 926703f586..4658c762c3 100644 --- a/utils/fppkg/pkgmessages.pp +++ b/utils/fppkg/pkgmessages.pp @@ -39,6 +39,7 @@ Resourcestring SErrChangeDirFailed = 'Could not change directory to "%s"'; SErrCorruptPackagesFile = 'Packages file "%s" is corrupt, delete file manual and retry'; SErrPackageIsLocal = 'Operation not supported for local packages'; + SErrConvertFPMakeExists = 'Found existing fpmake.pp, aborting conversion'; SErrHTTPGetFailed = 'HTTP Download failed.'; SErrLoginFailed = 'FTP LOGIN command failed.'; diff --git a/utils/fppkg/pkgmkconv.pp b/utils/fppkg/pkgmkconv.pp index 18bc16aa44..bd5db38321 100644 --- a/utils/fppkg/pkgmkconv.pp +++ b/utils/fppkg/pkgmkconv.pp @@ -126,6 +126,7 @@ begin Add('uses fpmkunit;'); Add(''); Add('Var'); + Add(' P : TPackage;'); Add(' T : TTarget;'); Add(''); Add('begin'); @@ -204,21 +205,21 @@ begin Add(' { '); Add(' '+FPackageName); Add(' } '); - Add(' StartPackage('''+FPackageName+''');'); + Add(' P:=AddPackage('''+FPackageName+''');'); If (Dir<>'') then - Add(' Directory:='''+ExcludeTrailingPathDelimiter(Dir)+''';'); + Add(' P.Directory:='''+ExcludeTrailingPathDelimiter(Dir)+''';'); If (OS<>'') and (OS<>'all') then - Add(' OS:=['+OS+'];'); + Add(' P.OS:=['+OS+'];'); If (FPackageVersion<>'') then - Add(' Version:='''+FPackageVersion+''';'); + Add(' P.Version:='''+FPackageVersion+''';'); If (FPackageOptions<>'') then - Add(' Options:='''+FPackageOptions+''';'); + Add(' P.Options:='''+FPackageOptions+''';'); If (FPackageDeps<>'') then begin S:=GetWord(FPackageDeps); While S<>'' do begin - Add(' Dependencies.Add('''+S+''');'); + Add(' P.Dependencies.Add('''+S+''');'); S:=GetWord(FPackageDeps); end; end; @@ -228,7 +229,6 @@ end; procedure TMakeFileConverter.EndPackage(Src : TStrings; Dir,OS : String); begin - Src.add(' EndPackage;'); FPackageName:=''; FPackageVersion:=''; FPackageOptions:=''; @@ -502,7 +502,7 @@ begin Res:=R.IndexOfName(N)<>-1; GetOSCPU(V,OS,CPU); Pre[1]:=Upcase(Pre[1]); - Src.Add(' T:=Targets.Add'+Pre+'('''+Prefix+N+''');'); + Src.Add(' T:=P.Targets.Add'+Pre+'('''+Prefix+N+''');'); If (CPU<>'') then Src.Add(' T.CPU:=['+CPU+'];'); If (OS<>'') then @@ -553,7 +553,7 @@ begin IFL.GetNamevalue(I,N,V); GetOSCPU(V,OS,CPU); WriteOSCPUCheck(Src,OS,CPU); - Src.add(' InstallFiles.Add('''+N+''');'); + Src.add(' P.InstallFiles.Add('''+N+''');'); end; end; @@ -571,7 +571,7 @@ begin CFL.GetNamevalue(I,N,V); GetOSCPU(V,OS,CPU); WriteOSCPUCheck(Src,OS,CPU); - Src.add(' CleanFiles.Add('''+N+''');'); + Src.add(' P.CleanFiles.Add('''+N+''');'); end; end; @@ -698,7 +698,10 @@ end; function TMakeFileConverter.Execute(const Args:TActionArgs):boolean; begin - ConvertFile('Makefile.fpc','fpmake.pp'); + if not FileExists('fpmake.pp') then + ConvertFile('Makefile.fpc','fpmake.pp') + else + Error(SErrConvertFPMakeExists); result:=true; end;