xref: /openbsd/gnu/usr.bin/perl/cflags.SH (revision 133306f0)
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