configure: Fix handling of _select dependencies

The handling of _select dependencies had two issues:

1) extralibs from _select dependencies of a component were not added to
   the list of extralibs for that component.
2) extralibs from dependencies were only added to the extralibs of a
   component if the component was enabled. This led to incorrect results
   if that component was enabled by another component later in the dependency
   resolution process. Instead, always generate the full list of component
   extralibs for use later in the dependency resolution process.

Also remove a leftover unused variable.
This commit is contained in:
Diego Biurrun 2017-05-24 17:59:59 +02:00
parent 7b1f9873be
commit d9da7151ee
1 changed files with 7 additions and 10 deletions

17
configure vendored
View File

@ -617,7 +617,6 @@ check_deps(){
enabled ${cfg}_checking && die "Circular dependency for $cfg."
disabled ${cfg}_checking && continue
enable ${cfg}_checking
append allopts $cfg
eval dep_all="\$${cfg}_deps"
eval dep_any="\$${cfg}_deps_any"
@ -638,15 +637,13 @@ check_deps(){
disabled_all $dep_con || disable $cfg
disabled_any $dep_sel && disable $cfg
if enabled $cfg; then
enable_deep $dep_sel
enable_deep_weak $dep_sgs
for dep in $dep_all $dep_any $dep_sgs; do
# filter out library deps, these do not belong in extralibs
is_in $dep $LIBRARY_LIST && continue
enabled $dep && eval append ${cfg}_extralibs ${dep}_extralibs
done
fi
enabled $cfg && enable_deep_weak $dep_sel $dep_sgs
for dep in $dep_all $dep_any $dep_sel $dep_sgs; do
# filter out library deps, these do not belong in extralibs
is_in $dep $LIBRARY_LIST && continue
enabled $dep && eval append ${cfg}_extralibs ${dep}_extralibs
done
disable ${cfg}_checking
done