Patch to Build Dynamic-Lib (DLL) version of perl using gnuwin32 b17.1
[p5sagit/p5-mst-13.2.git] / hints / solaris_2.sh
index 0193bd4..89dde01 100644 (file)
@@ -1,16 +1,18 @@
 # hints/solaris_2.sh
-# Last modified:  27 September 1995 by
+# Last modified:  Thu Feb  8 11:38:12 EST 1996
 # Andy Dougherty  <doughera@lafcol.lafayette.edu>
 # Based on input from lots of folks, especially
 # Dean Roehrich <roehrich@ironwood-fddi.cray.com>
-# 
 # See man vfork.
 usevfork=false
-#
+
 d_suidsafe=define
+
 # Avoid all libraries in /usr/ucblib.
 set `echo $glibpth | sed -e 's@/usr/ucblib@@'`
 glibpth="$*"
+
 # Remove bad libraries.  -lucb contains incompatible routines.
 # -lld doesn't do anything useful.
 # -lmalloc can cause a problem with GNU CC & Solaris.  Specifically,
@@ -20,8 +22,7 @@ glibpth="$*"
 set `echo " $libswanted " | sed -e 's@ ld @ @' -e 's@ malloc @ @' -e 's@ ucb @ @'`
 libswanted="$*"
 
-# Look for architecture name.  We want to suggest a useful default
-# for archlib and also warn about possible -x486 flags needed.
+# Look for architecture name.  We want to suggest a useful default.
 case "$archname" in
 '')
     if test -f /usr/bin/arch; then
@@ -33,12 +34,9 @@ case "$archname" in
     fi
     ;;
 esac
-case "$archname" in
-*86*) echo "For an Intel platform you might need to add -x486 to ccflags" >&4;;
-*) ;;
-esac
 
-# See below for excerpts from the Solaris FAQ.
+######################################################
+# General sanity testing.  See below for excerpts from the Solaris FAQ.
 
 # From roehrich@ironwood-fddi.cray.com Wed Sep 27 12:51:46 1995
 # Date: Thu, 7 Sep 1995 16:31:40 -0500
@@ -49,7 +47,7 @@ esac
 # Here's another draft of the perl5/solaris/gcc sanity-checker. 
 
 case $PATH in
-*/usr/ucb*:/usr/bin:*|*/usr/ucb*:/usr/bin) cat <<END
+*/usr/ucb*:/usr/bin:*|*/usr/ucb*:/usr/bin) cat <<END >&4
 
 NOTE:  Some people have reported problems with /usr/ucb/cc.  
 Remove /usr/ucb from your PATH if you have difficulties.
@@ -65,7 +63,7 @@ esac
 case $? in
 0) ;;
 *)
-       cat <<END
+       cat <<END >&4
 
 NOTE: Your system does not have /dev/fd mounted.  If you want to
 be able to use set-uid scripts you must ask your system administrator
@@ -81,7 +79,7 @@ esac
 /usr/bin/ls /usr/lib/libucb* >/dev/null 2>&1
 case $? in
 0)
-       cat <<END
+       cat <<END >&4
 
 NOTE: libucb has been found in /usr/lib.  libucb should reside in
 /usr/ucblib.  You may have trouble while building Perl extensions.
@@ -98,7 +96,7 @@ if grep GNU make.vers > /dev/null 2>&1; then
     tmp=`/usr/bin/which make`
     case "`/usr/bin/ls -l $tmp`" in
     ??????s*)
-           cat <<END
+           cat <<END >&2
        
 NOTE: Your PATH points to GNU make, and your GNU make has the set-group-id
 bit set.  You must either rearrange your PATH to put /usr/ccs/bin before the
@@ -128,33 +126,23 @@ case "`${cc:-cc} -v 2>&1`" in
        # Get gcc to share its secrets.
        echo 'main() { return 0; }' > try.c
        verbose=`${cc:-cc} -v -o try try.c 2>&1`
+       rm -f try try.c
        tmp=`echo "$verbose" | grep '^Reading' |
                awk '{print $NF}'  | sed 's/specs$/include/'`
 
        # Determine if the fixed-includes look like they'll work.
-       sed 1q $tmp/stdarg.h 2>&1 | grep 'stdarg.h for GNU' 2>&1 >/dev/null
-       case $? in
-       0) ;;
-       *)
-               cat <<END
-
-NOTE: The fixincludes or just-fixinc script for gcc was not run
-properly.  Your gcc may not be able to compile Perl.  Inform your system
-administrator that ${cc:-cc} is not properly installed.
-
-END
-               ;;
-       esac
+       # Doesn't work anymore for gcc-2.7.2.
 
        # See if as(1) is GNU as(1).  GNU as(1) won't work for this job.
        case $verbose in
        */usr/ccs/bin/as*) ;;
        *)
-           cat <<END
+           cat <<END >&2
 
 NOTE: You are using GNU as(1).  GNU as(1) will not build Perl.
 You must arrange to use /usr/ccs/bin/as, perhaps by setting
-GCC_EXEC_PREFIX.
+GCC_EXEC_PREFIX or by including -B/usr/ccs/bin/ in your cc command.
+(Note that the trailing "/" is required.)
 
 END
        ;;
@@ -164,11 +152,11 @@ END
        case $verbose in
        */usr/ccs/bin/ld*) ;;
        *)
-           cat <<END
+           cat <<END >&2
 
 NOTE: You are using GNU ld(1).  GNU ld(1) will not build Perl.
 You must arrange to use /usr/ccs/bin/ld, perhaps by setting
-GCC_EXEC_PREFIX.
+GCC_EXEC_PREFIX or by including -B/usr/ccs/bin/ in your cc command.
 
 END
        ;;
@@ -184,7 +172,7 @@ END
        # See if as(1) is GNU as(1).  GNU as(1) won't work for this job.
        case `as --version < /dev/null 2>&1` in
        *GNU*)
-               cat <<END
+               cat <<END >&2
 
 NOTE: You are using GNU as(1).  GNU as(1) will not build Perl.
 You must arrange to use /usr/ccs/bin, perhaps by adding it to the
@@ -195,17 +183,32 @@ END
        esac
 
        # See if ld(1) is GNU ld(1).  GNU ld(1) won't work for this job.
+       # ld --version doesn't properly report itself as a GNU tool,
+       # as of ld version 2.6, so we need to be more strict. TWP 9/5/96
+       gnu_ld=false
        case `ld --version < /dev/null 2>&1` in
-       *GNU*)
-               cat <<END
+       *GNU*|ld\ version\ 2*)
+               gnu_ld=true ;;
+       *) ;;
+       esac
+       if $gnu_ld ; then :
+       else
+               case `which ld` in
+               no\ ld\ in*|[Cc]ommand\ not\ found*)
+                       ;;
+               /*gnu*/ld|/*GNU*/ld)
+                       gnu_ld=true ;;
+               esac
+       fi
+       if $gnu_ld ; then
+               cat <<END >&2
 
 NOTE: You are using GNU ld(1).  GNU ld(1) will not build Perl.
 You must arrange to use /usr/ccs/bin, perhaps by adding it to the
-beginning of your PATH
+beginning of your PATH.
 
 END
-               ;;
-       esac
+       fi
 
        ;; #not using gcc
 esac