summaryrefslogtreecommitdiff
path: root/win32/Makefile
diff options
context:
space:
mode:
authorTony Cook <tony@develop-help.com>2018-01-10 11:32:43 +1100
committerTony Cook <tony@develop-help.com>2018-02-08 13:58:14 +1100
commitc0e3b4b51cabf15ed8fc5f564dfeea31c25f5239 (patch)
treeb7781d7bde6800522f3b4cf56ed46bd59fb6551d /win32/Makefile
parentd6ecacbcfb0cb2280a237e991e0a57ff707e4e42 (diff)
downloadperl-c0e3b4b51cabf15ed8fc5f564dfeea31c25f5239.tar.gz
(perl #127743) re-work recursion limit handling
Previously this worked by calculating the limits and then rebuilding Storable.so, this meant Storable.so was built twice meaning a new make would then rebuild its dependencies. This was also a hard limit, so if Storable's user knew the available stack space changed they would need to rebuild Storable to adapt. This also allows for successful static Storable builds. I also updated the stacksize tool to prevent popping up segfault error messages at the user on Win32. Since I was still seeing test failures in recurse.t on a variety of platforms, I made the default limit calculations even more conservative.
Diffstat (limited to 'win32/Makefile')
-rw-r--r--win32/Makefile10
1 files changed, 5 insertions, 5 deletions
diff --git a/win32/Makefile b/win32/Makefile
index ff7c4e671a..3889ff9ec5 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -1225,13 +1225,12 @@ Extensions_clean:
Extensions_realclean:
-if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean
-PostExt: rebuild_storable
+PostExt: ..\lib\Storable\Limit.pm
-rebuild_storable: $(PERLEXE)
+..\lib\Storable\Limit.pm: $(PERLEXE) Extensions
$(PERLEXE) -I..\lib -I. ..\dist\Storable\stacksize --core
- cd ..\dist\Storable
- $(MAKE) PERL_CORE=1
- cd ..\..\win32
+ if not exist ..\lib\Storable mkdir ..\lib\Storable
+ copy ..\dist\Storable\lib\Storable\Limit.pm ..\lib\Storable\Limit.pm
#-------------------------------------------------------------------------------
@@ -1311,6 +1310,7 @@ distclean: realclean
-del /f $(LIBDIR)\Time\HiRes.pm
-del /f $(LIBDIR)\Unicode\Normalize.pm
-del /f $(LIBDIR)\Math\BigInt\FastCalc.pm
+ -del /f $(LIBDIR)\Storable.pm $(LIBDIR)\Storable\Limit.pm
-del /f $(LIBDIR)\Win32.pm
-del /f $(LIBDIR)\Win32CORE.pm
-del /f $(LIBDIR)\Win32API\File.pm