Re: 5.003_09 and QNX
Norton Allen [Wed, 27 Nov 1996 18:36:06 +0000 (13:36 -0500)]
[editor's note: original messages may not have been delivered:
the included message may be the only remaining trace.
see note on <9611271732.AA17020@bottesini.harvard.edu>:
--- |3
  [ There was a set of quite minor patches posted on 11/20; I got
  them, but who knows who else did, the list being what it is...
  I am also nearly ready to submit a QNX hints file together with
  a couple auxilliary support files.]
...
]

Subject: QNX Port

Greetings,

  QNX is now compiling 5.003_08 successfully and passing all
  tests except for two which have been identified as library
  errors and are in the process of being fixed by the vendor.

  I'd like to submit a few small patches which makes this
  work. The patches are accompanied by text describing their
  motivation.

  If I am moving too fast, please tell me slow down. If you have
  suggestions for other/better approaches, please let me know.

  I will follow up with a hints file and a (possibly more
  controversial) Configure change.

    -Norton Allen

Under QNX, I need to include <sys/wait.h> in util.c to prototype
waitpid(). This appears straightforward to me, but if it causes
trouble, it could be made OS-dependent.

This patch is against perl5.003_08

p5p-msgid: <9611201749.AA11327@bottesini.harvard.edu>
private-msgid: <9611271836.AA14460@bottesini.harvard.edu>

t/TEST
toke.c
util.c

diff --git a/t/TEST b/t/TEST
index 4ef50ea..37a2e70 100755 (executable)
--- a/t/TEST
+++ b/t/TEST
@@ -32,6 +32,7 @@ while (<CONFIG>) {
     }
 }
 $sharpbang = 0 if $ENV{OS2_SHELL};             # OS/2
+$sharpbang = 0 if ($^O eq 'qnx');              # QNX
 $bad = 0;
 $good = 0;
 $total = @ARGV;
diff --git a/toke.c b/toke.c
index b4c4d9e..feebded 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -4978,11 +4978,9 @@ start_subparse()
     CV* outsidecv = compcv;
     AV* comppadlist;
 
-#ifndef __QNX__
     if (compcv) {
        assert(SvTYPE(compcv) == SVt_PVCV);
     }
-#endif
     save_I32(&subline);
     save_item(subname);
     SAVEI32(padix);
diff --git a/util.c b/util.c
index da73b57..b8baa81 100644 (file)
--- a/util.c
+++ b/util.c
 #  include <sys/file.h>
 #endif
 
+#ifdef I_SYS_WAIT
+#  include <sys/wait.h>
+#endif
+
 #define FLUSH
 
 #ifdef LEAKTEST