[FFmpeg-devel] [PATCH] configure: make configure 2.3% faster by optimizing the dep solver
Michael Niedermayer
michaelni at gmx.at
Sat Oct 5 14:30:18 CEST 2013
This is only lightly tested, more testing welcome
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
configure | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/configure b/configure
index 7b8cc81..09a63c7 100755
--- a/configure
+++ b/configure
@@ -612,24 +612,33 @@ is_in(){
do_check_deps(){
for cfg; do
cfg="${cfg#!}"
- enabled ${cfg}_checking && die "Circular dependency for $cfg."
disabled ${cfg}_checking && continue
+ enabled ${cfg}_checking && die "Circular dependency for $cfg."
enable ${cfg}_checking
append allopts $cfg
+ if ! enabled $cfg ; then
+ eval dep_ifa="\$${cfg}_if"
+ eval dep_ifn="\$${cfg}_if_any"
+
+ if [ -n "$dep_ifa" ] || [ -n "$dep_ifn" ] ; then
+ pushvar cfg dep_ifa dep_ifn
+ do_check_deps $dep_ifa $dep_ifn
+ popvar cfg dep_ifa dep_ifn
+ [ -n "$dep_ifa" ] && { enabled_all $dep_ifa && enable_weak $cfg; }
+ [ -n "$dep_ifn" ] && { enabled_any $dep_ifn && enable_weak $cfg; }
+ fi
+ fi
+
eval dep_all="\$${cfg}_deps"
eval dep_any="\$${cfg}_deps_any"
eval dep_sel="\$${cfg}_select"
eval dep_sgs="\$${cfg}_suggest"
- eval dep_ifa="\$${cfg}_if"
- eval dep_ifn="\$${cfg}_if_any"
- pushvar cfg dep_all dep_any dep_sel dep_sgs dep_ifa dep_ifn
- do_check_deps $dep_all $dep_any $dep_sel $dep_sgs $dep_ifa $dep_ifn
- popvar cfg dep_all dep_any dep_sel dep_sgs dep_ifa dep_ifn
+ pushvar cfg dep_all dep_any dep_sel dep_sgs
+ do_check_deps $dep_all $dep_any $dep_sel $dep_sgs
+ popvar cfg dep_all dep_any dep_sel dep_sgs
- [ -n "$dep_ifa" ] && { enabled_all $dep_ifa && enable_weak $cfg; }
- [ -n "$dep_ifn" ] && { enabled_any $dep_ifn && enable_weak $cfg; }
enabled_all $dep_all || disable $cfg
enabled_any $dep_any || disable $cfg
disabled_any $dep_sel && disable $cfg
--
1.7.9.5
More information about the ffmpeg-devel
mailing list