diff options
author | Larry Wall <lwall@netlabs.com> | 1991-06-06 23:27:54 +0000 |
---|---|---|
committer | Larry Wall <lwall@netlabs.com> | 1991-06-06 23:27:54 +0000 |
commit | 2b317908ea5309ab202d1cdbadccfdf42d10e2b1 (patch) | |
tree | f523f01a4205f56f5435a39161acb4020ad5bc5b /cflags.SH | |
parent | 132b68a5c516d31aa5abdbca3bb36ded2c13b4cc (diff) | |
download | perl-2b317908ea5309ab202d1cdbadccfdf42d10e2b1.tar.gz |
perl 4.0 patch 5: patch #4, continued
See patch #4.
Diffstat (limited to 'cflags.SH')
-rw-r--r-- | cflags.SH | 138 |
1 files changed, 89 insertions, 49 deletions
@@ -5,76 +5,116 @@ case $CONFIG in ln ../../config.sh . || \ ln ../../../config.sh . || \ (echo "Can't find config.sh."; exit 1) - fi 2>/dev/null - . ./config.sh + fi + . config.sh ;; esac +: This forces SH files to create target in same directory as SH file. +: This is so that make depend always knows where to find SH derivatives. case "$0" in */*) cd `expr X$0 : 'X\(.*\)/'` ;; esac +echo "Extracting cflags (with variable substitutions)" +: This section of the file will have variable substitutions done on it. +: Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!. +: Protect any dollar signs and backticks that you do not want interpreted +: by putting a backslash in front. You may delete these comments. +$spitshell >cflags <<!GROK!THIS! +!GROK!THIS! + +: In the following dollars and backticks do not need the extra backslash. +$spitshell >>cflags <<'!NO!SUBS!' +case "$0" in +*/*) cd `expr X$0 : 'X\(.*\)/'` ;; +esac +case $CONFIG in +'') + if test ! -f config.sh; then + ln ../config.sh . || \ + ln ../../config.sh . || \ + ln ../../../config.sh . || \ + (echo "Can't find config.sh."; exit 1) + fi 2>/dev/null + . ./config.sh + ;; +esac also=': ' case $# in -1) also='echo 1>&2 " CFLAGS = "' +1) also='echo 1>&2 " CCCMD = "' esac case $# in 0) set *.c; echo "The current C flags are:" ;; -*) set `echo "$* " | sed 's/\.o /.c /g'` esac + +set `echo "$* " | sed 's/\.[oc] / /g'` + for file do case "$#" in 1) ;; - *) echo $n " $file $c" ;; + *) echo $n " $file.c $c" ;; esac + : allow variables like toke_cflags to be evaluated + + eval 'eval ${'"${file}_cflags"'-""}' + + : or customize here + case "$file" in - array.c) ;; - cmd.c) ;; - cons.c) ;; - consarg.c) ;; - doarg.c) ;; - doio.c) ;; - dolist.c) ;; - dump.c) ;; - eval.c) ;; - form.c) ;; - hash.c) ;; - malloc.c) ;; - perl.c) ;; - perly.c) ;; - regcomp.c) ;; - regexec.c) ;; - stab.c) ;; - str.c) ;; - toke.c) ;; - usersub.c) ;; - util.c) ;; - tarray.c) ;; - tcmd.c) ;; - tcons.c) ;; - tconsarg.c) ;; - tdoarg.c) ;; - tdoio.c) ;; - tdolist.c) ;; - tdump.c) ;; - teval.c) ;; - tform.c) ;; - thash.c) ;; - tmalloc.c) ;; - tperl.c) ;; - tperly.c) ;; - tregcomp.c) ;; - tregexec.c) ;; - tstab.c) ;; - tstr.c) ;; - ttoke.c) ;; - tusersub.c) ;; - tutil.c) ;; + array) ;; + cmd) ;; + cons) ;; + consarg) ;; + doarg) ;; + doio) ;; + dolist) ;; + dump) ;; + eval) ;; + form) ;; + hash) ;; + malloc) ;; + perl) ;; + perly) ;; + regcomp) ;; + regexec) ;; + stab) ;; + str) ;; + toke) ;; + usersub) ;; + util) ;; + tarray) ;; + tcmd) ;; + tcons) ;; + tconsarg) ;; + tdoarg) ;; + tdoio) ;; + tdolist) ;; + tdump) ;; + teval) ;; + tform) ;; + thash) ;; + tmalloc) ;; + tperl) ;; + tperly) ;; + tregcomp) ;; + tregexec) ;; + tstab) ;; + tstr) ;; + ttoke) ;; + tusersub) ;; + tutil) ;; *) ;; esac - echo "$ccflags $optimize $large $split" - eval "$also $ccflags $optimize $large $split" + echo "$cc -c $ccflags $optimize $large $split" + eval "$also "'"$cc -c $ccflags $optimize $large $split"' + + . ./config.sh + done +!NO!SUBS! +chmod +x cflags +$eunicefix cflags |