summaryrefslogtreecommitdiff
path: root/NetWare
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 /NetWare
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 'NetWare')
-rw-r--r--NetWare/Makefile6
-rw-r--r--NetWare/splittree.pl24
2 files changed, 29 insertions, 1 deletions
diff --git a/NetWare/Makefile b/NetWare/Makefile
index 0696df1485..9ae1c7a2dd 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=.obj) -commandfile $*.def -o .\$(BLDDIR)\$@
$(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 .\$(BLDDIR)\$@
+ 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 0000000000..3c76daadb1
--- /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];