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

17
configure vendored
View File

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