diff options
-rw-r--r-- | MANIFEST | 3 | ||||
-rwxr-xr-x | Makefile.SH | 7 | ||||
-rwxr-xr-x | Porting/Maintainers.pl | 1 | ||||
-rw-r--r-- | ext/ExtUtils-Miniperl/Makefile.PL | 40 | ||||
-rw-r--r-- | ext/ExtUtils-Miniperl/Miniperl_pm.PL (renamed from minimod.pl) | 7 | ||||
-rw-r--r-- | vms/descrip_mms.template | 9 | ||||
-rw-r--r-- | win32/Makefile | 15 | ||||
-rw-r--r-- | win32/makefile.mk | 13 |
8 files changed, 59 insertions, 36 deletions
@@ -3567,6 +3567,8 @@ ext/Errno/ChangeLog Errno changes ext/Errno/Errno_pm.PL Errno perl module create script ext/Errno/Makefile.PL Errno extension makefile writer ext/Errno/t/Errno.t See if Errno works +ext/ExtUtils-Miniperl/Makefile.PL Runs Miniperl_pm.PL +ext/ExtUtils-Miniperl/Miniperl_pm.PL Writes ext/ExtUtils-Miniperl/Miniperl.pm ext/Fcntl/Fcntl.pm Fcntl extension Perl module ext/Fcntl/Fcntl.xs Fcntl extension external subroutines ext/Fcntl/Makefile.PL Fcntl extension makefile writer @@ -4336,7 +4338,6 @@ mg.h Magic header mg_names.c Generated magic names used by dump.c mg_raw.h Generated magic data used by generate_uudmap.c mg_vtable.h Generated magic vtable data -minimod.pl Writes lib/ExtUtils/Miniperl.pm miniperlmain.c Basic perl w/o dynamic loading or extensions mkppport A script that distributes ppport.h mkppport.lst List of extensions that need a ppport.h diff --git a/Makefile.SH b/Makefile.SH index 2d5006d6dc..9ef70bd5aa 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -453,7 +453,7 @@ shextract=`SH_to_target $SH` ## In the following dollars and backticks do not need the extra backslash. $spitshell >>$Makefile <<!GROK!THIS! -private = preplibrary \$(CONFIGPM) \$(CONFIGPOD) lib/ExtUtils/Miniperl.pm git_version.h lib/buildcustomize.pl +private = preplibrary \$(CONFIGPM) \$(CONFIGPOD) git_version.h lib/buildcustomize.pl # Files to be built with variable substitution before miniperl # is available. @@ -684,7 +684,7 @@ generate_uudmap$(OBJ_EXT): mg_raw.h generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT) $(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs) -perlmain.c: $(MINIPERL_EXE) lib/ExtUtils/Miniperl.pm +perlmain.c: $(MINIPERL_EXE) ext/ExtUtils-Miniperl/pm_to_blib $(MINIPERL) -Ilib -MExtUtils::Miniperl -e 'writemain(@ARGV)' DynaLoader $(static_ext) > perlmain.c # The file ext.libs is a list of libraries that must be linked in @@ -978,9 +978,6 @@ $(CONFIGPM_FROM_CONFIG_SH): $(CONFIGPOD) $(CONFIGPOD): config.sh $(MINIPERL_EXE) configpm Porting/Glossary lib/Config_git.pl $(MINIPERL) configpm -lib/ExtUtils/Miniperl.pm: miniperlmain.c $(MINIPERL_EXE) minimod.pl $(CONFIGPM) - $(MINIPERL) minimod.pl > lib/ExtUtils/Miniperl.pm - unidatafiles $(unidatafiles) pod/perluniprops.pod: uni.data uni.data: $(MINIPERL_EXE) $(CONFIGPM) lib/unicore/mktables $(nonxs_ext) diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index 70556c9420..959606bb41 100755 --- a/Porting/Maintainers.pl +++ b/Porting/Maintainers.pl @@ -2030,6 +2030,7 @@ use File::Glob qw(:case); 'MAINTAINER' => 'p5p', 'FILES' => q[ ext/arybase/ + ext/ExtUtils-Miniperl/ ext/XS-APItest/ lib/CORE.pod lib/Config.t diff --git a/ext/ExtUtils-Miniperl/Makefile.PL b/ext/ExtUtils-Miniperl/Makefile.PL new file mode 100644 index 0000000000..16c3ecb42e --- /dev/null +++ b/ext/ExtUtils-Miniperl/Makefile.PL @@ -0,0 +1,40 @@ +#!perl -w + +# Blatantly copied from ext/Pod-Functions/Makefile.PL +# If we think we want a third copy, then it's time to find a better way to do +# this. (Note, we have no ABSTRACT_FROM here) +# But for now, this replaces a bunch of platform specific special case code +# in the Makefiles for *nix, Win32 and VMS with one unified implementation. +# And in Perl, rather than 3+ different languages. + +use strict; +use ExtUtils::MakeMaker; +use File::Spec::Functions; + +WriteMakefile(NAME => 'ExtUtils::Miniperl', + VERSION_FROM => 'Miniperl_pm.PL', + LICENSE => 'perl', + PREREQ_PM => {}, + AUTHOR => 'Perl 5 Porters <perlbug@perl.org>', + INSTALLDIRS => 'perl', + PL_FILES => {}, # Stop EU::MM defaulting this to run our PL + PM => {'Miniperl.pm' => '$(INST_LIBDIR)/Miniperl.pm'}, + clean => {FILES => 'Miniperl.pm'}, + ); + +# There doesn't seem to be any way to get ExtUtils::MakeMaker to add a +# dependency on another file (or target), and as it's using :: rules, not : +# rules, then we can't simply add a one line dependency. So we need to provide +# the entire thing. Fortunately, the same code in MM_Unix.pm is actually used +# for all platforms, so this code below should also be portable: + +sub MY::postamble { + my $main = catfile(updir, updir, 'miniperlmain.c'); + return <<"EOT"; +all :: Miniperl.pm + \$(NOECHO) \$(NOOP) + +Miniperl.pm :: Miniperl_pm.PL $main + \$(PERLRUN) Miniperl_pm.PL $main +EOT +} diff --git a/minimod.pl b/ext/ExtUtils-Miniperl/Miniperl_pm.PL index a59b7f202b..a7de280dc0 100644 --- a/minimod.pl +++ b/ext/ExtUtils-Miniperl/Miniperl_pm.PL @@ -11,10 +11,11 @@ # # Version 1.0, Feb 2nd 1995 by Andreas Koenig -BEGIN { unshift @INC, "lib" } - use strict; +open STDOUT, '>Miniperl.pm' + or die "Can't open Miniperl.pm: $!"; + print <<'END'; # This File keeps the contents of miniperlmain.c. # @@ -33,7 +34,7 @@ require Exporter; $head= <<'EOF!HEAD'; END -open MINI, "miniperlmain.c"; +open MINI, shift; while (<MINI>) { last if /Do not delete this line--writemain depends on it/; print; diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index de57563662..73376b2dba 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -282,7 +282,7 @@ 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 -utils1 = [.utils]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com +utils1 = [.utils]perldoc.com [.utils]c2ph.com [.utils]h2ph.com utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.utils]json_pp.com utils3 = [.utils]perlivp.com [.lib]splain.com [.utils]pl2pm.com [.utils]xsubpp.com [.utils]pod2html.com [.utils]instmodsh.com utils4 = [.utils]enc2xs.com [.utils]piconv.com [.utils]cpan.com [.utils]prove.com [.utils]ptar.com [.utils]ptardiff.com [.utils]shasum.com @@ -364,7 +364,7 @@ $(DBG)libperlmini$(OLB) : $(mini_obj) @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET) Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST) -perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.lib.ExtUtils]Miniperl.pm +perlmain.c : miniperlmain.c $(MINIPERL_EXE) nonxsext $(MINIPERL) -"MExtUtils::Miniperl" -e "writemain(@ARGV)" "$(EXT)" > perlmain.c .ifdef __DEBUG__ @@ -451,9 +451,6 @@ nonxsext : $(LIBPREREQ) preplibrary $(MINIPERL_EXE) [.pod]perlfunc.pod [.utils]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) -[.lib.ExtUtils]Miniperl.pm : Minimod.PL miniperlmain.c $(ARCHDIR)Config.pm - $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) >$(MMS$TARGET) - [.utils]perlivp.com : [.utils]perlivp.PL $(ARCHDIR)Config.pm $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) @@ -819,7 +816,6 @@ tidy : cleanlis - If F$Search("$(ARCHDIR)Config.pm;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config.pm - 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.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.lib.VMS]*.* - If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.* - If F$Search("[.lib]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib]*.com @@ -878,7 +874,6 @@ realclean : clean - If F$Search("[.x2p]*.com").nes."" Then Delete/NoConfirm/Log [.x2p]*.com;* - 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("[.utils]perldoc.com").nes."" Then Delete/NoConfirm/Log [.utils]perldoc.com;* - If F$Search("[.utils]perlivp.com").nes."" Then Delete/NoConfirm/Log [.utils]perlivp.com;* - If F$Search("[...]*$(E)").nes."" Then Delete/NoConfirm/Log [...]*$(E);* diff --git a/win32/Makefile b/win32/Makefile index 521db489ae..8968a67e49 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -550,7 +550,6 @@ WPERLEXE = ..\wperl.exe PERLEXESTATIC = ..\perl-static.exe GLOBEXE = ..\perlglob.exe CONFIGPM = ..\lib\Config.pm ..\lib\Config_heavy.pl -MINIMOD = ..\lib\ExtUtils\Miniperl.pm X2P = ..\x2p\a2p.exe GENUUDMAP = ..\generate_uudmap.exe !IF "$(BUILD_STATIC)" == "define" || "$(ALL_STATIC)" == "define" @@ -816,7 +815,7 @@ ICWD = -I..\dist\Cwd -I..\dist\Cwd\lib # Top targets # -all : .\config.h ..\git_version.h $(GLOBEXE) $(MINIMOD) $(CONFIGPM) \ +all : .\config.h ..\git_version.h $(GLOBEXE) $(CONFIGPM) \ $(UNIDATAFILES) MakePPPort $(PERLEXE) $(X2P) Extensions_nonxs Extensions $(PERLSTATIC) @echo Everything is up to date. '$(MAKE_BARE) test' to run test suite. @@ -826,7 +825,7 @@ regnodes : ..\regnodes.h ..\regexec$(o) : ..\regnodes.h ..\regcharclass.h -reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(MINIMOD) $(CONFIGPM) \ +reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(CONFIGPM) \ $(UNIDATAFILES) $(PERLEXE) $(X2P) Extensions_reonly @echo Perl and 're' are up to date. @@ -943,7 +942,7 @@ regen_config_h: -$(MINIPERL) -I..\lib config_h.PL rename config.h $(CFGH_TMPL) -$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl +$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL $(MINIPERL) -I..\lib ..\configpm --chdir=.. if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL) $(XCOPY) ..\*.h $(COREDIR)\*.* @@ -1008,11 +1007,6 @@ $(PERLSTATICLIB): Extensions_static $(PERLEXE_RES): perlexe.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO) -$(MINIMOD) : $(MINIPERL) ..\minimod.pl - cd .. - miniperl minimod.pl > lib\ExtUtils\Miniperl.pm - cd win32 - ..\x2p\a2p$(o) : ..\x2p\a2p.c $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\a2p.c @@ -1170,8 +1164,7 @@ utils: $(PERLEXE) $(X2P) ..\utils\Makefile distclean: realclean -del /f $(MINIPERL) $(PERLEXE) $(PERLDLL) $(GLOBEXE) \ - $(PERLIMPLIB) ..\miniperl.lib $(MINIMOD) \ - $(PERLEXESTATIC) $(PERLSTATICLIB) + $(PERLIMPLIB) ..\miniperl.lib $(PERLEXESTATIC) $(PERLSTATICLIB) -del /f *.def *.map -del /f $(LIBDIR)\Encode.pm $(LIBDIR)\encoding.pm $(LIBDIR)\Errno.pm -del /f $(LIBDIR)\Config.pod $(LIBDIR)\POSIX.pod $(LIBDIR)\threads.pm diff --git a/win32/makefile.mk b/win32/makefile.mk index 6a9d6209f1..376eb5aa23 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -644,7 +644,6 @@ PERLEXESTATIC = ..\perl-static.exe STATICDIR = .\static.tmp GLOBEXE = ..\perlglob.exe CONFIGPM = ..\lib\Config.pm ..\lib\Config_heavy.pl -MINIMOD = ..\lib\ExtUtils\Miniperl.pm X2P = ..\x2p\a2p.exe GENUUDMAP = ..\generate_uudmap.exe .IF "$(BUILD_STATIC)" == "define" || "$(ALL_STATIC)" == "define" @@ -929,7 +928,7 @@ ICWD = -I..\dist\Cwd -I..\dist\Cwd\lib # all : CHECKDMAKE .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) \ - $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) MakePPPort \ + $(CONFIGPM) $(UNIDATAFILES) MakePPPort \ $(PERLEXE) $(X2P) Extensions Extensions_nonxs $(PERLSTATIC) regnodes : ..\regnodes.h @@ -939,7 +938,7 @@ regnodes : ..\regnodes.h ..\regexec$(o) : ..\regnodes.h ..\regcharclass.h reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) \ - $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) \ + $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) \ $(X2P) Extensions_reonly static: $(PERLEXESTATIC) @@ -1068,7 +1067,7 @@ regen_config_h: -$(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)" rename config.h $(CFGH_TMPL) -$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl +$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL $(MINIPERL) -I..\lib ..\configpm --chdir=.. if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL) $(XCOPY) ..\*.h $(COREDIR)\*.* @@ -1171,9 +1170,6 @@ $(PERLSTATICLIB): $(PERLDLL_OBJ) Extensions_static $(PERLEXE_RES): perlexe.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO) -$(MINIMOD) : $(MINIPERL) ..\minimod.pl - cd .. && miniperl minimod.pl > lib\ExtUtils\Miniperl.pm - ..\x2p\a2p$(o) : ..\x2p\a2p.c $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\a2p.c @@ -1346,8 +1342,7 @@ utils: $(PERLEXE) $(X2P) ..\utils\Makefile distclean: realclean -del /f $(MINIPERL) $(PERLEXE) $(PERLDLL) $(GLOBEXE) \ - $(PERLIMPLIB) ..\miniperl$(a) $(MINIMOD) \ - $(PERLEXESTATIC) $(PERLSTATICLIB) + $(PERLIMPLIB) ..\miniperl$(a) $(PERLEXESTATIC) $(PERLSTATICLIB) -del /f *.def *.map -del /f $(LIBDIR)\Encode.pm $(LIBDIR)\encoding.pm $(LIBDIR)\Errno.pm -del /f $(LIBDIR)\Config.pod $(LIBDIR)\POSIX.pod $(LIBDIR)\threads.pm |