Warn if the version of the operating system used to compile gcc
Kurt D. Starsinic [Mon, 10 Jul 2000 15:54:16 +0000 (11:54 -0400)]
differs from the current version of the operating system.
Also display the gcc compilation os and version in myconfig.
Inspiration from

Subject: Re: [ID 20000710.003] ERRORS!!
Message-ID: <20000710155416.A1384@O2.chapin.edu>

p4raw-id: //depot/perl@6460

Configure
myconfig.SH

index 5be461d..cc4fa3e 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Sat Jul 29 00:58:08 EET DST 2000 [metaconfig 3.0 PL70]
+# Generated on Sat Jul 29 02:22:13 EET DST 2000 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -597,6 +597,7 @@ fflushNULL=''
 fflushall=''
 fpossize=''
 fpostype=''
+gccosandvers=''
 gccversion=''
 gidformat=''
 gidsign=''
@@ -3180,6 +3181,36 @@ $rm -f gccvers*
 case "$gccversion" in
 1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
 esac
+case "$gccversion" in
+'') gccosandvers='' ;;
+*) gccosandvers=`gcc -v 2>&1|grep '/specs$'|sed 's!.*/[^-]*-[^-]*-\([^/]*\)/'$gccversion'/specs$!\1!'`
+   case "$gccosandvers" in
+   $osname$osvers) ;;
+   $osname*) cat <<EOM >&4
+
+*** WHOA THERE!!! ***
+
+    Your gcc has not been compiled for the exact release of
+    your operating system ($gccosandvers versus $osname$osvers).
+
+    In general it is a good idea to keep gcc synchronized with
+    the operating system because otherwise serious problems
+    may ensue when trying to compile software, like Perl.
+
+    I'm trying to be optimistic here, though, and will continue.
+    If later during the configuration and build icky compilation
+    problems appear, I suggest reinstalling the gcc to match
+    your operating system release.
+
+EOM
+      ;;
+   *) ;; # failed to parse, better be silent
+   esac
+   ;;
+esac
+
+
+
 
 : see how we invoke the C preprocessor
 echo " "
@@ -15610,6 +15641,7 @@ freetype='$freetype'
 full_ar='$full_ar'
 full_csh='$full_csh'
 full_sed='$full_sed'
+gccosandvers='$gccosandvers'
 gccversion='$gccversion'
 gidformat='$gidformat'
 gidsign='$gidsign'
index 7861f5e..a797e60 100644 (file)
@@ -37,7 +37,7 @@ Summary of my $package (revision $baserev version $PERL_VERSION subversion $PERL
     useperlio=$useperlio d_sfio=$d_sfio uselargefiles=$uselargefiles 
     use64bitint=$use64bitint use64bitall=$use64bitall uselongdouble=$uselongdouble usesocks=$usesocks
   Compiler:
-    cc='$cc', optimize='$optimize', gccversion=$gccversion
+    cc='$cc', optimize='$optimize', gccversion=$gccversion, gccosandvers=$gccosandvers
     cppflags='$cppflags'
     ccflags ='$ccflags'
     stdchar='$stdchar', d_stdstdio=$d_stdstdio, usevfork=$usevfork