This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Move VMS::Filespec from vms/ext to ext/
authorNicholas Clark <nick@ccl4.org>
Mon, 17 Jun 2013 09:49:39 +0000 (11:49 +0200)
committerNicholas Clark <nick@ccl4.org>
Tue, 2 Jul 2013 13:57:20 +0000 (15:57 +0200)
This simplifies the VMS Makefile. It would have simplified the VMS Makefile
further if it had had the correct rules to delete [.lib.VMS]Filespec.pm
which are now no longer needed. (The generated ext/VMS-Filespec/DESCRIP.MMS
will now take care of this.)

Configure
MANIFEST
Porting/Maintainers.pl
Porting/corelist.pl
ext/VMS-Filespec/lib/VMS/Filespec.pm [moved from vms/ext/Filespec.pm with 100% similarity]
ext/VMS-Filespec/t/filespec.t [moved from vms/ext/filespec.t with 100% similarity]
t/porting/known_pod_issues.dat
vms/descrip_mms.template
win32/FindExt.pm
write_buildcustomize.pl

index 21c495e..528a6e6 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -22592,6 +22592,8 @@ esac
 nonxs_ext=''
 for xxx in $nonxs_extensions ; do
        case "$xxx" in
+       VMS*)
+               ;;
        *)      nonxs_ext="$nonxs_ext $xxx"
                ;;
        esac
index 001108d..434c9ef 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -3808,6 +3808,8 @@ ext/VMS-DCLsym/DCLsym.pm  Perl access to CLI symbols
 ext/VMS-DCLsym/DCLsym.xs       Perl access to CLI symbols
 ext/VMS-DCLsym/Makefile.PL     MakeMaker driver for VMS::DCLsym
 ext/VMS-DCLsym/t/vms_dclsym.t  regression tests for VMS::DCLsym
+ext/VMS-Filespec/lib/VMS/Filespec.pm   VMS-Unix file syntax interconversion
+ext/VMS-Filespec/t/filespec.t          See if VMS::Filespec functions work
 ext/VMS-Stdio/0README.txt      ReadMe file for VMS::Stdio
 ext/VMS-Stdio/Makefile.PL      MakeMaker driver for VMS::Stdio
 ext/VMS-Stdio/Stdio.pm         VMS options to stdio routines
@@ -5453,8 +5455,6 @@ utils/splain.PL                   Stand-alone version of diagnostics.pm
 utils/xsubpp.PL                        External subroutine preprocessor
 utils/zipdetails.PL                    display the internal structure of zip files
 vms/descrip_mms.template       Template MM[SK] description file for build
-vms/ext/Filespec.pm            VMS-Unix file syntax interconversion
-vms/ext/filespec.t             See if VMS::Filespec functions work
 vms/genopt.com                 hack to write options files in case of broken makes
 vms/gen_shrfls.pl              generate options files and glue for shareable image
 vms/make_command.com           record MM[SK] command used to build Perl
index 5600e77..22cd06a 100755 (executable)
@@ -1951,6 +1951,12 @@ use File::Glob qw(:case);
         'UPSTREAM'   => undef,
     },
 
+    'VMS::Filespec' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/VMS-Filespec],
+        'UPSTREAM'   => undef,
+    },
+
     'VMS::Stdio' => {
         'MAINTAINER' => 'craig',
         'FILES'      => q[ext/VMS-Stdio],
index 9a90fbb..c60b5df 100755 (executable)
@@ -106,7 +106,6 @@ find(
             $module =~ s{^Sys-Syslog/win32}{Sys-Syslog},
             $module =~ s{^Time-Piece/Seconds}{Time/Seconds},
             );
-        $module =~ s{^vms/ext}{VMS};
                $module =~ s{^lib/}{}g;
         $module =~ s{/}{::}g;
         $module =~ s{-}{::}g;
@@ -115,7 +114,6 @@ find(
         $lines{$module}          = $version;
         $module_to_file{$module} = $File::Find::name;
     },
-    'vms/ext',
     'symbian/ext',
     'lib',
     'ext',
index f725f58..1d0a625 100644 (file)
@@ -207,6 +207,7 @@ ext/pod-html/testdir/perlpodspec-copy.pod   Verbatim line length including indents
 ext/pod-html/testdir/perlvar-copy.pod  ? Should you be using L<...> instead of 3
 ext/pod-html/testdir/perlvar-copy.pod  Verbatim line length including indents exceeds 79 by    6
 ext/vms-dclsym/dclsym.pm       ? Should you be using L<...> instead of 1
+ext/vms-filespec/lib/vms/filespec.pm   Verbatim line length including indents exceeds 79 by    1
 install        ? Should you be using F<...> or maybe L<...> instead of 1
 os2/os2/os2-extattr/extattr.pm ? Should you be using F<...> or maybe L<...> instead of 1
 os2/os2/os2-process/process.pm Verbatim line length including indents exceeds 79 by    27
@@ -268,7 +269,6 @@ porting/expand-macro.pl     Verbatim line length including indents exceeds 79 by    2
 porting/release_managers_guide.pod     Verbatim line length including indents exceeds 79 by    7
 porting/todo.pod       Verbatim line length including indents exceeds 79 by    7
 utils/c2ph     Verbatim line length including indents exceeds 79 by    44
-vms/ext/filespec.pm    Verbatim line length including indents exceeds 79 by    1
 lib/benchmark.pm       Verbatim line length including indents exceeds 79 by    2
 lib/config.pod ? Should you be using L<...> instead of -1
 lib/extutils/embed.pm  Verbatim line length including indents exceeds 79 by    2
index 80c5fdf..3670d7b 100644 (file)
@@ -280,7 +280,7 @@ CRTLOPTS =,$(CRTL)/Options
 unidatadirs = lib/unicore/To lib/unicore/lib
 
 # Modules which must be installed before we can build extensions
-LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl [.lib.VMS]Filespec.pm $(ARCHDIR)vmspipe.com [.lib]buildcustomize.pl
+LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl
 
 utils1 = [.utils]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com 
 utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.utils]json_pp.com
@@ -349,7 +349,7 @@ vmspipe.com : [.vms]vmspipe.com
 miniperl : $(DBG)miniperl$(E)  vmspipe.com
        @ Continue
 
-[.lib]buildcustomize.pl :  miniperlmain$(O), $(DBG)libperlmini$(OLB) $(CRTL) write_buildcustomize.pl [.lib.VMS]Filespec.pm
+[.lib]buildcustomize.pl :  miniperlmain$(O), $(DBG)libperlmini$(OLB) $(CRTL) write_buildcustomize.pl
        Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MINIPERL_EXE) miniperlmain$(O), $(DBG)libperlmini$(OLB)/Library/Include=globals $(CRTLOPTS)
        $(MINIPERL) "-f" write_buildcustomize.pl
 
@@ -439,7 +439,7 @@ unidatafiles.ts : $(MINIPERL_EXE) [.lib]Config.pm [.lib.unicore]mktables nonxsex
        @ If F$Search("$(MMS$TARGET)").nes."" Then Delete/NoLog/NoConfirm $(MMS$TARGET);*
        @ Copy/NoConfirm _NLA0: $(MMS$TARGET)
  
-DynaLoader$(O) : [.lib]buildcustomize.pl $(ARCHDIR)Config.pm $(MINIPERL_EXE) [.lib.VMS]Filespec.pm 
+DynaLoader$(O) : [.lib]buildcustomize.pl $(ARCHDIR)Config.pm $(MINIPERL_EXE)
        $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "DynaLoader"
 
 dynext : $(LIBPREREQ) $(DBG)perlshr$(E) unidatafiles.ts DynaLoader$(O) preplibrary makeppport $(MINIPERL_EXE)
@@ -448,10 +448,6 @@ dynext : $(LIBPREREQ) $(DBG)perlshr$(E) unidatafiles.ts DynaLoader$(O) preplibra
 nonxsext : $(LIBPREREQ) preplibrary $(MINIPERL_EXE) [.pod]perlfunc.pod
        $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--nonxs"
 
-[.lib.VMS]Filespec.pm : [.vms.ext]Filespec.pm
-       @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
-       Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.VMS]
-
 [.utils]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm
        $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE)
 
@@ -602,25 +598,20 @@ regen_headers :
 perly$(O) : perly.c, perly.h, $(h)
 .endif
 
-VMSFSPEC_T = [.t.lib]vmsfspec.t
-
-$(VMSFSPEC_T) : [.vms.ext]filespec.t
-       Copy/NoConfirm/Log $(MMS$SOURCE) $(VMSFSPEC_T)
-
 check : test
        @ Continue
 
-test : all [.t.lib]vmsfspec.t
+test : all
        @ PERL_TEST_DRIVER == "TEST."
        - @[.vms]test.com "$(E)" "$(__DEBUG__)"
        @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests.
 
-test_harness : all [.t.lib]vmsfspec.t
+test_harness : all
        @ PERL_TEST_DRIVER == "harness."
        - @[.vms]test.com "$(E)" "$(__DEBUG__)"
        @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests.
 
-minitest : $(MINITEST_EXE) [.lib.VMS]Filespec.pm unidatafiles.ts
+minitest : $(MINITEST_EXE) unidatafiles.ts
        @ PERL_TEST_DRIVER == "minitest"
        - @[.vms]test.com "$(E)" "$(__DEBUG__)"
 
@@ -899,7 +890,6 @@ realclean : clean
        - If F$Search("Perl_Setup.Com").nes."" Then Delete/NoConfirm/Log Perl_Setup.Com;*
        - If F$Search("[.t]rantests.").nes."" Then Delete/NoConfirm/Log [.t]rantests.;*
        - If F$Search("[.t]test_state.").nes."" Then Delete/NoConfirm/Log [.t]test_state.;*
-       - If F$Search("[.t.lib]vmsfspec.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vmsfspec.t;*
        - If F$Search("[.t.lib]vmsish.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vmsish.t;*
        - If F$Search("vmspipe.com").nes."" Then Delete/NoConfirm/Log vmspipe.com;*
        - If F$Search("[.lib]buildcustomize.pl").nes."" Then Delete/NoConfirm/Log [.lib]buildcustomize.pl;*
index 55c1ce6..f65e578 100644 (file)
@@ -6,7 +6,7 @@ use strict;
 use warnings;
 
 my $no = join('|',qw(GDBM_File ODBM_File NDBM_File DB_File
-                     VMS VMS-DCLsym VMS-Stdio Sys-Syslog IPC-SysV I18N-Langinfo));
+                     VMS.* Sys-Syslog IPC-SysV I18N-Langinfo));
 $no = qr/^(?:$no)$/i;
 
 sub apply_config {
index 92c75de..576fe5c 100644 (file)
@@ -7,9 +7,6 @@ if (@ARGV) {
     unshift @INC, 'lib';
 }
 
-unshift @INC, ('dist/Cwd', 'dist/Cwd/lib');
-require File::Spec::Functions;
-
 my $file = 'lib/buildcustomize.pl';
 
 # To clarify, this isn't the entire suite of modules considered "toolchain"
@@ -35,6 +32,10 @@ my @toolchain = qw(cpan/AutoLoader/lib
 
 # Used only in ExtUtils::Liblist::Kid::_win32_ext()
 push @toolchain, 'cpan/Text-ParseWords/lib' if $^O eq 'MSWin32';
+push @toolchain, 'ext/VMS-Filespec/lib' if $^O eq 'VMS';
+
+unshift @INC, @toolchain;
+require File::Spec::Functions;
 
 # lib must be last, as the toolchain modules write themselves into it
 # as they build, and it's important that @INC order ensures that the partially