[PATCH 6/7] Ignore the Windows system directories when searching for DLLs

Thiago Macieira thiago at macieira.org
Fri Oct 11 11:05:42 UTC 2013


We don't want to deploy kernel32.dll or such.

Signed-off-by: Thiago Macieira <thiago at macieira.org>
---
 scripts/win-ldd.pl | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/scripts/win-ldd.pl b/scripts/win-ldd.pl
index 6907016..8a25c34 100644
--- a/scripts/win-ldd.pl
+++ b/scripts/win-ldd.pl
@@ -3,6 +3,7 @@ use strict;
 my %deploy;
 my $objdump = $ENV{objdump} ? $ENV{objdump} : "objdump";
 my @searchdirs;
+my @systemdirs = (qr|^c:/windows|i, qr|^c:/winnt|i, qr|/c/windows|i, qr|/c/winnt|);
 
 sub addDependenciesFor($) {
     open OBJDUMP, "-|", $objdump, "-p", $_[0] or die;
@@ -59,6 +60,18 @@ for (@ARGV) {
 # Append PATH to @searchdirs
 @searchdirs = (@searchdirs, split(/:/, $ENV{PATH}));
 
+# Remove system dirs from @searchdirs
+ at searchdirs = grep {
+    my $sys = 0;
+    for my $rx (@systemdirs) {
+        if ($_ =~ $rx) {
+            $sys = 1;
+            last;
+        }
+    }
+    !$sys;
+} @searchdirs;
+
 while (1) {
     findMissingDependencies();
 
-- 
1.7.11.7



More information about the subsurface mailing list