summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.com17
-rw-r--r--vms/descrip_mms.template4
-rw-r--r--vms/subconfigure.com210
3 files changed, 216 insertions, 15 deletions
diff --git a/configure.com b/configure.com
index fade693862..cd888cf355 100644
--- a/configure.com
+++ b/configure.com
@@ -48,6 +48,7 @@ $ use_two_pot_malloc = "N"
$ use_pack_malloc = "N"
$ use_debugmalloc = "N"
$ d_secintgenv = "N"
+$ cc_flags = ""
$ use_multiplicity = "N"
$ vms_default_directory_name = F$ENVIRONMENT("DEFAULT")
$ max_allowed_dir_depth = 3 ! e.g. [A.B.PERL5_00n] not [A.B.C.PERL5_00n]
@@ -1152,12 +1153,12 @@ $ WRITE CONFIG " exit(0);"
$ WRITE CONFIG "}"
$ CLOSE CONFIG
$!
-$ DEFINE SYS$ERROR _NLA0:
-$ DEFINE SYS$OUTPUT _NLA0:
+$! DEFINE SYS$ERROR _NLA0:
+$! DEFINE SYS$OUTPUT _NLA0:
$ cc/NoObj/list=ccvms.lis ccvms.c
$ tmp = $status
-$ DEASSIGN SYS$OUTPUT
-$ DEASSIGN SYS$ERROR
+$! DEASSIGN SYS$OUTPUT
+$! DEASSIGN SYS$ERROR
$ IF (silent) THEN GOSUB Shut_up
$! echo "%Config-I-VMS, After cc compile $status = >''tmp'<" !diagnostic
$!
@@ -1199,7 +1200,7 @@ $ echo "%Config-I-VMS, You also have: ''line' ''archsufx' ''F$GETSYI("VERSIO
$ vms_cc_available = vms_cc_available + "cc/decc "
$ ENDIF
$ ELSE
-$ IF F$LOCATE("DEC",line).NE.F$LENGTH(line)
+$ IF (F$LOCATE("DEC",line).NE.F$LENGTH(line)).or.(F$LOCATE("Compaq",line).NE.F$LENGTH(line))
$ THEN
$ vms_cc_dflt = "/decc"
$ vms_cc_available = vms_cc_available + "cc/decc "
@@ -1269,7 +1270,7 @@ $ IF ans.NES.""
$ THEN
$ ans = F$EDIT(ans,"TRIM, COMPRESS, LOWERCASE")
$ Mcc = ans
-$ IF F$LOCATE("dec",ans).NE.F$LENGTH(ans)
+$ IF (F$LOCATE("dec",ans).NE.F$LENGTH(ans)).or.(F$LOCATE("compaq",ans).NE.F$LENGTH(ans))
$ THEN
$ Mcc = "cc/decc"
$ Using_Dec_C = "Yes"
@@ -1283,7 +1284,7 @@ $ C_COMPILER_Replace = "CC=cc=''Mcc'"
$ ENDIF
$ IF Mcc.NES.dflt
$ THEN
-$ IF F$LOCATE("dec",dflt).NE.F$LENGTH(dflt)
+$ IF (F$LOCATE("dec",dflt).NE.F$LENGTH(dflt)).or(F$LOCATE("compaq",dflt).NE.F$LENGTH(dflt))
$ THEN
$ C_COMPILER_Replace = "CC=cc=''Mcc'"
$ ELSE
@@ -1367,6 +1368,8 @@ $ CLOSE CONFIG
$! DELETE/NOLOG/NOCONFIRM deccvers.*;
$ echo "You are using Dec C ''line'"
$ Dec_C_Version = line
+$ Dec_C_Version = Dec_C_Version + 0
+$ if Dec_C_Version.ge.60200000 THEN CC_FLAGS = CC_FLAGS + "/NOANSI_ALIAS"
$ ENDIF
$Vaxc_Invoke_check:
$ IF "''Using_Vax_C'".EQS."Yes"
diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template
index f8e1aa9138..c07c6d98f6 100644
--- a/vms/descrip_mms.template
+++ b/vms/descrip_mms.template
@@ -834,6 +834,10 @@ preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) $(SOCKPM)
@ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
@ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlunicode.pod : [.pod]perlunicode.pod
+ @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+ @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
[.lib.pod]perlxs.pod : [.pod]perlxs.pod
@ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
@ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
diff --git a/vms/subconfigure.com b/vms/subconfigure.com
index 150a00b0c0..01dc6abd20 100644
--- a/vms/subconfigure.com
+++ b/vms/subconfigure.com
@@ -37,19 +37,14 @@ $ Vms_Ver := "''f$extract(1,3, f$getsyi(""version""))'"
$ perl_extensions := "''extensions'"
$ if f$length(Mcc) .eq. 0 then Mcc := "cc"
$ MCC = f$edit(mcc, "UPCASE")
-$ IF Mcc.eqs."CC
-$ THEN
-$ C_Compiler_Replace := "CC="
-$ ELSE
-$ C_Compiler_Replace := "CC=CC=''Mcc'"
-$ ENDIF
+$ C_Compiler_Replace := "CC=CC=''Mcc'''CC_flags'"
$ if "''Using_Dec_C'" .eqs. "Yes"
$ THEN
$ Checkcc := "''Mcc'/prefix=all"
$ ELSE
$ Checkcc := "''Mcc'"
$ ENDIF
-$ cc_flags = ""
+$! cc_flags = ""
$ if use_multiplicity .eqs. "Y"
$ THEN
$ perl_usemultiplicity = "define"
@@ -75,6 +70,7 @@ $ perl_i_sysstatfs = "undef"
$ perl_i_sysvfs = "undef"
$ perl_i_ustat = "undef"
$ perl_d_llseek="undef"
+$ perl_d_iconv="undef"
$ perl_d_madvise="undef"
$ perl_selectminbits=32
$ perl_d_msync="undef"
@@ -1224,6 +1220,98 @@ $ ENDIF
$ ENDIF
$ WRITE_RESULT "i_sysfile is ''perl_i_sysfile'"
$!
+$! Check for sys/utsname.h
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <unistd.h>
+$ WS "#include <sys/utsname.h>
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_sysutsname="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_sysutsname="undef"
+$ ELSE
+$ perl_i_sysutsname="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "i_sysutsname is ''perl_i_sysutsname'"
+$!
+$! Check for syslog.h
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <unistd.h>
+$ WS "#include <syslog.h>
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_syslog="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_syslog="undef"
+$ ELSE
+$ perl_i_syslog="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "i_syslog is ''perl_i_syslog'"
+$!
$! Check for poll.h
$!
$ OS
@@ -1316,6 +1404,52 @@ $ ENDIF
$ ENDIF
$ WRITE_RESULT "i_sysuio is ''perl_i_sysuio'"
$!
+$! Check for sys/mode.h
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <unistd.h>
+$ WS "#include <sys/mode.h>
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_sysmode="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_sysmode="undef"
+$ ELSE
+$ perl_i_sysmode="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "i_sysmode is ''perl_i_sysmode'"
+$!
$! Check for sys/access.h
$!
$ OS
@@ -2035,7 +2169,60 @@ $ perl_d_mkstemps="define"
$ ENDIF
$ WRITE_RESULT "d_mkstemps is ''perl_d_mkstemps'"
$!
-$! Check for mkstemp
+$! Check for iconv
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <iconv.h>
+$ WS "int main()
+$ WS "{"
+$ WS " iconv_t cd;"
+$ WS " char *inbuf, *outbuf;"
+$ WS " size_t inleft, outleft;"
+$ WS " iconv(cd, &inbuf, &inleft, &outbuf, &outleft);"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_iconv="undef"
+$ perl_i_iconv="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_iconv="undef"
+$ perl_i_iconv="undef"
+$ ELSE
+$ perl_d_iconv="define"
+$ perl_i_iconv="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_iconv is ''perl_d_iconv'"
+$ WRITE_RESULT "i_iconv is ''perl_i_iconv'"
+$!
+$! Check for mkdtemp
$!
$ OS
$ WS "#ifdef __DECC
@@ -2990,6 +3177,7 @@ $ THEN
$ perl_d_attribut="define"
$ perl_vms_cc_type="gcc"
$ ELSE
+$ perl_vms_cc_type="cc"
$ perl_d_attribut="undef"
$ ENDIF
$
@@ -3774,6 +3962,9 @@ $ WC "fflushNULL='define'"
$ WC "fflushall='undef'"
$ WC "d_stdio_stream_array='undef'"
$ WC "i_sysstatvfs='" + perl_i_sysstatvfs + "'"
+$ WC "i_syslog='" + perl_i_syslog + "'"
+$ WC "i_sysmode='" + perl_i_sysmode + "'"
+$ WC "i_sysutsname='" + perl_i_sysutsname + "'"
$ WC "i_machcthreads='" + perl_i_machcthreads + "'"
$ WC "i_pthread='" + perl_i_pthread + "'"
$ WC "d_fstatvfs='" + perl_d_fstatvfs + "'"
@@ -3821,6 +4012,9 @@ $ WC "sPRIu64='" + perl_sPRIu64 + "'"
$ WC "sPRIo64='" + perl_sPRIo64 + "'"
$ WC "sPRIx64='" + perl_sPRIx64 + "'"
$ WC "d_llseek='" + perl_d_llseek + "'"
+$ WC "d_iconv='" + perl_d_iconv +"'"
+$ WC "i_iconv='" + perl_i_iconv +"'"
+$ WC "inc_version_list_init='""""'"
$ WC "uselargefiles='" + perl_uselargefiles + "'"
$ WC "uselongdouble='" + perl_uselongdouble + "'"
$ WC "usemorebits='" + perl_usemorebits + "'"