xref: /openbsd/gnu/usr.bin/gcc/gcc/config.gcc (revision d69449ba)
1#	$OpenBSD: config.gcc,v 1.18 2007/01/17 15:06:16 tsi 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   m88k-*-*			\
217 | mn10200-*-*			\
218 | romp-*-*			\
219 | alpha*-*-interix*		\
220 | alpha*-*-linux*libc1*	\
221 | alpha*-*-linux*ecoff*	\
222 | arm*-*-aout*			\
223 | arm*-*-conix*		\
224 | arm*-*-oabi			\
225 | strongarm-*-coff*		\
226 | hppa1.0-*-osf*		\
227 | hppa1.0-*-bsd*		\
228 | hppa1.[01]-*-hpux[789]*	\
229 | hppa*-*-hiux*		\
230 | hppa*-*-lites*		\
231 | i?86-*-win32			\
232 | m68000-hp-bsd*		\
233 | m68000-sun-sunos*		\
234 | m68000-att-sysv*		\
235 | m68k-atari-sysv*		\
236 | m68k-motorola-sysv*		\
237 | m68k-ncr-sysv*		\
238 | m68k-plexus-sysv*		\
239 | m68k-tti-*			\
240 | m68k-crds-unos*		\
241 | m68k-cbm-sysv*		\
242 | m68k-ccur-rtu*		\
243 | m68k-hp-bsd*			\
244 | m68k-sun-mach*		\
245 | m68k-sun-sunos*		\
246 | m68k-*-linux*aout*		\
247 | m68k-*-linux*libc1*		\
248 | m68k-*-psos*			\
249 | mips*-*-ecoff*		\
250 | mips-sni-sysv4		\
251 | mips64orion-*-rtems*		\
252 | ns32k-*-openbsd*		\
253 | powerpc*-*-sysv*		\
254 | powerpc*-*-linux*libc1*	\
255 | rs6000-ibm-aix[123]*		\
256 | rs6000-bull-bosx		\
257 | rs6000-*-mach*		\
258 | sparc-*-aout*		\
259 | sparc-*-netbsd*aout*		\
260 | sparc-*-bsd*			\
261 | sparc-*-chorusos*		\
262 | sparc-*-linux*aout*		\
263 | sparc-*-linux*libc1*		\
264 | sparc-*-lynxos*		\
265 | sparc-hal-solaris2*		\
266 | sparc-*-sunos[34]*		\
267 | sparclet-*-aout*		\
268 | sparclite-*-aout*		\
269 | sparc86x-*-aout*		\
270 | v850-*-rtems*		\
271 | vax-*-vms*			\
272 )
273    if test "x$enable_obsolete" != xyes; then
274      echo "*** Configuration $machine is obsolete." >&2
275      echo "*** Specify --enable-obsolete to build it anyway." >&2
276      echo "*** Support will be REMOVED in the next major release of GCC," >&2
277      echo "*** unless a maintainer comes forward." >&2
278      exit 1
279    fi;;
280esac
281
282# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
283# updated in each machine entry.  Also set default extra_headers for some
284# machines.
285tm_p_file=
286cpu_type=`echo $machine | sed 's/-.*$//'`
287case $machine in
288alpha*-*-*)
289	cpu_type=alpha
290	;;
291strongarm*-*-*)
292	cpu_type=arm
293	;;
294arm*-*-*)
295	cpu_type=arm
296	;;
297xscale-*-*)
298	cpu_type=arm
299	;;
300i[34567]86-*-*)
301	cpu_type=i386
302	extra_headers="mmintrin.h xmmintrin.h emmintrin.h pmmintrin.h"
303	;;
304x86_64-*-*)
305	cpu_type=i386
306	extra_headers="mmintrin.h xmmintrin.h emmintrin.h pmmintrin.h"
307	;;
308ia64-*-*)
309	extra_headers=ia64intrin.h
310	;;
311hppa*-*-* | parisc*-*-*)
312	cpu_type=pa
313	;;
314m680[012]0-*-*)
315	cpu_type=m68k
316	extra_headers=math-68881.h
317	;;
318m68k-*-*)
319	extra_headers=math-68881.h
320	;;
321mips*-*-*)
322	cpu_type=mips
323	;;
324powerpc*-*-*)
325	cpu_type=rs6000
326	extra_headers="ppc-asm.h altivec.h spe.h"
327	;;
328sparc*-*-*)
329	cpu_type=sparc
330	;;
331# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
332sh[123456789l]*-*-*)
333	cpu_type=sh
334	;;
335tic4x-*-*)
336        cpu_type=c4x
337        ;;
338esac
339
340tm_file=${cpu_type}/${cpu_type}.h
341if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
342then
343	tm_p_file=${cpu_type}/${cpu_type}-protos.h
344fi
345extra_modes=
346if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
347then
348	extra_modes=${cpu_type}/${cpu_type}-modes.def
349fi
350
351case $machine in
352x86_64-*-*)
353	tm_file="i386/biarch64.h ${tm_file}"
354	;;
355esac
356
357# On a.out targets, we need to use collect2.
358case $machine in
359*-*-*aout*)
360	use_collect2=yes
361	;;
362esac
363
364# Common parts for GNU/Linux, GNU/Hurd, OpenBSD, NetBSD, and FreeBSD systems.
365case $machine in
366*-*-linux*)
367	xm_defines=POSIX
368	case $machine in
369	*-*-linux*ecoff* | *-*-linux*libc1* | *-*-linux*oldld* | *-*-linux*aout*)
370		;;
371	*)
372		extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
373		gas=yes gnu_ld=yes
374		case x${enable_threads} in
375			x | xyes | xposix) thread_file='posix'
376			;;
377		esac
378		;;
379	esac
380	;;
381*-*-gnu*)
382	# On the Hurd, the setup is just about the same on
383	# each different CPU.  The specific machines that we
384	# support are matched above and just set $cpu_type.
385	xm_defines=POSIX
386	tm_file="${cpu_type}/gnu.h"
387	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
388	# GNU always uses ELF.
389	elf=yes
390	# GNU tools are the only tools.
391	gnu_ld=yes
392	gas=yes
393	# These details are the same as for Linux.
394	# But here we need a little extra magic.
395	tmake_file="t-slibgcc-elf-ver t-linux t-gnu"
396	case $machine in
397	alpha*)
398		tm_file="${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h ${tm_file}"
399		;;
400	i[34567]86-*-*)
401		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}"
402		;;
403	esac
404	;;
405*-*-openbsd*)
406	case $machine in
407	*-*-openbsd2* | *-*-openbsd3.[012])
408		openbsd_libspec="openbsd-libc_r.h"
409		;;
410	*)
411		openbsd_libspec="openbsd-libpthread.h"
412		;;
413	esac
414	tm_file="${openbsd_libspec} ${cpu_type}/openbsd.h"
415	tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
416	xm_defines=POSIX
417	# for gcc in tree, we use our own fragment
418	xmake_file=x-openbsd
419	if test x$enable_threads = xyes; then
420		thread_file='posix'
421		tmake_file="${tmake_file} t-openbsd-thread"
422	fi
423	;;
424*-*-netbsd*)
425	tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd"
426	xm_defines=POSIX
427	gas=yes
428	gnu_ld=yes
429
430	# NetBSD 2.0 and later get POSIX threads enabled by default.
431	# Allow them to be explicitly enabled on any other version.
432	case x${enable_threads} in
433	x)
434		case $machine in
435		*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
436			thread_file='posix'
437			tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
438			;;
439		esac
440		;;
441	xyes | xposix)
442		thread_file='posix'
443		tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
444		;;
445	esac
446
447	# NetBSD 1.7 and later are set up to use GCC's crtstuff for
448	# ELF configurations.  We will clear extra_parts in the
449	# a.out configurations.
450	case $machine in
451	*-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
452		extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
453		;;
454	esac
455	;;
456*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
457	# This is the place-holder for the generic a.out configuration
458	# of FreeBSD.  No actual configuration resides here since
459	# there was only ever a bare-bones ix86 configuration for
460	# a.out and it exists solely in the machine-specific section.
461	# This place-holder must exist to avoid dropping into
462	# the generic ELF configuration of FreeBSD (i.e. it must be
463	# ordered before that section).
464	;;
465*-*-freebsd*)
466	# This is the generic ELF configuration of FreeBSD.  Later
467	# machine-specific sections may refine and add to this
468	# configuration.
469	#
470	# Due to tm_file entry ordering issues that vary between cpu
471	# architectures, we only define fbsd_tm_file to allow the
472	# machine-specific section to dictate the final order of all
473	# entries of tm_file with the minor exception that components
474	# of the tm_file set here will always be of the form:
475	#
476	# freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
477	#
478	# The machine-specific section should not tamper with this
479	# ordering but may order all other entries of tm_file as it
480	# pleases around the provided core setting.
481	gas=yes
482	gnu_ld=yes
483	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
484	case $machine in
485	*-*-freebsd3 | *-*-freebsd[3].*) fbsd_tm_file="freebsd3.h";;
486	*-*-freebsd4 | *-*-freebsd[4].*) fbsd_tm_file="freebsd4.h";;
487	*-*-freebsd5 | *-*-freebsd[5].*) fbsd_tm_file="freebsd5.h";;
488	*-*-freebsd6 | *-*-freebsd[6].*) fbsd_tm_file="freebsd6.h";;
489	*) echo 'Please update *-*-freebsd* in gcc/config.gcc'; exit 1;;
490	esac
491	tmake_file="t-slibgcc-elf-ver t-freebsd"
492	xmake_file=none
493	xm_defines=POSIX
494	case x${enable_threads} in
495	xno) fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h";;
496	x | xyes | xpthreads | xposix)
497		thread_file='posix'
498		tmake_file="${tmake_file} t-freebsd-thread"
499		# Before 5.0, FreeBSD can't bind shared libraries to -lc
500		# when "optionally" threaded via weak pthread_* checks.
501		case $machine in
502		*-*-freebsd[34] | *-*-freebsd[34].*)
503			tmake_file="${tmake_file} t-slibgcc-nolc-override";;
504		esac
505		;;
506	*) echo 'Unknown thread configuration for FreeBSD'; exit 1;;
507	esac
508	fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
509	;;
510esac
511
512case $machine in
513# Support site-specific machine types.
514*local*)
515	rest=`echo $machine | sed -e "s/$cpu_type-//"`
516	tm_file=${cpu_type}/$rest.h
517	if test -f $srcdir/config/${cpu_type}/xm-$rest.h
518	then xm_file=${cpu_type}/xm-$rest.h
519	fi
520	if test -f $srcdir/config/${cpu_type}/x-$rest
521	then xmake_file=${cpu_type}/x-$rest
522	fi
523	if test -f $srcdir/config/${cpu_type}/t-$rest
524	then tmake_file=${cpu_type}/t-$rest
525	fi
526	;;
527alpha*-*-unicosmk*)
528	use_collect2=yes
529	tm_file="${tm_file} alpha/unicosmk.h"
530
531	# Don't include t-ieee for now because we don't support that yet
532	# tmake_file="alpha/t-ieee"
533	tmake_file="alpha/t-unicosmk"
534	;;
535alpha-*-interix)
536	tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"
537
538	# GAS + IEEE_CONFORMANT+IEEE (no inexact);
539	#target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT|MASK_IEEE"
540
541	# GAS + IEEE_CONFORMANT
542	target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
543
544	xm_defines=POSIX
545	xm_file="alpha/xm-alpha-interix.h"
546	tmake_file="alpha/t-alpha t-interix alpha/t-interix alpha/t-ieee"
547	if test x$enable_threads = xyes ; then
548		thread_file='posix'
549	fi
550	if test x$stabs = xyes ; then
551		tm_file="${tm_file} dbxcoff.h"
552	fi
553	#prefix='$$INTERIX_ROOT'/usr/contrib
554	#local_prefix='$$INTERIX_ROOT'/usr/contrib
555	;;
556alpha*-*-linux*ecoff*)
557	echo "Configuration $machine no longer supported" 1>&2
558	exit 1
559	;;
560alpha*-*-linux*libc1*)
561	tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
562	target_cpu_default="MASK_GAS"
563	tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 alpha/t-alpha alpha/t-crtfm alpha/t-ieee"
564	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
565	gas=yes gnu_ld=yes
566	if test x$enable_threads = xyes; then
567		thread_file='posix'
568	fi
569	;;
570alpha*-*-linux*)
571	tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
572	target_cpu_default="MASK_GAS"
573	tmake_file="t-slibgcc-elf-ver t-linux alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
574	;;
575alpha*-*-gnu*)
576	target_cpu_default="MASK_GAS"
577	tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
578	;;
579alpha*-*-freebsd*)
580	tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
581	target_cpu_default="MASK_GAS"
582	tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
583	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
584	;;
585alpha*-*-netbsd*)
586	tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
587	target_cpu_default="MASK_GAS"
588	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
589	;;
590
591alpha*-*-openbsd*)
592 	tm_file="alpha/alpha.h alpha/elf.h alpha/openbsd1.h openbsd.h ${tm_file}"
593	tm_file="${tm_file} exec-stack.h"
594	# default x-alpha is only appropriate for dec-osf.
595	target_cpu_default="MASK_GAS"
596	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
597	gas=yes gnu_ld=yes
598	;;
599
600alpha*-dec-osf[45]*)
601	xm_defines=POSIX
602	if test x$stabs = xyes
603	then
604		tm_file="${tm_file} dbx.h"
605	fi
606	if test x$gas != xyes
607	then
608		extra_passes="mips-tfile mips-tdump"
609	fi
610	use_collect2=yes
611	tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf4"
612	tm_file="${tm_file} alpha/osf.h"
613	extra_headers=va_list.h
614	case $machine in
615	  *-*-osf4*)
616	    # Some versions of OSF4 (specifically X4.0-9 296.7) have
617	    # a broken tar, so we use cpio instead.
618	    install_headers_dir=install-headers-cpio
619	    # Set target_cpu_default except on 4.0a.
620	    case $machine in
621		*-*-osf4.0a) ;;
622		*) target_cpu_default=MASK_SUPPORT_ARCH
623	    esac
624	    ;;
625	  *-*-osf5*)
626	    tm_file="${tm_file} alpha/osf5.h"
627	    target_cpu_default=MASK_SUPPORT_ARCH
628	    ;;
629	esac
630	;;
631alpha*-*-vxworks*)
632	xm_defines=POSIX
633	tm_file="${tm_file} dbx.h alpha/vxworks.h"
634	tmake_file="alpha/t-alpha alpha/t-ieee"
635	if [ x$gas != xyes ]
636	then
637		extra_passes="mips-tfile mips-tdump"
638	fi
639	use_collect2=yes
640	thread_file='vxworks'
641	;;
642alpha64-dec-*vms*)
643	xm_defines=POSIX
644	tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
645	xm_file="alpha/xm-vms.h alpha/xm-vms64.h"
646	tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
647	xmake_file=alpha/x-vms
648	exeext=.exe
649	# This removes the cpu type and manufacturer components and
650	#  replaces "." with "_" in the operating system version.
651	case $host in *-*-*vms*)
652		target_alias=`echo $host \
653		  | sed 's/.*-.*-\(.*\)$/\1/' | sed 's/\./_/g'`
654		;;
655	esac
656	install_headers_dir=install-headers-cp
657	prefix=/gnu
658	local_prefix=/gnu
659	;;
660alpha*-dec-*vms*)
661	xm_defines=POSIX
662	tm_file="${tm_file} alpha/vms.h"
663	xm_file=alpha/xm-vms.h
664	tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
665	xmake_file=alpha/x-vms
666	exeext=.exe
667	# This removes the cpu type and manufacturer components and
668	#  replaces "." with "_" in the operating system version.
669	case $host in *-*-*vms*)
670		target_alias=`echo $host \
671		  | sed 's/.*-.*-\(.*\)$/\1/' | sed 's/\./_/g'`
672		;;
673	esac
674	install_headers_dir=install-headers-cp
675	prefix=/gnu
676	local_prefix=/gnu
677	;;
678arc-*-elf*)
679	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
680	extra_parts="crtinit.o crtfini.o"
681	;;
682arm-*-coff* | armel-*-coff*)
683	tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h"
684	tmake_file=arm/t-arm-coff
685	;;
686arm-*-vxworks*)
687	tm_file="arm/semi.h arm/aout.h arm/coff.h arm/vxarm.h arm/arm.h"
688	tmake_file=arm/t-arm-coff
689	thread_file='vxworks'
690	;;
691arm-semi-aout | armel-semi-aout)
692	tm_file="arm/semi.h arm/aout.h arm/arm.h"
693	tmake_file=arm/t-semi
694	;;
695arm-semi-aof | armel-semi-aof)
696	tm_file="arm/semiaof.h arm/aof.h arm/arm.h"
697	tmake_file=arm/t-semi
698	;;
699arm*-*-freebsd*|strongarm*-*-freebsd*)
700	tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h"
701	tmake_file="${tmake_file} arm/t-strongarm-elf"
702	;;
703arm*-*-netbsdelf*)
704	tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h"
705	tmake_file="${tmake_file} arm/t-netbsd"
706	;;
707arm*-*-openbsd*)
708	tm_file="dbxelf.h elfos.h arm/openbsd1.h arm/elf.h arm/aout.h arm/arm.h openbsd.h ${tm_file}"
709	tm_file="${tm_file} exec-stack.h"
710	tmake_file="${tmake_file} arm/t-openbsd"
711	;;
712arm*-*-netbsd*)
713	tm_file="arm/aout.h arm/arm.h netbsd.h netbsd-aout.h arm/netbsd.h"
714	tmake_file="t-netbsd arm/t-netbsd"
715	extra_parts=""
716	use_collect2=yes
717	;;
718arm*-*-linux*)			# ARM GNU/Linux with ELF
719	tm_file="dbxelf.h elfos.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
720	tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
721	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
722	gnu_ld=yes
723	case x${enable_threads} in
724	x | xyes | xpthreads | xposix)
725		thread_file='posix'
726		;;
727	esac
728	;;
729arm*-*-uclinux*)		# ARM ucLinux
730	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"
731	tmake_file=arm/t-arm-elf
732	;;
733arm*-*-aout)
734	tm_file="arm/aout.h arm/arm.h"
735	tmake_file=arm/t-arm-aout
736	;;
737arm*-*-ecos-elf)
738	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
739	tmake_file=arm/t-arm-elf
740	;;
741arm*-*-rtems*)
742	xm_defines=POSIX
743	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"
744	tmake_file="arm/t-arm-elf t-rtems"
745	if test x$enable_threads = xyes; then
746	  thread_file='rtems'
747	fi
748	;;
749arm*-*-elf)
750	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
751	tmake_file=arm/t-arm-elf
752	;;
753arm*-*-conix*)
754	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/conix-elf.h arm/aout.h arm/arm.h"
755	tmake_file=arm/t-arm-elf
756	;;
757arm*-*-oabi)
758	tm_file="arm/unknown-elf-oabi.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
759	tmake_file=arm/t-arm-elf
760	;;
761arm-*-pe*)
762	tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h arm/pe.h"
763	tmake_file=arm/t-pe
764	extra_objs="pe.o"
765	;;
766avr-*-*)
767	;;
768c4x-*-rtems* | tic4x-*-rtems*)
769	xm_defines=POSIX
770	tmake_file="c4x/t-c4x t-rtems"
771	tm_file="c4x/c4x.h c4x/rtems.h rtems.h"
772	if test x$enable_threads = xyes; then
773	  thread_file='rtems'
774	fi
775	c_target_objs="c4x-c.o"
776	cxx_target_objs="c4x-c.o"
777	;;
778c4x-* | tic4x-*)
779	tmake_file=c4x/t-c4x
780	c_target_objs="c4x-c.o"
781	cxx_target_objs="c4x-c.o"
782	;;
783cris-*-aout)
784	tm_file="dbxelf.h ${tm_file} cris/aout.h"
785	gas=yes
786	tmake_file="cris/t-cris cris/t-aout"
787	;;
788cris-*-elf | cris-*-none)
789	tm_file="dbxelf.h elfos.h ${tm_file}"
790	tmake_file="cris/t-cris cris/t-elfmulti"
791	gas=yes
792	;;
793cris-*-linux*)
794	tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
795	tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
796	;;
797d30v-*)
798	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
799	;;
800dsp16xx-*)
801	;;
802fr30-*-elf)
803	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
804	tmake_file=fr30/t-fr30
805	extra_parts="crti.o crtn.o crtbegin.o crtend.o"
806	;;
807frv-*-elf)
808	tm_file="dbxelf.h elfos.h svr4.h ${tm_file} frv/frv-abi.h"
809	tmake_file=frv/t-frv
810	;;
811h8300-*-rtems*)
812	xm_defines=POSIX
813	tmake_file="h8300/t-h8300 t-rtems h8300/t-rtems"
814	tm_file="h8300/h8300.h h8300/rtems.h rtems.h"
815	if test x$enable_threads = xyes; then
816	  thread_file='rtems'
817	fi
818	;;
819h8300-*-elf*)
820	tmake_file="h8300/t-h8300 h8300/t-elf"
821	tm_file="h8300/h8300.h h8300/elf.h"
822	;;
823h8300-*-*)
824	;;
825hppa*64*-*-linux* | parisc*64*-*-linux*)
826	target_cpu_default="(MASK_PA_11 | MASK_PA_20)"
827	tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \
828		 pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
829	tmake_file=pa/t-linux64
830	gas=yes gnu_ld=yes
831	;;
832hppa*-*-linux* | parisc*-*-linux*)
833	target_cpu_default="MASK_PA_11 | MASK_NO_SPACE_REGS"
834	tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \
835		 pa/pa32-regs.h pa/pa32-linux.h"
836	tmake_file="t-slibgcc-elf-ver t-linux pa/t-linux"
837	;;
838hppa64-*-openbsd*)
839	target_cpu_default="(MASK_PA_11 | MASK_PA_20)"
840	tm_file="${openbsd_libspec} pa/pa64-start.h pa/pa.h pa/pa64-regs.h \
841		 pa/pa-64.h pa/pa-openbsd1-64.h openbsd.h pa/pa-openbsd64.h"
842	tmake_file="${tmake_file} pa/t-openbsd64"
843	;;
844hppa-*-openbsd*)
845	target_cpu_default="MASK_PA_11 | MASK_NO_SPACE_REGS"
846	tmake_file="t-libc-ok t-openbsd t-openbsd-thread pa/t-openbsd"
847	;;
848hppa1.1-*-pro*)
849	target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
850	tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
851	tm_file="${tm_file} exec-stack.h"
852	tmake_file="pa/t-bsd pa/t-pro"
853	xmake_file="pa/x-ada"
854	;;
855hppa1.1-*-osf*)
856	target_cpu_default="MASK_PA_11"
857	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
858	tmake_file="pa/t-bsd pa/t-pa"
859	xmake_file="pa/x-ada"
860	use_collect2=yes
861	;;
862hppa1.1-*-rtems*)
863	xm_defines=POSIX
864	target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
865	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"
866	tmake_file="pa/t-bsd pa/t-pro t-rtems"
867	xmake_file="pa/x-ada"
868	if test x$enable_threads = xyes; then
869	  thread_file='rtems'
870	fi
871	;;
872hppa1.0-*-osf*)
873	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
874	tmake_file="pa/t-bsd pa/t-pa"
875	xmake_file="pa/x-ada"
876	use_collect2=yes
877	;;
878hppa1.1-*-bsd*)
879	tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
880	target_cpu_default="MASK_PA_11"
881	tmake_file="pa/t-bsd pa/t-pa"
882	xmake_file="pa/x-ada"
883	use_collect2=yes
884	;;
885hppa1.0-*-bsd*)
886	tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
887	tmake_file="pa/t-bsd pa/t-pa"
888	xmake_file="pa/x-ada"
889	use_collect2=yes
890	;;
891hppa1.0-*-hpux7*)
892	tm_file="pa/pa-oldas.h ${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux7.h"
893	xm_defines=POSIX
894	tmake_file=pa/t-pa-hpux
895	install_headers_dir=install-headers-cpio
896	use_collect2=yes
897	;;
898hppa1.0-*-hpux8.0[0-2]*)
899	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
900	xm_defines=POSIX
901	tmake_file=pa/t-pa-hpux
902	if test x$gas != xyes
903	then
904		tm_file="pa/pa-oldas.h ${tm_file}"
905	fi
906	install_headers_dir=install-headers-cpio
907	use_collect2=yes
908	;;
909hppa1.1-*-hpux8.0[0-2]*)
910	target_cpu_default="MASK_PA_11"
911	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
912	xm_defines=POSIX
913	tmake_file=pa/t-pa-hpux
914	if test x$gas != xyes
915	then
916		tm_file="pa/pa-oldas.h ${tm_file}"
917	fi
918	install_headers_dir=install-headers-cpio
919	use_collect2=yes
920	;;
921hppa1.1-*-hpux8*)
922	target_cpu_default="MASK_PA_11"
923	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
924	xm_defines=POSIX
925	tmake_file=pa/t-pa-hpux
926	install_headers_dir=install-headers-cpio
927	use_collect2=yes
928	;;
929hppa1.0-*-hpux8*)
930	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
931	xm_defines=POSIX
932	tmake_file=pa/t-pa-hpux
933	install_headers_dir=install-headers-cpio
934	use_collect2=yes
935	;;
936hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
937	target_cpu_default="MASK_PA_11"
938	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
939	xm_defines=POSIX
940	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
941	xmake_file="pa/x-ada"
942	if test x$enable_threads = x; then
943	    enable_threads=$have_pthread_h
944	fi
945	case x${enable_threads} in
946	xyes | xdce)
947		tmake_file="${tmake_file} pa/t-dce-thr"
948		;;
949	esac
950	install_headers_dir=install-headers-cpio
951	use_collect2=yes
952	;;
953hppa1.0-*-hpux10*)
954	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
955	xm_defines=POSIX
956	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
957	xmake_file="pa/x-ada"
958	if test x$enable_threads = x; then
959	    enable_threads=$have_pthread_h
960	fi
961	case x${enable_threads} in
962	xyes | xdce)
963		tmake_file="${tmake_file} pa/t-dce-thr"
964		;;
965	esac
966	install_headers_dir=install-headers-cpio
967	use_collect2=yes
968	;;
969hppa*64*-*-hpux11*)
970	xm_defines=POSIX
971	if test x$gas = xyes
972	then
973		tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h  \
974			 pa/pa64-regs.h pa/long_double.h pa/pa-hpux.h \
975			 pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
976	else
977		tm_file="pa/pa64-start.h ${tm_file} dbxelf.h pa/elf.h \
978			 pa/pa64-regs.h pa/long_double.h pa/pa-hpux.h \
979			 pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
980	fi
981	tmake_file="pa/t-pa64 pa/t-pa-hpux"
982	xmake_file="pa/x-ada"
983	target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
984	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
985	if test x$gnu_ld = xyes
986	then
987		target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
988	fi
989	case x${enable_threads} in
990	xyes | xposix )
991		thread_file=posix
992		;;
993	esac
994	install_headers_dir=install-headers-cpio
995	;;
996hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
997	target_cpu_default="MASK_PA_11"
998	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
999	xm_defines=POSIX
1000	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
1001	xmake_file="pa/x-ada"
1002	case x${enable_threads} in
1003	xyes | xposix )
1004		thread_file=posix
1005		;;
1006	esac
1007	install_headers_dir=install-headers-cpio
1008	use_collect2=yes
1009	;;
1010hppa1.0-*-hpux11*)
1011	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
1012	xm_defines=POSIX
1013	tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
1014	xmake_file="pa/x-ada"
1015	case x${enable_threads} in
1016	xyes | xposix )
1017		thread_file=posix
1018		;;
1019	esac
1020	install_headers_dir=install-headers-cpio
1021	use_collect2=yes
1022	;;
1023hppa1.1-*-hpux* | hppa2*-*-hpux*)
1024	target_cpu_default="MASK_PA_11"
1025	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1026	xm_defines=POSIX
1027	tmake_file=pa/t-pa-hpux
1028	install_headers_dir=install-headers-cpio
1029	use_collect2=yes
1030	;;
1031hppa1.0-*-hpux*)
1032	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1033	xm_defines=POSIX
1034	tmake_file=pa/t-pa-hpux
1035	install_headers_dir=install-headers-cpio
1036	use_collect2=yes
1037	;;
1038hppa1.1-*-hiux* | hppa2*-*-hiux*)
1039	target_cpu_default="MASK_PA_11"
1040	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1041	xm_defines=POSIX
1042	tmake_file=pa/t-pa-hpux
1043	install_headers_dir=install-headers-cpio
1044	use_collect2=yes
1045	;;
1046hppa1.0-*-hiux*)
1047	tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1048	xm_defines=POSIX
1049	tmake_file=pa/t-pa-hpux
1050	install_headers_dir=install-headers-cpio
1051	use_collect2=yes
1052	;;
1053hppa*-*-lites*)
1054	tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h"
1055	target_cpu_default="MASK_PA_11"
1056	tmake_file="pa/t-bsd pa/t-pa"
1057	xmake_file="pa/x-ada"
1058	use_collect2=yes
1059	;;
1060hppa*-*-mpeix*)
1061	tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-mpeix.h"
1062	tmake_file=pa/t-mpeix
1063	echo "You must use gas. Assuming it is already installed."
1064	gas=yes
1065	install_headers_dir=install-headers-tar
1066	use_collect2=yes
1067	;;
1068i370-*-opened*)			 # IBM 360/370/390 Architecture
1069	xm_defines='POSIX FATAL_EXIT_CODE=12'
1070	tm_file=i370/oe.h
1071	tmake_file="i370/t-oe i370/t-i370"
1072	c_target_objs="i370-c.o"
1073	cxx_target_objs="i370-c.o"
1074	;;
1075i370-*-mvs*)
1076	xm_defines='POSIX FATAL_EXIT_CODE=12'
1077	tm_file=i370/mvs.h
1078	tmake_file="i370/t-i370"
1079	c_target_objs="i370-c.o"
1080	cxx_target_objs="i370-c.o"
1081	;;
1082i370-*-linux*)
1083	tm_file="dbxelf.h elfos.h svr4.h linux.h i370/linux.h ${tm_file}"
1084	tmake_file="t-slibgcc-elf-ver t-linux"
1085	# broken_install=yes
1086	elf=yes
1087	;;
1088i[34567]86-*-darwin*)
1089	tm_file="${tm_file} darwin.h i386/darwin.h"
1090	tm_p_file="${tm_p_file} darwin-protos.h"
1091	tmake_file="t-darwin"
1092	extra_objs="darwin.o"
1093	target_gtfiles="\$(srcdir)/config/darwin.c"
1094	c_target_objs="darwin-c.o"
1095	cxx_target_objs="darwin-c.o"
1096	extra_parts="crt2.o"
1097	# Darwin linker does collect2 functionality
1098	use_collect2=no
1099	;;
1100i[34567]86-*-elf*)
1101	xm_defines=POSIX
1102	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h"
1103	tmake_file="i386/t-i386elf t-svr4"
1104	;;
1105i[34567]86-ncr-sysv4*)		# NCR 3000 - ix86 running system V.4
1106	xm_defines="POSIX SMALL_ARG_MAX"
1107	if test x$stabs = xyes -a x$gas = xyes
1108	then
1109		tm_file=i386/sysv4gdb.h
1110	else
1111		tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
1112	fi
1113	extra_parts="crtbegin.o crtend.o"
1114	tmake_file=i386/t-crtpic
1115	;;
1116i[34567]86-*-netware)		# Intel 80386's running netware
1117	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h netware.h i386/netware.h"
1118	tmake_file=i386/t-netware
1119	;;
1120i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
1121	if test x$gas = xyes
1122	then
1123		tm_file="${tm_file} usegas.h"
1124	fi
1125	xm_defines="POSIX SMALL_ARG_MAX"
1126	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ptx4.h i386/ptx4-i.h"
1127	tmake_file=t-svr4
1128	extra_parts="crtbegin.o crtend.o"
1129	install_headers_dir=install-headers-cpio
1130	;;
1131i[34567]86-sequent-sysv*)	# would otherwise be caught by i?86-*-sysv*
1132	echo "*** Configuration $machine not supported" 1>&2
1133	exit 1
1134	;;
1135i[34567]86-wrs-vxworks*)
1136	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/vxi386.h"
1137	thread_file='vxworks'
1138	;;
1139i[34567]86-*-aout*)
1140	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
1141	;;
1142i[34567]86-*-beoself* | i[34567]86-*-beos*)
1143	xm_defines=POSIX
1144	tmake_file='i386/t-beos i386/t-crtpic'
1145	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/beos-elf.h"
1146	extra_parts='crtbegin.o crtend.o'
1147	;;
1148i[34567]86-*-freebsd2 | i[34567]86-*-freebsd2.* | i[34567]86-*-freebsd*aout*)
1149	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/freebsd-aout.h"
1150	tmake_file=t-freebsd
1151	;;
1152i[34567]86-*-freebsd*)
1153	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1154	;;
1155x86_64-*-freebsd*)
1156	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"
1157	;;
1158i[34567]86-*-netbsdelf*)
1159	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
1160	;;
1161i[34567]86-*-netbsd*)
1162	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
1163	tmake_file=t-netbsd
1164	extra_parts=""
1165	use_collect2=yes
1166	;;
1167x86_64-*-netbsd*)
1168	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"
1169	;;
1170i[34567]86-*-openbsd2* | i[34567]86-*-openbsd3.[0123])
1171	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}"
1172	# needed to unconfuse gdb
1173	tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
1174	# we need collect2 until our bug is fixed...
1175	use_collect2=yes
1176	;;
1177i[34567]86-*-openbsd*)
1178	# needed to unconfuse gdb
1179	tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
1180	tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h"
1181	tm_file="${tm_file} exec-stack.h"
1182	tm_file="${tm_file} openbsd.h openbsd-libpthread.h i386/openbsdelf.h"
1183	gas=yes
1184	gnu_ld=yes
1185  	;;
1186x86_64-*-openbsd*)
1187	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"
1188	tm_file="${tm_file} exec-stack.h"
1189	tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
1190	;;
1191i[34567]86-*-coff*)
1192	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
1193	;;
1194i[34567]86-*-linux*oldld*)	# would otherwise be caught by i?86-*-linux*
1195	echo "*** Configuration $machine not supported" 1>&2
1196	exit 1
1197	;;
1198i[34567]86-*-linux*aout*)	# Intel 80386's running GNU/Linux
1199				# with a.out format
1200	tmake_file="t-linux-aout i386/t-crtstuff"
1201	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h linux-aout.h i386/linux-aout.h"
1202	gnu_ld=yes
1203	;;
1204i[34567]86-*-linux*libc1)	# Intel 80386's running GNU/Linux
1205				# with ELF format using the
1206				# GNU/Linux C library 5
1207	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
1208	tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 i386/t-crtstuff"
1209	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1210	gnu_ld=yes
1211	if test x$enable_threads = xyes; then
1212		thread_file='single'
1213	fi
1214	;;
1215i[34567]86-*-linux*)	# Intel 80386's running GNU/Linux
1216			# with ELF format using glibc 2
1217			# aka GNU/Linux C library 6
1218	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
1219	tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
1220	;;
1221x86_64-*-linux*)
1222	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
1223		 i386/x86-64.h i386/linux64.h"
1224	tmake_file="t-slibgcc-elf-ver t-linux i386/t-linux64"
1225	;;
1226i[34567]86-*-gnu*)
1227	;;
1228i[34567]86-go32-msdos | i[34567]86-*-go32*)
1229	echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
1230	exit 1
1231	;;
1232i[34567]86-pc-msdosdjgpp*)
1233	xm_file=i386/xm-djgpp.h
1234	tm_file="dbxcoff.h ${tm_file} i386/djgpp.h"
1235	tmake_file=i386/t-djgpp
1236	gnu_ld=yes
1237	gas=yes
1238	exeext=.exe
1239	case $host in *pc-msdosdjgpp*)
1240		target_alias=djgpp
1241		;;
1242	esac
1243	;;
1244i[34567]86-moss-msdos* | i[34567]86-*-moss*)
1245	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h i386/moss.h"
1246	tmake_file=t-libc-ok
1247	gnu_ld=yes
1248	gas=yes
1249	;;
1250i[34567]86-*-lynxos*)
1251	if test x$gas = xyes
1252	then
1253		tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h lynx.h i386/lynx.h"
1254	else
1255		tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h lynx-ng.h i386/lynx-ng.h"
1256	fi
1257	;;
1258i[34567]86-*-mach*)
1259	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/mach.h"
1260#	tmake_file=t-libc-ok
1261	use_collect2=yes
1262	;;
1263i[34567]86-go32-rtems* | i[34567]86-*-rtemscoff*)
1264	# would otherwise be caught by i?86-*-rtems*
1265	echo "*** Configuration $machine not supported" 1>&2
1266	exit 1
1267	;;
1268i[34567]86-*-rtems*)
1269	xm_defines=POSIX
1270	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h"
1271	extra_parts="crtbegin.o crtend.o crti.o crtn.o"
1272	tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
1273	if test x$enable_threads = xyes; then
1274	  thread_file='rtems'
1275	fi
1276	;;
1277i[34567]86-*-sco3.2v5*)	# 80386 running SCO Open Server 5
1278	xm_defines=POSIX
1279	install_headers_dir=install-headers-cpio
1280	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/sco5.h"
1281	if test x$gas = xyes
1282	then
1283		tm_file="usegas.h ${tm_file}"
1284	fi
1285	tmake_file=i386/t-sco5
1286	extra_parts="crtbegin.o crtend.o"
1287	;;
1288i[34567]86-*-solaris2*)
1289	xm_defines="POSIX SMALL_ARG_MAX"
1290	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h i386/sol2.h"
1291	tmake_file="i386/t-sol2 t-svr4"
1292	if test x$gnu_ld = xyes; then
1293		tmake_file="$tmake_file t-slibgcc-elf-ver"
1294	else
1295		tmake_file="$tmake_file t-slibgcc-sld"
1296	fi
1297	extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
1298	if test x${enable_threads} = x; then
1299	    enable_threads=$have_pthread_h
1300	    if test x${enable_threads} = x; then
1301		enable_threads=$have_thread_h
1302	    fi
1303	fi
1304	if test x${enable_threads} = xyes; then
1305	    if test x${have_pthread_h} = xyes; then
1306		thread_file='posix'
1307	    else
1308		thread_file='solaris'
1309	    fi
1310	fi
1311	;;
1312i[34567]86-*-sysv5*)           # Intel x86 on System V Release 5
1313       xm_defines=POSIX
1314       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h"
1315       if test x$stabs = xyes
1316       then
1317               tm_file="${tm_file} dbx.h"
1318       fi
1319       tmake_file="i386/t-crtpic t-svr4"
1320       extra_parts="crtbegin.o crtend.o"
1321       if test x$enable_threads = xyes; then
1322	       thread_file='posix'
1323       fi
1324       ;;
1325i[34567]86-*-sysv4*)		# Intel 80386's running system V.4
1326	xm_defines="POSIX SMALL_ARG_MAX"
1327	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
1328	if test x$stabs = xyes
1329	then
1330		tm_file="${tm_file} dbx.h"
1331	fi
1332	tmake_file="i386/t-crtpic t-svr4"
1333	extra_parts="crtbegin.o crtend.o"
1334	;;
1335i[34567]86-*-udk*)      # Intel x86 on SCO UW/OSR5 Dev Kit
1336	xm_defines=POSIX
1337	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"
1338	tmake_file="i386/t-crtpic i386/t-udk t-svr4"
1339	extra_parts="crtbegin.o crtend.o"
1340	install_headers_dir=install-headers-cpio
1341	;;
1342i[34567]86-*-sysv*)		# Intel 80386's running system V
1343	xm_defines=POSIX
1344	if test x$gas = xyes
1345	then
1346		if test x$stabs = xyes
1347		then
1348			tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/svr3gas.h i386/svr3dbx.h"
1349			tmake_file=i386/t-svr3dbx
1350			extra_parts="svr3.ifile svr3z.ifile"
1351		else
1352			tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/svr3gas.h"
1353			extra_parts="crtbegin.o crtend.o"
1354			tmake_file=i386/t-crtstuff
1355		fi
1356	else
1357		tm_file="${tm_file} svr3.h i386/unix.h i386/att.h i386/sysv3.h"
1358		extra_parts="crtbegin.o crtend.o"
1359		tmake_file=i386/t-crtstuff
1360	fi
1361	tmake_file="$tmake_file i386/t-crtpic"
1362	;;
1363i386-*-vsta)			# Intel 80386's running VSTa kernel
1364	xm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/xm-vsta.h"
1365	tm_file="${tm_file} i386/vsta.h"
1366	;;
1367i[34567]86-*-win32)
1368	xm_defines=POSIX
1369	xm_file=i386/xm-cygwin.h
1370	tmake_file=i386/t-cygwin
1371	tm_file="${tm_file} i386/win32.h"
1372	extra_objs=winnt.o
1373	if test x$enable_threads = xyes; then
1374		thread_file='win32'
1375	fi
1376	exeext=.exe
1377	;;
1378i[34567]86-*-pe | i[34567]86-*-cygwin*)
1379	xm_defines=POSIX
1380	xm_file=i386/xm-cygwin.h
1381	tmake_file=i386/t-cygwin
1382	tm_file=i386/cygwin.h
1383	extra_objs=winnt.o
1384	if test x$enable_threads = xyes; then
1385		thread_file='win32'
1386	fi
1387	exeext=.exe
1388	;;
1389i[34567]86-*-mingw32*)
1390	tm_file=i386/mingw32.h
1391	xm_defines=POSIX
1392	xm_file=i386/xm-mingw32.h
1393	tmake_file="i386/t-cygwin i386/t-mingw32"
1394	extra_objs=winnt.o
1395	if test x$enable_threads = xyes; then
1396		thread_file='win32'
1397	fi
1398	exeext=.exe
1399	case $machine in
1400		*mingw32crt*)
1401			tm_file="${tm_file} i386/crtdll.h"
1402			;;
1403		*minwg32msv* | *mingw32*)
1404			;;
1405	esac
1406	;;
1407i[34567]86-*-uwin*)
1408	tm_file="i386/cygwin.h i386/uwin.h"
1409	tmake_file="i386/t-cygwin i386/t-uwin"
1410	extra_objs=winnt.o
1411	if test x$enable_threads = xyes; then
1412		thread_file='win32'
1413	fi
1414	exeext=.exe
1415	;;
1416i[34567]86-*-interix3*)
1417	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"
1418	xm_file="i386/xm-i386-interix.h"
1419	xm_defines=POSIX
1420	tmake_file="t-interix i386/t-interix"
1421	extra_objs=winnt.o
1422	xmake_file="x-interix"
1423	if test x$enable_threads = xyes ; then
1424		thread_file='posix'
1425	fi
1426	if test x$stabs = xyes ; then
1427		tm_file="${tm_file} dbxcoff.h"
1428	fi
1429	;;
1430i[34567]86-*-interix*)
1431	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h interix.h"
1432	xm_file="i386/xm-i386-interix.h"
1433	xm_defines=POSIX
1434	tmake_file="t-interix i386/t-interix"
1435	extra_objs=winnt.o
1436	if test x$enable_threads = xyes ; then
1437		thread_file='posix'
1438	fi
1439	if test x$stabs = xyes ; then
1440		tm_file="${tm_file} dbxcoff.h"
1441	fi
1442	;;
1443i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
1444	tm_file="${tm_file} i960/vx960.h"
1445	tmake_file=i960/t-vxworks960
1446	use_collect2=yes
1447	thread_file='vxworks'
1448	c_target_objs="i960-c.o"
1449	cxx_target_objs="i960-c.o"
1450	;;
1451i960-wrs-vxworks5* | i960-wrs-vxworks)
1452	tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
1453	tmake_file=i960/t-vxworks960
1454	use_collect2=yes
1455	thread_file='vxworks'
1456	c_target_objs="i960-c.o"
1457	cxx_target_objs="i960-c.o"
1458	;;
1459i960-wrs-vxworks*)
1460	tm_file="${tm_file} i960/vx960.h"
1461	tmake_file=i960/t-vxworks960
1462	use_collect2=yes
1463	thread_file='vxworks'
1464	c_target_objs="i960-c.o"
1465	cxx_target_objs="i960-c.o"
1466	;;
1467i960-*-coff*)
1468	tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1469	tmake_file=i960/t-960bare
1470	c_target_objs="i960-c.o"
1471	cxx_target_objs="i960-c.o"
1472	;;
1473i960-*-rtems)
1474	xm_defines=POSIX
1475	tmake_file="i960/t-960bare t-rtems"
1476	tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/rtems.h rtems.h"
1477	if test x$enable_threads = xyes; then
1478	  thread_file='rtems'
1479	fi
1480	c_target_objs="i960-c.o"
1481	cxx_target_objs="i960-c.o"
1482	;;
1483i960-*-*)			# Default i960 environment.
1484	use_collect2=yes
1485	tmake_file=i960/t-960bare
1486	c_target_objs="i960-c.o"
1487	cxx_target_objs="i960-c.o"
1488	;;
1489ia64*-*-aix*)
1490	tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/aix.h"
1491	tmake_file="ia64/t-ia64 ia64/t-aix"
1492	target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1493	extra_parts="crti.o crtn.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
1494	;;
1495ia64*-*-elf*)
1496	tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h"
1497	tmake_file="ia64/t-ia64"
1498	target_cpu_default="0"
1499	if test x$gas = xyes
1500	then
1501		target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1502	fi
1503	if test x$gnu_ld = xyes
1504	then
1505		target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1506	fi
1507	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
1508	;;
1509ia64*-*-freebsd*)
1510	tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1511	target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1512	tmake_file="${tmake_file} ia64/t-ia64"
1513	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
1514	;;
1515ia64*-*-linux*)
1516	tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
1517	tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc"
1518	target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1519	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
1520	if test x"$use_libunwind_exceptions" = xyes; then
1521	  tmake_file="$tmake_file t-libunwind"
1522	fi
1523	;;
1524ia64*-*-hpux*)
1525	tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h"
1526	tmake_file="ia64/t-ia64 ia64/t-hpux"
1527	target_cpu_default="MASK_GNU_AS"
1528	case x$enable_threads in
1529	xyes | xposix )
1530		thread_file=posix
1531		;;
1532	esac
1533	use_collect2=no
1534	c_target_objs="ia64-c.o"
1535	cxx_target_objs="ia64-c.o"
1536	;;
1537ip2k-*-elf)
1538	;;
1539m32r-*-elf*)
1540	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
1541	extra_parts="crtinit.o crtfini.o m32rx/crtinit.o m32rx/crtfini.o"
1542	;;
1543# m68hc11 and m68hc12 share the same machine description.
1544m68hc11-*-*|m6811-*-*)
1545	tm_file="dbxelf.h elfos.h m68hc11/m68hc11.h"
1546	tm_p_file="m68hc11/m68hc11-protos.h"
1547	md_file="m68hc11/m68hc11.md"
1548	out_file="m68hc11/m68hc11.c"
1549	tmake_file="m68hc11/t-m68hc11-gas"
1550        ;;
1551m68hc12-*-*|m6812-*-*)
1552	tm_file="m68hc11/m68hc12.h dbxelf.h elfos.h m68hc11/m68hc11.h"
1553	tm_p_file="m68hc11/m68hc11-protos.h"
1554	md_file="m68hc11/m68hc11.md"
1555	out_file="m68hc11/m68hc11.c"
1556	tmake_file="m68hc11/t-m68hc11-gas"
1557        ;;
1558m68000-hp-bsd*)			# HP 9000/200 running BSD
1559	tm_file=m68k/hp2bsd.h
1560	use_collect2=yes
1561	;;
1562m68000-hp-hpux*)		# HP 9000 series 300
1563	xm_defines=POSIX
1564	if test x$gas = xyes
1565	then
1566		tm_file=m68k/hp310g.h
1567	else
1568		tm_file=m68k/hp310.h
1569	fi
1570	tmake_file=m68k/t-hp320
1571	install_headers_dir=install-headers-cpio
1572	use_collect2=yes
1573	;;
1574m68000-sun-sunos3*)
1575	tm_file=m68k/sun2.h
1576	use_collect2=yes
1577	;;
1578m68000-sun-sunos4*)
1579	tm_file=m68k/sun2o4.h
1580	use_collect2=yes
1581	;;
1582m68000-att-sysv*)
1583	xm_defines=POSIX
1584	if test x$gas = xyes
1585	then
1586		tm_file=m68k/3b1g.h
1587	else
1588		tm_file=m68k/3b1.h
1589	fi
1590	use_collect2=yes
1591	;;
1592m68k-atari-sysv4*)              # Atari variant of V.4.
1593	tm_file=m68k/atari.h
1594	xm_defines=POSIX
1595	tmake_file=t-svr4
1596	extra_parts="crtbegin.o crtend.o"
1597	;;
1598m68k-apollo-sysv* | m68k-bull-sysv*)
1599	# can otherwise be caught by m68k-*-sysv4*
1600	echo "*** Configuration $machine not supported" 1>&2
1601	exit 1
1602	;;
1603m68k-motorola-sysv*)
1604	tm_file=m68k/mot3300.h
1605	xm_defines=POSIX
1606	if test x$gas = xyes
1607	then
1608		if test x$gnu_ld = xyes
1609		then
1610			tmake_file=m68k/t-mot3300-gald
1611		else
1612			tmake_file=m68k/t-mot3300-gas
1613			use_collect2=yes
1614		fi
1615	else
1616		if test x$gnu_ld = xyes
1617		then
1618			tmake_file=m68k/t-mot3300-gld
1619		else
1620			tmake_file=m68k/t-mot3300
1621			use_collect2=yes
1622		fi
1623	fi
1624	gdb_needs_out_file_path=yes
1625	extra_parts="crt0.o mcrt0.o"
1626	;;
1627m68k-ncr-sysv*)			# NCR Tower 32 SVR3
1628	tm_file=m68k/tower-as.h
1629	xm_defines=POSIX
1630	extra_parts="crtbegin.o crtend.o"
1631	;;
1632m68k-plexus-sysv*)
1633	tm_file=m68k/plexus.h
1634	xm_defines=POSIX
1635	use_collect2=yes
1636	;;
1637m68k-tti-*)
1638	tm_file=m68k/pbb.h
1639	xm_defines=POSIX
1640	;;
1641m68k-crds-unos*)
1642	xm_defines=POSIX
1643	tm_file=m68k/crds.h
1644	use_collect2=yes
1645	;;
1646m68k-cbm-sysv4*)		# Commodore variant of V.4.
1647	tm_file=m68k/amix.h
1648	xm_defines=POSIX
1649	tmake_file=t-svr4
1650	extra_parts="crtbegin.o crtend.o"
1651	;;
1652m68k-ccur-rtu)
1653	tm_file=m68k/ccur-GAS.h
1654	use_collect2=yes
1655	;;
1656m68k-hp-bsd4.4*)		# HP 9000/3xx running 4.4bsd
1657	tm_file=m68k/hp3bsd44.h
1658	use_collect2=yes
1659	;;
1660m68k-hp-bsd*)			# HP 9000/3xx running Berkeley Unix
1661	tm_file=m68k/hp3bsd.h
1662	use_collect2=yes
1663	;;
1664m68k-hp-hpux7*)	# HP 9000 series 300 running HPUX version 7.
1665	xm_defines=POSIX
1666	if test x$gas = xyes
1667	then
1668		xmake_file=m68k/x-hp320g
1669		tm_file=m68k/hp320g.h
1670	else
1671		xmake_file=m68k/x-hp320
1672		tm_file=m68k/hpux7.h
1673	fi
1674	install_headers_dir=install-headers-cpio
1675	use_collect2=yes
1676	;;
1677m68k-hp-hpux*)	# HP 9000 series 300
1678	xm_defines=POSIX
1679	if test x$gas = xyes
1680	then
1681		xmake_file=m68k/x-hp320g
1682		tm_file=m68k/hp320g.h
1683	else
1684		xmake_file=m68k/x-hp320
1685		tm_file=m68k/hp320.h
1686	fi
1687	install_headers_dir=install-headers-cpio
1688	use_collect2=yes
1689	;;
1690m68k-sun-mach*)
1691	tm_file=m68k/sun3mach.h
1692	use_collect2=yes
1693	;;
1694m68k-sun-sunos3*)
1695	if test x$with_fp = xno
1696	then
1697		tm_file=m68k/sun3n3.h
1698	else
1699		tm_file=m68k/sun3o3.h
1700	fi
1701	use_collect2=yes
1702	;;
1703m68k-sun-sunos*)			# For SunOS 4 (the default).
1704	if test x$with_fp = xno
1705	then
1706		tm_file=m68k/sun3n.h
1707	else
1708		tm_file=m68k/sun3.h
1709	fi
1710	use_collect2=yes
1711	;;
1712m68k-wrs-vxworks*)
1713	tm_file=m68k/vxm68k.h
1714	tmake_file=m68k/t-vxworks68
1715	thread_file='vxworks'
1716	;;
1717m68k-*-aout*)
1718	tmake_file=m68k/t-m68kbare
1719	tm_file="m68k/m68k-aout.h libgloss.h"
1720	;;
1721m68k-*-coff*)
1722	tmake_file=m68k/t-m68kbare
1723	tm_file="m68k/m68k-coff.h dbx.h"
1724	;;
1725m68020-*-elf* | m68k-*-elf*)
1726	tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
1727	xm_defines=POSIX
1728	tmake_file=m68k/t-m68kelf
1729	extra_parts="crtbegin.o crtend.o"
1730	;;
1731m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
1732	tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1733	case $machine in
1734	m68010*)
1735		target_cpu_default="0"
1736		;;
1737	*)
1738		target_cpu_default="MASK_68020|MASK_68881|MASK_BITFIELD"
1739		;;
1740	esac
1741	;;
1742m68k*-*-netbsd*)
1743	tm_file=m68k/netbsd.h
1744	tmake_file=t-netbsd
1745	extra_parts=""
1746	use_collect2=yes
1747	;;
1748m68k*-*-openbsd*)
1749	# needed to unconfuse gdb
1750	tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
1751	# we need collect2 until our bug is fixed...
1752	use_collect2=yes
1753	tm_file="${tm_file} exec-stack.h"
1754	;;
1755m68k-*-sysv4*)			# Motorola m68k's running system V.4
1756	tm_file=m68k/m68kv4.h
1757	xm_defines=POSIX
1758	tmake_file=t-svr4
1759	extra_parts="crtbegin.o crtend.o"
1760	;;
1761m68k-*-linux*aout*)		# Motorola m68k's running GNU/Linux
1762				# with a.out format
1763	tm_file=m68k/linux-aout.h
1764	tmake_file="t-linux-aout m68k/t-linux-aout"
1765	gnu_ld=yes
1766	;;
1767m68k-*-linux*libc1)		# Motorola m68k's running GNU/Linux
1768				# with ELF format using the
1769				# GNU/Linux C library 5
1770	tm_file=m68k/linux.h
1771	tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 m68k/t-linux"
1772	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1773	gnu_ld=yes
1774	;;
1775m68k-*-linux*)		# Motorola m68k's running GNU/Linux
1776				# with ELF format using glibc 2
1777				# aka the GNU/Linux C library 6.
1778	tm_file=m68k/linux.h
1779	tmake_file="t-slibgcc-elf-ver t-linux m68k/t-linux"
1780	;;
1781m68k-*-psos*)
1782	tmake_file=m68k/t-m68kbare
1783	tm_file=m68k/m68k-psos.h
1784	;;
1785m68k-*-rtemscoff*)	# would otherwise be caught by m68k-*-rtems*
1786	echo "*** Configuration $machine not supported" 1>&2
1787	exit 1
1788	;;
1789m68k-*-rtems*)
1790	xm_defines=POSIX
1791	tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems"
1792	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"
1793	extra_parts="crtbegin.o crtend.o"
1794	if test x$enable_threads = xyes; then
1795	  thread_file='rtems'
1796	fi
1797	;;
1798m88k-*-aout*)
1799	xm_defines=POSIX
1800	tm_file=m88k/m88k-aout.h
1801	;;
1802m88k-*-openbsd*)
1803	tmake_file="${tmake_file} m88k/t-luna-gas"
1804	tm_file="m88k/aout-dbx.h aoutos.h m88k/m88k.h openbsd.h ${tm_file}"
1805	tm_file="${tm_file} exec-stack.h"
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="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