X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=configure.com;h=4c2c2b322f34c8f9e524376277f4066cb04c259f;hb=52c93dd194e572ccf0cd84fbd063340b76d1a6ba;hp=e2b24ae99aea638f622fee4d4124426e57182d20;hpb=3f39e13a499cc8fdf7dbbf3a766ece4fe9ff2c0e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/configure.com b/configure.com index e2b24ae..4c2c2b3 100644 --- a/configure.com +++ b/configure.com @@ -50,6 +50,7 @@ $ use_vmsdebug_perl = "n" $ use64bitall = "n" $ use64bitint = "n" $ uselargefiles = "n" +$ usestdstat = "n" $ usesitecustomize = "n" $ C_Compiler_Replace = "CC=" $ thread_upcalls = "MTU=" @@ -2026,7 +2027,10 @@ $ DELETE/NOLOG/NOCONFIRM cxxvers.*; $ echo "You are using CXX ''line'" $ cxxversion = line $ ccversion = line +$ d_cplusplus = "define" $ CALL Cxx_demangler_cleanup +$ ELSE +$ d_cplusplus = "undef" $ ENDIF $! $Cxx_demangler_cleanup: SUBROUTINE @@ -4872,6 +4876,8 @@ $ ENDIF $! $ IF uselargefiles .OR. uselargefiles .eqs. "define" $ THEN +$ echo4 "Largefile support enabled (plus standard stat support on V8.2 and later)" +$ usestdstat = "y" $ IF (vms_ver .GES. "8.2") .AND. (archname .NES. "VMS_VAX") $ THEN $ echo4 - @@ -5107,37 +5113,41 @@ $ d_truncate="define" $ d_wait4="define" $ d_index="define" $ pidtype="pid_t" -$ sig_name1="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM " -$ sig_name2="TERM ABRT USR1 USR2 SPARE18 SPARE19 CHLD CONT STOP TSTP TTIN TTOU " -$ sig_name3="DEBUG SPARE27 SPARE28 SPARE29 SPARE30 SPARE31 SPARE32 " -$ sig_name4="WINCH " -$ sig_namert="RTMIN RTMAX" -$ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS""," -$ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",""USR1"",""USR2"",""SPARE18"",""SPARE19"",""CHLD"",""CONT"",""STOP"",""TSTP""," -$ psnwc3="""TTIN"",""TTOU"",""DEBUG"",""SPARE27"",""SPARE28"",""SPARE29"",""SPARE30"",""SPARE31"",""SPARE32""," -$ psnwc4_v7_3="""WINCH""," -$ psnwcrt="""RTMIN"",""RTMAX"",0" -$ sig_num1="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 " -$ sig_num_v7_3="28 " -$ sig_numrt="33 64" -$ sig_num_init1="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32," -$ sig_num_init_v7_3="28," -$ sig_num_initrt="33,64,0" -$ if (vms_ver .GES. "7.3") -$ then -$ sig_name = sig_name1 + sig_name2 + sig_name3 + sig_name4 + sig_namert -$ sig_name_init = psnwc1 + psnwc2 + psnwc3 + psnwc4_v7_3 + psnwcrt -$ sig_num = sig_num1 + sig_num_v7_3 + sig_numrt -$ sig_num_init = sig_num_init1 + sig_num_v7_3 + sig_num_initrt -$ sig_size="37" -$ else -$ sig_name = sig_name1 + sig_name2 + sig_name3 + sig_namert -$ sig_name_init = psnwc1 + psnwc2 + psnwc3 + psnwcrt -$ sig_num = sig_num1 + sig_numrt -$ sig_num_init = sig_num_init1 + sig_num_initrt -$ sig_size="36" -$ endif -$ sig_count="64" +$ sig_name1="ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE" +$ sig_name2=" ALRM TERM USR1 USR2 NUM18 NUM19 CHLD CONT STOP TSTP TTIN TTOU DEBUG" +$ IF (vms_ver .GES. "7.3") +$ THEN +$ sig_name2 = sig_name2 + " NUM27 WINCH" +$ ENDIF +$!* signal.h defines SIGRTMIN as 33 and SIGRTMAX as 64, but there is no +$!* sigqueue function or other apparent means to do realtime signalling, +$!* so let's not try to include the realtime range for now. +$!* sig_name3=" NUM29 NUM30 NUM31 NUM32 RTMIN NUM34 NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43" +$!* sig_name4=" NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58" +$!* sig_name5=" NUM59 NUM60 NUM61 NUMT62 NUM63 RTMAX" +$ sig_name = sig_name1 + sig_name2 +$ sig_num = "" +$ sig_num_init = "" +$ sig_name_init = "" +$ sig_index = 0 +$! +$ PARSE_SIG_NAME_LOOP: +$! +$ tmp = F$ELEMENT(sig_index, " ", sig_name) +$ IF F$LENGTH(F$EDIT(tmp,"TRIM")) .eq. 0 THEN GOTO END_SIG_NAME_LOOP +$ sig_name_init = sig_name_init + """''tmp'""," +$ sig_num = sig_num + "''sig_index' " +$ sig_num_init = sig_num_init + "''sig_index'," +$ sig_index = sig_index + 1 +$ GOTO PARSE_SIG_NAME_LOOP +$! +$ END_SIG_NAME_LOOP: +$! +$ sig_name_init = sig_name_init + "0" +$ sig_num_init = sig_num_init + "0" +$ sig_size = "''sig_index'" +$ sig_index = sig_index - 1 +$ sig_count = "''sig_index'" $ uidtype="uid_t" $ d_pathconf="define" $ d_fpathconf="define" @@ -5512,20 +5522,12 @@ $ THEN $ echo4 "Yep, we can." $ kill_by_sigprc = "define" $! -$! since SIGBUS and SIGSEGV indistinguishable, make them the same here. -$! sigusr1 and sigusr2 show up in VMS6.2 and later +$! Use the same list of signals the CRTL does for recent systems, but cook our own for very old systems. +$! Note that the list controls what signals can be caught by name as well as what can be raised via kill(). $! -$ if vms_ver .GES. "6.2" -$ then -$ sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT USR1 USR2" -$ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS""," -$ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",""USR1"",""USR2"",0" -$ sig_name_init = psnwc1 + psnwc2 -$ sig_num="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 16 17" -$ sig_num_init="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,0" -$ sig_size="19" -$ sig_count="17" -$ else +$ if vms_ver .LT. "6.2" +$ then +$! since SIGBUS and SIGSEGV indistinguishable, make them the same here. $ sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT" $ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS""," $ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",0" @@ -5616,13 +5618,12 @@ $ WC "cccdlflags='" + cccdlflags + "'" $ WC "ccdlflags='" + ccdlflags + "'" $ IF uselargefiles .OR. uselargefiles .EQS. "define" $ THEN -$! Perl can not use _USE_STD_STAT at the moment -$! IF d_symlink .OR. d_symlink .EQS. "define" -$! THEN -$! ccdefines = "_USE_STD_STAT=1" -$! ELSE +$ IF usestdstat .OR. usestdstat .EQS. "define" +$ THEN +$ ccdefines = "_USE_STD_STAT=1" +$ ELSE $ ccdefines = "_LARGEFILE=1" -$! ENDIF +$ ENDIF $ ELSE $ ccdefines = "" $ ENDIF @@ -5679,6 +5680,7 @@ $ WC "d_attribute_noreturn='undef'" $ WC "d_attribute_pure='undef'" $ WC "d_attribute_unused='undef'" $ WC "d_attribute_warn_unused_result='undef'" +$ WC "d_printf_format_null='undef'" $ WC "d_bcmp='" + d_bcmp + "'" $ WC "d_bcopy='" + d_bcopy + "'" $ WC "d_bincompat3='undef'" @@ -5698,12 +5700,16 @@ $ WC "d_class='undef'" $ WC "d_cmsghdr_s='undef'" $ WC "d_const='define'" $ WC "d_copysignl='define'" +$ WC "d_cplusplus='" + d_cplusplus + "'" $ WC "d_crypt='define'" $ WC "d_csh='undef'" +$ WC "d_ctermid='define'" $ WC "d_cuserid='define'" +$ WC "d_c99_variadic_macros='undef'" $ WC "d_dbl_dig='define'" $ WC "d_dbminitproto='undef'" $ WC "d_difftime='define'" +$ WC "d_dir_dd_fd='undef'" $ WC "d_dirfd='undef'" $ WC "d_dirnamlen='define'" $ WC "d_dlerror='undef'" @@ -5789,6 +5795,7 @@ $ WC "d_grpasswd='undef'" $ WC "d_hasmntopt='undef'" $ WC "d_htonl='" + d_htonl + "'" $ WC "d_ilogbl='undef'" +$ WC "d_inc_version_list='undef'" $ WC "d_index='" + d_index + "'" $ WC "d_inetaton='undef'" $ WC "d_int64_t='" + d_int64_t + "'" @@ -5927,6 +5934,7 @@ $ WC "d_shmatprototype='undef'" $ WC "d_sigaction='" + d_sigaction + "'" $ WC "d_sigprocmask='" + d_sigprocmask + "'" $ WC "d_sigsetjmp='" + d_sigsetjmp + "'" +$ WC "d_sitearch='define'" $ WC "d_sockatmark='undef'" $ WC "d_sockatmarkproto='undef'" $ WC "d_socket='" + d_socket + "'" @@ -6081,6 +6089,7 @@ $ WC "i_fcntl='" + i_fcntl + "'" $ WC "i_float='define'" $ WC "i_fp='undef'" $ WC "i_fp_class='undef'" +$ WC "i_gdbm='undef'" $ WC "i_grp='" + i_grp + "'" $ WC "i_ieeefp='undef'" $ WC "i_inttypes='" + i_inttypes + "'" @@ -6275,8 +6284,22 @@ $ WC "sh='MCR'" $ WC "shmattype='" + " '" $ WC "shortsize='" + shortsize + "'" $ WC "shrplib='define'" -$ WC "sig_name='" + sig_name + "'" -$ WC "sig_name_init='" + sig_name_init + "'" +$ IF (f$length(sig_name) .GE. 244) +$ THEN +$ tmp = "sig_name='" + sig_name + "'" +$ WC/symbol tmp +$ DELETE/SYMBOL tmp +$ ELSE +$ WC "sig_name='" + sig_name + "'" +$ ENDIF +$ IF (f$length(sig_name_init) .GE. 244) +$ THEN +$ tmp = "sig_name_init='" + sig_name_init + "'" +$ WC/symbol tmp +$ DELETE/SYMBOL tmp +$ ELSE +$ WC "sig_name_init='" + sig_name_init + "'" +$ ENDIF $ WC "sig_num='" + sig_num + "'" $ WC "sig_num_init='" + sig_num_init + "'" $ WC "sig_count='" + sig_count + "'" @@ -6419,6 +6442,7 @@ $ WC "d_getservent_r='undef'" $ WC "d_getspnam_r='undef'" $ WC "d_gmtime_r='undef'" ! leave undef'd; we use my_gmtime $ WC "d_localtime_r='undef'" ! leave undef'd; we use my_localtime +$ WC "d_localtime_r_needs_tzset='undef'" $ WC "d_random_r='undef'" $ WC "d_readdir_r='define'" ! always defined; we roll our own $ WC "d_readdir64_r='undef'" @@ -6651,13 +6675,12 @@ $ MALLOC_REPLACE = "MALLOC=" $ ENDIF $ IF uselargefiles .OR. uselargefiles .EQS. "define" $ THEN -$! Perl can not use _USE_STD_STAT at the moment -$! IF d_symlink .or. d_symlink .eqs. "define" -$! THEN -$! LARGEFILE_REPLACE = "LARGEFILE=LARGEFILE=_USE_STD_STAT=1" -$! ELSE +$ IF usestdstat .or. usestdstat .eqs. "define" +$ THEN +$ LARGEFILE_REPLACE = "LARGEFILE=LARGEFILE=_USE_STD_STAT=1" +$ ELSE $ LARGEFILE_REPLACE = "LARGEFILE=LARGEFILE=_LARGEFILE=1" -$! ENDIF +$ ENDIF $ ELSE $ LARGEFILE_REPLACE = "LARGEFILE=" $ ENDIF @@ -6974,7 +6997,6 @@ $ WRITE CONFIG "$ h2xs == """ + perl_setup_perl + " ''vms_prefix':[utils]h $ WRITE CONFIG "$ instmodsh == """ + perl_setup_perl + " ''vms_prefix':[utils]instmodsh.com""" $ WRITE CONFIG "$ libnetcfg == """ + perl_setup_perl + " ''vms_prefix':[utils]libnetcfg.com""" $ WRITE CONFIG "$ perlbug == """ + perl_setup_perl + " ''vms_prefix':[utils]perlbug.com""" -$ WRITE CONFIG "$!perlcc == """ + perl_setup_perl + " ''vms_prefix':[utils]perlcc.com""" $ WRITE CONFIG "$ perldoc == """ + perl_setup_perl + " ''vms_prefix':[utils]perldoc.com """"-t""""""" $ WRITE CONFIG "$ perlivp == """ + perl_setup_perl + " ''vms_prefix':[utils]perlivp.com""" $ WRITE CONFIG "$ piconv == """ + perl_setup_perl + " ''vms_prefix':[utils]piconv.com"""