source: trunk/third/perl/cflags.SH @ 14545

Revision 14545, 3.1 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14544, which included commits to RCS files with non-trunk default branches.
Line 
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
Note: See TracBrowser for help on using the repository browser.