Retract #17428, not needed in this version of File::Spec.
[p5sagit/p5-mst-13.2.git] / cflags.SH
index c397d40..3ee7c5f 100755 (executable)
--- a/cflags.SH
+++ b/cflags.SH
@@ -42,6 +42,9 @@ case $PERL_CONFIG_SH in
        ;;
 esac
 
+: syntax: cflags [optimize=XXX] [file[.suffix]]
+: displays the compiler command line for file
+
 case "X$1" in
 Xoptimize=*|X"optimize=*")
        eval "$1"
@@ -49,20 +52,6 @@ Xoptimize=*|X"optimize=*")
        ;;
 esac
 
-perltype=''
-optdebug=''    # ensure -g used if building a -DDEBUGGING libperl
-case $# in
-2) case $1 in
-    *perl.*)    perltype='';;
-    *perld.*)   perltype='-DDEBUGGING'; optdebug='-g' ;;
-    *perle.*)   perltype='-DEMBED';;
-    *perlde.*)  perltype='-DDEBUGGING -DEMBED'; optdebug='-g' ;;
-    *perlm.*)   perltype='-DEMBED -DMULTIPLICITY';;
-    *perldm.*)  perltype='-DDEBUGGING -DEMBED -DMULTIPLICITY'; optdebug='-g' ;;
-    esac
-    shift ;;
-esac
-
 also=': '
 case $# in
 1) also='echo 1>&2 "     CCCMD = "'
@@ -134,13 +123,25 @@ for file do
     *) ;;
     esac
 
-       if test "X$optdebug" != "X"; then
-               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"
+    eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn"'
 
     . $TOP/config.sh