diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2006-04-26 11:58:42 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:04:59 -0500 |
commit | 61ff97e360b92aae536a4e2b8cae9ad9c3fa875f (patch) | |
tree | a8823dcae6382cf1d7f1f7e0d8b21267b08ebd38 /source4/build/smb_build/input.pm | |
parent | f5bc4a72c56a8d74bfa0f334890fac9b3ea3f37e (diff) | |
download | samba-61ff97e360b92aae536a4e2b8cae9ad9c3fa875f.tar.gz samba-61ff97e360b92aae536a4e2b8cae9ad9c3fa875f.tar.bz2 samba-61ff97e360b92aae536a4e2b8cae9ad9c3fa875f.zip |
r15271: Fix --enable-dso
(This used to be commit 8de11ec2445ce414b37938b07937fdd7837f89a2)
Diffstat (limited to 'source4/build/smb_build/input.pm')
-rw-r--r-- | source4/build/smb_build/input.pm | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm index 488ac5c6ec..c153e0c95d 100644 --- a/source4/build/smb_build/input.pm +++ b/source4/build/smb_build/input.pm @@ -120,23 +120,24 @@ sub check_binary($$) my $level = ""; -sub calc_unique_deps($$$) +sub calc_unique_deps($$$$) { - sub calc_unique_deps($$$); - my ($name, $deps, $udeps) = @_; + sub calc_unique_deps($$$$); + my ($name, $deps, $udeps, $withlibs) = @_; print "$level-> $name\n" if ($ENV{SMB_BUILD_VERBOSE}); $level.=" "; foreach my $dep (@{$deps}) { - if (not defined($udeps->{$$dep->{NAME}})) { - if (defined ($$dep->{OUTPUT_TYPE}) && (($$dep->{OUTPUT_TYPE} eq "OBJ_LIST") - or ($$dep->{OUTPUT_TYPE} eq "MERGEDOBJ"))) { + next if defined($udeps->{$$dep->{NAME}}); + + if (defined ($$dep->{OUTPUT_TYPE}) && + ($withlibs or ($$dep->{OUTPUT_TYPE} eq "OBJ_LIST") or ($$dep->{OUTPUT_TYPE} eq "MERGEDOBJ"))) { $udeps->{$$dep->{NAME}} = "BUSY"; - calc_unique_deps($$dep->{NAME}, $$dep->{DEPENDENCIES}, $udeps); - } - $udeps->{$$dep->{NAME}} = $$dep; - } + calc_unique_deps($$dep->{NAME}, $$dep->{DEPENDENCIES}, $udeps, $withlibs); + } + + $udeps->{$$dep->{NAME}} = $$dep; } $level = substr($level, 1); @@ -209,7 +210,12 @@ sub check($$$$$) foreach my $part (values %depend) { $part->{UNIQUE_DEPENDENCIES} = {}; - calc_unique_deps($part->{NAME}, $part->{DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES}); + calc_unique_deps($part->{NAME}, $part->{DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES}, 0); + } + + foreach my $part (values %depend) { + $part->{UNIQUE_DEPENDENCIES_ALL} = {}; + calc_unique_deps($part->{NAME}, $part->{DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES_ALL}, 1); } return \%depend; |