$ IF ccname .EQS. "DEC" .OR. ccname .EQS. "CXX"
$ THEN
$ echo ""
-$ echo "This version of Perl can be built with threads. While really nifty,"
-$ echo "they are a beta feature, and there is a speed penalty for perl"
-$ echo "programs if you build with threads *even if you do not use them*."
+$ echo "Perl can be built to take advantage of threads on some systems."
+$ echo "To do so, configure.com can be run with -""Dusethreads""."
+$ echo ""
+$ echo "Note that Perl built with threading support runs slightly slower"
+$ echo "and uses more memory than plain Perl. The current implementation"
+$ echo "is believed to be stable, but it is fairly new, and so should be"
+$ echo "treated with caution."
+$ echo ""
$ bool_dflt = "n"
$ if f$type(usethreads) .nes. ""
$ then
$ if usethreads .or. usethreads .eqs. "define" then bool_dflt="y"
$ endif
-$ rp = "Build with threads? [''bool_dflt'] "
+$! Catch cases where user specified ithreads or 5005threads but
+$! forgot -Dusethreads
+$ if f$type(useithreads) .nes. ""
+$ then
+$ if useithreads .or. useithreads .eqs. "define" then bool_dflt="y"
+$ endif
+$ if f$type(use5005threads) .nes. ""
+$ then
+$ if use5005threads .or. use5005threads .eqs. "define" then bool_dflt="y"
+$ endif
+$ echo "If this doesn't make any sense to you, just accept the default '" + bool_dflt + "'."
+$ rp = "Build a threading Perl? [''bool_dflt'] "
$ GOSUB myread
$ if ans
$ THEN
$ use_threads="T"
-$ ! Shall we do the 5.005-stype threads, or IThreads?
-$ echo "As of 5.5.640, Perl has two different internal threading"
-$ echo "implementations, the 5.005 version (5005threads) and an"
-$ echo "interpreter-based version (ithreads) that has one"
-$ echo "interpreter per thread. Both are very experimental. This"
-$ echo "arrangement exists to help developers work out which one"
-$ echo "is better."
-$ echo ""
-$ echo "If you are a casual user, you probably do not want"
-$ echo "interpreter-threads at this time. There doesn't yet exist"
-$ echo "a way to create threads from within Perl in this model,"
-$ echo "i.e., ""use Thread;"" will NOT work."
+$ ! Shall we do the 5.005-type threads, or IThreads?
+$ echo "Since release 5.6, Perl has had two different threading implementations,"
+$ echo "the newer interpreter-based version (ithreads) with one interpreter per"
+$ echo "thread, and the older 5.005 version (5005threads)."
+$ echo "The 5005threads version is effectively unmaintained and will probably be"
+$ echo "removed in Perl 5.10, so there should be no need to build a Perl using it"
+$ echo "unless needed for backwards compatibility with some existing 5.005threads"
+$ echo "code."
$ echo ""
-$ bool_dflt = "n"
+$ bool_dflt = "y"
$ if f$type(useithreads) .nes. ""
$ then
-$ if useithreads .eqs. "define" then bool_dflt="y"
+$ if .not. useithreads .or. useithreads .eqs. "undef" then bool_dflt="n"
+$ endif
+$ if f$type(use5005threads) .nes. ""
+$ then
+$ if use5005threads .or. use5005threads .eqs. "define" then bool_dflt="n"
$ endif
-$ rp = "Build with Interpreter threads? [''bool_dflt'] "
+$ rp = "Use the newer intepreter-based ithreads? [''bool_dflt'] "
$ GOSUB myread
$ use_ithreads=ans
$ if use_ithreads
$!
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
+$ WS "#pragma message disable ALL" ! VAX compilers may have distracting informationals
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"