+#!/bin/sh
+
case $PERL_CONFIG_SH in
'')
if test -f config.sh; then TOP=.;
'') ;;
[12]*) ;; # gcc versions 1 (gasp!) and 2 are not good for this.
Intel*) ;; # # Is that you, Intel C++?
-*) for opt in -ansi -std=c89 -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat
+*) for opt in -ansi -std=c89 -W -Wextra -Wdeclaration-after-statement \
+ -Wendif-labels -Wc++-compat -Wwrite-strings
do
case " $ccflags " in
*" $opt "*) ;; # Skip if already there.
stdflags="$stdflags"
# Extra extra.
extra="$extra"
+# what do executables look like?
+_exe="$_exe"
!GROK!THIS!
: or customize here
case "$file" in
- DB_File) ;;
- GDBM_File) ;;
- NDBM_File) ;;
- ODBM_File) ;;
- POSIX) ;;
- SDBM_File) ;;
- av) ;;
- byterun) ;;
- deb) ;;
- dl) ;;
- doio) ;;
- doop) ;;
- dump) ;;
- globals) ;;
- gv) ;;
- hv) ;;
- locale) ;;
- madly) ;;
- main) ;;
- malloc) ;;
- mg) ;;
- miniperlmain) ;;
- numeric) ;;
- op) ;;
- opmini) ;;
- pad) ;;
- perl)
- if [ -f .patchnum -a -n "$(cat .patchnum)" ] ; then
- ccflags="-DPERL_PATCHNUM=`cat .patchnum` $ccflags"
- fi
- if [ -f .sha1 -a -n "$(cat .sha1)" ] ; then
- ccflags="-DPERL_GIT_SHA1=`cat .sha1` $ccflags"
- fi
- ;;
- perlapi) ;;
- perlmain) ;;
- perly) ;;
- pp) ;;
- pp_ctl) ;;
- pp_hot) ;;
- pp_pack) ;;
- pp_sort) ;;
- pp_sys) ;;
- regcomp) ;;
- regexec) ;;
- run) ;;
- scope) ;;
- sv) ;;
- taint) ;;
- toke) ;;
- universal) ;;
- usersub) ;;
- utf8) ;;
- util) ;;
- xsutils) ;;
*) ;;
+
+ *) : Customization examples follow: ;;
+ av) ccflags=`echo $ccflags | sed -e s/-pipe//` ;;
+ deb) ccflags="$ccflags -fno-jump-tables" ;;
+ hv) warn=`echo $warn | sed -e s/-Wextra//` ;;
+ toke) optimize=-O0 ;;
esac
+ : The examples are intentionally unreachable as the '*)' case always
+ : matches. To use them, move before the '*)' and edit as appropriate.
+ : It is not a good idea to set ccflags to an absolute value here, as it
+ : often contains general -D defines which are needed for correct
+ : compilation. It is better to edit ccflags as shown, using interpolation
+ : to add flags, or sed to remove flags.
+
+
case "$cc" in
*g++*)
# Extra paranoia in case people have bad canned ccflags:
cppflags=`echo $cppflags|sed 's/-Wdeclaration-after-statement/ /'`
case "$cc" in
+ *clang)
+ # clang complains a lot about -Wunused-value which are not fixable
+ warn="$warn -Wno-unused-value"
+ ;;
*g++*)
# Without -Wno-unused-variable g++ 4.x compiles are rather unwatchable
# because of all the warnings about Perl___notused, and g++ doesn't do