Change 33496 by [EMAIL PROTECTED] on 2008/03/12 17:43:34

        Integrate:
        [ 33259]
        Subject: RE: Perl @ 33218 (Stratus VOS patches)
        From: "Green, Paul" <[EMAIL PROTECTED]>
        Date: Fri, 8 Feb 2008 12:36:03 -0500
        Message-ID: <[EMAIL PROTECTED]>
        
        Includes a fix to the patch to ext/Time/HiRes/Makefile.PL

Affected files ...

... //depot/maint-5.10/perl/README.vos#2 integrate
... //depot/maint-5.10/perl/ext/Time/HiRes/Makefile.PL#2 integrate
... //depot/maint-5.10/perl/hints/vos.sh#2 integrate
... //depot/maint-5.10/perl/lib/ExtUtils/t/MM_Unix.t#2 integrate
... //depot/maint-5.10/perl/lib/ExtUtils/t/eu_command.t#2 integrate
... //depot/maint-5.10/perl/makedepend.SH#2 integrate
... //depot/maint-5.10/perl/pp_pack.c#3 integrate
... //depot/maint-5.10/perl/t/TEST#2 integrate
... //depot/maint-5.10/perl/vos/Changes#2 integrate
... //depot/maint-5.10/perl/vos/vos.c#2 integrate
... //depot/maint-5.10/perl/vos/vosish.h#2 integrate

Differences ...

==== //depot/maint-5.10/perl/README.vos#2 (text) ====
Index: perl/README.vos
--- perl/README.vos#1~32694~    2007-12-22 01:23:09.000000000 -0800
+++ perl/README.vos     2008-03-12 10:43:34.000000000 -0700
@@ -24,14 +24,17 @@
 
 If you are running VOS Release 14.4.1 or later, you can obtain a
 pre-compiled, supported copy of perl by purchasing Release 2.0.1
-(or later) of the VOS GNU C++ and GNU Tools product from Stratus
-Technologies.
+(or later) of the VOS GNU C/C++ and GNU Tools product from
+Stratus Technologies.
 
 =head1 BUILDING PERL FOR VOS
 
-To build perl from its source code, you must have a Continuum
-platform running VOS Release 14.5.0 or later, the STCP product,
-and the GNU C++ and GNU Tools, Release 2.0.1 or later.
+To build perl from its source code on the Stratus Continuum
+platform, you must be have VOS Release 14.5.0 or later, the STCP
+product, and the GNU C/C++ and GNU Tools, Release 2.0.1 or
+later.  On the V Series platform you must have VOS Release
+15.0.0 or later, and any version of the GNU C/C++ and GNU Tools
+product.
 
 To build full perl using the supplied Configure script and
 makefiles, change to the "vos" subdirectory and type the command
@@ -45,7 +48,8 @@
 =item 1
 
 If you have built perl using the Configure script, ensure that
-you have modify permission to C<< >system>ported >> and type
+you have modify and default write permission to C<<
+>system>ported >> and all subdirectories.  Then type
 
      gmake install
 
@@ -57,6 +61,7 @@
 
      >system>ported>lib>perl5>5.9.0>7100
      >system>ported>lib>perl5>5.9.0>8000
+     >system>ported>lib>perl5>5.9.0>i786
 
 =item 3
 
@@ -70,6 +75,7 @@
 
      >system>ported>lib>perl5>site_perl>5.9.0>7100
      >system>ported>lib>perl5>site_perl>5.9.0>8000
+     >system>ported>lib>perl5>site_perl>5.9.0>i786
 
 =item 4
 
@@ -109,13 +115,13 @@
 will probably result in SIGFPE.  Don't push your luck.
 
 As of VOS Release 14.7.0, the VOS POSIX runtime sets up the
-PA-RISC hardware floating-point status register so that the
-overflow and underflow exceptions do not trap, but instead
-automatically convert the result to infinity or zero, as
+PA-RISC and IA-32 hardware floating-point status register so
+that the overflow and underflow exceptions do not trap, but
+instead automatically convert the result to infinity or zero, as
 appropriate.  As of this writing, there are still floating-point
 operations that can trap, for example, subtracting two infinite
-values.  This is recorded as suggestion posix-1022, which is not
-yet fixed.
+values.  This is recorded as suggestion posix-1022, which has
+been fixed in VOS Release 15.2 and higher.
 
 =head1 TEST STATUS
 
@@ -142,7 +148,7 @@
 seller.
 
 If you want a supported version of perl for VOS, purchase the
-VOS GNU C++ and GNU Tools Release 2.0.1 (or later) product from
+VOS GNU C/C++ and GNU Tools Release 2.0.1 (or later) product from
 Stratus Technologies, along with a support contract (or from
 anyone else who will sell you support).
 
@@ -152,6 +158,6 @@
 
 =head1 LAST UPDATE
 
-January 15, 2004
+February 7, 2008
 
 =cut

==== //depot/maint-5.10/perl/ext/Time/HiRes/Makefile.PL#2 (text) ====
Index: perl/ext/Time/HiRes/Makefile.PL
--- perl/ext/Time/HiRes/Makefile.PL#1~32694~    2007-12-22 01:23:09.000000000 
-0800
+++ perl/ext/Time/HiRes/Makefile.PL     2008-03-12 10:43:34.000000000 -0700
@@ -19,8 +19,11 @@
 
 use vars qw($self); # Used in 'sourcing' the hints.
 
+# TBD: Can we just use $Config(exe_ext) here instead of this complex
+#      expression?
 my $ld_exeext = ($^O eq 'cygwin' ||
-                 $^O eq 'os2' && $Config{ldflags} =~ /-Zexe\b/) ? '.exe' : '';
+                 $^O eq 'os2' && $Config{ldflags} =~ /-Zexe\b/) ? '.exe' :
+                (($^O eq 'vos') ? $Config{exe_ext} : '');
 
 unless($ENV{PERL_CORE}) {
     $ENV{PERL_CORE} = 1 if grep { $_ eq 'PERL_CORE=1' } @ARGV;

==== //depot/maint-5.10/perl/hints/vos.sh#2 (text) ====
Index: perl/hints/vos.sh
--- perl/hints/vos.sh#1~32694~  2007-12-22 01:23:09.000000000 -0800
+++ perl/hints/vos.sh   2008-03-12 10:43:34.000000000 -0700
@@ -3,14 +3,14 @@
 # This is a hints file for Stratus VOS, using the POSIX environment
 # in VOS 14.4.0 and higher.
 #
-# VOS POSIX is based on POSIX.1-1996.  It ships with gcc as the standard
-# compiler.
+# VOS POSIX is based on POSIX.1-1996 and contains elements of
+# POSIX.1-2001.  It ships with gcc as the standard compiler.
 #
 # Paul Green ([EMAIL PROTECTED])
 
 # C compiler and default options.
 cc=gcc
-ccflags="-D_SVID_SOURCE -D_POSIX_C_SOURCE=199509L"
+ccflags="-D_SVID_SOURCE -D_POSIX_C_SOURCE=200112L"
 
 # Make command.
 make="/system/gnu_library/bin/gmake"
@@ -18,7 +18,11 @@
   _make="/system/gnu_library/bin/gmake"
 
 # Architecture name
-archname="hppa1.1"
+if test `uname -m` = i786; then
+     archname="i786"
+else
+     archname="hppa1.1"
+fi
 
 # Executable suffix.
 # No, this is not a typo.  The ".pm" really is the native
@@ -37,7 +41,13 @@
 glibpth="$loclibpth"
 
 # Include library paths
-locincpth="/system/stcp/include_library"
+# Pick up vos/syslog.h on Continuum Platform.
+if test "$archname" = "i786"; then
+     locincpth=""
+else
+     locincpth=`pwd`/vos
+fi
+locincpth="$locincpth /system/stcp/include_library"
 locincpth="$locincpth /system/include_library/sysv"
 usrinc="/system/include_library"
 

==== //depot/maint-5.10/perl/lib/ExtUtils/t/MM_Unix.t#2 (text) ====
Index: perl/lib/ExtUtils/t/MM_Unix.t
--- perl/lib/ExtUtils/t/MM_Unix.t#1~32694~      2007-12-22 01:23:09.000000000 
-0800
+++ perl/lib/ExtUtils/t/MM_Unix.t       2008-03-12 10:43:34.000000000 -0700
@@ -171,7 +171,11 @@
 # maybe_command
 
 open(FILE, ">command"); print FILE "foo"; close FILE;
+SKIP: {
+skip ("no separate execute mode", 1) if ($^O eq "vos");
 ok (!$t->maybe_command('command') ,"non executable file isn't a command");
+}
+
 chmod 0755, "command";
 ok ($t->maybe_command('command'),        "executable file is a command");
 unlink "command";

==== //depot/maint-5.10/perl/lib/ExtUtils/t/eu_command.t#2 (text) ====
Index: perl/lib/ExtUtils/t/eu_command.t
--- perl/lib/ExtUtils/t/eu_command.t#1~32694~   2007-12-22 01:23:09.000000000 
-0800
+++ perl/lib/ExtUtils/t/eu_command.t    2008-03-12 10:43:34.000000000 -0700
@@ -146,7 +146,7 @@
     SKIP: {
         if ($^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' ||
             $^O eq 'NetWare' || $^O eq 'dos' || $^O eq 'cygwin'  ||
-            $^O eq 'MacOS'
+            $^O eq 'MacOS' || $^O eq 'vos'
            ) {
             skip( "different file permission semantics on $^O", 5);
         }

==== //depot/maint-5.10/perl/makedepend.SH#2 (xtext) ====
Index: perl/makedepend.SH
--- perl/makedepend.SH#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/makedepend.SH  2008-03-12 10:43:34.000000000 -0700
@@ -210,6 +210,10 @@
     $echo "Updating $mf..."
     $echo "# If this runs make out of memory, delete /usr/include lines." \
        >> $mf.new
+    if [ "$osname" = vos ]; then
+        $sed 's|.incl.c|.h|' .deptmp >.deptmp.vos
+        mv -f .deptmp.vos .deptmp
+    fi
     $sed 's|^\(.*\$(OBJ_EXT):\) *\(.*/.*\.c\) *$|\1 \2; '"$defrule \2|" 
.deptmp \
        >>$mf.new
 else

==== //depot/maint-5.10/perl/pp_pack.c#3 (text) ====
Index: perl/pp_pack.c
--- perl/pp_pack.c#2~33139~     2008-01-30 15:19:42.000000000 -0800
+++ perl/pp_pack.c      2008-03-12 10:43:34.000000000 -0700
@@ -3064,11 +3064,14 @@
                   any OS that needs it, or removed if and when VOS implements
                   posix-976 (suggestion to support mapping to infinity).
                   [EMAIL PROTECTED] 02-04-02.  */
+{
+extern const float _float_constants[];
                if (anv > FLT_MAX)
                    afloat = _float_constants[0];   /* single prec. inf. */
                else if (anv < -FLT_MAX)
                    afloat = _float_constants[0];   /* single prec. inf. */
                else afloat = (float) anv;
+}
 #else /* __VOS__ */
 # if defined(VMS) && !defined(__IEEE_FP)
                /* IEEE fp overflow shenanigans are unavailable on VAX and 
optional
@@ -3100,11 +3103,14 @@
                   for any OS that needs it, or removed if and when VOS
                   implements posix-976 (suggestion to support mapping to
                   infinity).  [EMAIL PROTECTED] 02-04-02.  */
+{
+extern const double _double_constants[];
                if (anv > DBL_MAX)
                    adouble = _double_constants[0];   /* double prec. inf. */
                else if (anv < -DBL_MAX)
                    adouble = _double_constants[0];   /* double prec. inf. */
                else adouble = (double) anv;
+}
 #else /* __VOS__ */
 # if defined(VMS) && !defined(__IEEE_FP)
                /* IEEE fp overflow shenanigans are unavailable on VAX and 
optional

==== //depot/maint-5.10/perl/t/TEST#2 (xtext) ====
Index: perl/t/TEST
--- perl/t/TEST#1~32694~        2007-12-22 01:23:09.000000000 -0800
+++ perl/t/TEST 2008-03-12 10:43:34.000000000 -0700
@@ -383,7 +383,7 @@
 
                            # SKIP is essentially the same as TODO for t/TEST
                            # this still conforms to TAP:
-                           # 
http://search.cpan.org/dist/Test-Harness/lib/Test/Harness/TAP.pod
+                           # http://search.cpan.org/dist/TAP/TAP.pod
                            $extra and $istodo = $extra =~ 
/#\s*(?:TODO|SKIP)\b/;
                            $istodo = 1 if $todo{$num};
 

==== //depot/maint-5.10/perl/vos/Changes#2 (text) ====
Index: perl/vos/Changes
--- perl/vos/Changes#1~32694~   2007-12-22 01:23:09.000000000 -0800
+++ perl/vos/Changes    2008-03-12 10:43:34.000000000 -0700
@@ -1,6 +1,12 @@
 This file documents the changes made to port Perl to the Stratus
 VOS operating system.
 
+For 5.8.9:
+     Updated vos hints file (vos.sh) to use the POSIX-2001
+     standard and to recognize the V Series architecture of
+     i786.  Cleaned-up a few issues so that more tests pass.
+     This version builds on VOS Release 15.3.0.
+
 For 5.10.0:
      Added support for the syslog family of functions to vos.c.
      This allows the source code to be built on versions of VOS

==== //depot/maint-5.10/perl/vos/vos.c#2 (text) ====
Index: perl/vos/vos.c
--- perl/vos/vos.c#1~32694~     2007-12-22 01:23:09.000000000 -0800
+++ perl/vos/vos.c      2008-03-12 10:43:34.000000000 -0700
@@ -6,6 +6,8 @@
      have pow(0,0) return 1, avoiding c-1471. */
 /* Modified 06-09-25 by Paul Green ([EMAIL PROTECTED]) to
      add syslog entries. */
+/* Modified 08-02-04 by Paul Green ([EMAIL PROTECTED]) to
+     open the syslog file in the working dir. */
 /* End of modification history */
 
 #include <errno.h>
@@ -87,7 +89,7 @@
 char vos_syslog_ident[IDENT_LEN] = "";
 int  vos_syslog_ident_len = 0;
 int  vos_syslog_mask = ALL_PRIORITIES;
-char vos_syslog_path[PATH_LEN] = "/Stratus/Green/build_farm/build_farm.syslog";
+char vos_syslog_path[PATH_LEN] = "syslog";
 
 char vos_syslog_facility_name [17][10] = {
      "[KERN] ",    /* LOG_KERN */

==== //depot/maint-5.10/perl/vos/vosish.h#2 (text) ====
Index: perl/vos/vosish.h
--- perl/vos/vosish.h#1~32694~  2007-12-22 01:23:09.000000000 -0800
+++ perl/vos/vosish.h   2008-03-12 10:43:34.000000000 -0700
@@ -4,6 +4,10 @@
 #include "unixish.h"
 #endif
 
+/* VOS does not support SA_SIGINFO, so undefine the macro.  This
+   is a work-around for posix-1302.  */
+#undef SA_SIGINFO
+
 /* The following declaration is an avoidance for posix-950. */
 extern int ioctl (int fd, int request, ...);
 
End of Patch.

Reply via email to