1case $CONFIG in 2'') 3 if test -f config.sh; then TOP=.; 4 elif test -f ../config.sh; then TOP=..; 5 elif test -f ../../config.sh; then TOP=../..; 6 elif test -f ../../../config.sh; then TOP=../../..; 7 elif test -f ../../../../config.sh; then TOP=../../../..; 8 else 9 echo "Can't find config.sh."; exit 1 10 fi 11 . $TOP/config.sh 12 ;; 13esac 14: This forces SH files to create target in same directory as SH file. 15: This is so that make depend always knows where to find SH derivatives. 16case "$0" in 17*/*) cd `expr X$0 : 'X\(.*\)/'` ;; 18esac 19echo "Extracting cflags (with variable substitutions)" 20: This section of the file will have variable substitutions done on it. 21: Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!. 22: Protect any dollar signs and backticks that you do not want interpreted 23: by putting a backslash in front. You may delete these comments. 24rm -f cflags 25$spitshell >cflags <<!GROK!THIS! 26$startsh 27!GROK!THIS! 28 29: In the following dollars and backticks do not need the extra backslash. 30$spitshell >>cflags <<'!NO!SUBS!' 31case $CONFIGDOTSH in 32'') 33 if test -f config.sh; then TOP=.; 34 elif test -f ../config.sh; then TOP=..; 35 elif test -f ../../config.sh; then TOP=../..; 36 elif test -f ../../../config.sh; then TOP=../../..; 37 elif test -f ../../../../config.sh; then TOP=../../../..; 38 else 39 echo "Can't find config.sh."; exit 1 40 fi 41 . $TOP/config.sh 42 ;; 43esac 44 45perltype='' 46optdebug='' # ensure -g used if building a -DDEBUGGING libperl 47case $# in 482) case $1 in 49 *perl.*) perltype='';; 50 *perld.*) perltype='-DDEBUGGING'; optdebug='-g' ;; 51 *perle.*) perltype='-DEMBED';; 52 *perlde.*) perltype='-DDEBUGGING -DEMBED'; optdebug='-g' ;; 53 *perlm.*) perltype='-DEMBED -DMULTIPLICITY';; 54 *perldm.*) perltype='-DDEBUGGING -DEMBED -DMULTIPLICITY'; optdebug='-g' ;; 55 esac 56 shift ;; 57esac 58 59also=': ' 60case $# in 611) also='echo 1>&2 " CCCMD = "' 62esac 63 64case $# in 650) set *.c; echo "The current C flags are:" ;; 66esac 67 68set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g' -e "s/\\$obj_ext / /g"` 69 70for file do 71 72 case "$#" in 73 1) ;; 74 *) echo $n " $file.c $c" ;; 75 esac 76 77 : allow variables like toke_cflags to be evaluated 78 79 if echo $file | grep -v / >/dev/null 80 then 81 eval 'eval ${'"${file}_cflags"'-""}' 82 fi 83 84 : or customize here 85 86 case "$file" in 87 DB_File) ;; 88 GDBM_File) ;; 89 NDBM_File) ;; 90 ODBM_File) ;; 91 POSIX) ;; 92 SDBM_File) ;; 93 av) ;; 94 byterun) ;; 95 deb) ;; 96 dl) ;; 97 doio) ;; 98 doop) ;; 99 dump) ;; 100 gv) ;; 101 hv) ;; 102 main) ;; 103 malloc) ;; 104 mg) ;; 105 miniperlmain) ;; 106 op) ;; 107 perl) ;; 108 perlapi) ;; 109 perlmain) ;; 110 perly) ;; 111 pp) ;; 112 pp_ctl) ;; 113 pp_hot) ;; 114 pp_sys) ;; 115 regcomp) ;; 116 regexec) ;; 117 run) ;; 118 scope) ;; 119 sv) ;; 120 taint) ;; 121 toke) ;; 122 usersub) ;; 123 util) ;; 124 *) ;; 125 esac 126 127 if test "X$optdebug" != "X"; then 128 optimize="$optdebug" 129 fi 130 131 : Can we perhaps use $ansi2knr here 132 echo "$cc -c -DPERL_CORE $ccflags $optimize $perltype $large $split" 133 eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $perltype $large $split"' 134 135 . $TOP/config.sh 136 137done 138!NO!SUBS! 139chmod 755 cflags 140$eunicefix cflags 141