diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-07-18 13:01:19 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-07-19 10:19:32 -0700 |
commit | f39df7ff83f8ebf9a0ccd0ef26751cf6a6606f79 (patch) | |
tree | d4dfb6e23ad1e5ca1159d13f461c6c7e71148cb4 /configure | |
parent | 46f85fc22637213e4a97b306f40a64ae09f82f18 (diff) | |
download | glibc-f39df7ff83f8ebf9a0ccd0ef26751cf6a6606f79.tar.gz glibc-f39df7ff83f8ebf9a0ccd0ef26751cf6a6606f79.tar.xz glibc-f39df7ff83f8ebf9a0ccd0ef26751cf6a6606f79.zip |
Support conditional implied directory
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 80 |
1 files changed, 42 insertions, 38 deletions
diff --git a/configure b/configure index 1268168699..fab64655a8 100755 --- a/configure +++ b/configure @@ -4276,43 +4276,51 @@ while test $# -gt 0; do test -n "$enable_debug_configure" && echo "DEBUG: name/Implies $xsrcdir$name/Implies" >&2 - for implies_file in Implies Implies-before Implies-after; do - implies_type=`echo $implies_file | sed s/-/_/` - eval ${implies_type}= - if test -f $xsrcdir$name/$implies_file; then - # Collect more names from the `Implies' file (removing comments). - implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/$implies_file`" - for x in $implied_candidate; do - found=no - if test -d $xsrcdir$name_base/$x; then - eval "${implies_type}=\"\$${implies_type} \$name_base/\$x\"" + if test -f $xsrcdir$name/Implies; then + # Collect more names from the `Implies' file (removing comments). + implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`" + implied= + for x in $implied_candidate; do + case $x in + "\$"*:*:*) + implied_var="`echo $x | sed 's/:.*$//'`" + eval "implied_var=$implied_var" + implied_cond="`echo $x | sed 's/.*:\(.*\):.*$/\1/'`" + test "$implied_var" = "$implied_cond" || continue + x="`echo $x | sed 's/.*://'`" + ;; + esac + found=no + if test -d $xsrcdir$name_base/$x; then + implied="$implied $name_base/$x"; + found=yes + fi + for d in $add_ons_pfx ''; do + try="${d}sysdeps/$x" + case $d in + /*) try_srcdir= ;; + *) try_srcdir=$srcdir/ ;; + esac + test -n "$enable_debug_configure" && + echo "DEBUG: $name implied $x try($d) {$try_srcdir}$try" >&2 + if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try; + then + implied="$implied $try" found=yes - fi - for d in $add_ons_pfx ''; do - try="${d}sysdeps/$x" - case $d in - /*) try_srcdir= ;; - *) try_srcdir=$srcdir/ ;; + case "$sysnames_add_ons" in + *" $d "*) ;; + *|'') sysnames_add_ons="$sysnames_add_ons $d" ;; esac - test -n "$enable_debug_configure" && - echo "DEBUG: $name $implies_file $x try($d) {$try_srcdir}$try" >&2 - if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try; - then - eval "${implies_type}=\"\$${implies_type} \$try\"" - found=yes - case "$sysnames_add_ons" in - *" $d "*) ;; - *|'') sysnames_add_ons="$sysnames_add_ons $d" ;; - esac - fi - done - if test $found = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $name/$implies_file specifies nonexistent $x" >&5 -$as_echo "$as_me: WARNING: $name/$implies_file specifies nonexistent $x" >&2;} fi done - fi - done + if test $found = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $name/Implies specifies nonexistent $x" >&5 +$as_echo "$as_me: WARNING: $name/Implies specifies nonexistent $x" >&2;} + fi + done + else + implied= + fi # Add NAME to the list of names. names="$names $name" @@ -4320,10 +4328,6 @@ $as_echo "$as_me: WARNING: $name/$implies_file specifies nonexistent $x" >&2;} # Find the parent of NAME, using the empty string if it has none. parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`" - test -n "$enable_debug_configure" && - echo "DEBUG: $name Implies='$Implies' rest='$*' parent='$parent' \ -Implies_before='$Implies_after' Implies_after='$Implies_after'" >&2 - # Add the names implied by NAME, and NAME's parent (if it has one), to # the list of names to be processed (the argument list). We prepend the # implied names to the list and append the parent. We want implied @@ -4331,7 +4335,7 @@ Implies_before='$Implies_after' Implies_after='$Implies_after'" >&2 # configuration components; this ensures that for sysv4, unix/common # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*) # after sysv4). - sysnames="`echo $Implies $* $Implies_before $parent $Implies_after`" + sysnames="`echo $implied $* $parent`" test -n "$sysnames" && set $sysnames done |