]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - gold/configure.tgt
Imported binutils-2.20
[msp430-binutils.git] / gold / configure.tgt
diff --git a/gold/configure.tgt b/gold/configure.tgt
new file mode 100644 (file)
index 0000000..de6d4f9
--- /dev/null
@@ -0,0 +1,124 @@
+# configure.tgt -- target configuration for gold  -*- sh -*-
+
+# Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Written by Ian Lance Taylor <iant@google.com>.
+
+# This file is part of gold.
+
+# This program 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 3 of the License, or
+# (at your option) any later version.
+
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+# This script handles target configuration for gold.  This is shell
+# code invoked by the autoconf generated configure script.  Putting
+# this in a separate file lets us skip running autoconf when modifying
+# target specific information.
+
+# This file switches on the shell variable ${targ}, which is a
+# canonicalized GNU configuration triplet.  It sets the following
+# shell variables:
+
+# targ_obj               object file to include in the link, with no extension
+# targ_extra_obj         extra object file to include
+# targ_machine           ELF machine code for this target
+# targ_size              size of this target--32 or 64
+# targ_extra_size        extra targ_size setting for the target
+# targ_big_endian        whether the target is big-endian--true or false
+# targ_extra_big_endian  extra targ_big_endian setting for the target
+# targ_osabi            EI_OSABI value
+
+# If the target is not recognized targ_obj is set to "UNKNOWN".
+
+targ_extra_obj=
+targ_machine=
+targ_size=
+targ_extra_size=
+targ_big_endian=
+targ_extra_big_endian=
+targ_osabi=ELFOSABI_NONE
+case "$targ" in
+i?86-*)
+  targ_obj=i386
+  targ_machine=EM_386
+  targ_size=32
+  targ_big_endian=false
+  case "$targ" in
+  i?86-*-freebsd*)
+    targ_osabi=ELFOSABI_FREEBSD
+    ;;
+  esac
+  ;;
+x86_64*)
+  targ_obj=x86_64
+  targ_extra_obj=i386
+  targ_machine=EM_X86_64
+  targ_size=64
+  targ_extra_size=32
+  targ_big_endian=false
+  case "$targ" in
+  x86_64-*-freebsd*)
+    targ_osabi=ELFOSABI_FREEBSD
+    ;;
+  esac
+  ;;
+sparc-*)
+  targ_obj=sparc
+  targ_machine=EM_SPARC
+  targ_size=32
+  targ_extra_size=64
+  targ_big_endian=true
+  targ_extra_big_endian=false
+  ;;
+sparc64-*)
+  targ_obj=sparc
+  targ_machine=EM_SPARCV9
+  targ_size=64
+  targ_extra_size=32
+  targ_big_endian=true
+  targ_extra_big_endian=false
+  ;;
+powerpc-*)
+  targ_obj=powerpc
+  targ_machine=EM_PPC
+  targ_size=32
+  targ_extra_size=64
+  targ_big_endian=true
+  targ_extra_big_endian=false
+  ;;
+powerpc64-*)
+  targ_obj=powerpc
+  targ_machine=EM_PPC64
+  targ_size=64
+  targ_extra_size=32
+  targ_big_endian=true
+  targ_extra_big_endian=false
+  ;;
+armeb*-*-*|armbe*-*-*)
+ targ_obj=arm
+ targ_machine=EM_ARM
+ targ_size=32
+ targ_big_endian=true
+ targ_extra_big_endian=false
+ ;;
+arm*-*-*)
+ targ_obj=arm
+ targ_machine=EM_ARM
+ targ_size=32
+ targ_big_endian=false
+ targ_extra_big_endian=true
+ ;;
+*)
+  targ_obj=UNKNOWN
+  ;;
+esac