esac
pldlflags="$cccdlflags"
+ static_target='static_pic'
case "${osname}${osvers}" in
next4*)
ld=libtool
esac
;;
*) pldlflags=''
+ static_target='static'
;;
esac
LLIBPERL= $linklibperl
SHRPENV = $shrpenv
+# Static targets are ordinarily built without CCCDLFLAGS. However,
+# if building a shared libperl.so that might later be linked into
+# another application, then it might be appropriate to also build static
+# extensions (usually just DynaLoader) with relocatable code (e.g. -fPIC
+# for GNU cc). This is handled by ext/util/make_ext.
+STATIC = $static_target
+
# The following is used to include the current directory in
# the dynamic loader path you are building a shared libperl.
LDLIBPTH = $ldlibpth
@grep "^usemymalloc='n'" config.sh >/dev/null || exit 1
perl.third: /usr/bin/atom perl.third.config perl
- atom -tool third -L. -all -gp -toolargs="-pthread -fork -quiet -invalid -uninit heap+stack+partword+copy -min 0" perl
+ atom -tool third -L. -all -gp -toolargs="-invalid -uninit heap+stack+copy -min 0" perl
@echo "Now you may run perl.third and then study perl.3log."
# Pixie Perls (Tru64 and IRIX only)
# DynaLoader may be needed for extensions that use Makefile.PL.
$(DYNALOADER): miniperl$(EXE_EXT) preplibrary FORCE
- @$(LDLIBPTH) sh ext/util/make_ext static $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
d_dummy $(dynamic_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
@$(LDLIBPTH) sh ext/util/make_ext dynamic $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
- @$(LDLIBPTH) sh ext/util/make_ext static $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
@$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
rm -rf lib/Encode
-rmdir lib/IO/Socket lib/IO/t lib/IO
-rmdir lib/Filter/Util lib/List lib/MIME lib/PerlIO lib/Scalar lib/Sys
- -rmdir lib/Thread lib/XS
+ -rmdir lib/Thread lib/XS lib/threads/shared lib/threads t/lib/B
_realcleaner:
@$(LDLIBPTH) $(MAKE) _cleaner1 CLEAN=realclean
.PHONY: test check test_prep test_prep_nodll test_prep_pre _test_prep \
test_tty test-tty _test_tty test_notty test-notty _test_notty \
- utest ucheck test.utf8 check.utf8 \
+ utest ucheck test.utf8 check.utf8 test.torture torturetest \
test.third check.third utest.third ucheck.third test_notty.third \
test.deparse test_notty.deparse \
minitest coretest
test-notty: test_notty
+# Torture testing
+
+test.torture torturetest: test_prep
+ PERL=./perl TEST_ARGS=-torture $(MAKE) _test
+
# Targets for Third Degree testing.
test_prep.third: test_prep perl.third