X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=configure.com;h=f147e0e519ecdd77fcef0c8fa6292055dcb54a92;hb=265757707c25dcaf2ab1b88e3380267b0db1bcba;hp=c54e6544ce8332a304d6ec1bbd96a3ed6ee08336;hpb=fea629d86f3fde9776b0fe77f054fb3a45d1f23b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/configure.com b/configure.com index c54e654..f147e0e 100644 --- a/configure.com +++ b/configure.com @@ -1,3 +1,4 @@ +$! OpenVMS configuration procedure for Perl -- do not attempt to run under DOS $ sav_ver = 'F$VERIFY(0)' $! SET VERIFY $! @@ -40,7 +41,7 @@ $ ans = "" $ macros = "" $ extra_flags = "" $ user_c_flags = "" -$ use_ieee_math = "n" +$ use_ieee_math = "y" $ be_case_sensitive = "n" $ use_vmsdebug_perl = "n" $ use64bitall = "n" @@ -426,11 +427,15 @@ $ miss_list = "" $ GOTO Beyond_manifest $ ENDIF $ ELSE -$! MANIFEST. has been found and we have set def'ed there - -$! time to bail out before it's too late. -$ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE")) -$ IF (tmp .GES. "7.2") .AND. (F$GETSYI("HW_MODEL") .GE. 1024) THEN GOTO Beyond_depth_check -$ IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("Default")).nes.".") +$! MANIFEST. has been found and we have set def'ed there. +$! Time to bail out before it's too late, i.e. too deep. +$! Depth check is unnecessary on Alpha VMS V7.2++ (even for ODS-2). +$ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE")) +$ IF (tmp .GES. "7.2") .AND. (F$GETSYI("HW_MODEL") .GE. 1024) THEN GOTO Beyond_depth_check +$! Depth check also unnecessary on ODS 5 (or later) file systems. +$ tmp = F$INTEGER(F$GETDVI(F$ENVIRONMENT("DEFAULT"),"ACPTYPE") - "F11V") +$ IF (tmp .GE. 5) THEN GOTO Beyond_depth_check +$ IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("DEFAULT")).nes.".") $ THEN $ TYPE SYS$INPUT: $ DECK @@ -1075,6 +1080,9 @@ $!: determine the architecture name $! genconfig.pl has either archname='VMS_AXP' or 'VMS_VAX' $! Note that DCL in VMS V5.4 does not have F$GETSYI("ARCH_NAME") $! but does have F$GETSYI("HW_MODEL"). +$! Please try to use either archname .EQS. "VMS_VAX" or archname .EQS. +$! "VMS_AXP" from here on to allow cross-platform configuration (e.g. +$! configure a VAX build on an Alpha). $! $ IF (F$GETSYI("HW_MODEL") .LT. 1024) $ THEN @@ -1103,11 +1111,8 @@ $ vms_prefix = "perl_root" $ vms_prefixup = F$EDIT(vms_prefix,"UPCASE") $ rp = "Will you be sharing your ''vms_prefixup' with ''otherarch'? [''dflt'] " $ GOSUB myread -$ if ans.NES."" -$ THEN -$ ans = F$EXTRACT(0,1,F$EDIT(ans,"COLLAPSE, UPCASE")) -$ ENDIF -$ IF (ans.NES."Y") +$ if ans .EQS. "" THEN ans = dflt +$ IF .NOT. ans $ THEN $ sharedperl = "N" $ ELSE @@ -1129,7 +1134,8 @@ $ THEN $ prefix = F$ENVIRONMENT("DEFAULT") - ".UU]" + "]" $ prefix = F$PARSE(prefix,,,,"NO_CONCEAL") - "][" - ".;" $ prefixbase = prefix - "]" -$ prefix = prefixbase + ".]" +$! Add ROOT to make install PERL_ROOT differ from build directory. +$ prefix = prefixbase + "ROOT.]" $ ENDIF $ src = prefix $!: determine root of directory hierarchy where package will be installed. @@ -1159,6 +1165,22 @@ $! -> ask if removal desired. $! Check here for writability of requested PERL_ROOT if it is not the default (cwd). $! -> recommend letting PERL_ROOT be PERL_SRC if requested PERL_ROOT is not writable. $! +$ IF .NOT. F$GETDVI(perl_root,"MNT") +$ THEN +$ tmp = F$PARSE(perl_root,,,"DEVICE",) +$ echo4 "''tmp' is not mounted." +$ ELSE +$ tmp = perl_root - ".]" + "]" +$ dflt = F$PARSE(tmp,,,,) +$ IF dflt .eqs. "" +$ THEN +$ echo4 "''tmp' does not yet exist." +$! create/directory 'tmp' +$ ELSE +$ echo4 "''tmp' already exists." +$ ENDIF +$ ENDIF +$! $ vms_skip_install = "true" $ dflt = "y" $! echo "" @@ -1468,6 +1490,8 @@ $ IF F$TYPE(oldarchlibexp) .EQS. "" THEN - oldarchlibexp="''vms_prefix':[lib.''archname']" $ IF F$TYPE(privlibexp) .EQS. "" THEN - privlibexp ="''vms_prefix':[lib]" +$ IF F$TYPE(scriptdir) .EQS. "" THEN - + scriptdir ="''vms_prefix':[utils]" $ IF F$TYPE(sitearchexp) .EQS. "" THEN - sitearchexp ="''vms_prefix':[lib.site_perl.''archname']" $ IF F$TYPE(sitelib_stem) .EQS. "" THEN - @@ -1952,7 +1976,7 @@ $! $List_Parse: $ OPEN/READ CONFIG ccvms.lis $ READ CONFIG line -$ IF (F$GETSYI("HW_MODEL") .LT. 1024) +$ IF archname .EQS. "VMS_VAX" $ THEN $ read CONFIG line $ archsufx = "VAX" @@ -2148,10 +2172,6 @@ $ ans = F$EDIT(ans,"TRIM,COMPRESS,LOWERCASE") $ IF ans.eqs."decc" then Has_Dec_C_Sockets = "T" $ IF ans.eqs."socketshr" then Has_socketshr = "T" $ ENDIF -$ IF Has_Dec_C_Sockets .or. Has_socketshr -$ THEN -$ static_ext = f$edit(static_ext+" "+"Socket","trim,compress") -$ ENDIF $! $! $! Ask if they want to build with VMS_DEBUG perl @@ -2334,9 +2354,10 @@ $ IF ans .EQS. "" THEN ans="''dflt'" $ be_case_sensitive = "''ans'" $! IEEE math? $ echo "" -$ echo "Perl normally uses G_FLOAT format floating point numbers" -$ echo "internally, as do most things on VMS. You can, however, build" -$ echo "with IEEE floating point numbers instead if you need to." +$ echo "Perl normally uses IEEE format (T_FLOAT) floating point numbers" +$ echo "internally on Alpha, but if you need G_FLOAT for binary compatibility" +$ echo "with an external library or existing data, you may wish to disable" +$ echo "the IEEE math option." $ dflt = use_ieee_math $ rp = "Use IEEE math? [''dflt'] " $ GOSUB myread @@ -2484,7 +2505,11 @@ $ dflt = dflt - "GDBM_File" ! needs porting/special library $ dflt = dflt - "IPC/SysV" ! needs to be ported $ dflt = dflt - "NDBM_File" ! needs porting/special library $ dflt = dflt - "ODBM_File" ! needs porting/special library -$ dflt = dflt - "Socket" ! on VMS is optional static extension +$ dflt = dflt - "Sys/Syslog" ! needs porting/special library "GDBM_File macro LOG_DEBUG" +$ IF .NOT. Has_socketshr .AND. .NOT. Has_Dec_C_Sockets +$ THEN +$ dflt = dflt - "Socket" ! optional on VMS +$ ENDIF $ dflt = F$EDIT(dflt,"TRIM,COMPRESS") $! $! Ask for their default list of extensions to build @@ -2822,7 +2847,7 @@ $ usemymalloc=mymalloc $! $ perl_cc=Mcc $! -$ IF (sharedperl .AND. F$GETSYI("HW_MODEL") .GE. 1024) +$ IF (sharedperl .AND. archname .EQS. "VMS_AXP") $ THEN $ obj_ext=".abj" $ so="axe" @@ -3654,7 +3679,7 @@ $ WS "#include " $ WS "int main()" $ WS "{" $ WS "char * place;" -$ WS "place = memchr(""foo"", 47, 3)" +$ WS "place = memchr(""foo"", 47, 3);" $ WS "exit(0);" $ WS "}" $ CS @@ -4651,7 +4676,9 @@ $ d_strcoll="define" $ d_strxfrm="define" $ d_wctomb="define" $ i_locale="define" +$ i_langinfo="define" $ d_locconv="define" +$ d_nl_langinfo="define" $ d_setlocale="define" $ vms_cc_type="decc" $ ELSE @@ -4668,7 +4695,9 @@ $ d_strcoll="undef" $ d_strxfrm="undef" $ d_wctomb="undef" $ i_locale="undef" +$ i_langinfo="undef" $ d_locconv="undef" +$ d_nl_langinfo="undef" $ d_setlocale="undef" $ ENDIF $ d_stdio_ptr_lval_sets_cnt="undef" @@ -4969,14 +4998,12 @@ $ WC "cpplast='" + cpplast + "'" $ WC "cppminus='" + cppminus + "'" $ WC "cpprun='" + cpprun + "'" $ WC "cppstdin='" + cppstdin + "'" -$ WC "crosscompile='undef'" -$ WC "d__fwalk='undef'" $ WC "d_Gconvert='my_gconvert(x,n,t,b)'" -$ WC "d_PRId64='" + d_PRId64 + "'" $ WC "d_PRIEldbl='" + d_PRIEUldbl + "'" $ WC "d_PRIFldbl='" + d_PRIFUldbl + "'" $ WC "d_PRIGldbl='" + d_PRIGUldbl + "'" $ WC "d_PRIX64='" + d_PRIXU64 + "'" +$ WC "d_PRId64='" + d_PRId64 + "'" $ WC "d_PRIeldbl='" + d_PRIeldbl + "'" $ WC "d_PRIfldbl='" + d_PRIfldbl + "'" $ WC "d_PRIgldbl='" + d_PRIgldbl + "'" @@ -4984,6 +5011,7 @@ $ WC "d_PRIo64='" + d_PRIo64 + "'" $ WC "d_PRIu64='" + d_PRIu64 + "'" $ WC "d_PRIx64='" + d_PRIx64 + "'" $ WC "d_SCNfldbl='" + d_SCNfldbl + "'" +$ WC "d__fwalk='undef'" $ WC "d_access='" + d_access + "'" $ WC "d_accessx='undef'" $ WC "d_alarm='define'" @@ -4995,8 +5023,8 @@ $ WC "d_bcmp='" + d_bcmp + "'" $ WC "d_bcopy='" + d_bcopy + "'" $ WC "d_bincompat3='undef'" $ WC "d_bincompat5005='undef'" -$ WC "d_bsdgetpgrp='undef'" $! WC "d_bsdpgrp='undef'" +$ WC "d_bsdgetpgrp='undef'" $ WC "d_bsdsetpgrp='undef'" $ WC "d_bzero='" + d_bzero + "'" $ WC "d_casti32='define'" @@ -5005,12 +5033,14 @@ $ WC "d_charvspr='undef'" $ WC "d_chown='define'" $ WC "d_chroot='undef'" $ WC "d_chsize='undef'" +$ WC "d_class='undef'" $ WC "d_cmsghdr_s='undef'" $ WC "d_const='define'" $ WC "d_crypt='define'" $ WC "d_csh='undef'" $ WC "d_cuserid='define'" $ WC "d_dbl_dig='define'" +$ WC "d_dbminitproto='undef'" $ WC "d_difftime='define'" $ WC "d_dirnamlen='define'" $ WC "d_dlerror='undef'" @@ -5028,15 +5058,23 @@ $ WC "d_endsent='" + d_endsent + "'" $ WC "d_eofnblk='undef'" $ WC "d_eunice='undef'" $ WC "d_fchmod='undef'" +$ WC "d_fchdir='undef'" $ WC "d_fchown='undef'" $ WC "d_fcntl='" + d_fcntl + "'" $ WC "d_fcntl_can_lock='" + d_fcntl_can_lock + "'" $ WC "d_fd_set='" + d_fd_set + "'" $ WC "d_fgetpos='define'" +$ WC "d_finite='undef'" +$ WC "d_finitel='undef'" $ WC "d_flexfnam='define'" $ WC "d_flock='undef'" +$ WC "d_flockproto='undef'" $ WC "d_fork='undef'" +$ WC "d_fp_class='undef'" $ WC "d_fpathconf='" + d_fpathconf + "'" +$ WC "d_fpclass='undef'" +$ WC "d_fpclassify='undef'" +$ WC "d_fpclassl='undef'" $ WC "d_fpos64_t='" + d_fpos64_t + "'" $ WC "d_frexpl='" + d_frexpl + "'" $ WC "d_fs_data_s='undef'" @@ -5091,6 +5129,8 @@ $ WC "d_index='" + d_index + "'" $ WC "d_inetaton='undef'" $ WC "d_int64_t='" + d_int64_t + "'" $ WC "d_isascii='define'" +$ WC "d_isfinite='undef'" +$ WC "d_isinf='undef'" $ WC "d_isnan='" + d_isnan + "'" $ WC "d_isnanl='" + d_isnanl + "'" $ WC "d_killpg='undef'" @@ -5122,6 +5162,7 @@ $ WC "d_mkstemps='" + d_mkstemps + "'" $ WC "d_mktime='" + d_mktime + "'" $ WC "d_mmap='undef'" $ WC "d_modfl='" + d_modfl + "'" +$ WC "d_modfl_pow32_bug='undef'" $ WC "d_mprotect='undef'" $ WC "d_msg='undef'" $ WC "d_msg_ctrunc='undef'" @@ -5134,6 +5175,7 @@ $ WC "d_msync='undef'" $ WC "d_munmap='undef'" $ WC "d_mymalloc='" + d_mymalloc + "'" $ WC "d_nice='define'" +$ WC "d_nl_langinfo='" + d_nl_langinfo + "'" $ WC "d_nv_preserves_uv='" + d_nv_preserves_uv + "'" $ WC "d_nv_preserves_uv_bits='" + d_nv_preserves_uv_bits + "'" $ WC "d_off64_t='" + d_off64_t + "'" @@ -5147,6 +5189,7 @@ $ WC "d_perl_otherlibdirs='undef'" $ WC "d_phostname='" + d_phostname + "'" $ WC "d_pipe='define'" $ WC "d_poll='undef'" +$ WC "d_pthread_atfork='undef'" $ WC "d_pthread_yield='" + d_pthread_yield + "'" $ WC "d_pthreads_created_joinable='" + d_pthreads_created_joinable + "'" $ WC "d_pwage='undef'" @@ -5198,8 +5241,6 @@ $ WC "d_setproctitle='" + d_setproctitle + "'" $ WC "d_setpwent='define'" $ WC "d_setregid='undef'" $ WC "d_setresgid='undef'" -$ WC "d_sresproto='undef'" -$ WC "d_sresgproto='undef'" $ WC "d_setresuid='undef'" $ WC "d_setreuid='undef'" $ WC "d_setrgid='undef'" @@ -5214,11 +5255,15 @@ $ WC "d_sigaction='" + d_sigaction + "'" $ WC "d_sigprocmask='" + d_sigprocmask + "'" $ WC "d_sigsetjmp='" + d_sigsetjmp + "'" $ WC "d_sockatmark='undef'" +$ WC "d_sockatmarkproto='undef'" $ WC "d_socket='" + d_socket + "'" $ WC "d_socklen_t='" + d_socklen_t + "'" $ WC "d_sockpair='undef'" $ WC "d_socks5_init='undef'" $ WC "d_sqrtl='define'" +$ WC "d_sresgproto='undef'" +$ WC "d_sresgproto='undef'" +$ WC "d_sresproto='undef'" $ WC "d_sresuproto='undef'" $ WC "d_statblks='undef'" $ WC "d_statfs_f_flags='undef'" @@ -5226,8 +5271,8 @@ $ WC "d_statfs_s='undef'" $ WC "d_statfsflags='undef'" $ WC "d_stdio_cnt_lval='" + d_stdio_cnt_lval + "'" $ WC "d_stdio_ptr_lval='" + d_stdio_ptr_lval + "'" -$ WC "d_stdio_ptr_lval_sets_cnt='" + d_stdio_ptr_lval_sets_cnt + "'" $ WC "d_stdio_ptr_lval_nochange_cnt='" + d_stdio_ptr_lval_nochange_cnt + "'" +$ WC "d_stdio_ptr_lval_sets_cnt='" + d_stdio_ptr_lval_sets_cnt + "'" $ WC "d_stdio_stream_array='undef'" $ WC "d_stdiobase='" + d_stdiobase + "'" $ WC "d_stdstdio='" + d_stdstdio + "'" @@ -5249,6 +5294,7 @@ $ WC "d_strxfrm='" + d_strxfrm + "'" $ WC "d_suidsafe='undef'" $ WC "d_symlink='undef'" $ WC "d_syscall='undef'" +$ WC "d_syscallproto='undef'" $ WC "d_sysconf='" + d_sysconf + "'" $ WC "d_syserrlst='undef'" $ WC "d_system='define'" @@ -5265,7 +5311,9 @@ $ WC "d_umask='define'" $ WC "d_uname='" + d_uname + "'" $ WC "d_union_semun='undef'" $ WC "d_unlink_all_versions='undef'" +$ WC "d_unordered='undef'" $ WC "d_usleep='undef'" +$ WC "d_usleepproto='undef'" $ WC "d_ustat='undef'" $ WC "d_vendorarch='undef'" $ WC "d_vendorlib='undef'" @@ -5337,10 +5385,13 @@ $ WC "i_dirent='" + i_dirent + "'" $ WC "i_dlfcn='undef'" $ WC "i_fcntl='" + i_fcntl + "'" $ WC "i_float='define'" +$ WC "i_fp='undef'" +$ WC "i_fp_class='undef'" $ WC "i_grp='undef'" $ WC "i_iconv='" + i_iconv +"'" $ WC "i_ieeefp='undef'" $ WC "i_inttypes='" + i_inttypes + "'" +$ WC "i_langinfo='" + i_langinfo + "'" $ WC "i_libutil='" + i_libutil + "'" $ WC "i_limits='define'" $ WC "i_locale='" + i_locale + "'" @@ -5503,6 +5554,7 @@ $ WC "sPRIu64='" + sPRIu64 + "'" $ WC "sPRIx64='" + sPRIx64 + "'" $ WC "sSCNfldbl='" + sSCNfldbl + "'" $ WC "sched_yield='" + sched_yield + "'" +$ WC "scriptdir='" + scriptdir + "'" $ WC "seedfunc='" + seedfunc + "'" $ WC "selectminbits='32'" $ WC "selecttype='" + selecttype + "'" @@ -5557,6 +5609,7 @@ $ WC "use5005threads='" + use5005threads + "'" $ WC "use64bitall='" + use64bitall + "'" $ WC "use64bitint='" + use64bitint + "'" $ WC "usedebugging_perl='" + use_debugging_perl + "'" +$ WC "usecrosscompile='undef'" $ WC "usedl='" + usedl + "'" $ WC "useithreads='" + useithreads + "'" $ WC "uselargefiles='" + uselargefiles + "'" @@ -5566,6 +5619,7 @@ $ WC "usemultiplicity='" + usemultiplicity + "'" $ WC "usemymalloc='" + usemymalloc + "'" $ WC "useperlio='" + useperlio + "'" $ WC "useposix='false'" +$ WC "usereentrant='undef'" $ WC "usesocks='undef'" $ WC "usethreads='" + usethreads + "'" $ WC "usevfork='true'" @@ -5683,6 +5737,13 @@ $ IF be_case_sensitive THEN WC "#define VMS_WE_ARE_CASE_SENSITIVE" $ IF d_herrno .EQS. "undef" THEN WC "#define NEED_AN_H_ERRNO" $ WC "#define HAS_ENVGETENV" $ WC "#define PERL_EXTERNAL_GLOB" +$ IF archname .EQS. "VMS_VAX" .AND. - + ccname .EQS. "DEC" .AND. - + ccversion .LE. 50390006 +$ THEN +$! Alas this does not help to build Fcntl +$! WC "#define PERL_IGNORE_FPUSIG SIGFPE" +$ ENDIF $ CLOSE CONFIG $! $ echo4 "Doing variable substitutions on .SH files..." @@ -5934,7 +5995,7 @@ $ echo "" $ echo4 "The perl.cld file is now being written..." $ OPEN/WRITE CONFIG 'file_2_find' $ ext = ".exe" -$ IF ((sharedperl) .AND. (F$GETSYI("HW_MODEL") .GE. 1024)) THEN ext := .AXE +$ IF (sharedperl .AND. archname .EQS. "VMS_AXP") THEN ext := .AXE $ IF (use_vmsdebug_perl) $ THEN $ WRITE CONFIG "define verb dbgperl" @@ -6007,7 +6068,7 @@ $ ELSE !leave in but commented out (in case setting was from perl :-) $ WRITE CONFIG "$! define SYS$TIMEZONE_DIFFERENTIAL ''tzd'" $ ENDIF $ WRITE CONFIG "$!" -$ WRITE CONFIG "$! Symbols for commonly used scripts:" +$ WRITE CONFIG "$! Symbols for commonly used programs:" $ WRITE CONFIG "$!" $ IF (perl_symbol) $ THEN @@ -6025,6 +6086,7 @@ $ ENDIF $ WRITE CONFIG "$ h2ph == ""'"+"'Perl' ''vms_prefix':[utils]h2ph.com""" $ WRITE CONFIG "$ h2xs == ""'"+"'Perl' ''vms_prefix':[utils]h2xs.com""" $ WRITE CONFIG "$!perlcc == ""'"+"'Perl' ''vms_prefix':[utils]perlcc.com""" +$ WRITE CONFIG "$ perlivp == ""'"+"'Perl' ''vms_prefix':[utils]perlivp.com""" $ WRITE CONFIG "$ splain == ""'"+"'Perl' ''vms_prefix':[utils]splain.com""" $ ELSE $ WRITE CONFIG "$ Perldoc == ""Perl ''vms_prefix':[lib.pod]Perldoc.com -t""" @@ -6041,6 +6103,7 @@ $ ENDIF $ WRITE CONFIG "$ h2ph == ""Perl ''vms_prefix':[utils]h2ph.com""" $ WRITE CONFIG "$ h2xs == ""Perl ''vms_prefix':[utils]h2xs.com""" $ WRITE CONFIG "$!perlcc == ""Perl ''vms_prefix':[utils]perlcc.com""" +$ WRITE CONFIG "$ perlivp == ""Perl ''vms_prefix':[utils]perlivp.com""" $ WRITE CONFIG "$ splain == ""Perl ''vms_prefix':[utils]splain.com""" $ ENDIF $ CLOSE CONFIG