From 40d196533bf10ac9475a3d5558800ac5406c88bd Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Tue, 4 Jul 2017 23:50:21 +0200 Subject: [PATCH] check for other ddemangle name, close #165 --- src/ce_ddemangle.pas | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/ce_ddemangle.pas b/src/ce_ddemangle.pas index 2fbc2961..74d10701 100644 --- a/src/ce_ddemangle.pas +++ b/src/ce_ddemangle.pas @@ -43,6 +43,20 @@ begin fList := TStringList.Create; fOut := TStringList.Create; fProc := TCEProcess.create(nil); + fProc.Options:= [poUsePipes]; + fProc.OnTerminate:=@procTerminate; + fProc.ShowWindow:= swoHIDE; + + // Arch Linux users can have the tool setup w/o DMD + {$IFDEF POSIX} + fProc.Executable := exeFullName('dtools-ddemangle'); + if fProc.Executable.fileExists then + begin + fProc.execute; + fActive := true; + exit; + end; + {$ENDIF} // up to version 2.071 ddemangle cannot be daemon-ized with TProcess.Create(nil) do @@ -68,9 +82,6 @@ begin fProc.Executable := exeFullName('ddemangle' + exeExt); if (v >= 72) and fProc.Executable.fileExists then begin - fProc.Options:= [poUsePipes]; - fProc.OnTerminate:=@procTerminate; - fProc.ShowWindow:= swoHIDE; fProc.execute; fActive := true; end