X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=cflags.SH;h=1bd5c947f4e265e7fbe0f9e73012491d10645e0a;hb=4d4039e86a34bb28f77d249a187795388b4c762b;hp=9dc5c90127bced84aff091c54497b8f914f1b29a;hpb=4633a7c4bad06b471d9310620b7fe8ddd158cccd;p=p5sagit%2Fp5-mst-13.2.git diff --git a/cflags.SH b/cflags.SH index 9dc5c90..1bd5c94 100755 --- a/cflags.SH +++ b/cflags.SH @@ -1,4 +1,4 @@ -case $CONFIG in +case $PERL_CONFIG_SH in '') if test -f config.sh; then TOP=.; elif test -f ../config.sh; then TOP=..; @@ -21,13 +21,14 @@ echo "Extracting cflags (with variable substitutions)" : Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!. : Protect any dollar signs and backticks that you do not want interpreted : by putting a backslash in front. You may delete these comments. +rm -f cflags $spitshell >cflags <>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=..; @@ -41,6 +42,13 @@ case $CONFIG in ;; esac +case "X$1" in +Xoptimize=*|X"optimize=*") + eval "$1" + shift + ;; +esac + perltype='' optdebug='' # ensure -g used if building a -DDEBUGGING libperl case $# in @@ -64,7 +72,7 @@ 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 @@ -75,7 +83,10 @@ 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 @@ -87,6 +98,7 @@ for file do POSIX) ;; SDBM_File) ;; av) ;; + byterun) ;; deb) ;; dl) ;; doio) ;; @@ -94,17 +106,21 @@ for file do 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) ;; @@ -122,8 +138,25 @@ for file do optimize="$optdebug" fi - echo "$cc -c $ccflags $optimize $perltype $large $split" - eval "$also "'"$cc -c $ccflags $optimize $perltype $large $split"' +# 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 $warn $perltype" + eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn $perltype"' . $TOP/config.sh