From 354fd8f94cd42105d92a98ffb32b99364a2e0146 Mon Sep 17 00:00:00 2001 From: LongDirtyAnimAlf Date: Sun, 18 Aug 2019 09:38:08 +0200 Subject: [PATCH] Removal of intermediate compiler logic. --- fpcup.ini | 29 +-- fpcupdeluxe.res | Bin 187700 -> 179616 bytes fpcupdeluxemainform.pas | 8 +- fpcupdeluxeremote.lpi | 3 +- installerfpc.pas | 232 +----------------- .../{netbsdtrunk.patch => netbsdfixes.patch} | 113 +++++---- 6 files changed, 83 insertions(+), 302 deletions(-) rename patchfpc/{netbsdtrunk.patch => netbsdfixes.patch} (51%) diff --git a/fpcup.ini b/fpcup.ini index 39bb7aa4..7272842e 100755 --- a/fpcup.ini +++ b/fpcup.ini @@ -61,7 +61,7 @@ embedded=https://svn.freepascal.org/svn/fpc/branches/laksen mips=https://svn.freepascal.org/svn/fpc/branches/mips_embedded [ALIASlazURL] -stable=https://svn.freepascal.org/svn/lazarus/tags/lazarus_2_0_2 +stable=https://svn.freepascal.org/svn/lazarus/tags/lazarus_2_0_4 trunk=https://svn.freepascal.org/svn/lazarus/trunk trunkgit=https://github.com/graemeg/lazarus.git embedded=https://github.com/LongDirtyAnimAlf/lazarus.git @@ -405,16 +405,10 @@ Workingdir=$(lazarusdir)/tools InstallExecute1=$(lazarusdir)/lazbuild --primary-config-path=$(LazarusPrimaryConfigPath) $(lazarusdir)/tools/lazres.lpi [FPCUPModule24] -Name=rutils -Description="RUtils offers some general purpose routines on string conversions, parsings, encodings and others." +Name=lazrestbridge +Description="Lazarus support for the SQLDB REST Bridge." Enabled=0 -Installdir=$(basedir)/ccr/$(name) -GITURL=https://github.com/silvioprog/rutils -ArchiveURL=https://github.com/silvioprog/rutils/archive/master.zip -; package is runtime only -; AddPackage=$(Installdir)/pkg/rutilspkg.lpk -InstallExecute1=$(lazarusdir)/lazbuild --primary-config-path=$(LazarusPrimaryConfigPath) $(Installdir)/pkg/rutilspkg.lpk -UnInstall1=rm -Rf $(Installdir) +AddPackage=$(lazarusdir)/components/fpweb/lazsqldbrest.lpk [FPCUPModule25] ; Create Lazarus Windows installer @@ -1844,12 +1838,6 @@ AddPackageLink3=$(Installdir)/ibexpress.lpk AddPackage=$(Installdir)/ibcontrols.lpk UnInstall=rm -Rf $(Installdir) -[FPCUPModule190] -Name=lazrestbridge -Description="Lazarus support for the SQLDB REST Bridge." -Enabled=0 -AddPackage=$(lazarusdir)/components/fpweb/lazsqldbrest.lpk - [FPCUPModule191] Name=mapviewer Description="Lazarus mapviewer." @@ -1898,3 +1886,12 @@ GITURL=https://github.com/eugeneilyin/mORMotBP ArchiveURL=https://github.com/eugeneilyin/mORMotBP/archive/master.zip UnInstall=rm -Rf $(Installdir) +[FPCUpModule196] +Name=ezthreads +Description="Simple to use threading library." +Installdir=$(basedir)/ccr/$(name) +Enabled=0 +GITURL=https://github.com/mr-highball/ezthreads +ArchiveURL=https://github.com/mr-highball/ezthreads/archive/master.zip +UnInstall=rm -Rf $(Installdir) + diff --git a/fpcupdeluxe.res b/fpcupdeluxe.res index 31b6f382786270452a163520e2c4a52e1e272612..31beee07492c4b705c7255f3d58d753491374911 100644 GIT binary patch delta 206 zcmdn8i+jOut_cc^_ckidV3Sv{$;r=44@fM@a4b(OO0`Q%%qdQ_(T536Hf2+te1%PU z@((r_rr9c+?bsQ48BI1jhm2U``f ZOB8roY-iSG)a-13bA@sHn=4En8~~W-OyU3l delta 8132 zcmb_h&u<&o5ncv`6Vc(RDT1bG`)a5y8H%PXDng*dg=1Mp+(foa$v_GR2v*A_wefOy zv%9k8US1CYf}UD{K%HYxy%Z==IEH~<+WrMaF1ZFs{)`||^SjUe<(Ch~&o^3)joJUs{(6?Zyz=nV zmws}Q<|kzo7p>-%un6)fE2A{Icy4$L7fCuEhj~GYbQ+RLn1s0>lk6nV(jp{z3LhpR zY)VK`=20>sL7Lo!{h*;(Bbg6BB@_55OoDWTKN3F~k+eL9J?GE0n!AaA6hHWoG&-{@ zr?1TZ5S;x1f|-3u&*3kPeD;rzU-|JHpeeZHPeKwEBtJ>Y2*9LCe1G=u$xmC^ok_p) z0DhXSfAP|6{pQ~6KmTpLs0sSFUwe3S_|@l)_1WKV{_XLF)yCIn8s6jnTBGyF&fTAR z-rJt%efM3{yYB6Jhu&rHz`Fwf54~Hk@{ad`ch%eXb{>42Hh%TPyo~!vSRNIl{+@p) z97l2Z;7<=5?_6{UR@!-ZH^PXJ&5iYqL8sO1cDux}^TCDB8b6|gjjheK!GLtx51RvW z=~Am%hqqX5@9*E*eebYCw#jPy+V!1IzY2VDKFf@i=zNp}@58q%D};b-e|Td@`vS!F zGA#<@yMx~y9PaMjx_<4jBh0s&y(7N}Pm<_VtO2Aj&yy5CCs}zv3z;S`0pGsIEC+HG zfOS_^+dDV*_OHFWJM3`qRQdxu##xkNu!#}Xl+EM%`$+>Yu-`0tv+C7cnTEc8DLq#1J9Qr zq&+xc=on<9avpw>aYYG~!zyTsXIRC4pC+LQCTKZHs7$xb)z$VK|3(TaHSb38q65+! z-B04^NFFb;P5D8rMdvfWQ1ii;@sO)l)1wbzrwAS#HRPGd*Am>Q3IbIs0v=eNf1#OG zKB1S3=X71hhWQX=VvkN}ib)N!1$;J526ZyRqY%#(PAi6M0RX-A`1)HU=Rn2Z8s^OaNLP>Vn&Suva3S!;x1#30OW7V znW93`v-(bO+`@mR4Hq)VgH9vLhdYroF0W#BFN#NjpO1jRH!lBn|1FpkhA;%yRP4Ws zC$mE^1v&??mhxTF@oi$ViSbWvfC(qf6`p_!o#ASE<@%ozX*HnMNRB)6^D_wN}xp<03S_*3pVzG*e?oYj@1u+EycKj|Lzpmdz1|0*a0J@ zRfV8~MaejoNfe;v(s-iu7+_1SE6r(%^+aq0);OTsHXSBdBNd8>g-TB^KY|p_vJ#Hv zqk-M&S)-vqW#>@=SUJq|vk+{2J2OXinkr))XX}xQGUU-8D*Zg-oZpaoKhWZo%-dm z2$10g${a2rT&lNp)20T$R?});xNMfmJiES*ecGK$8ab2?S}E~Z5w2MHjjx^K%*l<+!LrkPo~ zSre}%^W&l*rqyEvLOu@ttjq&F&`e=1S)|Y?5sa$Fw@`Iscs|o>HN}{)ja)Y0iYuMH z7)t->UOslf=AuO!snt$64xtdDWvww1E)AQ#6)H`(_BcEZBMR^lpH@nzP7DvL#WhqTmN*n2P|JcPi6qt!x|WfLIZDRiATv{$@gE z7W#`i!p(Eap1k4t+?XLGPq_#!Kue|SD+=VpRmLsvSb;Srb&R37LsY{vny_wbh6&z( z!3KNJ%0gEG>%N+jO-K9m>>0^JkCRZq*Pap30yoc zOz{2+2LeH=58X?pj!$lNA|zG|y;;jyO{x+J^FI_OC{c9~T;YJvxf{~RTrbhO+y>zE z3D1b+!uJPq*UuwAaSj<=gn_kYv1*t^?Ecu7f;ZDiBP)Ry53Gx61TS)r+Kj z{|{h&J`tR%;P0W5-)hMK0h?8nKFj?VAJiJD{DUB(gPV`op_hA*JSDsgn((}`$YiJw o-e24;*X|wNdQ8*-vfL;G - + @@ -23,7 +23,6 @@ - diff --git a/installerfpc.pas b/installerfpc.pas index c696c720..463309db 100755 --- a/installerfpc.pas +++ b/installerfpc.pas @@ -113,7 +113,6 @@ TFPCInstaller = class(TInstaller) private FBinPath: string; // path where generated compiler lives FTargetCompilerName: string; - FIntermediateCompilerName: string; FBootstrapCompiler: string; FBootstrapCompilerDirectory: string; FBootstrapCompilerURL: string; @@ -161,7 +160,6 @@ TFPCInstaller = class(TInstaller) property NativeFPCBootstrapCompiler: boolean read FNativeFPCBootstrapCompiler write FNativeFPCBootstrapCompiler; property TargetCompilerName: string read FTargetCompilerName; - property IntermediateCompilerName: string read FIntermediateCompilerName; function UnInstallModule(ModuleName:string): boolean; override; constructor Create; @@ -613,9 +611,7 @@ function TFPCCrossInstaller.BuildModuleCustom(ModuleName: string): boolean; else //ctBootstrap begin infoln(infotext+'Using the original bootstrapper to compile and build the cross-compiler',etInfo); - if FileExists(ExtractFilePath(FCompiler)+IntermediateCompilerName) - then ChosenCompiler:=ExtractFilePath(FCompiler)+IntermediateCompilerName - else ChosenCompiler:=FCompiler; + ChosenCompiler:=FCompiler; end; s1:=GetCompilerVersion(ChosenCompiler); @@ -2052,7 +2048,6 @@ function TFPCInstaller.InitModule(aBootstrapVersion:string):boolean; {$ENDIF} s,s1:string; aLocalBootstrapVersion,aLocalFPCUPBootstrapVersion:string; - aIntermediateBootstrapCompiler:string; aFPCUPBootstrapURL:string; aDownLoader: TBasicDownLoader; begin @@ -2075,10 +2070,6 @@ function TFPCInstaller.InitModule(aBootstrapVersion:string):boolean; FBootstrapCompiler := IncludeTrailingPathDelimiter(FBootstrapCompilerDirectory)+GetTargetCPUOS+'-'+GetCompilerName(GetTargetCPU); if NOT FileExists(FBootstrapCompiler) then FBootstrapCompiler := IncludeTrailingPathDelimiter(FBootstrapCompilerDirectory)+GetCompilerName(GetTargetCPU); - // if we have previously build an intermediate compiler, use that ! - aIntermediateBootstrapCompiler:=ExtractFilePath(FBootstrapCompiler)+'intermediate_'+GetCompilerName(GetTargetCPU); - if FileExists(aIntermediateBootstrapCompiler) then FBootstrapCompiler:=aIntermediateBootstrapCompiler; - {$IFDEF Darwin} {$IFDEF CPU32} if NOT FileExists(FBootstrapCompiler) then FBootstrapCompiler := IncludeTrailingPathDelimiter(FBootstrapCompilerDirectory)+'ppcuniversal'; @@ -2486,12 +2477,9 @@ function TFPCInstaller.BuildModule(ModuleName: string): boolean; const FPCUPMAGIC=': base settings'; var - bIntermediateNeeded:boolean; - ICSVNCommand:string; RequiredBootstrapVersion:string; RequiredBootstrapVersionLow:string; RequiredBootstrapVersionHigh:string; - RequiredBootstrapBootstrapVersion:string; FPCCfg: string; FPCMkCfg: string; //path+file of fpcmkcfg ConfigText,ConfigTextStore:TStringList; @@ -2499,9 +2487,7 @@ function TFPCInstaller.BuildModule(ModuleName: string): boolean; PlainBinPath: string; //directory above the architecture-dependent FBinDir s:string; TxtFile:Text; - BootstrapDirectory :string; x,y:integer; - rc: integer; VersionSnippet:string; begin result:=inherited; @@ -2535,8 +2521,6 @@ function TFPCInstaller.BuildModule(ModuleName: string): boolean; infoln(s+VersionSnippet, etInfo); end; - bIntermediateNeeded:=false; - // if cross-compiling, skip a lot of code // trust the previous work done by this code for the native installer! if (NOT (Self is TFPCCrossInstaller)) then @@ -2616,30 +2600,6 @@ function TFPCInstaller.BuildModule(ModuleName: string): boolean; end; end; - // if we still do not have the correct bootstrapper, build an intermediate one with the right version to compile the FPC source - // but only if required version >= 2.0.0 (no easy source available online for earlier versions) - if (GetCompilerVersion(FCompiler)<>RequiredBootstrapVersionLow) AND (GetCompilerVersion(FCompiler)<>RequiredBootstrapVersionHigh) AND (GetNumericalVersion(RequiredBootstrapVersion)>=CalculateFullVersion(2,0,0)) then - begin - // we need an intermediate compiler !! - if NOT FileExists(ExtractFilePath(FCompiler)+IntermediateCompilerName) then - begin - bIntermediateNeeded:=true; - end - else - begin - if (GetCompilerVersion(ExtractFilePath(FCompiler)+IntermediateCompilerName)<>RequiredBootstrapVersionLow) AND (GetCompilerVersion(ExtractFilePath(FCompiler)+IntermediateCompilerName)<>RequiredBootstrapVersionHigh) then - begin - bIntermediateNeeded:=true; - end - else - begin - infoln(infotext+'Using available FPC '+GetCompilerVersion(ExtractFilePath(FCompiler)+IntermediateCompilerName)+' intermediate compiler.',etInfo); - FCompiler:=ExtractFilePath(FCompiler)+IntermediateCompilerName; - FBootstrapCompilerOverrideVersionCheck:=False; - end; - end; - end else infoln(infotext+'Available bootstrapper has correct version !',etInfo); - {$IFDEF CPUAARCH64} // we build with >=3.2.0 , while aarch64 is not available for FPC < 3.2.0 FBootstrapCompilerOverrideVersionCheck:=true; @@ -2649,189 +2609,12 @@ function TFPCInstaller.BuildModule(ModuleName: string): boolean; FBootstrapCompilerOverrideVersionCheck:=true; {$ENDIF} - if (bIntermediateNeeded) then - begin - // always build the lowest version allowed - RequiredBootstrapVersion:=RequiredBootstrapVersionLow; - infoln(infotext+'We need to build an FPC ' + RequiredBootstrapVersion + ' intermediate compiler.',etInfo); - - // get the correct binutils (Windows only) - CreateBinutilsList(RequiredBootstrapVersion); - result:=CheckAndGetNeededBinUtils; - //if not result then exit; - - BootstrapDirectory := IncludeTrailingPathDelimiter(FBaseDirectory)+'fpc'+StringReplace(RequiredBootstrapVersion,'.','',[rfReplaceAll,rfIgnoreCase])+'bootstrap'; - - FSVNClient.ModuleName:=ModuleName; - - rc:=-1; - if DirectoryExists(BootstrapDirectory) then - begin - // first cleanout the intermediat bootstrapper in case of .... as the rules prescibe - Processor.Executable := Make; - Processor.CurrentDirectory:=ExcludeTrailingPathDelimiter(BootstrapDirectory); - Processor.Parameters.Clear; - Processor.Parameters.Add('clean'); - if ((FCPUCount>1) AND (NOT FNoJobs)) then Processor.Parameters.Add('--jobs='+IntToStr(FCPUCount)); - Processor.Parameters.Add('FPC='+FCompiler); - Processor.Parameters.Add('--directory='+ExcludeTrailingPathDelimiter(BootstrapDirectory)); - - Processor.Parameters.Add('OS_TARGET='+GetTargetOS); - Processor.Parameters.Add('CPU_TARGET='+GetTargetCPU); - - Processor.Execute; - infoln(infotext+'Cleaned FPC ' + RequiredBootstrapVersion + ' intermediate bootstrap compiler.',etInfo); - - rc := FSVNClient.Execute('info ' + BootstrapDirectory); - if (rc <> 0) then - begin - FSVNClient.Execute('cleanup --non-interactive ' + BootstrapDirectory); - rc := FSVNClient.Execute('info ' + BootstrapDirectory); - end; - end; - - infoln(infotext+'Checking out/updating ' + ModuleName + ' ' + RequiredBootstrapVersion + ' intermediate compiler sources.',etInfo); - - s:=FPCSVNURL+'/fpc/tags/release_'+StringReplace(RequiredBootstrapVersion,'.','_',[rfReplaceAll,rfIgnoreCase]); - if (rc = 0) - then ICSVNCommand:='update --non-interactive --trust-server-cert --quiet' - else ICSVNCommand:='checkout --non-interactive --trust-server-cert --quiet --depth=files ' + s; - - rc := FSVNClient.Execute(ICSVNCommand + ' ' + BootstrapDirectory); - if (rc <> 0) then - begin - // try once again, after a cleanup - rc := FSVNClient.Execute('cleanup --non-interactive ' + BootstrapDirectory); - if (rc = 0) then rc := FSVNClient.Execute(ICSVNCommand + ' ' + BootstrapDirectory); - end; - - // get compiler source - s:=IncludeTrailingPathDelimiter(BootstrapDirectory)+'compiler'; - if (rc = 0) then rc := FSVNClient.Execute('update compiler --non-interactive --trust-server-cert --quiet ' + s); - // try once again - if (rc <> 0) then - begin - FSVNClient.Execute('cleanup --non-interactive ' + s); - rc := FSVNClient.Execute('update compiler --non-interactive --trust-server-cert --quiet ' + s); - end; - - // get rtl source - s:=IncludeTrailingPathDelimiter(BootstrapDirectory)+'rtl'; - if (rc = 0) then rc := FSVNClient.Execute('update rtl --non-interactive --trust-server-cert --quiet ' + s); - // try once again - if (rc <> 0) then - begin - FSVNClient.Execute('cleanup --non-interactive ' + s); - rc := FSVNClient.Execute('update rtl --non-interactive --trust-server-cert --quiet ' + s); - end; - - if (rc = 0) then - begin - infoln(infotext+'We have a FPC bootstrap source (@ '+BootstrapDirectory+') with version: '+RequiredBootstrapVersion,etInfo); - RequiredBootstrapBootstrapVersion:=GetBootstrapCompilerVersionFromSource(BootstrapDirectory); - if RequiredBootstrapBootstrapVersion='0.0.0' then - begin - RequiredBootstrapBootstrapVersion:=GetBootstrapCompilerVersionFromVersion(GetFPCVersionFromSource(BootstrapDirectory)); - infoln(infotext+'To compile this bootstrap FPC, we should use a compiler with version : '+RequiredBootstrapBootstrapVersion,etInfo); - end else infoln(infotext+'To compile this bootstrap FPC, we need (required) a compiler with version : '+RequiredBootstrapBootstrapVersion,etInfo); - - // check if we have a lower acceptable requirement for the bootstrapbootstrapper - if (GetCompilerVersion(FCompiler)<>RequiredBootstrapBootstrapVersion) then - begin - // get lower requirement for the bootstrapper - s:=GetBootstrapCompilerVersionFromSource(BootstrapDirectory,True); - // if so, set bootstrapper to lower one !! - if (GetCompilerVersion(FCompiler)=s) then - begin - RequiredBootstrapBootstrapVersion:=s; - infoln(infotext+'To compile this bootstrap FPC, we can also (and will) use (required) a compiler with version : '+RequiredBootstrapBootstrapVersion,etInfo); - end; - end; - - Processor.Executable := Make; - Processor.CurrentDirectory:=ExcludeTrailingPathDelimiter(BootstrapDirectory); - - // clean and build intermediate - for y:=0 to 1 do - begin - Processor.Parameters.Clear; - if y=0 - then Processor.Parameters.Add('clean') - else Processor.Parameters.Add('compiler_cycle'); - // not sure if this needed here, but better safe than sorry - if (GetNumericalVersion(RequiredBootstrapBootstrapVersion)1) AND (NOT FNoJobs)) then Processor.Parameters.Add('--jobs='+IntToStr(FCPUCount)); - Processor.Parameters.Add('FPC='+FCompiler); - Processor.Parameters.Add('--directory='+ExcludeTrailingPathDelimiter(BootstrapDirectory)); - - // Legacy settings from fpcup ... not sure if correct [Don]: disabled for now - // Copy over user-specified instruction sets e.g. for trunk compiler... - // in CROSSOPT though, as the stable compiler likely will not understand them - // if FCompilerOptions<>'' then Processor.Parameters.Add('CROSSOPT='+FCompilerOptions); - - s:=STANDARDCOMPILERVERBOSITYOPTIONS; - {$ifdef CPUARMHF} - s:=s+' -dFPC_ARMHF'; - {$endif} - {$ifdef DEBUG} - //s:=s+' -g -gl -dEXTDEBUG'; - //s:=s+' -dEXTDEBUG'; - {$endif} - Processor.Parameters.Add('OPT='+s); - - Processor.Parameters.Add('OS_TARGET='+GetTargetOS); - Processor.Parameters.Add('CPU_TARGET='+GetTargetCPU); - - if (GetCompilerVersion(FCompiler)<>RequiredBootstrapBootstrapVersion) then - begin - if y=1 then infoln(infotext+'Apply OVERRIDEVERSIONCHECK=1, because we have a (wrong) bootstrap bootstrapper with version '+GetCompilerVersion(FCompiler),etInfo); - Processor.Parameters.Add('OVERRIDEVERSIONCHECK=1'); - end; - if y=1 then infoln(infotext+'Running make cycle for intermediate bootstrap compiler:',etInfo); - Processor.Execute; - if Processor.ExitStatus <> 0 then - begin - result := False; - if y=0 then infoln(infotext+'Running clean cycle for intermediate bootstrap compiler failed',etError); - if y=1 then infoln(infotext+'Running make cycle for intermediate bootstrap compiler failed',etError); - exit; - end; - if y=1 then infoln(infotext+'Successfully build FPC ' + RequiredBootstrapVersion + ' intermediate bootstrap compiler.',etInfo); - end; - - infoln(infotext+'Going to copy bootstrapper ' + IncludeTrailingPathDelimiter(BootstrapDirectory)+'compiler/'+TargetCompilerName + ' towards bootstrapper ' + ExtractFilePath(FCompiler)+IntermediateCompilerName,etInfo); - FileUtil.CopyFile(IncludeTrailingPathDelimiter(BootstrapDirectory)+'compiler/'+TargetCompilerName, - ExtractFilePath(FCompiler)+IntermediateCompilerName); - - //Make executable - {$ifdef unix} - OperationSucceeded:=(fpChmod(ExtractFilePath(FCompiler)+IntermediateCompilerName, &755)=0); //rwxr-xr-x - if OperationSucceeded=false then infoln('Intermediate bootstrap compiler: chmod failed for '+ExtractFilePath(FCompiler)+IntermediateCompilerName,etError); - {$endif} - - // Now we can change the compiler from the stable one to the one in our FPC repo: - FCompiler:=ExtractFilePath(FCompiler)+IntermediateCompilerName; - FBootstrapCompilerOverrideVersionCheck:=False; - end - else - begin - result := False; - infoln(infotext+'Error (SVN) getting sources for intermediate bootstrap compiler. Error: '+InttoStr(rc),etError); - exit; - end; - end - else - begin - // get the correct binutils (Windows only) - //CreateBinutilsList(GetBootstrapCompilerVersionFromSource(FSourceDirectory)); - //CreateBinutilsList(GetFPCVersionFromSource(FSourceDirectory)); - CreateBinutilsList(RequiredBootstrapVersion); - result:=CheckAndGetNeededBinUtils; - //if not result then exit; - end; + // get the correct binutils (Windows only) + //CreateBinutilsList(GetBootstrapCompilerVersionFromSource(FSourceDirectory)); + //CreateBinutilsList(GetFPCVersionFromSource(FSourceDirectory)); + CreateBinutilsList(RequiredBootstrapVersion); + result:=CheckAndGetNeededBinUtils; + //if not result then exit; {$ifdef win64} // Deals dynamically with either ppc386.exe or native ppcx64.exe @@ -3625,7 +3408,6 @@ constructor TFPCInstaller.Create; FMakeDir :=''; FTargetCompilerName:=GetCompilerName(GetTargetCPU); - FIntermediateCompilerName:='intermediate_'+FTargetCompilerName; InitDone:=false; end; diff --git a/patchfpc/netbsdtrunk.patch b/patchfpc/netbsdfixes.patch similarity index 51% rename from patchfpc/netbsdtrunk.patch rename to patchfpc/netbsdfixes.patch index 1c652854..731d6e2b 100644 --- a/patchfpc/netbsdtrunk.patch +++ b/patchfpc/netbsdfixes.patch @@ -1,68 +1,70 @@ Index: rtl/netbsd/Makefile =================================================================== ---- rtl/netbsd/Makefile (revision 42023) +--- rtl/netbsd/Makefile (revision 42577) +++ rtl/netbsd/Makefile (working copy) -@@ -3264,33 +3264,43 @@ +@@ -3192,21 +3192,30 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\ $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\ $(SYSTEMUNIT)$(PPUEXT) -baseunix$(PPUEXT) : errno.inc ptypes.inc $(UNIXINC)/ctypes.inc \ -+ $(COMPILER) $(INC)/strings.pp ++ $(COMPILER) $< +fpintres$(PPUEXT): $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< -+baseunix$(PPUEXT) : $(UNIXINC)/baseunix.pp unixtype$(PPUEXT) sysctl$(PPUEXT) errno.inc ptypes.inc $(UNIXINC)/ctypes.inc \ ++unixtype$(PPUEXT): $(UNIXINC)/unixtype.pp $(UNIXINC)/ctypes.inc ptypes.inc $(SYSTEMUNIT)$(PPUEXT) ++ $(COMPILER) $< ++baseunix$(PPUEXT) : $(UNIXINC)/baseunix.pp errno.inc ptypes.inc $(UNIXINC)/ctypes.inc \ signal.inc $(UNIXINC)/bunxh.inc \ -- $(BSDINC)/bunxsysc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \ -+ $(BSDINC)/bunxsysc.inc \ + $(BSDINC)/bunxsysc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \ $(BSDINC)/ostypes.inc $(BSDINC)/osmacro.inc $(UNIXINC)/gensigset.inc \ - $(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT) sysctl$(PPUEXT) -unixtype$(PPUEXT): $(UNIXINC)/unixtype.pp $(UNIXINC)/ctypes.inc ptypes.inc $(SYSTEMUNIT)$(PPUEXT) --unix$(PPUEXT) : $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \ ++ $(UNIXINC)/genfuncs.inc sysctl$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) ++ $(COMPILER) $< + unix$(PPUEXT) : $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \ - syscalls.inc systypes.inc sysconst.inc $(UNIXINC)/timezone.inc \ - unxsysc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) -dl$(PPUEXT) : $(UNIXINC)/dl.pp $(SYSTEMUNIT)$(PPUEXT) -dynlibs$(PPUEXT) : $(INC)/dynlibs.pas $(UNIXINC)/dynlibs.inc dl$(PPUEXT) objpas$(PPUEXT) -+ $(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT) -+ $(COMPILER) $< -+unixtype$(PPUEXT) : $(UNIXINC)/unixtype.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXINC)/unixtype.pp ptypes.inc $(UNIXINC)/ctypes.inc $(SYSTEMUNIT)$(PPUEXT) -+ $(COMPILER) $< -+unix$(PPUEXT) : $(UNIXINC)/unix.pp unixtype$(PPUEXT) baseunix$(PPUEXT) unixutil$(PPUEXT) strings$(PPUEXT) $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \ + unxconst.inc $(UNIXINC)/timezone.inc \ + unxfunc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< -+dl$(PPUEXT) : $(UNIXINC)/dl.pp $(SYSTEMUNIT)$(PPUEXT) unixtype$(PPUEXT) ctypes$(PPUEXT) -+ $(COMPILER) $< -+dynlibs$(PPUEXT) : $(INC)/dynlibs.pas dl$(PPUEXT) objpas$(PPUEXT) rtlconsts$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) ++linux$(PPUEXT) : baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< unixcp$(PPUEXT) : $(UNIXINC)/unixcp.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) baseunix$(PPUEXT) $(COMPILER) $(UNIXINC)/unixcp.pp --dos$(PPUEXT) : $(UNIXINC)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \ +unixutil$(PPUEXT) : $(UNIXINC)/unixutil.pp $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< -+dos$(PPUEXT) : $(UNIXINC)/dos.pp $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT) unix$(PPUEXT) $(UNIXINC)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \ + dos$(PPUEXT) : $(UNIXINC)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \ unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) --sysutils$(PPUEXT) : $(UNIXINC)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ + $(COMPILER) $< -+sysutils$(PPUEXT) : objpas$(PPUEXT) unix$(PPUEXT) errors$(PPUEXT) sysconst$(PPUEXT) $(UNIXINC)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ + sysutils$(PPUEXT) : $(UNIXINC)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ objpas$(PPUEXT) unix$(PPUEXT) errors$(PPUEXT) sysconst$(PPUEXT) $(COMPILER) -Fi$(OBJPASDIR)/sysutils $(UNIXINC)/sysutils.pp - rtlconsts$(PPUEXT) : $(OBJPASDIR)/rtlconsts.pp - $(COMPILER) $(OBJPASDIR)/rtlconsts.pp --classes$(PPUEXT) : $(UNIXINC)/classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \ -- sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) fgl$(PPUEXT) \ -- sortbase$(PPUEXT) -+classes$(PPUEXT) : sysutils$(PPUEXT) rtlconsts$(PPUEXT) types$(PPUEXT) typinfo$(PPUEXT) unix$(PPUEXT) $(UNIXINC)/classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \ -+ sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) types$(PPUEXT) fgl$(PPUEXT) sortbase$(PPUEXT) +@@ -3217,12 +3226,14 @@ $(COMPILER) -Fi$(OBJPASDIR)/classes $(UNIXINC)/classes.pp - fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT) sortbase$(PPUEXT) + fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT) $(COMPILER) $(OBJPASDIR)/fgl.pp -typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) -+typinfo$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) rtlconsts$(PPUEXT) ++typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) rtlconsts$(PPUEXT) $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT) $(COMPILER) $(OBJPASDIR)/math.pp -@@ -3306,32 +3316,54 @@ +-types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) ++types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $(OBJPASDIR)/types.pp ++sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) ++ $(COMPILER) $(OBJPASDIR)/sysconst.pp + character$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/character.pas objpas$(PPUEXT) rtlconsts$(PPUEXT) + $(COMPILER) $(OBJPASDIR)/character.pas + macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) math$(PPUEXT) +@@ -3231,32 +3242,54 @@ + $(COMPILER) $(INC)/iso7185.pp + extpas$(PPUEXT) : $(INC)/extpas.pp dos$(PPUEXT) $(COMPILER) $(INC)/extpas.pp $(REDIR) ++x86$(PPUEXT) : $(UNIXINC)/x86.pp $(SYSTEMUNIT)$(PPUEXT) ++ $(COMPILER) $< ++ports$(PPUEXT) : $(UNIXINC)/ports.pp $(SYSTEMUNIT)$(PPUEXT) ++ $(COMPILER) $< ifneq ($(findstring $(ARCH),x86_64 i386),) cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) + $(COMPILER) $< @@ -76,50 +78,45 @@ Index: rtl/netbsd/Makefile + $(COMPILER) $< heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) -Sg $(INC)/heaptrc.pp --lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) --lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) lineinfo$(PPUEXT) -+lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT) $(INC)/exeinfo.pp sysutils$(PPUEXT) + lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) + $(COMPILER) $< -+lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT) $(INC)/exeinfo.pp lineinfo$(PPUEXT) sysutils$(PPUEXT) + lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) lineinfo$(PPUEXT) + $(COMPILER) $< charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT) ++ $(COMPILER) $< cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) charset$(PPUEXT) $(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas - fpmkunit$(PPUEXT) : $(COMMON)/fpmkunit.pp classes$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) +-fpmkunit$(PPUEXT) : $(COMMON)/fpmkunit.pp classes$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) fpwidestring$(PPUEXT): $(OBJPASDIR)/fpwidestring.pp character$(PPUEXT) unixcp$(PPUEXT) $(COMPILER) $(OBJPASDIR)/fpwidestring.pp -+initc$(PPUEXT) : $(UNIXINC)/initc.pp ctypes$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) -+ $(COMPILER) $< - sortbase$(PPUEXT) : $(INC)/sortbase.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) - $(COMPILER) $< errors$(PPUEXT) : $(UNIXINC)/errors.pp strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) ++ $(COMPILER) $< callspec$(PPUEXT) : $(INC)/callspec.pp $(SYSTEMUNIT)$(PPUEXT) --sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) syscall$(PPUEXT) - syscall$(PPUEXT) : $(UNIXINC)/syscall.pp $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< - sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) - $(COMPILER) $(OBJPASDIR)/sysconst.pp ++cmem$(PPUEXT) : $(INC)/cmem.pp $(SYSTEMUNIT)$(PPUEXT) ++ $(COMPILER) $< ++syscall$(PPUEXT) : $(UNIXINC)/syscall.pp baseunix$(PPUEXT) unixtype$(PPUEXT) ++ $(COMPILER) $< + sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) syscall$(PPUEXT) +-syscall$(PPUEXT) : $(UNIXINC)/syscall.pp $(SYSTEMUNIT)$(PPUEXT) +-sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) +- $(COMPILER) $(OBJPASDIR)/sysconst.pp -sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp unixtype$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) --cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp $(SYSTEMUNIT)$(PPUEXT) -+sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) syscall$(PPUEXT) unixtype$(PPUEXT) -+ $(COMPILER) -Fu$(UNIXINC) -Fu$(BSDINC) $(BSDINC)/sysctl.pp -+cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp unix$(PPUEXT) sysutils$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) -+ $(COMPILER) $< - variants$(PPUEXT) : $(INC)/variants.pp sysutils$(PPUEXT) sysconst$(PPUEXT) varutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) math$(PPUEXT) - $(COMPILER) -Fi$(INC) $(INC)/variants.pp --cwstring$(PPUEXT) : $(UNIXINC)/cwstring.pp $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) baseunix$(PPUEXT) unix$(PPUEXT) unixtype$(PPUEXT) ctypes$(PPUEXT) dynlibs$(PPUEXT) --ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT) -+cwstring$(PPUEXT) : $(UNIXINC)/cwstring.pp $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) baseunix$(PPUEXT) unix$(PPUEXT) unixtype$(PPUEXT) ctypes$(PPUEXT) dynlibs$(PPUEXT) unixcp$(PPUEXT) + $(COMPILER) $< -+ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT) unixtype$(PPUEXT) + cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp $(SYSTEMUNIT)$(PPUEXT) +-variants$(PPUEXT) : $(INC)/variants.pp sysutils$(PPUEXT) sysconst$(PPUEXT) varutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) math$(PPUEXT) +- $(COMPILER) -Fi$(INC) $(INC)/variants.pp + $(COMPILER) $< -+cmem$(PPUEXT) : $(INC)/cmem.pp $(SYSTEMUNIT)$(PPUEXT) ++dynlibs$(PPUEXT) : $(INC)/dynlibs.pas $(UNIXINC)/dynlibs.inc dl$(PPUEXT) objpas$(PPUEXT) + $(COMPILER) $< -+bsd$(PPUEXT) : $(BSDINC)/bsd.pas initc$(PPUEXT) unix$(PPUEXT) ++dl$(PPUEXT) : $(UNIXINC)/dl.pp ctypes$(PPUEXT) objpas$(PPUEXT) + $(COMPILER) $< -+x86$(PPUEXT) : $(UNIXINC)/x86.pp $(SYSTEMUNIT)$(PPUEXT) ++ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< -+ports$(PPUEXT) : $(UNIXINC)/ports.pp $(SYSTEMUNIT)$(PPUEXT) + cwstring$(PPUEXT) : $(UNIXINC)/cwstring.pp $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) baseunix$(PPUEXT) unix$(PPUEXT) unixtype$(PPUEXT) ctypes$(PPUEXT) dynlibs$(PPUEXT) +-ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT) ++ $(COMPILER) $< ++bsd$(PPUEXT) : $(BSDINC)/bsd.pas unix$(PPUEXT) syscall$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $< -+exeinfo$(PPUEXT) : $(INC)/exeinfo.pp $(SYSTEMUNIT)$(PPUEXT) ++initc$(PPUEXT) : $(UNIXINC)/initc.pp ctypes$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) + $(COMPILER) $<