-case $CONFIGDOTSH in
+case $PERL_CONFIG_SH in
'')
if test -f config.sh; then TOP=.;
elif test -f ../config.sh; then TOP=..;
rm -f cflags
$spitshell >cflags <<!GROK!THIS!
$startsh
-src=$src
!GROK!THIS!
: In the following dollars and backticks do not need the extra backslash.
$spitshell >>cflags <<'!NO!SUBS!'
-case $CONFIGDOTSH in
+case $PERL_CONFIG_SH in
'')
if test -f config.sh; then TOP=.;
elif test -f ../config.sh; then TOP=..;
;;
esac
+case "X$1" in
+Xoptimize=*|X"optimize=*")
+ eval "$1"
+ shift
+ ;;
+esac
+
perltype=''
optdebug='' # ensure -g used if building a -DDEBUGGING libperl
case $# in
*) echo $n " $file.c $c" ;;
esac
- : allow for out-of-source experience
-
- if test "X$src" != X.; then
- ccflags="$ccflags -I$src -I."
- fi
-
: allow variables like toke_cflags to be evaluated
if echo $file | grep -v / >/dev/null
dump) ;;
gv) ;;
hv) ;;
+ locale) ;;
main) ;;
malloc) ;;
mg) ;;
miniperlmain) ;;
+ numeric) ;;
op) ;;
perl) ;;
+ perlapi) ;;
perlmain) ;;
perly) ;;
pp) ;;
pp_ctl) ;;
pp_hot) ;;
+ pp_pack) ;;
pp_sys) ;;
regcomp) ;;
regexec) ;;
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 $large $split"
- eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $perltype $large $split"'
+ echo "$cc -c -DPERL_CORE $ccflags $optimize $warn $perltype"
+ eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn $perltype"'
. $TOP/config.sh