config.host revision 169690
12089Ssos# GCC host-specific configuration file.
216565Ssos# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006
32089Ssos# Free Software Foundation, Inc.
42089Ssos
52089Ssos#This file is part of GCC.
62089Ssos
72089Ssos#GCC is free software; you can redistribute it and/or modify it under
82089Ssos#the terms of the GNU General Public License as published by the Free
95994Ssos#Software Foundation; either version 2, or (at your option) any later
105994Ssos#version.
112089Ssos
122089Ssos#GCC is distributed in the hope that it will be useful, but WITHOUT
132089Ssos#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
142089Ssos#FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1597748Sschweikh#for more details.
162089Ssos
172089Ssos#You should have received a copy of the GNU General Public License
182089Ssos#along with GCC; see the file COPYING.  If not, write to the Free
192089Ssos#Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
202089Ssos#02110-1301, USA.
212089Ssos
222089Ssos# This is the GCC host-specific configuration file
232089Ssos# where a configuration type is mapped to different system-specific
242089Ssos# definitions and files.  This is invoked by the autoconf-generated
252089Ssos# configure script.  Putting it in a separate shell file lets us skip
262089Ssos# running autoconf when modifying host-specific information.
272089Ssos
282089Ssos# This file switches on the shell variable ${host}.  As much of this as
2930764Scharnier# is reasonable should be replaced with autoconf tests in the future.
3030764Scharnier
3150479Speter# This file sets the following shell variables for use by the
3230764Scharnier# autoconf-generated configure script:
3330764Scharnier#
342089Ssos#  host_xm_file         List of files to include when compiling for the
3530764Scharnier#                       host machine.
3655849Syokota#
372089Ssos#  host_xm_defines      List of macros to define when compiling for the
3823457Sbrian#                       host machine.
3930764Scharnier#
4023702Speter#  host_xmake_file      List of host-specific makefile-fragments.
4166834Sphk#
4266834Sphk#  host_exeext          Set to the suffix, if the host machine requires
432089Ssos#                       executables to have a file name suffix.
4475344Ssobomax#
4575344Ssobomax#  host_extra_objs      List of extra host-dependent objects that should
462089Ssos#                       be linked into the compiler proper.
4723457Sbrian#
482089Ssos#  host_extra_gcc_objs  List of extra host-dependent objects that should
4971642Ssobomax#                       be linked into the gcc driver.
5071642Ssobomax#
5171642Ssobomax#  out_host_hook_obj    An object file that provides the host hooks.
5271642Ssobomax#
53102111Ssobomax#  host_can_use_collect2 Set to yes normally; to no if the host cannot
54102111Ssobomax#			link or otherwise use collect2
55102111Ssobomax#  use_long_long_for_widest_fast_int Set this to 'yes' if 'long long'
56102111Ssobomax#			(or '__int64') is wider than 'long' but still
57102111Ssobomax#			efficeiently supported by the host hardware.
58102111Ssobomax#			Only affects compile speed.  Default is 'no'.
59102111Ssobomax
6076845Ssobomax# When setting any of these variables, check to see if a corresponding
6176845Ssobomax# variable is present in config.build; if so, you will likely want to 
622089Ssos# set it in both places.
632089Ssos
642089Ssos# Default settings.
652089Ssoshost_xm_file=
662089Ssoshost_xm_defines=
676628Ssoshost_xmake_file=
682089Ssoshost_exeext=
696047Ssoshost_extra_objs=
7071642Ssobomaxhost_extra_gcc_objs=
7171642Ssobomaxout_host_hook_obj=host-default.o
722089Ssoshost_can_use_collect2=yes
732089Ssosuse_long_long_for_widest_fast_int=no
742089Ssos
752089Ssos# Unsupported hosts list.  Generally, only include hosts known to fail here,
7630764Scharnier# since we allow hosts not listed to be supported generically.
77140159Sdelphijcase ${host} in
786628Ssos   i[34567]86-sequent-sysv \
7999706Sdd | i[34567]86-sequent-sysv[123]* \
80102111Ssobomax | i[34567]86-go32-* \
8177329Sdes | i[34567]86-*-go32* \
8299706Sdd | vax-*-vms*)
8399706Sdd    echo "*** Configuration for host ${host} not supported" 1>&2
8499706Sdd    exit 1
8530764Scharnier    ;;
866628Ssosesac
876628Ssos
88140159Sdelphij# Common parts for widely ported systems.
8975344Ssobomaxcase ${host} in
902089Ssos  *-darwin*)
912089Ssos    # Generic darwin host support.
922089Ssos    out_host_hook_obj=host-darwin.o
9375344Ssobomax    host_xmake_file="${host_xmake_file} x-darwin"
9475344Ssobomax    ;;
9575344Ssobomaxesac
962089Ssos
972089Ssoscase ${host} in
98140159Sdelphij  i[34567]86-*-* \
99140159Sdelphij  | x86_64-*-* )
1002089Ssos    case ${target} in
10192460Ssobomax      i[34567]86-*-* \
10292460Ssobomax      | x86_64-*-* )
1032089Ssos	host_extra_gcc_objs="driver-i386.o"
10492460Ssobomax	host_xmake_file="${host_xmake_file} i386/x-i386"
10592460Ssobomax      ;;
10692460Ssobomax    esac
10792460Ssobomax    ;;
10892460Ssobomaxesac
10992460Ssobomax
11092460Ssobomax# Machine-specific settings.
11192460Ssobomaxcase ${host} in
11292460Ssobomax  alpha*-dec-*vms*)
11392460Ssobomax    host_xm_file=alpha/xm-vms.h
11492460Ssobomax    host_xmake_file="${host_xmake_file} alpha/x-vms"
11592460Ssobomax    host_exeext=.exe
11692460Ssobomax    host_can_use_collect2=no
11752262Sbillf    # This removes the cpu type and manufacturer components and
11892460Ssobomax    #  replaces "." with "_" in the operating system version.
1192089Ssos    target_noncanonical=`echo $host | sed 's/.*-.*-\(.*\)$/\1/' | sed 's/\./_/g'`
1202089Ssos    prefix=/gnu
121140159Sdelphij    local_prefix=/gnu
122140159Sdelphij    ;;
1232089Ssos  hppa1.1-*-pro*)
12492460Ssobomax    host_xmake_file="${host_xmake_file} pa/x-ada"
12592460Ssobomax    ;;
1262089Ssos  hppa1.1-*-osf*)
1272089Ssos    host_xmake_file="${host_xmake_file} pa/x-ada"
128140159Sdelphij    ;;
129140159Sdelphij  hppa1.1-*-rtems*)
130140159Sdelphij    host_xmake_file="${host_xmake_file} pa/x-ada"
131140159Sdelphij    ;;
1322089Ssos  hppa1.1-*-bsd*)
13392460Ssobomax    host_xmake_file="${host_xmake_file} pa/x-ada"
1342089Ssos    ;;
13530764Scharnier  hppa1.0-*-hpux10* | hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
1362089Ssos    out_host_hook_obj=host-hpux.o
1372089Ssos    host_xmake_file="${host_xmake_file} pa/x-ada-hpux10 x-hpux"
1382089Ssos    ;;
13975344Ssobomax  hppa1.0-*-hpux11* | hppa1.1-*-hpux11* | hppa2*-*-hpux11* | \
1402089Ssos  hppa*64*-*-hpux11*)
141140159Sdelphij    out_host_hook_obj=host-hpux.o
14230764Scharnier    host_xmake_file="${host_xmake_file} pa/x-ada x-hpux"
14323457Sbrian    ;;
1442089Ssos  hppa*-*-linux*)
1452089Ssos    out_host_hook_obj=host-hpux.o
1462089Ssos    host_xmake_file="${host_xmake_file} x-hpux"
1472089Ssos    ;;
14830764Scharnier  i370-*-opened* | i370-*-mvs* ) # IBM 360/370/390 Architecture
14923457Sbrian    host_xm_defines='FATAL_EXIT_CODE=12'
1502089Ssos    ;;
1512089Ssos  i[34567]86-*-solaris2*)
152140159Sdelphij    out_host_hook_obj=host-solaris.o
153140159Sdelphij    host_xmake_file="${host_xmake_file} x-solaris"
1542089Ssos    ;;
1556628Ssos  i[34567]86-pc-msdosdjgpp*)
1562089Ssos    host_xm_file=i386/xm-djgpp.h
1572089Ssos    host_exeext=.exe
1582089Ssos    # Shorten $target_noncanonical for 8.3 filename conventions.
1592089Ssos    case ${target} in
1602089Ssos      *pc-msdosdjgpp*)
16130764Scharnier        target_noncanonical=djgpp
1622089Ssos        ;;
1632089Ssos    esac
164140159Sdelphij    ;;
165140159Sdelphij  i[34567]86-*-pe | i[34567]86-*-cygwin*)
1662089Ssos    host_xm_file=i386/xm-cygwin.h
1672089Ssos    out_host_hook_obj=host-cygwin.o
168140159Sdelphij    host_xmake_file="${host_xmake_file} i386/x-cygwin"
1692089Ssos    host_exeext=.exe
1702089Ssos    ;;
17130764Scharnier  i[34567]86-*-mingw32*)
1722089Ssos    host_xm_file=i386/xm-mingw32.h
1732089Ssos    host_xmake_file="${host_xmake_file} i386/x-mingw32"
1742089Ssos    host_exeext=.exe
175140159Sdelphij    out_host_hook_obj=host-mingw32.o
1762089Ssos    ;;
1772089Ssos  i[34567]86-*-uwin*)
1788857Srgrimes    echo "*** UWIN may not be used as a host platform because"
1792089Ssos    echo "*** linking with posix.dll is not allowed by the GNU GPL."
1802089Ssos    exit 1
1812089Ssos    ;;
1822089Ssos  i[34567]86-*-interix3*)
1832089Ssos    host_xmake_file="${host_xmake_file} x-interix"
1842089Ssos    ;;
1852089Ssos  i[34567]86-*-darwin* | x86_64-*-darwin*)
186140159Sdelphij    out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o"
18775344Ssobomax    host_xmake_file="${host_xmake_file} i386/x-darwin"
18875344Ssobomax    ;;
18975344Ssobomax  powerpc-*-beos*)
19075344Ssobomax    host_can_use_collect2=no
19175344Ssobomax    ;;
19275344Ssobomax  powerpc-*-darwin*)
19375344Ssobomax    out_host_hook_obj="${out_host_hook_obj} host-ppc-darwin.o"
19475344Ssobomax    host_xmake_file="${host_xmake_file} rs6000/x-darwin"
19575344Ssobomax    ;;
19675344Ssobomax  powerpc64-*-darwin*)
19775344Ssobomax    out_host_hook_obj="${out_host_hook_obj} host-ppc64-darwin.o"
19875344Ssobomax    host_xmake_file="${host_xmake_file} rs6000/x-darwin64"
199140159Sdelphij    ;;
200140159Sdelphij  *-*-solaris2*)
2012089Ssos    out_host_hook_obj=host-solaris.o
20292460Ssobomax    host_xmake_file="${host_xmake_file} x-solaris"
20375344Ssobomax    ;;
20475344Ssobomax  *-*-linux*)
20592460Ssobomax    out_host_hook_obj=host-linux.o
206140159Sdelphij    host_xmake_file="${host_xmake_file} x-linux"
207140159Sdelphij    ;;
208140159Sdelphij  ia64-*-hpux*)
209140159Sdelphij    use_long_long_for_widest_fast_int=yes
210140159Sdelphij    out_host_hook_obj=host-hpux.o
2112089Ssos    host_xmake_file="${host_xmake_file} x-hpux"
21275344Ssobomax    ;;
21375344Ssobomaxesac
21475344Ssobomax