PR target/12676
[official-gcc.git] / gcc / config.gcc
blob1446f119712661cd0879aa07eadaf16d824fbba5
1 # GCC target-specific configuration file.
2 # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003
3 # Free Software Foundation, Inc.
5 #This file is part of GCC.
7 #GCC is free software; you can redistribute it and/or modify it under
8 #the terms of the GNU General Public License as published by the Free
9 #Software Foundation; either version 2, or (at your option) any later
10 #version.
12 #GCC is distributed in the hope that it will be useful, but WITHOUT
13 #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 #FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 #for more details.
17 #You should have received a copy of the GNU General Public License
18 #along with GCC; see the file COPYING.  If not, write to the Free
19 #Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20 #02111-1307, USA.
22 # This is the GCC target-specific configuration file
23 # where a configuration type is mapped to different system-specific
24 # definitions and files.  This is invoked by the autoconf-generated
25 # configure script.  Putting it in a separate shell file lets us skip
26 # running autoconf when modifying target-specific information.
28 # This file switches on the shell variable ${target}, and also uses the
29 # following shell variables:
31 #  with_*               Various variables as set by configure.
33 #  enable_threads_flag  Either the name, yes or no depending on whether
34 #                       threads support was requested.
36 #  default_use_cxa_atexit
37 #                       "no" by default, can be set to "yes" if a target
38 #                       wishes to use __cxa_atexit() by default if the
39 #                       $enable___cxa_atexit variable is not set.
41 #  gas_flag             Either yes or no depending on whether GNU as was
42 #                       requested.
44 #  gnu_ld_flag          Either yes or no depending on whether GNU ld was
45 #                       requested.
47 # This file sets the following shell variables for use by the
48 # autoconf-generated configure script:
50 #  cpu_type             The name of the cpu, if different from the first
51 #                       chunk of the canonical target name.
53 #  tm_defines           List of target macros to define for all compilations.
55 #  tm_file              A list of target macro files, if different from
56 #                       "$cpu_type/$cpu_type.h". Usually it's constructed
57 #                       per target in a way like this:
58 #                       tm_file="${tm_file} dbxelf.h elfos.h svr4.h ${cpu_type.h}/elf.h"
59 #                       Note that the preferred order is:
60 #                       - specific target header "${cpu_type}/${cpu_type.h}"
61 #                       - generic headers like dbxelf.h elfos.h, netware.h, etc.
62 #                       - specializing target headers like ${cpu_type.h}/elf.h
63 #                       This helps to keep OS specific stuff out of the CPU
64 #                       defining header ${cpu_type}/${cpu_type.h}.
66 #  tm_p_file            Location of file with declarations for functions
67 #                       in $out_file.
69 #  out_file             The name of the machine description C support
70 #                       file, if different from "$cpu_type/$cpu_type.c".
72 #  md_file              The name of the machine-description file, if
73 #                       different from "$cpu_type/$cpu_type.md".
75 #  tmake_file           A list of machine-description-specific
76 #                       makefile-fragments, if different from
77 #                       "$cpu_type/t-$cpu_type".
79 #  extra_modes          The name of the file containing a list of extra
80 #                       machine modes, if necessary and different from
81 #                       "$cpu_type/$cpu_type-modes.def".
83 #  extra_objs           List of extra objects that should be linked into
84 #                       the compiler proper (cc1, cc1obj, cc1plus)
85 #                       depending on target.
87 #  extra_headers        List of used header files from the directory
88 #                       config/${cpu_type}.
90 #  extra_passes         List of extra executables compiled for this target
91 #                       machine, used for compiling from source to object.
93 #  extra_parts          List of extra object files that should be compiled
94 #                       for this target machine.
96 #  extra_programs       Like extra_passes, but these are used when linking.
98 #  c_target_objs        List of extra target-dependent objects that be
99 #                       linked into the C compiler only.
101 #  cxx_target_objs      List of extra target-dependent objects that be
102 #                       linked into the C++ compiler only.
104 #  target_gtfiles       List of extra source files with type information.
106 #  xm_defines           List of macros to define when compiling for the
107 #                       target machine.
109 #  xm_file              List of files to include when compiling for the
110 #                       target machine.
112 #  use_collect2         Set to yes or no, depending on whether collect2
113 #                       will be used.
115 #  target_cpu_default   Set to override the default target model.
117 #  gdb_needs_out_file_path
118 #                       Set to yes if gdb needs a dir command with
119 #                       `dirname $out_file`.
121 #  thread_file          Set to control which thread package to use.
123 #  gas                  Set to yes or no depending on whether the target
124 #                       system normally uses GNU as.
126 #  need_64bit_hwint     Set to yes if HOST_WIDE_INT must be 64 bits wide
127 #                       for this target.  This is true iff
128 #                       MAX_LONG_TYPE_SIZE is 64.  (The code which
129 #                       determines the underlying integral type for
130 #                       HOST_WIDE_INT cannot see the definition of
131 #                       MAX_LONG_TYPE_SIZE.)
133 #  configure_default_options
134 #                       Set to an initializer for configure_default_options
135 #                       in configargs.h, based on --with-cpu et cetera.
137 #  use_fixproto         Set to "yes" if fixproto should be run normally,
138 #                       "no" if fixproto should never be run.
140 # The following variables are used in each case-construct to build up the
141 # outgoing variables:
143 #  gnu_ld               Set to yes or no depending on whether the target
144 #                       system normally uses GNU ld.
146 out_file=
147 tmake_file=
148 extra_headers=
149 extra_passes=
150 extra_parts=
151 extra_programs=
152 extra_objs=
153 extra_gcc_objs=
154 c_target_objs=
155 cxx_target_objs=
156 tm_defines=
157 xm_defines=
158 # Set this to force installation and use of collect2.
159 use_collect2=
160 # Set this to override the default target model.
161 target_cpu_default=
162 # Set this if gdb needs a dir command with `dirname $out_file`
163 gdb_needs_out_file_path=
164 # Set this to control which thread package will be used.
165 thread_file=
166 # Reinitialize these from the flag values every loop pass, since some
167 # configure entries modify them.
168 gas="$gas_flag"
169 gnu_ld="$gnu_ld_flag"
170 enable_threads=$enable_threads_flag
171 default_use_cxa_atexit=no
172 target_gtfiles=
173 need_64bit_hwint=
175 # Default to not using fixproto.  Targets which need fixproto should
176 # specifically set this to 'yes'.
177 use_fixproto=no
179 # Don't carry these over build->host->target.  Please.
180 xm_file=
181 md_file=
183 # Obsolete configurations.
184 case ${target} in
185  dummy)
186     if test "x$enable_obsolete" != xyes; then
187       echo "*** Configuration ${target} is obsolete." >&2
188       echo "*** Specify --enable-obsolete to build it anyway." >&2
189       echo "*** Support will be REMOVED in the next major release of GCC," >&2
190       echo "*** unless a maintainer comes forward." >&2
191       exit 1
192     fi;;
193 esac
195 # Unsupported targets list.  Do not put an entry in this list unless
196 # it would otherwise be caught by a more permissive pattern.  The list
197 # should be in alphabetical order.
198 case ${target} in
199    alpha*-*-linux*libc1*                \
200  | i[34567]86-sequent-sysv              \
201  | i[34567]86-sequent-sysv[123]*        \
202  | i[34567]86-go32-*                    \
203  | i[34567]86-*-go32*                   \
204  | m68k-*-linux*aout*                   \
205  | m68k-*-linux*libc1*                  \
206  | mips64orion*-*-rtems*                \
207  | powerpc-*-linux*libc1*               \
208  | sparc-*-linux*aout*                  \
209  | sparc-*-linux*libc1*                 \
210  | sparc-hal-solaris2*                  \
211  | thumb-*-*                            \
212  | *-*-linux*coff*                      \
213  | *-*-linux*oldld*                     \
214  | *-*-rtemsaout*                       \
215  | *-*-rtemscoff*                       \
216  | vax-*-vms*                           \
218         echo "*** Configuration ${target} not supported" 1>&2
219         exit 1
220         ;;
221 esac
223 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
224 # updated in each machine entry.  Also set default extra_headers for some
225 # machines.
226 tm_p_file=
227 cpu_type=`echo ${target} | sed 's/-.*$//'`
228 case ${target} in
229 alpha*-*-*)
230         cpu_type=alpha
231         need_64bit_hwint=yes
232         ;;
233 am33_2.0-*-linux*)
234         cpu_type=mn10300
235         ;;
236 strongarm*-*-*)
237         cpu_type=arm
238         ;;
239 arm*-*-*)
240         cpu_type=arm
241         extra_headers="mmintrin.h"
242         ;;
243 ep9312*-*-*)
244         cpu_type=arm
245         ;;
246 xscale-*-*)
247         cpu_type=arm
248         extra_headers="mmintrin.h"
249         ;;
250 i[34567]86-*-*)
251         cpu_type=i386
252         extra_headers="mmintrin.h xmmintrin.h emmintrin.h pmmintrin.h"
253         ;;
254 x86_64-*-*)
255         cpu_type=i386
256         extra_headers="mmintrin.h xmmintrin.h emmintrin.h pmmintrin.h"
257         need_64bit_hwint=yes
258         ;;
259 ia64-*-*)
260         extra_headers=ia64intrin.h
261         need_64bit_hwint=yes
262         ;;
263 hppa*-*-* | parisc*-*-*)
264         cpu_type=pa
265         ;;
266 m680[012]0-*-*)
267         cpu_type=m68k
268         extra_headers=math-68881.h
269         ;;
270 m68k-*-*)
271         extra_headers=math-68881.h
272         ;;
273 mips*-*-*)
274         cpu_type=mips
275         need_64bit_hwint=yes
276         ;;
277 powerpc*-*-*)
278         cpu_type=rs6000
279         extra_headers="ppc-asm.h altivec.h spe.h"
280         need_64bit_hwint=yes
281         ;;
282 rs6000*-*-*)
283         need_64bit_hwint=yes
284         ;;
285 sparc64*-*-*)
286         cpu_type=sparc
287         need_64bit_hwint=yes
288         ;;
289 sparc*-*-*)
290         cpu_type=sparc
291         ;;
292 s390*-*-*)
293         need_64bit_hwint=yes
294         ;;
295 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
296 sh[123456789l]*-*-*)
297         cpu_type=sh
298         need_64bit_hwint=yes
299         ;;
300 tic4x-*-*)
301         cpu_type=c4x
302         ;;
303 esac
305 tm_file=${cpu_type}/${cpu_type}.h
306 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
307 then
308         tm_p_file=${cpu_type}/${cpu_type}-protos.h
310 extra_modes=
311 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
312 then
313         extra_modes=${cpu_type}/${cpu_type}-modes.def
316 case ${target} in
317 x86_64-*-*)
318         tm_file="i386/biarch64.h ${tm_file}"
319         ;;
320 esac
322 # On a.out targets, we need to use collect2.
323 case ${target} in
324 *-*-*aout*)
325         use_collect2=yes
326         ;;
327 esac
329 # Common parts for widely ported systems.
330 case ${target} in
331 *-*-darwin*)
332   tm_file="${tm_file} darwin.h"
333   tm_p_file="${tm_p_file} darwin-protos.h"
334   tmake_file="t-darwin"
335   target_gtfiles="\$(srcdir)/config/darwin.c"
336   c_target_objs="darwin-c.o"
337   cxx_target_objs="darwin-c.o"
338   extra_parts="crt2.o"
339   extra_objs="darwin.o"
340   case ${enable_threads} in
341     "" | yes | posix) thread_file='posix' ;;
342   esac
343   ;;
344 *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
345   # This is the place-holder for the generic a.out configuration
346   # of FreeBSD.  No actual configuration resides here since
347   # there was only ever a bare-bones ix86 configuration for
348   # a.out and it exists solely in the machine-specific section.
349   # This place-holder must exist to avoid dropping into
350   # the generic ELF configuration of FreeBSD (i.e. it must be
351   # ordered before that section).
352   ;;
353 *-*-freebsd*)
354   # This is the generic ELF configuration of FreeBSD.  Later
355   # machine-specific sections may refine and add to this
356   # configuration.
357   #
358   # Due to tm_file entry ordering issues that vary between cpu
359   # architectures, we only define fbsd_tm_file to allow the
360   # machine-specific section to dictate the final order of all
361   # entries of tm_file with the minor exception that components
362   # of the tm_file set here will always be of the form:
363   #
364   # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
365   #
366   # The machine-specific section should not tamper with this
367   # ordering but may order all other entries of tm_file as it
368   # pleases around the provided core setting.
369   gas=yes
370   gnu_ld=yes
371   extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
372   case ${target} in
373     *-*-freebsd3 | *-*-freebsd[3].*)
374       tm_defines="${tm_defines} FBSD_MAJOR=3" ;;
375     *-*-freebsd4 | *-*-freebsd[4].*)
376       tm_defines="${tm_defines} FBSD_MAJOR=4" ;;
377     *-*-freebsd5 | *-*-freebsd[5].*)
378       tm_defines="${tm_defines} FBSD_MAJOR=5" ;;
379     *-*-freebsd6 | *-*-freebsd[6].*)
380       tm_defines="${tm_defines} FBSD_MAJOR=6" ;;
381     *)
382       echo 'Please update *-*-freebsd* in gcc/config.gcc'
383       exit 1
384       ;;
385   esac
386   tmake_file="t-slibgcc-elf-ver t-freebsd"
387   case ${enable_threads} in
388     no)
389       fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
390       ;;
391     "" | yes | posix)
392       thread_file='posix'
393       tmake_file="${tmake_file} t-freebsd-thread"
394       # Before 5.0, FreeBSD can't bind shared libraries to -lc
395       # when "optionally" threaded via weak pthread_* checks.
396       case ${target} in
397         *-*-freebsd[34] | *-*-freebsd[34].*)
398           tmake_file="${tmake_file} t-slibgcc-nolc-override"
399           ;;
400       esac
401       ;;
402     *) 
403       echo 'Unknown thread configuration for FreeBSD'
404       exit 1
405       ;;
406   esac
407   fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
408   ;;
409 *-*-kfreebsd*-gnu)
410   # Must come before *-*-gnu*
411   xm_defines=POSIX # needed for cross-compiling from FreeBSD?
412   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
413   # GNU tools are the only tools.
414   gas=yes
415   gnu_ld=yes
416   case ${enable_threads} in
417     "" | yes | posix) thread_file='posix' ;;
418   esac
419   ;;
420 *-*-linux*libc1* | *-*-linux*aout*)
421   # Avoid the generic linux case.
422   ;;
423 *-*-linux*)
424   # Must come before *-*-gnu* (because of *-*-linux-gnu* systems).
425   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
426   gas=yes
427   gnu_ld=yes
428   case ${enable_threads} in
429     "" | yes | posix) thread_file='posix' ;;
430   esac
431   ;;
432 *-*-gnu*)
433   # On the Hurd, the setup is just about the same on
434   # each different CPU.  The specific machines that we
435   # support are matched above and just set $cpu_type.
436   tm_file="${cpu_type}/gnu.h"
437   extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
438   # GNU tools are the only tools.
439   gas=yes
440   gnu_ld=yes
441   # These details are the same as for Linux.
442   # But here we need a little extra magic.
443   tmake_file="t-slibgcc-elf-ver t-linux t-gnu"
444   case ${target} in
445     alpha*)
446       tm_file="${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h ${tm_file}"
447       ;;
448     i[34567]86-*-*)
449       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}"
450       ;;
451   esac
452   ;;
453 *-*-netbsd*)
454   tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd t-libgcc-pic"
455   gas=yes
456   gnu_ld=yes
458   # NetBSD 2.0 and later get POSIX threads enabled by default.
459   # Allow them to be explicitly enabled on any other version.
460   case ${enable_threads} in
461     "")
462       case ${target} in
463         *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
464           thread_file='posix'
465           tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
466           ;;
467       esac
468       ;;
469     yes | posix)
470       thread_file='posix'
471       tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
472       ;;
473   esac
475   # NetBSD 1.7 and later are set up to use GCC's crtstuff for
476   # ELF configurations.  We will clear extra_parts in the
477   # a.out configurations.
478   case ${target} in
479     *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
480       extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
481       ;;
482   esac
484   # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
485   # default (unless overridden by --disable-__cxa_atexit).
486   case ${target} in
487     *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
488       default_use_cxa_atexit=yes
489       ;;
490   esac
491   ;;
492 *-*-openbsd*)
493   tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
494   case ${enable_threads} in
495     yes)
496       thread_file='posix'
497       tmake_file="${tmake_file} t-openbsd-thread"
498       ;;
499   esac
500   ;;
501 *-*-rtems*)
502   case ${enable_threads} in
503     yes) thread_file='rtems' ;;
504   esac
505   ;;
506 *-*-vxworks*)
507   tmake_file=t-vxworks
508   tm_file="${tm_file} elfos.h svr4.h vxworks.h"
509   thread_file='vxworks'
510   use_collect2=yes
511   ;;
512 esac
514 case ${target} in
515 # Support site-specific machine types.
516 *local*)
517         rest=`echo ${target} | sed -e "s/$cpu_type-//"`
518         tm_file=${cpu_type}/$rest.h
519         if test -f $srcdir/config/${cpu_type}/xm-$rest.h
520         then xm_file=${cpu_type}/xm-$rest.h
521         fi
522         if test -f $srcdir/config/${cpu_type}/t-$rest
523         then tmake_file=${cpu_type}/t-$rest
524         fi
525         ;;
526 alpha*-*-unicosmk*)
527         use_collect2=yes
528         tm_file="${tm_file} alpha/unicosmk.h"
530         # Don't include t-ieee for now because we don't support that yet
531         # tmake_file="alpha/t-ieee"
532         tmake_file="alpha/t-unicosmk"
533         use_fixproto=yes
534         ;;
535 alpha*-*-linux*)
536         tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
537         target_cpu_default="MASK_GAS"
538         tmake_file="t-slibgcc-elf-ver t-linux alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
539         ;;
540 alpha*-*-gnu*)
541         target_cpu_default="MASK_GAS"
542         tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
543         ;;
544 alpha*-*-freebsd*)
545         tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
546         target_cpu_default="MASK_GAS"
547         tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
548         extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
549         ;;
550 alpha*-*-netbsd*)
551         tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
552         target_cpu_default="MASK_GAS"
553         tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
554         ;;
555 alpha*-*-openbsd*)
556         tm_defines="OBSD_NO_DYNAMIC_LIBRARIES OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
557         tm_file="alpha/alpha.h openbsd.h alpha/openbsd.h"
558         # default x-alpha is only appropriate for dec-osf.
559         target_cpu_default="MASK_GAS"
560         tmake_file="alpha/t-alpha alpha/t-ieee"
561         ;;
562 alpha*-dec-osf[45]*)
563         if test x$stabs = xyes
564         then
565                 tm_file="${tm_file} dbx.h"
566         fi
567         if test x$gas != xyes
568         then
569                 extra_passes="mips-tfile mips-tdump"
570         fi
571         use_collect2=yes
572         tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf4"
573         tm_file="${tm_file} alpha/osf.h"
574         extra_headers=va_list.h
575         case ${target} in
576           *-*-osf4*)
577             # Set target_cpu_default except on 4.0a.
578             case ${target} in
579                 *-*-osf4.0a) ;;
580                 *) target_cpu_default=MASK_SUPPORT_ARCH
581             esac
582             ;;
583           *-*-osf5*)
584             tm_file="${tm_file} alpha/osf5.h"
585             target_cpu_default=MASK_SUPPORT_ARCH
586             ;;
587         esac
588         case ${enable_threads} in
589           "" | yes | posix)
590             thread_file='posix'
591             tmake_file="${tmake_file} alpha/t-osf-pthread"
592             ;;
593         esac
594         ;;
595 alpha64-dec-*vms*)
596         tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
597         xm_file="alpha/xm-vms.h"
598         tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
599         prefix=/gnu
600         local_prefix=/gnu
601         ;;
602 alpha*-dec-*vms*)
603         tm_file="${tm_file} alpha/vms.h"
604         xm_file=alpha/xm-vms.h
605         tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
606         prefix=/gnu
607         local_prefix=/gnu
608         ;;
609 arc-*-elf*)
610         tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
611         extra_parts="crtinit.o crtfini.o"
612         use_fixproto=yes
613         ;;
614 arm-*-coff* | armel-*-coff*)
615         tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h"
616         tmake_file=arm/t-arm-coff
617         ;;
618 arm-semi-aof | armel-semi-aof)
619         tm_file="arm/semiaof.h arm/aof.h arm/arm.h"
620         tmake_file=arm/t-semi
621         ;;
622 arm*-*-freebsd*|strongarm*-*-freebsd*)
623         tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h"
624         tmake_file="${tmake_file} arm/t-strongarm-elf"
625         ;;
626 arm*-*-netbsdelf*)
627         tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h"
628         tmake_file="${tmake_file} arm/t-netbsd"
629         ;;
630 arm*-*-netbsd*)
631         tm_file="arm/aout.h arm/arm.h netbsd.h netbsd-aout.h arm/netbsd.h"
632         tmake_file="t-netbsd arm/t-netbsd"
633         extra_parts=""
634         use_collect2=yes
635         ;;
636 arm*-*-linux*)                  # ARM GNU/Linux with ELF
637         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"
638         tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
639         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
640         gnu_ld=yes
641         ;;
642 arm*-*-uclinux*)                # ARM ucLinux
643         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"
644         tmake_file=arm/t-arm-elf
645         ;;
646 arm*-*-ecos-elf)
647         tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
648         tmake_file=arm/t-arm-elf
649         ;;
650 arm*-*-rtems*)
651         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"
652         tmake_file="arm/t-arm-elf t-rtems"
653         ;;
654 arm*-*-elf | ep9312-*-elf)
655         tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
656         tmake_file=arm/t-arm-elf
657         ;;
658 arm*-wince-pe*)
659         tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h arm/wince-pe.h"
660         tmake_file=arm/t-wince-pe
661         extra_objs="pe.o"
662         ;;
663 arm-*-pe*)
664         tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h"
665         tmake_file=arm/t-pe
666         extra_objs="pe.o"
667         ;;
668 arm*-*-kaos*)
669         tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h kaos.h arm/kaos-arm.h"
670         tmake_file=arm/t-arm-elf
671         ;;
672 avr-*-*)
673         tm_file="avr/avr.h dbxelf.h"
674         use_fixproto=yes
675         ;;
676 c4x-*-rtems* | tic4x-*-rtems*)
677         tmake_file="c4x/t-c4x t-rtems"
678         tm_file="c4x/c4x.h c4x/rtems.h rtems.h"
679         c_target_objs="c4x-c.o"
680         cxx_target_objs="c4x-c.o"
681         ;;
682 c4x-* | tic4x-*)
683         tmake_file=c4x/t-c4x
684         c_target_objs="c4x-c.o"
685         cxx_target_objs="c4x-c.o"
686         ;;
687 cris-*-aout)
688         tm_file="dbxelf.h ${tm_file} cris/aout.h"
689         gas=yes
690         tmake_file="cris/t-cris cris/t-aout"
691         ;;
692 cris-*-elf | cris-*-none)
693         tm_file="dbxelf.h elfos.h ${tm_file}"
694         tmake_file="cris/t-cris cris/t-elfmulti"
695         gas=yes
696         ;;
697 cris-*-linux*)
698         tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
699         tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
700         ;;
701 d30v-*)
702         tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
703         ;;
704 dsp16xx-*)
705         use_fixproto=yes
706         ;;
707 fr30-*-elf)
708         tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
709         tmake_file=fr30/t-fr30
710         extra_parts="crti.o crtn.o crtbegin.o crtend.o"
711         use_fixproto=yes
712         ;;
713 frv-*-elf)
714         tm_file="dbxelf.h elfos.h svr4.h ${tm_file} frv/frv-abi.h"
715         tmake_file=frv/t-frv
716         use_fixproto=yes
717         ;;
718 h8300-*-rtems*)
719         tmake_file="h8300/t-h8300 t-rtems"
720         tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h h8300/rtems.h rtems.h"
721         ;;
722 h8300-*-elf*)
723         tmake_file="h8300/t-h8300 h8300/t-elf"
724         tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h"
725         use_fixproto=yes
726         ;;
727 h8300-*-*)
728         tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h"
729         use_fixproto=yes
730         ;;
731 hppa*64*-*-linux* | parisc*64*-*-linux*)
732         target_cpu_default="(MASK_PA_11 | MASK_PA_20)"
733         tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \
734                  pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
735         tmake_file="t-slibgcc-elf-ver t-linux pa/t-linux64"
736         gas=yes gnu_ld=yes
737         need_64bit_hwint=yes
738         ;;
739 hppa*-*-linux* | parisc*-*-linux*)
740         target_cpu_default="MASK_PA_11 | MASK_NO_SPACE_REGS"
741         tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \
742                  pa/pa32-regs.h pa/pa32-linux.h"
743         tmake_file="t-slibgcc-elf-ver t-linux pa/t-linux"
744         ;;
745 # port not yet contributed.
746 #hppa*-*-openbsd*)
747 #       target_cpu_default="MASK_PA_11"
748 #       ;;
749 hppa1.1-*-pro*)
750         target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
751         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
752         tmake_file="pa/t-pro"
753         ;;
754 hppa1.1-*-osf*)
755         target_cpu_default="MASK_PA_11"
756         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-osf.h"
757         tmake_file="pa/t-pa"
758         use_collect2=yes
759         ;;
760 hppa1.1-*-rtems*)
761         target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
762         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"
763         tmake_file="pa/t-pro t-rtems"
764         ;;
765 hppa1.1-*-bsd*)
766         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h"
767         target_cpu_default="MASK_PA_11"
768         tmake_file="pa/t-pa"
769         use_collect2=yes
770         ;;
771 hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
772         target_cpu_default="MASK_PA_11"
773         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
774         tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
775         if test x$enable_threads = x; then
776             enable_threads=$have_pthread_h
777         fi
778         case x${enable_threads} in
779         xyes | xdce)
780                 tmake_file="${tmake_file} pa/t-dce-thr"
781                 ;;
782         esac
783         use_collect2=yes
784         use_fixproto=yes
785         ;;
786 hppa1.0-*-hpux10*)
787         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
788         tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
789         if test x$enable_threads = x; then
790             enable_threads=$have_pthread_h
791         fi
792         case x${enable_threads} in
793         xyes | xdce)
794                 tmake_file="${tmake_file} pa/t-dce-thr"
795                 ;;
796         esac
797         use_collect2=yes
798         use_fixproto=yes
799         ;;
800 hppa*64*-*-hpux11*)
801         if test x$gas = xyes
802         then
803                 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h  \
804                          pa/pa64-regs.h pa/pa-hpux.h \
805                          pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
806         else
807                 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h pa/elf.h \
808                          pa/pa64-regs.h pa/pa-hpux.h \
809                          pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
810         fi
811         need_64bit_hwint=yes
812         tmake_file="pa/t-pa64 pa/t-pa-hpux"
813         target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
814         extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
815         if test x$gnu_ld = xyes
816         then
817                 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
818         fi
819         case x${enable_threads} in
820         xyes | xposix )
821                 thread_file=posix 
822                 ;;
823         esac
824         ;;
825 hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
826         target_cpu_default="MASK_PA_11"
827         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
828         tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
829         case x${enable_threads} in
830         xyes | xposix )
831                 thread_file=posix 
832                 ;;
833         esac
834         use_collect2=yes
835         ;;
836 hppa1.0-*-hpux11*)
837         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
838         tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
839         case x${enable_threads} in
840         xyes | xposix )
841                 thread_file=posix 
842                 ;;
843         esac
844         use_collect2=yes
845         ;;
846 i370-*-opened*)                  # IBM 360/370/390 Architecture
847         xm_defines='FATAL_EXIT_CODE=12'
848         tm_file="i370/oe.h i370/i370.h"
849         tmake_file="i370/t-i370"
850         c_target_objs="i370-c.o"
851         cxx_target_objs="i370-c.o"
852         # Don't bother fixing up header files; they're weird.
853         ;;
854 i370-*-mvs*)
855         xm_defines='FATAL_EXIT_CODE=12'
856         tm_file="i370/mvs.h i370/i370.h"
857         tmake_file="i370/t-i370"
858         c_target_objs="i370-c.o"
859         cxx_target_objs="i370-c.o"
860         use_fixproto=yes
861         ;;
862 i370-*-linux*)
863         tm_file="dbxelf.h elfos.h svr4.h linux.h i370/linux.h i370/i370.h"
864         tmake_file="t-slibgcc-elf-ver t-linux"
865         # broken_install=yes
866         ;;
867 i[34567]86-*-darwin*)
868         tm_file="${tm_file} i386/darwin.h"
869         use_fixproto=yes
870         ;;
871 i[34567]86-*-elf*)
872         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h"
873         tmake_file="i386/t-i386elf t-svr4"
874         use_fixproto=yes
875         ;;
876 i[34567]86-ncr-sysv4*)          # NCR 3000 - ix86 running system V.4
877         xm_defines="SMALL_ARG_MAX"
878         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
879         extra_parts="crtbegin.o crtend.o"
880         tmake_file=i386/t-crtpic
881         use_fixproto=yes
882         ;;
883 i[34567]86-*-netware)           # Intel 80386's running netware
884         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h netware.h i386/netware.h"
885         ;;
886 i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
887         if test x$gas = xyes
888         then
889                 tm_file="${tm_file} usegas.h"
890         fi
891         xm_defines="SMALL_ARG_MAX"
892         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ptx4.h i386/ptx4-i.h"
893         tmake_file=t-svr4
894         extra_parts="crtbegin.o crtend.o"
895         use_fixproto=yes
896         ;;
897 i[34567]86-*-aout*)
898         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
899         use_fixproto=yes
900         ;;
901 i[34567]86-*-beoself* | i[34567]86-*-beos*)
902         tmake_file='i386/t-beos i386/t-crtpic'
903         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/beos-elf.h"
904         extra_parts='crtbegin.o crtend.o'
905         ;;
906 i[34567]86-*-freebsd2 | i[34567]86-*-freebsd2.* | i[34567]86-*-freebsd*aout*)
907         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/freebsd-aout.h"
908         tmake_file=t-freebsd
909         ;;
910 i[34567]86-*-freebsd*)
911         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
912         ;;
913 x86_64-*-freebsd*)
914         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"
915         ;;
916 i[34567]86-*-netbsdelf*)
917         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
918         ;;
919 i[34567]86-*-netbsd*)
920         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
921         tmake_file=t-netbsd
922         extra_parts=""
923         use_collect2=yes
924         ;;
925 x86_64-*-netbsd*)
926         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"
927         ;;
928 i[34567]86-*-openbsd*)
929         tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
930         # needed to unconfuse gdb
931         tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
932         # we need collect2 until our bug is fixed...
933         use_collect2=yes
934         ;;
935 i[34567]86-*-coff*)
936         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
937         use_fixproto=yes
938         ;;
939 i[34567]86-*-linux*aout*)       # Intel 80386's running GNU/Linux
940                                 # with a.out format
941         tmake_file="i386/t-crtstuff"
942         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h linux-aout.h i386/linux-aout.h"
943         gnu_ld=yes
944         ;;
945 i[34567]86-*-linux*libc1)       # Intel 80386's running GNU/Linux
946                                 # with ELF format using the
947                                 # GNU/Linux C library 5
948         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
949         tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 i386/t-crtstuff"
950         extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
951         gnu_ld=yes
952         if test x$enable_threads = xyes; then
953                 thread_file='single'
954         fi
955         ;;
956 i[34567]86-*-linux*)    # Intel 80386's running GNU/Linux
957                         # with ELF format using glibc 2
958                         # aka GNU/Linux C library 6
959         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
960         tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
961         ;;
962 x86_64-*-linux*)
963         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
964                  i386/x86-64.h i386/linux64.h"
965         tmake_file="t-slibgcc-elf-ver t-linux i386/t-linux64"
966         ;;
967 i[34567]86-*-kfreebsd*-gnu) # must be before i[34567]86-*-gnu*
968         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h kfreebsdgnu.h i386/kfreebsdgnu.h"
969         tmake_file="t-slibgcc-elf-ver t-kfreebsd-gnu i386/t-crtstuff"
970         float_format=i386
971         use_fixproto=no
972         ;;
973 i[34567]86-*-gnu*)
974         ;;
975 i[34567]86-pc-msdosdjgpp*)
976         xm_file=i386/xm-djgpp.h
977         tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h"
978         tmake_file=i386/t-djgpp
979         gnu_ld=yes
980         gas=yes
981         ;;
982 i[34567]86-moss-msdos* | i[34567]86-*-moss*)
983         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h i386/moss.h"
984         tmake_file=t-libc-ok
985         gnu_ld=yes
986         gas=yes
987         use_fixproto=yes
988         ;;
989 i[34567]86-*-lynxos*)
990         if test x$gas = xyes
991         then
992                 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h svr3.h lynx.h i386/lynx.h"
993         else
994                 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h lynx-ng.h i386/lynx-ng.h"
995         fi
996         use_fixproto=yes
997         ;;
998 i[34567]86-*-mach*)
999         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/mach.h"
1000 #       tmake_file=t-libc-ok
1001         use_collect2=yes
1002         use_fixproto=yes
1003         ;;
1004 i[34567]86-*-nto-qnx*)
1005         tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h svr4.h i386/unix.h i386/nto.h"
1006         tmake_file=i386/t-nto
1007         gnu_ld=yes
1008         gas=yes
1009         ;;
1010 i[34567]86-*-rtems*)
1011         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h"
1012         extra_parts="crtbegin.o crtend.o crti.o crtn.o"
1013         tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
1014         ;;
1015 i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
1016         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/sco5.h"
1017         if test x$gas = xyes
1018         then
1019                 tm_file="usegas.h ${tm_file}"
1020         fi
1021         tmake_file=i386/t-sco5
1022         extra_parts="crtbegin.o crtend.o"
1023         use_fixproto=yes
1024         ;;
1025 i[34567]86-*-solaris2*)
1026         xm_defines="SMALL_ARG_MAX"
1027         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h i386/sol2.h"
1028         tmake_file="i386/t-sol2 t-svr4"
1029         if test x$gnu_ld = xyes; then
1030                 tmake_file="$tmake_file t-slibgcc-elf-ver"
1031         else
1032                 tmake_file="$tmake_file t-slibgcc-sld"
1033         fi
1034         extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
1035         if test x${enable_threads} = x; then
1036             enable_threads=$have_pthread_h
1037             if test x${enable_threads} = x; then
1038                 enable_threads=$have_thread_h
1039             fi
1040         fi
1041         if test x${enable_threads} = xyes; then
1042             if test x${have_pthread_h} = xyes; then
1043                 thread_file='posix'
1044             else
1045                 thread_file='solaris'
1046             fi
1047         fi
1048         ;;
1049 i[34567]86-*-sysv5*)           # Intel x86 on System V Release 5
1050        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h"
1051        if test x$stabs = xyes
1052        then
1053                tm_file="${tm_file} dbx.h"
1054        fi
1055        tmake_file="i386/t-crtpic t-svr4"
1056        extra_parts="crtbegin.o crtend.o"
1057        if test x$enable_threads = xyes; then
1058                thread_file='posix'
1059        fi
1060         use_fixproto=yes
1061        ;;
1062 i[34567]86-*-sysv4*)            # Intel 80386's running system V.4
1063         xm_defines="SMALL_ARG_MAX"
1064         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
1065         if test x$stabs = xyes
1066         then
1067                 tm_file="${tm_file} dbx.h"
1068         fi
1069         tmake_file="i386/t-crtpic t-svr4"
1070         extra_parts="crtbegin.o crtend.o"
1071         use_fixproto=yes
1072         ;;
1073 i[34567]86-*-udk*)      # Intel x86 on SCO UW/OSR5 Dev Kit
1074         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"
1075         tmake_file="i386/t-crtpic i386/t-udk t-svr4"
1076         extra_parts="crtbegin.o crtend.o"
1077         use_fixproto=yes
1078         ;;
1079 i[34567]86-*-sysv*)             # Intel 80386's running system V
1080         if test x$gas = xyes
1081         then
1082                 if test x$stabs = xyes
1083                 then
1084                         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/svr3gas.h i386/svr3dbx.h"
1085                         tmake_file=i386/t-svr3dbx
1086                         extra_parts="svr3.ifile svr3z.ifile"
1087                 else
1088                         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/svr3gas.h"
1089                         extra_parts="crtbegin.o crtend.o"
1090                         tmake_file=i386/t-crtstuff
1091                 fi
1092         else
1093                 tm_file="${tm_file} svr3.h i386/unix.h i386/att.h i386/sysv3.h"
1094                 extra_parts="crtbegin.o crtend.o"
1095                 tmake_file=i386/t-crtstuff
1096         fi
1097         tmake_file="$tmake_file i386/t-crtpic"
1098         use_fixproto=yes
1099         ;;
1100 i386-*-vsta)                    # Intel 80386's running VSTa kernel
1101         xm_file="i386/xm-vsta.h"
1102         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/vsta.h"
1103         use_fixproto=yes
1104         ;;
1105 i[34567]86-*-pe | i[34567]86-*-cygwin*)
1106         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h"
1107         xm_file=i386/xm-cygwin.h
1108         tmake_file="i386/t-cygming i386/t-cygwin"
1109         extra_objs=winnt.o
1110         c_target_objs=cygwin2.o
1111         cxx_target_objs=cygwin2.o
1112         if test x$enable_threads = xyes; then
1113                 thread_file='posix'
1114         fi
1115         ;;
1116 i[34567]86-*-mingw32*)
1117         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h"
1118         xm_file=i386/xm-mingw32.h
1119         tmake_file="i386/t-cygming i386/t-mingw32"
1120         extra_objs=winnt.o
1121         if test x$enable_threads = xyes; then
1122                 thread_file='win32'
1123         fi
1124         case ${target} in
1125                 *mingw32crt*)
1126                         tm_file="${tm_file} i386/crtdll.h"
1127                         ;;
1128                 *mingw32msv* | *mingw32*)
1129                         ;;
1130         esac
1131         ;;
1132 i[34567]86-*-uwin*)
1133         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygwin.h i386/uwin.h"
1134         tmake_file="i386/t-cygwin i386/t-uwin"
1135         extra_objs=winnt.o
1136         if test x$enable_threads = xyes; then
1137                 thread_file='win32'
1138         fi
1139         use_fixproto=yes
1140         ;;
1141 i[34567]86-*-interix3*)
1142         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"
1143         tmake_file="i386/t-interix"
1144         extra_objs=winnt.o
1145         if test x$enable_threads = xyes ; then
1146                 thread_file='posix'
1147         fi
1148         if test x$stabs = xyes ; then
1149                 tm_file="${tm_file} dbxcoff.h"
1150         fi
1151         ;;
1152 i[34567]86-*-interix*)
1153         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h interix.h"
1154         tmake_file="i386/t-interix"
1155         extra_objs=winnt.o
1156         if test x$enable_threads = xyes ; then
1157                 thread_file='posix'
1158         fi
1159         if test x$stabs = xyes ; then
1160                 tm_file="${tm_file} dbxcoff.h"
1161         fi
1162         ;;
1163 i[34567]86-*-kaos*)
1164         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h kaos.h i386/kaos-i386.h"
1165         tmake_file="i386/t-i386elf t-svr4"
1166         ;;
1167 i860-*-sysv4*)
1168         tm_file="${tm_file} elfos.h svr4.h i860/sysv4.h"
1169         tmake_file="i860/t-i860 i860/t-svr4"
1170         extra_parts="crtbegin.o crtend.o"
1171         use_fixproto=yes
1172         ;;
1173 i960-*-coff*)
1174         tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1175         tmake_file=i960/t-960bare
1176         c_target_objs="i960-c.o"
1177         cxx_target_objs="i960-c.o"
1178         ;;
1179 i960-*-rtems)
1180         tmake_file="i960/t-960bare t-rtems"
1181         tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/rtems.h rtems.h"
1182         c_target_objs="i960-c.o"
1183         cxx_target_objs="i960-c.o"
1184         ;;
1185 i960-*-*)                       # Default i960 environment.
1186         use_collect2=yes
1187         tmake_file=i960/t-960bare
1188         c_target_objs="i960-c.o"
1189         cxx_target_objs="i960-c.o"
1190         use_fixproto=yes
1191         ;;
1192 ia64*-*-elf*)
1193         tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h"
1194         tmake_file="ia64/t-ia64"
1195         target_cpu_default="0"
1196         if test x$gas = xyes
1197         then
1198                 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1199         fi
1200         if test x$gnu_ld = xyes
1201         then
1202                 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1203         fi
1204         extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
1205         use_fixproto=yes
1206         ;;
1207 ia64*-*-freebsd*)
1208         tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1209         target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1210         tmake_file="${tmake_file} ia64/t-ia64"
1211         extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
1212         ;;
1213 ia64*-*-linux*)
1214         tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
1215         tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc"
1216         target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1217         extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
1218         if test x"$use_libunwind_exceptions" = xyes; then
1219           tmake_file="$tmake_file t-libunwind"
1220         fi
1221         ;;
1222 ia64*-*-hpux*)
1223         tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h"
1224         tmake_file="ia64/t-ia64 ia64/t-hpux"
1225         target_cpu_default="MASK_GNU_AS"
1226         case x$enable_threads in
1227         xyes | xposix )
1228                 thread_file=posix
1229                 ;;
1230         esac
1231         use_collect2=no
1232         c_target_objs="ia64-c.o"
1233         cxx_target_objs="ia64-c.o"
1234         # If we decide to run fixproto we should define FIXPROTO_DEFINES
1235         # in ia64/t-hpux, and also fix the definition of putenv in
1236         # sys-protos.h (const char not char).
1237         ;;
1238 ip2k-*-elf)
1239         tm_file="elfos.h ${tm_file}"
1240         use_fixproto=yes
1241         ;;
1242 iq2000*-*-elf*)
1243         tm_file="svr4.h elfos.h iq2000/iq2000.h"
1244         tmake_file=iq2000/t-iq2000
1245         out_file=iq2000/iq2000.c
1246         md_file=iq2000/iq2000.md
1247         use_fixproto=yes
1248         ;;
1249 m32r-*-elf*)
1250         tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
1251         extra_parts="crtinit.o crtfini.o"
1252         use_fixproto=yes
1253         ;;
1254 # m68hc11 and m68hc12 share the same machine description.
1255 m68hc11-*-*|m6811-*-*)
1256         tm_file="dbxelf.h elfos.h m68hc11/m68hc11.h"
1257         tm_p_file="m68hc11/m68hc11-protos.h"
1258         md_file="m68hc11/m68hc11.md"
1259         out_file="m68hc11/m68hc11.c"
1260         tmake_file="m68hc11/t-m68hc11-gas"
1261         use_fixproto=yes
1262         ;;
1263 m68hc12-*-*|m6812-*-*)
1264         tm_file="m68hc11/m68hc12.h dbxelf.h elfos.h m68hc11/m68hc11.h"
1265         tm_p_file="m68hc11/m68hc11-protos.h"
1266         md_file="m68hc11/m68hc11.md"
1267         out_file="m68hc11/m68hc11.c"
1268         tmake_file="m68hc11/t-m68hc11-gas"
1269         use_fixproto=yes
1270         ;;
1271 m68000-hp-hpux*)                # HP 9000 series 300
1272         tm_file="m68k/hp320base.h m68k/m68k.h m68k/hp320.h m68k/hp310.h"
1273         tm_defines="TARGET_DEFAULT=0" # 68000, no 68881, no bitfield ops
1274         if test x$gas = xyes
1275         then
1276                 tm_defines="${tm_defines} DBX_DEBUGGING_INFO=1 USE_GAS"
1277         fi
1278         tmake_file=m68k/t-hp320
1279         use_collect2=yes
1280         use_fixproto=yes
1281         ;;
1282 m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
1283         tm_file="m68k/hp320base.h m68k/m68k.h m68k/hp320.h"
1284         if test x$gas = xyes
1285         then
1286                 tm_defines="DBX_DEBUGGING_INFO=1 USE_GAS"
1287         else
1288                 tm_defines="NO_DOT_IN_LABEL NO_BUGS"
1289         fi
1290         use_collect2=yes
1291         use_fixproto=yes
1292         ;;
1293 m68k-hp-hpux*)  # HP 9000 series 300
1294         tm_file="m68k/hp320base.h m68k/m68k.h m68k/hp320.h"
1295         if test x$gas = xyes
1296         then
1297                 tm_defines="DBX_DEBUGGING_INFO=1 USE_GAS"
1298         fi
1299         use_collect2=yes
1300         use_fixproto=yes
1301         ;;
1302 m68k-*-aout*)
1303         tmake_file=m68k/t-m68kbare
1304         tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kemb.h m68k/m68k-aout.h libgloss.h"
1305         ;;
1306 m68k-*-coff*)
1307         tmake_file=m68k/t-m68kbare
1308         tm_defines="MOTOROLA USE_GAS"
1309         tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
1310         use_fixproto=yes
1311         ;;
1312 m68020-*-elf* | m68k-*-elf*)
1313         tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
1314         tmake_file=m68k/t-m68kelf
1315         extra_parts="crtbegin.o crtend.o"
1316         use_fixproto=yes
1317         ;;
1318 m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
1319         tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1320         case ${target} in
1321         m68010*)
1322                 target_cpu_default="0"
1323                 ;;
1324         *)
1325                 target_cpu_default="MASK_68020|MASK_68881|MASK_BITFIELD"
1326                 ;;
1327         esac
1328         ;;
1329 m68k*-*-netbsd*)
1330         tm_file="m68k/m68k.h netbsd.h netbsd-aout.h m68k/netbsd.h"
1331         tmake_file=t-netbsd
1332         extra_parts=""
1333         use_collect2=yes
1334         ;;
1335 m68k*-*-openbsd*)
1336         # needed to unconfuse gdb
1337         tm_defines="OBSD_OLD_GAS TARGET_DEFAULT=(MASK_68020|MASK_68881|MASK_BITFIELD)"
1338         tm_file="m68k/m68k.h openbsd.h m68k/openbsd.h"
1339         tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
1340         # we need collect2 until our bug is fixed...
1341         use_collect2=yes
1342         ;;
1343 m68k-*-sysv4*)                  # Motorola m68k's running system V.4
1344         tm_file="m68k/m68k.h m68k/sgs.h dbxelf.h elfos.h svr4.h m68k/m68kv4.h"
1345         tm_defines="MOTOROLA SGS SGS_CMP_ORDER SGS_SWITCH_TABLES"
1346         tmake_file=t-svr4
1347         extra_parts="crtbegin.o crtend.o"
1348         use_fixproto=yes
1349         ;;
1350 m68k-*-uclinux*)                # Motorola m68k/ColdFire running uClinux with uClibc
1351         tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/uclinux.h"
1352         tm_defines="MOTOROLA USE_GAS"
1353         tmake_file=m68k/t-uclinux
1354         use_fixproto=no
1355         ;;
1356 m68k-*-linux*)          # Motorola m68k's running GNU/Linux
1357                                 # with ELF format using glibc 2
1358                                 # aka the GNU/Linux C library 6.
1359         tm_file="m68k/m68k.h dbxelf.h elfos.h svr4.h linux.h m68k/linux.h"
1360         tm_defines="MOTOROLA USE_GAS"
1361         tmake_file="t-slibgcc-elf-ver t-linux"
1362         ;;
1363 m68k-*-rtems*)
1364         tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems"
1365         tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h"
1366         extra_parts="crtbegin.o crtend.o"
1367         ;;
1368 mcore-*-elf)
1369         tm_file="dbxelf.h elfos.h svr4.h ${tm_file} mcore/mcore-elf.h"
1370         tmake_file=mcore/t-mcore
1371         use_fixproto=yes
1372         ;;
1373 mcore-*-pe*)
1374         tm_file="svr3.h dbxcoff.h ${tm_file} mcore/mcore-pe.h"
1375         tmake_file=mcore/t-mcore-pe
1376         use_fixproto=yes
1377         ;;
1378 mips-sgi-irix6*o32)             # SGI System V.4., IRIX 6, O32 ABI
1379         tm_file="${tm_file} mips/iris5.h"
1380         if test x$gas = xyes
1381         then
1382                 tm_file="${tm_file} mips/sdb.h mips/iris5gas.h mips/iris6-o32-gas.h"
1383                 if test x$stabs = xyes
1384                 then
1385                         tm_file="${tm_file} dbx.h mips/dbxmdebug.h"
1386                 fi
1387                 tmake_file=mips/t-iris5-gas
1388         else
1389                 tm_file="${tm_file} mips/iris6-o32-as.h"
1390                 tmake_file=mips/t-iris5-as
1391         fi
1392         tm_file="${tm_file} mips/iris6-o32.h"
1393         tmake_file="${tmake_file} mips/t-iris mips/t-iris5-6"
1394         target_cpu_default="MASK_ABICALLS"
1395         # mips-tfile doesn't work yet
1396         # See comment in mips/iris5.h file.
1397         if test x$gas = xno
1398         then
1399                 use_collect2=yes
1400         fi
1401 #       if test x$enable_threads = xyes; then
1402 #               thread_file='irix'
1403 #       fi
1404         use_fixproto=yes
1405         ;;
1406 mips-sgi-irix6*)                # SGI System V.4., IRIX 6
1407         tm_file="${tm_file} mips/iris5.h mips/iris6.h"
1408         if test x$gas = xyes
1409         then
1410                 tm_file="${tm_file} mips/iris6gas.h"
1411         fi
1412         if test "x$gnu_ld" = xyes
1413         then
1414                 tm_file="${tm_file} mips/iris6gld.h"
1415         fi
1416         tmake_file="mips/t-iris mips/t-iris5-6 mips/t-iris6"
1417         target_cpu_default="MASK_ABICALLS|MASK_FLOAT64|MASK_64BIT"
1418         tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
1419         # See comment in mips/iris5.h file.  Only enabled for O32 ABI
1420         # without GNU as.
1421         if test x$gas = xno
1422         then
1423                 use_collect2=yes
1424         fi
1425 #       if test x$enable_threads = xyes; then
1426 #               thread_file='irix'
1427 #       fi
1428         use_fixproto=yes
1429         ;;
1430 mips-sgi-irix5cross64)          # Irix5 host, Irix 6 target, cross64
1431         tm_file="${tm_file} mips/iris5.h mips/iris6.h mips/cross64.h"
1432         tmake_file="mips/t-iris mips/t-cross64"
1433         target_cpu_default="MASK_ABICALLS|MASK_FLOAT64|MASK_64BIT"
1434         tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
1435         # See comment in mips/iris[56].h files.
1436         use_collect2=yes
1437 #       if test x$enable_threads = xyes; then
1438 #               thread_file='irix'
1439 #       fi
1440         use_fixproto=yes
1441         ;;
1442 mips-sgi-irix5*)                # SGI System V.4., IRIX 5
1443         tm_file="${tm_file} mips/iris5.h"
1444         if test x$gas = xyes
1445         then
1446                 tm_file="${tm_file} mips/sdb.h mips/iris5gas.h"
1447                 if test x$stabs = xyes
1448                 then
1449                         tm_file="${tm_file} dbx.h mips/dbxmdebug.h"
1450                 fi
1451                 tmake_file=mips/t-iris5-gas
1452         else
1453                 tmake_file=mips/t-iris5-as
1454         fi
1455         tmake_file="${tmake_file} mips/t-iris mips/t-iris5-6"
1456         target_cpu_default="MASK_ABICALLS"
1457         # mips-tfile doesn't work yet
1458         # See comment in mips/iris5.h file.
1459         use_collect2=yes
1460 #       if test x$enable_threads = xyes; then
1461 #               thread_file='irix'
1462 #       fi
1463         use_fixproto=yes
1464         ;;
1465 mips*-*-netbsd*)                        # NetBSD/mips, either endian.
1466         target_cpu_default="MASK_GAS|MASK_ABICALLS"
1467         tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
1468         ;;
1469 mips64*-*-linux*)
1470         tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h mips/linux64.h"
1471         tmake_file="t-slibgcc-elf-ver t-linux mips/t-linux64"
1473         # This default ABI is a partial lie: t-linux64 overrides the
1474         # DRIVER_SELF_SPEC that sets the default abi, in the spec file
1475         # that is installed.  What GCC thinks of as the default must
1476         # remain as ABI_32 such that the SONAMEs of the libgcc shared
1477         # libraries remain compatible with those of mips-linux-gnu.
1478         tm_defines="MIPS_ISA_DEFAULT=1 MIPS_ABI_DEFAULT=ABI_32"
1479         target_cpu_default="MASK_ABICALLS|MASK_FLOAT64|MASK_64BIT"
1480         extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
1481         gnu_ld=yes
1482         gas=yes
1483         ;;
1484 mips*-*-linux*)                         # Linux MIPS, either endian.
1485         tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
1486         case ${target} in
1487         mipsisa32*-*)
1488                 target_cpu_default="MASK_SOFT_FLOAT"
1489                 tm_defines="MIPS_ISA_DEFAULT=32"
1490                 ;;
1491         esac
1492         tmake_file="t-slibgcc-elf-ver t-linux"
1493         ;;
1494 mips*-*-openbsd*)
1495         tm_defines="OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
1496         target_cpu_default="MASK_GAS|MASK_ABICALLS"
1497         tm_file="mips/mips.h openbsd.h mips/openbsd.h mips/sdb.h"
1498         case ${target} in
1499         mips*el-*-openbsd*) 
1500             tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=0";;
1501         *)  tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN";;
1502         esac
1503         ;;
1504 mipsisa32-*-elf* | mipsisa32el-*-elf*)
1505         tm_file="${tm_file} mips/elf.h"
1506         tmake_file=mips/t-isa3264
1507         tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_EABI"
1508         use_fixproto=yes
1509         ;;
1510 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
1511         tm_file="${tm_file} mips/elf.h"
1512         tmake_file=mips/t-isa3264
1513         tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_EABI"
1514         use_fixproto=yes
1515         ;;
1516 mipsisa64-*-elf* | mipsisa64el-*-elf*)
1517         tm_file="${tm_file} mips/elf.h"
1518         tmake_file=mips/t-isa3264
1519         target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
1520         tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_EABI"
1521         use_fixproto=yes
1522         ;;
1523 mipsisa64sr71k-*-elf*)
1524         tm_file="${tm_file} mips/elf.h"
1525         tmake_file=mips/t-sr71k
1526         target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
1527         tm_defines="MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
1528         use_fixproto=yes
1529         ;;
1530 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
1531         tm_file="${tm_file} mips/elf.h"
1532         tmake_file=mips/t-elf
1533         target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
1534         tm_defines="MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
1535         use_fixproto=yes
1536         ;;
1537 mips-*-elf* | mipsel-*-elf*)
1538         tm_file="${tm_file} mips/elf.h"
1539         tmake_file=mips/t-elf
1540         use_fixproto=yes
1541         ;;
1542 mips64-*-elf* | mips64el-*-elf*)
1543         tm_file="${tm_file} mips/elf64.h"
1544         tmake_file=mips/t-elf
1545         target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
1546         tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
1547         use_fixproto=yes
1548         ;;
1549 mips64vr-*-elf* | mips64vrel-*-elf*)
1550         tm_file="mips/vr.h ${tm_file} mips/elf64.h"
1551         tm_defines="MIPS_ABI_DEFAULT=ABI_O64 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1"
1552         tmake_file=mips/t-vr
1553         use_fixproto=yes
1554         ;;
1555 mips64orion-*-elf* | mips64orionel-*-elf*)
1556         tm_file="${tm_file} mips/elforion.h mips/elf64.h"
1557         tmake_file=mips/t-elf
1558         tmake_file=mips/t-elf
1559         target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
1560         tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
1561         use_fixproto=yes
1562         ;;
1563 mips*-*-rtems*)
1564         tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h"
1565         tmake_file="mips/t-elf t-rtems mips/t-rtems"
1566         ;;
1567 mipstx39-*-elf* | mipstx39el-*-elf*)
1568         tm_file="${tm_file} mips/r3900.h mips/elf.h"
1569         tmake_file=mips/t-r3900
1570         use_fixproto=yes
1571         ;;
1572 mmix-knuth-mmixware)
1573         need_64bit_hwint=yes
1574         ;;
1575 mn10300-*-*)
1576         tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
1577         if test x$stabs = xyes
1578         then
1579                 tm_file="${tm_file} dbx.h"
1580         fi
1581         use_collect2=no
1582         use_fixproto=yes
1583         ;;
1584 ns32k-*-netbsdelf*)
1585         echo "GCC does not yet support the ${target} target"; exit 1
1586         ;;
1587 ns32k-*-netbsd*)
1588         tm_file="${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
1589         # On NetBSD, the headers are already okay, except for math.h.
1590         tmake_file="t-netbsd ns32k/t-ns32k"
1591         extra_parts=""
1592         use_collect2=yes
1593         ;;
1594 pdp11-*-bsd)
1595         tm_file="${tm_file} pdp11/2bsd.h"
1596         use_fixproto=yes
1597         ;;
1598 pdp11-*-*)
1599         use_fixproto=yes
1600         ;;
1601 avr-*-*)
1602         use_fixproto=yes
1603         ;;
1604 # port not yet contributed
1605 #powerpc-*-openbsd*)
1606 #       tmake_file="${tmake_file} rs6000/t-fprules "
1607 #       extra_headers=
1608 #       ;;
1609 powerpc64-*-linux*)
1610         tm_file="rs6000/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
1611         case x$with_cpu in
1612         x|xpowerpc64|xdefault64) tm_file="${tm_file} rs6000/default64.h";;
1613         esac
1614         tm_file="${tm_file} rs6000/linux64.h"
1615         tmake_file="rs6000/t-fprules t-slibgcc-elf-ver t-linux rs6000/t-ppccomm rs6000/t-linux64"
1616         ;;
1617 powerpc64-*-gnu*)
1618         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"
1619         tmake_file="rs6000/t-fprules t-slibgcc-elf-ver t-gnu rs6000/t-linux64"
1620         ;;
1621 powerpc-*-beos*)
1622         tm_file="${tm_file} rs6000/aix.h rs6000/beos.h rs6000/xcoff.h"
1623         tmake_file="rs6000/t-fprules rs6000/t-beos"
1624         extra_headers=
1625         use_fixproto=yes
1626         ;;
1627 powerpc-*-darwin*)
1628         tm_file="${tm_file} rs6000/darwin.h"
1629         tmake_file="t-darwin rs6000/t-darwin"
1630         extra_headers=altivec.h
1631         # override ppc default
1632         need_64bit_hwint=
1633         use_fixproto=yes
1634         ;;
1635 powerpc*-*-freebsd*)
1636         tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
1637         tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
1638         ;;
1639 powerpc-*-netbsd*)
1640         tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
1641         tmake_file="${tmake_file} rs6000/t-netbsd"
1642         ;;
1643 powerpc-*-chorusos*)
1644         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h chorus.h"
1645         tmake_file="rs6000/t-fprules rs6000/t-ppcos rs6000/t-ppccomm"
1646         case ${enable_threads} in
1647           yes | posix)
1648             thread_file='posix'
1649             ;;
1650         esac
1651         use_fixproto=yes
1652         ;;
1653 powerpc-*-eabispe*)
1654         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabispe.h"
1655         tmake_file="rs6000/t-spe rs6000/t-ppccomm"
1656         ;;
1657 powerpc-*-eabisimaltivec*)
1658         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"
1659         tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
1660         ;;
1661 powerpc-*-eabisim*)
1662         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
1663         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
1664         ;;
1665 powerpc-*-elf*)
1666         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
1667         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
1668         use_fixproto=yes
1669         ;;
1670 powerpc-*-eabialtivec*)
1671         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
1672         tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
1673         ;;
1674 powerpc-*-eabi*)
1675         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h"
1676         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
1677         ;;
1678 powerpc-*-rtems*)
1679         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h rtems.h"
1680         tmake_file="rs6000/t-fprules t-rtems rs6000/t-ppccomm"
1681         ;;
1682 powerpc-*-linux*altivec*)
1683         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h"
1684         tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
1685         ;;
1686 powerpc-*-linux*spe*)
1687         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h"
1688         tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
1689         ;;
1690 powerpc-*-linux*)
1691         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
1692         tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
1693         ;;
1694 powerpc-*-gnu-gnualtivec*)
1695         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"
1696         tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
1697         if test x$enable_threads = xyes; then
1698                 thread_file='posix'
1699         fi
1700         ;;
1701 powerpc-*-gnu*)
1702         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"
1703         tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
1704         if test x$enable_threads = xyes; then
1705                 thread_file='posix'
1706         fi
1707         ;;
1708 powerpc-wrs-vxworks*)
1709         # We want vxworks.h after rs6000/sysv4.h, which unfortunately
1710         # means we have to redo the tm_file list from scratch.
1711         tm_file="rs6000/rs6000.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
1712         tm_file="${tm_file} vxworks.h rs6000/vxworks.h"
1713         tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
1714         extra_headers=ppc-asm.h
1715         ;;
1716 powerpc-wrs-windiss*)
1717         tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h"
1718         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
1719         thread_file=""
1720         use_fixproto=yes
1721         ;;
1722 powerpcle-*-sysv*)
1723         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
1724         tmake_file="rs6000/t-fprules rs6000/t-ppcos rs6000/t-ppccomm"
1725         use_fixproto=yes
1726         ;;
1727 powerpcle-*-elf*)
1728         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
1729         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
1730         use_fixproto=yes
1731         ;;
1732 powerpcle-*-eabisim*)
1733         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"
1734         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
1735         ;;
1736 powerpcle-*-eabi*)
1737         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
1738         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
1739         ;;
1740 powerpc-*-kaos*)
1741         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h kaos.h rs6000/kaos-ppc.h"
1742         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
1743         ;;
1744 powerpcle-*-kaos*)
1745         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h kaos.h rs6000/kaos-ppc.h"
1746         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
1747         ;;
1748 rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
1749         tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
1750         tmake_file="rs6000/t-fprules rs6000/t-newas"
1751         use_collect2=yes
1752         extra_headers=
1753         use_fixproto=yes
1754         ;;
1755 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
1756         tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
1757         tmake_file=rs6000/t-aix43
1758         use_collect2=yes
1759         thread_file='aix'
1760         extra_headers=
1761         ;;
1762 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
1763         tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h"
1764         tmake_file=rs6000/t-aix43
1765         use_collect2=yes
1766         thread_file='aix'
1767         extra_headers=
1768         ;;
1769 rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
1770         tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h"
1771         tmake_file=rs6000/t-aix52
1772         use_collect2=yes
1773         thread_file='aix'
1774         extra_headers=
1775         ;;
1776 rs6000-*-lynxos*)
1777         tm_file="svr3.h lynx.h rs6000/lynxbase.h rs6000/rs6000.h rs6000/lynx.h"
1778         tmake_file=rs6000/t-fprules
1779         use_collect2=yes
1780         use_fixproto=yes
1781         ;;
1782 s390-*-linux*)
1783         tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
1784         tmake_file="t-slibgcc-elf-ver t-linux s390/t-crtstuff"
1785         ;;
1786 s390x-*-linux*)
1787         tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
1788         tm_p_file=s390/s390-protos.h
1789         md_file=s390/s390.md
1790         extra_modes=s390/s390-modes.def
1791         out_file=s390/s390.c
1792         tmake_file="t-slibgcc-elf-ver t-linux s390/t-crtstuff s390/t-linux64"
1793         ;;
1794 s390x-ibm-tpf*)
1795         tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h"
1796         tm_p_file=s390/s390-protos.h
1797         md_file=s390/s390.md
1798         extra_modes=s390/s390-modes.def
1799         out_file=s390/s390.c
1800         tmake_file="t-slibgcc-elf-ver s390/t-crtstuff s390/t-tpf"
1801         ;;
1802 sh-*-elf* | sh[2346l]*-*-elf* | sh*-*-kaos*)
1803         tmake_file="sh/t-sh sh/t-elf"
1804         case ${target} in
1805         shl* | sh64l*)
1806                 tm_file="sh/little.h ${tm_file}"
1807                 tmake_file="${tmake_file} sh/t-le"
1808                 ;;
1809         esac
1810         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h"
1811         case ${target} in
1812         sh64*)
1813                 tmake_file="${tmake_file} sh/t-sh64"
1814                 tm_file="${tm_file} sh/sh64.h"
1815                 extra_headers="shmedia.h ushmedia.h sshmedia.h"
1816                 ;;
1817         sh4_single*)  target_cpu_default="SELECT_SH4_SINGLE" ;;
1818         sh4*)  target_cpu_default="SELECT_SH4" ;;
1819         sh3e*) target_cpu_default="SELECT_SH3E" ;;
1820         sh3*)  target_cpu_default="SELECT_SH3" ;;
1821         sh2e*) target_cpu_default="SELECT_SH2E" ;;
1822         sh2*)  target_cpu_default="SELECT_SH2" ;;
1823         esac
1824         case ${target} in
1825         sh[234]*) tmake_file="${tmake_file} sh/t-monolib" ;;
1826         esac
1827         case ${target} in
1828         sh*-*-kaos*) tm_file="${tm_file} kaos.h sh/kaos-sh.h" ;;
1829         esac
1830         use_fixproto=yes
1831         ;;
1832 sh-*-rtemself*)
1833         tmake_file="sh/t-sh sh/t-elf t-rtems"
1834         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
1835         ;;
1836 sh-*-rtems*)
1837         tmake_file="sh/t-sh t-rtems"
1838         tm_file="${tm_file} dbxcoff.h sh/coff.h sh/rtems.h rtems.h"
1839         ;;
1840 sh-*-linux* | sh[2346lbe]*-*-linux*)
1841         tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux"
1842         case ${target} in
1843         sh*be-*-* | sh*eb-*-*) ;;
1844         *)
1845                 tm_file="sh/little.h ${tm_file}"
1846                 tmake_file="${tmake_file} sh/t-le"
1847                 ;;
1848         esac
1849         tmake_file="${tmake_file} sh/t-linux"
1850         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
1851         case ${target} in
1852         sh64*)
1853                 tmake_file="${tmake_file} sh/t-sh64"
1854                 tm_file="${tm_file} sh/sh64.h"
1855                 extra_headers="shmedia.h ushmedia.h sshmedia.h"
1856                 ;;
1857         sh4_single*) target_cpu_default="SELECT_SH4_SINGLE" ;;
1858         sh4*) target_cpu_default="SELECT_SH4" ;;
1859         sh3e[lb]e*) target_cpu_default="SELECT_SH3E" ;;
1860         sh3e[lb]*) target_cpu_default="SELECT_SH3" ;;
1861         sh3e*) target_cpu_default="SELECT_SH3E" ;;
1862         sh3*) target_cpu_default="SELECT_SH3" ;;
1863         sh2e[lb]e*) target_cpu_default="SELECT_SH2E" ;;
1864         sh2e[lb]*) target_cpu_default="SELECT_SH2" ;;
1865         sh2e*) target_cpu_default="SELECT_SH2E" ;;
1866         sh2*) target_cpu_default="SELECT_SH2" ;;
1867         esac
1868         case ${target} in
1869         sh[234]*) tmake_file="${tmake_file} sh/t-monolib" ;;
1870         esac
1871         ;;
1872 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
1873   sh64-*-netbsd* | sh64l*-*-netbsd*)
1874         tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h netbsd.h netbsd-elf.h sh/netbsd-elf.h"
1875         tmake_file="${tmake_file} sh/t-sh sh/t-elf"
1876         case ${target} in
1877         sh*l*-*)
1878                 tm_file="sh/little.h ${tm_file}"
1879                 tmake_file="${tmake_file} sh/t-le"
1880                 ;;
1881         *)
1882                 tmake_file="${tmake_file} sh/t-be"
1883                 ;;
1884         esac
1885         case ${target} in
1886         sh5*-*)
1887                 # SHmedia, 32-bit ABI
1888                 target_cpu_default="SH5_BIT|SH4_BIT|SH3_BIT|SH_E_BIT"
1889                 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5"
1890                 ;;
1891         sh64*-*)
1892                 # SHmedia, 64-bit ABI
1893                 target_cpu_default="SH5_BIT|SH4_BIT"
1894                 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5 sh/t-netbsd-sh5-64"
1895                 ;;
1896         *)
1897                 # SH3, software floating point
1898                 target_cpu_default="SH1_BIT|SH2_BIT|SH3_BIT"
1899                 tmake_file="${tmake_file} sh/t-netbsd"
1900                 ;;
1901         esac
1902         ;;
1903 sh-*-*)
1904         tm_file="${tm_file} dbxcoff.h sh/coff.h"
1905         use_fixproto=yes
1906         ;;
1907 sparc-tti-*)
1908         tm_file="${tm_file} sparc/pbd.h"
1909         use_fixproto=yes
1910         ;;
1911 sparc-*-netbsdelf*)
1912         tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
1913         ;;
1914 sparc-*-openbsd*)
1915         tm_defines=OBSD_OLD_GAS
1916         tm_file="sparc/sparc.h openbsd.h sparc/openbsd.h"
1917         # needed to unconfuse gdb
1918         tmake_file="t-libc-ok t-openbsd sparc/t-openbsd"
1919         # we need collect2 until our bug is fixed...
1920         use_collect2=yes
1921         ;;
1922 sparc64-*-openbsd*)
1923         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"
1924         gas=yes gnu_ld=yes
1925         with_cpu=ultrasparc
1926         ;;
1927 sparc-*-elf*)
1928         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h"
1929         tmake_file="sparc/t-elf sparc/t-crtfm"
1930         extra_parts="crti.o crtn.o crtbegin.o crtend.o"
1931         use_fixproto=yes
1932         ;;
1933 sparc-*-linux*)         # SPARC's running GNU/Linux, libc6
1934         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
1935         tmake_file="t-slibgcc-elf-ver t-linux sparc/t-crtfm"
1936         ;;
1937 sparc-*-rtems*)
1938         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"
1939         tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
1940         extra_parts="crti.o crtn.o crtbegin.o crtend.o"
1941         ;;
1942 sparc64-*-solaris2* | sparcv9-*-solaris2*)
1943         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"
1944         if test x$gnu_ld = xyes; then
1945                 tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h"
1946         fi
1947         if test x$gas = xyes; then
1948                 tm_file="${tm_file} sparc/sol2-gas-bi.h"
1949         fi
1950         tmake_file="sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
1951         if test x$gnu_ld = xyes; then
1952                 tmake_file="$tmake_file t-slibgcc-elf-ver"
1953         else
1954                 tmake_file="$tmake_file t-slibgcc-sld"
1955         fi
1956         extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
1957         if test x${enable_threads} = x ; then
1958             enable_threads=$have_pthread_h
1959             if test x${enable_threads} = x ; then
1960                 enable_threads=$have_thread_h
1961             fi
1962         fi
1963         if test x${enable_threads} = xyes ; then
1964             if test x${have_pthread_h} = xyes ; then
1965                 thread_file='posix'
1966             else
1967                 thread_file='solaris'
1968             fi
1969         fi
1970         need_64bit_hwint=yes
1971         ;;
1972 sparc-*-solaris2*)
1973         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h"
1974         if test x$gnu_ld = xyes; then
1975                 tm_file="${tm_file} sparc/sol2-gld.h"
1976         fi
1977         tmake_file="sparc/t-sol2 sparc/t-crtfm"
1978         if test x$gnu_ld = xyes; then
1979                 tmake_file="$tmake_file t-slibgcc-elf-ver"
1980         else
1981                 tmake_file="$tmake_file t-slibgcc-sld"
1982         fi
1983         case ${target} in
1984         *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
1985                 if test x$gnu_ld = xno; then
1986                         tm_file="${tm_file} sparc/sol26-sld.h"
1987                 fi
1988                 ;;
1989         *-*-solaris2.[789] | *-*-solaris2.1[0-9])
1990                 tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h"
1991                 if test x$gnu_ld = xyes; then
1992                         tm_file="${tm_file} sparc/sol2-gld-bi.h"
1993                 fi
1994                 if test x$gas = xyes; then
1995                         tm_file="${tm_file} sparc/sol2-gas-bi.h"
1996                 fi
1997                 tmake_file="$tmake_file sparc/t-sol2-64"
1998                 need_64bit_hwint=yes
1999                 ;;
2000         esac
2001         extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
2002         if test x${enable_threads} = x; then
2003             enable_threads=$have_pthread_h
2004             if test x${enable_threads} = x; then
2005                 enable_threads=$have_thread_h
2006             fi
2007         fi
2008         if test x${enable_threads} = xyes; then
2009             if test x${have_pthread_h} = xyes; then
2010                 thread_file='posix'
2011             else
2012                 thread_file='solaris'
2013             fi
2014         fi
2015         ;;
2016 sparc-*-sysv4*)
2017         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sysv4-only.h"
2018         tmake_file=t-svr4
2019         extra_parts="crtbegin.o crtend.o"
2020         use_fixproto=yes
2021         ;;
2022 sparclite-*-coff*)
2023         tm_file="${tm_file} sparc/lite.h svr3.h sparc/litecoff.h dbxcoff.h libgloss.h"
2024         tmake_file=sparc/t-sparclite
2025         ;;
2026 sparclite-*-elf*)
2027         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h sparc/liteelf.h"
2028         tmake_file="sparc/t-sparclite sparc/t-crtfm"
2029         extra_parts="crtbegin.o crtend.o"
2030         use_fixproto=yes
2031         ;;
2032 sparc86x-*-elf*)
2033         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h sparc/sp86x-elf.h"
2034         tmake_file="sparc/t-sp86x sparc/t-crtfm"
2035         extra_parts="crtbegin.o crtend.o"
2036         use_fixproto=yes
2037         ;;
2038 sparc64-*-aout*)
2039         tm_file="sparc/sparc.h sparc/aout.h sparc/sp64-aout.h"
2040         use_fixproto=yes
2041         ;;
2042 sparc64-*-elf*)
2043         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/sp64-elf.h"
2044         tmake_file="${tmake_file} sparc/t-crtfm"
2045         extra_parts="crtbegin.o crtend.o"
2046         use_fixproto=yes
2047         ;;
2048 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2049         tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2050         tmake_file="${tmake_file} sparc/t-crtfm"
2051         case "x$with_cpu" in
2052                 xultrasparc) ;;
2053                 x) with_cpu=ultrasparc ;;
2054                 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2055         esac
2056         need_64bit_hwint=yes
2057         ;;
2058 sparc64-*-linux*)               # 64-bit SPARC's running GNU/Linux
2059         tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64 sparc/t-crtfm"
2060         tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h"
2061         ;;
2062 sparc64-*-netbsd*)
2063         tmake_file="${tmake_file} sparc/t-netbsd64"
2064         tm_file="sparc/biarch64.h ${tm_file}"
2065         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2066         ;;
2067 strongarm-*-elf*)
2068         tm_file="arm/strongarm-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
2069         tmake_file=arm/t-strongarm-elf
2070         out_file=arm/arm.c
2071         md_file=arm/arm.md
2072         extra_modes=arm/arm-modes.def
2073         use_fixproto=yes
2074         ;;
2075 strongarm-*-pe)
2076         tm_file="arm/semi.h arm/aout.h arm/coff.h dbxcoff.h arm/strongarm-coff.h arm/arm.h arm/pe.h arm/strongarm-pe.h"
2077         tmake_file=arm/t-strongarm-pe
2078         out_file=arm/arm.c
2079         md_file=arm/arm.md
2080         extra_modes=arm/arm-modes.def
2081         extra_objs=pe.o
2082         use_fixproto=yes
2083         ;;
2084 strongarm-*-kaos*)
2085         tm_file="arm/strongarm-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h kaos.h arm/kaos-strongarm.h"
2086         tmake_file=arm/t-strongarm-elf
2087         out_file=arm/arm.c
2088         md_file=arm/arm.md
2089         extra_modes=arm/arm-modes.def
2090         ;;
2091 v850e1-*-*)
2092         target_cpu_default="TARGET_CPU_v850e1"
2093         tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
2094         tm_p_file=v850/v850-protos.h
2095         tmake_file=v850/t-v850e
2096         md_file=v850/v850.md
2097         out_file=v850/v850.c
2098         if test x$stabs = xyes
2099         then
2100                 tm_file="${tm_file} dbx.h"
2101         fi
2102         use_collect2=no
2103         c_target_objs="v850-c.o"
2104         cxx_target_objs="v850-c.o"
2105         use_fixproto=yes
2106         ;;
2107 v850e-*-*)
2108         target_cpu_default="TARGET_CPU_v850e"
2109         tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
2110         tm_p_file=v850/v850-protos.h
2111         tmake_file=v850/t-v850e
2112         md_file=v850/v850.md
2113         out_file=v850/v850.c
2114         if test x$stabs = xyes
2115         then
2116                 tm_file="${tm_file} dbx.h"
2117         fi
2118         use_collect2=no
2119         c_target_objs="v850-c.o"
2120         cxx_target_objs="v850-c.o"
2121         use_fixproto=yes
2122         ;;
2123 v850-*-*)
2124         target_cpu_default="TARGET_CPU_generic"
2125         tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
2126         tmake_file=v850/t-v850
2127         if test x$stabs = xyes
2128         then
2129                 tm_file="${tm_file} dbx.h"
2130         fi
2131         use_collect2=no
2132         c_target_objs="v850-c.o"
2133         cxx_target_objs="v850-c.o"
2134         use_fixproto=yes
2135         ;;
2136 vax-*-bsd*)                     # VAXen running BSD
2137         tm_file="${tm_file} vax/bsd.h"
2138         use_collect2=yes
2139         use_fixproto=yes
2140         ;;
2141 vax-*-sysv*)                    # VAXen running system V
2142         tm_file="${tm_file} vax/vaxv.h"
2143         use_fixproto=yes
2144         ;;
2145 vax-*-netbsdelf*)
2146         tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
2147         ;;
2148 vax-*-netbsd*)
2149         tm_file="${tm_file} netbsd.h netbsd-aout.h vax/netbsd.h"
2150         tmake_file=t-netbsd
2151         extra_parts=""
2152         use_collect2=yes
2153         ;;
2154 vax-*-openbsd*)
2155         tm_file="vax/vax.h vax/openbsd1.h openbsd.h vax/openbsd.h"
2156         use_collect2=yes
2157         ;;
2158 vax-*-ultrix*)                  # VAXen running ultrix
2159         tm_file="${tm_file} vax/ultrix.h"
2160         use_fixproto=yes
2161         ;;
2162 vax-*-*)                        # VAX default entry
2163         use_fixproto=yes
2164         ;;
2165 xscale-*-elf)
2166         tm_file="arm/xscale-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
2167         tmake_file=arm/t-xscale-elf
2168         out_file=arm/arm.c
2169         md_file=arm/arm.md
2170         extra_modes=arm/arm-modes.def
2171         use_fixproto=yes
2172         ;;
2173 xscale-*-coff)
2174         tm_file="arm/semi.h arm/aout.h arm/coff.h dbxcoff.h arm/xscale-coff.h arm/arm.h"
2175         tmake_file=arm/t-xscale-coff
2176         out_file=arm/arm.c
2177         md_file=arm/arm.md
2178         extra_modes=arm/arm-modes.def
2179         use_fixproto=yes
2180         ;;
2181 xstormy16-*-elf)
2182         # For historical reasons, the target files omit the 'x'.
2183         tm_file="dbxelf.h elfos.h svr4.h stormy16/stormy16.h"
2184         tm_p_file=stormy16/stormy16-protos.h
2185         md_file=stormy16/stormy16.md
2186         out_file=stormy16/stormy16.c
2187         tmake_file="stormy16/t-stormy16"
2188         extra_parts="crtbegin.o crtend.o"
2189         use_fixproto=yes
2190         ;;
2191 xtensa-*-elf*)
2192         tm_file="${tm_file} dbxelf.h elfos.h svr4.h xtensa/elf.h"
2193         tmake_file="xtensa/t-xtensa xtensa/t-elf"
2194         ;;
2195 xtensa-*-linux*)
2196         tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h xtensa/linux.h"
2197         tmake_file="t-slibgcc-elf-ver t-linux xtensa/t-xtensa xtensa/t-linux"
2198         ;;
2199 am33_2.0-*-linux*)
2200         tm_file="mn10300/mn10300.h dbxelf.h elfos.h linux.h mn10300/linux.h"
2201         tmake_file="t-slibgcc-elf-ver t-linux mn10300/t-linux"
2202         gas=yes gnu_ld=yes
2203         extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
2204         use_collect2=no
2205         ;;
2207         echo "*** Configuration ${target} not supported" 1>&2
2208         exit 1
2209         ;;
2210 esac
2212 # Support for --with-cpu and related options (and a few unrelated options,
2213 # too).
2214 case ${with_cpu} in
2215   yes | no)
2216     echo "--with-cpu must be passed a value" 1>&2
2217     exit 1
2218     ;;
2219 esac
2221 # If there is no $with_cpu option, try to infer one from ${target}.
2222 # This block sets nothing except for with_cpu.
2223 if test x$with_cpu = x ; then
2224   case ${target} in
2225     ep9312-*-*)
2226       # A Cirrus ARM variant.
2227       with_cpu="ep9312"
2228       ;;
2229     i486-*-*)
2230       with_cpu=i486
2231       ;;
2232     i586-*-*)
2233       case ${target_noncanonical} in
2234         k6_2-*)
2235           with_cpu=k6-2
2236           ;;
2237         k6_3-*)
2238           with_cpu=k6-3
2239           ;;
2240         k6-*)
2241           with_cpu=k6
2242           ;;
2243         pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
2244           with_cpu=pentium-mmx
2245           ;;
2246         *)
2247           with_cpu=pentium
2248           ;;
2249       esac
2250       ;;
2251     i686-*-* | i786-*-*)
2252       case ${target_noncanonical} in
2253         k8-*)
2254           with_cpu=k8
2255           ;;
2256         athlon_xp-*|athlon_mp-*|athlon_4-*)
2257           with_cpu=athlon-4
2258           ;;
2259         athlon_tbird-*|athlon-*)
2260           with_cpu=athlon
2261           ;;
2262         pentium2-*)
2263           with_cpu=pentium2
2264           ;;
2265         pentium3-*)
2266           with_cpu=pentium3
2267           ;;
2268         pentium4-*)
2269           with_cpu=pentium4
2270           ;;
2271         *)
2272           with_cpu=pentiumpro
2273           ;;
2274       esac
2275       ;;
2276     x86_64-*-*)
2277       with_cpu=k8
2278       ;;
2279     alphaev6[78]*-*-*)
2280       with_cpu=ev67
2281       ;;
2282     alphaev6*-*-*)
2283       with_cpu=ev6
2284       ;;
2285     alphapca56*-*-*)
2286       with_cpu=pca56
2287       ;;
2288     alphaev56*-*-*)
2289       with_cpu=ev56
2290       ;;
2291     alphaev5*-*-*)
2292       with_cpu=ev5
2293       ;;
2294     sparc*-*-*)
2295       with_cpu="`echo ${target} | sed 's/-.*$//'`"
2296       if [ x$with_cpu = xsparc64 ]; then
2297         with_cpu=v9
2298       fi
2299       ;;
2300   esac
2303         # Similarly for --with-schedule.
2304         if test x$with_schedule = x; then
2305                 case ${target} in
2306                 hppa1* | parisc1*)
2307                         # Override default PA8000 scheduling model.
2308                         with_schedule=7100LC
2309                         ;;
2310                 esac
2311         fi
2313         # Validate and mark as valid any --with options supported
2314         # by this target.  In order to use a particular --with option
2315         # you must list it in supported_defaults; validating the value
2316         # is optional.  This case statement should set nothing besides
2317         # supported_defaults.
2319         supported_defaults=
2320         case "${target}" in
2321         alpha*-*-*)
2322                 supported_defaults="cpu tune"
2323                 for which in cpu tune; do
2324                         eval "val=\$with_$which"
2325                         case "$val" in
2326                         "" \
2327                         | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
2328                         | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
2329                         | 21264a)
2330                                 ;;
2331                         *)
2332                                 echo "Unknown CPU used in --with-$which=$val" 1>&2
2333                                 exit 1
2334                                 ;;
2335                         esac
2336                 done
2337                 ;;
2339         arm*-*-*)
2340                 supported_defaults="arch cpu float tune"
2341                 for which in cpu tune; do
2342                         eval "val=\$with_$which"
2343                         case "$val" in
2344                         "" \
2345                         | arm[236789] | arm250 | arm[67][01]0 \
2346                         | arm60 | arm620 | arm7d | arm7di \
2347                         | arm7m | arm7dm | arm7dmi | arm[79]tdmi \
2348                         | arm70 | arm700i | arm710t | arm720 \
2349                         | arm720t | arm740t | arm710c | arm920 \
2350                         | arm920t | arm926ejs | arm940t | arm9e | arm10tdmi \
2351                         | arm7100 | arm7500 | arm7500fe | arm810 \
2352                         | arm1026ejs | arm1020t | arm1136js | arm1136jfs \
2353                         | xscale | iwmmxt \
2354                         | ep9312 \
2355                         | strongarm | strongarm110 | strongarm11[01]0)
2356                                 # OK
2357                                 ;;
2358                         *)
2359                                 echo "Unknown CPU used in --with-$which=$val" 1>&2
2360                                 exit 1
2361                                 ;;
2362                         esac
2363                 done
2365                 case "$with_arch" in
2366                 "" \
2367                 | armv[2345] | armv2a | armv3m | armv4t | armv5t \
2368                 | armv5te | armv6j | ep9312)
2369                         # OK
2370                         ;;
2371                 *)
2372                         echo "Unknown arch used in --with-arch=$with_arch" 1>&2
2373                         exit 1
2374                         ;;
2375                 esac
2377                 case "$with_float" in
2378                 "" \
2379                 | soft | hard)
2380                         # OK
2381                         ;;
2382                 *)
2383                         echo "Unknown floating point type used in --with-float=$with_float" 1>&2
2384                         exit 1
2385                         ;;
2386                 esac
2388                 if test "x$with_arch" != x && test "x$with_cpu" != x; then
2389                         echo "Warning: --with-arch overrides --with-cpu" 1>&2
2390                 fi
2391                 ;;
2393         hppa*-*-* | parisc*-*-*)
2394                 supported_defaults="arch schedule"
2396                 case "$with_arch" in
2397                 "" | 1.0 | 1.1 | 2.0)
2398                         # OK
2399                         ;;
2400                 *)
2401                         echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
2402                         exit 1
2403                         ;;
2404                 esac
2406                 case "$with_schedule" in
2407                 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
2408                         # OK
2409                         ;;
2410                 *)
2411                         echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
2412                         exit 1
2413                         ;;
2414                 esac
2415                 ;;
2417         i[34567]86-*-* | x86_64-*-*)
2418                 supported_defaults="arch cpu tune"
2419                 for which in arch cpu tune; do
2420                         eval "val=\$with_$which"
2421                         case ${val} in
2422                         "" | i386 | i486 \
2423                         | i586 | pentium | pentium-mmx | winchip-c6 | winchip2 \
2424                         | c3 | c3-2 | i686 | pentiumpro | pentium2 | pentium3 \
2425                         | pentium4 | k6 | k6-2 | k6-3 | athlon | athlon-tbird \
2426                         | athlon-4 | athlon-xp | athlon-mp | k8)
2427                                 # OK
2428                                 ;;
2429                         *)
2430                                 echo "Unknown CPU given in --with-$which=$val." 1>&2
2431                                 exit 1
2432                                 ;;
2433                         esac
2434                 done
2435                 ;;
2437         mips*-*-*)
2438                 supported_defaults="abi arch float tune"
2440                 case ${with_float} in
2441                 "" | soft | hard)
2442                         # OK
2443                         ;;
2444                 *)
2445                         echo "Unknown floating point type used in --with-float=$with_float" 1>&2
2446                         exit 1
2447                         ;;
2448                 esac
2450                 case ${with_abi} in
2451                 "" | 32 | o64 | n32 | 64 | eabi)
2452                         # OK
2453                         ;;
2454                 *)
2455                         echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
2456                         exit 1
2457                         ;;
2458                 esac
2459                 ;;
2461         powerpc*-*-* | rs6000-*-*)
2462                 supported_defaults="cpu float tune"
2464                 for which in cpu tune; do
2465                         eval "val=\$with_$which"
2466                         case ${val} in
2467                         "" | default32 | default64 | common \
2468                         | power | power2 | power3 | power4 \
2469                         | powerpc | powerpc64 \
2470                         | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
2471                         | 401 | 403 | 405 | 405fp | 440 | 440fp | 505 \
2472                         | 601 | 602 | 603 | 603e | ec603e | 604 \
2473                         | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
2474                         | 8540 | 801 | 821 | 823 | 860 | 970)
2475                                 # OK
2476                                 ;;
2477                         *)
2478                                 echo "Unknown cpu used in --with-$which=$val." 1>&2
2479                                 exit 1
2480                                 ;;
2481                         esac
2482                 done
2483                 ;;
2485         s390*-*-*)
2486                 supported_defaults="arch mode tune"
2488                 for which in arch tune; do
2489                         eval "val=\$with_$which"
2490                         case ${val} in
2491                         "" | g5 | g6 | z900 | z990)
2492                                 # OK
2493                                 ;;
2494                         *)
2495                                 echo "Unknown cpu used in --with-$which=$val." 1>&2
2496                                 exit 1
2497                                 ;;
2498                         esac
2499                 done
2501                 case ${with_mode} in
2502                 "" | esa | zarch)
2503                         # OK
2504                         ;;
2505                 *)
2506                         echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
2507                         exit 1
2508                         ;;
2509                 esac
2510                 ;;
2512         sparc*-*-*)
2513                 supported_defaults="cpu float tune"
2515                 for which in cpu tune; do
2516                         eval "val=\$with_$which"
2517                         case ${val} in
2518                         "" | sparc | sparcv9 | sparc64 | sparc86x \
2519                         | v7 | cypress | v8 | supersparc | sparclite | f930 \
2520                         | f934 | hypersparc | sparclite86x | sparclet | tsc701 \
2521                         | v9 | ultrasparc | ultrasparc3)
2522                                 # OK
2523                                 ;;
2524                         *)
2525                                 echo "Unknown cpu used in --with-$which=$val" 1>&2
2526                                 exit 1
2527                                 ;;
2528                         esac
2529                 done
2531                 case ${with_float} in
2532                 "" | soft | hard)
2533                         # OK
2534                         ;;
2535                 *)
2536                         echo "Unknown floating point type used in --with-float=$with_float" 1>&2
2537                         exit 1
2538                         ;;
2539                 esac
2540                 ;;
2542         v850*-*-*)
2543                 supported_defaults=cpu
2544                 case ${with_cpu} in
2545                 "" | v850e | v850e1)
2546                         # OK
2547                         ;;
2548                 *)
2549                         echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
2550                         exit 1
2551                         ;;
2552                 esac
2553                 ;;
2554         esac
2556         # Set some miscellaneous flags for particular targets.
2557         target_cpu_default2=
2558         case ${target} in
2559         alpha*-*-*)
2560                 if test x$gas = xyes
2561                 then
2562                         target_cpu_default2="MASK_GAS"
2563                 fi
2564                 ;;
2566         arm*-*-*)
2567                 case "x$with_cpu" in
2568                 x)
2569                         # The most generic
2570                         target_cpu_default2="TARGET_CPU_generic"
2571                         ;;
2573                 *)
2574                         target_cpu_default2="TARGET_CPU_$with_cpu"
2575                         ;;
2576                 esac
2577                 ;;
2579         hppa*-*-* | parisc*-*-*)
2580                 if test x$gas = xyes
2581                 then
2582                         target_cpu_default2="MASK_GAS|MASK_JUMP_IN_DELAY"
2583                 fi
2584                 ;;
2586         mips*-*-*)
2587                 case ${target} in
2588                 mips*-*-ecoff* | mips*-*-elf*)
2589                         if test x$gas = xyes
2590                         then
2591                                 if test x$gnu_ld = xyes
2592                                 then
2593                                         target_cpu_default2="MASK_GAS|MASK_SPLIT_ADDR"
2594                                 else
2595                                         target_cpu_default2="MASK_GAS"
2596                                 fi
2597                         fi
2598                         ;;
2599                 mips*-*-*)
2600                         if test x$gas = xyes
2601                         then
2602                                 target_cpu_default2="MASK_GAS"
2603                         fi
2604                         ;;
2605                 esac
2606                 case ${target} in
2607                         mips*el-*-*)
2608                                 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
2609                                 ;;
2610                 esac
2611                 case $tm_file in
2612                         *mips/elf.h* | *mips/elf64.h*)
2613                                 tm_defines="OBJECT_FORMAT_ELF $tm_defines"
2614                                 ;;
2615                 esac
2616                 if test "x$enable_gofast" = xyes
2617                 then
2618                         tm_defines="US_SOFTWARE_GOFAST $tm_defines"
2619                         tmake_file="mips/t-gofast $tmake_file"
2620                 else
2621                         tmake_file="mips/t-mips $tmake_file"
2622                 fi
2623                 ;;
2625         powerpc*-*-* | rs6000-*-*)
2626                 if test x$enable_altivec = xyes
2627                 then
2628                         tm_file="$tm_file rs6000/altivec-defs.h"
2629                 fi
2630                 # FIXME: The PowerPC port uses the value set at compile time,
2631                 # although it's only cosmetic.
2632                 if test "x$with_cpu" != x
2633                 then
2634                         target_cpu_default2="\\\"$with_cpu\\\""
2635                 fi
2636                 out_file=rs6000/rs6000.c
2637                 c_target_objs="${c_target_objs} rs6000-c.o"
2638                 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
2639                 tmake_file="rs6000/t-rs6000 ${tmake_file}"
2640                 ;;
2642         sparc*-*-*)
2643                 # Some standard aliases.
2644                 case x$with_cpu in
2645                 xsparc)
2646                         with_cpu=v7
2647                         ;;
2648                 xsparc86x)
2649                         with_cpu=sparclite86x
2650                         ;;
2651                 xsparcv9 | xsparc64)
2652                         with_cpu=v9
2653                         ;;
2654                 esac
2656                 # The Sparc port checks this value at compile-time.
2657                 target_cpu_default2="TARGET_CPU_$with_cpu"
2658                 ;;
2659         v850*-*-*)
2660                 # FIXME: The v850 is "special" in that it does not support
2661                 # runtime CPU selection, only --with-cpu.
2662                 case "x$with_cpu" in
2663                 x)
2664                         ;;
2665                 xv850e)
2666                         target_cpu_default2="TARGET_CPU_$with_cpu"
2667                         ;;
2668                 esac
2669                 ;;
2670         esac
2672         t=
2673         all_defaults="abi cpu arch tune schedule float mode"
2674         for option in $all_defaults
2675         do
2676                 eval "val=\$with_$option"
2677                 if test -n "$val"; then
2678                         case " $supported_defaults " in
2679                         *" $option "*)
2680                                 ;;
2681                         *)
2682                                 echo "This target does not support --with-$option." 2>&1
2683                                 exit 1
2684                                 ;;
2685                         esac
2687                         if test "x$t" = x
2688                         then
2689                                 t="{ \"$option\", \"$val\" }"
2690                         else
2691                                 t="${t}, { \"$option\", \"$val\" }"
2692                         fi
2693                 fi
2694         done
2695         if test "x$t" = x
2696         then
2697                 configure_default_options="{ { NULL, NULL} }"
2698         else
2699                 configure_default_options="{ ${t} }"
2700         fi
2702         if test "$target_cpu_default2" != ""
2703         then
2704                 if test "$target_cpu_default" != ""
2705                 then
2706                         target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
2707                 else
2708                         target_cpu_default=$target_cpu_default2
2709                 fi
2710         fi