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