This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
More logical test ordering.
[perl5.git] / cflags.SH
index 44d19e4..1bd5c94 100755 (executable)
--- a/cflags.SH
+++ b/cflags.SH
@@ -43,7 +43,7 @@ case $PERL_CONFIG_SH in
 esac
 
 case "X$1" in
-Xoptimize=*)
+Xoptimize=*|X"optimize=*")
        eval "$1"
        shift
        ;;
@@ -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