X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=configure.com;h=5addf1a3bb31a362bf85623600bd600ff838f1de;hb=d71e5ff2e4c4bd22812aaff6cc21c601469f9238;hp=d949bb2532e93abc07e3ed504e5dbad407d62104;hpb=baf3cf9c09c529e1ab56c4c24a7a8bb4dba12542;p=p5sagit%2Fp5-mst-13.2.git diff --git a/configure.com b/configure.com index d949bb2..5addf1a 100644 --- a/configure.com +++ b/configure.com @@ -1540,12 +1540,12 @@ $ WRITE CONFIG " exit(0);" $ WRITE CONFIG "}" $ CLOSE CONFIG $! -$! DEFINE SYS$ERROR _NLA0: -$! DEFINE SYS$OUTPUT _NLA0: +$ SET NOON +$ DEFINE/USER_MODE SYS$ERROR _NLA0: +$ DEFINE/USER_MODE SYS$OUTPUT _NLA0: $ cc/NoObj/list=ccvms.lis ccvms.c $ tmp = $status -$! DEASSIGN SYS$OUTPUT -$! DEASSIGN SYS$ERROR +$ SET ON $ IF (silent) THEN GOSUB Shut_up $ IF tmp.NE.%X10B90001 $ THEN @@ -1565,9 +1565,9 @@ $ IF .NOT.silent $ THEN $ echo "Will try cc/decc..." $ ENDIF +$ SET NOON $ DEFINE/USER_MODE SYS$ERROR NL: $ DEFINE/USER_MODE SYS$OUTPUT NL: -$ SET NOON $ cc/decc/NoObj/list=ccvms.lis ccvms.c $ tmp = $status $ SET ON @@ -1591,10 +1591,12 @@ $! $Gcc_initial_check: $ echo "Checking for gcc" $ OPEN/WRITE CONFIG gccvers.lis +$ SET NOON $ DEFINE/USER_MODE SYS$ERROR CONFIG $ DEFINE/USER_MODE SYS$OUTPUT CONFIG $ 'gcc_symbol'/noobj/version _nla0: $ tmp = $status +$ SET ON $ IF (silent) THEN GOSUB Shut_up $ CLOSE CONFIG $ IF (tmp.NE.%X10000001).and.(tmp.ne.%X00030001) @@ -2296,38 +2298,54 @@ $! Ask about threads, if appropriate $ 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 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 @@ -2529,10 +2547,7 @@ $ IF F$EXTRACT(0,4,line) .EQS. "ext/" THEN - $ IF xxx .EQS. "DynaLoader" THEN goto ext_loop ! omit $ IF xxx .EQS. "SDBM_File/sdbm" THEN goto ext_loop ! sub extension - omit $ IF xxx .EQS. "Devel/PPPort/harness" THEN goto ext_loop ! sub extension - omit -$ IF xxx .EQS. "Encode/CN" THEN goto ext_loop ! sub extension - omit -$ IF xxx .EQS. "Encode/JP" THEN goto ext_loop ! sub extension - omit -$ IF xxx .EQS. "Encode/KR" THEN goto ext_loop ! sub extension - omit -$ IF xxx .EQS. "Encode/TW" THEN goto ext_loop ! sub extension - omit +$ IF F$EXTRACT(0,7,xxx) .EQS. "Encode/" THEN goto ext_loop ! sub extension - omit $ IF xxx .EQS. "B/C" THEN goto ext_loop ! sub extension - omit $ IF F$EXTRACT(0,8,line) .EQS. "vms/ext/" THEN - xxx = "VMS/" + F$EXTRACT(8,line_len - 20,line) @@ -3217,6 +3232,7 @@ $! Check for long double size $! $ OS $ WS "#if defined(__DECC) || defined(__DECCXX)" +$ WS "#pragma message disable ALL" ! VAX compilers may have distracting informationals $ WS "#include " $ WS "#endif" $ WS "#include " @@ -3360,6 +3376,25 @@ $ tmp = "unistd.h" $ GOSUB inhdr $ i_unistd = tmp $! +$! do we have getppid()? +$! +$ IF i_unistd .EQS. "define" +$ THEN +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main() {" +$ WS "printf(""%d\n"",getppid());" +$ WS "return(0);" +$ WS "}" +$ CS +$ tmp = "getppid" +$ GOSUB inlibc +$ d_getppid = tmp +$ ELSE +$ d_getppid = "undef" +$ ENDIF +$! $!: see if this is a libutil.h system $! $ tmp = "libutil.h" @@ -5239,7 +5274,7 @@ $ WC "d_getpent='" + d_getpent + "'" $ WC "d_getpgid='undef'" $ WC "d_getpgrp2='undef'" $ WC "d_getpgrp='undef'" -$ WC "d_getppid='undef'" +$ WC "d_getppid='" + d_getppid + "'" $ WC "d_getprior='undef'" $ WC "d_getprotoprotos='" + d_getprotoprotos + "'" $ WC "d_getprpwnam='undef'" @@ -6259,11 +6294,20 @@ $ EXIT $ ENDSUBROUTINE ! Bad_environment $ echo "" $ echo4 "Checking for dangerous pre-existing global symbols and logical names." -$ CALL Bad_environment "TMP" +$ CALL Bad_environment "EXT" +$ CALL Bad_environment "FOO" $ CALL Bad_environment "LIB" +$ CALL Bad_environment "LIST" +$ CALL Bad_environment "MIME" +$ CALL Bad_environment "POSIX" +$ CALL Bad_environment "SYS" $ CALL Bad_environment "T" -$ CALL Bad_environment "FOO" -$ CALL Bad_environment "EXT" +$ CALL Bad_environment "THREAD" +$ CALL Bad_environment "THREADS" +$ CALL Bad_environment "TIME" +$ CALL Bad_environment "TMP" +$ CALL Bad_environment "UNICODE" +$ CALL Bad_environment "UTIL" $ CALL Bad_environment "TEST" "SYMBOL" $ IF f$search("config.msg") .eqs. "" THEN echo "OK." $! @@ -6460,9 +6504,9 @@ $ echo4 "" $! $ IF ( F$SEARCH("config.msg").NES."" ) $ THEN -$ echo "Hmm. I also noted the following information while running:" -$ echo "" -$ type config.msg +$ echo4 "Hmm. I also noted the following information while running:" +$ echo4 "" +$ TYPE/OUTPUT=SYS$ERROR: config.msg $ SET PROTECTION=(SYSTEM:RWED,OWNER:RWED) config.msg $ DELETE/NOLOG/NOCONFIRM config.msg; $ ENDIF