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