Tweak GenLibDeps.pl so it works on solaris.

Patch by Edward O'Callaghan.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73228 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan Sands 2009-06-12 14:23:42 +00:00
parent e91208c963
commit 7e0842fb21

View File

@ -38,6 +38,10 @@ if (!$FLAT) {
die "Can't find 'dot'" if (! -x "$DotPath"); die "Can't find 'dot'" if (! -x "$DotPath");
} }
if (defined($ENV{NM})) {
chomp($nmPath=$ENV{NM});
}
if (!defined($nmPath) || $nmPath eq "") { if (!defined($nmPath) || $nmPath eq "") {
chomp($nmPath=`which nm`); chomp($nmPath=`which nm`);
die "Can't find 'nm'" if (! -x "$nmPath"); die "Can't find 'nm'" if (! -x "$nmPath");
@ -96,7 +100,7 @@ sub gen_one_entry {
print " <dt><b>$lib</b</dt><dd><ul>\n"; print " <dt><b>$lib</b</dt><dd><ul>\n";
} }
open UNDEFS, open UNDEFS,
"$nmPath -g -u $Directory/$lib | sed -e 's/^[ 0]* U //' | sort | uniq |"; "$nmPath -u $Directory/$lib | sed -e 's/^[ 0]* U //' | sort | uniq |";
my %DepLibs; my %DepLibs;
while (<UNDEFS>) { while (<UNDEFS>) {
chomp; chomp;
@ -116,7 +120,7 @@ sub gen_one_entry {
close UNDEFS or die "nm failed"; close UNDEFS or die "nm failed";
unless(keys %DepLibs) { unless(keys %DepLibs) {
# above failed # above failed
open UNDEFS, "$nmPath -g -u $Directory/$lib |"; open UNDEFS, "$nmPath -u $Directory/$lib |";
while (<UNDEFS>) { while (<UNDEFS>) {
# to bypass non-working sed # to bypass non-working sed
if (' ' eq substr($_,0,2) and index($_,'U ')) { if (' ' eq substr($_,0,2) and index($_,'U ')) {