integrate cfgperl and vmsperl contents into mainline
Gurusamy Sarathy [Tue, 21 Mar 2000 08:56:58 +0000 (08:56 +0000)]
p4raw-id: //depot/perl@5853

Configure
Todo
Todo-5.6
lib/File/Spec/VMS.pm
pod/perldelta.pod
t/op/taint.t

index f4138e6..94bcbde 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Sat Mar 18 23:12:11 EET 2000 [metaconfig 3.0 PL70]
+# Generated on Sun Mar 19 20:37:30 EET 2000 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -13860,7 +13860,7 @@ EOM
        case "$d_socklen_t" in
        "$define") yyy="$yyy socklen_t"
        esac
-       yyy="$yyy $sizetype int long"
+       yyy="$yyy $sizetype int long unsigned"
        for xxx in $yyy; do
                case "$socksizetype" in
                '')     try="extern int accept(int, struct sockaddr *, $xxx *);"
@@ -13880,8 +13880,8 @@ EOM
                ;;
        esac
        ;;
-*)     : no sockets, so pick relatively harmless defaults
-       socksizetype='unsigned'
+*)     : no sockets, so pick relatively harmless default
+       socksizetype='int'
        ;;
 esac
 
diff --git a/Todo b/Todo
index bf1e729..f91f154 100644 (file)
--- a/Todo
+++ b/Todo
@@ -46,6 +46,15 @@ Would be nice to have
            an extension (Devel::MProf?) that would return the malloc
            stats in a nice Perl datastructure (also a simple interface
            to return just the grand total would be good)
+       cross-compilation support
+           host vs target: compile in the host, get the executable to
+           the target, get the possible input files to the target,
+           execute in the target (and do not assume a UNIXish shell
+           in the target! e.g. no command redirection can be assumed),
+           get possible output files back to to host.  this needs to work
+           both during Configure and during the build.  You cannot assume
+           shared filesystems between the host and the target (you may need
+           e.g. ftp), executing the target executable may involve e.g. rsh
        a way to make << and >> to shift bitvectors instead of numbers
 
 Possible pragmas
index 35e6949..7255363 100644 (file)
--- a/Todo-5.6
+++ b/Todo-5.6
@@ -47,13 +47,7 @@ Configure
        libswanted <-> usethreads <-> use64bitint <-> use64bitall <->
        uselargefiles <-> ...  
     make configuring+building away from source directory work (VPATH et al)
-       this is related to: cross-compilation configuring
-       host vs target: compile in the host, get the executable to the target,
-       get the possible input files to the target, execute in the target,
-       get possible output files back to to host.  this needs to work
-       both during Configure and during the build.  You cannot assume
-       shared filesystems between the host and the target, executing
-       the target executable may involve e.g. rsh
+       this is related to: cross-compilation configuring (see Todo)
     _r support (see Todo for mode detailed description)
     POSIX 1003.1 1996 Edition support--realtime stuff:
        POSIX semaphores, message queues, shared memory, realtime clocks,
index 28c1050..a2ac8ca 100644 (file)
@@ -144,7 +144,7 @@ sub canonpath {
     else {
       $path =~ s-\]\[--g;  $path =~ s/><//g;            # foo.][bar       ==> foo.bar
       $path =~ s/([\[<])000000\./$1/;                   # [000000.foo     ==> foo
-      1 while $path =~ s{-\.-}{--};                     # -.-             ==> --
+      1 while $path =~ s{([\[<-])\.-}{$1-};             # [.-.-           ==> [--
       $path =~ s/\.[^\[<\.]+\.-([\]\>])/$1/;            # bar.foo.-]      ==> bar]
       $path =~ s/([\[<])(-+)/$1 . "\cx" x length($2)/e; # encode leading '-'s
       $path =~ s/([\[<\.])([^\[<\.\cx]+)\.-\.?/$1/g;    # bar.-.foo       ==> foo
@@ -184,7 +184,7 @@ sub catdir {
        elsif ($dir =~ /^\$\([^\)]+\)\z/s)          { $rslt = $dir; }
        else                                        { $rslt = vmspath($dir); }
     }
-    return $rslt;
+    return $self->canonpath($rslt);
 }
 
 =item catfile
@@ -212,7 +212,7 @@ sub catfile {
        }
     }
     else { $rslt = (defined($file) && length($file)) ? vmsify($file) : ''; }
-    return $rslt;
+    return $self->canonpath($rslt);
 }
 
 
index 3ee5f1b..f2f98d9 100644 (file)
@@ -2663,6 +2663,14 @@ known as Open Edition MVS) and VM-ESA were supported.  Due to changes
 required by the UTF-8 (Unicode) support, the EBCDIC platforms are not
 supported in Perl 5.6.0.
 
+=head2 In 64-bit HP-UX the lib/io_multihomed test may hang
+
+The lib/io_multihomed test may hang in HP-UX if Perl has been
+configured to be 64-bit.  Because other 64-bit platforms do not
+hang in this test, HP-UX is suspect.  All other tests pass
+in 64-bit HP-UX.  The test attempts to create and connect to
+"multihomed" sockets (sockets which have multiple IP addresses).
+
 =head2 NEXTSTEP 3.3 POSIX test failure
 
 In NEXTSTEP 3.3p2 the implementation of the strftime(3) in the
index acc1c3d..6548b46 100755 (executable)
@@ -26,8 +26,7 @@ BEGIN {
   }
   if ($Config{d_shm} || $Config{d_msg}) {
      require IPC::SysV;
-     IPC::SysV->import(qw(IPC_PRIVATE IPC_RMID IPC_CREAT S_IRWXU
-                        S_IRWXG S_IRWXO));
+     IPC::SysV->import(qw(IPC_PRIVATE IPC_RMID IPC_CREAT S_IRWXU));
   }
 }
 
@@ -142,7 +141,7 @@ print "1..151\n";
     }
     else {
        $tmp = (grep { defined and -d and (stat _)[2] & 2 }
-                    qw(/tmp /var/tmp /usr/tmp /sys$scratch),
+                    qw(sys$scratch /tmp /var/tmp /usr/tmp),
                     @ENV{qw(TMP TEMP)})[0]
            or print "# can't find world-writeable directory to test PATH\n";
     }
@@ -618,7 +617,7 @@ else {
        my $sent = "foobar";
        my $rcvd;
        my $size = 2000;
-       my $id = shmget(IPC_PRIVATE, $size, S_IRWXU|S_IRWXG|S_IRWXO) ||
+       my $id = shmget(IPC_PRIVATE, $size, S_IRWXU) ||
            warn "# shmget failed: $!\n";
        if (defined $id) {
            if (shmwrite($id, $sent, 0, 60)) {