diff options
| author | Nicholas Clark <nick@ccl4.org> | 2011-02-14 20:36:36 +0000 |
|---|---|---|
| committer | Nicholas Clark <nick@ccl4.org> | 2011-02-15 14:10:05 +0000 |
| commit | 7353f64c5bca6e7102582a1e0017c850930249c3 (patch) | |
| tree | 775c3f14fedba90c1dea85e06b108b1c44fec90a | |
| parent | 5e4c4c91bd52a48de59520d5e9b4e3478e49c613 (diff) | |
| download | perl-7353f64c5bca6e7102582a1e0017c850930249c3.tar.gz | |
Add ext/re/re.pm to the @INC set for miniperl by lib/buildcustomize.pl
This avoids a build-time race condition where lib/re.pm might be read midway
through the *second* copy of it (when ext/re/Makefile is being run). It also
simplifies many [Mm]akefile* rules, which previously had a special case to
copy it early.
| -rw-r--r-- | Cross/Makefile-cross-SH | 8 | ||||
| -rwxr-xr-x | Makefile.SH | 10 | ||||
| -rw-r--r-- | vms/descrip_mms.template | 7 | ||||
| -rw-r--r-- | win32/Makefile | 1 | ||||
| -rw-r--r-- | win32/makefile.mk | 1 | ||||
| -rw-r--r-- | write_buildcustomize.pl | 1 |
6 files changed, 8 insertions, 20 deletions
diff --git a/Cross/Makefile-cross-SH b/Cross/Makefile-cross-SH index d1d2cbf7a1..65d496a583 100644 --- a/Cross/Makefile-cross-SH +++ b/Cross/Makefile-cross-SH @@ -717,7 +717,7 @@ fi $spitshell >>$Makefile <<'!NO!SUBS!' .PHONY: preplibrary -preplibrary: miniperl $(CONFIGPM) lib/lib.pm lib/re.pm $(PREPLIBRARY_LIBPERL) +preplibrary: miniperl $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL) .PHONY: makeppport makeppport: miniperl$(EXE_EXT) $(CONFIGPM) @@ -734,10 +734,6 @@ lib/re.pm: ext/re/re.pm @-rm -f $@ cp ext/re/re.pm lib/re.pm -lib/lib.pm: miniperl $(CONFIGPM) - @-rm -f $@ - $(LDLIBPTH) ./miniperl -Ilib -MCross lib/lib_pm.PL - lib/buildcustomize.pl: $(MINIPERL_EXE) write_buildcustomize.pl $(MINIPERL) write_buildcustomize.pl >lib/buildcustomize.pl @@ -1193,7 +1189,7 @@ minitest.prep: # Can't depend on lib/Config.pm because that might be where miniperl # is crashing. -minitest: miniperl$(EXE_EXT) lib/re.pm minitest.prep +minitest: miniperl$(EXE_EXT) minitest.prep - cd t && (rm -f perl$(EXE_EXT); $(LNS) ../miniperl$(EXE_EXT) perl$(EXE_EXT)) \ && $(LDLIBPTH) ./perl TEST -minitest base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t </dev/tty diff --git a/Makefile.SH b/Makefile.SH index 6577cc3e58..2aca5cdf73 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -985,7 +985,7 @@ esac $spitshell >>$Makefile <<'!NO!SUBS!' .PHONY: preplibrary -preplibrary: $(MINIPERL_EXE) $(CONFIGPM) lib/re.pm $(PREPLIBRARY_LIBPERL) +preplibrary: $(MINIPERL_EXE) $(CONFIGPM) $(PREPLIBRARY_LIBPERL) $(CONFIGPM_FROM_CONFIG_SH): $(CONFIGPOD) @@ -995,10 +995,6 @@ $(CONFIGPOD): config.sh $(MINIPERL_EXE) configpm Porting/Glossary lib/Config_git lib/ExtUtils/Miniperl.pm: miniperlmain.c $(MINIPERL_EXE) minimod.pl $(CONFIGPM) $(MINIPERL) minimod.pl > lib/ExtUtils/Miniperl.pm -lib/re.pm: ext/re/re.pm - @-rm -f $@ - cp ext/re/re.pm lib/re.pm - lib/buildcustomize.pl: $(MINIPERL_EXE) write_buildcustomize.pl $(MINIPERL) write_buildcustomize.pl >lib/buildcustomize.pl @@ -1273,7 +1269,7 @@ _cleaner2: rm -f lib/.exists lib/*/.exists lib/*/*/.exists rm -f h2ph.man pstruct rm -rf .config - rm -f preload lib/re.pm + rm -f preload rm -rf lib/Encode lib/Compress lib/Hash lib/re rm -rf lib/TAP lib/Module/Pluggable lib/App rm -rf lib/mro @@ -1468,7 +1464,7 @@ minitest.prep: # Can't depend on lib/Config.pm because that might be where miniperl # is crashing. -minitest: $(MINIPERL_EXE) lib/re.pm minitest.prep +minitest: $(MINIPERL_EXE) minitest.prep - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) \ && $(RUN_PERL) TEST -minitest base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t op/*.t uni/*.t </dev/tty diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index 846afa49c8..37637830a8 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -361,7 +361,7 @@ CRTLOPTS =,$(CRTL)/Options 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 [.lib.VMS]Filespec.pm $(ARCHDIR)vmspipe.com [.lib]re.pm [.lib]buildcustomize.pl +LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl [.lib.VMS]Filespec.pm $(ARCHDIR)vmspipe.com [.lib]buildcustomize.pl utils1 = [.lib.pods]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.utils]dprofpp.com [.utils]json_pp.com @@ -457,9 +457,6 @@ $(PERLDELTA_CURRENT) : [.pod]perldelta.pod archcorefiles : $(ac) $(ARCHAUTO)time.stamp @ $(NOOP) -[.lib]re.pm : [.ext.re]re.pm - Copy/NoConfirm/Log $(MMS$SOURCE) [.lib] - [.lib]buildcustomize.pl : write_buildcustomize.pl $(MINIPERL_EXE) $(MINIPERL) write_buildcustomize.pl > [.lib]buildcustomize.pl @@ -1522,7 +1519,7 @@ test_harness : all [.t.lib]vmsfspec.t - @[.vms]test.com "$(E)" "$(__DEBUG__)" @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests. -minitest : $(MINITEST_EXE) [.lib]re.pm [.lib.VMS]Filespec.pm unidatafiles.ts +minitest : $(MINITEST_EXE) [.lib.VMS]Filespec.pm unidatafiles.ts @ PERL_TEST_DRIVER == "minitest" - @[.vms]test.com "$(E)" "$(__DEBUG__)" diff --git a/win32/Makefile b/win32/Makefile index 4897a4ad35..e66924f345 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -853,7 +853,6 @@ $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL) $(XCOPY) ..\*.h $(COREDIR)\*.* $(XCOPY) *.h $(COREDIR)\*.* - $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.* $(RCOPY) include $(COREDIR)\*.* -$(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)" if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM) diff --git a/win32/makefile.mk b/win32/makefile.mk index fcc30ac473..789ecc4a09 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -1155,7 +1155,6 @@ $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL) $(XCOPY) ..\*.h $(COREDIR)\*.* $(XCOPY) *.h $(COREDIR)\*.* - $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.* $(RCOPY) include $(COREDIR)\*.* $(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)" \ || $(MAKE) $(MAKEMACROS) $(CONFIGPM) $(MAKEFILE) diff --git a/write_buildcustomize.pl b/write_buildcustomize.pl index 7d7589645d..0508e27226 100644 --- a/write_buildcustomize.pl +++ b/write_buildcustomize.pl @@ -24,6 +24,7 @@ my @toolchain = qw(cpan/AutoLoader/lib cpan/ExtUtils-MakeMaker/lib dist/ExtUtils-Manifest/lib cpan/File-Path/lib + ext/re ); # Used only in ExtUtils::Liblist::Kid::_win32_ext() |
