summaryrefslogtreecommitdiff
path: root/vms
diff options
context:
space:
mode:
authorCharles Bailey <bailey@newman.upenn.edu>2000-03-13 02:31:44 +0000
committerbailey <bailey@newman.upenn.edu>2000-03-13 02:31:44 +0000
commita32e82edde068d007913f66170d881838f070558 (patch)
treeb263f210818e8a9977e4a12080386f6af4a33282 /vms
parentfd7385b97d6c0b537b272f194ad6f88a70d3dd39 (diff)
parent24ef60581ee187bb6d4388e124dfc34b8cf0b663 (diff)
downloadperl-a32e82edde068d007913f66170d881838f070558.tar.gz
Resync with mainline post RC1
p4raw-id: //depot/vmsperl@5690
Diffstat (limited to 'vms')
-rw-r--r--vms/descrip_mms.template9
-rw-r--r--vms/subconfigure.com61
-rw-r--r--vms/vms.c3
-rw-r--r--vms/vmsish.h9
4 files changed, 73 insertions, 9 deletions
diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template
index c96c145752..77772c95ef 100644
--- a/vms/descrip_mms.template
+++ b/vms/descrip_mms.template
@@ -799,10 +799,10 @@ preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) $(SOCKPM)
@ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-install.html : []perl_setup.com installhtml. install $(perlpods)
- @ @perl_setup
- @ If F$Search("[.lib]html.dir").eqs."" Then Create/Directory [.lib.html]
- $(MINIPERL) installhtml. "--podroot=/perl_root --recurse --htmldir=lib/html --htmlroot=lib/html --splithead=pod/perlipc --splititem=pod/perlfunc --libpods=perlfunc:perlguts:perlvar:perlrun:perlop --verbose"
+install.html : $(perlpods)
+ @ @perl_setup.com
+ @ If F$Search("perl_root:[lib]html.dir").eqs."" Then Create/Directory perl_root:[lib.html]
+ $(MINIPERL) installhtml. "--podroot=. --recurse --htmldir=/perl_root/lib/html --htmlroot=.. --verbose"
printconfig :
@ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
@@ -882,6 +882,7 @@ test : all [.t.lib]vmsfspec.t [.t.lib]vmsish.t
# install ought not need a source, but it doesn't work if one's not
# there. Go figure...
install : $(MINIPERL_EXE)
+ @ @perl_setup.com
If F$TrnLnm("Sys") .nes. "" Then Deass SYS
$(MINIPERL) installperl
diff --git a/vms/subconfigure.com b/vms/subconfigure.com
index 2df50cd414..d9231e7ffd 100644
--- a/vms/subconfigure.com
+++ b/vms/subconfigure.com
@@ -91,10 +91,10 @@ $ perl_i_ustat = "undef"
$ perl_d_llseek="undef"
$ perl_d_iconv="undef"
$ perl_d_madvise="undef"
-$ perl_selectminbits=32
-$ perl_d_msync="undef"
-$ perl_d_vendorarch="define"
+$ perl_selectminbits="32"
+$ perl_d_vendorarch="undef"
$ perl_vendorarchexp=""
+$ perl_d_msync="undef"
$ perl_d_mprotect="undef"
$ perl_d_munmap="undef"
$ perl_crosscompile="undef"
@@ -1053,6 +1053,53 @@ $ ENDIF
$ ENDIF
$ WRITE_RESULT "i_inttypes is ''perl_i_inttypes'"
$!
+$! Check for h_errno
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <unistd.h>
+$ WS "#include <netdb.h>
+$ WS "int main()
+$ WS "{"
+$ WS "h_errno = 3;
+$ 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_herrno="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt)
+$ 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_herrno="undef"
+$ ELSE
+$ perl_d_herrno="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_herrno is ''perl_d_herrno'"
+$!
$! Check to see if int64_t exists
$!
$ OS
@@ -3561,11 +3608,14 @@ $ type = "''perl_i64type'"
$ size_name = "i64size"
$ gosub type_size_check
$ perl_i64size="''line'"
+$ perl_ivtype="''perl_i64type'"
$
$ type = "''perl_u64type'"
$ size_name = "u64size"
$ gosub type_size_check
$ perl_u64size="''line'"
+$ perl_uvtype="''perl_u64type'"
+$ perl_nvtype="long double"
$ Else
$ perl_i64size="undef"
$ perl_u64size="undef"
@@ -4138,6 +4188,7 @@ $ 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='0'"
$ WC "inc_version_list_init='0'"
$ WC "uselargefiles='" + perl_uselargefiles + "'"
$ WC "uselongdouble='" + perl_uselongdouble + "'"
@@ -4276,6 +4327,10 @@ $ if be_case_sensitive
$ then
$ write config "#define VMS_WE_ARE_CASE_SENSITIVE"
$ endif
+$ if perl_d_herrno .eqs. "undef"
+$ THEN
+$ write config "#define NEED_AN_H_ERRNO"
+$ ENDIF
$ WRITE CONFIG "#define HAS_ENVGETENV"
$ WRITE CONFIG "#define PERL_EXTERNAL_GLOB"
$ CLOSE CONFIG
diff --git a/vms/vms.c b/vms/vms.c
index f7edca7df0..c18ca49879 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -68,6 +68,9 @@
# define prv$v_sysprv prv$r_prvdef_bits0.prv$v_sysprv
#endif
+#if defined(NEED_AN_H_ERRNO)
+dEXT int h_errno;
+#endif
struct itmlst_3 {
unsigned short int buflen;
diff --git a/vms/vmsish.h b/vms/vmsish.h
index a09d2be438..12b13696ce 100644
--- a/vms/vmsish.h
+++ b/vms/vmsish.h
@@ -257,7 +257,7 @@
#define BIT_BUCKET "_NLA0:"
#define PERL_SYS_INIT(c,v) vms_image_init((c),(v)); MALLOC_INIT
-#define PERL_SYS_TERM() MALLOC_TERM
+#define PERL_SYS_TERM() OP_REFCNT_TERM; MALLOC_TERM
#define dXSUB_SYS
#define HAS_KILL
#define HAS_WAIT
@@ -307,7 +307,7 @@
/* USEMYBINMODE
* This symbol, if defined, indicates that the program should
- * use the routine my_binmode(FILE *fp, char iotype) to insure
+ * use the routine my_binmode(FILE *fp, char iotype, int mode) to insure
* that a file is in "binary" mode -- that is, that no translation
* of bytes occurs on read or write operations.
*/
@@ -717,4 +717,9 @@ typedef char __VMS_SEPYTOTORP__;
#undef HAS_NTOHL
#endif
+/* The C RTL manual says to undef the macro for DEC C 5.2 and lower. */
+#if defined(fileno) && defined(__DECC_VER) && __DECC_VER < 50300000
+# undef fileno
+#endif
+
#endif /* __vmsish_h_included */