aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/buildsystems/msbuild/applocal.ps18
1 files changed, 7 insertions, 1 deletions
diff --git a/scripts/buildsystems/msbuild/applocal.ps1 b/scripts/buildsystems/msbuild/applocal.ps1
index f0cb6ee1f..2e8d76cc2 100644
--- a/scripts/buildsystems/msbuild/applocal.ps1
+++ b/scripts/buildsystems/msbuild/applocal.ps1
@@ -86,7 +86,13 @@ function resolve([string]$targetBinary) {
}
$targetBinaryDir = Split-Path $targetBinaryPath -parent
- $a = $(dumpbin /DEPENDENTS $targetBinary | ? { $_ -match "^ [^ ].*\.dll" } | % { $_ -replace "^ ","" })
+ if (Get-Command "dumpbin" -ErrorAction SilentlyContinue) {
+ $a = $(dumpbin /DEPENDENTS $targetBinary | ? { $_ -match "^ [^ ].*\.dll" } | % { $_ -replace "^ ","" })
+ } elseif (Get-Command "llvm-objdump" -ErrorAction SilentlyContinue) {
+ $a = $(llvm-objdump -p $targetBinary| ? { $_ -match "^ {4}DLL Name: .*\.dll" } | % { $_ -replace "^ {4}DLL Name: ","" })
+ } else {
+ Write-Error "Neither dumpbin nor llvm-objdump could be found. Can not take care of dll dependencies."
+ }
$a | % {
if ([string]::IsNullOrEmpty($_)) {
return