$NetBSD: patch-ca,v 1.3.4.1 2005/12/30 13:40:15 seb Exp $

--- Configure.orig	2005-04-20 12:34:37.000000000 -0400
+++ Configure
@@ -3111,11 +3111,13 @@ EOM
 		dgux)	osname=dgux 
 			osvers="$3"
 			;;
+		dragonfly) osname=dragonfly
+			osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;;
 		dynixptx*) osname=dynixptx
 			osvers=`echo "$4"|sed 's/^v//'`
 			;;
 		freebsd) osname=freebsd 
-			osvers="$3" ;;
+			osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;;
 		genix)	osname=genix ;;
 		gnu)	osname=gnu
 			osvers="$3" ;;
@@ -3137,7 +3139,7 @@ EOM
 		MiNT)	osname=mint
 			;;
 		netbsd*) osname=netbsd
-			osvers="$3"
+			osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'`
 			;;
 		news-os) osvers="$3"
 			case "$3" in
@@ -3148,8 +3150,8 @@ EOM
 		next*) osname=next ;;
 		nonstop-ux) osname=nonstopux ;;
 		openbsd) osname=openbsd
-                	osvers="$3"
-                	;;
+			osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'`
+			;;
 		os2)	osname=os2
 			osvers="$4"
 			;;
@@ -4426,7 +4428,7 @@ case "$plibpth" in
 esac
 case "$libpth" in
 ' ') dlist='';;
-'') dlist="$loclibpth $plibpth $glibpth";;
+'') dlist="$plibpth $glibpth $loclibpth";;
 *) dlist="$libpth";;
 esac
 
@@ -7856,7 +7858,7 @@ if "$useshrplib"; then
 	solaris)
 		xxx="-R $shrpdir"
 		;;
-	freebsd|netbsd|openbsd|interix)
+	freebsd|netbsd|openbsd|dragonfly|interix)
 		xxx="-Wl,-R$shrpdir"
 		;;
 	bsdos|linux|irix*|dec_osf|gnu*)
@@ -8977,6 +8979,13 @@ EOCP
 	;;
 esac
 
+: Look for a hint-file generated 'call-back-unit'.  We need
+: to set some defaults for building perl in pkgsrc.
+if $test -f pkgsrc.cbu; then
+    echo "Setting pkgsrc-specific hints regarding compiler/linker flags..."
+    . ./pkgsrc.cbu
+fi
+
 case "$vendorprefix" in
 '')	d_vendorbin="$undef"
 	vendorbin=''
@@ -17339,7 +17348,15 @@ RCAT(Rei,ser)
 ACAT(Cir,cus)
 EOCP
 $cppstdin $cppflags $cppminus <cpp_stuff.c >cpp_stuff.out 2>&1
-if $contains 'Circus' cpp_stuff.out >/dev/null 2>&1; then
+# yuck, what a hack.
+# MIPSPro compiler/preprocessor behaves differently if invoked on
+# stdin vs file.  Here we test for stdin, but lateron we use files.
+# So force it to work the way we know it does:
+if [ x"${OPSYS}" = x"IRIX" ]; then
+	echo "Hacking MIPSPro on file vs. stdin..." >&4
+	echo "We know we can catify or stringify, separately or together!"
+	cpp_stuff=42
+elif $contains 'Circus' cpp_stuff.out >/dev/null 2>&1; then
 	echo "Oh!  Smells like ANSI's been here." >&4
 	echo "We can catify or stringify, separately or together!"
 	cpp_stuff=42
