Upgrade to Term::ANSIColor 1.04.
[p5sagit/p5-mst-13.2.git] / cflags.SH
1 case $PERL_CONFIG_SH 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         ;;
13 esac
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.
16 case "$0" in
17 */*) cd `expr X$0 : 'X\(.*\)/'` ;;
18 esac
19 echo "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.
24 rm -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!'
31 case $PERL_CONFIG_SH 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         ;;
43 esac
44
45 perltype=''
46 optdebug=''     # ensure -g used if building a -DDEBUGGING libperl
47 case $# in
48 2) 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 ;;
57 esac
58
59 also=': '
60 case $# in
61 1) also='echo 1>&2 "      CCCMD = "'
62 esac
63
64 case $# in
65 0) set *.c; echo "The current C flags are:" ;;
66 esac
67
68 set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g' -e "s/\\$obj_ext / /g"`
69
70 for 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     locale) ;;
103     main) ;;
104     malloc) ;;
105     mg) ;;
106     miniperlmain) ;;
107     numeric) ;;
108     op) ;;
109     perl) ;;
110     perlapi) ;;
111     perlmain) ;;
112     perly) ;;
113     pp) ;;
114     pp_ctl) ;;
115     pp_hot) ;;
116     pp_pack) ;;
117     pp_sys) ;;
118     regcomp) ;;
119     regexec) ;;
120     run) ;;
121     scope) ;;
122     sv) ;;
123     taint) ;;
124     toke) ;;
125     usersub) ;;
126     util) ;;
127     *) ;;
128     esac
129
130         if test "X$optdebug" != "X"; then
131                 optimize="$optdebug"
132         fi
133
134     : Can we perhaps use $ansi2knr here
135     echo "$cc -c -DPERL_CORE $ccflags $optimize $perltype"
136     eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $perltype"'
137
138     . $TOP/config.sh
139
140 done
141 !NO!SUBS!
142 chmod 755 cflags
143 $eunicefix cflags