1case $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	;;
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 $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	;;
43esac
44
45: syntax: cflags [optimize=XXX] [file[.suffix]]
46: displays the compiler command line for file
47
48case "X$1" in
49Xoptimize=*|X"optimize=*")
50	eval "$1"
51	shift
52	;;
53esac
54
55also=': '
56case $# in
571) also='echo 1>&2 "	  CCCMD = "'
58esac
59
60case $# in
610) set *.c; echo "The current C flags are:" ;;
62esac
63
64set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g' -e "s/\\$obj_ext / /g"`
65
66for file do
67
68    case "$#" in
69    1) ;;
70    *) echo $n "    $file.c	$c" ;;
71    esac
72
73    : allow variables like toke_cflags to be evaluated
74
75    if echo $file | grep -v / >/dev/null
76    then
77      eval 'eval ${'"${file}_cflags"'-""}'
78    fi
79
80    : or customize here
81
82    case "$file" in
83    DB_File) ;;
84    GDBM_File) ;;
85    NDBM_File) ;;
86    ODBM_File) ;;
87    POSIX) ;;
88    SDBM_File) ;;
89    av) ;;
90    byterun) ;;
91    deb) ;;
92    dl) ;;
93    doio) ;;
94    doop) ;;
95    dump) ;;
96    gv) ;;
97    hv) ;;
98    locale) ;;
99    main) ;;
100    malloc) ;;
101    mg) ;;
102    miniperlmain) ;;
103    numeric) ;;
104    op) ;;
105    perl) ;;
106    perlapi) ;;
107    perlmain) ;;
108    perly) ;;
109    pp) ;;
110    pp_ctl) ;;
111    pp_hot) ;;
112    pp_pack) ;;
113    pp_sys) ;;
114    regcomp) ;;
115    regexec) ;;
116    run) ;;
117    scope) ;;
118    sv) ;;
119    taint) ;;
120    toke) ;;
121    usersub) ;;
122    util) ;;
123    *) ;;
124    esac
125
126# Add -Wall for the core modules iff gcc and not already -Wall
127warn=''
128case "$gccversion" in
129'') ;;
130Intel*) ;;
131*)  case "$ccflags" in
132    *-Wall*) ;;
133    *) warn="$warn -Wall" ;;
134    esac
135    case "$gccansipedantic" in
136    define)
137	case "$gccversion" in
138	[12]*) ;; # gcc versions 1 (gasp!) and 2 are not good for this.
139	*)  case "$osname" in
140	    # Add -ansi -pedantic only for known platforms.
141	    aix|dec_osf|freebsd|hpux|irix|linux)
142		ansipedantic="-ansi -pedantic" ;;
143	    solaris)
144# Can't add -ansi for Solaris.
145# Off_t/off_t is a struct in Solaris with largefiles, and with -ansi
146# that struct cannot be compared with a flat integer, such as a STRLEN.
147# The -ansi will also cause a lot of noise in Solaris because of:
148# /usr/include/sys/resource.h:148: warning: `struct rlimit64' declared inside parameter list
149		ansipedantic="-pedantic" ;;
150	    esac
151	    for i in $ansipedantic
152	    do
153		case "$ccflags" in
154		*$i*) ;;
155		*) warn="$warn $i" ;;
156		esac
157	    done
158	    case "$warn$ccflags" in
159	    *-pedantic*) warn="$warn -DPERL_GCC_PEDANTIC" ;;
160	    esac
161	    ;;
162	esac
163	;;
164    esac
165    ;;
166esac
167
168    : Can we perhaps use $ansi2knr here
169    echo "$cc -c -DPERL_CORE $ccflags $optimize $warn"
170    eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn"'
171
172    . $TOP/config.sh
173
174done
175!NO!SUBS!
176chmod 755 cflags
177$eunicefix cflags
178