Change 33497 by [EMAIL PROTECTED] on 2008/03/12 18:44:49 Integrate: [ 33496] 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.8/perl/ext/Time/HiRes/Makefile.PL#32 integrate ... //depot/maint-5.8/perl/hints/vos.sh#6 integrate ... //depot/maint-5.8/perl/lib/ExtUtils/t/MM_Unix.t#14 integrate ... //depot/maint-5.8/perl/lib/ExtUtils/t/eu_command.t#4 integrate ... //depot/maint-5.8/perl/makedepend.SH#7 integrate ... //depot/maint-5.8/perl/pp_pack.c#61 integrate ... //depot/maint-5.8/perl/t/TEST#26 integrate ... //depot/maint-5.8/perl/vos/Changes#4 integrate ... //depot/maint-5.8/perl/vos/vos.c#3 integrate ... //depot/maint-5.8/perl/vos/vosish.h#2 integrate Differences ... ==== //depot/maint-5.8/perl/ext/Time/HiRes/Makefile.PL#32 (text) ==== Index: perl/ext/Time/HiRes/Makefile.PL --- perl/ext/Time/HiRes/Makefile.PL#31~32572~ 2007-12-04 06:45:57.000000000 -0800 +++ perl/ext/Time/HiRes/Makefile.PL 2008-03-12 11:44:49.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.8/perl/hints/vos.sh#6 (text) ==== Index: perl/hints/vos.sh --- perl/hints/vos.sh#5~30046~ 2007-01-27 15:25:32.000000000 -0800 +++ perl/hints/vos.sh 2008-03-12 11:44:49.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.8/perl/lib/ExtUtils/t/MM_Unix.t#14 (text) ==== Index: perl/lib/ExtUtils/t/MM_Unix.t --- perl/lib/ExtUtils/t/MM_Unix.t#13~33006~ 2008-01-18 12:15:11.000000000 -0800 +++ perl/lib/ExtUtils/t/MM_Unix.t 2008-03-12 11:44:49.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.8/perl/lib/ExtUtils/t/eu_command.t#4 (text) ==== Index: perl/lib/ExtUtils/t/eu_command.t --- perl/lib/ExtUtils/t/eu_command.t#3~32328~ 2007-11-15 04:11:24.000000000 -0800 +++ perl/lib/ExtUtils/t/eu_command.t 2008-03-12 11:44:49.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.8/perl/makedepend.SH#7 (xtext) ==== Index: perl/makedepend.SH --- perl/makedepend.SH#6~32457~ 2007-11-22 15:19:55.000000000 -0800 +++ perl/makedepend.SH 2008-03-12 11:44:49.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.8/perl/pp_pack.c#61 (text) ==== Index: perl/pp_pack.c --- perl/pp_pack.c#60~33429~ 2008-03-03 15:14:19.000000000 -0800 +++ perl/pp_pack.c 2008-03-12 11:44:49.000000000 -0700 @@ -3189,11 +3189,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 @@ -3225,11 +3228,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.8/perl/t/TEST#26 (xtext) ==== Index: perl/t/TEST --- perl/t/TEST#25~32379~ 2007-11-17 12:42:55.000000000 -0800 +++ perl/t/TEST 2008-03-12 11:44:49.000000000 -0700 @@ -474,7 +474,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.8/perl/vos/Changes#4 (text) ==== Index: perl/vos/Changes --- perl/vos/Changes#3~30248~ 2007-02-12 14:12:39.000000000 -0800 +++ perl/vos/Changes 2008-03-12 11:44:49.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.8/perl/vos/vos.c#3 (text) ==== Index: perl/vos/vos.c --- perl/vos/vos.c#2~30248~ 2007-02-12 14:12:39.000000000 -0800 +++ perl/vos/vos.c 2008-03-12 11:44:49.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.8/perl/vos/vosish.h#2 (text) ==== Index: perl/vos/vosish.h --- perl/vos/vosish.h#1~17645~ 2002-07-19 12:29:57.000000000 -0700 +++ perl/vos/vosish.h 2008-03-12 11:44:49.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.