Add -Wall in cflags, not in Configure.
Jarkko Hietaniemi [Tue, 31 Jul 2001 14:14:35 +0000 (14:14 +0000)]
(This way -Wall affects only the core and the core XS,
 not user modules' XS.  Concern from Paul Marquess,
 implementation idea from Andy Dougherty.)

p4raw-id: //depot/perl@11516

Configure
cflags.SH

index 1996cd2..c7d3a7b 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 Tue Jul 31 17:53:39 EET DST 2001 [metaconfig 3.0 PL70]
+# Generated on Tue Jul 31 18:10:25 EET DST 2001 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -3519,14 +3519,6 @@ case "$ccname" in
 '') ccname="$cc" ;;
 esac
 
-case "$gccversion" in
-'') ;;
-*)  case "$ccflags" in
-    *-Wall*) ;;
-    *) ccflags="$ccflags -Wall" ;;
-    esac
-    ;;
-esac
 
 : decide how portable to be.  Allow command line overrides.
 case "$d_portable" in
index c397d40..1bd5c94 100755 (executable)
--- a/cflags.SH
+++ b/cflags.SH
@@ -138,9 +138,25 @@ for file do
                optimize="$optdebug"
        fi
 
+# Add -Wall for the core and core modules iff gcc and not already -Wall
+warn=''
+case "$gccversion" in
+'') ;;
+*)  case "$ccflags" in
+    *-Wall*) ;;
+# Can't add -ansi here because it will fail e.g. in Solaris.
+# Off_t/off_t is a struct in Solaris with largefiles, and with -ansi
+# that struct cannot be compared with a flat integer, such as a STRLEN.
+# The -ansi will also cause a lot of noise in Solaris because of:
+# /usr/include/sys/resource.h:148: warning: `struct rlimit64' declared inside parameter list
+    *) warn='-Wall' ;;
+    esac
+    ;;
+esac
+
     : Can we perhaps use $ansi2knr here
-    echo "$cc -c -DPERL_CORE $ccflags $optimize $perltype"
-    eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $perltype"'
+    echo "$cc -c -DPERL_CORE $ccflags $optimize $warn $perltype"
+    eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn $perltype"'
 
     . $TOP/config.sh