This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl 5.0 alpha 4
[perl5.git] / 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 toke_cflags to be evaluated
62
63     eval 'eval ${'"${file}_cflags"'-""}'
64
65     : or customize here
66
67     case "$file" in
68     array) ;;
69     cmd) ;;
70     cons) ;;
71     consarg) ;;
72     doarg) ;;
73     doio) ;;
74     dolist) ;;
75     dump) ;;
76     eval) ;;
77     form) ;;
78     hash) ;;
79     malloc) ;;
80     perl) ;;
81     perly) ;;
82     regcomp) ;;
83     regexec) ;;
84     stab) ;;
85     str) ;;
86     toke) ;;
87     usersub) ;;
88     util) ;;
89     tarray) ;;
90     tcmd) ;;
91     tcons) ;;
92     tconsarg) ;;
93     tdoarg) ;;
94     tdoio) ;;
95     tdolist) ;;
96     tdump) ;;
97     teval) ;;
98     tform) ;;
99     thash) ;;
100     tmalloc) ;;
101     tperl) ;;
102     tperly) ;;
103     tregcomp) ;;
104     tregexec) ;;
105     tstab) ;;
106     tstr) ;;
107     ttoke) ;;
108     tusersub) ;;
109     tutil) ;;
110     *) ;;
111     esac
112
113     echo "$cc -c $ccflags $optimize $large $split"
114     eval "$also "'"$cc -c $ccflags $optimize $large $split"'
115
116     . ./config.sh
117
118 done
119 !NO!SUBS!
120 chmod +x cflags
121 $eunicefix cflags