clean up a bit, and save some time

This commit is contained in:
steven 2009-10-15 15:20:34 +00:00
parent 6b4c78680c
commit 84737a0d1c

View File

@ -1,5 +1,5 @@
#!/usr/bin/perl #!/usr/bin/perl
# $OpenBSD: libtool,v 1.111 2009/10/15 13:48:11 steven Exp $ # $OpenBSD: libtool,v 1.112 2009/10/15 15:20:34 steven Exp $
# Copyright (c) 2007-2009 Steven Mestdagh <steven@openbsd.org> # Copyright (c) 2007-2009 Steven Mestdagh <steven@openbsd.org>
# #
@ -656,9 +656,10 @@ sub link
# convenience libraries # convenience libraries
next if (!defined $l->{lafile}); next if (!defined $l->{lafile});
my $lainfo = LaFile->parse($l->{lafile}); my $lainfo = LaFile->parse($l->{lafile});
print "dlname = ", $lainfo->stringize('dlname'), "\n";
next if ($lainfo->stringize('dlname') ne ''); next if ($lainfo->stringize('dlname') ne '');
$l->find($dirs, 0); if (!defined $l->{fullpath}) {
$l->find($dirs, 0);
}
my $a = $l->{fullpath}; my $a = $l->{fullpath};
if ($a =~ m/\.a$/ && $a !~ m/_pic\.a/) { if ($a =~ m/\.a$/ && $a !~ m/_pic\.a/) {
# extract objects from archive # extract objects from archive
@ -685,19 +686,18 @@ sub link
($symbolsfile = "$odir/$ltdir/$la") =~ s/\.la$/.exp/; ($symbolsfile = "$odir/$ltdir/$la") =~ s/\.la$/.exp/;
main::get_symbollist($symbolsfile, $opts->{'export-symbols-regex'}, $objs); main::get_symbollist($symbolsfile, $opts->{'export-symbols-regex'}, $objs);
} }
foreach my $l (values %$libs) { foreach my $k (@$finalorderedlibs) {
my $l = $libs->{$k};
if (!defined $l->{fullpath}) { if (!defined $l->{fullpath}) {
$l->find($dirs, 1); $l->find($dirs, 1);
} }
} }
my @libfiles = values %$libs; my @libobjects = values %$libs;
Trace::debug {"libs:\n", join("\n", (keys %$libs)), "\n"}; Trace::debug {"libs:\n", join("\n", (keys %$libs)), "\n"};
Trace::debug {"libfiles:\n", join("\n", map { $_->{fullpath} } @libfiles), "\n"}; Trace::debug {"libfiles:\n", join("\n", map { $_->{fullpath} } @libobjects), "\n"};
main::create_symlinks($ltdir, $libs); main::create_symlinks($ltdir, $libs);
# map { $_ = "$ltdir/". basename $_ } @libfiles;
# Trace::debug {"symlinks to libfiles used for linking:\n", join("\n", @libfiles), "\n"};
my $prev_was_archive = 0; my $prev_was_archive = 0;
my $libcounter = 0; my $libcounter = 0;
foreach my $k (@$finalorderedlibs) { foreach my $k (@$finalorderedlibs) {
@ -909,13 +909,11 @@ sub link
} }
} }
my @libfiles = values %$libs; my @libobjects = values %$libs;
Trace::debug {"libs:\n", join("\n", (keys %$libs)), "\n"}; Trace::debug {"libs:\n", join("\n", (keys %$libs)), "\n"};
Trace::debug {"libfiles:\n", join("\n", map { $_->{fullpath} } @libfiles), "\n"}; Trace::debug {"libfiles:\n", join("\n", map { $_->{fullpath} } @libobjects), "\n"};
main::create_symlinks($ltdir, $libs); main::create_symlinks($ltdir, $libs);
# map { $_ = "$ltdir/". basename $_ } @libfiles;
# Trace::debug {"symlinks to libfiles used for linking:\n", join("\n", @libfiles), "\n"};
foreach my $k (@$finalorderedlibs) { foreach my $k (@$finalorderedlibs) {
my $a = $libs->{$k}->{fullpath} || die "ERROR: $k not found in \$libs"; my $a = $libs->{$k}->{fullpath} || die "ERROR: $k not found in \$libs";
if ($a =~ m/\.a$/) { if ($a =~ m/\.a$/) {