summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.com6
-rw-r--r--vms/descrip_mms.template3
-rw-r--r--vms/subconfigure.com152
3 files changed, 156 insertions, 5 deletions
diff --git a/configure.com b/configure.com
index a77bec87cb..fade693862 100644
--- a/configure.com
+++ b/configure.com
@@ -1876,11 +1876,13 @@ $ echo ""
$ echo "It's time to specify which modules you want to build into
$ echo "perl. Most of these are standard and should be chosen, though
$ echo "you might, for example, want to build GDBM_File instead of
-$ echo "SDBM_File if you have the GDBM library built on your machine
+$ echo "SDBM_File if you have the GDBM library built on your machine.
+$ echo "Whatever you do, make sure the re module is first or things will
+$ echo "break badly"
$ echo "
$ echo "Which modules do you want to build into perl?"
$! dflt = "Fcntl Errno File::Glob IO Opcode Byteloader Devel::Peek Devel::DProf Data::Dumper attrs re VMS::Stdio VMS::DCLsym B SDBM_File"
-$ dflt = "Fcntl Errno File::Glob IO Opcode Devel::Peek Devel::DProf Data::Dumper attrs re VMS::Stdio VMS::DCLsym B SDBM_File"
+$ dflt = "re Fcntl Errno File::Glob IO Opcode Devel::Peek Devel::DProf Data::Dumper attrs VMS::Stdio VMS::DCLsym B SDBM_File"
$ if Using_Dec_C.eqs."Yes"
$ THEN
$ dflt = dflt + " POSIX"
diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template
index ada0ff3d14..d8b49c7cea 100644
--- a/vms/descrip_mms.template
+++ b/vms/descrip_mms.template
@@ -230,7 +230,7 @@ NOOP = continue
# are built using these macros should depend on $(MINIPERL_EXE)
MINIPERL_EXE = Sys$Disk:[]miniperl$(E)
MINIPERL = MCR $(MINIPERL_EXE) "-I[.lib]"
-XSUBPP = $(MINIPERL) [.lib.extutils]xsubpp -noprototypes
+XSUBPP = $(MINIPERL) "-I[.ext.re]" [.lib.extutils]xsubpp -noprototypes
# Macro to invoke a preexisting copy of Perl. This is used to regenerate
# some header files when rebuilding Perl, but premade versions are provided
# in the distribution, so it's OK if this doesn't work; it's here to make
@@ -806,6 +806,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)
+ If F$TrnLnm("Sys") .nes. "" Then Deass SYS
$(MINIPERL) installperl
archify : all
diff --git a/vms/subconfigure.com b/vms/subconfigure.com
index 1e0d003826..b5d89bfaf1 100644
--- a/vms/subconfigure.com
+++ b/vms/subconfigure.com
@@ -63,6 +63,7 @@ $ myname = myhostname
$ if "''myname'" .eqs. "" THEN myname = f$trnlnm("SYS$NODE")
$!
$! ##ADD NEW CONSTANTS HERE##
+$ perl_d_nv_preserves_uv = "define"
$ perl_d_fs_data_s = "undef"
$ perl_d_getmnt = "undef"
$ perl_d_sqrtl = "define"
@@ -488,10 +489,13 @@ $ perl_arch = "''perl_arch'-thread"
$ perl_archname = "''perl_archname'-thread"
$ perl_d_old_pthread_create_joinable = "undef"
$ perl_old_pthread_create_joinable = " "
+$ perl_use5005threads = "define"
$ ELSE
$ perl_d_old_pthread_create_joinable = "undef"
$ perl_old_pthread_create_joinable = " "
+$ perl_use5005threads = "undef"
$ ENDIF
+$ perl_useithreads = "undef"
$ perl_osvers=f$edit(osvers, "TRIM")
$ if (perl_subversion + 0).eq.0
$ THEN
@@ -1588,6 +1592,144 @@ $ ENDIF
$ ENDIF
$ WRITE_RESULT "d_strtoull is ''perl_d_strtoull'"
$!
+$! Check for strtouq
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <string.h>
+$ WS "int main()
+$ WS "{"
+$ WS "unsigned __int64 result;
+$ WS "result = strtouq(""123123"", NULL, 10);
+$ 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_strtouq="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_strtouq="undef"
+$ ELSE
+$ perl_d_strtouq="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_strtouq is ''perl_d_strtouq'"
+$!
+$! Check for strtoll
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <string.h>
+$ WS "int main()
+$ WS "{"
+$ WS "__int64 result;
+$ WS "result = strtoll(""123123"", NULL, 10);
+$ 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_strtoll="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_strtoll="undef"
+$ ELSE
+$ perl_d_strtoll="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_strtoll is ''perl_d_strtoll'"
+$!
+$! Check for strtold
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <string.h>
+$ WS "int main()
+$ WS "{"
+$ WS "long double result;
+$ WS "result = strtold(""123123"", NULL, 10);
+$ 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_strtold="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_strtold="undef"
+$ ELSE
+$ perl_d_strtold="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_strtold is ''perl_d_strtold'"
+$!
$! Check for atoll
$!
$ OS
@@ -2941,8 +3083,8 @@ $ perl_i16type="short"
$ perl_u16type="unsigned short"
$ perl_i32type="int"
$ perl_u32type="unsigned int"
-$ perl_i64type="long"
-$ perl_u64type="unsigned long"
+$ perl_i64type="long long"
+$ perl_u64type="unsigned long long"
$ perl_nvtype="double"
$!
$ GOTO beyond_type_size_check
@@ -3117,6 +3259,9 @@ $ WC "# Time: " + perl_cf_time
$ WC ""
$ WC "CONFIGDOTSH=true"
$ WC "package='" + perl_package + "'"
+$ WC "d_nv_preserves_uv='" + perl_d_nv_preserves_uv + "'"
+$ WC "use5005threads='" + perl_use5005threads + "'"
+$ WC "useithreads='" + perl_useithreads + "'"
$ WC "CONFIG='" + perl_config + "'"
$ WC "cf_time='" + perl_cf_time + "'"
$ WC "cf_by='" + perl_cf_by+ "'"
@@ -3574,6 +3719,9 @@ $ WC "crosscompile='" + perl_crosscompile + "'"
$ WC "multiarch='" + perl_multiarch + "'"
$ WC "sched_yield='" + perl_sched_yield + "'"
$ WC "d_strtoull='" + perl_d_strtoull + "'"
+$ WC "d_strtouq='" + perl_d_strtouq + "'"
+$ WC "d_strtoll='" + perl_d_strtoll + "'"
+$ WC "d_strtold='" + perl_d_strtold + "'"
$ WC "usesocks='" + perl_usesocks + "'"
$ WC "d_vendorlib='" + perl_d_vendorlib + "'"
$ WC "vendorlibexp='" + perl_vendorlibexp + "'"