1 # GCC host-specific configuration file.
2 # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003
3 # Free Software Foundation, Inc.
5 #This file is part of GCC.
7 #GCC is free software; you can redistribute it and/or modify it under
8 #the terms of the GNU General Public License as published by the Free
9 #Software Foundation; either version 2, or (at your option) any later
12 #GCC is distributed in the hope that it will be useful, but WITHOUT
13 #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 #FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17 #You should have received a copy of the GNU General Public License
18 #along with GCC; see the file COPYING. If not, write to the Free
19 #Software Foundation, 59 Temple Place - Suite 330, Boston, MA
22 # This is the GCC host-specific configuration file
23 # where a configuration type is mapped to different system-specific
24 # definitions and files. This is invoked by the autoconf-generated
25 # configure script. Putting it in a separate shell file lets us skip
26 # running autoconf when modifying host-specific information.
28 # This file switches on the shell variable ${host}. As much of this as
29 # is reasonable should be replaced with autoconf tests in the future.
31 # This file sets the following shell variables for use by the
32 # autoconf-generated configure script:
34 # host_xm_file List of files to include when compiling for the
37 # host_xm_defines List of macros to define when compiling for the
40 # host_xmake_file List of host-specific makefile-fragments.
42 # host_exeext Set to the suffix, if the host machine requires
43 # executables to have a file name suffix.
45 # host_extra_objs List of extra host-dependent objects that should
46 # be linked into the compiler proper.
48 # host_extra_gcc_objs List of extra host-dependent objects that should
49 # be linked into the gcc driver.
51 # out_host_hook_obj An object file that provides the host hooks.
53 # When setting any of these variables, check to see if a corresponding
54 # variable is present in config.build; if so, you will likely want to
55 # set it in both places.
64 out_host_hook_obj=host-default.o
66 # Obsolete configurations.
69 if test "x$enable_obsolete" != xyes; then
70 echo "*** Configuration for host ${host} is obsolete." >&2
71 echo "*** Specify --enable-obsolete to build it anyway." >&2
72 echo "*** Support will be REMOVED in the next major release of GCC," >&2
73 echo "*** unless a maintainer comes forward." >&2
79 # Unsupported hosts list. Do not put an entry in this list unless
80 # it would otherwise be caught by a more permissive pattern. The list
81 # should be in alphabetical order.
83 alpha*-*-linux*libc1* \
84 | i[34567]86-sequent-sysv \
85 | i[34567]86-sequent-sysv[123]* \
87 | i[34567]86-*-go32* \
88 | m68k-*-linux*aout* \
89 | m68k-*-linux*libc1* \
90 | mips64orion*-*-rtems* \
91 | powerpc-*-linux*libc1* \
92 | sparc-*-linux*aout* \
93 | sparc-*-linux*libc1* \
94 | sparc-hal-solaris2* \
101 echo "*** Configuration for host ${host} not supported" 1>&2
106 # Machine-specific settings.
123 host_xm_file=alpha/xm-vms.h
124 host_xmake_file=alpha/x-vms
126 # This removes the cpu type and manufacturer components and
127 # replaces "." with "_" in the operating system version.
128 target_alias=`echo $host | sed 's/.*-.*-\(.*\)$/\1/' | sed 's/\./_/g'`
134 arm-*-coff* | armel-*-coff*)
136 arm-semi-aof | armel-semi-aof)
138 arm*-*-freebsd*|strongarm*-*-freebsd*)
144 arm*-*-linux*) # ARM GNU/Linux with ELF
146 arm*-*-uclinux*) # ARM ucLinux
152 arm*-*-elf | ep9312-*-elf)
162 c4x-*-rtems* | tic4x-*-rtems*)
168 cris-*-elf | cris-*-none)
186 hppa*64*-*-linux* | parisc*64*-*-linux*)
188 hppa*-*-linux* | parisc*-*-linux*)
190 # port not yet contributed.
194 host_xmake_file="pa/x-ada"
197 host_xmake_file="pa/x-ada"
200 host_xmake_file="pa/x-ada"
203 host_xmake_file="pa/x-ada"
205 hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
206 host_xmake_file="pa/x-ada"
209 host_xmake_file="pa/x-ada"
212 host_xmake_file="pa/x-ada"
214 hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
215 host_xmake_file="pa/x-ada"
218 host_xmake_file="pa/x-ada"
220 i370-*-opened*) # IBM 360/370/390 Architecture
221 host_xm_defines='FATAL_EXIT_CODE=12'
224 host_xm_defines='FATAL_EXIT_CODE=12'
228 i[34567]86-*-darwin*)
232 i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4
233 host_xm_defines="SMALL_ARG_MAX"
235 i[34567]86-*-netware) # Intel 80386's running netware
237 i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
238 host_xm_defines="SMALL_ARG_MAX"
242 i[34567]86-*-beoself* | i[34567]86-*-beos*)
244 i[34567]86-*-freebsd2 | i[34567]86-*-freebsd2.* | i[34567]86-*-freebsd*aout*)
246 i[34567]86-*-freebsd*)
250 i[34567]86-*-netbsdelf*)
252 i[34567]86-*-netbsd*)
256 i[34567]86-*-openbsd*)
260 i[34567]86-*-linux*aout*) # Intel 80386's running GNU/Linux with a.out format
262 i[34567]86-*-linux*libc1) # Intel 80386's running GNU/Linux
263 # with ELF format using the
264 # GNU/Linux C library 5
266 i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
267 # with ELF format using glibc 2
268 # aka GNU/Linux C library 6
274 i[34567]86-pc-msdosdjgpp*)
275 host_xm_file=i386/xm-djgpp.h
277 # Shorten $target_alias for 8.3 filename conventions.
284 i[34567]86-moss-msdos* | i[34567]86-*-moss*)
286 i[34567]86-*-lynxos*)
290 i[34567]86-*-nto-qnx*)
294 i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
296 i[34567]86-*-solaris2*)
297 host_xm_defines="SMALL_ARG_MAX"
299 i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
301 i[34567]86-*-sysv4*) # Intel 80386's running System V Release 4
302 host_xm_defines="SMALL_ARG_MAX"
304 i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit
306 i[34567]86-*-sysv*) # Intel 80386's running System V
308 i386-*-vsta) # Intel 80386's running VSTa kernel
310 i[34567]86-*-pe | i[34567]86-*-cygwin*)
311 host_xm_file=i386/xm-cygwin.h
314 i[34567]86-*-mingw32*)
315 host_xm_file=i386/xm-mingw32.h
316 host_xmake_file=i386/x-mingw32
322 i[34567]86-*-interix3*)
323 host_xmake_file="x-interix"
325 i[34567]86-*-interix*)
330 host_xmake_file=i860/x-sysv4
336 i960-*-*) # Default i960 environment.
352 # m68hc11 and m68hc12 share the same machine description.
353 m68hc11-*-*|m6811-*-*)
355 m68hc12-*-*|m6812-*-*)
357 m68000-hp-hpux*) # HP 9000 series 300
359 m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
361 m68k-hp-hpux*) # HP 9000 series 300
367 m68020-*-elf* | m68k-*-elf*)
369 m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
375 m68k-*-sysv4*) # Motorola m68k's running system V r4
377 m68k-*-linux*) # Motorola m68k's running GNU/Linux
378 # with ELF format using glibc 2
379 # aka the GNU/Linux C library 6.
387 mips-sgi-irix6*o32) # SGI System V.4., IRIX 6, O32 ABI
388 host_xm_file=mips/xm-iris5.h
390 mips-sgi-irix6*) # SGI System V.4., IRIX 6
392 mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
393 host_xm_file=mips/xm-iris5.h
395 mips-sgi-irix5*) # SGI System V.4., IRIX 5
396 host_xm_file=mips/xm-iris5.h
398 mips*-*-netbsd*) # NetBSD/mips, either endian.
402 mips*-*-linux*) # Linux MIPS, either endian.
406 mipsisa32-*-elf* | mipsisa32el-*-elf*)
408 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
410 mipsisa64-*-elf* | mipsisa64el-*-elf*)
412 mipsisa64sr71k-*-elf*)
414 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
416 mips-*-elf* | mipsel-*-elf*)
418 mips64-*-elf* | mips64el-*-elf*)
420 mips64vr-*-elf* | mips64vrel-*-elf*)
422 mips64orion-*-elf* | mips64orionel-*-elf*)
426 mipstx39-*-elf* | mipstx39el-*-elf*)
433 echo "GCC does not yet support the ${host} host"; exit 1
443 # port not yet contributed
444 # powerpc-*-openbsd*)
453 # powerpc-darwin host support.
454 out_host_hook_obj=host-darwin.o
455 host_xmake_file=rs6000/x-darwin
465 powerpc-*-eabisimaltivec*)
471 powerpc-*-eabialtivec*)
477 powerpc-*-linux*altivec*)
479 powerpc-*-linux*spe*)
483 powerpc-*-gnu-gnualtivec*)
487 powerpc-wrs-vxworks*)
489 powerpc-wrs-windiss*)
495 powerpcle-*-eabisim*)
503 rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
505 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
507 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
509 rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
517 sh-*-elf* | sh[2346l]*-*-elf* | sh*-*-kaos*)
523 sh-*-linux* | sh[2346lbe]*-*-linux*)
525 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
526 sh64-*-netbsd* | sh64l*-*-netbsd*)
540 sparc-*-linux*) # SPARC's running GNU/Linux, libc6
544 sparc64-*-solaris2* | sparcv9-*-solaris2*)
560 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
562 sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
576 vax-*-bsd*) # VAXen running BSD
578 vax-*-sysv*) # VAXen running System V
586 vax-*-ultrix*) # VAXen running ultrix
588 vax-*-vms*) # VAXen running VMS
589 echo "Host ${host} no longer supported" 1>&2
592 vax-*-*) # VAX default entry
607 echo "*** Configuration ${host} not supported" 1>&2