In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/9139c7231c70a9388d718abc41e91edaf43422ec?hp=2096afc47576baa623939e9e084b606dc97f60d8>
- Log ----------------------------------------------------------------- commit 9139c7231c70a9388d718abc41e91edaf43422ec Author: Nicholas Clark <[email protected]> Date: Wed Sep 16 09:03:10 2009 +0100 Revert 109e4020 and 2da760ce for now. Win32 needs to AutoSplit DynaLoader.pm Khan! Win32 is special. It builds DynaLoader by hand, copies in DynaLoader.pm (and XSLoader.pm) to lib, and *then* runs, and relies on, the general AutoSplit to split them. It would be better if everything standardised on building DynaLoader via its Makefile.PL and MakeMaker. This reverts commit 2da760ceef1d2d90b3141bdeb239c7d7580be05a. This reverts commit 109e4020ef40828991be28fb05d9f269b4d92530. ----------------------------------------------------------------------- Summary of changes: MANIFEST | 2 ++ NetWare/Makefile | 6 +++++- NetWare/splittree.pl | 24 ++++++++++++++++++++++++ win32/Makefile | 6 +++++- win32/makefile.mk | 6 +++++- win32/splittree.pl | 24 ++++++++++++++++++++++++ 6 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 NetWare/splittree.pl create mode 100644 win32/splittree.pl diff --git a/MANIFEST b/MANIFEST index 30ba2e0..ce6279c 100644 --- a/MANIFEST +++ b/MANIFEST @@ -3679,6 +3679,7 @@ NetWare/NWUtil.c NetWare port NetWare/nwutil.h NetWare port NetWare/nwvmem.h NetWare port NetWare/perllib.cpp NetWare port +NetWare/splittree.pl NetWare port NetWare/sv_nw.c NetWare port NetWare/testnlm/echo/echo.c NetWare port NetWare/testnlm/type/type.c NetWare port @@ -4617,6 +4618,7 @@ win32/perlmaince.c WinCE port win32/perl.rc WinCE port win32/pod.mak Win32 port win32/runperl.c Win32 port +win32/splittree.pl Win32 port win32/sync_ext.pl Win32 port win32/vdir.h Perl "host" virtual directory manager for CE win32/vmem.h Perl "host" memory manager for CE diff --git a/NetWare/Makefile b/NetWare/Makefile index 0696df1..9ae1c7a 100644 --- a/NetWare/Makefile +++ b/NetWare/Makefile @@ -1041,6 +1041,8 @@ $(NLM_NAME): MESSAGE HEADERS $(BLDDIR)\nul $(NLM_OBJ) $(NEWTARE_OBJ_DEP) $(NEWTA !endif ## $(LINK) $(LDFLAGS) $(BS_CFLAGS) -desc "Perl 5.6.1 for NetWare" $(NEWTARE_OBJ_DEP:.obj=.obj) $(NLM_OBJ:.obj=.obj) $(PERL_IO_OBJ_DEP:.obj=.obj) $(DLL_OBJ:.obj=.obj) $(NEWTARE_CPP_OBJ_DEP:.obj=.ob ... [40 chars truncated] $(LINK) $(LDFLAGS) -desc $(MODULE_DESC) $(NEWTARE_OBJ_DEP:.obj=.obj) $(NLM_OBJ:.obj=.obj) $(PERL_IO_OBJ_DEP:.obj=.obj) $(DLL_OBJ:.obj=.obj) $(NEWTARE_CPP_OBJ_DEP:.obj=.obj) -commandfile $*.def -o .\ ... [12 chars truncated] + copy splittree.pl .. + $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR) @echo ========Linked $@ ========== @echo======= Finished building $(BUILT). @@ -1417,7 +1419,7 @@ distclean: clean nwclean -del /f /q *.bat *.exe -del /f /q *.obj *.map *.link *.xdc *.err cd ..\netware - -del /f /q ..\config.sh dlutils.c config.h.new + -del /f /q ..\config.sh ..\splittree.pl dlutils.c config.h.new -del /f /q $(CONFIGPM) -del /f /q bin\*.bat cd $(EXTDIR) @@ -1463,6 +1465,8 @@ install_tests : nwinstall: utils installnw install_tests inst_lib : $(CONFIGPM) + copy ..\win32\splittree.pl .. + $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR) $(RCOPY) ..\lib $(INST_LIB)\*.* clean : diff --git a/NetWare/splittree.pl b/NetWare/splittree.pl new file mode 100644 index 0000000..3c76daa --- /dev/null +++ b/NetWare/splittree.pl @@ -0,0 +1,24 @@ +use DirHandle; +use AutoSplit; + +sub splitthis { +my ($top,$base,$dest) = @_; +my $d = new DirHandle $base; +if (defined $d) { + while (defined($_ = $d->read)) { + next if $_ eq "."; + next if $_ eq ".."; + my $entry = "$base\\$_"; + my $entrywithouttop = $entry; + $entrywithouttop =~ s/^$top//; + if (-d $entry) {splitthis ($top,$entry,$dest);} + else { + next unless ($entry=~/pm$/i); + #print "Will run autosplit on $entry to $dest\n"; + autosplit($entry,$dest,0,1,1); + }; + }; + }; +} + +splitthis $ARGV[0],$ARGV[0],$ARGV[1]; diff --git a/win32/Makefile b/win32/Makefile index f737f52..d4eb178 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -1026,6 +1026,8 @@ $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES) $(EMBED_EXE_MANI) copy $(PERLEXE) $(WPERLEXE) $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS + copy splittree.pl .. + $(MINIPERL) -I..\lib -I..\ext\Cwd ..\splittree.pl "../LIB" $(AUTODIR) $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES) $(LINK32) -subsystem:console -out:$@ -stack:0x1000000 $(LINK_FLAGS) \ @@ -1222,7 +1224,7 @@ distclean: realclean perldoc perlivp dprofpp libnetcfg enc2xs piconv cpan *.bat \ xsubpp instmodsh prove ptar ptardiff cpanp-run-perl cpanp cpan2dist shasum corelist config_data -cd ..\x2p && del /f find2perl s2p psed *.bat - -del /f ..\config.sh perlmain.c dlutils.c config.h.new \ + -del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new \ perlmainst.c -del /f $(CONFIGPM) -del /f ..\lib\Config_git.pl @@ -1253,6 +1255,8 @@ installhtml : doc $(RCOPY) $(HTMLDIR)\*.* $(INST_HTML)\*.* inst_lib : $(CONFIGPM) + copy splittree.pl .. + $(MINIPERL) -I..\lib -I..\ext\Cwd ..\splittree.pl "../LIB" $(AUTODIR) $(RCOPY) ..\lib $(INST_LIB)\*.* $(UNIDATAFILES) : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables Extensions_nonxs diff --git a/win32/makefile.mk b/win32/makefile.mk index 83387c7..a4dc36a 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -1346,6 +1346,8 @@ $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES) .ENDIF copy $(PERLEXE) $(WPERLEXE) $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS + copy splittree.pl .. + $(MINIPERL) -I..\lib -I..\ext\Cwd ..\splittree.pl "../LIB" $(AUTODIR) $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES) .IF "$(CCTYPE)" == "BORLAND" @@ -1547,7 +1549,7 @@ distclean: realclean perldoc perlivp dprofpp libnetcfg enc2xs piconv cpan *.bat \ xsubpp instmodsh prove ptar ptardiff cpanp-run-perl cpanp cpan2dist shasum corelist config_data -cd ..\x2p && del /f find2perl s2p psed *.bat - -del /f ..\config.sh perlmain.c dlutils.c config.h.new \ + -del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new \ perlmainst.c -del /f $(CONFIGPM) -del /f ..\lib\Config_git.pl @@ -1578,6 +1580,8 @@ installhtml : doc $(RCOPY) $(HTMLDIR)\*.* $(INST_HTML)\*.* inst_lib : $(CONFIGPM) + copy splittree.pl .. + $(MINIPERL) -I..\lib -I..\ext\Cwd ..\splittree.pl "../LIB" $(AUTODIR) $(RCOPY) ..\lib $(INST_LIB)\*.* $(UNIDATAFILES) .UPDATEALL : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables Extensions_nonxs diff --git a/win32/splittree.pl b/win32/splittree.pl new file mode 100644 index 0000000..3c76daa --- /dev/null +++ b/win32/splittree.pl @@ -0,0 +1,24 @@ +use DirHandle; +use AutoSplit; + +sub splitthis { +my ($top,$base,$dest) = @_; +my $d = new DirHandle $base; +if (defined $d) { + while (defined($_ = $d->read)) { + next if $_ eq "."; + next if $_ eq ".."; + my $entry = "$base\\$_"; + my $entrywithouttop = $entry; + $entrywithouttop =~ s/^$top//; + if (-d $entry) {splitthis ($top,$entry,$dest);} + else { + next unless ($entry=~/pm$/i); + #print "Will run autosplit on $entry to $dest\n"; + autosplit($entry,$dest,0,1,1); + }; + }; + }; +} + +splitthis $ARGV[0],$ARGV[0],$ARGV[1]; -- Perl5 Master Repository
