For PR1152:
[oota-llvm.git] / tools / gccas / gccas.sh
1 #!/bin/sh
2 ##===- tools/gccas.sh ------------------------------------------*- bash -*-===##
3
4 #                     The LLVM Compiler Infrastructure
5 #
6 # This file was developed by Reid Spencer and is distributed under the
7 # University of Illinois Open Source License. See LICENSE.TXT for details.
8
9 ##===----------------------------------------------------------------------===##
10 #
11 # Synopsis: This shell script is a replacement for the old "gccas" tool that
12 #           existed in LLVM versions before 2.0. The functionality of gccas has
13 #           now been moved to opt and llvm-as. This shell script provides 
14 #           backwards compatibility so build environments invoking gccas can
15 #           still get the net effect of llvm-as/opt by running gccas.
16 #
17 # Syntax:   gccas OPTIONS... [asm file]
18
19 ##===----------------------------------------------------------------------===##
20 #
21 TOOLDIR=@TOOLDIR@
22 OPTOPTS="-std-compile-opts -f"
23 ASOPTS=""
24 lastwasdasho=0
25 for option in "$@" ; do
26   case "$option" in
27     -disable-opt)
28        OPTOPTS="$OPTOPTS $option"
29        ;;
30     -disable-inlining)
31        OPTOPTS="$OPTOPTS $option"
32        ;;
33     -verify)
34        OPTOPTS="$OPTOPTS -verify-each"
35        ;;
36     -strip-debug)
37        OPTOPTS="$OPTOPTS $option"
38        ;;
39     -o)
40        OPTOPTS="$OPTOPTS -o"
41        lastwasdasho=1
42        ;;
43     -disable-compression)
44        # ignore
45        ;;
46     -traditional-format)
47        # ignore
48        ;;
49     -*)
50        echo "gccas: Unrecognized option '$option'"
51        exit 1
52        ;;
53     *)
54        if test $lastwasdasho -eq 1 ; then
55          OPTOPTS="$OPTOPTS $option"
56          lastwasdasho=0
57        else
58          ASOPTS="$ASOPTS $option"
59        fi
60        ;;
61   esac
62 done
63 ${TOOLDIR}/llvm-as $ASOPTS -o - | ${TOOLDIR}/opt $OPTOPTS