summaryrefslogtreecommitdiff
path: root/gcc/exec-tool.in
diff options
context:
space:
mode:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-13 07:04:39 +0000
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-13 07:04:39 +0000
commitbdbe7091b67032caf0df0768188f8ec1f73a51f2 (patch)
tree9ce1167dc3f4f37b9f0bbb1d6420b7ddde088386 /gcc/exec-tool.in
parent1df44f25f0fcd9a81bd1011af17c1c3a005dcea3 (diff)
downloadgcc-bdbe7091b67032caf0df0768188f8ec1f73a51f2.tar.gz
2007-04-12 Paolo Bonzini <bonzini@gnu.org>
Charles Wilson <libtool@cwilson.fastmail.fm> * Makefile.in (stamp-as, stamp-collect-ld, stamp-nm): Remove. (libgcc.mvars): Don't depend on them. * configure.ac (as, collect-ld, nm): Create from exec-tool.in. * exec-tool.in: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123775 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/exec-tool.in')
-rw-r--r--gcc/exec-tool.in64
1 files changed, 64 insertions, 0 deletions
diff --git a/gcc/exec-tool.in b/gcc/exec-tool.in
new file mode 100644
index 00000000000..bc6e7ec6f15
--- /dev/null
+++ b/gcc/exec-tool.in
@@ -0,0 +1,64 @@
+#! /bin/sh
+
+# Copyright (C) 2007 Free Software Foundation, Inc.
+# This file is part of GCC.
+
+# GCC is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# GCC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING. If not, write to
+# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+# Boston MA 02110-1301, USA.
+
+# Invoke as, ld or nm from the build tree.
+
+ORIGINAL_AS_FOR_TARGET="@ORIGINAL_AS_FOR_TARGET@"
+ORIGINAL_LD_FOR_TARGET="@ORIGINAL_LD_FOR_TARGET@"
+ORIGINAL_NM_FOR_TARGET="@ORIGINAL_NM_FOR_TARGET@"
+exeext=@host_exeext@
+
+invoked=`basename "$0"`
+case "$invoked" in
+ as)
+ original=$ORIGINAL_AS_FOR_TARGET
+ prog=as-new$exeext
+ dir=gas
+ ;;
+ collect-ld)
+ original=$ORIGINAL_LD_FOR_TARGET
+ prog=ld-new$exeext
+ dir=ld
+ ;;
+ nm)
+ original=$ORIGINAL_NM_FOR_TARGET
+ prog=nm-new$exeext
+ dir=binutils
+ ;;
+esac
+
+case "$original" in
+ ../*)
+ # compute absolute path of the location of this script
+ tdir=`dirname "$0"`
+ scriptdir=`cd "$tdir" && pwd`
+
+ if test -x $scriptdir/../$dir/$prog; then
+ exec $scriptdir/../$dir/$prog ${1+"$@"}
+ else
+ exec $scriptdir/../prev-$dir/$prog ${1+"$@"}
+ fi
+ ;;
+ *)
+ exec "$original" ${1+"$@"}
+ ;;
+esac
+
+