home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / hints / sunos_4_1.sh < prev    next >
Text File  |  2000-03-08  |  4KB  |  85 lines

  1. # hints/sunos_4_1.sh
  2. # Last modified:  Wed May 27 11:00:02 EDT 1998
  3. # Andy Dougherty  <doughera@lafcol.lafayette.edu>
  4.  
  5. case "$cc" in
  6. *gcc*)    usevfork=false 
  7.     # GNU as and GNU ld might not work.  See the INSTALL file.
  8.     ;;
  9. *)    usevfork=true ;;
  10. esac
  11.  
  12. # Configure will issue a WHOA warning.  The problem is that
  13. # Configure finds getzname, not tzname.  If you're in the System V
  14. # environment, you can set d_tzname='define' since tzname[] is
  15. # available in the System V environment.
  16. d_tzname='undef'
  17.  
  18. # Configure will issue a WHOA warning.  The problem is that unistd.h
  19. # contains incorrect prototypes for some functions in the usual
  20. # BSD-ish environment.  In particular, it has
  21. # extern int    getgroups(/* int gidsetsize, gid_t grouplist[] */);
  22. # but groupslist[] ought to be of type int, not gid_t.
  23. # This is only really a problem for perl if the
  24. # user is using gcc, and not running in the SysV environment.
  25. # The gcc fix-includes script exposes those incorrect prototypes.
  26. # There may be other examples as well.  Volunteers are welcome to
  27. # track them all down :-).  In the meantime, we'll just skip unistd.h
  28. # for SunOS in most of the code.   
  29. # However, see ext/POSIX/hints/sunos_4.pl for one exception.
  30. i_unistd='undef'
  31. # See util.c for another:  We need _SC_OPEN_MAX, which is in
  32. # <unistd.h>.
  33.  
  34. # fflush(NULL) will core dump on SunOS 4.1.3.  In util.c we'll
  35. # try explicitly fflushing all open files.  Unfortunately,
  36. # on my SunOS 4.1.3 system, sysconf(_SC_OPEN_MAX) returns
  37. # 64, but only 32 of those file pointers can be accessed 
  38. # directly by _iob[i].  The remainder are off in dynamically
  39. # allocated memory somewhere and I don't know to automatically
  40. # fflush() them.  -- Andy Dougherty  Wed May 26 15:25:22 EDT 1999
  41. util_cflags='ccflags="$ccflags -DPERL_FFLUSH_ALL_FOPEN_MAX=32"'
  42.  
  43. cat << 'EOM' >&4
  44.  
  45. You will probably see  *** WHOA THERE!!! ***  messages from Configure for
  46. d_tzname and i_unistd.  Keep the recommended values.  See
  47. hints/sunos_4_1.sh for more information.
  48. EOM
  49.  
  50. # The correct setting of groupstype depends on which version of the C
  51. # library is used.  If you are in the 'System V environment'
  52. # (i.e. you have /usr/5bin ahead of /usr/bin in your PATH), and
  53. # you use Sun's cc compiler, then you'll pick up /usr/5bin/cc, which
  54. # links against the C library in /usr/5lib.  This library has
  55. # groupstype='gid_t'.
  56. # If you are in the normal BSDish environment, then you'll pick up
  57. # /usr/ucb/cc, which links against the C library in /usr/lib.  That
  58. # library has groupstype='int'.
  59. #
  60. # If you are using gcc, it links against the C library in /usr/lib
  61. # independent of whether or not you are in the 'System V environment'.
  62. # If you want to use the System V libraries, then you need to 
  63. # manually set groupstype='gid_t' and add explicit references to 
  64. # /usr/5lib when Configure prompts you for where to look for libraries.
  65. #
  66. # Check if user is in a bsd or system 5 type environment
  67. if cat -b /dev/null 2>/dev/null
  68. then # bsd
  69.       groupstype='int'
  70. else # sys5
  71.     case "$cc" in
  72.     *gcc*) groupstype='int';; # gcc doesn't do anything special
  73.     *) groupstype='gid_t';; # /usr/5bin/cc pulls in /usr/5lib/ stuff.
  74.     esac
  75. fi
  76.  
  77. # If you get the message "unresolved symbol '__lib_version' " while
  78. # linking, your system probably has the optional 'acc' compiler (and
  79. # libraries) installed, but you are using the bundled 'cc' compiler with
  80. # the unbundled libraries.  The solution is either to use 'acc' and the
  81. # unbundled libraries (specifically /lib/libm.a), or 'cc' and the bundled
  82. # library.
  83. # Thanks to William Setzer <William_Setzer@ncsu.edu> for this info.
  84.