home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / hints / svr4.sh < prev    next >
Text File  |  1999-07-25  |  5KB  |  145 lines

  1. # svr4 hints, System V Release 4.x
  2. # Last modified 1996/10/25 by Tye McQueen, tye@metronet.com
  3. # Merged 1998/04/23 with perl5.004_04 distribution by 
  4. # Andy Dougherty <doughera@lafayette.edu>
  5.  
  6. # Use Configure -Dcc=gcc to use gcc.
  7. case "$cc" in
  8. '') cc='/bin/cc'
  9.     test -f $cc || cc='/usr/ccs/bin/cc'
  10.     ;;
  11. esac
  12.  
  13. # We include support for using libraries in /usr/ucblib, but the setting
  14. # of libswanted excludes some libraries found there.  If you run into
  15. # problems, you may have to remove "ucb" from libswanted.  Just delete
  16. # the comment '#' from the sed command below.
  17. ldflags='-L/usr/ccs/lib -L/usr/ucblib'
  18. ccflags='-I/usr/include -I/usr/ucbinclude'
  19. # Don't use problematic libraries:
  20. libswanted=`echo " $libswanted " | sed -e 's/ malloc / /'` # -e 's/ ucb / /'`
  21. # libmalloc.a - Probably using Perl's malloc() anyway.
  22. # libucb.a - Remove it if you have problems ld'ing.  We include it because
  23. #   it is needed for ODBM_File and NDBM_File extensions.
  24.  
  25. if [ -r /usr/ucblib/libucb.a ]; then    # If using BSD-compat. library:
  26.     d_Gconvert='gcvt((x),(n),(b))'    # Try gcvt() before gconvert().
  27.     # Use the "native" counterparts, not the BSD emulation stuff:
  28.     d_bcmp='undef' d_bcopy='undef' d_bzero='undef' d_safebcpy='undef'
  29.     d_index='undef' d_killpg='undef' d_getprior='undef' d_setprior='undef'
  30.     d_setlinebuf='undef' 
  31.     # d_setregid='undef' d_setreuid='undef'  # ???
  32. fi
  33.  
  34. # UnixWare has /usr/lib/libc.so.1, /usr/lib/libc.so.1.1, and
  35. # /usr/ccs/lib/libc.so.  Configure chooses libc.so.1.1 while it
  36. # appears that /usr/ccs/lib/libc.so contains more symbols:
  37. #
  38. # Try the following if you want to use nm-extraction.  We'll just
  39. # skip the nm-extraction phase, since searching for all the different
  40. # library versions will be hard to keep up-to-date.
  41. #
  42. # if [ "" = "$libc" -a -f /usr/ccs/lib/libc.so -a \
  43. #   -f /usr/lib/libc.so.1 -a -f /usr/lib/libc.so.1.1 ]; then
  44. #     if nm -h /usr/ccs/lib/libc.so | egrep '\<_?select$' >/dev/null; then
  45. #     if nm -h /usr/lib/libc.so.1 | egrep '\<_?select$'` >/dev/null ||
  46. #        nm -h /usr/lib/libc.so.1.1 | egrep '\<_?select$'` >/dev/null; then
  47. #         :
  48. #     else
  49. #         libc=/usr/ccs/lib/libc.so
  50. #     fi
  51. #     fi
  52. # fi
  53. #
  54. #  Don't bother with nm.  Just compile & link a small C program.
  55. case "$usenm" in
  56. '') usenm=false;;
  57. esac
  58.  
  59. # Broken C-Shell tests (Thanks to Tye McQueen):
  60. # The OS-specific checks may be obsoleted by the this generic test.
  61.     sh_cnt=`sh -c 'echo /*' | wc -c`
  62.     csh_cnt=`csh -f -c 'glob /*' 2>/dev/null | wc -c`
  63.     csh_cnt=`expr 1 + $csh_cnt`
  64. if [ "$sh_cnt" -ne "$csh_cnt" ]; then
  65.     echo "You're csh has a broken 'glob', disabling..." >&2
  66.     d_csh='undef'
  67. fi
  68.  
  69. # Unixware-specific problems.  The undocumented -X argument to uname 
  70. # is probably a reasonable way of detecting UnixWare.  
  71. # UnixWare has a broken csh.  (This might already be detected above).
  72. # In Unixware 2.1.1 the fields in FILE* got renamed!
  73. # Unixware 1.1 can't cast large floats to 32-bit ints.
  74. # Configure can't detect memcpy or memset on Unixware 2 or 7
  75. #
  76. #    Leave leading tabs on the next two lines so Configure doesn't 
  77. #    propagate these variables to config.sh
  78.     uw_ver=`uname -v`
  79.     uw_isuw=`uname -X 2>&1 | grep Release`
  80.  
  81. if [ "$uw_isuw" = "Release = 4.2" ]; then
  82.    case $uw_ver in
  83.    1.1)
  84.       d_casti32='undef'
  85.       ;;
  86.    esac
  87. fi
  88. if [ "$uw_isuw" = "Release = 4.2MP" ]; then
  89.    case $uw_ver in
  90.    2.1)
  91.     d_csh='undef'
  92.     d_memcpy='define'
  93.     d_memset='define'
  94.     ;;
  95.    2.1.*)
  96.     d_csh='undef'
  97.     d_memcpy='define'
  98.     d_memset='define'
  99.     stdio_cnt='((fp)->__cnt)'
  100.     d_stdio_cnt_lval='define'
  101.     stdio_ptr='((fp)->__ptr)'
  102.     d_stdio_ptr_lval='define'
  103.     ;;
  104.    esac
  105. fi
  106. if [ "$uw_isuw" = "Release = 5" ]; then
  107.    case $uw_ver in
  108.    7)
  109.     d_csh='undef'
  110.     d_memcpy='define'
  111.     d_memset='define'
  112.     stdio_cnt='((fp)->__cnt)'
  113.     d_stdio_cnt_lval='define'
  114.     stdio_ptr='((fp)->__ptr)'
  115.     d_stdio_ptr_lval='define'
  116.     ;;
  117.    esac
  118. fi
  119. # End of Unixware-specific tests.
  120.  
  121. # DDE SMES Supermax Enterprise Server
  122. case "`uname -sm`" in
  123. "UNIX_SV SMES")
  124.     # the *grent functions are in libgen.
  125.     libswanted="$libswanted gen"
  126.     # csh is broken (also) in SMES
  127.     # This may already be detected by the generic test above.
  128.     d_csh='undef'
  129.     case "$cc" in
  130.     *gcc*) ;;
  131.     *)    # for cc we need -K PIC (not -K pic)
  132.      cccdlflags="$cccdlflags -K PIC"
  133.     ;;
  134.     esac
  135.     ;;
  136. esac
  137.  
  138. # Configure may fail to find lstat() since it's a static/inline function
  139. # in <sys/stat.h> on Unisys U6000 SVR4, UnixWare 2.x, and possibly other
  140. # SVR4 derivatives.  (Though UnixWare has it in /usr/ccs/lib/libc.so.)
  141. d_lstat=define
  142.  
  143. d_suidsafe='define'    # "./Configure -d" can't figure this out easilly
  144.  
  145.