;;
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 ;;
+: syntax: cflags [optimize=XXX] [file[.suffix]]
+: displays the compiler command line for file
+
+case "X$1" in
+Xoptimize=*|X"optimize=*")
+ eval "$1"
+ shift
+ ;;
esac
also=': '
dump) ;;
gv) ;;
hv) ;;
+ locale) ;;
main) ;;
malloc) ;;
mg) ;;
miniperlmain) ;;
+ numeric) ;;
op) ;;
perl) ;;
perlapi) ;;
pp) ;;
pp_ctl) ;;
pp_hot) ;;
+ pp_pack) ;;
pp_sys) ;;
regcomp) ;;
regexec) ;;
*) ;;
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