summaryrefslogtreecommitdiff
path: root/tools/gccas
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2009-06-02 17:52:33 +0000
committerEd Schouten <ed@FreeBSD.org>2009-06-02 17:52:33 +0000
commit009b1c42aa6266385f2c37e227516b24077e6dd7 (patch)
tree64ba909838c23261cace781ece27d106134ea451 /tools/gccas
Diffstat (limited to 'tools/gccas')
-rw-r--r--tools/gccas/Makefile28
-rw-r--r--tools/gccas/gccas.sh64
2 files changed, 92 insertions, 0 deletions
diff --git a/tools/gccas/Makefile b/tools/gccas/Makefile
new file mode 100644
index 0000000000000..ff84d967798eb
--- /dev/null
+++ b/tools/gccas/Makefile
@@ -0,0 +1,28 @@
+##===- tools/gccas/Makefile --------------------------------*- Makefile -*-===##
+#
+# The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+LEVEL = ../..
+
+include $(LEVEL)/Makefile.common
+
+install-local:: $(PROJ_bindir)/gccas
+
+$(PROJ_bindir)/gccas : gccas.sh Makefile
+ $(Echo) Installing gccas shell script.
+ $(Verb) sed "s#@TOOLDIR@#$(PROJ_bindir)#" $< > $@
+ $(Verb) chmod 0755 $@
+
+all-local:: $(ToolDir)/gccas
+
+$(ToolDir)/gccas : gccas.sh Makefile
+ $(Echo) Making $(ToolDir)/gccas shell script.
+ $(Verb) sed "s#@TOOLDIR@#$(ToolDir)#" $< > $@
+ $(Verb) chmod 0755 $@
+
+clean-local::
+ $(Verb)$(RM) -f $(ToolDir)/gccas
diff --git a/tools/gccas/gccas.sh b/tools/gccas/gccas.sh
new file mode 100644
index 0000000000000..9cacad4b675f3
--- /dev/null
+++ b/tools/gccas/gccas.sh
@@ -0,0 +1,64 @@
+#!/bin/sh
+##===- tools/gccas.sh ------------------------------------------*- bash -*-===##
+#
+# The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+#
+# Synopsis: This shell script is a replacement for the old "gccas" tool that
+# existed in LLVM versions before 2.0. The functionality of gccas has
+# now been moved to opt and llvm-as. This shell script provides
+# backwards compatibility so build environments invoking gccas can
+# still get the net effect of llvm-as/opt by running gccas.
+#
+# Syntax: gccas OPTIONS... [asm file]
+#
+##===----------------------------------------------------------------------===##
+#
+echo "gccas: This tool is deprecated, please use opt" 1>&2
+TOOLDIR=@TOOLDIR@
+OPTOPTS="-std-compile-opts -f"
+ASOPTS=""
+lastwasdasho=0
+for option in "$@" ; do
+ option=`echo "$option" | sed 's/^--/-/'`
+ case "$option" in
+ -disable-opt)
+ OPTOPTS="$OPTOPTS $option"
+ ;;
+ -disable-inlining)
+ OPTOPTS="$OPTOPTS $option"
+ ;;
+ -verify)
+ OPTOPTS="$OPTOPTS -verify-each"
+ ;;
+ -strip-debug)
+ OPTOPTS="$OPTOPTS $option"
+ ;;
+ -o)
+ OPTOPTS="$OPTOPTS -o"
+ lastwasdasho=1
+ ;;
+ -disable-compression)
+ # ignore
+ ;;
+ -traditional-format)
+ # ignore
+ ;;
+ -*)
+ OPTOPTS="$OPTOPTS $option"
+ ;;
+ *)
+ if test $lastwasdasho -eq 1 ; then
+ OPTOPTS="$OPTOPTS $option"
+ lastwasdasho=0
+ else
+ ASOPTS="$ASOPTS $option"
+ fi
+ ;;
+ esac
+done
+${TOOLDIR}/llvm-as $ASOPTS -o - | ${TOOLDIR}/opt $OPTOPTS