summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-04-11 17:30:21 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-04-11 17:30:21 +0000
commita664cd401bf21259c7481a7a9af31ca3c206c1ac (patch)
treea9f835e0f91538da8dc7f28fc6abc2800d697339
parentc3d1ecce6a7657f64490d9ed0723f8ee06a689b0 (diff)
downloadfpc-a664cd401bf21259c7481a7a9af31ca3c206c1ac.tar.gz
* never ignore BINUTILSPREFIX environment variable in fpmake
+ search also $(BINUTILSPREFIX)-gnu-gcc for a usable gcc to get the libgcc directory git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@49181 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--packages/fpmkunit/src/fpmkunit.pp18
1 files changed, 10 insertions, 8 deletions
diff --git a/packages/fpmkunit/src/fpmkunit.pp b/packages/fpmkunit/src/fpmkunit.pp
index acc0070beb..9572af4ea4 100644
--- a/packages/fpmkunit/src/fpmkunit.pp
+++ b/packages/fpmkunit/src/fpmkunit.pp
@@ -2890,7 +2890,9 @@ var
GccExecutable: string;
begin
result := '';
- GccExecutable := ExeSearch(AddProgramExtension(CrossPrefix+'gcc', OS),Sysutils.GetEnvironmentVariable('PATH'));
+ GccExecutable := ExeSearch(AddProgramExtension(CrossPrefix+'gcc', OS),Sysutils.GetEnvironmentVariable('PATH'));
+ if not(FileExists(GccExecutable)) then
+ GccExecutable := ExeSearch(AddProgramExtension(CrossPrefix+'gnu-gcc', OS),Sysutils.GetEnvironmentVariable('PATH'));
if FileExists(GccExecutable) then
begin
{$ifdef HAS_UNIT_PROCESS}
@@ -2948,12 +2950,12 @@ begin
((CPU=riscv64) and (SourceCPU=riscv32)) or
((CPU=sparc64) and (SourceCPU=sparc))
) or (SourceOS=openbsd) then
- UseBinutilsPrefix:=true;
+ UseBinutilsPrefix:=true;
end;
- if not UseBinutilsPrefix then
- CrossPrefix:=''
- else if Sysutils.GetEnvironmentVariable('BINUTILSPREFIX')<>'' then
+ if Sysutils.GetEnvironmentVariable('BINUTILSPREFIX')<>'' then
CrossPrefix:=Sysutils.GetEnvironmentVariable('BINUTILSPREFIX')
+ else if not UseBinutilsPrefix then
+ CrossPrefix:=''
else
CrossPrefix:=CPUToString(CPU)+'-'+OSToString(OS)+'-';
if OS in [freebsd, openbsd, dragonfly] then
@@ -7215,9 +7217,9 @@ begin
ReadBarrier;
{$ifdef NO_THREADING}
Args.Add('-Fl'+FCachedlibcPath);
-{$ELSE}
+{$ELSE}
Args.Add('-Fl'+volatile(FCachedlibcPath));
-{$ENDIF}
+{$ENDIF}
end;
// Custom options which are added by dependencies
@@ -8677,7 +8679,7 @@ begin
// that a package finished it's task.
NotifyThreadWaiting := RTLEventCreate;
SetLength(Threads,Defaults.ThreadsAmount);
- try
+ try
// Create all worker-threads
try
for Thr:=0 to Defaults.ThreadsAmount-1 do