develooper Front page | perl.perl5.porters | Postings from June 2001

[PATCH README.qnx hints/qnx.sh]

Thread Previous
From:
Norton Allen
Date:
June 27, 2001 10:40
Subject:
[PATCH README.qnx hints/qnx.sh]
Message ID:
200106271746.NAA02789@bottesini.harvard.edu
exit 0
=============
Updates to README.qnx and hints/qnx.sh to bring them
closer to the present and to at least acknowledge the
existence of QNX6/Neutrino.

 -Norton Allen

*** ../ORIG/perl-10825/README.qnx	Wed Jun  6 18:24:32 2001
--- perl-10825/README.qnx	Wed Jun 27 11:54:19 2001
***************
*** 14,23 ****
    Watcom 10.6 with Beta/970211.wcc.update.tar.F
    socket3r.lib Nov21 1996.
  
! Update June 2001: Perl 5.6.1 most probably also works just fine in QNX.
  
! =head2 Required Software for Compiling Perl on QNX
  
  As with many unix ports, this one depends on a few "standard"
  unix utilities which are not necessarily standard for QNX.
  
--- 14,32 ----
    Watcom 10.6 with Beta/970211.wcc.update.tar.F
    socket3r.lib Nov21 1996.
  
! Update June 2001: Perl 5.6.1 works fine in QNX4 with
! a few 'known' failures in the test suite.
  
! [ Perl 5.6.0 is shipping with QNX RTP (aka QNX6, Neutrino), but
! the build does not appear to be straightforward. If anyone has
! more data in this regard, please let me know.
  
+ These notes were originally written for QNX4 and do not
+ necessarily apply to Neutrino, but see hints/qnx.sh for
+ more information. ] 
+ 
+ =head2 Required Software for Compiling Perl on QNX
+ 
  As with many unix ports, this one depends on a few "standard"
  unix utilities which are not necessarily standard for QNX.
  
***************
*** 63,69 ****
  
  =head2 Outstanding Issues with Perl on QNX
  
! There is currently no support for dynamically linked libraries.
  
  =head2 QNX auxiliary files
  
--- 72,92 ----
  
  =head2 Outstanding Issues with Perl on QNX
  
! There is no support for dynamically linked libraries in QNX4.
! 
! The following tests may report errors:
! 
! ext/Cwd/Cwd.t will complain if `pwd` and cwd don't give
! the same results. cwd calls `fullpath -t`, so if you
! cd `fullpath -t` before running the test, it will
! pass.
! 
! lib/File/Find/taint.t will complain if '.' is in your
! PATH. The PATH test is triggered because cwd calls
! `fullpath -t`.
! 
! ext/IO/lib/IO/t/io_sock.t Still investigating
! ext/POSIX/sigaction.t Still investigating
  
  =head2 QNX auxiliary files
  
*** ../ORIG/perl-10825/hints/qnx.sh	Sat Jun  2 13:09:51 2001
--- perl-10825/hints/qnx.sh	Wed Jun 27 13:44:02 2001
***************
*** 1,16 ****
  #----------------------------------------------------------------
  # QNX hints
  #
  # 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.
  #
  # /bin/sh  This is used heavily by Configure and then by
! #          perl itself. QNX's version is fine, but Configure
  #          will choke on the 16-bit version, so if you are
  #          running QNX 4.22, link /bin/sh to /bin32/ksh
  # ar       This is the standard unix library builder.
--- 1,22 ----
  #----------------------------------------------------------------
  # QNX hints
  #
+ # These hints were written for QNX4, but are in the process
+ # of being extended to encompass Neutrino as well.
+ #
  # 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.
+ # 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.
  #
  # As with many unix ports, this one depends on a few "standard"
! # unix utilities which are not necessarily standard for QNX4.
  #
  # /bin/sh  This is used heavily by Configure and then by
! #          perl itself. QNX4's version is fine, but Configure
  #          will choke on the 16-bit version, so if you are
  #          running QNX 4.22, link /bin/sh to /bin32/ksh
  # ar       This is the standard unix library builder.
***************
*** 31,43 ****
  #          ships by default with QNX 4.23, but you can get it
  #          from quics for earlier versions.
  #----------------------------------------------------------------
! # Outstanding Issues:
! #   lib/posix.t test fails on test 17 because acos(1) != 0.
  #      Resolved in 970211 Beta
  #   lib/io_udp.t test hangs because of a bug in getsockname().
  #      Fixed in latest BETA socket3r.lib
- #   There is currently no support for dynamically linked
- #      libraries.
  #----------------------------------------------------------------
  # These hints were submitted by:
  #   Norton T. Allen
--- 37,67 ----
  #          ships by default with QNX 4.23, but you can get it
  #          from quics for earlier versions.
  #----------------------------------------------------------------
! # Outstanding Issues for QNX4:
! #   There is no support for dynamically linked libraries in
! #   QNX4.
! # 
! #   ext/Cwd/Cwd.t will complain if `pwd` and cwd don't give
! #   the same results. cwd calls `fullpath -t`, so if you
! #   cd `fullpath -t` before running the test, it will
! #   pass.
! #
! #   lib/File/Find/taint.t will complain if '.' is in your
! #   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
! #
! # Older issues:
! #   lib/posix.t test failed on test 17 because acos(1) != 0.
  #      Resolved in 970211 Beta
  #   lib/io_udp.t test hangs because of a bug in getsockname().
  #      Fixed in latest BETA socket3r.lib
  #----------------------------------------------------------------
  # These hints were submitted by:
  #   Norton T. Allen
***************
*** 52,178 ****
  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:
! #----------------------------------------------------------------
! csh=''
! 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:
! #----------------------------------------------------------------
! d_difftime='define'
  
! #----------------------------------------------------------------
! # strtod is in the math library, but we can't tell Configure
! # about the math library or it will confuse the linker
! #----------------------------------------------------------------
! d_strtod='define'
  
! lib_ext='3r.lib'
! libc='/usr/lib/clib3r.lib'
  
! #----------------------------------------------------------------
! # ccflags:
! # I like to turn the warnings up high, but a few common
! # constructs make a lot of noise, so I turn those warnings off.
! # A few still remain...
! #
! # unix.h is required as a general rule for unixy applications.
! #----------------------------------------------------------------
! ccflags='-mf -w4 -Wc,-wcd=202 -Wc,-wcd=203 -Wc,-wcd=302 -Wc,-fi=unix.h'
  
! #----------------------------------------------------------------
! # ldflags:
! # If you want debugging information, you must specify -g on the
! # link as well as the compile. If optimize != -g, you should
! # remove this.
! #----------------------------------------------------------------
! ldflags="-g -N1M"
  
! so='none'
! selecttype='fd_set *'
  
! #----------------------------------------------------------------
! # Add -lunix to list of libs. This is needed mainly so the nm
! # search will find funcs in the unix lib. Including unix.h should
! # automatically include the library without -l.
! #----------------------------------------------------------------
! libswanted="$libswanted unix"
  
! if [ -z "`which ar 2>/dev/null`" ]; then
!   cat <<-'EOF' >&4
! 	I don't see an 'ar', so I'm guessing you are running
! 	Watcom 9.5 or earlier. You may want to install the ar
! 	cover found in the qnx subdirectory of this distribution.
! 	It might reasonably be placed in /usr/local/bin.
  
  	EOF
! fi
! #----------------------------------------------------------------
! # Here is a nm script which fixes up wlib's output to look
! # something like nm's, at least enough so that Configure can
! # use it.
! #----------------------------------------------------------------
! if [ -z "`which nm 2>/dev/null`" ]; then
!   cat <<-EOF
! 	Creating a quick-and-dirty nm cover for	Configure to use:
  
  	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 '
! 	    /^  / {
! 	      for (i = 1; i <= NF; i++) {
! 	        sub("_$", "", $i)
! 	        print "000000  T " $i
! 	      }
! 	    }'
  	EOF
!   chmod +x ./UU/nm
! fi
  
! cppstdin=`which cpp 2>/dev/null`
! if [ -n "$cppstdin" ]; then
!   cat <<-EOF >&4
! 	I found a cpp at $cppstdin and will assume it is a good
! 	thing to use. If this proves to be false, there is a
! 	thin cover for cpp in the qnx subdirectory of this
! 	distribution which you could move into your path.
  	EOF
!   cpprun="$cppstdin"
! else
!   cat <<-EOF >&4
  	
! 	There is a cpp cover in the qnx subdirectory of this
! 	distribution which works a little better than the
! 	Configure default. You may wish to copy it to
! 	/usr/local/bin or some other suitable location.
  	EOF
! fi	
--- 76,212 ----
  echo ""
  
  #----------------------------------------------------------------
! # At present, all QNX4 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. I will use uname's architecture for Neutrino.
  #----------------------------------------------------------------
! set X `uname -a`
! shift
! [ "$1" != "QNX" ] && echo "uname doesn't look like QNX!"
! case $4 in
!   42[2-9]) archname='x86-qnx';;
!   *) osname='nto'
! 	 osvers=$3
!      archname="$5-nto";;
! esac
  
! if [ "$osname" = "qnx" ]; then
!   #----------------------------------------------------------------
!   # QNX doesn't come with a csh and the ports of tcsh I've used
!   # don't work reliably:
!   #----------------------------------------------------------------
!   csh=''
!   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:
!   #----------------------------------------------------------------
!   d_difftime='define'
  
!   #----------------------------------------------------------------
!   # strtod is in the math library, but we can't tell Configure
!   # about the math library or it will confuse the linker
!   #----------------------------------------------------------------
!   d_strtod='define'
  
!   lib_ext='3r.lib'
!   libc='/usr/lib/clib3r.lib'
  
!   #----------------------------------------------------------------
!   # ccflags:
!   # I like to turn the warnings up high, but a few common
!   # constructs make a lot of noise, so I turn those warnings off.
!   # A few still remain...
!   #
!   # unix.h is required as a general rule for unixy applications.
!   #----------------------------------------------------------------
!   ccflags='-mf -w4 -Wc,-wcd=202 -Wc,-wcd=203 -Wc,-wcd=302 -Wc,-fi=unix.h'
  
!   #----------------------------------------------------------------
!   # ldflags:
!   # If you want debugging information, you must specify -g on the
!   # link as well as the compile. If optimize != -g, you should
!   # remove this.
!   #----------------------------------------------------------------
!   ldflags="-g -N1M"
  
!   so='none'
!   selecttype='fd_set *'
  
!   #----------------------------------------------------------------
!   # Add -lunix to list of libs. This is needed mainly so the nm
!   # search will find funcs in the unix lib. Including unix.h should
!   # automatically include the library without -l.
!   #----------------------------------------------------------------
!   libswanted="$libswanted unix"
  
!   if [ -z "`which ar 2>/dev/null`" ]; then
! 	cat <<-'EOF' >&4
! 	  I don't see an 'ar', so I'm guessing you are running
! 	  Watcom 9.5 or earlier. You may want to install the ar
! 	  cover found in the qnx subdirectory of this distribution.
! 	  It might reasonably be placed in /usr/local/bin.
  
  	EOF
!   fi
!   #----------------------------------------------------------------
!   # Here is a nm script which fixes up wlib's output to look
!   # something like nm's, at least enough so that Configure can
!   # use it.
!   #----------------------------------------------------------------
!   if [ -z "`which nm 2>/dev/null`" ]; then
! 	cat <<-EOF
! 	  Creating a quick-and-dirty nm cover for	Configure to use:
  
  	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 '
! 		  /^  / {
! 			for (i = 1; i <= NF; i++) {
! 			  sub("_$", "", $i)
! 			  print "000000  T " $i
! 			}
! 		  }'
  	EOF
! 	chmod +x ./UU/nm
!   fi
  
!   cppstdin=`which cpp 2>/dev/null`
!   if [ -n "$cppstdin" ]; then
! 	cat <<-EOF >&4
! 	  I found a cpp at $cppstdin and will assume it is a good
! 	  thing to use. If this proves to be false, there is a
! 	  thin cover for cpp in the qnx subdirectory of this
! 	  distribution which you could move into your path.
  	EOF
! 	cpprun="$cppstdin"
!   else
! 	cat <<-EOF >&4
  	
! 	  There is a cpp cover in the qnx subdirectory of this
! 	  distribution which works a little better than the
! 	  Configure default. You may wish to copy it to
! 	  /usr/local/bin or some other suitable location.
  	EOF
!   fi
! fi

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About