From d9da7151eef7fc469787e7298196cea291acfd82 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Wed, 24 May 2017 17:59:59 +0200 Subject: [PATCH] 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. --- configure | 17 +++++++---------- 1 file 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