X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fqnx.sh;h=482c8ab0e53218b419cc4561a11be75dcd0a6039;hb=f5e3445d922108beb0eda8afa05a86411da18e40;hp=24199c932988217abf8eca46377869eabe6ba2bb;hpb=af23fe4d694e2dc86e1c1ab453afdcd423752bcb;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/qnx.sh b/hints/qnx.sh index 24199c9..482c8ab 100644 --- a/hints/qnx.sh +++ b/hints/qnx.sh @@ -1,16 +1,13 @@ #---------------------------------------------------------------- # QNX hints # -# These hints were written for QNX4, but are in the process -# of being extended to encompass Neutrino as well. +# Most of the hints in this file are for QNX4, which needed +# more help. The QNX6 hints are located toward the bottom. # -# As of perl5.004_04, all tests pass under: -# QNX 4.23A +# perl-5.7.3 passes all tests under QNX4.24G # Watcom 10.6 with Beta/970211.wcc.update.tar.F # socket3r.lib Nov21 1996. -# perl-5.6.1 runs well on QNX4 with a few known test failures -# perl-5.6.0 ships with QNX RTP (Neutrino) but the build is -# not yet straightforward. +# perl-5.7.3 fails 2 known tests under QNX6.1.0 # # As with many unix ports, this one depends on a few "standard" # unix utilities which are not necessarily standard for QNX4. @@ -40,6 +37,18 @@ # Outstanding Issues for QNX4: # There is no support for dynamically linked libraries in # QNX4. +# +# If you wish to compile with the Socket extension, you need +# to have the TCP/IP toolkit, and you need to make sure that +# -lsocket locates the correct copy of socket3r.lib. Beware +# that the Watcom compiler ships with a stub version of +# socket3r.lib which has very little functionality. Also +# beware the order in which wlink searches directories for +# libraries. You may have /usr/lib/socket3r.lib pointing to +# the correct library, but wlink may pick up +# /usr/watcom/10.6/usr/lib/socket3r.lib instead. Make sure +# they both point to the correct library, that is, +# /usr/tcptk/current/usr/lib/socket3r.lib. # # ext/Cwd/Cwd.t will complain if `pwd` and cwd don't give # the same results. cwd calls `fullpath -t`, so if you @@ -50,12 +59,11 @@ # PATH. The PATH test is triggered because cwd calls # `fullpath -t`. # -# lib/ExtUtils.t: If you follow these hints and include -# -w4 in your ccflags, this test will complain about -# extra .err files appearing in its test directory. -# -# ext/IO/lib/IO/t/io_sock.t Still investigating -# ext/POSIX/sigaction.t Still investigating +# ext/IO/lib/IO/t/io_sock.t: Subtest 14 is skipped due to +# the fact that the functionality to read back the non-blocking +# status of a socket is not implemented in QNX's TCP/IP. This +# has been reported to QNX and it may work with later versions +# of TCP/IP. # # Older issues: # lib/posix.t test failed on test 17 because acos(1) != 0. @@ -63,6 +71,18 @@ # lib/io_udp.t test hangs because of a bug in getsockname(). # Fixed in latest BETA socket3r.lib #---------------------------------------------------------------- +# Outstanding Issues for QNX6: +# The following tests are still failing as of 5.7.3: +# +# op/sprintf.........................FAILED at test 91 +# lib/Benchmark......................FAILED at test 26 +# +# This is due to a bug in the C library's printf routine. +# printf("'%e'", 0. ) produces '0.000000e+0', but ANSI requires +# '0.000000e+00'. QNX has acknowledged the bug and it should be +# fixed in 6.2.0. +# +#---------------------------------------------------------------- # These hints were submitted by: # Norton T. Allen # Harvard University Atmospheric Research Project @@ -209,4 +229,21 @@ if [ "$osname" = "qnx" ]; then /usr/local/bin or some other suitable location. EOF fi +else + # $^O eq nto + + ccflags='-DDLOPEN_WONT_DO_RELATIVE_PATHS' + + # Options required to get dynamic linking to work + lddlflags='-shared' + ccdlflags='-Wl,-E' + + # Somewhere in the build, something tries to throw a gcc + # option to $cc if it knows it invokes gcc. Our cc doesn't + # recognize that option, so we're better off setting cc=gcc. + cc='gcc' + + # If we use perl's malloc, it dies with an invalid sbrk. + # This is probably worth tracking down someday. + usemymalloc='false' fi