The following patch is needed to get 5.5.640 building on VMS. There are still
a bunch of test failures, but this is better than nothing...

--- vms/subconfigure.com;1      Thu Feb  3 14:50:38 2000
+++ vms/subconfigure.com        Thu Feb  3 14:50:38 2000
@@ -63,6 +63,7 @@
  $ 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_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
  $ 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_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 ""
  $ 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 "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 + "'"


--- configure.com;1     Thu Feb  3 14:51:16 2000
+++ configure.com       Thu Feb  3 14:51:16 2000
@@ -1876,11 +1876,13 @@
  $ 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"


--- vms/descrip_mms.template;1  Thu Feb  3 14:50:38 2000
+++ vms/descrip_mms.template    Thu Feb  3 15:28:42 2000
@@ -230,7 +230,7 @@
  # 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 @@
  # 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


                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to