-case $CONFIG in
+case $PERL_CONFIG_SH in
'')
if test -f config.sh; then TOP=.;
elif test -f ../config.sh; then TOP=..;
: In the following dollars and backticks do not need the extra backslash.
$spitshell >>cflags <<'!NO!SUBS!'
-case $CONFIG 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
0) set *.c; echo "The current C flags are:" ;;
esac
-set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g'`
+set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g' -e "s/\\$obj_ext / /g"`
for file do
: allow variables like toke_cflags to be evaluated
- eval 'eval ${'"${file}_cflags"'-""}'
+ if echo $file | grep -v / >/dev/null
+ then
+ eval 'eval ${'"${file}_cflags"'-""}'
+ fi
: or customize here
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