summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2009-09-16 09:03:10 +0100
committerNicholas Clark <nick@ccl4.org>2009-09-16 09:03:10 +0100
commit9139c7231c70a9388d718abc41e91edaf43422ec (patch)
tree251ae5d6f5c3743582884d8cf6847b63e908bdce /win32
parent2096afc47576baa623939e9e084b606dc97f60d8 (diff)
downloadperl-9139c7231c70a9388d718abc41e91edaf43422ec.tar.gz
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.
Diffstat (limited to 'win32')
-rw-r--r--win32/Makefile6
-rw-r--r--win32/makefile.mk6
-rw-r--r--win32/splittree.pl24
3 files changed, 34 insertions, 2 deletions
diff --git a/win32/Makefile b/win32/Makefile
index f737f52a21..d4eb178f86 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 83387c74c2..a4dc36ab3a 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 0000000000..3c76daadb1
--- /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];