perl 4.0 patch 22: patch #20, continued
[p5sagit/p5-mst-13.2.git] / x2p / cflags.SH
1 case $CONFIG in
2 '')
3     if test ! -f config.sh; then
4         ln ../config.sh . || \
5         ln ../../config.sh . || \
6         ln ../../../config.sh . || \
7         (echo "Can't find config.sh."; exit 1)
8     fi
9     . config.sh
10     ;;
11 esac
12 : This forces SH files to create target in same directory as SH file.
13 : This is so that make depend always knows where to find SH derivatives.
14 case "$0" in
15 */*) cd `expr X$0 : 'X\(.*\)/'` ;;
16 esac
17 echo "Extracting cflags (with variable substitutions)"
18 : This section of the file will have variable substitutions done on it.
19 : Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!.
20 : Protect any dollar signs and backticks that you do not want interpreted
21 : by putting a backslash in front.  You may delete these comments.
22 rm -f cflags
23 $spitshell >cflags <<!GROK!THIS!
24 !GROK!THIS!
25
26 : In the following dollars and backticks do not need the extra backslash.
27 $spitshell >>cflags <<'!NO!SUBS!'
28 case "$0" in
29 */*) cd `expr X$0 : 'X\(.*\)/'` ;;
30 esac
31 case $CONFIG in
32 '')
33     if test ! -f config.sh; then
34         ln ../config.sh . || \
35         ln ../../config.sh . || \
36         ln ../../../config.sh . || \
37         (echo "Can't find config.sh."; exit 1)
38     fi 2>/dev/null
39     . ./config.sh
40     ;;
41 esac
42
43 also=': '
44 case $# in
45 1) also='echo 1>&2 "      CCCMD = "'
46 esac
47
48 case $# in
49 0) set *.c; echo "The current C flags are:" ;;
50 esac
51
52 set `echo "$* " | sed 's/\.[oc] / /g'`
53
54 for file do
55
56     case "$#" in
57     1) ;;
58     *) echo $n "    $file.c     $c" ;;
59     esac
60
61     : allow variables like str_cflags to be evaluated
62
63     eval 'eval ${'"${file}_cflags"'-""}'
64
65     : or customize here
66
67     case "$file" in
68     a2p) ;;
69     a2py) ;;
70     hash) ;;
71     str) ;;
72     util) ;;
73     walk) ;;
74     *) ;;
75     esac
76
77     echo "$cc -c $ccflags $optimize $large $split"
78     eval "$also "'"$cc -c $ccflags $optimize $large $split"'
79
80     . ./config.sh
81
82 done
83 !NO!SUBS!
84 chmod +x cflags
85 $eunicefix cflags