X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfig.host;h=965288a29f4d9e7a3853f450b13da5f4d53efab0;hb=1e5b92fa15f6677249b1fc9e240955537ae33bd2;hp=6928dafc310b68ff1f528cbd36bff12eb9c4f271;hpb=973f8bf342894194856dde6135b10688cd37267c;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/config.host b/gcc/config.host index 6928dafc310..965288a29f4 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 # 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 @@ -49,6 +48,13 @@ # be linked into the gcc driver. # # out_host_hook_obj An object file that provides the host hooks. +# +# host_can_use_collect2 Set to yes normally; to no if the host cannot +# link or otherwise use collect2 +# use_long_long_for_widest_fast_int Set this to 'yes' if 'long long' +# (or '__int64') is wider than 'long' but still +# efficeiently supported by the host hardware. +# Only affects compile speed. Default is 'no'. # When setting any of these variables, check to see if a corresponding # variable is present in config.build; if so, you will likely want to @@ -62,550 +68,156 @@ host_exeext= host_extra_objs= host_extra_gcc_objs= out_host_hook_obj=host-default.o +host_can_use_collect2=yes +use_long_long_for_widest_fast_int=no -# Obsolete configurations. -case ${host} in - dummy) - if test "x$enable_obsolete" != xyes; then - echo "*** Configuration for host ${host} is obsolete." >&2 - echo "*** Specify --enable-obsolete to build it anyway." >&2 - echo "*** Support will be REMOVED in the next major release of GCC," >&2 - echo "*** unless a maintainer comes forward." >&2 - exit 1 - fi - ;; -esac - -# Unsupported hosts list. Do not put an entry in this list unless -# it would otherwise be caught by a more permissive pattern. The list -# should be in alphabetical order. +# Unsupported hosts list. Generally, only include hosts known to fail here, +# since we allow hosts not listed to be supported generically. case ${host} in - alpha*-*-linux*libc1* \ - | i[34567]86-sequent-sysv \ + i[34567]86-sequent-sysv \ | i[34567]86-sequent-sysv[123]* \ | i[34567]86-go32-* \ | i[34567]86-*-go32* \ - | m68k-*-linux*aout* \ - | m68k-*-linux*libc1* \ - | mips64orion*-*-rtems* \ - | powerpc-*-linux*libc1* \ - | sparc-*-linux*aout* \ - | sparc-*-linux*libc1* \ - | sparc-hal-solaris2* \ - | thumb-*-* \ - | *-*-linux*coff* \ - | *-*-linux*oldld* \ - | *-*-rtemsaout* \ - | *-*-rtemscoff* \ - ) + | vax-*-vms*) echo "*** Configuration for host ${host} not supported" 1>&2 exit 1 ;; esac -# Machine-specific settings. +# Common parts for widely ported systems. case ${host} in - alpha*-*-unicosmk*) - ;; - alpha*-*-linux*) - ;; - alpha*-*-gnu*) - ;; - alpha*-*-freebsd*) - ;; - alpha*-*-netbsd*) + *-darwin*) + # Generic darwin host support. + out_host_hook_obj=host-darwin.o + host_xmake_file="${host_xmake_file} x-darwin" ;; - alpha*-*-openbsd*) +esac + +case ${host} in + 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 ;; - alpha*-dec-osf[45]*) +esac + +case ${host} in + rs6000-*-* \ + | powerpc*-*-* ) + case ${target} in + rs6000-*-* \ + | powerpc*-*-* ) + host_extra_gcc_objs="driver-rs6000.o" + host_xmake_file="${host_xmake_file} rs6000/x-rs6000" + ;; + 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 # replaces "." with "_" in the operating system version. - target_alias=`echo $host | sed 's/.*-.*-\(.*\)$/\1/' | sed 's/\./_/g'` + target_noncanonical=`echo $host | sed 's/.*-.*-\(.*\)$/\1/' | sed 's/\./_/g'` prefix=/gnu local_prefix=/gnu ;; - arc-*-elf*) - ;; - arm-*-coff* | armel-*-coff*) - ;; - arm-semi-aof | armel-semi-aof) - ;; - arm*-*-freebsd*|strongarm*-*-freebsd*) - ;; - arm*-*-netbsdelf*) - ;; - arm*-*-netbsd*) - ;; - arm*-*-linux*) # ARM GNU/Linux with ELF - ;; - arm*-*-uclinux*) # ARM ucLinux - ;; - arm*-*-ecos-elf) - ;; - arm*-*-rtems*) - ;; - arm*-*-elf | ep9312-*-elf) - ;; - arm*-wince-pe*) - ;; - arm-*-pe*) - ;; - arm*-*-kaos*) - ;; - avr-*-*) - ;; - c4x-*-rtems* | tic4x-*-rtems*) - ;; - c4x-* | tic4x-*) - ;; - cris-*-aout) - ;; - cris-*-elf | cris-*-none) - ;; - cris-*-linux*) - ;; - d30v-*) - ;; - dsp16xx-*) - ;; - fr30-*-elf) - ;; - frv-*-elf) - ;; - h8300-*-rtems*) - ;; - h8300-*-elf*) - ;; - h8300-*-*) - ;; - hppa*64*-*-linux* | parisc*64*-*-linux*) - ;; - hppa*-*-linux* | parisc*-*-linux*) - ;; -# port not yet contributed. -# hppa*-*-openbsd*) -# ;; hppa1.1-*-pro*) - host_xmake_file="pa/x-ada" + host_xmake_file="${host_xmake_file} pa/x-ada" ;; hppa1.1-*-osf*) - host_xmake_file="pa/x-ada" + host_xmake_file="${host_xmake_file} pa/x-ada" ;; hppa1.1-*-rtems*) - host_xmake_file="pa/x-ada" + host_xmake_file="${host_xmake_file} pa/x-ada" ;; hppa1.1-*-bsd*) - host_xmake_file="pa/x-ada" - ;; - hppa1.1-*-hpux10* | hppa2*-*-hpux10*) - host_xmake_file="pa/x-ada" + host_xmake_file="${host_xmake_file} pa/x-ada" ;; - hppa1.0-*-hpux10*) - 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} pa/x-ada-hpux10 x-hpux" ;; + hppa1.0-*-hpux11* | hppa1.1-*-hpux11* | hppa2*-*-hpux11* | \ hppa*64*-*-hpux11*) - host_xmake_file="pa/x-ada" - ;; - hppa1.1-*-hpux11* | hppa2*-*-hpux11*) - host_xmake_file="pa/x-ada" + out_host_hook_obj=host-hpux.o + host_xmake_file="${host_xmake_file} pa/x-ada x-hpux" ;; - hppa1.0-*-hpux11*) - host_xmake_file="pa/x-ada" + hppa*-*-linux*) + out_host_hook_obj=host-hpux.o + host_xmake_file="${host_xmake_file} x-hpux" ;; - i370-*-opened*) # IBM 360/370/390 Architecture + i370-*-opened* | i370-*-mvs* ) # IBM 360/370/390 Architecture host_xm_defines='FATAL_EXIT_CODE=12' ;; - i370-*-mvs*) - host_xm_defines='FATAL_EXIT_CODE=12' - ;; - i370-*-linux*) - ;; - i[34567]86-*-darwin*) - ;; - i[34567]86-*-elf*) - ;; - i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4 - host_xm_defines="SMALL_ARG_MAX" - ;; - i[34567]86-*-netware) # Intel 80386's running netware - ;; - i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*) - host_xm_defines="SMALL_ARG_MAX" - ;; - i[34567]86-*-aout*) - ;; - i[34567]86-*-beoself* | i[34567]86-*-beos*) - ;; - i[34567]86-*-freebsd2 | i[34567]86-*-freebsd2.* | i[34567]86-*-freebsd*aout*) - ;; - i[34567]86-*-freebsd*) - ;; - x86_64-*-freebsd*) - ;; - i[34567]86-*-netbsdelf*) - ;; - i[34567]86-*-netbsd*) - ;; - x86_64-*-netbsd*) - ;; - i[34567]86-*-openbsd*) - ;; - i[34567]86-*-coff*) - ;; - i[34567]86-*-linux*aout*) # Intel 80386's running GNU/Linux with a.out format - ;; - i[34567]86-*-linux*libc1) # Intel 80386's running GNU/Linux - # with ELF format using the - # GNU/Linux C library 5 - ;; - i[34567]86-*-linux*) # Intel 80386's running GNU/Linux - # with ELF format using glibc 2 - # aka GNU/Linux C library 6 - ;; - x86_64-*-linux*) - ;; - i[34567]86-*-gnu*) + i[34567]86-*-solaris2*) + out_host_hook_obj=host-solaris.o + host_xmake_file="${host_xmake_file} x-solaris" ;; i[34567]86-pc-msdosdjgpp*) host_xm_file=i386/xm-djgpp.h host_exeext=.exe - # Shorten $target_alias for 8.3 filename conventions. + # Shorten $target_noncanonical for 8.3 filename conventions. case ${target} in *pc-msdosdjgpp*) - target_alias=djgpp + target_noncanonical=djgpp ;; esac ;; - i[34567]86-moss-msdos* | i[34567]86-*-moss*) - ;; - i[34567]86-*-lynxos*) - ;; - i[34567]86-*-mach*) - ;; - i[34567]86-*-nto-qnx*) - ;; - i[34567]86-*-rtems*) - ;; - i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5 - ;; - i[34567]86-*-solaris2*) - host_xm_defines="SMALL_ARG_MAX" - ;; - i[34567]86-*-sysv5*) # Intel x86 on System V Release 5 - ;; - i[34567]86-*-sysv4*) # Intel 80386's running System V Release 4 - host_xm_defines="SMALL_ARG_MAX" - ;; - i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit - ;; - i[34567]86-*-sysv*) # Intel 80386's running System V - ;; - i386-*-vsta) # Intel 80386's running VSTa kernel - host_xm_file="i386/xm-vsta.h" - ;; 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 + out_host_hook_obj=host-mingw32.o ;; i[34567]86-*-uwin*) - host_exeext=.exe - ;; - i[34567]86-*-interix3*) - host_xmake_file="x-interix" - ;; - i[34567]86-*-interix*) - ;; - i[34567]86-*-kaos*) - ;; - i860-*-sysv4*) - host_xmake_file=i860/x-sysv4 - ;; - i960-*-coff*) - ;; - i960-*-rtems) - ;; - i960-*-*) # Default i960 environment. - ;; - ia64*-*-elf*) - ;; - ia64*-*-freebsd*) - ;; - ia64*-*-linux*) - ;; - ia64*-*-hpux*) - ;; - ip2k-*-elf) - ;; - iq2000*-*-elf*) - ;; - m32r-*-elf*) - ;; - # m68hc11 and m68hc12 share the same machine description. - m68hc11-*-*|m6811-*-*) - ;; - m68hc12-*-*|m6812-*-*) - ;; - m68000-hp-hpux*) # HP 9000 series 300 - ;; - m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7. - ;; - m68k-hp-hpux*) # HP 9000 series 300 - ;; - m68k-*-aout*) - ;; - m68k-*-coff*) - ;; - m68020-*-elf* | m68k-*-elf*) - ;; - m68010-*-netbsdelf* | m68k*-*-netbsdelf*) - ;; - m68k*-*-netbsd*) - ;; - m68k*-*-openbsd*) - ;; - m68k-*-sysv4*) # Motorola m68k's running system V r4 - ;; - m68k-*-linux*) # Motorola m68k's running GNU/Linux - # with ELF format using glibc 2 - # aka the GNU/Linux C library 6. - ;; - m68k-*-rtems*) - ;; - mcore-*-elf) - ;; - mcore-*-pe*) - ;; - mips-sgi-irix6*o32) # SGI System V.4., IRIX 6, O32 ABI - host_xm_file=mips/xm-iris5.h - ;; - mips-sgi-irix6*) # SGI System V.4., IRIX 6 - ;; - mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64 - host_xm_file=mips/xm-iris5.h - ;; - mips-sgi-irix5*) # SGI System V.4., IRIX 5 - host_xm_file=mips/xm-iris5.h - ;; - mips*-*-netbsd*) # NetBSD/mips, either endian. - ;; - mips64*-*-linux*) - ;; - mips*-*-linux*) # Linux MIPS, either endian. - ;; - mips*-*-openbsd*) - ;; - mipsisa32-*-elf* | mipsisa32el-*-elf*) - ;; - mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*) - ;; - mipsisa64-*-elf* | mipsisa64el-*-elf*) - ;; - mipsisa64sr71k-*-elf*) - ;; - mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) - ;; - mips-*-elf* | mipsel-*-elf*) - ;; - mips64-*-elf* | mips64el-*-elf*) - ;; - mips64vr-*-elf* | mips64vrel-*-elf*) - ;; - mips64orion-*-elf* | mips64orionel-*-elf*) - ;; - mips*-*-rtems*) - ;; - mipstx39-*-elf* | mipstx39el-*-elf*) - ;; - mmix-knuth-mmixware) - ;; - mn10300-*-*) - ;; - ns32k-*-netbsdelf*) - echo "GCC does not yet support the ${host} host"; exit 1 - ;; - ns32k-*-netbsd*) - ;; - pdp11-*-bsd) - ;; - pdp11-*-*) - ;; - avr-*-*) - ;; -# port not yet contributed -# powerpc-*-openbsd*) -# ;; - powerpc64-*-linux*) + echo "*** UWIN may not be used as a host platform because" + echo "*** linking with posix.dll is not allowed by the GNU GPL." + exit 1 ;; - powerpc64-*-gnu*) + 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 - ;; - powerpc*-*-freebsd*) - ;; - powerpc-*-netbsd*) - ;; - powerpc-*-chorusos*) - ;; - powerpc-*-eabispe*) - ;; - powerpc-*-eabisimaltivec*) - ;; - powerpc-*-eabisim*) - ;; - powerpc-*-elf*) - ;; - powerpc-*-eabialtivec*) - ;; - powerpc-*-eabi*) - ;; - powerpc-*-rtems*) - ;; - powerpc-*-linux*altivec*) - ;; - powerpc-*-linux*spe*) - ;; - powerpc-*-linux*) - ;; - powerpc-*-gnu-gnualtivec*) - ;; - powerpc-*-gnu*) - ;; - powerpc-wrs-vxworks*) + out_host_hook_obj="${out_host_hook_obj} host-ppc-darwin.o" + host_xmake_file="${host_xmake_file} rs6000/x-darwin" ;; - powerpc-wrs-windiss*) + powerpc64-*-darwin*) + out_host_hook_obj="${out_host_hook_obj} host-ppc64-darwin.o" + host_xmake_file="${host_xmake_file} rs6000/x-darwin64" ;; - powerpcle-*-sysv*) + *-*-solaris2*) + out_host_hook_obj=host-solaris.o + host_xmake_file="${host_xmake_file} x-solaris" ;; - powerpcle-*-elf*) + *-*-linux*) + out_host_hook_obj=host-linux.o + host_xmake_file="${host_xmake_file} x-linux" ;; - powerpcle-*-eabisim*) - ;; - powerpcle-*-eabi*) - ;; - powerpc-*-kaos*) - ;; - powerpcle-*-kaos*) - ;; - rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*) - ;; - rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*) - ;; - rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*) - ;; - rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*) - ;; - rs6000-*-lynxos*) - ;; - s390-*-linux*) - ;; - s390x-*-linux*) - ;; - sh-*-elf* | sh[2346l]*-*-elf* | sh*-*-kaos*) - ;; - sh-*-rtemself*) - ;; - sh-*-rtems*) - ;; - sh-*-linux* | sh[2346lbe]*-*-linux*) - ;; - sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ - sh64-*-netbsd* | sh64l*-*-netbsd*) - ;; - sh-*-*) - ;; - sparc-tti-*) - ;; - sparc-*-netbsdelf*) - ;; - sparc-*-openbsd*) - ;; - sparc64-*-openbsd*) - ;; - sparc-*-elf*) - ;; - sparc-*-linux*) # SPARC's running GNU/Linux, libc6 - ;; - sparc-*-rtems*) - ;; - sparc64-*-solaris2* | sparcv9-*-solaris2*) - ;; - sparc-*-solaris2*) - ;; - sparc-*-sysv4*) - ;; - sparclite-*-coff*) - ;; - sparclite-*-elf*) - ;; - sparc86x-*-elf*) - ;; - sparc64-*-aout*) - ;; - sparc64-*-elf*) - ;; - sparc64-*-freebsd*|ultrasparc-*-freebsd*) - ;; - sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux - ;; - sparc64-*-netbsd*) - ;; - strongarm-*-elf*) - ;; - strongarm-*-pe) - ;; - strongarm-*-kaos*) - ;; - v850e-*-*) - ;; - v850-*-*) - ;; - vax-*-bsd*) # VAXen running BSD - ;; - vax-*-sysv*) # VAXen running System V - ;; - vax-*-netbsdelf*) - ;; - vax-*-netbsd*) - ;; - vax-*-openbsd*) - ;; - vax-*-ultrix*) # VAXen running ultrix - ;; - vax-*-vms*) # VAXen running VMS - echo "Host ${host} no longer supported" 1>&2 - exit 1 - ;; - vax-*-*) # VAX default entry - ;; - xscale-*-elf) - ;; - xscale-*-coff) - ;; - xstormy16-*-elf) - ;; - xtensa-*-elf*) - ;; - xtensa-*-linux*) - ;; - am33_2.0-*-linux*) - ;; - *) - echo "*** Configuration ${host} not supported" 1>&2 - exit 1 + 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