@@ -177,11 +177,15 @@ esac
177
177
: is Cwd static or dynamic
178
178
static_cwd=' define'
179
179
cwd_dep=' $(PERL_EXE)'
180
+ storable_limit_dep=' '
181
+ storable_type=' '
180
182
list_util_dep=' $(PERL_EXE)'
181
183
for f in $dynamic_ext ; do
182
184
case $f in
183
185
Cwd) static_cwd=' undef' ; cwd_dep=lib/auto/Cwd/Cwd.$dlext ;;
184
- List/Util) list_util_dep=lib/auto/List/Util/Util.$dlext
186
+ List/Util) list_util_dep=lib/auto/List/Util/Util.$dlext ;;
187
+ Storable) storable_limit_dep=lib/auto/Storable/Storable.$dlext
188
+ storable_type=' dynamic' ;;
185
189
esac
186
190
done
187
191
@@ -222,6 +226,7 @@ $this_target: lib/auto/re/re\$(LIB_EXT)" ;;
222
226
$this_target : lib/auto/List/Util/Util\$ (LIB_EXT)" ;;
223
227
Unicode/Normalize) extra_dep=" $extra_dep
224
228
$this_target : uni.data" ;;
229
+ Storable) storable_type=' static' ;;
225
230
esac
226
231
done
227
232
@@ -640,7 +645,7 @@ lintflags = \
640
645
.c.s: perl.h config.h
641
646
`$(CCCMDSRC)` -S $*.c
642
647
643
- all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT)
648
+ all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT) common_build
644
649
@echo " ";
645
650
@echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
646
651
@@ -1179,7 +1184,7 @@ esac
1179
1184
1180
1185
$spitshell >> $Makefile << '!NO!SUBS! '
1181
1186
1182
- .PHONY: preplibrary rebuild_storable
1187
+ .PHONY: preplibrary common_build
1183
1188
preplibrary: $(MINIPERL_EXE) $(CONFIGPM) $(PREPLIBRARY_LIBPERL)
1184
1189
1185
1190
$(CONFIGPM_FROM_CONFIG_SH): $(CONFIGPOD)
@@ -1197,16 +1202,6 @@ uni.data: $(MINIPERL_EXE) $(CONFIGPM) lib/unicore/mktables $(nonxs_ext)
1197
1202
# can in this makefile to decide if needs to run or not
1198
1203
# touch uni.data
1199
1204
1200
- !NO!SUBS!
1201
- $spitshell >> $Makefile << !GROK!THIS!
1202
-
1203
- rebuild_storable: \$ (PERL_EXE) $cwd_dep
1204
- -\$ (RUN_PERL) dist/Storable/stacksize --core
1205
- \$ (MAKE) -C dist/Storable PERL_CORE=1
1206
-
1207
- !GROK!THIS!
1208
- $spitshell >> $Makefile << '!NO!SUBS! '
1209
-
1210
1205
# $(PERL_EXE) and ext because pod_lib.pl needs Digest::MD5
1211
1206
# But also this ensures that all extensions are built before we try to scan
1212
1207
# them, which picks up Devel::PPPort's documentation.
@@ -1238,7 +1233,7 @@ extra.pods: $(MINIPERL_EXE)
1238
1233
echo "pod/perl"$$nx".pod" >> extra.pods ; \
1239
1234
done
1240
1235
1241
- extras.make: $(PERL_EXE) rebuild_storable
1236
+ extras.make: $(PERL_EXE)
1242
1237
-@test ! -s extras.lst || PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(RUN_PERL) -MCPAN -e '@ARGV&&make(@ARGV)' `cat extras.lst`
1243
1238
1244
1239
extras.test: $(PERL_EXE)
@@ -1258,6 +1253,25 @@ no_install no-install: install-notify
1258
1253
install: install-all
1259
1254
!NO!SUBS!
1260
1255
1256
+ if test " $storable_type " ! = " " ; then
1257
+
1258
+ case " $static_cwd " in
1259
+ undef) storable_limit_dep=" $storable_limit_dep lib/auto/Cwd/Cwd.$dlext " ;;
1260
+ esac
1261
+
1262
+ $spitshell >> $Makefile << EOT
1263
+
1264
+ dist/Storable/lib/Storable/Limit.pm : \$ (PERL_EXE) dist/Storable/stacksize $storable_limit_dep
1265
+ cd dist/Storable ; \$ (LDLIBPTH) \$ (MAKE) lib/Storable/Limit.pm
1266
+
1267
+ lib/Storable/Limit.pm : dist/Storable/lib/Storable/Limit.pm
1268
+ test -d lib/Storable || mkdir lib/Storable
1269
+ cp dist/Storable/lib/Storable/Limit.pm lib/Storable/Limit.pm
1270
+ EOT
1271
+
1272
+ common_build_deps=" $common_build_deps lib/Storable/Limit.pm"
1273
+
1274
+ fi
1261
1275
1262
1276
for name in all notify silent strip verbose; do
1263
1277
flags=" --$name " ;
@@ -1640,14 +1654,14 @@ test_prep_pre: preplibrary utilities $(nonxs_ext)
1640
1654
case " $targethost " in
1641
1655
' ' ) $spitshell >> $Makefile << '!NO!SUBS! '
1642
1656
test_prep test-prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) \
1643
- $(dynamic_ext) extras.make $(TEST_PERL_DLL) runtests $(generated_pods)
1657
+ $(dynamic_ext) extras.make $(TEST_PERL_DLL) runtests $(generated_pods) common_build
1644
1658
cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
1645
1659
!NO!SUBS!
1646
1660
;;
1647
1661
* ) $spitshell >> $Makefile << !GROK!THIS!
1648
1662
test_prep test-prep: test_prep_pre \$ (MINIPERL_EXE) \$ (unidatafiles) \$ (PERL_EXE) \
1649
1663
\$ (dynamic_ext) extras.make \$ (TEST_PERL_DLL) runtests \
1650
- \$ (generated_pods)
1664
+ \$ (generated_pods) common_build
1651
1665
$to libperl.*
1652
1666
$to t/*
1653
1667
$to lib/*
@@ -1763,9 +1777,9 @@ esac
1763
1777
$spitshell >> $Makefile << '!NO!SUBS! '
1764
1778
1765
1779
# minitest can't depend on lib/Config.pm because that might be where miniperl
1766
- # is crashing.
1780
+ # is crashing. ditto for mktables
1767
1781
minitest_prep:
1768
- -@test -f lib/Config.pm || $(MAKE) lib/Config.pm $(unidatafiles)
1782
+ -@test -f lib/Config.pm -a -f lib/unicore/Name.pm || $(MAKE) lib/Config.pm $(unidatafiles)
1769
1783
@echo " "
1770
1784
@echo "You may see some irrelevant test failures if you have been unable"
1771
1785
@echo "to build lib/Config.pm, or the Unicode data files."
@@ -1797,6 +1811,17 @@ test_reonly test-reonly: test_prep_reonly
1797
1811
test_porting test-porting: test_prep
1798
1812
cd t && $(RUN_PERL) harness porting/*.t ../lib/diagnostics.t
1799
1813
1814
+ !NO!SUBS!
1815
+
1816
+ $spitshell >> $Makefile << !GROK!THIS!
1817
+
1818
+ # intended as a common way to add dependencies to test-prep and all
1819
+ common_build: $common_build_deps
1820
+
1821
+ !GROK!THIS!
1822
+
1823
+ $spitshell >> $Makefile << '!NO!SUBS! '
1824
+
1800
1825
# Handy way to run cperlbug -ok without having to install and run the
1801
1826
# installed cperlbug. We don't re-run the tests here - we trust the user.
1802
1827
# Please *don't* use this unless all tests pass.
@@ -1842,11 +1867,17 @@ distcheck: FORCE
1842
1867
1843
1868
.PHONY: ctags
1844
1869
1845
- TAGS: $(c1) $(c2) $(c3) $(c4) $(c5) $(h)
1846
- etags $(c1) $(c2) $(c3) $(c4) $(c5) $(h)
1870
+ TAGS: $(c1) $(c2) $(c3) $(c4) $(c5) $(h) $(inc)
1871
+ etags $(c1) $(c2) $(c3) $(c4) $(c5) $(h) $(inc) mg_*.h
1872
+
1873
+ FULLTAGS: $(c1) $(c2) $(c3) $(c4) $(c5) $(h) $(inc)
1874
+ etags $(c1) $(c2) $(c3) $(c4) $(c5) $(h) $(inc) mg_*.h \
1875
+ `find cpan dist ext -type f -name \*.[ch]`
1847
1876
1848
- FULLTAGS: $(c1) $(c2) $(c3) $(c4) $(c5) $(h)
1849
- etags $(c1) $(c2) $(c3) $(c4) $(c5) $(h) `find cpan dist ext -type f -name \*.[ch]`
1877
+ GTAGS: $(c1) $(c2) $(c3) $(c4) $(c5) $(h) $(inc)
1878
+ echo $(c1) $(c2) $(c3) $(c4) $(c5) $(h) $(inc) mg_*.h | \
1879
+ tr ' ' $(TRNL) > gtags.files
1880
+ gtags -v --file gtags.files
1850
1881
1851
1882
ctags:
1852
1883
ctags -f Tags -N --totals --languages=c --langmap=c:+.h --exclude=opmini.c --exclude=perlmini.c *.c *.h
0 commit comments