summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-02-14 20:36:36 +0000
committerNicholas Clark <nick@ccl4.org>2011-02-15 14:10:05 +0000
commit7353f64c5bca6e7102582a1e0017c850930249c3 (patch)
tree775c3f14fedba90c1dea85e06b108b1c44fec90a
parent5e4c4c91bd52a48de59520d5e9b4e3478e49c613 (diff)
downloadperl-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-SH8
-rwxr-xr-xMakefile.SH10
-rw-r--r--vms/descrip_mms.template7
-rw-r--r--win32/Makefile1
-rw-r--r--win32/makefile.mk1
-rw-r--r--write_buildcustomize.pl1
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()