summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.com4
-rwxr-xr-xinstallhtml4
-rw-r--r--lib/lib.pm7
-rw-r--r--vms/descrip_mms.template9
-rw-r--r--vms/subconfigure.com54
-rw-r--r--vms/vms.c3
6 files changed, 73 insertions, 8 deletions
diff --git a/configure.com b/configure.com
index aefd4aea13..8b35193957 100644
--- a/configure.com
+++ b/configure.com
@@ -39,7 +39,7 @@ $ cat = "type"
$ gcc_symbol = "gcc"
$ ans = ""
$ macros = ""
-$ extra_fags = ""
+$ extra_flags = ""
$ user_c_flags = ""
$ use_debugging_perl = "y"
$ use_ieee_math = "n"
@@ -2219,6 +2219,8 @@ $ file_2_find = "[-]''packageup'.cld"
$ echo ""
$ echo4 "%Config-I-VMS, The perl.cld file is now being written..."
$ OPEN/WRITE CONFIG 'file_2_find'
+$ ext = ".exe"
+$ IF ((sharedperl) .AND. (f$getsyi("ARCH_NAME") .NES. "VAX")) THEN ext := .AXE
$ IF (use_vmsdebug_perl)
$ THEN
$ WRITE CONFIG "define verb dbgperl"
diff --git a/installhtml b/installhtml
index c268f54b36..cfbbe9f5c6 100755
--- a/installhtml
+++ b/installhtml
@@ -159,6 +159,10 @@ $pod2html = "pod/pod2html";
usage("") unless @ARGV;
+# Overcome shell's p1,..,p8 limitation.
+# See vms/descrip_mms.template -> descrip.mms for invokation.
+if ( $^O eq 'VMS' ) { @ARGV = split(/\s+/,$ARGV[0]); }
+
# parse the command-line
$result = GetOptions( qw(
help
diff --git a/lib/lib.pm b/lib/lib.pm
index e46c5fefa6..98e2f733cb 100644
--- a/lib/lib.pm
+++ b/lib/lib.pm
@@ -3,9 +3,10 @@ package lib;
use 5.005_64;
use Config;
-my $archname = $Config{'archname'};
-my $ver = $Config{'version'};
-my @inc_version_list = reverse split / /, $Config{'inc_version_list'};
+my $archname = defined($Config{'archname'}) ? $Config{'archname'} : '';
+my $ver = defined($Config{'version'}) ? $Config{'version'} : '';
+my @inc_version_list = defined($Config{'inc_version_list'}) ?
+ reverse split / /, $Config{'inc_version_list'} : ();
our @ORIG_INC = @INC; # take a handy copy of 'original' value
our $VERSION = '0.5564';
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 6dbe4d02b4..9b01a69571 100644
--- a/vms/subconfigure.com
+++ b/vms/subconfigure.com
@@ -84,6 +84,8 @@ $ perl_d_llseek="undef"
$ perl_d_iconv="undef"
$ perl_d_madvise="undef"
$ perl_selectminbits=32
+$ perl_d_vendorarch="define"
+$ perl_vendorarchexp=""
$ perl_d_msync="undef"
$ perl_d_vendorarch="define"
$ perl_vendorarchexp=""
@@ -1036,6 +1038,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
@@ -4108,6 +4157,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 + "'"
@@ -4248,6 +4298,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 e465bfc710..e063e7f2fb 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;