summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2017-05-24 17:59:59 +0200
committerDiego Biurrun <diego@biurrun.de>2017-06-17 19:12:27 +0200
commitd9da7151eef7fc469787e7298196cea291acfd82 (patch)
tree8642dc7b4f0dd62dce4f30d1fbbe35833e003df4
parent7b1f9873be2f9d5aea2762c9197ff46df82768dc (diff)
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.
-rwxr-xr-xconfigure17
1 files changed, 7 insertions, 10 deletions
diff --git a/configure b/configure
index 4450ce418d..fd879bc9d1 100755
--- a/configure
+++ b/configure
@@ -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