xref: /openbsd/gnu/usr.bin/gcc/gcc/config.gcc (revision 513eb745)
1#	$OpenBSD: config.gcc,v 1.21 2012/11/09 20:33:37 miod Exp $
2# GCC build-, host- and target-specific configuration file.
3# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
4
5#This file is part of GCC.
6
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
10#version.
11
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
15#for more details.
16
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
20#02111-1307, USA.
21
22# This is the GCC build-, host- and target-specific configuration file
23# where a configuration type, as recognized and generated by config.bfd,
24# is mapped to different system-specific definitions and files.  This is
25# invoked by the autoconf-generated configure script, called for build,
26# host and target in that order, setting ${machine} to each.  Putting it
27# in a separate shell file lets us skip running autoconf when modifying
28# build-, host- and target-specific information.
29
30# This file switches on the shell variable ${machine}, and also uses the
31# following shell variables:
32#
33#  with_*		Various variables as set by configure.
34#
35#  enable_threads_flag	Either the name, yes or no depending on whether
36#			threads support was requested.
37#
38#  gas_flag		Either yes or no depending on whether GNU as was
39#			requested.
40#
41#  gnu_ld_flag		Either yes or no depending on whether GNU ld was
42#			requested.
43
44# This file sets the following shell variables for use by the
45# autoconf-generated configure script:
46#
47#  cpu_type		The name of the cpu, if different from machine.
48#
49#  tm_defines		List of target macros to define for all compilations.
50#
51#  tm_file		A list of target macro files, if different from
52#			"$cpu_type/$cpu_type.h". Usually it's constructed
53#			per target in a way like this:
54#			tm_file="${tm_file} dbxelf.h elfos.h svr4.h ${cpu_type.h}/elf.h"
55#			Note that the preferred order is:
56#			- specific target header "${cpu_type}/${cpu_type.h}"
57#			- generic headers like dbxelf.h elfos.h, netware.h, etc.
58#			- specializing target headers like ${cpu_type.h}/elf.h
59#			This helps to keep OS specific stuff out of the CPU
60#			defining header ${cpu_type}/${cpu_type.h}.
61#
62#  tm_p_file		Location of file with declarations for functions
63#			in $out_file.
64#
65#  out_file		The name of the machine description C support
66#			file, if different from "$cpu_type/$cpu_type.c".
67#
68#  md_file		The name of the machine-description file, if
69#			different from "$cpu_type/$cpu_type.md".
70#
71#  tmake_file		A list of machine-description-specific
72#			makefile-fragments, if different from
73#			"$cpu_type/t-$cpu_type".
74#
75#  extra_modes          The name of the file containing a list of extra
76#                       machine modes, if necessary and different from
77#                       "$cpu_type/$cpu_type-modes.def".
78#
79#  extra_objs		List of extra objects that should be linked into
80#			the compiler proper (cc1, cc1obj, cc1plus)
81#			depending on target.
82#
83#  extra_headers	List of used header files from the directory
84#			config/${cpu_type}.
85#
86#  host_xmake_file	List of host-specific makefile-fragments.
87#
88#  extra_passes		List of extra executables compiled for this target
89#			machine, used for compiling from source to object.
90#
91#  extra_parts		List of extra object files that should be compiled
92#			for this target machine.
93#
94#  extra_programs	Like extra_passes, but these are used when linking.
95#
96#  host_extra_objs	List of extra host-dependent objects that should
97#			be linked into the compiler proper.
98#
99#  host_extra_gcc_objs	List of extra host-dependent objects that should
100#			be linked into the gcc driver.
101#
102#  c_target_objs	List of extra target-dependent objects that be
103#			linked into the C compiler only.
104#
105#  cxx_target_objs	List of extra target-dependent objects that be
106#			linked into the C++ compiler only.
107#
108#  target_gtfiles       List of extra source files with type information.
109#
110#  build_xm_defines	List of macros to define when compiling for the
111#			build machine.
112#
113#  build_xm_file	List of files to include when compiling for the
114#			build machine.
115#
116#  host_xm_defines	List of macros to define when compiling for the
117#			host machine.
118#
119#  host_xm_file		List of files to include when compiling for the
120#			host machine.
121#
122#  xm_defines		List of macros to define when compiling for the
123#			target machine.
124#
125#  xm_file		List of files to include when compiling for the
126#			target machine.
127#
128#  use_collect2		Set to yes or no, depending on whether collect2
129#			will be used.
130#
131#  target_cpu_default	Set to override the default target model.
132#
133#  build_install_headers_dir
134#			Target to use when installing header files.
135#
136#  host_truncate_target
137#			Non-empty if the target name should be truncated
138#			on this host, due to filename length issues.
139#
140#  gdb_needs_out_file_path
141#			Set to yes if gdb needs a dir command with
142#			`dirname $out_file`.
143#
144#  build_exeext		Set to the suffix, if the build machine requires
145#			executables to have a file name suffix.
146#
147#  host_exeext		Set to the suffix, if the host machine requires
148#			executables to have a file name suffix.
149#
150#  thread_file		Set to control which thread package to use.
151#
152#  gas			Set to yes or no depending on whether the target
153#			system normally uses GNU as.
154
155# The following variables are used in each case-construct to build up the
156# outgoing variables:
157#
158#  xmake_file		Makefile-fragment when this system is as a host,
159#			for host_xmake_file.
160#
161#  extra_host_objs	List of extra objects that should be linked into
162#			the compiler proper when this system is a host,
163#			for host_extra_objs.
164#
165#  install_headers_dir	Makefile-target for how the header file directory
166#			is installed, when this system is a build system,
167#			for build_install_headers_dir.
168#
169#  truncate_target	Non-empty if the target name should be truncated
170#			when this system is a host, due to filename length
171#			issues.  For host_truncate_target.
172#
173#  exeext		The suffix for executables on this system.
174#
175#  gnu_ld		Set to yes or no depending on whether the target
176#			system normally uses GNU ld.
177
178out_file=
179xmake_file=
180tmake_file=
181extra_headers=
182extra_passes=
183extra_parts=
184extra_programs=
185extra_objs=
186extra_host_objs=
187extra_gcc_objs=
188c_target_objs=
189cxx_target_objs=
190tm_defines=
191xm_defines=
192# Set this to force installation and use of collect2.
193use_collect2=
194# Set this to override the default target model.
195target_cpu_default=
196# Set this to control how the header file directory is installed.
197install_headers_dir=install-headers-tar
198# Set this if directory names should be truncated to 14 characters.
199truncate_target=
200# Set this if gdb needs a dir command with `dirname $out_file`
201gdb_needs_out_file_path=
202# Set this if the build machine requires executables to have a
203# file name suffix.
204exeext=
205# Set this to control which thread package will be used.
206thread_file=
207# Reinitialize these from the flag values every loop pass, since some
208# configure entries modify them.
209gas="$gas_flag"
210gnu_ld="$gnu_ld_flag"
211enable_threads=$enable_threads_flag
212target_gtfiles=
213
214# Obsolete configurations.
215case $machine in
216   mn10200-*-*			\
217 | romp-*-*			\
218 | alpha*-*-interix*		\
219 | alpha*-*-linux*libc1*	\
220 | alpha*-*-linux*ecoff*	\
221 | arm*-*-aout*			\
222 | arm*-*-conix*		\
223 | arm*-*-oabi			\
224 | strongarm-*-coff*		\
225 | hppa1.0-*-osf*		\
226 | hppa1.0-*-bsd*		\
227 | hppa1.[01]-*-hpux[789]*	\
228 | hppa*-*-hiux*		\
229 | hppa*-*-lites*		\
230 | i?86-*-win32			\
231 | m68000-hp-bsd*		\
232 | m68000-sun-sunos*		\
233 | m68000-att-sysv*		\
234 | m68k-atari-sysv*		\
235 | m68k-motorola-sysv*		\
236 | m68k-ncr-sysv*		\
237 | m68k-plexus-sysv*		\
238 | m68k-tti-*			\
239 | m68k-crds-unos*		\
240 | m68k-cbm-sysv*		\
241 | m68k-ccur-rtu*		\
242 | m68k-hp-bsd*			\
243 | m68k-sun-mach*		\
244 | m68k-sun-sunos*		\
245 | m68k-*-linux*aout*		\
246 | m68k-*-linux*libc1*		\
247 | m68k-*-psos*			\
248 | mips*-*-ecoff*		\
249 | mips-sni-sysv4		\
250 | mips64orion-*-rtems*		\
251 | ns32k-*-openbsd*		\
252 | powerpc*-*-sysv*		\
253 | powerpc*-*-linux*libc1*	\
254 | rs6000-ibm-aix[123]*		\
255 | rs6000-bull-bosx		\
256 | rs6000-*-mach*		\
257 | sparc-*-aout*		\
258 | sparc-*-netbsd*aout*		\
259 | sparc-*-bsd*			\
260 | sparc-*-chorusos*		\
261 | sparc-*-linux*aout*		\
262 | sparc-*-linux*libc1*		\
263 | sparc-*-lynxos*		\
264 | sparc-hal-solaris2*		\
265 | sparc-*-sunos[34]*		\
266 | sparclet-*-aout*		\
267 | sparclite-*-aout*		\
268 | sparc86x-*-aout*		\
269 | v850-*-rtems*		\
270 | vax-*-vms*			\
271 )
272    if test "x$enable_obsolete" != xyes; then
273      echo "*** Configuration $machine is obsolete." >&2
274      echo "*** Specify --enable-obsolete to build it anyway." >&2
275      echo "*** Support will be REMOVED in the next major release of GCC," >&2
276      echo "*** unless a maintainer comes forward." >&2
277      exit 1
278    fi;;
279esac
280
281# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
282# updated in each machine entry.  Also set default extra_headers for some
283# machines.
284tm_p_file=
285cpu_type=`echo $machine | sed 's/-.*$//'`
286case $machine in
287alpha*-*-*)
288	cpu_type=alpha
289	;;
290strongarm*-*-*)
291	cpu_type=arm
292	;;
293arm*-*-*)
294	cpu_type=arm
295	;;
296xscale-*-*)
297	cpu_type=arm
298	;;
299i[34567]86-*-*)
300	cpu_type=i386
301	extra_headers="mmintrin.h xmmintrin.h emmintrin.h pmmintrin.h"
302	;;
303x86_64-*-*)
304	cpu_type=i386
305	extra_headers="mmintrin.h xmmintrin.h emmintrin.h pmmintrin.h"
306	;;
307ia64-*-*)
308	extra_headers=ia64intrin.h
309	;;
310hppa*-*-* | parisc*-*-*)
311	cpu_type=pa
312	;;
313m680[012]0-*-*)
314	cpu_type=m68k
315	extra_headers=math-68881.h
316	;;
317m68k-*-*)
318	extra_headers=math-68881.h
319	;;
320mips*-*-*)
321	cpu_type=mips
322	;;
323powerpc*-*-*)
324	cpu_type=rs6000
325	extra_headers="ppc-asm.h altivec.h spe.h"
326	;;
327sparc*-*-*)
328	cpu_type=sparc
329	;;
330# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
331sh[123456789l]*-*-*)
332	cpu_type=sh
333	;;
334tic4x-*-*)
335        cpu_type=c4x
336        ;;
337esac
338
339tm_file=${cpu_type}/${cpu_type}.h
340if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
341then
342	tm_p_file=${cpu_type}/${cpu_type}-protos.h
343fi
344extra_modes=
345if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
346then
347	extra_modes=${cpu_type}/${cpu_type}-modes.def
348fi
349
350case $machine in
351x86_64-*-*)
352	tm_file="i386/biarch64.h ${tm_file}"
353	;;
354esac
355
356# On a.out targets, we need to use collect2.
357case $machine in
358*-*-*aout*)
359	use_collect2=yes
360	;;
361esac
362
363# Common parts for GNU/Linux, GNU/Hurd, OpenBSD, NetBSD, and FreeBSD systems.
364case $machine in
365*-*-linux*)
366	xm_defines=POSIX
367	case $machine in
368	*-*-linux*ecoff* | *-*-linux*libc1* | *-*-linux*oldld* | *-*-linux*aout*)
369		;;
370	*)
371		extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
372		gas=yes gnu_ld=yes
373		case x${enable_threads} in
374			x | xyes | xposix) thread_file='posix'
375			;;
376		esac
377		;;
378	esac
379	;;
380*-*-gnu*)
381	# On the Hurd, the setup is just about the same on
382	# each different CPU.  The specific machines that we
383	# support are matched above and just set $cpu_type.
384	xm_defines=POSIX
385	tm_file="${cpu_type}/gnu.h"
386	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
387	# GNU always uses ELF.
388	elf=yes
389	# GNU tools are the only tools.
390	gnu_ld=yes
391	gas=yes
392	# These details are the same as for Linux.
393	# But here we need a little extra magic.
394	tmake_file="t-slibgcc-elf-ver t-linux t-gnu"
395	case $machine in
396	alpha*)
397		tm_file="${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h ${tm_file}"
398		;;
399	i[34567]86-*-*)
400		tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}"
401		;;
402	esac
403	;;
404*-*-openbsd*)
405	case $machine in
406	*-*-openbsd2* | *-*-openbsd3.[012])
407		openbsd_libspec="openbsd-libc_r.h"
408		;;
409	*)
410		openbsd_libspec="openbsd-libpthread.h"
411		;;
412	esac
413	tm_file="${openbsd_libspec} ${cpu_type}/openbsd.h"
414	tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
415	xm_defines=POSIX
416	# for gcc in tree, we use our own fragment
417	xmake_file=x-openbsd
418	if test x$enable_threads = xyes; then
419		thread_file='posix'
420		tmake_file="${tmake_file} t-openbsd-thread"
421	fi
422	;;
423*-*-netbsd*)
424	tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd"
425	xm_defines=POSIX
426	gas=yes
427	gnu_ld=yes
428
429	# NetBSD 2.0 and later get POSIX threads enabled by default.
430	# Allow them to be explicitly enabled on any other version.
431	case x${enable_threads} in
432	x)
433		case $machine in
434		*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
435			thread_file='posix'
436			tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
437			;;
438		esac
439		;;
440	xyes | xposix)
441		thread_file='posix'
442		tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
443		;;
444	esac
445
446	# NetBSD 1.7 and later are set up to use GCC's crtstuff for
447	# ELF configurations.  We will clear extra_parts in the
448	# a.out configurations.
449	case $machine in
450	*-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
451		extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
452		;;
453	esac
454	;;
455*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
456	# This is the place-holder for the generic a.out configuration
457	# of FreeBSD.  No actual configuration resides here since
458	# there was only ever a bare-bones ix86 configuration for
459	# a.out and it exists solely in the machine-specific section.
460	# This place-holder must exist to avoid dropping into
461	# the generic ELF configuration of FreeBSD (i.e. it must be
462	# ordered before that section).
463	;;
464*-*-freebsd*)
465	# This is the generic ELF configuration of FreeBSD.  Later
466	# machine-specific sections may refine and add to this
467	# configuration.
468	#
469	# Due to tm_file entry ordering issues that vary between cpu
470	# architectures, we only define fbsd_tm_file to allow the
471	# machine-specific section to dictate the final order of all
472	# entries of tm_file with the minor exception that components
473	# of the tm_file set here will always be of the form:
474	#
475	# freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
476	#
477	# The machine-specific section should not tamper with this
478	# ordering but may order all other entries of tm_file as it
479	# pleases around the provided core setting.
480	gas=yes
481	gnu_ld=yes
482	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
483	case $machine in
484	*-*-freebsd3 | *-*-freebsd[3].*) fbsd_tm_file="freebsd3.h";;
485	*-*-freebsd4 | *-*-freebsd[4].*) fbsd_tm_file="freebsd4.h";;
486	*-*-freebsd5 | *-*-freebsd[5].*) fbsd_tm_file="freebsd5.h";;
487	*-*-freebsd6 | *-*-freebsd[6].*) fbsd_tm_file="freebsd6.h";;
488	*) echo 'Please update *-*-freebsd* in gcc/config.gcc'; exit 1;;
489	esac
490	tmake_file="t-slibgcc-elf-ver t-freebsd"
491	xmake_file=none
492	xm_defines=POSIX
493	case x${enable_threads} in
494	xno) fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h";;
495	x | xyes | xpthreads | xposix)
496		thread_file='posix'
497		tmake_file="${tmake_file} t-freebsd-thread"
498		# Before 5.0, FreeBSD can't bind shared libraries to -lc
499		# when "optionally" threaded via weak pthread_* checks.
500		case $machine in
501		*-*-freebsd[34] | *-*-freebsd[34].*)
502			tmake_file="${tmake_file} t-slibgcc-nolc-override";;
503		esac
504		;;
505	*) echo 'Unknown thread configuration for FreeBSD'; exit 1;;
506	esac
507	fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
508	;;
509esac
510
511case $machine in
512# Support site-specific machine types.
513*local*)
514	rest=`echo $machine | sed -e "s/$cpu_type-//"`
515	tm_file=${cpu_type}/$rest.h
516	if test -f $srcdir/config/${cpu_type}/xm-$rest.h
517	then xm_file=${cpu_type}/xm-$rest.h
518	fi
519	if test -f $srcdir/config/${cpu_type}/x-$rest
520	then xmake_file=${cpu_type}/x-$rest
521	fi
522	if test -f $srcdir/config/${cpu_type}/t-$rest
523	then tmake_file=${cpu_type}/t-$rest
524	fi
525	;;
526alpha*-*-unicosmk*)
527	use_collect2=yes
528	tm_file="${tm_file} alpha/unicosmk.h"
529
530	# Don't include t-ieee for now because we don't support that yet
531	# tmake_file="alpha/t-ieee"
532	tmake_file="alpha/t-unicosmk"
533	;;
534alpha-*-interix)
535	tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"
536
537	# GAS + IEEE_CONFORMANT+IEEE (no inexact);
538	#target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT|MASK_IEEE"
539
540	# GAS + IEEE_CONFORMANT
541	target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
542
543	xm_defines=POSIX
544	xm_file="alpha/xm-alpha-interix.h"
545	tmake_file="alpha/t-alpha t-interix alpha/t-interix alpha/t-ieee"
546	if test x$enable_threads = xyes ; then
547		thread_file='posix'
548	fi
549	if test x$stabs = xyes ; then
550		tm_file="${tm_file} dbxcoff.h"
551	fi
552	#prefix='$$INTERIX_ROOT'/usr/contrib
553	#local_prefix='$$INTERIX_ROOT'/usr/contrib
554	;;
555alpha*-*-linux*ecoff*)
556	echo "Configuration $machine no longer supported" 1>&2
557	exit 1
558	;;
559alpha*-*-linux*libc1*)
560	tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
561	target_cpu_default="MASK_GAS"
562	tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 alpha/t-alpha alpha/t-crtfm alpha/t-ieee"
563	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
564	gas=yes gnu_ld=yes
565	if test x$enable_threads = xyes; then
566		thread_file='posix'
567	fi
568	;;
569alpha*-*-linux*)
570	tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
571	target_cpu_default="MASK_GAS"
572	tmake_file="t-slibgcc-elf-ver t-linux alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
573	;;
574alpha*-*-gnu*)
575	target_cpu_default="MASK_GAS"
576	tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
577	;;
578alpha*-*-freebsd*)
579	tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
580	target_cpu_default="MASK_GAS"
581	tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
582	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
583	;;
584alpha*-*-netbsd*)
585	tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
586	target_cpu_default="MASK_GAS"
587	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
588	;;
589
590alpha*-*-openbsd*)
591 	tm_file="alpha/alpha.h alpha/elf.h alpha/openbsd1.h openbsd.h ${tm_file}"
592	tm_file="${tm_file} exec-stack.h"
593	# default x-alpha is only appropriate for dec-osf.
594	target_cpu_default="MASK_GAS"
595	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
596	gas=yes gnu_ld=yes
597	;;
598
599alpha*-dec-osf[45]*)
600	xm_defines=POSIX
601	if test x$stabs = xyes
602	then
603		tm_file="${tm_file} dbx.h"
604	fi
605	if test x$gas != xyes
606	then
607		extra_passes="mips-tfile mips-tdump"
608	fi
609	use_collect2=yes
610	tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf4"
611	tm_file="${tm_file} alpha/osf.h"
612	extra_headers=va_list.h
613	case $machine in
614	  *-*-osf4*)
615	    # Some versions of OSF4 (specifically X4.0-9 296.7) have
616	    # a broken tar, so we use cpio instead.
617	    install_headers_dir=install-headers-cpio
618	    # Set target_cpu_default except on 4.0a.
619	    case $machine in
620		*-*-osf4.0a) ;;
621		*) target_cpu_default=MASK_SUPPORT_ARCH
622	    esac
623	    ;;
624	  *-*-osf5*)
625	    tm_file="${tm_file} alpha/osf5.h"
626	    target_cpu_default=MASK_SUPPORT_ARCH
627	    ;;
628	esac
629	;;
630alpha*-*-vxworks*)
631	xm_defines=POSIX
632	tm_file="${tm_file} dbx.h alpha/vxworks.h"
633	tmake_file="alpha/t-alpha alpha/t-ieee"
634	if [ x$gas != xyes ]
635	then
636		extra_passes="mips-tfile mips-tdump"
637	fi
638	use_collect2=yes
639	thread_file='vxworks'
640	;;
641alpha64-dec-*vms*)
642	xm_defines=POSIX
643	tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
644	xm_file="alpha/xm-vms.h alpha/xm-vms64.h"
645	tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
646	xmake_file=alpha/x-vms
647	exeext=.exe
648	# This removes the cpu type and manufacturer components and
649	#  replaces "." with "_" in the operating system version.
650	case $host in *-*-*vms*)
651		target_alias=`echo $host \
652		  | sed 's/.*-.*-\(.*\)$/\1/' | sed 's/\./_/g'`
653		;;
654	esac
655	install_headers_dir=install-headers-cp
656	prefix=/gnu
657	local_prefix=/gnu
658	;;
659alpha*-dec-*vms*)
660	xm_defines=POSIX
661	tm_file="${tm_file} alpha/vms.h"
662	xm_file=alpha/xm-vms.h
663	tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
664	xmake_file=alpha/x-vms
665	exeext=.exe
666	# This removes the cpu type and manufacturer components and
667	#  replaces "." with "_" in the operating system version.
668	case $host in *-*-*vms*)
669		target_alias=`echo $host \
670		  | sed 's/.*-.*-\(.*\)$/\1/' | sed 's/\./_/g'`
671		;;
672	esac
673	install_headers_dir=install-headers-cp
674	prefix=/gnu
675	local_prefix=/gnu
676	;;
677arc-*-elf*)
678	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
679	extra_parts="crtinit.o crtfini.o"
680	;;
681arm-*-coff* | armel-*-coff*)
682	tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h"
683	tmake_file=arm/t-arm-coff
684	;;
685arm-*-vxworks*)
686	tm_file="arm/semi.h arm/aout.h arm/coff.h arm/vxarm.h arm/arm.h"
687	tmake_file=arm/t-arm-coff
688	thread_file='vxworks'
689	;;
690arm-semi-aout | armel-semi-aout)
691	tm_file="arm/semi.h arm/aout.h arm/arm.h"
692	tmake_file=arm/t-semi
693	;;
694arm-semi-aof | armel-semi-aof)
695	tm_file="arm/semiaof.h arm/aof.h arm/arm.h"
696	tmake_file=arm/t-semi
697	;;
698arm*-*-freebsd*|strongarm*-*-freebsd*)
699	tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h"
700	tmake_file="${tmake_file} arm/t-strongarm-elf"
701	;;
702arm*-*-netbsdelf*)
703	tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h"
704	tmake_file="${tmake_file} arm/t-netbsd"
705	;;
706arm*-*-openbsd*)
707	tm_file="dbxelf.h elfos.h arm/openbsd1.h arm/elf.h arm/aout.h arm/arm.h openbsd.h ${tm_file}"
708	tm_file="${tm_file} exec-stack.h"
709	tmake_file="${tmake_file} arm/t-openbsd"
710	;;
711arm*-*-netbsd*)
712	tm_file="arm/aout.h arm/arm.h netbsd.h netbsd-aout.h arm/netbsd.h"
713	tmake_file="t-netbsd arm/t-netbsd"
714	extra_parts=""
715	use_collect2=yes
716	;;
717arm*-*-linux*)			# ARM GNU/Linux with ELF
718	tm_file="dbxelf.h elfos.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
719	tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
720	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
721	gnu_ld=yes
722	case x${enable_threads} in
723	x | xyes | xpthreads | xposix)
724		thread_file='posix'
725		;;
726	esac
727	;;
728arm*-*-uclinux*)		# ARM ucLinux
729	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h arm/uclinux-elf.h"
730	tmake_file=arm/t-arm-elf
731	;;
732arm*-*-aout)
733	tm_file="arm/aout.h arm/arm.h"
734	tmake_file=arm/t-arm-aout
735	;;
736arm*-*-ecos-elf)
737	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
738	tmake_file=arm/t-arm-elf
739	;;
740arm*-*-rtems*)
741	xm_defines=POSIX
742	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h"
743	tmake_file="arm/t-arm-elf t-rtems"
744	if test x$enable_threads = xyes; then
745	  thread_file='rtems'
746	fi
747	;;
748arm*-*-elf)
749	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
750	tmake_file=arm/t-arm-elf
751	;;
752arm*-*-conix*)
753	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/conix-elf.h arm/aout.h arm/arm.h"
754	tmake_file=arm/t-arm-elf
755	;;
756arm*-*-oabi)
757	tm_file="arm/unknown-elf-oabi.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
758	tmake_file=arm/t-arm-elf
759	;;
760arm-*-pe*)
761	tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h arm/pe.h"
762	tmake_file=arm/t-pe
763	extra_objs="pe.o"
764	;;
765avr-*-*)
766	;;
767c4x-*-rtems* | tic4x-*-rtems*)
768	xm_defines=POSIX
769	tmake_file="c4x/t-c4x t-rtems"
770	tm_file="c4x/c4x.h c4x/rtems.h rtems.h"
771	if test x$enable_threads = xyes; then
772	  thread_file='rtems'
773	fi
774	c_target_objs="c4x-c.o"
775	cxx_target_objs="c4x-c.o"
776	;;
777c4x-* | tic4x-*)
778	tmake_file=c4x/t-c4x
779	c_target_objs="c4x-c.o"
780	cxx_target_objs="c4x-c.o"
781	;;
782cris-*-aout)
783	tm_file="dbxelf.h ${tm_file} cris/aout.h"
784	gas=yes
785	tmake_file="cris/t-cris cris/t-aout"
786	;;
787cris-*-elf | cris-*-none)
788	tm_file="dbxelf.h elfos.h ${tm_file}"
789	tmake_file="cris/t-cris cris/t-elfmulti"
790	gas=yes
791	;;
792cris-*-linux*)
793	tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
794	tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
795	;;
796d30v-*)
797	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
798	;;
799dsp16xx-*)
800	;;
801fr30-*-elf)
802	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
803	tmake_file=fr30/t-fr30
804	extra_parts="crti.o crtn.o crtbegin.o crtend.o"
805	;;
806frv-*-elf)
807	tm_file="dbxelf.h elfos.h svr4.h ${tm_file} frv/frv-abi.h"
808	tmake_file=frv/t-frv
809	;;
810h8300-*-rtems*)
811	xm_defines=POSIX
812	tmake_file="h8300/t-h8300 t-rtems h8300/t-rtems"
813	tm_file="h8300/h8300.h h8300/rtems.h rtems.h"
814	if test x$enable_threads = xyes; then
815	  thread_file='rtems'
816	fi
817	;;
818h8300-*-elf*)
819	tmake_file="h8300/t-h8300 h8300/t-elf"
820	tm_file="h8300/h8300.h h8300/elf.h"
821	;;
822h8300-*-*)
823	;;
824hppa*64*-*-linux* | parisc*64*-*-linux*)
825	target_cpu_default="(MASK_PA_11 | MASK_PA_20)"
826	tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \
827		 pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
828	tmake_file=pa/t-linux64
829	gas=yes gnu_ld=yes
830	;;
831hppa*-*-linux* | parisc*-*-linux*)
832	target_cpu_default="MASK_PA_11 | MASK_NO_SPACE_REGS"
833	tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \
834		 pa/pa32-regs.h pa/pa32-linux.h"
835	tmake_file="t-slibgcc-elf-ver t-linux pa/t-linux"
836	;;
837hppa64-*-openbsd*)
838	target_cpu_default="(MASK_PA_11 | MASK_PA_20)"
839	tm_file="${openbsd_libspec} pa/pa64-start.h pa/pa.h pa/pa64-regs.h \
840		 pa/pa-64.h pa/pa-openbsd1-64.h openbsd.h pa/pa-openbsd64.h"
841	tmake_file="${tmake_file} pa/t-openbsd64"
842	;;
843hppa-*-openbsd*)
844	target_cpu_default="MASK_PA_11"
845	tmake_file="t-libc-ok t-openbsd t-openbsd-thread pa/t-openbsd"
846	;;
847hppa1.1-*-pro*)
848	target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
849	tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
850	tm_file="${tm_file} exec-stack.h"
851	tmake_file="pa/t-bsd pa/t-pro"
852	xmake_file="pa/x-ada"
853	;;
854hppa1.1-*-osf*)
855	target_cpu_default="MASK_PA_11"
856	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
857	tmake_file="pa/t-bsd pa/t-pa"
858	xmake_file="pa/x-ada"
859	use_collect2=yes
860	;;
861hppa1.1-*-rtems*)
862	xm_defines=POSIX
863	target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
864	tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h rtems.h"
865	tmake_file="pa/t-bsd pa/t-pro t-rtems"
866	xmake_file="pa/x-ada"
867	if test x$enable_threads = xyes; then
868	  thread_file='rtems'
869	fi
870	;;
871hppa1.0-*-osf*)
872	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
873	tmake_file="pa/t-bsd pa/t-pa"
874	xmake_file="pa/x-ada"
875	use_collect2=yes
876	;;
877hppa1.1-*-bsd*)
878	tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
879	target_cpu_default="MASK_PA_11"
880	tmake_file="pa/t-bsd pa/t-pa"
881	xmake_file="pa/x-ada"
882	use_collect2=yes
883	;;
884hppa1.0-*-bsd*)
885	tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
886	tmake_file="pa/t-bsd pa/t-pa"
887	xmake_file="pa/x-ada"
888	use_collect2=yes
889	;;
890hppa1.0-*-hpux7*)
891	tm_file="pa/pa-oldas.h ${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux7.h"
892	xm_defines=POSIX
893	tmake_file=pa/t-pa-hpux
894	install_headers_dir=install-headers-cpio
895	use_collect2=yes
896	;;
897hppa1.0-*-hpux8.0[0-2]*)
898	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
899	xm_defines=POSIX
900	tmake_file=pa/t-pa-hpux
901	if test x$gas != xyes
902	then
903		tm_file="pa/pa-oldas.h ${tm_file}"
904	fi
905	install_headers_dir=install-headers-cpio
906	use_collect2=yes
907	;;
908hppa1.1-*-hpux8.0[0-2]*)
909	target_cpu_default="MASK_PA_11"
910	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
911	xm_defines=POSIX
912	tmake_file=pa/t-pa-hpux
913	if test x$gas != xyes
914	then
915		tm_file="pa/pa-oldas.h ${tm_file}"
916	fi
917	install_headers_dir=install-headers-cpio
918	use_collect2=yes
919	;;
920hppa1.1-*-hpux8*)
921	target_cpu_default="MASK_PA_11"
922	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
923	xm_defines=POSIX
924	tmake_file=pa/t-pa-hpux
925	install_headers_dir=install-headers-cpio
926	use_collect2=yes
927	;;
928hppa1.0-*-hpux8*)
929	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
930	xm_defines=POSIX
931	tmake_file=pa/t-pa-hpux
932	install_headers_dir=install-headers-cpio
933	use_collect2=yes
934	;;
935hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
936	target_cpu_default="MASK_PA_11"
937	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
938	xm_defines=POSIX
939	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
940	xmake_file="pa/x-ada"
941	if test x$enable_threads = x; then
942	    enable_threads=$have_pthread_h
943	fi
944	case x${enable_threads} in
945	xyes | xdce)
946		tmake_file="${tmake_file} pa/t-dce-thr"
947		;;
948	esac
949	install_headers_dir=install-headers-cpio
950	use_collect2=yes
951	;;
952hppa1.0-*-hpux10*)
953	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
954	xm_defines=POSIX
955	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
956	xmake_file="pa/x-ada"
957	if test x$enable_threads = x; then
958	    enable_threads=$have_pthread_h
959	fi
960	case x${enable_threads} in
961	xyes | xdce)
962		tmake_file="${tmake_file} pa/t-dce-thr"
963		;;
964	esac
965	install_headers_dir=install-headers-cpio
966	use_collect2=yes
967	;;
968hppa*64*-*-hpux11*)
969	xm_defines=POSIX
970	if test x$gas = xyes
971	then
972		tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h  \
973			 pa/pa64-regs.h pa/long_double.h pa/pa-hpux.h \
974			 pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
975	else
976		tm_file="pa/pa64-start.h ${tm_file} dbxelf.h pa/elf.h \
977			 pa/pa64-regs.h pa/long_double.h pa/pa-hpux.h \
978			 pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
979	fi
980	tmake_file="pa/t-pa64 pa/t-pa-hpux"
981	xmake_file="pa/x-ada"
982	target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
983	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
984	if test x$gnu_ld = xyes
985	then
986		target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
987	fi
988	case x${enable_threads} in
989	xyes | xposix )
990		thread_file=posix
991		;;
992	esac
993	install_headers_dir=install-headers-cpio
994	;;
995hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
996	target_cpu_default="MASK_PA_11"
997	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
998	xm_defines=POSIX
999	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
1000	xmake_file="pa/x-ada"
1001	case x${enable_threads} in
1002	xyes | xposix )
1003		thread_file=posix
1004		;;
1005	esac
1006	install_headers_dir=install-headers-cpio
1007	use_collect2=yes
1008	;;
1009hppa1.0-*-hpux11*)
1010	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
1011	xm_defines=POSIX
1012	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
1013	xmake_file="pa/x-ada"
1014	case x${enable_threads} in
1015	xyes | xposix )
1016		thread_file=posix
1017		;;
1018	esac
1019	install_headers_dir=install-headers-cpio
1020	use_collect2=yes
1021	;;
1022hppa1.1-*-hpux* | hppa2*-*-hpux*)
1023	target_cpu_default="MASK_PA_11"
1024	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1025	xm_defines=POSIX
1026	tmake_file=pa/t-pa-hpux
1027	install_headers_dir=install-headers-cpio
1028	use_collect2=yes
1029	;;
1030hppa1.0-*-hpux*)
1031	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1032	xm_defines=POSIX
1033	tmake_file=pa/t-pa-hpux
1034	install_headers_dir=install-headers-cpio
1035	use_collect2=yes
1036	;;
1037hppa1.1-*-hiux* | hppa2*-*-hiux*)
1038	target_cpu_default="MASK_PA_11"
1039	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1040	xm_defines=POSIX
1041	tmake_file=pa/t-pa-hpux
1042	install_headers_dir=install-headers-cpio
1043	use_collect2=yes
1044	;;
1045hppa1.0-*-hiux*)
1046	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1047	xm_defines=POSIX
1048	tmake_file=pa/t-pa-hpux
1049	install_headers_dir=install-headers-cpio
1050	use_collect2=yes
1051	;;
1052hppa*-*-lites*)
1053	tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h"
1054	target_cpu_default="MASK_PA_11"
1055	tmake_file="pa/t-bsd pa/t-pa"
1056	xmake_file="pa/x-ada"
1057	use_collect2=yes
1058	;;
1059hppa*-*-mpeix*)
1060	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-mpeix.h"
1061	tmake_file=pa/t-mpeix
1062	echo "You must use gas. Assuming it is already installed."
1063	gas=yes
1064	install_headers_dir=install-headers-tar
1065	use_collect2=yes
1066	;;
1067i370-*-opened*)			 # IBM 360/370/390 Architecture
1068	xm_defines='POSIX FATAL_EXIT_CODE=12'
1069	tm_file=i370/oe.h
1070	tmake_file="i370/t-oe i370/t-i370"
1071	c_target_objs="i370-c.o"
1072	cxx_target_objs="i370-c.o"
1073	;;
1074i370-*-mvs*)
1075	xm_defines='POSIX FATAL_EXIT_CODE=12'
1076	tm_file=i370/mvs.h
1077	tmake_file="i370/t-i370"
1078	c_target_objs="i370-c.o"
1079	cxx_target_objs="i370-c.o"
1080	;;
1081i370-*-linux*)
1082	tm_file="dbxelf.h elfos.h svr4.h linux.h i370/linux.h ${tm_file}"
1083	tmake_file="t-slibgcc-elf-ver t-linux"
1084	# broken_install=yes
1085	elf=yes
1086	;;
1087i[34567]86-*-darwin*)
1088	tm_file="${tm_file} darwin.h i386/darwin.h"
1089	tm_p_file="${tm_p_file} darwin-protos.h"
1090	tmake_file="t-darwin"
1091	extra_objs="darwin.o"
1092	target_gtfiles="\$(srcdir)/config/darwin.c"
1093	c_target_objs="darwin-c.o"
1094	cxx_target_objs="darwin-c.o"
1095	extra_parts="crt2.o"
1096	# Darwin linker does collect2 functionality
1097	use_collect2=no
1098	;;
1099i[34567]86-*-elf*)
1100	xm_defines=POSIX
1101	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h"
1102	tmake_file="i386/t-i386elf t-svr4"
1103	;;
1104i[34567]86-ncr-sysv4*)		# NCR 3000 - ix86 running system V.4
1105	xm_defines="POSIX SMALL_ARG_MAX"
1106	if test x$stabs = xyes -a x$gas = xyes
1107	then
1108		tm_file=i386/sysv4gdb.h
1109	else
1110		tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
1111	fi
1112	extra_parts="crtbegin.o crtend.o"
1113	tmake_file=i386/t-crtpic
1114	;;
1115i[34567]86-*-netware)		# Intel 80386's running netware
1116	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h netware.h i386/netware.h"
1117	tmake_file=i386/t-netware
1118	;;
1119i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
1120	if test x$gas = xyes
1121	then
1122		tm_file="${tm_file} usegas.h"
1123	fi
1124	xm_defines="POSIX SMALL_ARG_MAX"
1125	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ptx4.h i386/ptx4-i.h"
1126	tmake_file=t-svr4
1127	extra_parts="crtbegin.o crtend.o"
1128	install_headers_dir=install-headers-cpio
1129	;;
1130i[34567]86-sequent-sysv*)	# would otherwise be caught by i?86-*-sysv*
1131	echo "*** Configuration $machine not supported" 1>&2
1132	exit 1
1133	;;
1134i[34567]86-wrs-vxworks*)
1135	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/vxi386.h"
1136	thread_file='vxworks'
1137	;;
1138i[34567]86-*-aout*)
1139	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
1140	;;
1141i[34567]86-*-beoself* | i[34567]86-*-beos*)
1142	xm_defines=POSIX
1143	tmake_file='i386/t-beos i386/t-crtpic'
1144	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/beos-elf.h"
1145	extra_parts='crtbegin.o crtend.o'
1146	;;
1147i[34567]86-*-freebsd2 | i[34567]86-*-freebsd2.* | i[34567]86-*-freebsd*aout*)
1148	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/freebsd-aout.h"
1149	tmake_file=t-freebsd
1150	;;
1151i[34567]86-*-freebsd*)
1152	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1153	;;
1154x86_64-*-freebsd*)
1155	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
1156	;;
1157i[34567]86-*-netbsdelf*)
1158	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
1159	;;
1160i[34567]86-*-netbsd*)
1161	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
1162	tmake_file=t-netbsd
1163	extra_parts=""
1164	use_collect2=yes
1165	;;
1166x86_64-*-netbsd*)
1167	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
1168	;;
1169i[34567]86-*-openbsd2* | i[34567]86-*-openbsd3.[0123])
1170	tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h ${tm_file}"
1171	# needed to unconfuse gdb
1172	tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
1173	# we need collect2 until our bug is fixed...
1174	use_collect2=yes
1175	;;
1176i[34567]86-*-openbsd*)
1177	# needed to unconfuse gdb
1178	tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
1179	tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h"
1180	tm_file="${tm_file} exec-stack.h"
1181	tm_file="${tm_file} openbsd.h openbsd-libpthread.h i386/openbsdelf.h"
1182	gas=yes
1183	gnu_ld=yes
1184  	;;
1185x86_64-*-openbsd*)
1186	tm_file="i386/biarch64.h i386/i386.h i386/unix.h i386/att.h dbxelf.h elfos.h openbsd.h openbsd-libpthread.h i386/x86-64.h i386/openbsd64.h"
1187	tm_file="${tm_file} exec-stack.h"
1188	tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
1189	;;
1190i[34567]86-*-coff*)
1191	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
1192	;;
1193i[34567]86-*-linux*oldld*)	# would otherwise be caught by i?86-*-linux*
1194	echo "*** Configuration $machine not supported" 1>&2
1195	exit 1
1196	;;
1197i[34567]86-*-linux*aout*)	# Intel 80386's running GNU/Linux
1198				# with a.out format
1199	tmake_file="t-linux-aout i386/t-crtstuff"
1200	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h linux-aout.h i386/linux-aout.h"
1201	gnu_ld=yes
1202	;;
1203i[34567]86-*-linux*libc1)	# Intel 80386's running GNU/Linux
1204				# with ELF format using the
1205				# GNU/Linux C library 5
1206	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
1207	tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 i386/t-crtstuff"
1208	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1209	gnu_ld=yes
1210	if test x$enable_threads = xyes; then
1211		thread_file='single'
1212	fi
1213	;;
1214i[34567]86-*-linux*)	# Intel 80386's running GNU/Linux
1215			# with ELF format using glibc 2
1216			# aka GNU/Linux C library 6
1217	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
1218	tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
1219	;;
1220x86_64-*-linux*)
1221	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
1222		 i386/x86-64.h i386/linux64.h"
1223	tmake_file="t-slibgcc-elf-ver t-linux i386/t-linux64"
1224	;;
1225i[34567]86-*-gnu*)
1226	;;
1227i[34567]86-go32-msdos | i[34567]86-*-go32*)
1228	echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
1229	exit 1
1230	;;
1231i[34567]86-pc-msdosdjgpp*)
1232	xm_file=i386/xm-djgpp.h
1233	tm_file="dbxcoff.h ${tm_file} i386/djgpp.h"
1234	tmake_file=i386/t-djgpp
1235	gnu_ld=yes
1236	gas=yes
1237	exeext=.exe
1238	case $host in *pc-msdosdjgpp*)
1239		target_alias=djgpp
1240		;;
1241	esac
1242	;;
1243i[34567]86-moss-msdos* | i[34567]86-*-moss*)
1244	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h i386/moss.h"
1245	tmake_file=t-libc-ok
1246	gnu_ld=yes
1247	gas=yes
1248	;;
1249i[34567]86-*-lynxos*)
1250	if test x$gas = xyes
1251	then
1252		tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h lynx.h i386/lynx.h"
1253	else
1254		tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h lynx-ng.h i386/lynx-ng.h"
1255	fi
1256	;;
1257i[34567]86-*-mach*)
1258	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/mach.h"
1259#	tmake_file=t-libc-ok
1260	use_collect2=yes
1261	;;
1262i[34567]86-go32-rtems* | i[34567]86-*-rtemscoff*)
1263	# would otherwise be caught by i?86-*-rtems*
1264	echo "*** Configuration $machine not supported" 1>&2
1265	exit 1
1266	;;
1267i[34567]86-*-rtems*)
1268	xm_defines=POSIX
1269	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h"
1270	extra_parts="crtbegin.o crtend.o crti.o crtn.o"
1271	tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
1272	if test x$enable_threads = xyes; then
1273	  thread_file='rtems'
1274	fi
1275	;;
1276i[34567]86-*-sco3.2v5*)	# 80386 running SCO Open Server 5
1277	xm_defines=POSIX
1278	install_headers_dir=install-headers-cpio
1279	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/sco5.h"
1280	if test x$gas = xyes
1281	then
1282		tm_file="usegas.h ${tm_file}"
1283	fi
1284	tmake_file=i386/t-sco5
1285	extra_parts="crtbegin.o crtend.o"
1286	;;
1287i[34567]86-*-solaris2*)
1288	xm_defines="POSIX SMALL_ARG_MAX"
1289	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h i386/sol2.h"
1290	tmake_file="i386/t-sol2 t-svr4"
1291	if test x$gnu_ld = xyes; then
1292		tmake_file="$tmake_file t-slibgcc-elf-ver"
1293	else
1294		tmake_file="$tmake_file t-slibgcc-sld"
1295	fi
1296	extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
1297	if test x${enable_threads} = x; then
1298	    enable_threads=$have_pthread_h
1299	    if test x${enable_threads} = x; then
1300		enable_threads=$have_thread_h
1301	    fi
1302	fi
1303	if test x${enable_threads} = xyes; then
1304	    if test x${have_pthread_h} = xyes; then
1305		thread_file='posix'
1306	    else
1307		thread_file='solaris'
1308	    fi
1309	fi
1310	;;
1311i[34567]86-*-sysv5*)           # Intel x86 on System V Release 5
1312       xm_defines=POSIX
1313       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h"
1314       if test x$stabs = xyes
1315       then
1316               tm_file="${tm_file} dbx.h"
1317       fi
1318       tmake_file="i386/t-crtpic t-svr4"
1319       extra_parts="crtbegin.o crtend.o"
1320       if test x$enable_threads = xyes; then
1321	       thread_file='posix'
1322       fi
1323       ;;
1324i[34567]86-*-sysv4*)		# Intel 80386's running system V.4
1325	xm_defines="POSIX SMALL_ARG_MAX"
1326	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
1327	if test x$stabs = xyes
1328	then
1329		tm_file="${tm_file} dbx.h"
1330	fi
1331	tmake_file="i386/t-crtpic t-svr4"
1332	extra_parts="crtbegin.o crtend.o"
1333	;;
1334i[34567]86-*-udk*)      # Intel x86 on SCO UW/OSR5 Dev Kit
1335	xm_defines=POSIX
1336	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h i386/udk.h"
1337	tmake_file="i386/t-crtpic i386/t-udk t-svr4"
1338	extra_parts="crtbegin.o crtend.o"
1339	install_headers_dir=install-headers-cpio
1340	;;
1341i[34567]86-*-sysv*)		# Intel 80386's running system V
1342	xm_defines=POSIX
1343	if test x$gas = xyes
1344	then
1345		if test x$stabs = xyes
1346		then
1347			tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/svr3gas.h i386/svr3dbx.h"
1348			tmake_file=i386/t-svr3dbx
1349			extra_parts="svr3.ifile svr3z.ifile"
1350		else
1351			tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/svr3gas.h"
1352			extra_parts="crtbegin.o crtend.o"
1353			tmake_file=i386/t-crtstuff
1354		fi
1355	else
1356		tm_file="${tm_file} svr3.h i386/unix.h i386/att.h i386/sysv3.h"
1357		extra_parts="crtbegin.o crtend.o"
1358		tmake_file=i386/t-crtstuff
1359	fi
1360	tmake_file="$tmake_file i386/t-crtpic"
1361	;;
1362i386-*-vsta)			# Intel 80386's running VSTa kernel
1363	xm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/xm-vsta.h"
1364	tm_file="${tm_file} i386/vsta.h"
1365	;;
1366i[34567]86-*-win32)
1367	xm_defines=POSIX
1368	xm_file=i386/xm-cygwin.h
1369	tmake_file=i386/t-cygwin
1370	tm_file="${tm_file} i386/win32.h"
1371	extra_objs=winnt.o
1372	if test x$enable_threads = xyes; then
1373		thread_file='win32'
1374	fi
1375	exeext=.exe
1376	;;
1377i[34567]86-*-pe | i[34567]86-*-cygwin*)
1378	xm_defines=POSIX
1379	xm_file=i386/xm-cygwin.h
1380	tmake_file=i386/t-cygwin
1381	tm_file=i386/cygwin.h
1382	extra_objs=winnt.o
1383	if test x$enable_threads = xyes; then
1384		thread_file='win32'
1385	fi
1386	exeext=.exe
1387	;;
1388i[34567]86-*-mingw32*)
1389	tm_file=i386/mingw32.h
1390	xm_defines=POSIX
1391	xm_file=i386/xm-mingw32.h
1392	tmake_file="i386/t-cygwin i386/t-mingw32"
1393	extra_objs=winnt.o
1394	if test x$enable_threads = xyes; then
1395		thread_file='win32'
1396	fi
1397	exeext=.exe
1398	case $machine in
1399		*mingw32crt*)
1400			tm_file="${tm_file} i386/crtdll.h"
1401			;;
1402		*minwg32msv* | *mingw32*)
1403			;;
1404	esac
1405	;;
1406i[34567]86-*-uwin*)
1407	tm_file="i386/cygwin.h i386/uwin.h"
1408	tmake_file="i386/t-cygwin i386/t-uwin"
1409	extra_objs=winnt.o
1410	if test x$enable_threads = xyes; then
1411		thread_file='win32'
1412	fi
1413	exeext=.exe
1414	;;
1415i[34567]86-*-interix3*)
1416	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
1417	xm_file="i386/xm-i386-interix.h"
1418	xm_defines=POSIX
1419	tmake_file="t-interix i386/t-interix"
1420	extra_objs=winnt.o
1421	xmake_file="x-interix"
1422	if test x$enable_threads = xyes ; then
1423		thread_file='posix'
1424	fi
1425	if test x$stabs = xyes ; then
1426		tm_file="${tm_file} dbxcoff.h"
1427	fi
1428	;;
1429i[34567]86-*-interix*)
1430	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h interix.h"
1431	xm_file="i386/xm-i386-interix.h"
1432	xm_defines=POSIX
1433	tmake_file="t-interix i386/t-interix"
1434	extra_objs=winnt.o
1435	if test x$enable_threads = xyes ; then
1436		thread_file='posix'
1437	fi
1438	if test x$stabs = xyes ; then
1439		tm_file="${tm_file} dbxcoff.h"
1440	fi
1441	;;
1442i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
1443	tm_file="${tm_file} i960/vx960.h"
1444	tmake_file=i960/t-vxworks960
1445	use_collect2=yes
1446	thread_file='vxworks'
1447	c_target_objs="i960-c.o"
1448	cxx_target_objs="i960-c.o"
1449	;;
1450i960-wrs-vxworks5* | i960-wrs-vxworks)
1451	tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
1452	tmake_file=i960/t-vxworks960
1453	use_collect2=yes
1454	thread_file='vxworks'
1455	c_target_objs="i960-c.o"
1456	cxx_target_objs="i960-c.o"
1457	;;
1458i960-wrs-vxworks*)
1459	tm_file="${tm_file} i960/vx960.h"
1460	tmake_file=i960/t-vxworks960
1461	use_collect2=yes
1462	thread_file='vxworks'
1463	c_target_objs="i960-c.o"
1464	cxx_target_objs="i960-c.o"
1465	;;
1466i960-*-coff*)
1467	tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1468	tmake_file=i960/t-960bare
1469	c_target_objs="i960-c.o"
1470	cxx_target_objs="i960-c.o"
1471	;;
1472i960-*-rtems)
1473	xm_defines=POSIX
1474	tmake_file="i960/t-960bare t-rtems"
1475	tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/rtems.h rtems.h"
1476	if test x$enable_threads = xyes; then
1477	  thread_file='rtems'
1478	fi
1479	c_target_objs="i960-c.o"
1480	cxx_target_objs="i960-c.o"
1481	;;
1482i960-*-*)			# Default i960 environment.
1483	use_collect2=yes
1484	tmake_file=i960/t-960bare
1485	c_target_objs="i960-c.o"
1486	cxx_target_objs="i960-c.o"
1487	;;
1488ia64*-*-aix*)
1489	tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/aix.h"
1490	tmake_file="ia64/t-ia64 ia64/t-aix"
1491	target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1492	extra_parts="crti.o crtn.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
1493	;;
1494ia64*-*-elf*)
1495	tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h"
1496	tmake_file="ia64/t-ia64"
1497	target_cpu_default="0"
1498	if test x$gas = xyes
1499	then
1500		target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1501	fi
1502	if test x$gnu_ld = xyes
1503	then
1504		target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1505	fi
1506	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
1507	;;
1508ia64*-*-freebsd*)
1509	tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1510	target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1511	tmake_file="${tmake_file} ia64/t-ia64"
1512	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
1513	;;
1514ia64*-*-linux*)
1515	tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
1516	tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc"
1517	target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1518	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
1519	if test x"$use_libunwind_exceptions" = xyes; then
1520	  tmake_file="$tmake_file t-libunwind"
1521	fi
1522	;;
1523ia64*-*-hpux*)
1524	tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h"
1525	tmake_file="ia64/t-ia64 ia64/t-hpux"
1526	target_cpu_default="MASK_GNU_AS"
1527	case x$enable_threads in
1528	xyes | xposix )
1529		thread_file=posix
1530		;;
1531	esac
1532	use_collect2=no
1533	c_target_objs="ia64-c.o"
1534	cxx_target_objs="ia64-c.o"
1535	;;
1536ip2k-*-elf)
1537	;;
1538m32r-*-elf*)
1539	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
1540	extra_parts="crtinit.o crtfini.o m32rx/crtinit.o m32rx/crtfini.o"
1541	;;
1542# m68hc11 and m68hc12 share the same machine description.
1543m68hc11-*-*|m6811-*-*)
1544	tm_file="dbxelf.h elfos.h m68hc11/m68hc11.h"
1545	tm_p_file="m68hc11/m68hc11-protos.h"
1546	md_file="m68hc11/m68hc11.md"
1547	out_file="m68hc11/m68hc11.c"
1548	tmake_file="m68hc11/t-m68hc11-gas"
1549        ;;
1550m68hc12-*-*|m6812-*-*)
1551	tm_file="m68hc11/m68hc12.h dbxelf.h elfos.h m68hc11/m68hc11.h"
1552	tm_p_file="m68hc11/m68hc11-protos.h"
1553	md_file="m68hc11/m68hc11.md"
1554	out_file="m68hc11/m68hc11.c"
1555	tmake_file="m68hc11/t-m68hc11-gas"
1556        ;;
1557m68000-hp-bsd*)			# HP 9000/200 running BSD
1558	tm_file=m68k/hp2bsd.h
1559	use_collect2=yes
1560	;;
1561m68000-hp-hpux*)		# HP 9000 series 300
1562	xm_defines=POSIX
1563	if test x$gas = xyes
1564	then
1565		tm_file=m68k/hp310g.h
1566	else
1567		tm_file=m68k/hp310.h
1568	fi
1569	tmake_file=m68k/t-hp320
1570	install_headers_dir=install-headers-cpio
1571	use_collect2=yes
1572	;;
1573m68000-sun-sunos3*)
1574	tm_file=m68k/sun2.h
1575	use_collect2=yes
1576	;;
1577m68000-sun-sunos4*)
1578	tm_file=m68k/sun2o4.h
1579	use_collect2=yes
1580	;;
1581m68000-att-sysv*)
1582	xm_defines=POSIX
1583	if test x$gas = xyes
1584	then
1585		tm_file=m68k/3b1g.h
1586	else
1587		tm_file=m68k/3b1.h
1588	fi
1589	use_collect2=yes
1590	;;
1591m68k-atari-sysv4*)              # Atari variant of V.4.
1592	tm_file=m68k/atari.h
1593	xm_defines=POSIX
1594	tmake_file=t-svr4
1595	extra_parts="crtbegin.o crtend.o"
1596	;;
1597m68k-apollo-sysv* | m68k-bull-sysv*)
1598	# can otherwise be caught by m68k-*-sysv4*
1599	echo "*** Configuration $machine not supported" 1>&2
1600	exit 1
1601	;;
1602m68k-motorola-sysv*)
1603	tm_file=m68k/mot3300.h
1604	xm_defines=POSIX
1605	if test x$gas = xyes
1606	then
1607		if test x$gnu_ld = xyes
1608		then
1609			tmake_file=m68k/t-mot3300-gald
1610		else
1611			tmake_file=m68k/t-mot3300-gas
1612			use_collect2=yes
1613		fi
1614	else
1615		if test x$gnu_ld = xyes
1616		then
1617			tmake_file=m68k/t-mot3300-gld
1618		else
1619			tmake_file=m68k/t-mot3300
1620			use_collect2=yes
1621		fi
1622	fi
1623	gdb_needs_out_file_path=yes
1624	extra_parts="crt0.o mcrt0.o"
1625	;;
1626m68k-ncr-sysv*)			# NCR Tower 32 SVR3
1627	tm_file=m68k/tower-as.h
1628	xm_defines=POSIX
1629	extra_parts="crtbegin.o crtend.o"
1630	;;
1631m68k-plexus-sysv*)
1632	tm_file=m68k/plexus.h
1633	xm_defines=POSIX
1634	use_collect2=yes
1635	;;
1636m68k-tti-*)
1637	tm_file=m68k/pbb.h
1638	xm_defines=POSIX
1639	;;
1640m68k-crds-unos*)
1641	xm_defines=POSIX
1642	tm_file=m68k/crds.h
1643	use_collect2=yes
1644	;;
1645m68k-cbm-sysv4*)		# Commodore variant of V.4.
1646	tm_file=m68k/amix.h
1647	xm_defines=POSIX
1648	tmake_file=t-svr4
1649	extra_parts="crtbegin.o crtend.o"
1650	;;
1651m68k-ccur-rtu)
1652	tm_file=m68k/ccur-GAS.h
1653	use_collect2=yes
1654	;;
1655m68k-hp-bsd4.4*)		# HP 9000/3xx running 4.4bsd
1656	tm_file=m68k/hp3bsd44.h
1657	use_collect2=yes
1658	;;
1659m68k-hp-bsd*)			# HP 9000/3xx running Berkeley Unix
1660	tm_file=m68k/hp3bsd.h
1661	use_collect2=yes
1662	;;
1663m68k-hp-hpux7*)	# HP 9000 series 300 running HPUX version 7.
1664	xm_defines=POSIX
1665	if test x$gas = xyes
1666	then
1667		xmake_file=m68k/x-hp320g
1668		tm_file=m68k/hp320g.h
1669	else
1670		xmake_file=m68k/x-hp320
1671		tm_file=m68k/hpux7.h
1672	fi
1673	install_headers_dir=install-headers-cpio
1674	use_collect2=yes
1675	;;
1676m68k-hp-hpux*)	# HP 9000 series 300
1677	xm_defines=POSIX
1678	if test x$gas = xyes
1679	then
1680		xmake_file=m68k/x-hp320g
1681		tm_file=m68k/hp320g.h
1682	else
1683		xmake_file=m68k/x-hp320
1684		tm_file=m68k/hp320.h
1685	fi
1686	install_headers_dir=install-headers-cpio
1687	use_collect2=yes
1688	;;
1689m68k-sun-mach*)
1690	tm_file=m68k/sun3mach.h
1691	use_collect2=yes
1692	;;
1693m68k-sun-sunos3*)
1694	if test x$with_fp = xno
1695	then
1696		tm_file=m68k/sun3n3.h
1697	else
1698		tm_file=m68k/sun3o3.h
1699	fi
1700	use_collect2=yes
1701	;;
1702m68k-sun-sunos*)			# For SunOS 4 (the default).
1703	if test x$with_fp = xno
1704	then
1705		tm_file=m68k/sun3n.h
1706	else
1707		tm_file=m68k/sun3.h
1708	fi
1709	use_collect2=yes
1710	;;
1711m68k-wrs-vxworks*)
1712	tm_file=m68k/vxm68k.h
1713	tmake_file=m68k/t-vxworks68
1714	thread_file='vxworks'
1715	;;
1716m68k-*-aout*)
1717	tmake_file=m68k/t-m68kbare
1718	tm_file="m68k/m68k-aout.h libgloss.h"
1719	;;
1720m68k-*-coff*)
1721	tmake_file=m68k/t-m68kbare
1722	tm_file="m68k/m68k-coff.h dbx.h"
1723	;;
1724m68020-*-elf* | m68k-*-elf*)
1725	tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
1726	xm_defines=POSIX
1727	tmake_file=m68k/t-m68kelf
1728	extra_parts="crtbegin.o crtend.o"
1729	;;
1730m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
1731	tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1732	case $machine in
1733	m68010*)
1734		target_cpu_default="0"
1735		;;
1736	*)
1737		target_cpu_default="MASK_68020|MASK_68881|MASK_BITFIELD"
1738		;;
1739	esac
1740	;;
1741m68k*-*-netbsd*)
1742	tm_file=m68k/netbsd.h
1743	tmake_file=t-netbsd
1744	extra_parts=""
1745	use_collect2=yes
1746	;;
1747m68k*-*-openbsd*)
1748	# needed to unconfuse gdb
1749	tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
1750	# we need collect2 until our bug is fixed...
1751	use_collect2=yes
1752	tm_file="${tm_file} exec-stack.h"
1753	;;
1754m68k-*-sysv4*)			# Motorola m68k's running system V.4
1755	tm_file=m68k/m68kv4.h
1756	xm_defines=POSIX
1757	tmake_file=t-svr4
1758	extra_parts="crtbegin.o crtend.o"
1759	;;
1760m68k-*-linux*aout*)		# Motorola m68k's running GNU/Linux
1761				# with a.out format
1762	tm_file=m68k/linux-aout.h
1763	tmake_file="t-linux-aout m68k/t-linux-aout"
1764	gnu_ld=yes
1765	;;
1766m68k-*-linux*libc1)		# Motorola m68k's running GNU/Linux
1767				# with ELF format using the
1768				# GNU/Linux C library 5
1769	tm_file=m68k/linux.h
1770	tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 m68k/t-linux"
1771	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1772	gnu_ld=yes
1773	;;
1774m68k-*-linux*)		# Motorola m68k's running GNU/Linux
1775				# with ELF format using glibc 2
1776				# aka the GNU/Linux C library 6.
1777	tm_file=m68k/linux.h
1778	tmake_file="t-slibgcc-elf-ver t-linux m68k/t-linux"
1779	;;
1780m68k-*-psos*)
1781	tmake_file=m68k/t-m68kbare
1782	tm_file=m68k/m68k-psos.h
1783	;;
1784m68k-*-rtemscoff*)	# would otherwise be caught by m68k-*-rtems*
1785	echo "*** Configuration $machine not supported" 1>&2
1786	exit 1
1787	;;
1788m68k-*-rtems*)
1789	xm_defines=POSIX
1790	tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems"
1791	tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h"
1792	extra_parts="crtbegin.o crtend.o"
1793	if test x$enable_threads = xyes; then
1794	  thread_file='rtems'
1795	fi
1796	;;
1797m88k-*-aout*)
1798	xm_defines=POSIX
1799	tm_file=m88k/m88k-aout.h
1800	;;
1801m88k-*-openbsd*)
1802	tmake_file="t-libc-ok t-openbsd"
1803#	tm_file="${tm_file} exec-stack.h"
1804	use_collect2=yes
1805	gas=yes
1806	;;
1807m88k-*-sysv4*)
1808	xm_defines=POSIX
1809	tm_file="dbxelf.h elfos.h svr4.h m88k/sysv4.h"
1810	extra_parts="crtbegin.o crtend.o"
1811	tmake_file=m88k/t-sysv4
1812	;;
1813mcore-*-elf)
1814	tm_file="dbxelf.h elfos.h svr4.h ${tm_file} mcore/mcore-elf.h"
1815	tmake_file=mcore/t-mcore
1816	;;
1817mcore-*-pe*)
1818	tm_file=mcore/mcore-pe.h
1819	tmake_file=mcore/t-mcore-pe
1820	;;
1821mips-sgi-irix6*o32)		# SGI System V.4., IRIX 6, O32 ABI
1822	if test x$gas = xyes
1823	then
1824		tm_file="mips/iris5.h mips/iris5gas.h mips/iris6-o32-gas.h"
1825		if test x$stabs = xyes
1826		then
1827			tm_file="${tm_file} dbx.h mips/dbxmdebug.h"
1828		fi
1829		tmake_file=mips/t-iris5-gas
1830	else
1831		tm_file="mips/iris5.h mips/iris6-o32-as.h"
1832		tmake_file=mips/t-iris5-as
1833	fi
1834	tm_file="${tm_file} mips/iris6-o32.h"
1835	tmake_file="${tmake_file} mips/t-iris mips/t-iris5-6"
1836	xm_defines=POSIX
1837	xm_file=mips/xm-iris5.h
1838	# mips-tfile doesn't work yet
1839	# See comment in mips/iris5.h file.
1840	use_collect2=yes
1841#	if test x$enable_threads = xyes; then
1842#		thread_file='irix'
1843#	fi
1844	;;
1845mips-sgi-irix6*)		# SGI System V.4., IRIX 6
1846	if test "x$gnu_ld" = xyes
1847	then
1848		tm_file="mips/iris6.h mips/iris6gld.h"
1849	else
1850		tm_file=mips/iris6.h
1851	fi
1852	tmake_file="mips/t-iris mips/t-iris5-6 mips/t-iris6"
1853	xm_defines=POSIX
1854#	if test x$enable_threads = xyes; then
1855#		thread_file='irix'
1856#	fi
1857	;;
1858mips-wrs-vxworks)
1859	tm_file="${tm_file} mips/elf.h mips/vxworks.h"
1860	tmake_file=mips/t-ecoff
1861	gas=yes
1862	gnu_ld=yes
1863	extra_parts="crtbegin.o crtend.o"
1864	thread_file='vxworks'
1865	;;
1866mips-sgi-irix5cross64)		# Irix5 host, Irix 6 target, cross64
1867	tm_file="mips/iris6.h mips/cross64.h"
1868	xm_defines=POSIX
1869	xm_file=mips/xm-iris5.h
1870	tmake_file="mips/t-iris mips/t-cross64"
1871	# See comment in mips/iris[56].h files.
1872	use_collect2=yes
1873#	if test x$enable_threads = xyes; then
1874#		thread_file='irix'
1875#	fi
1876	;;
1877mips-sni-sysv4)
1878	if test x$gas = xyes
1879	then
1880		if test x$stabs = xyes
1881		then
1882			tm_file=mips/iris5gdb.h
1883		else
1884			tm_file="mips/sni-svr4.h mips/sni-gas.h"
1885		fi
1886	else
1887		tm_file=mips/sni-svr4.h
1888	fi
1889	xm_defines=POSIX
1890        if test x$gnu_ld != xyes
1891        then
1892                use_collect2=yes
1893        fi
1894        ;;
1895mips-sgi-irix5*)		# SGI System V.4., IRIX 5
1896	if test x$gas = xyes
1897	then
1898		tm_file="mips/iris5.h mips/iris5gas.h"
1899		if test x$stabs = xyes
1900		then
1901			tm_file="${tm_file} dbx.h mips/dbxmdebug.h"
1902		fi
1903		tmake_file=mips/t-iris5-gas
1904	else
1905		tm_file=mips/iris5.h
1906		tmake_file=mips/t-iris5-as
1907	fi
1908	tmake_file="${tmake_file} mips/t-iris mips/t-iris5-6"
1909	xm_defines=POSIX
1910	xm_file=mips/xm-iris5.h
1911	# mips-tfile doesn't work yet
1912	# See comment in mips/iris5.h file.
1913	use_collect2=yes
1914#	if test x$enable_threads = xyes; then
1915#		thread_file='irix'
1916#	fi
1917	;;
1918mips-sgi-*)	# would otherwise be caught by mips-*-elf*
1919	echo "*** Configuration $machine not supported" 1>&2
1920	exit 1
1921	;;
1922mips*-*-netbsd*)			# NetBSD/mips, either endian.
1923	target_cpu_default="MASK_GAS|MASK_ABICALLS"
1924	tm_file="elfos.h ${tm_file} mips/netbsd.h"
1925	tmake_file="${tmake_file} mips/t-netbsd"
1926	;;
1927mips*-*-linux*)				# Linux MIPS, either endian.
1928        tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
1929	case $machine in
1930        mipsisa32*-*)
1931                target_cpu_default="MASK_SOFT_FLOAT"
1932		tm_defines="MIPS_ISA_DEFAULT=32"
1933                ;;
1934        esac
1935	tmake_file="t-slibgcc-elf-ver t-linux mips/t-linux"
1936	;;
1937mips*-*-openbsd*)
1938	target_cpu_default="MASK_GAS|MASK_ABICALLS"
1939	tm_file="elfos.h ${tm_file}"
1940	case $machine in
1941        mips64*-*)
1942		tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_64"
1943		tmake_file="t-openbsd mips/t-openbsd64"
1944		;;
1945        mips*-*)
1946		tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
1947		;;
1948	esac
1949	;;
1950mips-*-ecoff* | mipsel-*-ecoff*)
1951	if test x$stabs = xyes; then
1952		tm_file="${tm_file} dbx.h"
1953	fi
1954	tmake_file=mips/t-ecoff
1955	;;
1956mipsisa32-*-elf* | mipsisa32el-*-elf*)
1957	tm_file="${tm_file} mips/elf.h"
1958	tmake_file=mips/t-isa3264
1959	tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_MEABI"
1960	;;
1961mipsisa64-*-elf* | mipsisa64el-*-elf*)
1962	tm_file="${tm_file} mips/elf.h"
1963	tmake_file=mips/t-isa3264
1964	target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
1965	tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_MEABI"
1966	;;
1967mipsisa64sr71k-*-elf*)
1968        tm_file="${tm_file} mips/elf.h"
1969        tmake_file=mips/t-sr71k
1970	target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
1971	tm_defines="MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_MEABI"
1972        ;;
1973mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
1974	tm_file="${tm_file} mips/elf.h"
1975	tmake_file=mips/t-elf
1976	target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
1977	tm_defines="MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
1978	;;
1979mips-*-elf* | mipsel-*-elf*)
1980	tm_file="${tm_file} mips/elf.h"
1981	tmake_file=mips/t-elf
1982	;;
1983mips64-*-elf* | mips64el-*-elf*)
1984	tm_file="${tm_file} mips/elf64.h"
1985	tmake_file=mips/t-elf
1986	target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
1987	tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
1988	;;
1989mips64vr-*-elf* | mips64vrel-*-elf*)
1990        tm_file="mips/vr.h ${tm_file} mips/elf64.h"
1991        tm_defines="MIPS_ABI_DEFAULT=ABI_O64 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1"
1992        tmake_file=mips/t-vr
1993        ;;
1994mips64orion-*-elf* | mips64orionel-*-elf*)
1995	tm_file="${tm_file} mips/elforion.h mips/elf64.h"
1996	tmake_file=mips/t-elf
1997	tmake_file=mips/t-elf
1998	target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
1999	tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2000	;;
2001mips64orion-*-rtems*)
2002	xm_defines=POSIX
2003	tm_file="${tm_file} mips/elforion.h mips/elf64.h mips/rtems64.h rtems.h"
2004	tmake_file="mips/t-elf t-rtems"
2005	tmake_file=mips/t-elf
2006	target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
2007	tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2008	if test x$enable_threads = xyes; then
2009	  thread_file='rtems'
2010	fi
2011	;;
2012mips*-*-rtems*)
2013	xm_defines=POSIX
2014	tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h"
2015	tmake_file="mips/t-elf t-rtems mips/t-rtems"
2016	if test x$enable_threads = xyes; then
2017	  thread_file='rtems'
2018	fi
2019	;;
2020mipstx39-*-elf* | mipstx39el-*-elf*)
2021	tm_file="${tm_file} mips/r3900.h mips/elf.h"
2022	tmake_file=mips/t-r3900
2023	;;
2024mmix-knuth-mmixware)
2025	;;
2026mn10200-*-*)
2027	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
2028	if test x$stabs = xyes
2029	then
2030		tm_file="${tm_file} dbx.h"
2031	fi
2032	use_collect2=no
2033	;;
2034mn10300-*-*)
2035	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
2036	if test x$stabs = xyes
2037	then
2038		tm_file="${tm_file} dbx.h"
2039	fi
2040	use_collect2=no
2041	;;
2042ns32k-*-netbsdelf*)
2043	echo "GCC does not yet support the ${machine} target"; exit 1
2044	;;
2045ns32k-*-netbsd*)
2046	tm_file="${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
2047	# On NetBSD, the headers are already okay, except for math.h.
2048	tmake_file="t-netbsd ns32k/t-ns32k"
2049	extra_parts=""
2050	use_collect2=yes
2051	;;
2052pdp11-*-bsd)
2053	tm_file="${tm_file} pdp11/2bsd.h"
2054        ;;
2055pdp11-*-*)
2056	;;
2057avr-*-*)
2058	;;
2059ns32k-*-openbsd*)
2060	# Nothing special
2061	;;
2062romp-*-openbsd*)
2063	# Nothing special
2064	;;
2065powerpc-*-openbsd*)
2066	tm_file="rs6000/rs6000.h rs6000/openbsd1.h dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h openbsd.h ${tm_file}"
2067	tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-openbsd"
2068	tm_file="${tm_file} exec-stack.h"
2069	;;
2070powerpc64-*-linux*)
2071	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux64.h"
2072	out_file=rs6000/rs6000.c
2073	tmake_file="rs6000/t-rs6000 t-slibgcc-elf-ver t-linux rs6000/t-linux64"
2074	;;
2075powerpc64-*-gnu*)
2076	tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux64.h rs6000/gnu.h"
2077	out_file=rs6000/rs6000.c
2078	tmake_file="rs6000/t-rs6000 t-slibgcc-elf-ver t-gnu rs6000/t-linux64"
2079	;;
2080powerpc-*-beos*)
2081	tm_file="${tm_file} rs6000/aix.h rs6000/beos.h rs6000/xcoff.h"
2082	xm_defines=POSIX
2083	tmake_file=rs6000/t-beos
2084	extra_headers=
2085	;;
2086powerpc-*-darwin*)
2087	tm_file="${tm_file} darwin.h rs6000/darwin.h"
2088	tm_p_file="${tm_p_file} darwin-protos.h"
2089	tmake_file="rs6000/t-rs6000 t-darwin rs6000/t-darwin"
2090	extra_objs="darwin.o"
2091	target_gtfiles="\$(srcdir)/config/darwin.c"
2092	c_target_objs="darwin-c.o"
2093	cxx_target_objs="darwin-c.o"
2094	extra_parts="crt2.o"
2095	# Darwin linker does collect2 functionality
2096	use_collect2=no
2097	extra_headers=altivec.h
2098	;;
2099powerpc*-*-freebsd*)
2100	tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
2101	out_file=rs6000/rs6000.c
2102	tmake_file="rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2103	;;
2104powerpc-*-sysv*)
2105	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
2106	xm_defines=POSIX
2107	tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2108	;;
2109powerpc-*-netbsd*)
2110	tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2111	tmake_file="${tmake_file} rs6000/t-netbsd"
2112	;;
2113powerpc-*-chorusos*)
2114	xm_defines=POSIX
2115	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h chorus.h"
2116	tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2117	case x${enable_threads} in
2118	  xyes | xpthreads | xposix)
2119		thread_file='posix'
2120		;;
2121	esac
2122	;;
2123powerpc-*-eabiaix*)
2124	xm_defines=POSIX
2125	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabiaix.h"
2126	tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2127	;;
2128powerpc-*-eabispe*)
2129	xm_defines=POSIX
2130	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabispe.h"
2131	tmake_file="rs6000/t-ppcendian rs6000/t-ppccomm"
2132	;;
2133powerpc-*-eabisimaltivec*)
2134	xm_defines=POSIX
2135	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h"
2136	tmake_file="rs6000/t-ppcendian rs6000/t-ppccomm"
2137	;;
2138powerpc-*-eabisim*)
2139	xm_defines=POSIX
2140	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
2141	tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2142	;;
2143powerpc-*-elf*)
2144	xm_defines=POSIX
2145	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
2146	tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2147	;;
2148powerpc-*-eabialtivec*)
2149	xm_defines=POSIX
2150	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
2151	tmake_file="rs6000/t-ppcendian rs6000/t-ppccomm"
2152	;;
2153powerpc-*-eabi*)
2154	xm_defines=POSIX
2155	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h"
2156	tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2157	;;
2158powerpc-*-rtems*)
2159	xm_defines=POSIX
2160	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h rtems.h"
2161	tmake_file="rs6000/t-fprules rs6000/t-rtems t-rtems rs6000/t-ppccomm"
2162	if test x$enable_threads = xyes; then
2163	  thread_file='rtems'
2164	fi
2165	;;
2166powerpc-*-linux*libc1)
2167	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
2168	out_file=rs6000/rs6000.c
2169	tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
2170	if test x$enable_threads = xyes; then
2171		thread_file='posix'
2172	fi
2173	;;
2174powerpc-*-linux-gnualtivec*)
2175	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h"
2176	out_file=rs6000/rs6000.c
2177	tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
2178	;;
2179powerpc-*-linux*)
2180	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
2181	out_file=rs6000/rs6000.c
2182	tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
2183	;;
2184powerpc-*-gnu-gnualtivec*)
2185	tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h rs6000/gnu.h"
2186	out_file=rs6000/rs6000.c
2187	tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
2188	if test x$enable_threads = xyes; then
2189		thread_file='posix'
2190	fi
2191	;;
2192powerpc-*-gnu*)
2193	tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/gnu.h"
2194	out_file=rs6000/rs6000.c
2195	tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
2196	if test x$enable_threads = xyes; then
2197		thread_file='posix'
2198	fi
2199	;;
2200powerpc-wrs-vxworks*)
2201	xm_defines=POSIX
2202        tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/vxppc.h"
2203        tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2204	thread_file='vxworks'
2205        ;;
2206powerpc-wrs-windiss*)
2207        xm_defines=POSIX
2208	tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h"
2209        tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2210        thread_file=""
2211        ;;
2212powerpcle-wrs-vxworks*)
2213	xm_defines=POSIX
2214        tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
2215        tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2216	thread_file='vxworks'
2217        ;;
2218powerpcle-*-sysv*)
2219	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
2220	xm_defines=POSIX
2221	tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2222	;;
2223powerpcle-*-elf*)
2224	xm_defines=POSIX
2225	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
2226	tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2227	;;
2228powerpcle-*-eabisim*)
2229	xm_defines=POSIX
2230	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
2231	tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2232	;;
2233powerpcle-*-eabi*)
2234	xm_defines=POSIX
2235	tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
2236	tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2237	;;
2238rs6000-ibm-aix3.[01]*)
2239	xm_defines=POSIX
2240	tm_file="${tm_file} rs6000/aix.h rs6000/aix31.h rs6000/xcoff.h"
2241	use_collect2=yes
2242	;;
2243rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
2244	xm_defines=POSIX
2245	tm_file="${tm_file} rs6000/aix.h rs6000/aix3newas.h rs6000/xcoff.h"
2246	tmake_file=rs6000/t-newas
2247	use_collect2=yes
2248	extra_headers=
2249	;;
2250rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
2251	xm_defines=POSIX
2252	tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
2253	tmake_file=rs6000/t-newas
2254	use_collect2=yes
2255	extra_headers=
2256	;;
2257rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2258	xm_defines=POSIX
2259	tm_file="${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
2260	tmake_file=rs6000/t-aix43
2261	use_collect2=yes
2262	thread_file='aix'
2263	extra_headers=
2264	;;
2265rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
2266	xm_defines=POSIX
2267	tm_file="${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h"
2268	tmake_file=rs6000/t-aix43
2269	use_collect2=yes
2270	thread_file='aix'
2271	extra_headers=
2272	;;
2273rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
2274	xm_defines=POSIX
2275	tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h"
2276	tmake_file=rs6000/t-aix52
2277	use_collect2=yes
2278	thread_file='aix'
2279	extra_headers=
2280	;;
2281rs6000-ibm-aix*)
2282	xm_defines=POSIX
2283	tm_file="${tm_file} rs6000/aix.h rs6000/xcoff.h"
2284	use_collect2=yes
2285	;;
2286rs6000-bull-bosx)
2287	xm_defines=POSIX
2288	tm_file="${tm_file} rs6000/aix.h rs6000/xcoff.h"
2289	use_collect2=yes
2290	;;
2291rs6000-*-mach*)
2292	tm_file="${tm_file} rs6000/mach.h"
2293	xm_defines=POSIX
2294	use_collect2=yes
2295	;;
2296rs6000-*-lynxos*)
2297	tm_file="lynx.h rs6000/lynx.h"
2298	tmake_file=rs6000/t-rs6000
2299	use_collect2=yes
2300	;;
2301s390-*-linux*)
2302	tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
2303	tmake_file="t-slibgcc-elf-ver t-linux s390/t-crtstuff"
2304	;;
2305s390x-*-linux*)
2306	tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
2307	tm_p_file=s390/s390-protos.h
2308	md_file=s390/s390.md
2309	extra_modes=s390/s390-modes.def
2310	out_file=s390/s390.c
2311	tmake_file="t-slibgcc-elf-ver t-linux s390/t-crtstuff s390/t-linux64"
2312	;;
2313sh-*-elf* | sh[2346l]*-*-elf*)
2314	tmake_file="sh/t-sh sh/t-elf"
2315	case $machine in
2316	shl* | sh64l*)
2317		tm_file="sh/little.h ${tm_file}"
2318		tmake_file="${tmake_file} sh/t-le"
2319		;;
2320	esac
2321	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/embed-elf.h"
2322	case $machine in
2323	sh64*)
2324		tmake_file="${tmake_file} sh/t-sh64"
2325		tm_file="${tm_file} sh/sh64.h"
2326		extra_headers="shmedia.h ushmedia.h sshmedia.h"
2327		;;
2328	sh4_single*)  target_cpu_default="SELECT_SH4_SINGLE" ;;
2329	sh4*)  target_cpu_default="SELECT_SH4" ;;
2330	sh3e*) target_cpu_default="SELECT_SH3E" ;;
2331	sh3*)  target_cpu_default="SELECT_SH3" ;;
2332	sh2*)  target_cpu_default="SELECT_SH2" ;;
2333	esac
2334	case $machine in
2335	sh[234]*) tmake_file="${tmake_file} sh/t-monolib" ;;
2336	esac
2337	;;
2338sh-*-rtemself*)
2339	xm_defines=POSIX
2340	tmake_file="sh/t-sh sh/t-elf t-rtems"
2341	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/embed-elf.h sh/rtemself.h rtems.h"
2342	if test x$enable_threads = xyes; then
2343	  thread_file='rtems'
2344	fi
2345	;;
2346sh-*-rtems*)
2347	xm_defines=POSIX
2348	tmake_file="sh/t-sh t-rtems"
2349	tm_file="${tm_file} sh/coff.h sh/rtems.h rtems.h"
2350	if test x$enable_threads = xyes; then
2351	  thread_file='rtems'
2352	fi
2353	;;
2354sh-*-linux* | sh[2346lbe]*-*-linux*)
2355	tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux"
2356	case $machine in
2357	sh*be-*-* | sh*eb-*-*) ;;
2358	*)
2359		tm_file="sh/little.h ${tm_file}"
2360		tmake_file="${tmake_file} sh/t-le"
2361		;;
2362	esac
2363	tmake_file="${tmake_file} sh/t-linux"
2364	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
2365	gas=yes gnu_ld=yes
2366	case $machine in
2367	sh64*)
2368		tmake_file="${tmake_file} sh/t-sh64"
2369		tm_file="${tm_file} sh/sh64.h"
2370		extra_headers="shmedia.h ushmedia.h sshmedia.h"
2371		;;
2372	sh4_single*) target_cpu_default="SELECT_SH4_SINGLE" ;;
2373	sh4*) target_cpu_default="SELECT_SH4" ;;
2374	sh3e[lb]e*) target_cpu_default="SELECT_SH3E" ;;
2375	sh3e[lb]*) target_cpu_default="SELECT_SH3" ;;
2376	sh3e*) target_cpu_default="SELECT_SH3E" ;;
2377	sh3*) target_cpu_default="SELECT_SH3" ;;
2378	sh2*) target_cpu_default="SELECT_SH2" ;;
2379	esac
2380	case $machine in
2381	sh[234]*) tmake_file="${tmake_file} sh/t-monolib" ;;
2382	esac
2383	;;
2384sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
2385  sh64-*-netbsd* | sh64l*-*-netbsd*)
2386	tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h netbsd.h netbsd-elf.h sh/netbsd-elf.h"
2387	tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2388	case $machine in
2389	sh*l*-*)
2390		tm_file="sh/little.h ${tm_file}"
2391		tmake_file="${tmake_file} sh/t-le"
2392		;;
2393	*)
2394		tmake_file="${tmake_file} sh/t-be"
2395		;;
2396	esac
2397	case $machine in
2398	sh5*-*)
2399		# SHmedia, 32-bit ABI
2400		target_cpu_default="SH5_BIT|SH4_BIT|SH3E_BIT"
2401		tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5"
2402		;;
2403	sh64*-*)
2404		# SHmedia, 64-bit ABI
2405		target_cpu_default="SH5_BIT|SH4_BIT"
2406		tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5 sh/t-netbsd-sh5-64"
2407		;;
2408	*)
2409		# SH3, software floating point
2410		target_cpu_default="SH1_BIT|SH2_BIT|SH3_BIT"
2411		tmake_file="${tmake_file} sh/t-netbsd"
2412		;;
2413	esac
2414	;;
2415sh-*-openbsd*)
2416	tm_file="sh/little.h dbxelf.h sh/sh.h elfos.h sh/elf.h ${tm_file}"
2417	tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2418	# SH3, software floating point
2419	target_cpu_default="SH1_BIT|SH2_BIT|SH3_BIT"
2420	tmake_file="${tmake_file} sh/t-openbsd"
2421	;;
2422sh-*-*)
2423	tm_file="${tm_file} sh/coff.h"
2424	;;
2425sparc-tti-*)
2426	tm_file="${tm_file} sparc/pbd.h"
2427	xm_defines=POSIX
2428	;;
2429sparc64-wrs-vxworks*)
2430        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h sparc/biarch64.h gofast.h sparc/vxsparc64.h"
2431        tmake_file="sparc/t-vxsparc64 sparc/t-crtfm"
2432        use_collect2=yes
2433        ;;
2434sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
2435	tm_file="${tm_file} aoutos.h sparc/aout.h gofast.h sparc/vxsparc.h"
2436	tmake_file=sparc/t-vxsparc
2437	use_collect2=yes
2438	thread_file='vxworks'
2439	;;
2440sparc-*-aout*)
2441	tmake_file=sparc/t-sparcbare
2442	tm_file="sparc/sparc.h aoutos.h sparc/aout.h libgloss.h"
2443	;;
2444sparc-*-netbsdelf*)
2445	tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2446	;;
2447sparc-*-netbsd*)
2448	tm_file="${tm_file} sparc/aout.h netbsd.h netbsd-aout.h sparc/netbsd.h"
2449	tmake_file=t-netbsd
2450	extra_parts=""
2451	use_collect2=yes
2452	;;
2453sparc-*-openbsd*)
2454	tm_file="sparc/sparc.h elfos.h svr4.h sparc/sysv4.h ${tm_file}"
2455	tm_file="${tm_file} exec-stack.h"
2456	# needed to unconfuse gdb
2457	tmake_file="t-libc-ok t-openbsd sparc/t-openbsd"
2458	# we need collect2 until our bug is fixed...
2459	gas=yes gnu_ld=yes
2460	use_collect2=yes
2461	;;
2462sparc64-*-openbsd*)
2463	tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h openbsd.h ${openbsd_libspec} sparc/openbsd64.h"
2464	tm_file="${tm_file} exec-stack.h"
2465	gas=yes gnu_ld=yes
2466	with_cpu=ultrasparc
2467	float_format=i128
2468	;;
2469sparc-*-bsd*)
2470	tm_file="${tm_file} sparc/bsd.h"
2471	;;
2472sparc-*-chorusos*)
2473	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h chorus.h"
2474	tmake_file="sparc/t-chorus-elf sparc/t-crtfm"
2475	extra_parts="crti.o crtn.o crtbegin.o crtend.o"
2476	case x${enable_threads} in
2477	  xyes | xpthreads | xposix)
2478		thread_file='posix'
2479		;;
2480	esac
2481	;;
2482sparc-*-elf*)
2483	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h"
2484	tmake_file="sparc/t-elf sparc/t-crtfm"
2485	extra_parts="crti.o crtn.o crtbegin.o crtend.o"
2486	;;
2487sparc-*-linux*aout*)		# SPARC's running GNU/Linux, a.out
2488	tm_file="aoutos.h sparc/sparc.h sparc/aout.h sparc/linux-aout.h"
2489	gnu_ld=yes
2490	;;
2491sparc-*-linux*libc1*)	# SPARC's running GNU/Linux, libc5
2492	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
2493	tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 sparc/t-crtfm"
2494	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2495	gnu_ld=yes
2496	;;
2497sparc-*-linux*)		# SPARC's running GNU/Linux, libc6
2498	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
2499	tmake_file="t-slibgcc-elf-ver t-linux sparc/t-crtfm"
2500	;;
2501sparc-*-lynxos*)
2502	if test x$gas = xyes
2503	then
2504		tm_file="${tm_file} lynx.h sparc/aout.h sparc/lynx.h"
2505	else
2506		tm_file="${tm_file} lynx-ng.h sparc/aout.h sparc/lynx-ng.h"
2507	fi
2508	tmake_file=sparc/t-sunos41
2509	;;
2510sparc-*-rtemsaout*)	# would otherwise be caught by sparc-*-rtems*
2511	echo "*** Configuration $machine not supported" 1>&2
2512	exit 1
2513	;;
2514sparc-*-rtems*)
2515	xm_defines=POSIX
2516	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h sparc/rtemself.h rtems.h"
2517	tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
2518	extra_parts="crti.o crtn.o crtbegin.o crtend.o"
2519	if test x$enable_threads = xyes; then
2520	  thread_file='rtems'
2521	fi
2522	;;
2523sparc64-*-solaris2* | sparcv9-*-solaris2*)
2524	tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/sol2-64.h sparc/sol2-bi.h"
2525	if test x$gnu_ld = xyes; then
2526		tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h"
2527	fi
2528	if test x$gas = xyes; then
2529		tm_file="${tm_file} sparc/sol2-gas-bi.h"
2530	fi
2531	xm_defines=POSIX
2532	tmake_file="sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
2533	if test x$gnu_ld = xyes; then
2534		tmake_file="$tmake_file t-slibgcc-elf-ver"
2535	else
2536		tmake_file="$tmake_file t-slibgcc-sld"
2537	fi
2538	extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
2539	if test x${enable_threads} = x ; then
2540	    enable_threads=$have_pthread_h
2541	    if test x${enable_threads} = x ; then
2542		enable_threads=$have_thread_h
2543	    fi
2544	fi
2545	if test x${enable_threads} = xyes ; then
2546	    if test x${have_pthread_h} = xyes ; then
2547		thread_file='posix'
2548	    else
2549		thread_file='solaris'
2550	    fi
2551	fi
2552	;;
2553sparc-hal-solaris2*)
2554        xm_defines=POSIX
2555        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/hal.h"
2556        tmake_file="sparc/t-halos sparc/t-sol2 sparc/t-crtfm"
2557	if test x$gnu_ld = xyes; then
2558		tm_file="${tm_file} sparc/sol2-gld.h"
2559		tmake_file="$tmake_file t-slibgcc-elf-ver"
2560	else
2561		tmake_file="$tmake_file t-slibgcc-sld"
2562	fi
2563        extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
2564	thread_file='solaris'
2565        ;;
2566sparc-*-solaris2*)
2567	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h"
2568	if test x$gnu_ld = xyes; then
2569		tm_file="${tm_file} sparc/sol2-gld.h"
2570	fi
2571	tmake_file="sparc/t-sol2 sparc/t-crtfm"
2572	if test x$gnu_ld = xyes; then
2573		tmake_file="$tmake_file t-slibgcc-elf-ver"
2574	else
2575		tmake_file="$tmake_file t-slibgcc-sld"
2576	fi
2577	case $machine in
2578	*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
2579		if test x$gnu_ld = xno; then
2580			tm_file="${tm_file} sparc/sol26-sld.h"
2581		fi
2582		;;
2583	*-*-solaris2.[789] | *-*-solaris2.1[0-9])
2584		tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h"
2585		if test x$gnu_ld = xyes; then
2586			tm_file="${tm_file} sparc/sol2-gld-bi.h"
2587		fi
2588		if test x$gas = xyes; then
2589			tm_file="${tm_file} sparc/sol2-gas-bi.h"
2590		fi
2591		tmake_file="$tmake_file sparc/t-sol2-64"
2592		;;
2593	esac
2594	xm_defines=POSIX
2595	extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
2596	if test x${enable_threads} = x; then
2597	    enable_threads=$have_pthread_h
2598	    if test x${enable_threads} = x; then
2599		enable_threads=$have_thread_h
2600	    fi
2601	fi
2602	if test x${enable_threads} = xyes; then
2603	    if test x${have_pthread_h} = xyes; then
2604		thread_file='posix'
2605	    else
2606		thread_file='solaris'
2607	    fi
2608	fi
2609	;;
2610sparc-*-sunos4.0*)
2611	tm_file="${tm_file} sparc/aout.h sparc/sunos4.h"
2612	use_collect2=yes
2613	;;
2614sparc-*-sunos4*)
2615	tm_file="${tm_file} sparc/aout.h sparc/sunos4.h"
2616	tmake_file=sparc/t-sunos41
2617	use_collect2=yes
2618	if test x$gas = xyes; then
2619		tm_file="${tm_file} sparc/sun4gas.h"
2620	fi
2621	;;
2622sparc-*-sunos3*)
2623	tm_file="${tm_file} sparc/aout.h sparc/sun4o3.h"
2624	use_collect2=yes
2625	;;
2626sparc-*-sysv4*)
2627	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h"
2628	xm_defines=POSIX
2629	tmake_file=t-svr4
2630	extra_parts="crtbegin.o crtend.o"
2631	;;
2632sparc-*-vxsim*)
2633	xm_defines=POSIX
2634	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/vxsim.h"
2635	tmake_file=sparc/t-vxsparc
2636	;;
2637sparclet-*-aout*)
2638	tm_file="${tm_file} aoutos.h sparc/aout.h sparc/splet.h libgloss.h"
2639	tmake_file=sparc/t-splet
2640	;;
2641sparclite-*-coff*)
2642	tm_file="${tm_file} gofast.h sparc/lite.h svr3.h sparc/litecoff.h dbxcoff.h libgloss.h"
2643	tmake_file=sparc/t-sparclite
2644	;;
2645sparclite-*-aout*)
2646	tm_file="${tm_file} gofast.h sparc/aout.h sparc/lite.h aoutos.h libgloss.h"
2647	tmake_file=sparc/t-sparclite
2648	;;
2649sparclite-*-elf*)
2650	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h gofast.h sparc/liteelf.h"
2651	tmake_file="sparc/t-sparclite sparc/t-crtfm"
2652        extra_parts="crtbegin.o crtend.o"
2653	;;
2654sparc86x-*-aout*)
2655	tm_file="${tm_file} gofast.h sparc/aout.h sparc/sp86x-aout.h aoutos.h libgloss.h"
2656	tmake_file=sparc/t-sp86x
2657	;;
2658sparc86x-*-elf*)
2659	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h gofast.h sparc/sp86x-elf.h"
2660	tmake_file="sparc/t-sp86x sparc/t-crtfm"
2661        extra_parts="crtbegin.o crtend.o"
2662	;;
2663sparc64-*-aout*)
2664	tm_file="sparc/sparc.h aoutos.h sparc/aout.h sparc/sp64-aout.h"
2665	;;
2666sparc64-*-elf*)
2667	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/sp64-elf.h"
2668	tmake_file="${tmake_file} sparc/t-crtfm"
2669	extra_parts="crtbegin.o crtend.o"
2670	;;
2671sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2672	tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2673	tmake_file="${tmake_file} sparc/t-crtfm"
2674	xmake_file=none
2675	case "x$with_cpu" in
2676		xultrasparc) ;;
2677		x) with_cpu=ultrasparc ;;
2678		*) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2679	esac
2680	;;
2681sparc64-*-linux*)		# 64-bit SPARC's running GNU/Linux
2682	tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64 sparc/t-crtfm"
2683	tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h"
2684	;;
2685sparc64-*-netbsd*)
2686	tmake_file="${tmake_file} sparc/t-netbsd64"
2687	tm_file="sparc/biarch64.h ${tm_file}"
2688	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2689	;;
2690strongarm-*-elf*)
2691	tm_file="arm/strongarm-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
2692	tmake_file=arm/t-strongarm-elf
2693	out_file=arm/arm.c
2694	md_file=arm/arm.md
2695	extra_modes=arm/arm-modes.def
2696	;;
2697strongarm-*-coff*)
2698	tm_file="arm/semi.h arm/aout.h arm/coff.h arm/strongarm-coff.h arm/arm.h"
2699	tmake_file=arm/t-strongarm-coff
2700	out_file=arm/arm.c
2701	md_file=arm/arm.md
2702	extra_modes=arm/arm-modes.def
2703	;;
2704strongarm-*-pe)
2705	tm_file="arm/semi.h arm/aout.h arm/coff.h arm/strongarm-coff.h arm/arm.h arm/pe.h arm/strongarm-pe.h"
2706	tmake_file=arm/t-strongarm-pe
2707	out_file=arm/arm.c
2708	md_file=arm/arm.md
2709	extra_modes=arm/arm-modes.def
2710	extra_objs=pe.o
2711	;;
2712thumb*-*-*)
2713	{ echo "config.gcc: error:
2714*** The Thumb targets have been deprecated.  The equivalent
2715*** ARM based toolchain can now generate Thumb instructions
2716*** when the -mthumb switch is given to the compiler." 1>&2; exit 1; }
2717	;;
2718v850-*-rtems*)
2719	xm_defines=POSIX
2720	tm_file="dbxelf.h elfos.h svr4.h ${tm_file} v850/v850.h v850/rtems.h rtems.h"
2721	tmake_file="v850/t-v850 t-rtems"
2722	if test x$stabs = xyes
2723	then
2724		tm_file="${tm_file} dbx.h"
2725	fi
2726	use_collect2=no
2727	c_target_objs="v850-c.o"
2728	cxx_target_objs="v850-c.o"
2729	;;
2730v850e-*-*)
2731	target_cpu_default="TARGET_CPU_v850e"
2732	tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
2733	tm_p_file=v850/v850-protos.h
2734	tmake_file=v850/t-v850
2735	md_file=v850/v850.md
2736	out_file=v850/v850.c
2737	if test x$stabs = xyes
2738	then
2739		tm_file="${tm_file} dbx.h"
2740	fi
2741	use_collect2=no
2742	c_target_objs="v850-c.o"
2743	cxx_target_objs="v850-c.o"
2744	;;
2745v850-*-*)
2746	target_cpu_default="TARGET_CPU_generic"
2747	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
2748	tmake_file=v850/t-v850
2749	if test x$stabs = xyes
2750	then
2751		tm_file="${tm_file} dbx.h"
2752	fi
2753	use_collect2=no
2754	c_target_objs="v850-c.o"
2755	cxx_target_objs="v850-c.o"
2756	;;
2757vax-*-bsd*)			# VAXen running BSD
2758	tm_file="${tm_file} vax/bsd.h"
2759	use_collect2=yes
2760	;;
2761vax-*-sysv*)			# VAXen running system V
2762	tm_file="${tm_file} vax/vaxv.h"
2763	xm_defines=POSIX
2764	;;
2765vax-*-netbsdelf*)
2766	tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
2767	float_format=vax
2768	;;
2769vax-*-netbsd*)
2770	tm_file="${tm_file} netbsd.h netbsd-aout.h vax/netbsd.h"
2771	tmake_file=t-netbsd
2772	extra_parts=""
2773	use_collect2=yes
2774	;;
2775vax-*-openbsd*)
2776	tm_file="vax/vax.h vax/openbsd1.h openbsd.h ${tm_file}"
2777	tm_file="${tm_file} exec-stack.h"
2778	use_collect2=yes
2779	;;
2780vax-*-ultrix*)			# VAXen running ultrix
2781	tm_file="${tm_file} vax/ultrix.h"
2782	;;
2783vax-*-vms*)			# VAXen running VMS
2784	xm_file=vax/xm-vms.h
2785	tm_file=vax/vms.h
2786	;;
2787vax-*-*)			# VAX default entry
2788	;;
2789xscale-*-elf)
2790	tm_file="arm/xscale-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
2791	tmake_file=arm/t-xscale-elf
2792	out_file=arm/arm.c
2793	md_file=arm/arm.md
2794	extra_modes=arm/arm-modes.def
2795	;;
2796xscale-*-coff)
2797	tm_file="arm/semi.h arm/aout.h arm/coff.h arm/xscale-coff.h arm/arm.h"
2798	tmake_file=arm/t-xscale-coff
2799	out_file=arm/arm.c
2800	md_file=arm/arm.md
2801	extra_modes=arm/arm-modes.def
2802	;;
2803xstormy16-*-elf)
2804	# For historical reasons, the target files omit the 'x'.
2805	tm_file="dbxelf.h elfos.h svr4.h stormy16/stormy16.h"
2806	tm_p_file=stormy16/stormy16-protos.h
2807	md_file=stormy16/stormy16.md
2808	out_file=stormy16/stormy16.c
2809	tmake_file="stormy16/t-stormy16"
2810	extra_parts="crtbegin.o crtend.o"
2811	;;
2812xtensa-*-elf*)
2813	tm_file="${tm_file} dbxelf.h elfos.h svr4.h xtensa/elf.h"
2814	with_newlib=yes
2815	tmake_file=xtensa/t-xtensa
2816	extra_parts="crtbegin.o crtend.o"
2817	fixincludes=Makefile.in # newlib headers should be OK
2818	;;
2819xtensa-*-linux*)
2820	tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h xtensa/linux.h"
2821	tmake_file="t-slibgcc-elf-ver t-linux xtensa/t-xtensa"
2822	;;
2823*)
2824	echo "*** Configuration $machine not supported" 1>&2
2825	exit 1
2826	;;
2827esac
2828
2829case $machine in
2830*-*-sysv*)
2831	install_headers_dir=install-headers-cpio
2832	;;
2833esac
2834
2835# Distinguish i[34567]86
2836# Also, do not run mips-tfile on MIPS if using gas.
2837# Process --with-cpu= for PowerPC/rs6000
2838target_cpu_default2=
2839case $machine in
2840i486-*-*)
2841	target_cpu_default2=TARGET_CPU_DEFAULT_i486
2842	;;
2843i586-*-*)
2844	case $target_alias in
2845		k6_2-*)
2846			target_cpu_default2=TARGET_CPU_DEFAULT_k6_2
2847			;;
2848		k6_3-*)
2849			target_cpu_default2=TARGET_CPU_DEFAULT_k6_3
2850			;;
2851		k6-*)
2852			target_cpu_default2=TARGET_CPU_DEFAULT_k6
2853			;;
2854		pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
2855			target_cpu_default2=TARGET_CPU_DEFAULT_pentium_mmx
2856			;;
2857		*)
2858			target_cpu_default2=TARGET_CPU_DEFAULT_pentium
2859			;;
2860	esac
2861	;;
2862i686-*-* | i786-*-*)
2863	case $target_alias in
2864		athlon_xp-*|athlon_mp-*|athlon_4-*)
2865			target_cpu_default2=TARGET_CPU_DEFAULT_athlon_sse
2866			;;
2867		athlon_tbird-*|athlon-*)
2868			target_cpu_default2=TARGET_CPU_DEFAULT_athlon
2869			;;
2870		pentium2-*)
2871			target_cpu_default2=TARGET_CPU_DEFAULT_pentium2
2872			;;
2873		pentium3-*)
2874			target_cpu_default2=TARGET_CPU_DEFAULT_pentium3
2875			;;
2876		pentium4-*)
2877			target_cpu_default2=TARGET_CPU_DEFAULT_pentium4
2878			;;
2879		*)
2880			target_cpu_default2=TARGET_CPU_DEFAULT_pentiumpro
2881			;;
2882	esac
2883	;;
2884x86_64-*-*)
2885	# We should have hammer chip here, but it does not exist yet and
2886	# thus it is not supported.  Athlon_SSE is probably equivalent feature
2887	# wise to hammer from our point of view except for 64bit mode.
2888	case "x$with_cpu" in
2889		x)
2890			target_cpu_default2=TARGET_CPU_DEFAULT_athlon_sse
2891			;;
2892		xnocona)
2893			target_cpu_default2=TARGET_CPU_DEFAULT_pentium4
2894			;;
2895		xyes|xno)
2896			echo "--with-cpu must be passed a value" 1>&2
2897			exit 1
2898			;;
2899		*)
2900			if test x$pass2done = xyes
2901			then
2902				echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
2903				exit 1
2904			fi
2905			;;
2906	esac
2907	;;
2908alpha*-*-*)
2909	case $machine in
2910		alphaev6[78]*)
2911			target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
2912			;;
2913		alphaev6*)
2914			target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
2915			;;
2916		alphapca56*)
2917			target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
2918			;;
2919		alphaev56*)
2920			target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
2921			;;
2922		alphaev5*)
2923			target_cpu_default2="MASK_CPU_EV5"
2924			;;
2925	esac
2926
2927	if test x$gas = xyes
2928	then
2929		if test "$target_cpu_default2" = ""
2930		then
2931			target_cpu_default2="MASK_GAS"
2932		else
2933			target_cpu_default2="${target_cpu_default2}|MASK_GAS"
2934		fi
2935	fi
2936	;;
2937arm*-*-*)
2938	case "x$with_cpu" in
2939		x)
2940			# The most generic
2941			target_cpu_default2="TARGET_CPU_generic"
2942			;;
2943
2944		# Distinguish cores, and major variants
2945		# arm7m doesn't exist, but D & I don't affect code
2946		xarm[236789] | xarm250 | xarm[67][01]0 \
2947		| xarm7m | xarm7dm | xarm7dmi | xarm[79]tdmi \
2948		| xarm7100 | xarm7500 | xarm7500fe | xarm810 \
2949		| xxscale \
2950		| xstrongarm | xstrongarm110 | xstrongarm1100)
2951			target_cpu_default2="TARGET_CPU_$with_cpu"
2952			;;
2953
2954		xyes | xno)
2955			echo "--with-cpu must be passed a value" 1>&2
2956			exit 1
2957			;;
2958
2959		*)
2960			if test x$pass2done = xyes
2961			then
2962				echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
2963				exit 1
2964			fi
2965			;;
2966	esac
2967	;;
2968
2969hppa*-*-* | parisc*-*-*)
2970	if test x$gas = xyes
2971	then
2972		target_cpu_default2="MASK_GAS|MASK_JUMP_IN_DELAY"
2973	fi
2974	case $machine in
2975		hppa1* | parisc1*)
2976			tm_defines="TARGET_SCHED_DEFAULT=\\\"7100LC\\\""
2977			;;
2978	esac
2979	;;
2980mips*-*-*)
2981	case $machine in
2982	mips*-*-ecoff* | mips*-*-elf*)
2983		if test x$gas = xyes
2984		then
2985			if test x$gnu_ld = xyes
2986			then
2987				target_cpu_default2="MASK_GAS|MASK_SPLIT_ADDR"
2988			else
2989				target_cpu_default2="MASK_GAS"
2990			fi
2991		fi
2992		;;
2993	mips*-*-*)
2994		if test x$gas = xyes
2995		then
2996			target_cpu_default2="MASK_GAS"
2997		fi
2998		;;
2999	esac
3000	case $machine in
3001		mips*el-*-*)
3002			tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
3003			;;
3004	esac
3005	case $tm_file in
3006		*mips/elf.h* | *mips/elf64.h*)
3007			tm_defines="OBJECT_FORMAT_ELF $tm_defines"
3008			;;
3009	esac
3010	if test "x$enable_gofast" = xyes
3011	then
3012		tm_defines="INIT_SUBTARGET_OPTABS=INIT_GOFAST_OPTABS $tm_defines"
3013		tm_file="gofast.h $tm_file"
3014		tmake_file="mips/t-gofast $tmake_file"
3015	else
3016		tmake_file="mips/t-mips $tmake_file"
3017	fi
3018	;;
3019powerpc*-*-* | rs6000-*-*)
3020        if test x$enable_altivec = xyes
3021        then
3022                tm_file="$tm_file rs6000/altivec-defs.h"
3023        fi
3024	case "x$with_cpu" in
3025		x)
3026			;;
3027
3028		xcommon | xpower | xpower2 | xpower3 | xpowerpc | xpowerpc64 \
3029		  | xrios | xrios1 | xrios2 | xrsc | xrsc1 | xrs64a \
3030		  | x601 | x602 | x603 | x603e | x604 | x604e | x620 | x630 \
3031		  | x740 | x750 | x7400 | x7450 | x505)
3032			target_cpu_default2="\\\"$with_cpu\\\""
3033			;;
3034
3035		x401 | x403 | x405 | xec603e | x801 | x821 | x823 | x860)
3036			target_cpu_default2="\\\"$with_cpu\\\""
3037			;;
3038
3039		xyes | xno)
3040			echo "--with-cpu must be passed a value" 1>&2
3041			exit 1
3042			;;
3043
3044		*)
3045			if test x$pass2done = xyes
3046			then
3047				echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3048				exit 1
3049			fi
3050			;;
3051	esac
3052	c_target_objs="${c_target_objs} rs6000-c.o"
3053	cxx_target_objs="${cxx_target_objs} rs6000-c.o"
3054	tmake_file="${tmake_file} rs6000/t-rs6000-c-rule"
3055	;;
3056sparc*-*-*)
3057	case ".$with_cpu" in
3058		.)
3059			target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
3060			;;
3061		.supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
3062			target_cpu_default2="TARGET_CPU_$with_cpu"
3063			;;
3064		*)
3065			if test x$pass2done = xyes
3066			then
3067				echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3068				exit 1
3069			fi
3070			;;
3071	esac
3072	;;
3073v850*-*-*)
3074	case "x$with_cpu" in
3075		x)
3076			;;
3077		xv850e)
3078			target_cpu_default2="TARGET_CPU_$with_cpu"
3079			;;
3080		*)
3081			if test x$pass2done = xyes
3082			then
3083				echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3084				exit 1
3085			fi
3086			;;
3087	esac
3088	;;
3089esac
3090
3091if test "$target_cpu_default2" != ""
3092then
3093	if test "$target_cpu_default" != ""
3094	then
3095		target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
3096	else
3097		target_cpu_default=$target_cpu_default2
3098	fi
3099fi
3100
3101# Save data on machine being used to compile GCC in build_xm_file.
3102# Save data on host machine in vars host_xm_file and host_xmake_file.
3103if test x$pass1done = x
3104then
3105	if test x$xm_file != x
3106	then build_xm_file=$xm_file
3107	fi
3108	build_xm_defines=$xm_defines
3109	build_install_headers_dir=$install_headers_dir
3110	build_exeext=$exeext
3111	pass1done=yes
3112else
3113	if test x$pass2done = x
3114	then
3115		if test x$xm_file != x
3116		then host_xm_file=$xm_file
3117		fi
3118		host_xm_defines=$xm_defines
3119		host_xmake_file="$xmake_file"
3120		host_truncate_target=$truncate_target
3121		host_extra_gcc_objs=$extra_gcc_objs
3122		host_extra_objs=$extra_host_objs
3123		host_exeext=$exeext
3124		pass2done=yes
3125	fi
3126fi
3127