#!/bin/sh
#*=====================================================================*/
#*    serrano/prgm/project/bigloo/config/autoconf/ascpp                */
#*    -------------------------------------------------------------    */
#*    Author      :  Manuel Serrano                                    */
#*    Creation    :  Wed Oct 22 11:07:08 1997                          */
#*    Last change :  Wed Oct 22 14:09:14 1997 (serrano)                */
#*    -------------------------------------------------------------    */
#*    Checking for as. We search for an as that invokes cpp            */
#*=====================================================================*/

#*---------------------------------------------------------------------*/
#*    flags                                                            */
#*---------------------------------------------------------------------*/
as=as
cc=gcc
tmp=/tmp

#*---------------------------------------------------------------------*/
#*    We parse the arguments                                           */
#*---------------------------------------------------------------------*/
while : ; do
  case $1 in
    "")
      break;;

    --as=*|-as=*)
      as="`echo $1 | sed 's/^[-a-z]*=//'`";;

    --cc=*|-cc=*)
      cc="`echo $1 | sed 's/^[-a-z]*=//'`";;

    --tmp=*|-tmp=*)
      tmp="`echo $1 | sed 's/^[-a-z]*=//'`";;

    --name=*|-name=*)
      name="`echo $1 | sed 's/^[-a-z]*=//'`";;

    -*)
      echo "Unknown option \"$1\", ignored" >&2;;
  esac
  shift
done

#*---------------------------------------------------------------------*/
#*    We create the file                                               */
#*---------------------------------------------------------------------*/
(cd $tmp;

\rm -f $name.s;
\rm -f $name.o;

cat > $name.s <<EOF
#define dummy
dummy
EOF
)

#*---------------------------------------------------------------------*/
#*    We try to compile it                                             */
#*---------------------------------------------------------------------*/
(cd $tmp; 
 compile="$as $name.s -o $name.o > /dev/null 2> /dev/null";
 if eval $compile; then
   \rm -f $tmp/$name.s
   echo $as
 else
   compile="as $name.s -o $name.o > /dev/null 2> /dev/null";
   if eval $compile; then
     \rm -f $tmp/$name.s
     echo as
   else
     compile="$cc $name.s -o $name.o > /dev/null 2> /dev/null";
     if eval $compile; then
       \rm -f $tmp/$name.s
       echo $cc
     else
       compile="gcc -c -x assembler-with-cpp $name.s -o $name.o > /dev/null 2> /dev/null";
       if eval $compile; then
         \rm -f $tmp/$name.s
         echo "gcc -c -x assembler-with-cpp"
       else
          echo ""
       fi
     fi
   fi
 fi)

