No need to run AutoSplit on lib - all AutoLoader using modules are in ext.
Nicholas Clark [Fri, 11 Sep 2009 21:07:01 +0000 (22:07 +0100)]
It seems that the code in the Makefile to run AutoSplit over lib has actually
been vestigial since some point *before* 5.000. Presumably, initially, Perl code
for extensions was in lib, and autosplit (the precursor to AutoSplit.pm) was run
on them there. Or they were copied from ext to lib first, before splitting.
Fifteen year-old backup tapes refuse to give us the detailed history of the
pre-5.000 period.

Whatever the cause, the code was never needed - backed up by the absense of any
analgous code in the Win32 Makefiles. So remove it. This happens to also remove
the only use of the shell script makedir, so remove it too.

Cross/Makefile-cross-SH
MANIFEST
Makefile.SH
makedir.SH [deleted file]
vms/descrip_mms.template

index 616607d..d5bbef5 100755 (executable)
@@ -726,19 +726,8 @@ fi
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 
-# We have to call our ./makedir because Ultrix 4.3 make can't handle the line
-#      test -d lib/auto || mkdir lib/auto
-# We need to autosplit in two steps because VOS can't handle so many args
-#
 .PHONY: preplibrary
-preplibrary: miniperl $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL)
-       @sh ./makedir lib/auto
-       @echo " AutoSplitting perl library"
-       $(LDLIBPTH) ./miniperl -Ilib -MCross -e 'use AutoSplit; \
-               autosplit_lib_modules(@ARGV)' lib/*.pm
-       $(LDLIBPTH) ./miniperl -Ilib -MCross -e 'use AutoSplit; \
-               autosplit_lib_modules(@ARGV)' lib/*/*.pm
-       $(MAKE) lib/re.pm
+preplibrary: miniperl $(CONFIGPM) lib/lib.pm lib/re.pm $(PREPLIBRARY_LIBPERL)
 
 .PHONY: makeppport
 makeppport: miniperl$(EXE_EXT) $(CONFIGPM)
index 732d051..70f894d 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -3546,7 +3546,6 @@ mad/t/p55.t                       Test for the Perl 5 to Perl 5 translator
 makeaperl.SH                   perl script that produces a new perl binary
 makedef.pl                     Create symbol export lists for linking
 makedepend.SH                  Precursor to makedepend
-makedir.SH                     Precursor to makedir
 make_ext.pl                    Used by Makefile to execute extension Makefiles
 Makefile.micro                 microperl Makefile
 Makefile.SH                    A script that generates Makefile
index 76c5aba..3d979a6 100644 (file)
@@ -944,16 +944,8 @@ esac
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 
-# We have to call our ./makedir because Ultrix 4.3 make can't handle the line
-#      test -d lib/auto || mkdir lib/auto
-# We need to autosplit in two steps because VOS can't handle so many args
-#
 .PHONY: preplibrary
-preplibrary: miniperl$(EXE_EXT) $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL)
-       @sh ./makedir lib/auto
-       @echo " AutoSplitting perl library"
-       $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib -MAutoSplit -MFile::Find -e 'find ({no_chdir=>1, wanted => sub {autosplit_lib_modules($$_) if /\.pm$$/}}, "lib")'
-       $(MAKE) lib/re.pm
+preplibrary: miniperl$(EXE_EXT) $(CONFIGPM) lib/lib.pm lib/re.pm $(PREPLIBRARY_LIBPERL)
 
 $(CONFIGPM_FROM_CONFIG_SH) $(CONFIGPOD): config.sh miniperl$(EXE_EXT) configpm Porting/Glossary lib/Config_git.pl
        $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib configpm
diff --git a/makedir.SH b/makedir.SH
deleted file mode 100755 (executable)
index 19a6ad6..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-case $PERL_CONFIG_SH in
-'')
-    if test ! -f config.sh; then
-       ln ../config.sh . || \
-       ln ../../config.sh . || \
-       ln ../../../config.sh . || \
-       (echo "Can't find config.sh."; exit 1)
-    fi 2>/dev/null
-    . ./config.sh
-    ;;
-esac
-case "$0" in
-*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
-esac
-echo "Extracting makedir (with variable substitutions)"
-rm -f makedir
-$spitshell >makedir <<!GROK!THIS!
-$startsh
-# makedir.SH
-# 
-
-export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh \$0; kill \$\$)
-
-case \$# in
-  0)
-    $echo "makedir pathname filenameflag"
-    exit 1
-    ;;
-esac
-
-: guarantee one slash before 1st component
-case \$1 in
-  /*) ;;
-  *)  set ./\$1 \$2 ;;
-esac
-
-: strip last component if it is to be a filename
-case X\$2 in
-  X1) set \`$echo \$1 | $sed 's:\(.*\)/[^/]*\$:\1:'\` ;;
-  *)  set \$1 ;;
-esac
-
-: return reasonable status if nothing to be created
-if $test -d "\$1" ; then
-    exit 0
-fi
-
-list=''
-while true ; do
-    case \$1 in
-    */*)
-       list="\$1 \$list"
-       set \`echo \$1 | $sed 's:\(.*\)/:\1 :'\`
-       ;;
-    *)
-       break
-       ;;
-    esac
-done
-
-set \$list
-
-for dir do
-    $mkdir \$dir >/dev/null 2>&1
-done
-!GROK!THIS!
-$eunicefix makedir
-chmod +x makedir
index 35de681..9cade5a 100644 (file)
@@ -746,9 +746,6 @@ nonxsext : $(LIBPREREQ) preplibrary $(MINIPERL_EXE)
        Copy/NoConfirm/Log [.pod]podselect.com [.lib.pods]
 
 preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) 
-       @ Write Sys$Output "Autosplitting Perl library . . ."
-       @ Create/Directory [.lib.auto]
-       @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]*.pm [.lib.*]*.pm [.lib.*.*]*.pm
 
 makeppport : $(MINIPERL_EXE) $(ARCHDIR)Config.pm nonxsext
        $(MINIPERL) mkppport