From: H.Merijn Brand Date: Tue, 10 Feb 2009 14:55:12 +0000 (+0100) Subject: Backports and portability rollbacks X-Git-Tag: 5.26.1~259 X-Git-Url: https://perl5.git.perl.org/metaconfig.git/commitdiff_plain/cac33f209ba5e4e66574f8cfa5a522248bd62372 Backports and portability rollbacks 1f8a0b38638b171cf789a9f44cc9e8cd38bbf4d3: All extensions are at the top level, so no longer any need to recurse. abd7186c6748d276ced6dd10e94e6c04ba10b768: Remove special casing for extensions nested inside other extensions. (Incorporates "[PATCH] Don't include Hash::Utils::FieldHash twice" from Jerry Hedden.) 238a6851e196b122761952f8b2127d8fe9e01658: Cope with new-style ext/Data-Dumper as well as old-style ext/Data/Dumper aefe3e7eb5caf2308d0c098e045a537a24dc42b6: Exclude VMS extensions on non-VMS. --- diff --git a/U/perl/Extensions.U b/U/perl/Extensions.U index b8617ff..ecea559 100644 --- a/U/perl/Extensions.U +++ b/U/perl/Extensions.U @@ -12,7 +12,7 @@ Myread hint usedl d_sem d_socket i_db i_dbm i_rpcsvcdbm i_gdbm \ i_ndbm usethreads use5005threads package test cat rsrc \ d_msg d_shm osname use64bitint i_langinfo d_nl_langinfo \ - libs d_cplusplus + libs d_cplusplus sed ?MAKE: -pick add $@ %< ?Y:BOTTOM ?S:known_extensions: @@ -51,7 +51,7 @@ ?S: for users to skip the Opcode extension from the Configure ?S: command line. ?S:. -?T:xxx avail_ext tdir nonxs_extensions find_extensions +?T:xxx avail_ext this_ext leaf tdir nonxs_extensions find_extensions ?INIT:: set useposix=false in your hint file to disable the POSIX extension. ?INIT:useposix=true ?INIT:: set useopcode=false in your hint file to disable the Opcode extension. @@ -78,17 +78,28 @@ find_extensions=' case "$xxx" in DynaLoader|dynaload) ;; *) - if $test -f $xxx/$xxx.xs -o -f $xxx/$xxx.c; then - known_extensions="$known_extensions $1$xxx"; - elif $test -f $xxx/Makefile.PL; then - nonxs_extensions="$nonxs_extensions $1$xxx"; + this_ext=`echo $xxx | $sed -e s/-/\\\//g`; + leaf=`echo $xxx | $sed -e s/.*-//`; + 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 -d $xxx -a $# -lt 10; then - set $1$xxx/ $*; - cd "$xxx"; - eval $find_extensions; - cd ..; - shift; + 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 ;; @@ -99,12 +110,16 @@ cd "$rsrc/ext" set X shift eval $find_extensions -# 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" +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="$*" @@ -220,6 +235,8 @@ for xxx in $known_extensions ; do # --jhi avail_ext="$avail_ext $xxx" ;; + VMS*) + ;; Win32*) case "$osname" in cygwin) avail_ext="$avail_ext $xxx" ;;