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