X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfig.host;h=b06d1648c73f4d9277a8ffcff6480d1f891faf2f;hb=77524490203648e1d072661d624592cdae0a0e56;hp=fa7963062bf5fa49a07180e006aa21c80f98de01;hpb=3f28a0320537b64a56f5ca7f1629bd977322cb63;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/config.host b/gcc/config.host index fa7963062bf..b06d1648c73 100644 --- a/gcc/config.host +++ b/gcc/config.host @@ -1,12 +1,12 @@ # GCC host-specific configuration file. -# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2007, 2008 # 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 +#Software Foundation; either version 3, or (at your option) any later #version. #GCC is distributed in the hope that it will be useful, but WITHOUT @@ -15,9 +15,8 @@ #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, 59 Temple Place - Suite 330, Boston, MA -#02111-1307, USA. +#along with GCC; see the file COPYING3. If not see +#. # This is the GCC host-specific configuration file # where a configuration type is mapped to different system-specific @@ -85,11 +84,81 @@ case ${host} in ;; esac +# Common parts for widely ported systems. +case ${host} in + *-darwin*) + # Generic darwin host support. + out_host_hook_obj=host-darwin.o + host_xmake_file="${host_xmake_file} x-darwin" + ;; +esac + +case ${host} in + alpha*-*-linux*) + case ${target} in + alpha*-*-linux*) + host_extra_gcc_objs="driver-alpha.o" + host_xmake_file="${host_xmake_file} alpha/x-alpha" + ;; + esac + ;; + i[34567]86-*-* \ + | x86_64-*-* ) + case ${target} in + i[34567]86-*-* \ + | x86_64-*-* ) + host_extra_gcc_objs="driver-i386.o" + host_xmake_file="${host_xmake_file} i386/x-i386" + ;; + esac + ;; + mips*-*-linux*) + case ${target} in + mips*-*-linux*) + host_extra_gcc_objs="driver-native.o" + host_xmake_file="${host_xmake_file} mips/x-native" + ;; + esac + ;; + rs6000-*-* \ + | powerpc*-*-* ) + case ${target} in + rs6000-*-* \ + | powerpc*-*-* ) + host_extra_gcc_objs="driver-rs6000.o" + host_xmake_file="${host_xmake_file} rs6000/x-rs6000" + ;; + esac + case ${host} in + *-*-linux* ) + if test "${GCC}:${ac_cv_sizeof_long}" = yes:4; then + # On powerpc*-*-linux* use -Wl,--relax to link cc1, + # if ld is new enough, otherwise force -O1 in CFLAGS. + host_ppc_relax_xmake_file= + host_ld_ver=`${CC} -Wl,--version 2>/dev/null | sed 1q` + if echo "$host_ld_ver" | grep GNU > /dev/null; then + host_ld_date=`echo $host_ld_ver \ + | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` + if test 0"$host_ld_date" -gt 20080806; then + host_ppc_relax_xmake_file=rs6000/x-linux-relax + fi + fi + if test -z "${host_ppc_relax_xmake_file}"; then + host_ppc_relax_xmake_file=x-cflags-O1 + fi + host_xmake_file="${host_xmake_file} ${host_ppc_relax_xmake_file}" + fi + ;; + esac + ;; +esac + # Machine-specific settings. case ${host} in alpha*-dec-*vms*) host_xm_file=alpha/xm-vms.h - host_xmake_file=alpha/x-vms + host_xmake_file="${host_xmake_file} alpha/x-vms" + extra_programs="ld.exe decc.exe" host_exeext=.exe host_can_use_collect2=no # This removes the cpu type and manufacturer components and @@ -98,36 +167,25 @@ case ${host} in prefix=/gnu local_prefix=/gnu ;; - hppa1.1-*-pro*) - host_xmake_file="pa/x-ada" - ;; - hppa1.1-*-osf*) - host_xmake_file="pa/x-ada" - ;; - hppa1.1-*-rtems*) - host_xmake_file="pa/x-ada" - ;; - hppa1.1-*-bsd*) - host_xmake_file="pa/x-ada" + hppa1.0-*-hpux10* | hppa1.1-*-hpux10* | hppa2*-*-hpux10*) + out_host_hook_obj=host-hpux.o + host_xmake_file="${host_xmake_file} x-hpux" ;; - hppa1.0-*-hpux10* | hppa1.1-*-hpux10* | hppa2*-*-hpux10* | \ hppa1.0-*-hpux11* | hppa1.1-*-hpux11* | hppa2*-*-hpux11* | \ hppa*64*-*-hpux11*) - host_xmake_file="pa/x-ada" + out_host_hook_obj=host-hpux.o + host_xmake_file="${host_xmake_file} x-hpux" + ;; + hppa*-*-linux*) + out_host_hook_obj=host-hpux.o + host_xmake_file="${host_xmake_file} x-hpux" ;; i370-*-opened* | i370-*-mvs* ) # IBM 360/370/390 Architecture host_xm_defines='FATAL_EXIT_CODE=12' ;; - i[34567]86-sequent-ptx4*) - host_xm_defines="SMALL_ARG_MAX" - ;; i[34567]86-*-solaris2*) - host_xm_defines="SMALL_ARG_MAX" out_host_hook_obj=host-solaris.o - host_xmake_file=x-solaris - ;; - i[34567]86-*-sysv4*) # Intel 80386's running System V Release 4 - host_xm_defines="SMALL_ARG_MAX" + host_xmake_file="${host_xmake_file} x-solaris" ;; i[34567]86-pc-msdosdjgpp*) host_xm_file=i386/xm-djgpp.h @@ -141,13 +199,14 @@ case ${host} in ;; i[34567]86-*-pe | i[34567]86-*-cygwin*) host_xm_file=i386/xm-cygwin.h + out_host_hook_obj=host-cygwin.o + host_xmake_file="${host_xmake_file} i386/x-cygwin" host_exeext=.exe ;; - i[34567]86-*-mingw32*) + i[34567]86-*-mingw32* | x86_64-*-mingw*) host_xm_file=i386/xm-mingw32.h - host_xmake_file=i386/x-mingw32 + host_xmake_file="${host_xmake_file} i386/x-mingw32" host_exeext=.exe - host_can_use_collect2=no out_host_hook_obj=host-mingw32.o ;; i[34567]86-*-uwin*) @@ -155,29 +214,35 @@ case ${host} in echo "*** linking with posix.dll is not allowed by the GNU GPL." exit 1 ;; - i[34567]86-*-interix3*) - host_xmake_file="x-interix" - ;; - i860-*-sysv4*) - host_xmake_file=i860/x-sysv4 + i[34567]86-*-darwin* | x86_64-*-darwin*) + out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" + host_xmake_file="${host_xmake_file} i386/x-darwin" ;; powerpc-*-beos*) host_can_use_collect2=no ;; powerpc-*-darwin*) - # powerpc-darwin host support. - out_host_hook_obj=host-darwin.o - host_xmake_file=rs6000/x-darwin + out_host_hook_obj="${out_host_hook_obj} host-ppc-darwin.o" + host_xmake_file="${host_xmake_file} rs6000/x-darwin" + ;; + powerpc64-*-darwin*) + out_host_hook_obj="${out_host_hook_obj} host-ppc64-darwin.o" + host_xmake_file="${host_xmake_file} rs6000/x-darwin64" + ;; + rs6000-ibm-aix* | powerpc-ibm-aix*) + host_xmake_file="${host_xmake_file} rs6000/x-aix" ;; *-*-solaris2*) out_host_hook_obj=host-solaris.o - host_xmake_file=x-solaris + host_xmake_file="${host_xmake_file} x-solaris" ;; *-*-linux*) out_host_hook_obj=host-linux.o - host_xmake_file=x-linux + host_xmake_file="${host_xmake_file} x-linux" ;; ia64-*-hpux*) use_long_long_for_widest_fast_int=yes + out_host_hook_obj=host-hpux.o + host_xmake_file="${host_xmake_file} x-hpux" ;; esac