This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Massive multitypo in #4446.
[perl5.git] / hints / qnx.sh
index 9334c94..06d9010 100644 (file)
@@ -1,10 +1,10 @@
 #----------------------------------------------------------------
 # QNX hints
 #
-# As of perl5.003_09, perl5 will compile without errors
-# and pass almost all the tests in the test suite. The remaining
-# failures have been identified as bugs in the Watcom libraries
-# which I hope will be fixed in the near future.
+# As of perl5.004_04, all tests pass under:
+#  QNX 4.23A
+#  Watcom 10.6 with Beta/970211.wcc.update.tar.F
+#  socket3r.lib Nov21 1996.
 #
 # As with many unix ports, this one depends on a few "standard"
 # unix utilities which are not necessarily standard for QNX.
 #----------------------------------------------------------------
 # Outstanding Issues:
 #   lib/posix.t test fails on test 17 because acos(1) != 0.
-#      Watcom promises to fix this in next release.
+#      Resolved in 970211 Beta
 #   lib/io_udp.t test hangs because of a bug in getsockname().
 #      Fixed in latest BETA socket3r.lib
-#   If there is a softlink in your path, Findbin will fail.
-#      This is a documented feature of getpwd().
 #   There is currently no support for dynamically linked
 #      libraries.
 #----------------------------------------------------------------
-# At present, all QNX systems are equivalent architectures,
-# so it might be reasonable to call archname=qnx rather than
-# making an unnecessary distinction between AT-qnx and PCI-qnx,
-# for example.
-#----------------------------------------------------------------
 # These hints were submitted by:
 #   Norton T. Allen
 #   Harvard University Atmospheric Research Project
 # If you have suggestions or changes, please let me know.
 #----------------------------------------------------------------
 
+echo ""
+echo "Some tests may fail. Please read the hints/qnx.sh file."
+echo ""
+
+#----------------------------------------------------------------
+# At present, all QNX systems are equivalent architectures,
+# so it is reasonable to call archname=x86-qnx rather than
+# making an unnecessary distinction between AT-qnx and PCI-qnx,
+# for example.
+#----------------------------------------------------------------
+archname='x86-qnx'
+
 #----------------------------------------------------------------
 # QNX doesn't come with a csh and the ports of tcsh I've used
 # don't work reliably:
@@ -63,6 +68,16 @@ d_csh='undef'
 full_csh=''
 
 #----------------------------------------------------------------
+# setuid scripts are secure under QNX.
+#  (Basically, the same race conditions apply, but assuming
+#  the scripts are located in a secure directory, the methods
+#  for exploiting the race condition are defeated because
+#  the loader expands the script name fully before executing
+#  the interpreter.)
+#----------------------------------------------------------------
+d_suidsafe='define'
+
+#----------------------------------------------------------------
 # difftime is implemented as a preprocessor macro, so it doesn't show
 # up in the libraries:
 #----------------------------------------------------------------
@@ -74,16 +89,6 @@ d_difftime='define'
 #----------------------------------------------------------------
 d_strtod='define'
 
-#----------------------------------------------------------------
-# The following exist in the libraries, but there are no
-# prototypes available:
-#----------------------------------------------------------------
-d_setregid='undef'
-d_setreuid='undef'
-d_setlinebuf='undef'
-d_truncate='undef'
-d_getpgid='undef'
-
 lib_ext='3r.lib'
 libc='/usr/lib/clib3r.lib'
 
@@ -93,13 +98,9 @@ libc='/usr/lib/clib3r.lib'
 # constructs make a lot of noise, so I turn those warnings off.
 # A few still remain...
 #
-# HIDEMYMALLOC is necessary if using mymalloc since it is very
-# tricky (though not impossible) to totally replace the watcom
-# malloc/free set.
-#
 # unix.h is required as a general rule for unixy applications.
 #----------------------------------------------------------------
-ccflags='-DHIDEMYMALLOC -mf -w4 -Wc,-wcd=202 -Wc,-wcd=203 -Wc,-wcd=302 -Wc,-fi=unix.h'
+ccflags='-mf -w4 -Wc,-wcd=202 -Wc,-wcd=203 -Wc,-wcd=302 -Wc,-fi=unix.h'
 
 #----------------------------------------------------------------
 # ldflags:
@@ -107,7 +108,7 @@ ccflags='-DHIDEMYMALLOC -mf -w4 -Wc,-wcd=202 -Wc,-wcd=203 -Wc,-wcd=302 -Wc,-fi=u
 # link as well as the compile. If optimize != -g, you should
 # remove this.
 #----------------------------------------------------------------
-ldflags="-g"
+ldflags="-g -N1M"
 
 so='none'
 selecttype='fd_set *'
@@ -138,12 +139,13 @@ if [ -z "`which nm 2>/dev/null`" ]; then
        Creating a quick-and-dirty nm cover for Configure to use:
 
        EOF
-  cat >../UU/nm <<-'EOF'
+  cat >./UU/nm <<-'EOF'
        #! /bin/sh
        #__USAGE
        #%C     <lib> [<lib> ...]
        #       Designed to mimic Unix's nm utility to list
        #       defined symbols in a library
+       unset WLIB
        for i in $*; do wlib $i; done |
          awk '
            /^  / {
@@ -153,7 +155,7 @@ if [ -z "`which nm 2>/dev/null`" ]; then
              }
            }'
        EOF
-  chmod +x ../UU/nm
+  chmod +x ./UU/nm
 fi
 
 cppstdin=`which cpp 2>/dev/null`