Move XSSymSet.pm to lib/ExtUtils/, but only install it on VMS.
Nicholas Clark [Thu, 5 Feb 2009 13:55:07 +0000 (13:55 +0000)]
This reduces the number of places with special-casing logic.

MANIFEST
installperl
lib/ExtUtils/XSSymSet.pm [moved from vms/ext/XSSymSet.pm with 100% similarity]
vms/descrip_mms.template

index bb91a8a..55ddd10 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -2086,6 +2086,7 @@ lib/ExtUtils/t/WriteEmptyMakefile.t       See if WriteEmptyMakefile works
 lib/ExtUtils/t/writemakefile_args.t    See if WriteMakefile works
 lib/ExtUtils/t/xs.t            Part of MakeMaker's test suite
 lib/ExtUtils/typemap           Extension interface types
+lib/ExtUtils/XSSymSet.pm       on VMS, manage linker symbols when building extensions
 lib/ExtUtils/xsubpp            External subroutine preprocessor
 lib/fastcwd.pl                 a faster but more dangerous getcwd
 lib/Fatal.pm                   Make errors in functions/builtins fatal
@@ -4310,7 +4311,6 @@ vms/ext/Stdio/Makefile.PL MakeMaker driver for VMS::Stdio
 vms/ext/Stdio/Stdio.pm         VMS options to stdio routines
 vms/ext/Stdio/Stdio.xs         VMS options to stdio routines
 vms/ext/Stdio/test.pl          regression tests for VMS::Stdio
-vms/ext/XSSymSet.pm            manage linker symbols when building extensions
 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 93c0c9f..8d5573d 100755 (executable)
@@ -742,6 +742,8 @@ sub installlib {
 
     $name = "$dir/$name" if $dir ne '';
 
+    return if $name eq 'ExtUtils/XSSymSet.pm' and !$Is_VMS;
+
     my $installlib = $installprivlib;
     if ($dir =~ /^auto/ ||
          ($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1}) ||
similarity index 100%
rename from vms/ext/XSSymSet.pm
rename to lib/ExtUtils/XSSymSet.pm
index bb4e00e..a2f2067 100644 (file)
@@ -352,7 +352,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 [.lib]DynaLoader.pm [.lib]XSLoader.pm [.lib]lib.pm [.lib.ExtUtils]XSSymSet.pm $(ARCHDIR)vmspipe.com [.lib]re.pm unidatafiles.ts
+LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl [.lib.VMS]Filespec.pm [.lib]DynaLoader.pm [.lib]XSLoader.pm [.lib]lib.pm $(ARCHDIR)vmspipe.com [.lib]re.pm unidatafiles.ts
 
 utils1 = [.lib.pods]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com 
 utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.utils]dprofpp.com 
@@ -541,7 +541,7 @@ unidatafiles.ts : $(MINIPERL_EXE) [.lib]Config.pm [.lib.unicore]mktables
        @ If F$Search("$(MMS$TARGET)").nes."" Then Delete/NoLog/NoConfirm $(MMS$TARGET);*
        @ Copy/NoConfirm _NLA0: $(MMS$TARGET)
  
-[.ext.DynaLoader]dl_vms.c : [.ext.DynaLoader]dl_vms.xs $(ARCHDIR)Config.pm [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE) [.lib.VMS]Filespec.pm 
+[.ext.DynaLoader]dl_vms.c : [.ext.DynaLoader]dl_vms.xs $(ARCHDIR)Config.pm $(MINIPERL_EXE) [.lib.VMS]Filespec.pm 
        $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
 
 [.ext.DynaLoader]dl_vms$(O) : [.ext.DynaLoader]dl_vms.c
@@ -575,10 +575,6 @@ dynext : $(LIBPREREQ) $(DBG)perlshr$(E) preplibrary makeppport
        @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
        Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.VMS]
 
-[.lib.ExtUtils]XSSymSet.pm : [.vms.ext]XSSymSet.pm
-       @ If F$Search("[.lib]ExtUtils.Dir").eqs."" Then Create/Directory [.lib.ExtUtils]
-       Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.ExtUtils]
-
 [.lib.pods]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm
        @ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
        $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE)
@@ -1830,7 +1826,6 @@ tidy : cleanlis
        - If F$Search("[.lib]Config_heavy.pl;-1").nes."" Then Purge/NoConfirm/Log [.lib]Config_heavy.pl
        - If F$Search("$(ARCHDIR)Config_heavy.pl;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config_heavy.pl
        - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm
-       - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm
        - If F$Search("[.lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.lib.VMS]*.*
        - If F$Search("[.lib.pods]*.Pod;-1").nes."" Then Purge/NoConfirm/Log [.lib.pods]*.Pod
        - If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.*
@@ -1894,7 +1889,6 @@ realclean : clean
        - If F$Search("$(ARCHDIR)Config.pm").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config.pm;*
        - If F$Search("$(ARCHDIR)Config_heavy.pl").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config_heavy.pl;*
        - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;*
-       - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm;*
        - If F$Search("[.lib.pods]*.pod").nes."" Then Delete/NoConfirm/Log [.lib.pods]*.pod;*
        - If F$Search("[.lib.pods]perldoc.com").nes."" Then Delete/NoConfirm/Log [.lib.pods]perldoc.com;*
        - If F$Search("[.utils]perlivp.com").nes."" Then Delete/NoConfirm/Log [.utils]perlivp.com;*