LOGONLY mark 1408fb as NODOC since it appears to be a useful but minor warning cleanup
[p5sagit/p5-mst-13.2.git] / x2p / cflags.SH
old mode 100644 (file)
new mode 100755 (executable)
index 2f78e2c..255f586
@@ -1,42 +1,58 @@
-case $CONFIG in
+case $PERL_CONFIG_SH 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
-    ;;
+       if test -f config.sh; then TOP=.;
+       elif test -f ../config.sh; then TOP=..;
+       elif test -f ../../config.sh; then TOP=../..;
+       elif test -f ../../../config.sh; then TOP=../../..;
+       elif test -f ../../../../config.sh; then TOP=../../../..;
+       else
+               echo "Can't find config.sh."; exit 1
+       fi
+       . $TOP/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\(.*\)/'` ;;
+*/cflags.SH) cd `expr X$0 : 'X\(.*\)/'` ;;
+cflags.SH) ;;
+*) case `pwd` in
+   */x2p) ;;
+   *) if test -d x2p; then cd x2p
+      else echo "Can't figure out where to write output."; exit 1
+         fi;;
+   esac;;
 esac
-echo "Extracting cflags (with variable substitutions)"
+echo "Extracting x2p/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.
+rm -f cflags
 $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
+case $PERL_CONFIG_SH 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
-    ;;
+       if test -f config.sh; then TOP=.;
+       elif test -f ../config.sh; then TOP=..;
+       elif test -f ../../config.sh; then TOP=../..;
+       elif test -f ../../../config.sh; then TOP=../../..;
+       elif test -f ../../../../config.sh; then TOP=../../../..;
+       else
+               echo "Can't find config.sh."; exit 1
+       fi
+       . $TOP/config.sh
+       ;;
+esac
+
+case "X$1" in
+Xoptimize=*|X"optimize=*")
+        eval "$1"
+        shift
+        ;;
 esac
 
 also=': '
@@ -48,7 +64,7 @@ case $# in
 0) set *.c; echo "The current C flags are:" ;;
 esac
 
-set `echo "$* " | sed 's/\.[oc] / /g'`
+set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g' -e "s/\\$obj_ext / /g"`
 
 for file do
 
@@ -73,12 +89,14 @@ for file do
     *) ;;
     esac
 
-    echo "$cc -c $ccflags $optimize $large $split"
-    eval "$also "'"$cc -c $ccflags $optimize $large $split"'
+    ccflags="`echo $ccflags | sed -e 's/-DMULTIPLICITY//'`"
+
+    echo "$cc -c $ccflags $optimize"
+    eval "$also "'"$cc -c $ccflags $optimize"'
 
-    . ./config.sh
+    . $TOP/config.sh
 
 done
 !NO!SUBS!
-chmod +x cflags
+chmod 755 cflags
 $eunicefix cflags