summaryrefslogtreecommitdiff
path: root/x2p/cflags.SH
diff options
context:
space:
mode:
authorLarry Wall <lwall@netlabs.com>1991-06-06 23:27:54 +0000
committerLarry Wall <lwall@netlabs.com>1991-06-06 23:27:54 +0000
commit2b317908ea5309ab202d1cdbadccfdf42d10e2b1 (patch)
treef523f01a4205f56f5435a39161acb4020ad5bc5b /x2p/cflags.SH
parent132b68a5c516d31aa5abdbca3bb36ded2c13b4cc (diff)
downloadperl-2b317908ea5309ab202d1cdbadccfdf42d10e2b1.tar.gz
perl 4.0 patch 5: patch #4, continued
See patch #4.
Diffstat (limited to 'x2p/cflags.SH')
-rw-r--r--x2p/cflags.SH84
1 files changed, 84 insertions, 0 deletions
diff --git a/x2p/cflags.SH b/x2p/cflags.SH
new file mode 100644
index 0000000000..2f78e2caf0
--- /dev/null
+++ b/x2p/cflags.SH
@@ -0,0 +1,84 @@
+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
+ . 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 " CCCMD = "'
+esac
+
+case $# in
+0) set *.c; echo "The current C flags are:" ;;
+esac
+
+set `echo "$* " | sed 's/\.[oc] / /g'`
+
+for file do
+
+ case "$#" in
+ 1) ;;
+ *) echo $n " $file.c $c" ;;
+ esac
+
+ : allow variables like str_cflags to be evaluated
+
+ eval 'eval ${'"${file}_cflags"'-""}'
+
+ : or customize here
+
+ case "$file" in
+ a2p) ;;
+ a2py) ;;
+ hash) ;;
+ str) ;;
+ util) ;;
+ walk) ;;
+ *) ;;
+ esac
+
+ 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