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

  1. # hints/dcosx.sh
  2. # Last modified:  Thu Jan 16 11:38:12 EST 1996
  3. # Stephen Zander  <stephen.zander@interlock.mckesson.com>
  4. # hints for DC/OSx (Pyramid) & SINIX (Seimens: dc/osx rebadged)
  5. # Based on the hints/solaris_2.sh file
  6.  
  7. # See man vfork.
  8. usevfork=false
  9.  
  10. d_suidsafe=define
  11.  
  12. # Avoid all libraries in /usr/ucblib.
  13. set `echo $glibpth | sed -e 's@/usr/ucblib@@'`
  14. glibpth="$*"
  15.  
  16. # Remove bad libraries.
  17. # -lucb contains incompatible routines.
  18. set `echo " $libswanted " | sed -e 's@ ucb @ @'`
  19. libswanted="$*"
  20.  
  21. # Here's another draft of the perl5/solaris/gcc sanity-checker. 
  22.  
  23. case $PATH in
  24. */usr/ucb*:/usr/bin:*|*/usr/ucb*:/usr/bin) cat <<END >&2
  25.  
  26. NOTE:  /usr/ucb/cc does not function properly.
  27. Remove /usr/ucb from your PATH.
  28.  
  29. END
  30. ;;
  31. esac
  32.  
  33.  
  34. # Check that /dev/fd is mounted.  If it is not mounted, let the
  35. # user know that suid scripts may not work.
  36. /usr/bin/df /dev/fd 2>&1 > /dev/null
  37. case $? in
  38. 0) ;;
  39. *)
  40.       cat <<END >&4
  41.  
  42. NOTE: Your system does not have /dev/fd mounted.  If you want to
  43. be able to use set-uid scripts you must ask your system administrator
  44. to mount /dev/fd.
  45.  
  46. END
  47.       ;;
  48. esac
  49.  
  50.  
  51. # See if libucb can be found in /usr/lib.  If it is, warn the user
  52. # that this may cause problems while building Perl extensions.
  53. /usr/bin/ls /usr/lib/libucb* >/dev/null 2>&1
  54. case $? in
  55. 0)
  56.       cat <<END >&4
  57.  
  58. NOTE: libucb has been found in /usr/lib.  libucb should reside in
  59. /usr/ucblib.  You may have trouble while building Perl extensions.
  60.  
  61. END
  62. ;;
  63. esac
  64.  
  65.  
  66. # See if make(1) is GNU make(1).
  67. # If it is, make sure the setgid bit is not set.
  68. make -v > make.vers 2>&1
  69. if grep GNU make.vers > /dev/null 2>&1; then
  70.     tmp=`/usr/bin/ksh -c "whence make"`
  71.     case "`/usr/bin/ls -l $tmp`" in
  72.     ??????s*)
  73.           cat <<END >&2
  74.       
  75. NOTE: Your PATH points to GNU make, and your GNU make has the set-group-id
  76. bit set.  You must either rearrange your PATH to put /usr/ccs/bin before the
  77. GNU utilities or you must ask your system administrator to disable the
  78. set-group-id bit on GNU make.
  79.  
  80. END
  81.           ;;
  82.     esac
  83. fi
  84. rm -f make.vers
  85.  
  86. # If the C compiler is gcc:
  87. #   - check the fixed-includes
  88. #   - check as(1) and ld(1), they should not be GNU
  89. # If the C compiler is not gcc:
  90. #   - check as(1) and ld(1), they should not be GNU
  91. #   - increase the optimizing level to prevent object size warnings
  92. #
  93. # Watch out in case they have not set $cc.
  94. case "`${cc:-cc} -v 2>&1`" in
  95. *gcc*)
  96.       #
  97.       # Using gcc.
  98.       #
  99.       #echo Using gcc
  100.  
  101.       # Get gcc to share its secrets.
  102.       echo 'main() { return 0; }' > try.c
  103.       verbose=`${cc:-cc} -v -o try try.c 2>&1`
  104.       rm -f try try.c
  105.       tmp=`echo "$verbose" | grep '^Reading' |
  106.               awk '{print $NF}'  | sed 's/specs$/include/'`
  107.  
  108.       # Determine if the fixed-includes look like they'll work.
  109.       # Doesn't work anymore for gcc-2.7.2.
  110.  
  111.       # See if as(1) is GNU as(1).  GNU as(1) won't work for this job.
  112.       case $verbose in
  113.       */usr/ccs/bin/as*) ;;
  114.       *)
  115.           cat <<END >&2
  116.  
  117. NOTE: You are using GNU as(1).  GNU as(1) will not build Perl.
  118. You must arrange to use /usr/ccs/bin/as, perhaps by setting
  119. GCC_EXEC_PREFIX or by including -B/usr/ccs/bin in your cc command.
  120.  
  121. END
  122.       ;;
  123.       esac
  124.  
  125.       # See if ld(1) is GNU ld(1).  GNU ld(1) won't work for this job.
  126.       case $verbose in
  127.       */usr/ccs/bin/ld*) ;;
  128.       *)
  129.           cat <<END >&2
  130.  
  131. NOTE: You are using GNU ld(1).  GNU ld(1) will not build Perl.
  132. You must arrange to use /usr/ccs/bin/ld, perhaps by setting
  133. GCC_EXEC_PREFIX or by including -B/usr/ccs/bin in your cc command.
  134.  
  135. END
  136.       ;;
  137.       esac
  138.  
  139.       ;; #using gcc
  140. *)
  141.       optimize='-O -K Olimit:3064'
  142.       #
  143.       # Not using gcc.
  144.       #
  145.       #echo Not using gcc
  146.  
  147.       # See if as(1) is GNU as(1).  GNU as(1) won't work for this job.
  148.       case `as --version < /dev/null 2>&1` in
  149.       *GNU*)
  150.               cat <<END >&2
  151.  
  152. NOTE: You are using GNU as(1).  GNU as(1) will not build Perl.
  153. You must arrange to use /usr/ccs/bin, perhaps by adding it to the
  154. beginning of your PATH.
  155.  
  156. END
  157.               ;;
  158.       esac
  159.  
  160.       # See if ld(1) is GNU ld(1).  GNU ld(1) won't work for this job.
  161.       case `ld --version < /dev/null 2>&1` in
  162.       *GNU*)
  163.               cat <<END >&2
  164.  
  165. NOTE: You are using GNU ld(1).  GNU ld(1) will not build Perl.
  166. You must arrange to use /usr/ccs/bin, perhaps by adding it to the
  167. beginning of your PATH
  168.  
  169. END
  170.               ;;
  171.       esac
  172.  
  173.       ;; #not using gcc
  174. esac
  175.  
  176. # as --version or ld --version might dump core.
  177. rm -f core
  178.  
  179. # DC/OSx hides certain functions in a libc that looks dynamic but isn't
  180. # because of this we reinclude -lc when building dynamic extenstions
  181. libc='/usr/ccs/lib/libc.so'
  182. lddlflags='-G -lc'
  183.  
  184. # DC/OSx gets overenthusiastic with symbol removal when building dynamically
  185. ccdlflags='-Blargedynsym'
  186.  
  187. # System malloc is safer when using third part libs
  188. usemymalloc='n'
  189.