summaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
authorH.Merijn Brand <h.m.brand@xs4all.nl>2009-02-10 15:58:14 +0100
committerH.Merijn Brand <h.m.brand@xs4all.nl>2009-02-10 15:58:14 +0100
commit38fddf8b5d4021b3807b4f9658a4689b671308a1 (patch)
tree1a2588b42a21ad6f3a13f63e7095657ca5204fb0 /Configure
parent6ed34527c34dc05915ae3caa982e733d04613a1e (diff)
downloadperl-38fddf8b5d4021b3807b4f9658a4689b671308a1.tar.gz
Restore old behavior for perl builds with (still) unflattened ext/.
Backported assorted changes and regenerated Configure
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure40
1 files changed, 34 insertions, 6 deletions
diff --git a/Configure b/Configure
index a549650997..928b84365b 100755
--- a/Configure
+++ b/Configure
@@ -25,7 +25,7 @@
# $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
#
-# Generated on Mon Jan 19 16:46:57 CET 2009 [metaconfig 3.5 PL0]
+# Generated on Tue Feb 10 15:55:56 CET 2009 [metaconfig 3.5 PL0]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
@@ -21612,7 +21612,8 @@ nonxs_extensions=''
: some additional extensions into the source tree and expect them
: to be built.
-: Function to find available extensions, ignoring DynaLoader
+: Function to recursively find available extensions, ignoring DynaLoader
+: NOTE: recursion limit of 10 to prevent runaway in case of symlink madness
find_extensions='
for xxx in *; do
case "$xxx" in
@@ -21620,10 +21621,27 @@ find_extensions='
*)
this_ext=`echo $xxx | $sed -e s/-/\\\//g`;
leaf=`echo $xxx | $sed -e s/.*-//`;
- if $test -f $xxx/$leaf.xs -o -f $xxx/$leaf.c; then
- known_extensions="$known_extensions $this_ext";
- elif $test -d $xxx; then
- nonxs_extensions="$nonxs_extensions $this_ext";
+ if $test -d File-Glob; then
+ : All ext/ flattened
+ if $test -f $xxx/$leaf.xs -o -f $xxx/$leaf.c; then
+ known_extensions="$known_extensions $this_ext";
+ elif $test -d $xxx; then
+ nonxs_extensions="$nonxs_extensions $this_ext";
+ fi
+ else
+ if $test -f $xxx/$leaf.xs -o -f $xxx/$leaf.c; then
+ known_extensions="$known_extensions $1$this_ext";
+ elif $test -f $xxx/Makefile.PL; then
+ nonxs_extensions="$nonxs_extensions $1$this_ext";
+ else
+ if $test -d $xxx -a $# -lt 10; then
+ set $1$xxx/ $*;
+ cd "$xxx";
+ eval $find_extensions;
+ cd ..;
+ shift;
+ fi;
+ fi;
fi
;;
esac;
@@ -21633,6 +21651,16 @@ cd "$rsrc/ext"
set X
shift
eval $find_extensions
+if $test -d File-Glob; then
+ : All ext/ flattened
+else
+ # Special case: Add in modules that nest beyond the first level.
+ # Currently threads/shared and Hash/Util/FieldHash, since they are
+ # not picked up by the recursive find above (and adding in general
+ # recursive finding breaks SDBM_File/sdbm).
+ # A.D. 20011025 (SDBM), ajgough 20071008 (FieldHash)
+ known_extensions="$known_extensions threads/shared Hash/Util/FieldHash"
+fi
set X $known_extensions
shift
known_extensions="$*"