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) Previously, _select components were enabled after checking dependencies
   for that component. However, extralibs for each component are only added
   if that component is enabled. In minimal builds when an enabled component
   _selects a component that in turn depends on an external library, linker
   flags for that external library are not added, thus leading to linking
   failures.
---
 configure | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/configure b/configure
index 10a6a8d..9cdc2e6 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"
@@ -627,6 +626,8 @@ check_deps(){
         eval dep_ifa="\$${cfg}_if"
         eval dep_ifn="\$${cfg}_if_any"
 
+        enabled $cfg && enable_deep $dep_sel && enable_deep_weak $dep_sgs
+
         pushvar cfg dep_all dep_any dep_con dep_sel dep_sgs dep_ifa dep_ifn
         check_deps $dep_all $dep_any $dep_con $dep_sel $dep_sgs $dep_ifa 
$dep_ifn
         popvar cfg dep_all dep_any dep_con dep_sel dep_sgs dep_ifa dep_ifn
@@ -639,9 +640,7 @@ check_deps(){
         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
+            for dep in $dep_all $dep_any $dep_sgs $dep_sel; 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
-- 
2.1.4

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to