source: trunk/third/perl/x2p/cflags.SH @ 10730

Revision 10730, 2.2 KB checked in by ghudson, 27 years ago (diff)
Merge with perl 5.004_04. Previous local modifications are no longer necessary; will revert RCS file to vendor branch after this commit.
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*/cflags.SH) cd `expr X$0 : 'X\(.*\)/'` ;;
18cflags.SH) ;;
19*) case `pwd` in
20   */x2p) ;;
21   *) if test -d x2p; then cd x2p
22      else echo "Can't figure out where to write output."; exit 1
23          fi;;
24   esac;;
25esac
26echo "Extracting x2p/cflags (with variable substitutions)"
27: This section of the file will have variable substitutions done on it.
28: Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!.
29: Protect any dollar signs and backticks that you do not want interpreted
30: by putting a backslash in front.  You may delete these comments.
31rm -f cflags
32$spitshell >cflags <<!GROK!THIS!
33!GROK!THIS!
34
35: In the following dollars and backticks do not need the extra backslash.
36$spitshell >>cflags <<'!NO!SUBS!'
37case $CONFIG in
38'')
39        if test -f config.sh; then TOP=.;
40        elif test -f ../config.sh; then TOP=..;
41        elif test -f ../../config.sh; then TOP=../..;
42        elif test -f ../../../config.sh; then TOP=../../..;
43        elif test -f ../../../../config.sh; then TOP=../../../..;
44        else
45                echo "Can't find config.sh."; exit 1
46        fi
47        . $TOP/config.sh
48        ;;
49esac
50
51also=': '
52case $# in
531) also='echo 1>&2 "      CCCMD = "'
54esac
55
56case $# in
570) set *.c; echo "The current C flags are:" ;;
58esac
59
60set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g'`
61
62for file do
63
64    case "$#" in
65    1) ;;
66    *) echo $n "    $file.c     $c" ;;
67    esac
68
69    : allow variables like str_cflags to be evaluated
70
71    eval 'eval ${'"${file}_cflags"'-""}'
72
73    : or customize here
74
75    case "$file" in
76    a2p) ;;
77    a2py) ;;
78    hash) ;;
79    str) ;;
80    util) ;;
81    walk) ;;
82    *) ;;
83    esac
84
85    ccflags="`echo $ccflags | sed -e 's/-DMULTIPLICITY//'`"
86
87    echo "$cc -c $ccflags $optimize $large $split"
88    eval "$also "'"$cc -c $ccflags $optimize $large $split"'
89
90    . $TOP/config.sh
91
92done
93!NO!SUBS!
94chmod 755 cflags
95$eunicefix cflags
Note: See TracBrowser for help on using the repository browser.