config.gcc: Use darwin9.h, darwin10.h and darwin12.h on darwin12 and later.
[platform/upstream/gcc.git] / gcc / config.gcc
1 # GCC target-specific configuration file.
2 # Copyright (C) 1997-2015 Free Software Foundation, Inc.
3
4 #This file is part of GCC.
5
6 #GCC is free software; you can redistribute it and/or modify it under
7 #the terms of the GNU General Public License as published by the Free
8 #Software Foundation; either version 3, or (at your option) any later
9 #version.
10
11 #GCC is distributed in the hope that it will be useful, but WITHOUT
12 #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 #FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 #for more details.
15
16 #You should have received a copy of the GNU General Public License
17 #along with GCC; see the file COPYING3.  If not see
18 #<http://www.gnu.org/licenses/>.
19
20 # This is the GCC target-specific configuration file
21 # where a configuration type is mapped to different system-specific
22 # definitions and files.  This is invoked by the autoconf-generated
23 # configure script.  Putting it in a separate shell file lets us skip
24 # running autoconf when modifying target-specific information.
25
26 # When you change the cases in the OS or target switches, consider
27 # updating ../libgcc/config.host also.
28
29 # This file switches on the shell variable ${target}, and also uses the
30 # following shell variables:
31 #
32 #  with_*               Various variables as set by configure.
33 #
34 #  enable_threads       Either the name, yes or no depending on whether
35 #                       threads support was requested.
36 #
37 #  default_use_cxa_atexit
38 #                         The default value for the $enable___cxa_atexit
39 #                       variable.  enable___cxa_atexit needs to be set to
40 #                       "yes" for the correct operation of C++ destructors
41 #                       but it relies upon the presence of a non-standard C
42 #                       library function called __cxa_atexit.
43 #                         Since not all C libraries provide __cxa_atexit the
44 #                       default value of $default_use_cxa_atexit is set to
45 #                       "no" except for targets which are known to be OK.
46 #
47 #  default_gnu_indirect_function
48 #                       The default value for the $enable_gnu_indirect_function
49 #                       variable.  enable_gnu_indirect_function relies
50 #                       upon the presence of a non-standard gnu ifunc support
51 #                       in the assembler, linker and dynamic linker.
52 #                       Since not all libraries provide the dynamic linking
53 #                       support, the default value of
54 #                       $default_gnu_indirect_function is set to
55 #                       "no" except for targets which are known to be OK.
56 #
57 #  gas_flag             Either yes or no depending on whether GNU as was
58 #                       requested.
59 #
60 #  gnu_ld_flag          Either yes or no depending on whether GNU ld was
61 #                       requested.
62
63 # This file sets the following shell variables for use by the
64 # autoconf-generated configure script:
65 #
66 #  cpu_type             The name of the cpu, if different from the first
67 #                       chunk of the canonical target name.
68 #
69 #  tm_defines           List of target macros to define for all compilations.
70 #
71 #  tm_file              A list of target macro files, if different from
72 #                       "$cpu_type/$cpu_type.h". Usually it's constructed
73 #                       per target in a way like this:
74 #                       tm_file="${tm_file} dbxelf.h elfos.h ${cpu_type.h}/elf.h"
75 #                       Note that the preferred order is:
76 #                       - specific target header "${cpu_type}/${cpu_type.h}"
77 #                       - generic headers like dbxelf.h elfos.h, etc.
78 #                       - specializing target headers like ${cpu_type.h}/elf.h
79 #                       This helps to keep OS specific stuff out of the CPU
80 #                       defining header ${cpu_type}/${cpu_type.h}.
81 #
82 #                       It is possible to include automatically-generated
83 #                       build-directory files by prefixing them with "./".
84 #                       All other files should relative to $srcdir/config.
85 #
86 #  tm_p_file            Location of file with declarations for functions
87 #                       in $out_file.
88 #
89 #  out_file             The name of the machine description C support
90 #                       file, if different from "$cpu_type/$cpu_type.c".
91 #
92 #  common_out_file      The name of the source file for code shared between
93 #                       the compiler proper and the driver.
94 #
95 #  md_file              The name of the machine-description file, if
96 #                       different from "$cpu_type/$cpu_type.md".
97 #
98 #  tmake_file           A list of machine-description-specific
99 #                       makefile-fragments, if different from
100 #                       "$cpu_type/t-$cpu_type".
101 #
102 #  extra_modes          The name of the file containing a list of extra
103 #                       machine modes, if necessary and different from
104 #                       "$cpu_type/$cpu_type-modes.def".
105 #
106 #  extra_objs           List of extra objects that should be linked into
107 #                       the compiler proper (cc1, cc1obj, cc1plus)
108 #                       depending on target.
109 #
110 #  extra_gcc_objs       List of extra objects that should be linked into
111 #                       the compiler driver (gcc) depending on target.
112 #
113 #  extra_headers        List of used header files from the directory
114 #                       config/${cpu_type}.
115 #
116 #  user_headers_inc_next_pre
117 #                       List of header file names of internal gcc header
118 #                       files, which should be prefixed by an include_next.
119 #  user_headers_inc_next_post
120 #                       List of header file names of internal gcc header
121 #                       files, which should be postfixed by an include_next.
122 #  use_gcc_tgmath       If set, add tgmath.h to the list of used header
123 #                       files.
124 #
125 #  use_gcc_stdint       If "wrap", install a version of stdint.h that
126 #                       wraps the system's copy for hosted compilations;
127 #                       if "provide", provide a version of systems without
128 #                       such a system header; otherwise "none", do not
129 #                       provide such a header at all.
130 #
131 #  extra_programs       List of extra executables compiled for this target
132 #                       machine, used when linking.
133 #
134 #  extra_options        List of target-dependent .opt files.
135 #
136 #  c_target_objs        List of extra target-dependent objects that be
137 #                       linked into the C compiler only.
138 #
139 #  cxx_target_objs      List of extra target-dependent objects that be
140 #                       linked into the C++ compiler only.
141 #
142 #  fortran_target_objs  List of extra target-dependent objects that be
143 #                       linked into the fortran compiler only.
144 #
145 #  target_gtfiles       List of extra source files with type information.
146 #
147 #  xm_defines           List of macros to define when compiling for the
148 #                       target machine.
149 #
150 #  xm_file              List of files to include when compiling for the
151 #                       target machine.
152 #
153 #  use_collect2         Set to yes or no, depending on whether collect2
154 #                       will be used.
155 #
156 #  target_cpu_default   Set to override the default target model.
157 #
158 #  gdb_needs_out_file_path
159 #                       Set to yes if gdb needs a dir command with
160 #                       `dirname $out_file`.
161 #
162 #  thread_file          Set to control which thread package to use.
163 #
164 #  gas                  Set to yes or no depending on whether the target
165 #                       system normally uses GNU as.
166 #
167 #  configure_default_options
168 #                       Set to an initializer for configure_default_options
169 #                       in configargs.h, based on --with-cpu et cetera.
170 #
171 #  native_system_header_dir
172 #                       Where system header files are found for this
173 #                       target.  This defaults to /usr/include.  If
174 #                       the --with-sysroot configure option or the
175 #                       --sysroot command line option is used this
176 #                       will be relative to the sysroot.
177 # target_type_format_char 
178 #                       The default character to be used for formatting
179 #                       the attribute in a
180 #                       .type symbol_name, ${t_t_f_c}<property>
181 #                       directive.
182
183 # The following variables are used in each case-construct to build up the
184 # outgoing variables:
185 #
186 #  gnu_ld               Set to yes or no depending on whether the target
187 #                       system normally uses GNU ld.
188 #
189 #  target_has_targetcm  Set to yes or no depending on whether the target
190 #                       has its own definition of targetcm.
191 #
192 #  target_has_targetm_common    Set to yes or no depending on whether the
193 #                       target has its own definition of targetm_common.
194
195 out_file=
196 common_out_file=
197 tmake_file=
198 extra_headers=
199 user_headers_inc_next_pre=
200 user_headers_inc_next_post=
201 use_gcc_tgmath=yes
202 use_gcc_stdint=none
203 extra_programs=
204 extra_objs=
205 extra_gcc_objs=
206 extra_options=
207 c_target_objs=
208 cxx_target_objs=
209 fortran_target_objs=
210 target_has_targetcm=no
211 target_has_targetm_common=yes
212 tm_defines=
213 xm_defines=
214 # Set this to force installation and use of collect2.
215 use_collect2=
216 # Set this to override the default target model.
217 target_cpu_default=
218 # Set this if gdb needs a dir command with `dirname $out_file`
219 gdb_needs_out_file_path=
220 # Set this to control which thread package will be used.
221 thread_file=
222 # Reinitialize these from the flag values every loop pass, since some
223 # configure entries modify them.
224 gas="$gas_flag"
225 gnu_ld="$gnu_ld_flag"
226 default_use_cxa_atexit=no
227 default_gnu_indirect_function=no
228 target_gtfiles=
229 need_64bit_isa=
230 native_system_header_dir=/usr/include
231 target_type_format_char='@'
232
233 # Don't carry these over build->host->target.  Please.
234 xm_file=
235 md_file=
236
237 # Obsolete configurations.
238 case ${target} in
239 # Currently there are no obsolete targets.
240  nothing                                \
241  )
242     if test "x$enable_obsolete" != xyes; then
243       echo "*** Configuration ${target} is obsolete." >&2
244       echo "*** Specify --enable-obsolete to build it anyway." >&2
245       echo "*** Support will be REMOVED in the next major release of GCC," >&2
246       echo "*** unless a maintainer comes forward." >&2
247       exit 1
248     fi;;
249 esac
250
251 # Unsupported targets list.  Do not put an entry in this list unless
252 # it would otherwise be caught by a more permissive pattern.  The list
253 # should be in alphabetical order.
254 case ${target} in
255  # Avoid special cases that are not obsolete
256    arm*-*-*eabi*                        \
257  )
258         ;;
259    arm*-wince-pe*                       \
260  | arm*-*-ecos-elf                      \
261  | arm*-*-elf                           \
262  | arm*-*-linux*                        \
263  | arm*-*-uclinux*                      \
264  | i[34567]86-go32-*                    \
265  | i[34567]86-*-go32*                   \
266  | m68k-*-uclinuxoldabi*                \
267  | mips64orion*-*-rtems*                \
268  | pdp11-*-bsd                          \
269  | sparc-hal-solaris2*                  \
270  | thumb-*-*                            \
271  | *-*-freebsd[12] | *-*-freebsd[12].*  \
272  | *-*-freebsd*aout*                    \
273  | *-*-linux*aout*                      \
274  | *-*-linux*coff*                      \
275  | *-*-linux*libc1*                     \
276  | *-*-linux*oldld*                     \
277  | *-*-rtemsaout*                       \
278  | *-*-rtemscoff*                       \
279  | *-*-solaris2                         \
280  | *-*-solaris2.[0-9]                   \
281  | *-*-solaris2.[0-9].*                 \
282  | *-*-sysv*                            \
283  | vax-*-vms*                           \
284  )
285         echo "*** Configuration ${target} not supported" 1>&2
286         exit 1
287         ;;
288 esac
289
290 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
291 # updated in each machine entry.  Also set default extra_headers for some
292 # machines.
293 tm_p_file=
294 cpu_type=`echo ${target} | sed 's/-.*$//'`
295 cpu_is_64bit=
296 case ${target} in
297 m32c*-*-*)
298         cpu_type=m32c
299         tmake_file=m32c/t-m32c
300         target_has_targetm_common=no
301         ;;
302 aarch64*-*-*)
303         cpu_type=aarch64
304         extra_headers="arm_neon.h arm_acle.h"
305         extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o"
306         target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
307         target_has_targetm_common=yes
308         ;;
309 alpha*-*-*)
310         cpu_type=alpha
311         extra_options="${extra_options} g.opt"
312         ;;
313 am33_2.0-*-linux*)
314         cpu_type=mn10300
315         ;;
316 arc*-*-*)
317         cpu_type=arc
318         ;;
319 arm*-*-*)
320         cpu_type=arm
321         extra_objs="arm-builtins.o aarch-common.o"
322         extra_headers="mmintrin.h arm_neon.h arm_acle.h"
323         target_type_format_char='%'
324         c_target_objs="arm-c.o"
325         cxx_target_objs="arm-c.o"
326         extra_options="${extra_options} arm/arm-tables.opt"
327         target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
328         ;;
329 avr-*-*)
330         cpu_type=avr
331         c_target_objs="avr-c.o"
332         cxx_target_objs="avr-c.o"
333         ;;
334 bfin*-*)
335         cpu_type=bfin
336         ;;
337 crisv32-*)
338         cpu_type=cris
339         ;;
340 frv*)   cpu_type=frv
341         extra_options="${extra_options} g.opt"
342         ;;
343 moxie*) cpu_type=moxie
344         target_has_targetm_common=no
345         ;;
346 fido-*-*)
347         cpu_type=m68k
348         extra_headers=math-68881.h
349         extra_options="${extra_options} m68k/m68k-tables.opt"
350         ;;
351 i[34567]86-*-*)
352         cpu_type=i386
353         c_target_objs="i386-c.o"
354         cxx_target_objs="i386-c.o"
355         extra_options="${extra_options} fused-madd.opt"
356         extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
357                        pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
358                        nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
359                        immintrin.h x86intrin.h avxintrin.h xopintrin.h
360                        ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
361                        lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
362                        avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
363                        rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
364                        adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
365                        avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
366                        shaintrin.h clflushoptintrin.h xsavecintrin.h
367                        xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
368                        avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
369                        avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
370                        avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h"
371         ;;
372 x86_64-*-*)
373         cpu_type=i386
374         c_target_objs="i386-c.o"
375         cxx_target_objs="i386-c.o"
376         extra_options="${extra_options} fused-madd.opt"
377         extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
378                        pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
379                        nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
380                        immintrin.h x86intrin.h avxintrin.h xopintrin.h
381                        ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
382                        lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h
383                        avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
384                        rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
385                        adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
386                        avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
387                        shaintrin.h clflushoptintrin.h xsavecintrin.h
388                        xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
389                        avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
390                        avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
391                        avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h"
392         ;;
393 ia64-*-*)
394         extra_headers=ia64intrin.h
395         extra_options="${extra_options} g.opt fused-madd.opt"
396         ;;
397 hppa*-*-*)
398         cpu_type=pa
399         ;;
400 lm32*)
401         extra_options="${extra_options} g.opt"
402         ;;
403 m32r*-*-*)
404         cpu_type=m32r
405         extra_options="${extra_options} g.opt"
406         ;;
407 m68k-*-*)
408         extra_headers=math-68881.h
409         extra_options="${extra_options} m68k/m68k-tables.opt"
410         ;;
411 microblaze*-*-*)
412         cpu_type=microblaze
413         extra_options="${extra_options} g.opt"
414         ;;
415 mips*-*-*)
416         cpu_type=mips
417         extra_headers="loongson.h"
418         extra_options="${extra_options} g.opt mips/mips-tables.opt"
419         ;;
420 nds32*)
421         cpu_type=nds32
422         extra_headers="nds32_intrinsic.h"
423         extra_objs="nds32-cost.o nds32-intrinsic.o nds32-isr.o nds32-md-auxiliary.o nds32-pipelines-auxiliary.o nds32-predicates.o nds32-memory-manipulation.o nds32-fp-as-gp.o"
424         ;;
425 nios2-*-*)
426         cpu_type=nios2
427         extra_options="${extra_options} g.opt"
428         ;;
429 nvptx-*-*)
430         cpu_type=nvptx
431         ;;
432 powerpc*-*-*)
433         cpu_type=rs6000
434         extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
435         case x$with_cpu in
436             xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500)
437                 cpu_is_64bit=yes
438                 ;;
439         esac
440         extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
441         ;;
442 rs6000*-*-*)
443         extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
444         ;;
445 sparc*-*-*)
446         cpu_type=sparc
447         c_target_objs="sparc-c.o"
448         cxx_target_objs="sparc-c.o"
449         extra_headers="visintrin.h"
450         ;;
451 spu*-*-*)
452         cpu_type=spu
453         ;;
454 s390*-*-*)
455         cpu_type=s390
456         extra_options="${extra_options} fused-madd.opt"
457         extra_headers="s390intrin.h htmintrin.h htmxlintrin.h"
458         ;;
459 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
460 sh[123456789lbe]*-*-* | sh-*-*)
461         cpu_type=sh
462         extra_options="${extra_options} fused-madd.opt"
463         extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
464         ;;
465 v850*-*-*)
466         cpu_type=v850
467         ;;
468 tic6x-*-*)
469         cpu_type=c6x
470         extra_headers="c6x_intrinsics.h"
471         extra_options="${extra_options} c6x/c6x-tables.opt"
472         ;;
473 xtensa*-*-*)
474         extra_options="${extra_options} fused-madd.opt"
475         ;;
476 tilegx*-*-*)
477         cpu_type=tilegx
478         ;;
479 tilepro*-*-*)
480         cpu_type=tilepro
481         ;;
482 esac
483
484 tm_file=${cpu_type}/${cpu_type}.h
485 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
486 then
487         tm_p_file=${cpu_type}/${cpu_type}-protos.h
488 fi
489 extra_modes=
490 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
491 then
492         extra_modes=${cpu_type}/${cpu_type}-modes.def
493 fi
494 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
495 then
496         extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
497 fi
498
499 case ${target} in
500 aarch64*-*-*)
501         tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
502         case ${with_abi} in
503         "")
504                 if test "x$with_multilib_list" = xilp32; then
505                         tm_file="aarch64/biarchilp32.h ${tm_file}"
506                 else
507                         tm_file="aarch64/biarchlp64.h ${tm_file}"
508                 fi
509                 ;;
510         ilp32)
511                 tm_file="aarch64/biarchilp32.h ${tm_file}"
512                 ;;
513         lp64)
514                 tm_file="aarch64/biarchlp64.h ${tm_file}"
515                 ;;
516         *)
517                 echo "Unknown ABI used in --with-abi=$with_abi"
518                 exit 1
519         esac
520         ;;
521 i[34567]86-*-*)
522         if test "x$with_abi" != x; then
523                 echo "This target does not support --with-abi."
524                 exit 1
525         fi
526         if test "x$enable_cld" = xyes; then
527                 tm_defines="${tm_defines} USE_IX86_CLD=1"
528         fi
529         if test "x$enable_frame_pointer" = xyes; then
530                 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
531         fi
532         tm_file="vxworks-dummy.h ${tm_file}"
533         ;;
534 x86_64-*-*)
535         case ${with_abi} in
536         "")
537                 if test "x$with_multilib_list" = xmx32; then
538                         tm_file="i386/biarchx32.h ${tm_file}"
539                 else
540                         tm_file="i386/biarch64.h ${tm_file}"
541                 fi
542                 ;;
543         64 | m64)
544                 tm_file="i386/biarch64.h ${tm_file}"
545                 ;;
546         x32 | mx32)
547                 tm_file="i386/biarchx32.h ${tm_file}"
548                 ;;
549         *)
550                 echo "Unknown ABI used in --with-abi=$with_abi"
551                 exit 1
552         esac
553         if test "x$enable_cld" = xyes; then
554                 tm_defines="${tm_defines} USE_IX86_CLD=1"
555         fi
556         if test "x$enable_frame_pointer" = xyes; then
557                 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
558         fi
559         tm_file="vxworks-dummy.h ${tm_file}"
560         ;;
561 arm*-*-*)
562         tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
563         tm_file="vxworks-dummy.h ${tm_file}"
564         ;;
565 mips*-*-* | sh*-*-* | sparc*-*-*)
566         tm_file="vxworks-dummy.h ${tm_file}"
567         ;;
568 esac
569
570 # On a.out targets, we need to use collect2.
571 case ${target} in
572 *-*-*aout*)
573         use_collect2=yes
574         ;;
575 esac
576
577 # Common C libraries.
578 tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"
579
580 # 32-bit x86 processors supported by --with-arch=.  Each processor
581 # MUST be separated by exactly one space.
582 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
583 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
584 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
585 pentium4 pentium4m pentiumpro prescott"
586
587 # 64-bit x86 processors supported by --with-arch=.  Each processor
588 # MUST be separated by exactly one space.
589 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
590 bdver3 bdver4 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \
591 core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \
592 sandybridge ivybridge haswell broadwell bonnell silvermont knl x86-64 \
593 native"
594
595 # Additional x86 processors supported by --with-cpu=.  Each processor
596 # MUST be separated by exactly one space.
597 x86_cpus="generic intel"
598
599 # Common parts for widely ported systems.
600 case ${target} in
601 *-*-darwin*)
602   tmake_file="t-darwin ${cpu_type}/t-darwin"
603   tm_file="${tm_file} darwin.h"
604   case ${target} in
605   *-*-darwin9*)
606     tm_file="${tm_file} darwin9.h"
607     ;;
608   *-*-darwin[1][01]*)
609     tm_file="${tm_file} darwin9.h darwin10.h"
610     ;;
611   *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
612     tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
613     ;;
614   esac
615   tm_file="${tm_file} ${cpu_type}/darwin.h"
616   tm_p_file="${tm_p_file} darwin-protos.h"
617   target_gtfiles="\$(srcdir)/config/darwin.c"
618   extra_options="${extra_options} darwin.opt"
619   c_target_objs="${c_target_objs} darwin-c.o"
620   cxx_target_objs="${cxx_target_objs} darwin-c.o"
621   fortran_target_objs="darwin-f.o"
622   target_has_targetcm=yes
623   extra_objs="darwin.o"
624   extra_gcc_objs="darwin-driver.o"
625   default_use_cxa_atexit=yes
626   use_gcc_stdint=wrap
627   case ${enable_threads} in
628     "" | yes | posix) thread_file='posix' ;;
629   esac
630   ;;
631 *-*-dragonfly*)
632   gas=yes
633   gnu_ld=yes
634   tmake_file="t-slibgcc"
635   case ${enable_threads} in
636     "" | yes | posix)
637       thread_file='posix'
638       ;;
639     no | single)
640       # Let these non-posix thread selections fall through if requested
641       ;;
642     *)
643       echo 'Unknown thread configuration for DragonFly BSD'
644       exit 1
645       ;;
646   esac
647   extra_options="$extra_options rpath.opt dragonfly.opt"
648   default_use_cxa_atexit=yes
649   use_gcc_stdint=wrap
650   ;;
651 *-*-freebsd*)
652   # This is the generic ELF configuration of FreeBSD.  Later
653   # machine-specific sections may refine and add to this
654   # configuration.
655   #
656   # Due to tm_file entry ordering issues that vary between cpu
657   # architectures, we only define fbsd_tm_file to allow the
658   # machine-specific section to dictate the final order of all
659   # entries of tm_file with the minor exception that components
660   # of the tm_file set here will always be of the form:
661   #
662   # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
663   #
664   # The machine-specific section should not tamper with this
665   # ordering but may order all other entries of tm_file as it
666   # pleases around the provided core setting.
667   gas=yes
668   gnu_ld=yes
669   fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
670   if test "$fbsd_major" = ""; then
671     echo "Specify the major version number of the targeted FreeBSD release"
672     echo "like this: --target=amd64-unknown-freebsd10.1"
673     exit 1
674   fi
675   tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
676   tmake_file="t-slibgcc"
677   case ${enable_threads} in
678     no)
679       fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
680       ;;
681     "" | yes | posix)
682       thread_file='posix'
683       ;;
684     *)
685       echo 'Unknown thread configuration for FreeBSD'
686       exit 1
687       ;;
688   esac
689   fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
690   extra_options="$extra_options rpath.opt freebsd.opt"
691   case ${target} in
692     *-*-freebsd[345].*)
693       :;;
694     *)
695       default_use_cxa_atexit=yes;;
696   esac
697   use_gcc_stdint=wrap
698   ;;
699 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
700   extra_options="$extra_options gnu-user.opt"
701   gas=yes
702   gnu_ld=yes
703   case ${enable_threads} in
704     "" | yes | posix) thread_file='posix' ;;
705   esac
706   tmake_file="t-slibgcc"
707   case $target in
708     *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu)
709       :;;
710     *-*-gnu*)
711       native_system_header_dir=/include
712       ;;
713   esac
714   # Linux C libraries selection switch: glibc / uclibc / bionic.
715   # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
716   case $target in
717     *linux*)
718       tm_p_file="${tm_p_file} linux-protos.h"
719       tmake_file="${tmake_file} t-linux"
720       extra_objs="${extra_objs} linux.o"
721       extra_options="${extra_options} linux.opt"
722       ;;
723   esac
724   case $target in
725     *-*-*android*)
726       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
727       ;;
728     *-*-*uclibc*)
729       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
730       ;;
731     *)
732       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
733       ;;
734   esac
735   # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
736   # is provided.
737   default_use_cxa_atexit=yes
738   use_gcc_tgmath=no
739   use_gcc_stdint=wrap
740   # Enable compilation for Android by default for *android* targets.
741   case $target in
742     *-*-*android*)
743       tm_defines="$tm_defines ANDROID_DEFAULT=1"
744       ;;
745     *)
746       tm_defines="$tm_defines ANDROID_DEFAULT=0"
747       ;;
748   esac
749   c_target_objs="${c_target_objs} glibc-c.o"
750   cxx_target_objs="${cxx_target_objs} glibc-c.o"
751   tmake_file="${tmake_file} t-glibc"
752   target_has_targetcm=yes
753   ;;
754 *-*-netbsd*)
755   tmake_file="t-slibgcc"
756   gas=yes
757   gnu_ld=yes
758
759   # NetBSD 2.0 and later get POSIX threads enabled by default.
760   # Allow them to be explicitly enabled on any other version.
761   case ${enable_threads} in
762     "")
763       case ${target} in
764         *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
765           thread_file='posix'
766           tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
767           ;;
768       esac
769       ;;
770     yes | posix)
771       thread_file='posix'
772       tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
773       ;;
774   esac
775
776   # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
777   # default (unless overridden by --disable-__cxa_atexit).
778   case ${target} in
779     *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
780       default_use_cxa_atexit=yes
781       ;;
782   esac
783   ;;
784 *-*-openbsd*)
785   tmake_file="t-openbsd"
786   case ${enable_threads} in
787     yes)
788       thread_file='posix'
789       ;;
790   esac
791   case ${target} in
792     *-*-openbsd2.*|*-*-openbsd3.[012])
793       tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
794   esac
795   case ${target} in
796     *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
797       default_use_cxa_atexit=yes
798       ;;
799   esac
800   ;;
801 *-*-rtems*)
802   case ${enable_threads} in
803     "" | yes | rtems) thread_file='rtems' ;;
804     posix) thread_file='posix' ;;
805     no) ;;
806     *)
807       echo 'Unknown thread configuration for RTEMS'
808       exit 1
809       ;;
810   esac
811   tmake_file="${tmake_file} t-rtems"
812   extra_options="${extra_options} rtems.opt"
813   default_use_cxa_atexit=yes
814   use_gcc_stdint=wrap
815   ;;
816 *-*-uclinux*)
817   extra_options="$extra_options gnu-user.opt"
818   use_gcc_stdint=wrap
819   tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
820   ;;
821 *-*-rdos*)
822   use_gcc_stdint=wrap
823   ;;
824 *-*-solaris2*)
825   # i?86-*-solaris2* needs to insert headers between cpu default and
826   # Solaris 2 specific ones.
827   sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
828   sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
829   sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
830   use_gcc_stdint=wrap
831   if test x$gnu_ld = xyes; then
832     tm_file="usegld.h ${tm_file}"
833   fi
834   if test x$gas = xyes; then
835     tm_file="usegas.h ${tm_file}"
836   fi
837   tm_p_file="${tm_p_file} sol2-protos.h"
838   tmake_file="${tmake_file} t-sol2 t-slibgcc"
839   c_target_objs="${c_target_objs} sol2-c.o"
840   cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
841   extra_objs="sol2.o sol2-stubs.o"
842   extra_options="${extra_options} sol2.opt"
843   case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
844     "":yes:* | yes:yes:* )
845       thread_file=posix
846       ;;
847   esac
848   ;;
849 *-*-*vms*)
850   extra_options="${extra_options} vms/vms.opt"
851   xmake_file=vms/x-vms
852   tmake_file="vms/t-vms t-slibgcc"
853   extra_objs="vms.o"
854   target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
855   tm_p_file="${tm_p_file} vms/vms-protos.h"
856   xm_file="vms/xm-vms.h"
857   c_target_objs="vms-c.o"
858   cxx_target_objs="vms-c.o"
859   fortran_target_objs="vms-f.o"
860   use_gcc_stdint=provide
861   tm_file="${tm_file} vms/vms-stdint.h"
862   if test x$gnu_ld != xyes; then
863     # Build wrappers for native case.
864     extra_programs="ld\$(exeext) ar\$(exeext)"
865     tmake_file="$tmake_file vms/t-vmsnative"
866   fi
867   ;;
868 *-*-vxworks*)
869   tmake_file=t-vxworks
870   xm_defines=POSIX
871   extra_options="${extra_options} vxworks.opt"
872   extra_objs="$extra_objs vxworks.o"
873   case ${enable_threads} in
874     no) ;;
875     "" | yes | vxworks) thread_file='vxworks' ;;
876     *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
877   esac
878   ;;
879 *-*-elf|arc*-*-elf*)
880   # Assume that newlib is being used and so __cxa_atexit is provided.
881   default_use_cxa_atexit=yes
882   use_gcc_stdint=wrap
883   ;;
884 esac
885
886 case ${target} in
887 aarch64*-*-elf)
888         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
889         tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
890         tmake_file="${tmake_file} aarch64/t-aarch64"
891         use_gcc_stdint=wrap
892         case $target in
893         aarch64_be-*)
894                 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
895                 ;;
896         esac
897         aarch64_multilibs="${with_multilib_list}"
898         if test "$aarch64_multilibs" = "default"; then
899                 aarch64_multilibs="lp64,ilp32"
900         fi
901         aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
902         for aarch64_multilib in ${aarch64_multilibs}; do
903                 case ${aarch64_multilib} in
904                 ilp32 | lp64 )
905                         TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
906                         ;;
907                 *)
908                         echo "--with-multilib-list=${aarch64_multilib} not supported."
909                         exit 1
910                 esac
911         done
912         TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
913         ;;
914 aarch64*-*-linux*)
915         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
916         tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
917         tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
918         case $target in
919         aarch64_be-*)
920                 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
921                 ;;
922         esac
923         aarch64_multilibs="${with_multilib_list}"
924         if test "$aarch64_multilibs" = "default"; then
925                 # TODO: turn on ILP32 multilib build after its support is mature.
926                 # aarch64_multilibs="lp64,ilp32"
927                 aarch64_multilibs="lp64"
928         fi
929         aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
930         for aarch64_multilib in ${aarch64_multilibs}; do
931                 case ${aarch64_multilib} in
932                 ilp32 | lp64 )
933                         TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
934                         ;;
935                 *)
936                         echo "--with-multilib-list=${aarch64_multilib} not supported."
937                         exit 1
938                 esac
939         done
940         TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
941         ;;
942 alpha*-*-linux*)
943         tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
944         tmake_file="${tmake_file} alpha/t-linux"
945         extra_options="${extra_options} alpha/elf.opt"
946         ;;
947 alpha*-*-freebsd*)
948         tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
949         extra_options="${extra_options} alpha/elf.opt"
950         ;;
951 alpha*-*-netbsd*)
952         tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
953         extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
954                        alpha/elf.opt"
955         ;;
956 alpha*-*-openbsd*)
957         tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
958         tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
959         extra_options="${extra_options} openbsd.opt alpha/elf.opt"
960         # default x-alpha is only appropriate for dec-osf.
961         ;;
962 alpha*-dec-*vms*)
963         tm_file="${tm_file} vms/vms.h alpha/vms.h"
964         tmake_file="${tmake_file} alpha/t-vms"
965         ;;
966 arc*-*-elf*)
967         extra_headers="arc-simd.h"
968         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
969         tmake_file="arc/t-arc-newlib arc/t-arc"
970         case x"${with_cpu}" in
971           xarc600|xarc601|xarc700)
972                 target_cpu_default="TARGET_CPU_$with_cpu"
973                 ;;
974         esac
975         if test x${with_endian} = x; then
976                 case ${target} in
977                 arc*be-*-* | arc*eb-*-*)        with_endian=big ;;
978                 *)                              with_endian=little ;;
979                 esac
980         fi
981         case ${with_endian} in
982         big|little)             ;;
983         *)      echo "with_endian=${with_endian} not supported."; exit 1 ;;
984         esac
985         case ${with_endian} in
986         big*)   tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
987         esac
988         ;;
989 arc*-*-linux-uclibc*)
990         extra_headers="arc-simd.h"
991         tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}"
992         tmake_file="${tmake_file} arc/t-arc-uClibc arc/t-arc"
993         tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0"
994         tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1"
995         case x"${with_cpu}" in
996           xarc600|xarc601|xarc700)
997                 target_cpu_default="TARGET_CPU_$with_cpu"
998                 ;;
999         esac
1000         if test x${with_endian} = x; then
1001                 case ${target} in
1002                 arc*be-*-* | arc*eb-*-*)        with_endian=big ;;
1003                 *)                              with_endian=little ;;
1004                 esac
1005         fi
1006         case ${with_endian} in
1007         big|little)             ;;
1008         *)      echo "with_endian=${with_endian} not supported."; exit 1 ;;
1009         esac
1010         case ${with_endian} in
1011         big*)   tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1012         esac
1013         ;;
1014 arm-wrs-vxworks)
1015         tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1016         extra_options="${extra_options} arm/vxworks.opt"
1017         tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1018         ;;
1019 arm*-*-freebsd*)                # ARM FreeBSD EABI
1020         tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1021         case $target in
1022         arm*b-*-freebsd*)
1023             tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1024             ;;
1025         esac
1026         tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1027         tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1028         case $target in
1029         armv6*-*-freebsd*)
1030             tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
1031             ;;
1032         esac
1033         case $target in
1034         arm*hf-*-freebsd*)
1035             tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1036             ;;
1037         esac
1038         with_tls=${with_tls:-gnu}
1039         ;;
1040 arm*-*-netbsdelf*)
1041         tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1042         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1043         tmake_file="${tmake_file} arm/t-arm"
1044         ;;
1045 arm*-*-linux-*)                 # ARM GNU/Linux with ELF
1046         tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
1047         extra_options="${extra_options} linux-android.opt"
1048         case $target in
1049         arm*b-*-linux*)
1050             tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1051             ;;
1052         esac
1053         tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1054         tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1055         # Define multilib configuration for arm-linux-androideabi.
1056         case ${target} in
1057         *-androideabi)
1058             tmake_file="$tmake_file arm/t-linux-androideabi"
1059             ;;
1060         esac
1061         # The EABI requires the use of __cxa_atexit.
1062         default_use_cxa_atexit=yes
1063         with_tls=${with_tls:-gnu}
1064         ;;
1065 arm*-*-uclinux*eabi*)           # ARM ucLinux
1066         tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1067         tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1068         tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1069         # The EABI requires the use of __cxa_atexit.
1070         default_use_cxa_atexit=yes
1071         ;;
1072 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
1073         case ${target} in
1074         arm*eb-*-eabi*)
1075           tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1076         esac
1077         default_use_cxa_atexit=yes
1078         tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1079         tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1080         case ${target} in
1081         arm*-*-eabi*)
1082           tm_file="$tm_file newlib-stdint.h"
1083           tmake_file="${tmake_file} arm/t-bpabi"
1084           use_gcc_stdint=wrap
1085           ;;
1086         arm*-*-rtems*)
1087           tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1088           tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1089           ;;
1090         arm*-*-symbianelf*)
1091           tm_file="${tm_file} arm/symbian.h"
1092           # We do not include t-bpabi for Symbian OS because the system
1093           # provides its own implementation of the BPABI functions.
1094           tmake_file="${tmake_file} arm/t-symbian"
1095           ;;
1096         esac
1097         tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
1098         ;;
1099 avr-*-rtems*)
1100         tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/rtems.h rtems.h newlib-stdint.h"
1101         tm_defines="${tm_defines} WITH_RTEMS"
1102         tmake_file="${tmake_file} avr/t-avr avr/t-multilib avr/t-rtems"
1103         extra_gcc_objs="driver-avr.o avr-devices.o"
1104         extra_objs="avr-devices.o avr-log.o"
1105         ;;
1106 avr-*-*)
1107         tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1108         if test x${with_avrlibc} != xno; then
1109             tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1110             tm_defines="${tm_defines} WITH_AVRLIBC"
1111         fi
1112         tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1113         use_gcc_stdint=wrap
1114         extra_gcc_objs="driver-avr.o avr-devices.o"
1115         extra_objs="avr-devices.o avr-log.o"
1116         ;;
1117 bfin*-elf*)
1118         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1119         tmake_file=bfin/t-bfin-elf
1120         use_collect2=no
1121         ;;
1122 bfin*-uclinux*)
1123         tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1124         tmake_file=bfin/t-bfin-uclinux
1125         use_collect2=no
1126         ;;
1127 bfin*-linux-uclibc*)
1128         tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/linux.h ./linux-sysroot-suffix.h"
1129         tmake_file="${tmake_file} bfin/t-bfin-linux"
1130         use_collect2=no
1131         ;;
1132 bfin*-rtems*)
1133         tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1134         tmake_file="${tmake_file} bfin/t-rtems"
1135         ;;
1136 bfin*-*)
1137         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1138         use_collect2=no
1139         use_gcc_stdint=wrap
1140         ;;
1141 cr16-*-elf)
1142         tm_file="elfos.h ${tm_file}"
1143         tmake_file="${tmake_file} cr16/t-cr16 "
1144         use_collect2=no
1145         ;;
1146 crisv32-*-elf | crisv32-*-none)
1147         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1148         tmake_file="cris/t-cris"
1149         target_cpu_default=32
1150         gas=yes
1151         extra_options="${extra_options} cris/elf.opt"
1152         use_gcc_stdint=wrap
1153         ;;
1154 cris-*-elf | cris-*-none)
1155         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1156         tmake_file="cris/t-cris cris/t-elfmulti"
1157         gas=yes
1158         extra_options="${extra_options} cris/elf.opt"
1159         use_gcc_stdint=wrap
1160         ;;
1161 crisv32-*-linux* | cris-*-linux*)
1162         tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1163         tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1164         extra_options="${extra_options} cris/linux.opt"
1165         case $target in
1166           cris-*-*)
1167                 target_cpu_default=10
1168                 ;;
1169           crisv32-*-*)
1170                 target_cpu_default=32
1171                 ;;
1172         esac
1173         ;;
1174 epiphany-*-elf )
1175         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1176         tmake_file="epiphany/t-epiphany"
1177         extra_options="${extra_options} fused-madd.opt"
1178         extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
1179         tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1180         extra_headers="epiphany_intrinsics.h"
1181         ;;
1182 fr30-*-elf)
1183         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1184         ;;
1185 frv-*-elf)
1186         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1187         tmake_file=frv/t-frv
1188         ;;
1189 frv-*-*linux*)
1190         tm_file="dbxelf.h elfos.h ${tm_file} \
1191                  gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1192         tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1193         ;;
1194 moxie-*-elf)
1195         gas=yes
1196         gnu_ld=yes
1197         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1198         tmake_file="${tmake_file} moxie/t-moxie"
1199         ;;
1200 moxie-*-uclinux*)
1201         gas=yes
1202         gnu_ld=yes
1203         tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1204         tmake_file="${tmake_file} moxie/t-moxie"
1205         ;;
1206 moxie-*-rtems*)
1207         tmake_file="${tmake_file} moxie/t-moxie"
1208         tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1209         ;;
1210 moxie-*-moxiebox*)
1211         gas=yes
1212         gnu_ld=yes
1213         tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1214         tmake_file="${tmake_file} moxie/t-moxiebox"
1215         ;;
1216 h8300-*-rtems*)
1217         tmake_file="${tmake_file} h8300/t-h8300 h8300/t-rtems"
1218         tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h newlib-stdint.h"
1219         ;;
1220 h8300-*-elf*)
1221         tmake_file="h8300/t-h8300"
1222         tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1223         ;;
1224 h8300-*-linux*)
1225         tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1226         tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1227         ;;
1228 hppa*64*-*-linux*)
1229         target_cpu_default="MASK_PA_11|MASK_PA_20"
1230         tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1231                  glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1232                  pa/pa64-linux.h"
1233         gas=yes gnu_ld=yes
1234         ;;
1235 hppa*-*-linux*)
1236         target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
1237         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1238                  pa/pa32-regs.h pa/pa32-linux.h"
1239         tmake_file="${tmake_file} pa/t-linux"
1240         ;;
1241 hppa*-*-openbsd*)
1242         target_cpu_default="MASK_PA_11"
1243         tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1244                  pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1245         extra_options="${extra_options} openbsd.opt"
1246         gas=yes
1247         gnu_ld=yes
1248         ;;
1249 hppa[12]*-*-hpux10*)
1250         case ${target} in
1251         hppa1.1-*-* | hppa2*-*-*)
1252                 target_cpu_default="MASK_PA_11"
1253                 ;;
1254         esac
1255         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1256                  pa/pa-hpux.h pa/pa-hpux10.h"
1257         extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1258         case ${target} in
1259         *-*-hpux10.[1-9]*)
1260                 tm_file="${tm_file} pa/pa-hpux1010.h"
1261                 extra_options="${extra_options} pa/pa-hpux1010.opt"
1262                 ;;
1263         esac
1264         use_gcc_stdint=provide
1265         tm_file="${tm_file} hpux-stdint.h"
1266         tmake_file="t-slibgcc"
1267         case ${enable_threads} in
1268           "")
1269             if test x$have_pthread_h = xyes ; then
1270               tmake_file="${tmake_file} pa/t-dce-thr"
1271             fi
1272             ;;
1273           yes | dce)
1274             tmake_file="${tmake_file} pa/t-dce-thr"
1275             ;;
1276         esac
1277         use_collect2=yes
1278         gas=yes
1279         if test "x$with_dwarf2" != x; then
1280                 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1281                 dwarf2=no
1282         fi
1283         ;;
1284 hppa*64*-*-hpux11*)
1285         target_cpu_default="MASK_PA_11|MASK_PA_20"
1286         if test x$gnu_ld = xyes
1287         then
1288                 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1289         fi
1290         tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1291                  pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1292                  pa/pa-hpux11.h"
1293         case ${target} in
1294         *-*-hpux11.[12]*)
1295                 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1296                 extra_options="${extra_options} pa/pa-hpux1111.opt"
1297                 ;;
1298         *-*-hpux11.[3-9]*)
1299                 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1300                 extra_options="${extra_options} pa/pa-hpux1131.opt"
1301                 ;;
1302         *)
1303                 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1304                 ;;
1305         esac
1306         extra_options="${extra_options} pa/pa-hpux.opt \
1307                        pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1308         tmake_file="t-slibgcc"
1309         case x${enable_threads} in
1310         x | xyes | xposix )
1311                 thread_file=posix
1312                 ;;
1313         esac
1314         gas=yes
1315         case ${target} in
1316           *-*-hpux11.[01]*)
1317                 use_gcc_stdint=provide
1318                 tm_file="${tm_file} hpux-stdint.h"
1319                 ;;
1320           *-*-hpux11.[23]*)
1321                 use_gcc_stdint=wrap
1322                 tm_file="${tm_file} hpux-stdint.h"
1323                 ;;
1324         esac
1325         ;;
1326 hppa[12]*-*-hpux11*)
1327         case ${target} in
1328         hppa1.1-*-* | hppa2*-*-*)
1329                 target_cpu_default="MASK_PA_11"
1330                 ;;
1331         esac
1332         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1333                  pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1334         extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1335                        hpux11.opt"
1336         case ${target} in
1337         *-*-hpux11.[12]*)
1338                 tm_file="${tm_file} pa/pa-hpux1111.h"
1339                 extra_options="${extra_options} pa/pa-hpux1111.opt"
1340                 ;;
1341         *-*-hpux11.[3-9]*)
1342                 tm_file="${tm_file} pa/pa-hpux1131.h"
1343                 extra_options="${extra_options} pa/pa-hpux1131.opt"
1344                 ;;
1345         esac
1346         tmake_file="t-slibgcc"
1347         case x${enable_threads} in
1348         x | xyes | xposix )
1349                 thread_file=posix
1350                 ;;
1351         esac
1352         use_collect2=yes
1353         gas=yes
1354         case ${target} in
1355           *-*-hpux11.[01]*)
1356                 use_gcc_stdint=provide
1357                 tm_file="${tm_file} hpux-stdint.h"
1358                 ;;
1359           *-*-hpux11.[23]*)
1360                 use_gcc_stdint=wrap
1361                 tm_file="${tm_file} hpux-stdint.h"
1362                 ;;
1363         esac
1364         if test "x$with_dwarf2" != x; then
1365                 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1366                 dwarf2=no
1367         fi
1368         ;;
1369 i[34567]86-*-darwin*)
1370         need_64bit_isa=yes
1371         # Baseline choice for a machine that allows m64 support.
1372         with_cpu=${with_cpu:-core2}
1373         tmake_file="${tmake_file} t-slibgcc"
1374         ;;
1375 x86_64-*-darwin*)
1376         with_cpu=${with_cpu:-core2}
1377         tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1378         tm_file="${tm_file} ${cpu_type}/darwin64.h"
1379         ;;
1380 i[34567]86-*-elf*)
1381         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1382         ;;
1383 x86_64-*-elf*)
1384         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1385         ;;
1386 i[34567]86-*-rdos*)
1387     tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1388     ;;
1389 x86_64-*-rdos*)
1390     tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/rdos.h i386/rdos64.h"
1391     tmake_file="i386/t-i386elf t-svr4"
1392     ;;
1393 i[34567]86-*-dragonfly*)
1394         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1395         tmake_file="${tmake_file} i386/t-crtstuff"
1396         ;;
1397 x86_64-*-dragonfly*)
1398         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/x86-64.h i386/dragonfly.h"
1399         tmake_file="${tmake_file} i386/t-crtstuff"
1400         ;;
1401 i[34567]86-*-freebsd*)
1402         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1403         ;;
1404 x86_64-*-freebsd*)
1405         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"
1406         ;;
1407 i[34567]86-*-netbsdelf*)
1408         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
1409         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1410         ;;
1411 x86_64-*-netbsd*)
1412         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"
1413         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1414         ;;
1415 i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
1416         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"
1417         extra_options="${extra_options} openbsd.opt"
1418         # needed to unconfuse gdb
1419         tmake_file="${tmake_file} t-openbsd i386/t-openbsd"
1420         # we need collect2 until our bug is fixed...
1421         use_collect2=yes
1422         ;;
1423 i[34567]86-*-openbsd*)
1424         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1425         tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1426         extra_options="${extra_options} openbsd.opt"
1427         gas=yes
1428         gnu_ld=yes
1429         ;;
1430 x86_64-*-openbsd*)
1431         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1432         tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1433         extra_options="${extra_options} openbsd.opt"
1434         gas=yes
1435         gnu_ld=yes
1436         ;;
1437 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1438                         # Intel 80386's running GNU/*
1439                         # with ELF format using glibc 2
1440         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1441         case ${target} in
1442         i[34567]86-*-linux*)
1443                 tm_file="${tm_file} linux.h linux-android.h"
1444                 extra_options="${extra_options} linux-android.opt"
1445                 # Assume modern glibc if not targeting Android nor uclibc.
1446                 case ${target} in
1447                 *-*-*android*|*-*-*uclibc*)
1448                   ;;
1449                 *)
1450                   default_gnu_indirect_function=yes
1451                   ;;
1452                 esac
1453                 if test x$enable_targets = xall; then
1454                         tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1455                         tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1456                         tmake_file="${tmake_file} i386/t-linux64"
1457                         x86_multilibs="${with_multilib_list}"
1458                         if test "$x86_multilibs" = "default"; then
1459                                 x86_multilibs="m64,m32"
1460                         fi
1461                         x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1462                         for x86_multilib in ${x86_multilibs}; do
1463                                 case ${x86_multilib} in
1464                                 m32 | m64 | mx32)
1465                                         TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1466                                         ;;
1467                                 *)
1468                                         echo "--with-multilib-list=${x86_with_multilib} not supported."
1469                                         exit 1
1470                                 esac
1471                         done
1472                         TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1473                         need_64bit_isa=yes
1474                         if test x$with_cpu = x; then
1475                                 if test x$with_cpu_64 = x; then
1476                                         with_cpu_64=generic
1477                                 fi
1478                         else
1479                                 case " $x86_cpus $x86_archs $x86_64_archs " in
1480                                 *" $with_cpu "*)
1481                                         ;;
1482                                 *)
1483                                         echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1484                                         echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1485                                         exit 1
1486                                         ;;
1487                                 esac
1488                         fi
1489                 else
1490                         tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1491                 fi
1492                 ;;
1493         i[34567]86-*-knetbsd*-gnu)
1494                 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h knetbsd-gnu.h i386/knetbsd-gnu.h"
1495                 ;;
1496         i[34567]86-*-kfreebsd*-gnu)
1497                 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1498                 ;;
1499         i[34567]86-*-kopensolaris*-gnu)
1500                 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1501                 ;;
1502         i[34567]86-*-gnu*)
1503                 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1504                 ;;
1505         esac
1506         ;;
1507 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
1508         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1509                  i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1510         case ${target} in
1511         x86_64-*-linux*)
1512                 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1513                 extra_options="${extra_options} linux-android.opt"
1514                 # Assume modern glibc if not targeting Android nor uclibc.
1515                 case ${target} in
1516                 *-*-*android*|*-*-*uclibc*)
1517                   ;;
1518                 *)
1519                   default_gnu_indirect_function=yes
1520                   ;;
1521                 esac
1522                 ;;
1523         x86_64-*-kfreebsd*-gnu)
1524                 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1525                 ;;
1526         x86_64-*-knetbsd*-gnu)
1527                 tm_file="${tm_file} knetbsd-gnu.h"
1528                 ;;
1529         esac
1530         tmake_file="${tmake_file} i386/t-linux64"
1531         x86_multilibs="${with_multilib_list}"
1532         if test "$x86_multilibs" = "default"; then
1533                 case ${with_abi} in
1534                 x32 | mx32)
1535                         x86_multilibs="mx32"
1536                         ;;
1537                 *)
1538                         x86_multilibs="m64,m32"
1539                         ;;
1540                 esac
1541         fi
1542         x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1543         for x86_multilib in ${x86_multilibs}; do
1544                 case ${x86_multilib} in
1545                 m32 | m64 | mx32)
1546                         TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1547                         ;;
1548                 *)
1549                         echo "--with-multilib-list=${x86_with_multilib} not supported."
1550                         exit 1
1551                 esac
1552         done
1553         TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1554         ;;
1555 i[34567]86-pc-msdosdjgpp*)
1556         xm_file=i386/xm-djgpp.h
1557         tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1558         native_system_header_dir=/dev/env/DJDIR/include
1559         extra_options="${extra_options} i386/djgpp.opt"
1560         gnu_ld=yes
1561         gas=yes
1562         use_gcc_stdint=wrap
1563         ;;
1564 i[34567]86-*-lynxos*)
1565         xm_defines=POSIX
1566         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1567         tmake_file="${tmake_file} t-lynx"
1568         extra_options="${extra_options} lynx.opt"
1569         thread_file=lynx
1570         gnu_ld=yes
1571         gas=yes
1572         ;;
1573 i[34567]86-*-nto-qnx*)
1574         tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1575         extra_options="${extra_options} i386/nto.opt"
1576         gnu_ld=yes
1577         gas=yes
1578         ;;
1579 i[34567]86-*-rtems*)
1580         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h newlib-stdint.h"
1581         tmake_file="${tmake_file} i386/t-rtems"
1582         ;;
1583 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1584         # Set default arch_32 to pentium4, tune_32 to generic like the other
1585         # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1586         with_arch_32=${with_arch_32:-pentium4}
1587         with_tune_32=${with_tune_32:-generic}
1588         tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1589         tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1590         tmake_file="$tmake_file i386/t-sol2"
1591         need_64bit_isa=yes
1592         if test x$with_cpu = x; then
1593                 if test x$with_cpu_64 = x; then
1594                         with_cpu_64=generic
1595                 fi
1596         else
1597                 case " $x86_cpus $x86_archs $x86_64_archs " in
1598                 *" $with_cpu "*)
1599                         ;;
1600                 *)
1601                         echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1602                         echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1603                         exit 1
1604                         ;;
1605                 esac
1606         fi
1607         ;;
1608 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
1609         tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
1610         case ${target} in
1611           *-vxworksae*)
1612             tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1613             tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1614             ;;
1615           *)
1616             tm_file="${tm_file} vxworks.h i386/vxworks.h"
1617             tmake_file="${tmake_file} i386/t-vxworks"
1618             ;;
1619         esac
1620         ;;
1621 i[34567]86-*-cygwin*)
1622         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
1623         xm_file=i386/xm-cygwin.h
1624         tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1625         target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1626         extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1627         extra_objs="winnt.o winnt-stubs.o"
1628         c_target_objs="${c_target_objs} msformat-c.o"
1629         cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1630         if test x$enable_threads = xyes; then
1631                 thread_file='posix'
1632         fi
1633         default_use_cxa_atexit=yes
1634         use_gcc_stdint=wrap
1635         ;;
1636 x86_64-*-cygwin*)
1637         need_64bit_isa=yes
1638         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
1639         xm_file=i386/xm-cygwin.h
1640         tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1641         target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1642         extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1643         extra_objs="winnt.o winnt-stubs.o"
1644         c_target_objs="${c_target_objs} msformat-c.o"
1645         cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1646         if test x$enable_threads = xyes; then
1647                 thread_file='posix'
1648         fi
1649         default_use_cxa_atexit=yes
1650         use_gcc_stdint=wrap
1651         tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1652         ;;
1653 i[34567]86-*-mingw* | x86_64-*-mingw*)
1654         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1655         xm_file=i386/xm-mingw32.h
1656         c_target_objs="${c_target_objs} winnt-c.o"
1657         cxx_target_objs="${cxx_target_objs} winnt-c.o"
1658         target_has_targetcm="yes"
1659         case ${target} in
1660                 x86_64-*-* | *-w64-*)
1661                         need_64bit_isa=yes
1662                         ;;
1663                 *)
1664                         ;;
1665         esac
1666         if test x$enable_threads = xposix ; then
1667                 tm_file="${tm_file} i386/mingw-pthread.h"
1668         fi
1669         tm_file="${tm_file} i386/mingw32.h"
1670         # This makes the logic if mingw's or the w64 feature set has to be used
1671         case ${target} in
1672                 *-w64-*)
1673                         user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1674                         user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1675                         tm_file="${tm_file} i386/mingw-w64.h"
1676                         if test x$enable_targets = xall; then
1677                                 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1678                                 if test x$with_cpu = x; then
1679                                         if test x$with_cpu_64 = x; then
1680                                                 with_cpu_64=generic
1681                                         fi
1682                                 else
1683                                         case " $x86_cpus $x86_archs $x86_64_archs " in
1684                                         *" $with_cpu "*)
1685                                                 ;;
1686                                         *)
1687                                                 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1688                                                 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1689                                                 exit 1
1690                                                 ;;
1691                                         esac
1692                                 fi
1693                         fi
1694                         ;;
1695                 *)
1696                         ;;
1697         esac
1698         tm_file="${tm_file} i386/mingw-stdint.h"
1699         tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1700         case ${target} in
1701                x86_64-w64-*)
1702                         tmake_file="${tmake_file} i386/t-mingw-w64"
1703                         ;;
1704                i[34567]86-w64-*)
1705                         tmake_file="${tmake_file} i386/t-mingw-w32"
1706                         ;;
1707         esac
1708         native_system_header_dir=/mingw/include
1709         target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1710         extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1711         case ${target} in
1712                 *-w64-*)
1713                         extra_options="${extra_options} i386/mingw-w64.opt"
1714                         ;;
1715                 *)
1716                         ;;
1717         esac
1718         extra_objs="winnt.o winnt-stubs.o"
1719         c_target_objs="${c_target_objs} msformat-c.o"
1720         cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1721         gas=yes
1722         gnu_ld=yes
1723         default_use_cxa_atexit=yes
1724         use_gcc_stdint=wrap
1725         case ${enable_threads} in
1726           "" | yes | win32)
1727             thread_file='win32'
1728             ;;
1729           posix)
1730             thread_file='posix'
1731             ;;
1732         esac
1733         case ${target} in
1734                 *mingw32crt*)
1735                         tm_file="${tm_file} i386/crtdll.h"
1736                         ;;
1737                 *mingw32msv* | *mingw*)
1738                         ;;
1739         esac
1740         ;;
1741 i[34567]86-*-interix[3-9]*)
1742         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h"
1743         tmake_file="${tmake_file} i386/t-interix"
1744         extra_options="${extra_options} rpath.opt i386/interix.opt"
1745         extra_objs="winnt.o winnt-stubs.o"
1746         target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1747         if test x$enable_threads = xyes ; then
1748                 thread_file='posix'
1749         fi
1750         if test x$stabs = xyes ; then
1751                 tm_file="${tm_file} dbxcoff.h"
1752         fi
1753         ;;
1754 ia64*-*-elf*)
1755         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1756         tmake_file="ia64/t-ia64"
1757         target_cpu_default="0"
1758         if test x$gas = xyes
1759         then
1760                 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1761         fi
1762         if test x$gnu_ld = xyes
1763         then
1764                 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1765         fi
1766         ;;
1767 ia64*-*-freebsd*)
1768         tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1769         target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1770         tmake_file="${tmake_file} ia64/t-ia64"
1771         ;;
1772 ia64*-*-linux*)
1773         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1774         tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1775         target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1776         ;;
1777 ia64*-*-hpux*)
1778         tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1779         tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1780         target_cpu_default="MASK_GNU_AS"
1781         case x$enable_threads in
1782         x | xyes | xposix )
1783                 thread_file=posix
1784                 ;;
1785         esac
1786         use_collect2=no
1787         c_target_objs="ia64-c.o"
1788         cxx_target_objs="ia64-c.o"
1789         extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
1790         use_gcc_stdint=wrap
1791         tm_file="${tm_file} hpux-stdint.h"
1792         case ${target} in
1793         *-*-hpux11.3*)
1794                 tm_file="${tm_file} ia64/hpux-unix2003.h"
1795                 ;;
1796         esac
1797         ;;
1798 ia64-hp-*vms*)
1799         tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1800         tmake_file="${tmake_file} ia64/t-ia64"
1801         target_cpu_default="0"
1802         if test x$gas = xyes
1803         then
1804                 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1805         fi
1806         extra_options="${extra_options} ia64/vms.opt"
1807         ;;
1808 iq2000*-*-elf*)
1809         tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
1810         out_file=iq2000/iq2000.c
1811         md_file=iq2000/iq2000.md
1812         ;;
1813 lm32-*-elf*)
1814         tm_file="dbxelf.h elfos.h ${tm_file}"
1815         tmake_file="${tmake_file} lm32/t-lm32"
1816         ;;
1817 lm32-*-rtems*)
1818         tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
1819         tmake_file="${tmake_file} lm32/t-lm32"
1820         tmake_file="${tmake_file} lm32/t-rtems"
1821          ;;
1822 lm32-*-uclinux*)
1823         tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
1824         tmake_file="${tmake_file} lm32/t-lm32"
1825         ;;
1826 m32r-*-elf*)
1827         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1828         ;;
1829 m32rle-*-elf*)
1830         tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
1831         ;;
1832 m32r-*-rtems*)
1833         tm_file="dbxelf.h elfos.h ${tm_file} m32r/rtems.h rtems.h newlib-stdint.h"
1834         tmake_file="${tmake_file} m32r/t-m32r"
1835         ;;
1836 m32r-*-linux*)
1837         tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
1838         tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1839         gnu_ld=yes
1840         if test x$enable_threads = xyes; then
1841                 thread_file='posix'
1842         fi
1843         ;;
1844 m32rle-*-linux*)
1845         tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
1846         tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1847         gnu_ld=yes
1848         if test x$enable_threads = xyes; then
1849                 thread_file='posix'
1850         fi
1851         ;;
1852 m68k-*-elf* | fido-*-elf*)
1853         case ${target} in
1854         fido-*-elf*)
1855                 # Check that $with_cpu makes sense.
1856                 case $with_cpu in
1857                 "" | "fidoa")
1858                         ;;
1859                 *)
1860                         echo "Cannot accept --with-cpu=$with_cpu"
1861                         exit 1
1862                         ;;
1863                 esac
1864                 with_cpu=fidoa
1865                 ;;
1866         *)
1867                 default_m68k_cpu=68020
1868                 default_cf_cpu=5206
1869                 ;;
1870         esac
1871         tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h newlib-stdint.h m68k/m68kemb.h m68k/m68020-elf.h"
1872         tm_defines="${tm_defines} MOTOROLA=1"
1873         tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1874         # Add multilibs for targets other than fido.
1875         case ${target} in
1876         fido-*-elf*)
1877                 ;;
1878         *)
1879                 tmake_file="$tmake_file m68k/t-mlibs"
1880                 ;;
1881         esac
1882         ;;
1883 m68k*-*-netbsdelf*)
1884         default_m68k_cpu=68020
1885         default_cf_cpu=5475
1886         tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1887         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1888         tm_defines="${tm_defines} MOTOROLA=1"
1889         ;;
1890 m68k*-*-openbsd*)
1891         default_m68k_cpu=68020
1892         default_cf_cpu=5475
1893         # needed to unconfuse gdb
1894         tm_defines="${tm_defines} OBSD_OLD_GAS"
1895         tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
1896         extra_options="${extra_options} openbsd.opt"
1897         tmake_file="t-openbsd m68k/t-openbsd"
1898         # we need collect2 until our bug is fixed...
1899         use_collect2=yes
1900         ;;
1901 m68k-*-uclinux*)                # Motorola m68k/ColdFire running uClinux
1902                                 # with uClibc, using the new GNU/Linux-style
1903                                 # ABI.
1904         default_m68k_cpu=68020
1905         default_cf_cpu=5206
1906         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
1907         extra_options="${extra_options} m68k/uclinux.opt"
1908         tm_defines="${tm_defines} MOTOROLA=1"
1909         tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
1910         ;;
1911 m68k-*-linux*)                  # Motorola m68k's running GNU/Linux
1912                                 # with ELF format using glibc 2
1913                                 # aka the GNU/Linux C library 6.
1914         default_m68k_cpu=68020
1915         default_cf_cpu=5475
1916         with_arch=${with_arch:-m68k}
1917         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
1918         extra_options="${extra_options} m68k/ieee.opt"
1919         tm_defines="${tm_defines} MOTOROLA=1"
1920         tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
1921         ;;
1922 m68k-*-rtems*)
1923         default_m68k_cpu=68020
1924         default_cf_cpu=5206
1925         tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
1926         tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h newlib-stdint.h"
1927         tm_defines="${tm_defines} MOTOROLA=1"
1928         ;;
1929 mcore-*-elf)
1930         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
1931         tmake_file=mcore/t-mcore
1932         inhibit_libc=true
1933         ;;
1934 mep-*-*)
1935         tm_file="dbxelf.h elfos.h ${tm_file}"
1936         tmake_file=mep/t-mep
1937         c_target_objs="mep-pragma.o"
1938         cxx_target_objs="mep-pragma.o"
1939         if test -d "${srcdir}/../newlib/libc/include" &&
1940            test "x$with_headers" = x; then
1941                 with_headers=yes
1942         fi
1943         use_gcc_stdint=wrap
1944         ;;
1945 microblaze*-linux*)
1946         case $target in
1947                 microblazeel-*)
1948                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1949                         ;;
1950                 microblaze-*)
1951                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1952                         ;;
1953         esac
1954         tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
1955         tm_file="${tm_file} glibc-stdint.h"
1956         c_target_objs="${c_target_objs} microblaze-c.o"
1957         cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1958         tmake_file="${tmake_file} microblaze/t-microblaze"
1959         tmake_file="${tmake_file} microblaze/t-microblaze-linux"
1960         ;;
1961 microblaze*-*-rtems*)
1962         case $target in
1963                 microblazeel-*)
1964                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1965                         ;;
1966                 microblaze-*)
1967                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1968                         ;;
1969         esac
1970         tm_file="${tm_file} dbxelf.h"
1971         tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
1972         c_target_objs="${c_target_objs} microblaze-c.o"
1973         cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1974         tmake_file="${tmake_file} microblaze/t-microblaze"
1975         tmake_file="${tmake_file} microblaze/t-rtems"
1976         ;;
1977 microblaze*-*-elf)
1978         case $target in
1979                 microblazeel-*)
1980                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1981                         ;;
1982                 microblaze-*)
1983                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1984                         ;;
1985         esac
1986         tm_file="${tm_file} dbxelf.h newlib-stdint.h"
1987         c_target_objs="${c_target_objs} microblaze-c.o"
1988         cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1989         tmake_file="${tmake_file} microblaze/t-microblaze"
1990         ;;
1991 mips*-*-netbsd*)                        # NetBSD/mips, either endian.
1992         target_cpu_default="MASK_ABICALLS"
1993         tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
1994         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1995         ;;
1996 mips*-img-linux*)
1997         tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h"
1998         extra_options="${extra_options} linux-android.opt"
1999         tmake_file="${tmake_file} mips/t-img-linux"
2000         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2001         gnu_ld=yes
2002         gas=yes
2003         ;;
2004 mips*-mti-linux*)
2005         tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h"
2006         extra_options="${extra_options} linux-android.opt"
2007         tmake_file="${tmake_file} mips/t-mti-linux"
2008         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2009         gnu_ld=yes
2010         gas=yes
2011         ;;
2012 mips*-*-linux*)                         # Linux MIPS, either endian.
2013         tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h"
2014         extra_options="${extra_options} linux-android.opt"
2015         case ${target} in
2016                 mipsisa32r6*)
2017                         default_mips_arch=mips32r6
2018                         ;;
2019                 mipsisa32r2*)
2020                         default_mips_arch=mips32r2
2021                         ;;
2022                 mipsisa32*)
2023                         default_mips_arch=mips32
2024                         ;;
2025                 mips64el-st-linux-gnu)
2026                         default_mips_abi=n32
2027                         tm_file="${tm_file} mips/st.h"
2028                         tmake_file="${tmake_file} mips/t-st"
2029                         enable_mips_multilibs="yes"
2030                         ;;
2031                 mips64octeon*-*-linux*)
2032                         default_mips_abi=n32
2033                         tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2034                         target_cpu_default=MASK_SOFT_FLOAT_ABI
2035                         enable_mips_multilibs="yes"
2036                         ;;
2037                 mipsisa64r6*-*-linux*)
2038                         default_mips_abi=n32
2039                         default_mips_arch=mips64r6
2040                         enable_mips_multilibs="yes"
2041                         ;;
2042                 mipsisa64r2*-*-linux*)
2043                         default_mips_abi=n32
2044                         default_mips_arch=mips64r2
2045                         enable_mips_multilibs="yes"
2046                         ;;
2047                 mips64*-*-linux* | mipsisa64*-*-linux*)
2048                         default_mips_abi=n32
2049                         enable_mips_multilibs="yes"
2050                         ;;
2051         esac
2052         if test x$enable_targets = xall; then
2053                 enable_mips_multilibs="yes"
2054         fi
2055         if test x$enable_mips_multilibs = xyes; then
2056                 tmake_file="${tmake_file} mips/t-linux64"
2057         fi
2058         ;;
2059 mips*-mti-elf*)
2060         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2061         tmake_file="mips/t-mti-elf"
2062         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2063         ;;
2064 mips*-img-elf*)
2065         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2066         tmake_file="mips/t-img-elf"
2067         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2068         ;;
2069 mips*-sde-elf*)
2070         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2071         tmake_file="mips/t-sde"
2072         extra_options="${extra_options} mips/sde.opt"
2073         case "${with_newlib}" in
2074           yes)
2075             # newlib / libgloss.
2076             ;;
2077           *)
2078             # MIPS toolkit libraries.
2079             tm_file="$tm_file mips/sdemtk.h"
2080             tmake_file="$tmake_file mips/t-sdemtk"
2081             case ${enable_threads} in
2082               "" | yes | mipssde)
2083                 thread_file='mipssde'
2084                 ;;
2085             esac
2086             ;;
2087         esac
2088         case ${target} in
2089           mipsisa32r6*)
2090             tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2091             ;;
2092           mipsisa32r2*)
2093             tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2094             ;;
2095           mipsisa32*)
2096             tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2097             ;;
2098           mipsisa64r6*)
2099             tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2100             ;;
2101           mipsisa64r2*)
2102             tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2103             ;;
2104           mipsisa64*)
2105             tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2106             ;;
2107         esac
2108         ;;
2109 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2110 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2111 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2112 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2113 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2114 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2115         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2116         tmake_file="mips/t-isa3264"
2117         case ${target} in
2118           mipsisa32r6*)
2119             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2120             ;;
2121           mipsisa32r2*)
2122             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2123             ;;
2124           mipsisa32*)
2125             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2126             ;;
2127           mipsisa64r6*)
2128             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2129             ;;
2130           mipsisa64r2*)
2131             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2132             ;;
2133           mipsisa64*)
2134             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2135             ;;
2136         esac
2137         case ${target} in
2138           mipsisa32*-*-elfoabi*)
2139             tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2140             tm_file="${tm_file} mips/elfoabi.h"
2141             ;;
2142           mipsisa64*-*-elfoabi*)
2143             tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2144             tm_file="${tm_file} mips/elfoabi.h"
2145             ;;
2146           *-*-elf*)
2147             tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2148             ;;
2149         esac
2150         ;;
2151 mipsisa64sr71k-*-elf*)
2152         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2153         tmake_file=mips/t-sr71k
2154         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2155         ;;
2156 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2157         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2158         tmake_file="mips/t-elf mips/t-sb1"
2159         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2160         ;;
2161 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2162         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2163         tmake_file="mips/t-elf"
2164         ;;
2165 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2166         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2167         tmake_file="mips/t-elf"
2168         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2169         ;;
2170 mips64-*-elf* | mips64el-*-elf*)
2171         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2172         tmake_file="mips/t-elf"
2173         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2174         ;;
2175 mips64vr-*-elf* | mips64vrel-*-elf*)
2176         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2177         tmake_file=mips/t-vr
2178         tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2179         ;;
2180 mips64orion-*-elf* | mips64orionel-*-elf*)
2181         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2182         tmake_file="mips/t-elf"
2183         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2184         ;;
2185 mips*-*-rtems*)
2186         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2187         tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2188         ;;
2189 mips-wrs-vxworks)
2190         tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2191         tmake_file="${tmake_file} mips/t-vxworks"
2192         ;;
2193 mipstx39-*-elf* | mipstx39el-*-elf*)
2194         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2195         tmake_file="mips/t-r3900"
2196         ;;
2197 mmix-knuth-mmixware)
2198         tm_file="${tm_file} newlib-stdint.h"
2199         use_gcc_stdint=wrap
2200         ;;
2201 mn10300-*-*)
2202         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2203         if test x$stabs = xyes
2204         then
2205                 tm_file="${tm_file} dbx.h"
2206         fi
2207         use_collect2=no
2208         use_gcc_stdint=wrap
2209         ;;
2210 msp430*-*-*)
2211         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2212         c_target_objs="msp430-c.o"
2213         cxx_target_objs="msp430-c.o"
2214         tmake_file="${tmake_file} msp430/t-msp430"
2215         ;;
2216 nds32le-*-*)
2217         target_cpu_default="0"
2218         tm_defines="${tm_defines}"
2219         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2220         tmake_file="nds32/t-nds32 nds32/t-mlibs"
2221         ;;
2222 nds32be-*-*)
2223         target_cpu_default="0|MASK_BIG_ENDIAN"
2224         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2225         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2226         tmake_file="nds32/t-nds32 nds32/t-mlibs"
2227         ;;
2228 nios2-*-*)
2229         tm_file="elfos.h ${tm_file}"
2230         tmake_file="${tmake_file} nios2/t-nios2"
2231         case ${target} in
2232         nios2-*-linux*)
2233                 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2234                 ;;
2235         nios2-*-elf*)
2236                 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2237                 extra_options="${extra_options} nios2/elf.opt"
2238                 ;;
2239         nios2-*-rtems*)
2240                 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2241                 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2242                 ;;
2243         esac
2244         ;;
2245 nvptx-*)
2246         tm_file="${tm_file} newlib-stdint.h"
2247         tmake_file="nvptx/t-nvptx"
2248         if test x$enable_as_accelerator = xyes; then
2249                 extra_programs="${extra_programs} mkoffload\$(exeext)"
2250                 tm_file="${tm_file} nvptx/offload.h"
2251         fi
2252         ;;
2253 pdp11-*-*)
2254         tm_file="${tm_file} newlib-stdint.h"
2255         use_gcc_stdint=wrap
2256         ;;
2257 # port not yet contributed
2258 #powerpc-*-openbsd*)
2259 #       tmake_file="${tmake_file} rs6000/t-fprules"
2260 #       extra_headers=
2261 #       ;;
2262 powerpc-*-darwin*)
2263         extra_options="${extra_options} rs6000/darwin.opt"
2264         case ${target} in
2265           *-darwin1[0-9]* | *-darwin[8-9]*)
2266             tmake_file="${tmake_file} rs6000/t-darwin8"
2267             tm_file="${tm_file} rs6000/darwin8.h"
2268             ;;
2269           *-darwin7*)
2270             tm_file="${tm_file} rs6000/darwin7.h"
2271             ;;
2272           *-darwin[0-6]*)
2273             ;;
2274         esac
2275         tmake_file="${tmake_file} t-slibgcc"
2276         extra_headers=altivec.h
2277         ;;
2278 powerpc64-*-darwin*)
2279         extra_options="${extra_options} ${cpu_type}/darwin.opt"
2280         tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
2281         tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
2282         extra_headers=altivec.h
2283         ;;
2284 powerpc*-*-freebsd*)
2285         tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
2286         extra_options="${extra_options} rs6000/sysv4.opt"
2287         tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2288         case ${target} in
2289              powerpc64*)
2290                 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2291                 tmake_file="${tmake_file} rs6000/t-freebsd64"
2292                 extra_options="${extra_options} rs6000/linux64.opt"
2293                 ;;
2294              *)
2295                 tm_file="${tm_file} rs6000/freebsd.h"
2296                 ;;
2297         esac
2298         ;;
2299 powerpc-*-netbsd*)
2300         tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2301         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2302         tmake_file="${tmake_file} rs6000/t-netbsd"
2303         extra_options="${extra_options} rs6000/sysv4.opt"
2304         ;;
2305 powerpc-*-eabispe*)
2306         tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
2307         extra_options="${extra_options} rs6000/sysv4.opt"
2308         tmake_file="rs6000/t-spe rs6000/t-ppccomm"
2309         use_gcc_stdint=wrap
2310         ;;
2311 powerpc-*-eabisimaltivec*)
2312         tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h"
2313         extra_options="${extra_options} rs6000/sysv4.opt"
2314         tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2315         use_gcc_stdint=wrap
2316         ;;
2317 powerpc-*-eabisim*)
2318         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
2319         extra_options="${extra_options} rs6000/sysv4.opt"
2320         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2321         use_gcc_stdint=wrap
2322         ;;
2323 powerpc-*-elf*)
2324         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2325         extra_options="${extra_options} rs6000/sysv4.opt"
2326         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2327         ;;
2328 powerpc-*-eabialtivec*)
2329         tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h"
2330         extra_options="${extra_options} rs6000/sysv4.opt"
2331         tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2332         use_gcc_stdint=wrap
2333         ;;
2334 powerpc-xilinx-eabi*)
2335         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h rs6000/xfpu.h rs6000/xilinx.h"
2336         extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
2337         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
2338         use_gcc_stdint=wrap
2339         ;;
2340 powerpc-*-eabi*)
2341         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
2342         extra_options="${extra_options} rs6000/sysv4.opt"
2343         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2344         use_gcc_stdint=wrap
2345         ;;
2346 powerpc-*-rtems*)
2347         tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h"
2348         extra_options="${extra_options} rs6000/sysv4.opt"
2349         tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2350         ;;
2351 powerpc*-*-linux*)
2352         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2353         extra_options="${extra_options} rs6000/sysv4.opt"
2354         tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2355         extra_objs="$extra_objs rs6000-linux.o"
2356         case ${target} in
2357             powerpc*le-*-*)
2358                 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2359         esac
2360         case ${target}:${with_cpu} in
2361             powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2362         esac
2363         maybe_biarch=${cpu_is_64bit}
2364         case ${enable_targets} in
2365             *powerpc64*) maybe_biarch=yes ;;
2366         esac
2367         case ${target} in
2368             powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
2369                 echo "*** Configuration ${target} not supported" 1>&2
2370                 exit 1
2371                 ;;
2372             powerpc*-*-linux*spe* | powerpc*-*-linux*paired*)
2373                 maybe_biarch=
2374                 ;;
2375         esac
2376         case ${target}:${enable_targets}:${maybe_biarch} in
2377             powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2378             | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2379             | powerpcle-*:*powerpc64le*:yes)
2380                 if test x$cpu_is_64bit = xyes; then
2381                     tm_file="${tm_file} rs6000/default64.h"
2382                 fi
2383                 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2384                 tmake_file="$tmake_file rs6000/t-linux64"
2385                 case ${target} in
2386                     powerpc*le-*-*)
2387                         tmake_file="$tmake_file rs6000/t-linux64le"
2388                         case ${enable_targets} in
2389                             all | *powerpc64-* | *powerpc-*)
2390                                 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2391                         esac ;;
2392                     *)
2393                         case ${enable_targets} in
2394                             all | *powerpc64le-* | *powerpcle-*)
2395                                 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2396                         esac ;;
2397                 esac
2398                 extra_options="${extra_options} rs6000/linux64.opt"
2399                 ;;
2400             powerpc64*)
2401                 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2402                 extra_options="${extra_options} rs6000/linux64.opt"
2403                 tmake_file="${tmake_file} rs6000/t-linux"
2404                 ;;
2405             *)
2406                 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2407                 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2408                 ;;
2409         esac
2410         case ${target} in
2411             powerpc*-*-linux*ppc476*)
2412                 tm_file="${tm_file} rs6000/476.h"
2413                 extra_options="${extra_options} rs6000/476.opt" ;;
2414             powerpc*-*-linux*altivec*)
2415                 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2416             powerpc*-*-linux*spe*)
2417                 tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;;
2418             powerpc*-*-linux*paired*)
2419                 tm_file="${tm_file} rs6000/750cl.h" ;;
2420         esac
2421         if test x${enable_secureplt} = xyes; then
2422                 tm_file="rs6000/secureplt.h ${tm_file}"
2423         fi
2424         ;;
2425 powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
2426         tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
2427         tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2428         extra_options="${extra_options} rs6000/sysv4.opt"
2429         extra_headers=ppc-asm.h
2430         case ${target} in
2431           *-vxworksmils*)
2432             tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
2433             tmake_file="${tmake_file} rs6000/t-vxworksmils"
2434             ;;
2435           *-vxworksae*)
2436             tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
2437             tmake_file="${tmake_file} rs6000/t-vxworksae"
2438             ;;
2439           *-vxworks*)
2440             tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
2441             ;;
2442         esac
2443         ;;
2444 powerpc-*-lynxos*)
2445         xm_defines=POSIX
2446         tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2447         tmake_file="t-lynx rs6000/t-lynx"
2448         extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2449         thread_file=lynx
2450         gnu_ld=yes
2451         gas=yes
2452         ;;
2453 powerpcle-*-elf*)
2454         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2455         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2456         extra_options="${extra_options} rs6000/sysv4.opt"
2457         ;;
2458 powerpcle-*-eabisim*)
2459         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
2460         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2461         extra_options="${extra_options} rs6000/sysv4.opt"
2462         use_gcc_stdint=wrap
2463         ;;
2464 powerpcle-*-eabi*)
2465         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h"
2466         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2467         extra_options="${extra_options} rs6000/sysv4.opt"
2468         use_gcc_stdint=wrap
2469         ;;
2470 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2471         tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
2472         tmake_file="rs6000/t-aix43 t-slibgcc"
2473         extra_options="${extra_options} rs6000/aix64.opt"
2474         use_collect2=yes
2475         thread_file='aix'
2476         use_gcc_stdint=provide
2477         extra_headers=
2478         ;;
2479 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
2480         tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
2481         extra_options="${extra_options} rs6000/aix64.opt"
2482         tmake_file="rs6000/t-aix43 t-slibgcc"
2483         use_collect2=yes
2484         thread_file='aix'
2485         use_gcc_stdint=wrap
2486         extra_headers=
2487         ;;
2488 rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
2489         tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
2490         tmake_file="rs6000/t-aix52 t-slibgcc"
2491         extra_options="${extra_options} rs6000/aix64.opt"
2492         use_collect2=yes
2493         thread_file='aix'
2494         use_gcc_stdint=wrap
2495         extra_headers=
2496         ;;
2497 rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
2498         tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
2499         tmake_file="rs6000/t-aix52 t-slibgcc"
2500         extra_options="${extra_options} rs6000/aix64.opt"
2501         use_collect2=yes
2502         thread_file='aix'
2503         use_gcc_stdint=wrap
2504         extra_headers=altivec.h
2505         ;;
2506 rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
2507         tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2508         tmake_file="rs6000/t-aix52 t-slibgcc"
2509         extra_options="${extra_options} rs6000/aix64.opt"
2510         use_collect2=yes
2511         thread_file='aix'
2512         use_gcc_stdint=wrap
2513         extra_headers=altivec.h
2514         ;;
2515 rl78-*-elf*)
2516         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2517         target_has_targetm_common=no
2518         c_target_objs="rl78-c.o"
2519         cxx_target_objs="rl78-c.o"
2520         tmake_file="${tmake_file} rl78/t-rl78"
2521         ;;
2522 rx-*-elf*)
2523         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2524         tmake_file="${tmake_file} rx/t-rx"
2525         ;;
2526 s390-*-linux*)
2527         default_gnu_indirect_function=yes
2528         tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2529         if test x$enable_targets = xall; then
2530                 tmake_file="${tmake_file} s390/t-linux64"
2531         fi
2532         ;;
2533 s390x-*-linux*)
2534         default_gnu_indirect_function=yes
2535         tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2536         tm_p_file="linux-protos.h s390/s390-protos.h"
2537         md_file=s390/s390.md
2538         extra_modes=s390/s390-modes.def
2539         out_file=s390/s390.c
2540         tmake_file="${tmake_file} s390/t-linux64"
2541         ;;
2542 s390x-ibm-tpf*)
2543         tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2544         tm_p_file=s390/s390-protos.h
2545         md_file=s390/s390.md
2546         extra_modes=s390/s390-modes.def
2547         out_file=s390/s390.c
2548         thread_file='tpf'
2549         extra_options="${extra_options} s390/tpf.opt"
2550         ;;
2551 sh-*-elf* | sh[12346l]*-*-elf* | \
2552   sh-*-linux* | sh[2346lbe]*-*-linux* | \
2553   sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
2554   sh64-*-netbsd* | sh64l*-*-netbsd*)
2555         tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2556         if test x${with_endian} = x; then
2557                 case ${target} in
2558                 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2559                 shbe-*-* | sheb-*-*)               with_endian=big,little ;;
2560                 sh[1234]l* | sh[34]*-*-linux*)     with_endian=little ;;
2561                 shl* | sh64l* | sh*-*-linux* | \
2562                   sh5l* | sh-superh-elf)           with_endian=little,big ;;
2563                 sh[1234]*-*-*)                     with_endian=big ;;
2564                 *)                                 with_endian=big,little ;;
2565                 esac
2566         fi
2567         # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2568         #  First word : the default endian.
2569         #  Second word: the secondary endian (optional).
2570         case ${with_endian} in
2571         big)            TM_ENDIAN_CONFIG=mb ;;
2572         little)         TM_ENDIAN_CONFIG=ml ;;
2573         big,little)     TM_ENDIAN_CONFIG="mb ml" ;;
2574         little,big)     TM_ENDIAN_CONFIG="ml mb" ;;
2575         *)      echo "with_endian=${with_endian} not supported."; exit 1 ;;
2576         esac
2577         case ${with_endian} in
2578         little*)        tm_file="sh/little.h ${tm_file}" ;;
2579         esac
2580         tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2581         case ${target} in
2582         sh*-*-linux*)   tmake_file="${tmake_file} sh/t-linux"
2583                         tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2584         sh*-*-netbsd*)
2585                         tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h"
2586                         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2587
2588                         ;;
2589         sh*-superh-elf) if test x$with_libgloss != xno; then
2590                                 with_libgloss=yes
2591                                 tm_file="${tm_file} sh/newlib.h"
2592                         fi
2593                         tm_file="${tm_file} sh/embed-elf.h"
2594                         tm_file="${tm_file} sh/superh.h"
2595                         extra_options="${extra_options} sh/superh.opt" ;;
2596         *)              if test x$with_newlib = xyes \
2597                            && test x$with_libgloss = xyes; then
2598                                 tm_file="${tm_file} sh/newlib.h"
2599                         fi
2600                         tm_file="${tm_file} sh/embed-elf.h" ;;
2601         esac
2602         case ${target} in
2603         sh5*-*-netbsd*)
2604                 # SHmedia, 32-bit ABI
2605                 tmake_file="${tmake_file} sh/t-sh64"
2606                 ;;
2607         sh64*-netbsd*)
2608                 # SHmedia, 64-bit ABI
2609                 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5-64"
2610                 ;;
2611         *-*-netbsd)
2612                 ;;
2613         sh64*-*-linux*)
2614                 tmake_file="${tmake_file} sh/t-sh64"
2615                 tm_file="${tm_file} sh/sh64.h"
2616                 extra_headers="shmedia.h ushmedia.h sshmedia.h"
2617                 ;;
2618         sh64*)
2619                 tmake_file="${tmake_file} sh/t-sh64"
2620                 tm_file="${tm_file} sh/sh64.h"
2621                 if test x$with_newlib = xyes; then
2622                         tm_file="${tm_file} newlib-stdint.h"
2623                 fi
2624                 extra_headers="shmedia.h ushmedia.h sshmedia.h"
2625                 ;;
2626         *-*-elf*)
2627                 tm_file="${tm_file} newlib-stdint.h"
2628                 ;;
2629         esac
2630         # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2631         case `echo ${target} | sed 's/e[lb]-/-/'` in
2632         sh64*-*-netbsd*)        sh_cpu_target=sh5-64media ;;
2633         sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;;
2634         sh4a_single_only*)      sh_cpu_target=sh4a-single-only ;;
2635         sh4a_single*)           sh_cpu_target=sh4a-single ;;
2636         sh4a_nofpu*)            sh_cpu_target=sh4a-nofpu ;;
2637         sh4al)                  sh_cpu_target=sh4al ;;
2638         sh4a*)                  sh_cpu_target=sh4a ;;
2639         sh4_single_only*)       sh_cpu_target=sh4-single-only ;;
2640         sh4_single*)            sh_cpu_target=sh4-single ;;
2641         sh4_nofpu*)             sh_cpu_target=sh4-nofpu ;;
2642         sh4* | sh-superh-*)     sh_cpu_target=sh4 ;;
2643         sh3e*)                  sh_cpu_target=sh3e ;;
2644         sh*-*-netbsd* | sh3*)   sh_cpu_target=sh3 ;;
2645         sh2a_single_only*)      sh_cpu_target=sh2a-single-only ;;
2646         sh2a_single*)           sh_cpu_target=sh2a-single ;;
2647         sh2a_nofpu*)            sh_cpu_target=sh2a-nofpu ;;
2648         sh2a*)                  sh_cpu_target=sh2a ;;
2649         sh2e*)                  sh_cpu_target=sh2e ;;
2650         sh2*)                   sh_cpu_target=sh2 ;;
2651         *)                      sh_cpu_target=sh1 ;;
2652         esac
2653         # did the user say --without-fp ?
2654         if test x$with_fp = xno; then
2655                 case ${sh_cpu_target} in
2656                 sh5-*media)     sh_cpu_target=${sh_cpu_target}-nofpu ;;
2657                 sh4al | sh1)    ;;
2658                 sh4a* )         sh_cpu_target=sh4a-nofpu ;;
2659                 sh4*)           sh_cpu_target=sh4-nofpu ;;
2660                 sh3*)           sh_cpu_target=sh3 ;;
2661                 sh2a*)          sh_cpu_target=sh2a-nofpu ;;
2662                 sh2*)           sh_cpu_target=sh2 ;;
2663                 *)      echo --without-fp not available for $target: ignored
2664                 esac
2665                 tm_defines="$tm_defines STRICT_NOFPU=1"
2666         fi
2667         sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2668         case $sh_cpu_default in
2669         sh5-64media-nofpu | sh5-64media | \
2670           sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
2671           sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
2672           sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
2673           sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
2674           sh3e | sh3 | sh2e | sh2 | sh1) ;;
2675         "")     sh_cpu_default=${sh_cpu_target} ;;
2676         *)      echo "with_cpu=$with_cpu not supported"; exit 1 ;;
2677         esac
2678         sh_multilibs=${with_multilib_list}
2679         if test "$sh_multilibs" = "default" ; then
2680                 case ${target} in
2681                 sh64-superh-linux* | \
2682                 sh[1234]*)      sh_multilibs=${sh_cpu_target} ;;
2683                 sh64* | sh5*)   sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
2684                 sh-superh-*)    sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2685                 sh*-*-linux*)   sh_multilibs=m1,m2,m2a,m3e,m4 ;;
2686                 sh*-*-netbsd*)  sh_multilibs=m3,m3e,m4 ;;
2687                 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
2688                 esac
2689                 if test x$with_fp = xno; then
2690                         sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`"
2691                 fi
2692         fi
2693         target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
2694         tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
2695         tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2696         sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
2697         for sh_multilib in ${sh_multilibs}; do
2698                 case ${sh_multilib} in
2699                 m1 | m2 | m2e | m3 | m3e | \
2700                 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2701                 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2702                 m2a | m2a-single | m2a-single-only | m2a-nofpu | \
2703                 m5-64media | m5-64media-nofpu | \
2704                 m5-32media | m5-32media-nofpu | \
2705                 m5-compact | m5-compact-nofpu)
2706                         # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2707                         # It is passed to MULTIILIB_OPTIONS verbatim.
2708                         TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2709                         tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2710                         ;;
2711                 \!*)    # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2712                         # It is passed the MULTILIB_EXCEPTIONS verbatim.
2713                         TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
2714                 *)
2715                         echo "with_multilib_list=${sh_multilib} not supported."
2716                         exit 1
2717                         ;;
2718                 esac
2719         done
2720         TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
2721         if test x${enable_incomplete_targets} = xyes ; then
2722                 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1"
2723         fi
2724         tm_file="$tm_file ./sysroot-suffix.h"
2725         tmake_file="$tmake_file t-sysroot-suffix"
2726         ;;
2727 sh-*-rtems*)
2728         tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
2729         tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
2730         ;;
2731 sh-wrs-vxworks)
2732         tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
2733         tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
2734         ;;
2735 sparc-*-elf*)
2736         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
2737         case ${target} in
2738             *-leon-*)
2739                 tmake_file="sparc/t-sparc sparc/t-leon"
2740                 ;;
2741             *-leon[3-9]*)
2742                 tmake_file="sparc/t-sparc sparc/t-leon3"
2743                 ;;
2744             *)
2745                 tmake_file="sparc/t-sparc sparc/t-elf"
2746                 ;;
2747         esac
2748         ;;
2749 sparc-*-rtems*)
2750         tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
2751         tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
2752         ;;
2753 sparc-*-linux*)
2754         tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
2755         extra_options="${extra_options} sparc/long-double-switch.opt"
2756         case ${target} in
2757             *-leon-*)
2758                 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
2759                 ;;
2760             *-leon[3-9]*)
2761                 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
2762                 ;;
2763             *)
2764                 tmake_file="${tmake_file} sparc/t-sparc"
2765                 ;;
2766         esac
2767         if test x$enable_targets = xall; then
2768                 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
2769                 tmake_file="${tmake_file} sparc/t-linux64"
2770         else
2771                 tm_file="${tm_file} sparc/linux.h"
2772                 tmake_file="${tmake_file} sparc/t-linux"
2773         fi
2774         ;;
2775 sparc-*-netbsdelf*)
2776         tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2777         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2778         extra_options="${extra_options} sparc/long-double-switch.opt"
2779         tmake_file="${tmake_file} sparc/t-sparc"
2780         ;;
2781 sparc*-*-solaris2*)
2782         tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
2783         case ${target} in
2784             sparc64-*-* | sparcv9-*-*)
2785                 tm_file="sparc/default-64.h ${tm_file}"
2786                 ;;
2787             *)
2788                 test x$with_cpu != x || with_cpu=v9
2789                 ;;
2790         esac
2791         tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
2792         ;;
2793 sparc-wrs-vxworks)
2794         tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
2795         tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
2796         ;;
2797 sparc64-*-elf*)
2798         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
2799         extra_options="${extra_options}"
2800         tmake_file="${tmake_file} sparc/t-sparc"
2801         ;;
2802 sparc64-*-rtems*)
2803         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
2804         extra_options="${extra_options}"
2805         tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
2806         ;;
2807 sparc64-*-linux*)
2808         tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
2809         extra_options="${extra_options} sparc/long-double-switch.opt"
2810         tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
2811         ;;
2812 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2813         tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2814         extra_options="${extra_options} sparc/long-double-switch.opt"
2815         case "x$with_cpu" in
2816                 xultrasparc) ;;
2817                 x) with_cpu=ultrasparc ;;
2818                 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2819         esac
2820         tmake_file="${tmake_file} sparc/t-sparc"
2821         ;;
2822 sparc64-*-netbsd*)
2823         tm_file="sparc/biarch64.h ${tm_file}"
2824         tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2825         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2826         extra_options="${extra_options} sparc/long-double-switch.opt"
2827         tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
2828         ;;
2829 sparc64-*-openbsd*)
2830         tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
2831         tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
2832         extra_options="${extra_options} openbsd.opt"
2833         extra_options="${extra_options}"
2834         gas=yes gnu_ld=yes
2835         with_cpu=ultrasparc
2836         tmake_file="${tmake_file} sparc/t-sparc"
2837         ;;
2838 spu-*-elf*)
2839         tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
2840         tmake_file="spu/t-spu-elf"
2841         native_system_header_dir=/include
2842         extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
2843         extra_modes=spu/spu-modes.def
2844         c_target_objs="${c_target_objs} spu-c.o"
2845         cxx_target_objs="${cxx_target_objs} spu-c.o"
2846         ;;
2847 tic6x-*-elf)
2848         tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
2849         tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
2850         tmake_file="c6x/t-c6x c6x/t-c6x-elf"
2851         use_collect2=no
2852         ;;
2853 tic6x-*-uclinux)
2854         tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
2855         tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
2856         tm_file="${tm_file} ./sysroot-suffix.h"
2857         tmake_file="t-sysroot-suffix t-slibgcc"
2858         tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
2859         use_collect2=no
2860         ;;
2861 tilegx*-*-linux*)
2862         tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
2863         tmake_file="${tmake_file} tilegx/t-tilegx"
2864         extra_objs="${extra_objs} mul-tables.o"
2865         c_target_objs="${c_target_objs} tilegx-c.o"
2866         cxx_target_objs="${cxx_target_objs} tilegx-c.o"
2867         extra_headers="feedback.h"
2868         case $target in
2869         tilegxbe-*)
2870                 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2871                 ;;
2872         esac
2873         ;;
2874 tilepro*-*-linux*)
2875         tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
2876         tmake_file="${tmake_file} tilepro/t-tilepro"
2877         extra_objs="${extra_objs} mul-tables.o"
2878         c_target_objs="${c_target_objs} tilepro-c.o"
2879         cxx_target_objs="${cxx_target_objs} tilepro-c.o"
2880         extra_headers="feedback.h"
2881         ;;
2882 v850-*-rtems*)
2883         target_cpu_default="TARGET_CPU_generic"
2884         tm_file="dbxelf.h elfos.h v850/v850.h"
2885         tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
2886         tmake_file="${tmake_file} v850/t-v850"
2887         tmake_file="${tmake_file} v850/t-rtems"
2888         use_collect2=no
2889         c_target_objs="v850-c.o"
2890         cxx_target_objs="v850-c.o"
2891         ;;
2892 v850*-*-*)
2893         case ${target} in
2894         v850e3v5-*-*)
2895                 target_cpu_default="TARGET_CPU_v850e3v5"
2896                 ;;
2897         v850e2v3-*-*)
2898                 target_cpu_default="TARGET_CPU_v850e2v3"
2899                 ;;
2900         v850e2-*-*)
2901                 target_cpu_default="TARGET_CPU_v850e2"
2902                 ;;
2903         v850e1-*-* | v850es-*-*)
2904                 target_cpu_default="TARGET_CPU_v850e1"
2905                 ;;
2906         v850e-*-*)
2907                 target_cpu_default="TARGET_CPU_v850e"
2908                 ;;
2909         v850-*-*)
2910                 target_cpu_default="TARGET_CPU_generic"
2911                 ;;
2912         esac
2913         tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
2914         if test x$stabs = xyes
2915         then
2916                 tm_file="${tm_file} dbx.h"
2917         fi
2918         use_collect2=no
2919         c_target_objs="v850-c.o"
2920         cxx_target_objs="v850-c.o"
2921         use_gcc_stdint=wrap
2922         ;;
2923 vax-*-linux*)
2924         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
2925         extra_options="${extra_options} vax/elf.opt"
2926         ;;
2927 vax-*-netbsdelf*)
2928         tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
2929         extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
2930         ;;
2931 vax-*-openbsd*)
2932         tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
2933         extra_options="${extra_options} openbsd.opt"
2934         use_collect2=yes
2935         ;;
2936 visium-*-elf*)
2937         tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
2938         tmake_file="visium/t-visium visium/t-crtstuff"
2939         ;;
2940 xstormy16-*-elf)
2941         # For historical reasons, the target files omit the 'x'.
2942         tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
2943         tm_p_file=stormy16/stormy16-protos.h
2944         md_file=stormy16/stormy16.md
2945         out_file=stormy16/stormy16.c
2946         extra_options=stormy16/stormy16.opt
2947         tmake_file="stormy16/t-stormy16"
2948         ;;
2949 xtensa*-*-elf*)
2950         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
2951         extra_options="${extra_options} xtensa/elf.opt"
2952         ;;
2953 xtensa*-*-linux*)
2954         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
2955         tmake_file="${tmake_file} xtensa/t-xtensa"
2956         ;;
2957 am33_2.0-*-linux*)
2958         tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
2959         gas=yes gnu_ld=yes
2960         use_collect2=no
2961         ;;
2962 m32c-*-rtems*)
2963         tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
2964         c_target_objs="m32c-pragma.o"
2965         cxx_target_objs="m32c-pragma.o"
2966         ;;
2967 m32c-*-elf*)
2968         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2969         c_target_objs="m32c-pragma.o"
2970         cxx_target_objs="m32c-pragma.o"
2971         ;;
2972 *)
2973         echo "*** Configuration ${target} not supported" 1>&2
2974         exit 1
2975         ;;
2976 esac
2977
2978 case ${target} in
2979 i[34567]86-*-linux* | x86_64-*-linux*)
2980         tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
2981         ;;
2982 i[34567]86-*-* | x86_64-*-*)
2983         tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
2984         ;;
2985 powerpc*-*-* | rs6000-*-*)
2986         tm_file="${tm_file} rs6000/option-defaults.h"
2987 esac
2988
2989 # Build mkoffload tool
2990 case ${target} in
2991 *-intelmic-* | *-intelmicemul-*)
2992         tmake_file="${tmake_file} i386/t-intelmic"
2993         tm_file="${tm_file} i386/intelmic-offload.h"
2994         ;;
2995 esac
2996
2997 if [ "$target_has_targetcm" = "no" ]; then
2998   c_target_objs="$c_target_objs default-c.o"
2999   cxx_target_objs="$cxx_target_objs default-c.o"
3000 fi
3001
3002 if [ "$common_out_file" = "" ]; then
3003   if [ "$target_has_targetm_common" = "yes" ]; then
3004     common_out_file="$cpu_type/$cpu_type-common.c"
3005   else
3006     common_out_file="default-common.c"
3007   fi
3008 fi
3009
3010 # Support for --with-cpu and related options (and a few unrelated options,
3011 # too).
3012 case ${with_cpu} in
3013   yes | no)
3014     echo "--with-cpu must be passed a value" 1>&2
3015     exit 1
3016     ;;
3017 esac
3018
3019 # Set arch and cpu from ${target} and ${target_noncanonical}.  Set cpu
3020 # to generic if there is no processor scheduler model for the target.
3021 arch=
3022 cpu=
3023 arch_without_sse2=no
3024 arch_without_64bit=no
3025 case ${target} in
3026   i386-*-freebsd*)
3027     if test $fbsd_major -ge 6; then
3028       arch=i486
3029     else
3030       arch=i386
3031     fi
3032     cpu=generic
3033     arch_without_sse2=yes
3034     arch_without_64bit=yes
3035     ;;
3036   i386-*-*)
3037     arch=i386
3038     cpu=i386
3039     arch_without_sse2=yes
3040     arch_without_64bit=yes
3041     ;;
3042   i486-*-*)
3043     arch=i486
3044     cpu=i486
3045     arch_without_sse2=yes
3046     arch_without_64bit=yes
3047     ;;
3048   i586-*-*)
3049     arch_without_sse2=yes
3050     arch_without_64bit=yes
3051     case ${target_noncanonical} in
3052       k6_2-*)
3053         arch=k6-2
3054         cpu=k6-2
3055         ;;
3056       k6_3-*)
3057         arch=k6-3
3058         cpu=k6-3
3059         ;;
3060       k6-*)
3061         arch=k6
3062         cpu=k6
3063         ;;
3064       pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3065         arch=pentium-mmx
3066         cpu=pentium-mmx
3067         ;;
3068       *)
3069         arch=pentium
3070         cpu=pentium
3071         ;;
3072     esac
3073     ;;
3074   i686-*-* | i786-*-*)
3075     case ${target_noncanonical} in
3076       bdver4-*)
3077         arch=bdver4
3078         cpu=bdver4
3079         ;;
3080       bdver3-*)
3081         arch=bdver3
3082         cpu=bdver3
3083         ;;
3084       bdver2-*)
3085         arch=bdver2
3086         cpu=bdver2
3087         ;;
3088       bdver1-*)
3089         arch=bdver1
3090         cpu=bdver1
3091         ;;
3092       btver1-*)
3093         arch=btver1
3094         cpu=btver1
3095         ;;
3096       btver2-*)
3097         arch=btver2
3098         cpu=btver2
3099         ;;
3100       amdfam10-*|barcelona-*)
3101         arch=amdfam10
3102         cpu=amdfam10
3103         ;;
3104       k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3105         arch=k8-sse3
3106         cpu=k8-sse3
3107         ;;
3108       k8-*|opteron-*|athlon64-*|athlon_fx-*)
3109         arch=k8
3110         cpu=k8
3111         ;;
3112       athlon_xp-*|athlon_mp-*|athlon_4-*)
3113         arch=athlon-4
3114         cpu=athlon-4
3115         arch_without_sse2=yes
3116         arch_without_64bit=yes
3117         ;;
3118       athlon_tbird-*|athlon-*)
3119         arch=athlon
3120         cpu=athlon
3121         arch_without_sse2=yes
3122         ;;
3123       geode-*)
3124         arch=geode
3125         cpu=geode
3126         arch_without_sse2=yes
3127         ;;
3128       pentium2-*)
3129         arch=pentium2
3130         cpu=pentium2
3131         arch_without_sse2=yes
3132         ;;
3133       pentium3-*|pentium3m-*)
3134         arch=pentium3
3135         cpu=pentium3
3136         arch_without_sse2=yes
3137         ;;
3138       pentium4-*|pentium4m-*)
3139         arch=pentium4
3140         cpu=pentium4
3141         ;;
3142       prescott-*)
3143         arch=prescott
3144         cpu=prescott
3145         ;;
3146       nocona-*)
3147         arch=nocona
3148         cpu=nocona
3149         ;;
3150       atom-*)
3151         arch=atom
3152         cpu=atom
3153         ;;
3154       slm-*)
3155         arch=slm
3156         cpu=slm
3157         ;;
3158       core2-*)
3159         arch=core2
3160         cpu=core2
3161         ;;
3162       corei7-*)
3163         arch=corei7
3164         cpu=corei7
3165         ;;
3166       corei7_avx-*)
3167         arch=corei7-avx
3168         cpu=corei7-avx
3169         ;;
3170       pentium_m-*)
3171         arch=pentium-m
3172         cpu=pentium-m
3173         ;;
3174       pentiumpro-*)
3175         arch=pentiumpro
3176         cpu=pentiumpro
3177         arch_without_sse2=yes
3178         ;;
3179       *)
3180         arch=pentiumpro
3181         cpu=generic
3182         arch_without_sse2=yes
3183         arch_without_64bit=yes
3184         ;;
3185     esac
3186     ;;
3187   x86_64-*-*)
3188     case ${target_noncanonical} in
3189       bdver4-*)
3190         arch=bdver4
3191         cpu=bdver4
3192         ;;
3193       bdver3-*)
3194         arch=bdver3
3195         cpu=bdver3
3196         ;;
3197       bdver2-*)
3198         arch=bdver2
3199         cpu=bdver2
3200         ;;
3201       bdver1-*)
3202         arch=bdver1
3203         cpu=bdver1
3204         ;;
3205       btver1-*)
3206         arch=btver1
3207         cpu=btver1
3208         ;;
3209       btver2-*)
3210         arch=btver2
3211         cpu=btver2
3212         ;;
3213       amdfam10-*|barcelona-*)
3214         arch=amdfam10
3215         cpu=amdfam10
3216         ;;
3217       k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3218         arch=k8-sse3
3219         cpu=k8-sse3
3220         ;;
3221       k8-*|opteron-*|athlon_64-*)
3222         arch=k8
3223         cpu=k8
3224         ;;
3225       nocona-*)
3226         arch=nocona
3227         cpu=nocona
3228         ;;
3229       atom-*)
3230         arch=atom
3231         cpu=atom
3232         ;;
3233       slm-*)
3234         arch=slm
3235         cpu=slm
3236         ;;
3237       core2-*)
3238         arch=core2
3239         cpu=core2
3240         ;;
3241       corei7-*)
3242         arch=corei7
3243         cpu=corei7
3244         ;;
3245       *)
3246         arch=x86-64
3247         cpu=generic
3248         ;;
3249     esac
3250     ;;
3251 esac
3252
3253 # If there is no $with_cpu option, try to infer one from ${target}.
3254 # This block sets nothing except for with_cpu.
3255 if test x$with_cpu = x ; then
3256   case ${target} in
3257     i[34567]86-*-*|x86_64-*-*)
3258       with_cpu=$cpu
3259       ;;
3260     alphaev6[78]*-*-*)
3261       with_cpu=ev67
3262       ;;
3263     alphaev6*-*-*)
3264       with_cpu=ev6
3265       ;;
3266     alphapca56*-*-*)
3267       with_cpu=pca56
3268       ;;
3269     alphaev56*-*-*)
3270       with_cpu=ev56
3271       ;;
3272     alphaev5*-*-*)
3273       with_cpu=ev5
3274       ;;
3275     frv-*-*linux* | frv400-*-*linux*)
3276       with_cpu=fr400
3277       ;;
3278     frv550-*-*linux*)
3279       with_cpu=fr550
3280       ;;
3281     m68k*-*-*)
3282       case "$with_arch" in
3283         "cf")
3284           with_cpu=${default_cf_cpu}
3285           ;;
3286         "" | "m68k")
3287           with_cpu=m${default_m68k_cpu}
3288           ;;
3289       esac
3290       ;;
3291     powerpc*-*-*spe*)
3292       if test x$enable_e500_double = xyes; then
3293          with_cpu=8548
3294       else
3295          with_cpu=8540
3296       fi       
3297       ;;
3298     sparc*-*-*)
3299       case ${target} in
3300         *-leon-*)
3301           with_cpu=leon
3302           ;;
3303         *-leon[3-9]*)
3304           with_cpu=leon3
3305           ;;
3306         *-leon[3-9]v7*)
3307           with_cpu=leon3v7
3308           ;;
3309         *)
3310           with_cpu="`echo ${target} | sed 's/-.*$//'`"
3311           ;;
3312       esac
3313       ;;
3314   esac
3315
3316   # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3317   case ${target} in
3318     i[34567]86-*-*|x86_64-*-*)
3319       if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3320         if test x$with_cpu_32 = x; then
3321           with_cpu_32=$with_cpu
3322         fi
3323         if test x$with_cpu_64 = x; then
3324           with_cpu_64=$with_cpu
3325         fi
3326         with_cpu=
3327       fi
3328       ;;
3329   esac
3330 fi
3331
3332 # Support for --with-arch and related options (and a few unrelated options,
3333 # too).
3334 case ${with_arch} in
3335   yes | no)
3336     echo "--with-arch must be passed a value" 1>&2
3337     exit 1
3338     ;;
3339 esac
3340
3341 # If there is no $with_arch option, try to infer one from ${target}.
3342 # This block sets nothing except for with_arch.
3343 if test x$with_arch = x ; then
3344   case ${target} in
3345     i[34567]86-*-darwin*|x86_64-*-darwin*)
3346       # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3347       # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3348       ;;
3349     i[34567]86-*-*)
3350       # --with-fpmath sets the default ISA to SSE2, which is the same
3351       # ISA supported by Pentium 4.
3352       if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3353         with_arch=$arch
3354       else
3355         with_arch=pentium4
3356       fi
3357       ;;
3358     x86_64-*-*)
3359       with_arch=$arch
3360       ;;
3361     mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3362       with_arch=r5900
3363       ;;
3364     mips*-*-vxworks)
3365       with_arch=mips2
3366       ;;
3367   esac
3368
3369   # Avoid overriding --with-arch-32 and --with-arch-64 values.
3370   case ${target} in
3371     i[34567]86-*-darwin*|x86_64-*-darwin*)
3372       # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3373       # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3374       ;;
3375     i[34567]86-*-*|x86_64-*-*)
3376       if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3377         if test x$with_arch_32 = x; then
3378           with_arch_32=$with_arch
3379         fi
3380         if test x$with_arch_64 = x; then
3381           if test $arch_without_64bit = yes; then
3382             # Set the default 64bit arch to x86-64 if the default arch
3383             # doesn't support 64bit.
3384             with_arch_64=x86-64
3385           else
3386             with_arch_64=$with_arch
3387           fi
3388         fi
3389         with_arch=
3390       elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3391         # Set the default 64bit arch to x86-64 if the default arch
3392         # doesn't support 64bit and we need 64bit ISA.
3393         with_arch_32=$with_arch
3394         with_arch_64=x86-64
3395         with_arch=
3396       fi
3397       ;;
3398   esac
3399 fi
3400
3401 # Infer a default setting for --with-float.
3402 if test x$with_float = x; then
3403   case ${target} in
3404     mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3405       # The R5900 doesn't support 64-bit float.  32-bit float doesn't
3406       # comply with IEEE 754.
3407       with_float=soft
3408       ;;
3409   esac
3410 fi
3411
3412 # Infer a default setting for --with-fpu.
3413 if test x$with_fpu = x; then
3414   case ${target} in
3415     mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3416       # The R5900 FPU only supports single precision.
3417       with_fpu=single
3418       ;;
3419   esac
3420 fi
3421
3422 # Support --with-fpmath.
3423 if test x$with_fpmath != x; then
3424   case ${target} in
3425     i[34567]86-*-* | x86_64-*-*)
3426       case ${with_fpmath} in
3427       avx)
3428         tm_file="${tm_file} i386/avxmath.h"
3429         ;;
3430       sse)
3431         tm_file="${tm_file} i386/ssemath.h"
3432         ;;
3433       *)
3434         echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3435         exit 1
3436         ;;
3437       esac
3438       ;;
3439     *)
3440       echo "--with-fpmath isn't supported for $target." 1>&2
3441       exit 1
3442       ;;
3443   esac
3444 fi
3445
3446 # Similarly for --with-schedule.
3447 if test x$with_schedule = x; then
3448         case ${target} in
3449         hppa1*)
3450                 # Override default PA8000 scheduling model.
3451                 with_schedule=7100LC
3452                 ;;
3453         esac
3454 fi
3455
3456 # Infer a default setting for --with-llsc.
3457 if test x$with_llsc = x; then
3458   case ${target} in
3459     mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3460       # The R5900 doesn't support LL(D) and SC(D).
3461       with_llsc=no
3462       ;;
3463     mips*-*-linux*)
3464       # The kernel emulates LL and SC where necessary.
3465       with_llsc=yes
3466       ;;
3467   esac
3468 fi
3469
3470 # Validate and mark as valid any --with options supported
3471 # by this target.  In order to use a particular --with option
3472 # you must list it in supported_defaults; validating the value
3473 # is optional.  This case statement should set nothing besides
3474 # supported_defaults.
3475
3476 supported_defaults=
3477 case "${target}" in
3478         aarch64*-*-*)
3479                 supported_defaults="abi cpu arch"
3480                 for which in cpu arch; do
3481
3482                         eval "val=\$with_$which"
3483                         base_val=`echo $val | sed -e 's/\+.*//'`
3484                         ext_val=`echo $val | sed -e 's/[a-z0-9\-]\+//'`
3485
3486                         if [ $which = arch ]; then
3487                           def=aarch64-arches.def
3488                           pattern=AARCH64_ARCH
3489                         else
3490                           def=aarch64-cores.def
3491                           pattern=AARCH64_CORE
3492                         fi
3493
3494                         ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3495
3496                         # Find the base CPU or ARCH id in aarch64-cores.def or
3497                         # aarch64-arches.def
3498                         if [ x"$base_val" = x ] \
3499                             || grep "^$pattern(\"$base_val\"," \
3500                                     ${srcdir}/config/aarch64/$def \
3501                                     > /dev/null; then
3502
3503                           if [ $which = arch ]; then
3504                                 base_id=`grep "^$pattern(\"$base_val\"," \
3505                                   ${srcdir}/config/aarch64/$def | \
3506                                   sed -e 's/^[^,]*,[    ]*//' | \
3507                                   sed -e 's/,.*$//'`
3508                                 # Extract the architecture flags from aarch64-arches.def
3509                                 ext_mask=`grep "^$pattern(\"$base_val\"," \
3510                                    ${srcdir}/config/aarch64/$def | \
3511                                    sed -e 's/)$//' | \
3512                                    sed -e 's/^.*,//'`
3513                           else
3514                                 base_id=`grep "^$pattern(\"$base_val\"," \
3515                                   ${srcdir}/config/aarch64/$def | \
3516                                   sed -e 's/^[^,]*,[    ]*//' | \
3517                                   sed -e 's/,.*$//'`
3518                           fi
3519
3520                           while [ x"$ext_val" != x ]
3521                           do
3522                                 ext_val=`echo $ext_val | sed -e 's/\+//'`
3523                                 ext=`echo $ext_val | sed -e 's/\+.*//'`
3524                                 base_ext=`echo $ext | sed -e 's/^no//'`
3525
3526                                 if [ x"$base_ext" = x ] \
3527                                     || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3528                                     ${srcdir}/config/aarch64/aarch64-option-extensions.def \
3529                                     > /dev/null; then
3530
3531                                   ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3532                                         ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3533                                         sed -e 's/^[^,]*,[      ]*//' | \
3534                                         sed -e 's/,.*$//'`
3535                                   ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3536                                         ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3537                                         sed -e 's/^[^,]*,[      ]*[^,]*,[       ]*//' | \
3538                                         sed -e 's/,.*$//' | \
3539                                         sed -e 's/).*$//'`
3540
3541                                   if [ $ext = $base_ext ]; then
3542                                         # Adding extension
3543                                         ext_mask="("$ext_mask") | ("$ext_on")"
3544                                   else
3545                                         # Removing extension
3546                                         ext_mask="("$ext_mask") & ~("$ext_off")"
3547                                   fi
3548
3549                                   true
3550                                 else
3551                                   echo "Unknown extension used in --with-$which=$val" 1>&2
3552                                   exit 1
3553                                 fi
3554                                 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3555                           done
3556
3557                           ext_mask="(("$ext_mask") << 6)"
3558                           if [ x"$base_id" != x ]; then
3559                                 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3560                           fi
3561                           true
3562                         else
3563                           echo "Unknown $which used in --with-$which=$val" 1>&2
3564                           exit 1
3565                         fi
3566                 done
3567                 ;;
3568
3569         alpha*-*-*)
3570                 supported_defaults="cpu tune"
3571                 for which in cpu tune; do
3572                         eval "val=\$with_$which"
3573                         case "$val" in
3574                         "" \
3575                         | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3576                         | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3577                         | 21264a)
3578                                 ;;
3579                         *)
3580                                 echo "Unknown CPU used in --with-$which=$val" 1>&2
3581                                 exit 1
3582                                 ;;
3583                         esac
3584                 done
3585                 ;;
3586
3587         arc*-*-*) # was:        arc*-*-linux-uclibc)
3588                 supported_defaults="cpu"
3589                 case $with_cpu in
3590                   arc600|arc601|arc700)
3591                         ;;
3592                   *) echo "Unknown cpu type"
3593                         exit 1
3594                         ;;
3595                 esac
3596                 ;;
3597
3598         arm*-*-*)
3599                 supported_defaults="arch cpu float tune fpu abi mode tls"
3600                 for which in cpu tune; do
3601                         # See if it matches any of the entries in arm-cores.def
3602                         eval "val=\$with_$which"
3603                         if [ x"$val" = x ] \
3604                             || grep "^ARM_CORE(\"$val\"," \
3605                                     ${srcdir}/config/arm/arm-cores.def \
3606                                     > /dev/null; then
3607                           # Ok
3608                           new_val=`grep "^ARM_CORE(\"$val\"," \
3609                                 ${srcdir}/config/arm/arm-cores.def | \
3610                                 sed -e 's/^[^,]*,[      ]*//' | \
3611                                 sed -e 's/,.*$//'`
3612                           eval "target_${which}_cname=$new_val"
3613                         echo "For $val real value is $new_val"
3614                           true
3615                         else
3616                           echo "Unknown CPU used in --with-$which=$val" 1>&2
3617                           exit 1
3618                         fi
3619                 done
3620
3621                 # See if it matches any of the entries in arm-arches.def
3622                 if [ x"$with_arch" = x ] \
3623                     || grep "^ARM_ARCH(\"$with_arch\"," \
3624                             ${srcdir}/config/arm/arm-arches.def \
3625                             > /dev/null; then
3626                   # OK
3627                   true
3628                 else
3629                   echo "Unknown arch used in --with-arch=$with_arch" 1>&2
3630                   exit 1
3631                 fi
3632
3633                 case "$with_float" in
3634                 "" \
3635                 | soft | hard | softfp)
3636                         # OK
3637                         ;;
3638                 *)
3639                         echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3640                         exit 1
3641                         ;;
3642                 esac
3643
3644                 # see if it matches any of the entries in arm-fpus.def
3645                 if [ x"$with_fpu" = x ] \
3646                     || grep "^ARM_FPU(\"$with_fpu\"," \
3647                             ${srcdir}/config/arm/arm-fpus.def \
3648                             > /dev/null; then
3649                   # OK
3650                   true
3651                 else
3652                   echo "Unknown fpu used in --with-fpu=$with_fpu" 1>&2
3653                   exit 1
3654                 fi
3655
3656                 case "$with_abi" in
3657                 "" \
3658                 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
3659                         #OK
3660                         ;;
3661                 *)
3662                         echo "Unknown ABI used in --with-abi=$with_abi"
3663                         exit 1
3664                         ;;
3665                 esac
3666
3667                 case "$with_mode" in
3668                 "" \
3669                 | arm | thumb )
3670                         #OK
3671                         ;;
3672                 *)
3673                         echo "Unknown mode used in --with-mode=$with_mode"
3674                         exit 1
3675                         ;;
3676                 esac
3677
3678                 case "$with_tls" in
3679                 "" \
3680                 | gnu | gnu2)
3681                         # OK
3682                         ;;
3683                 *)
3684                         echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3685                         exit 1
3686                         ;;
3687                 esac
3688
3689                 if test "x$with_arch" != x && test "x$with_cpu" != x; then
3690                         echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\""  1>&2
3691                         exit 1
3692                 fi
3693
3694                 if test "x$with_cpu" != x && test "x$with_tune" != x; then
3695                         echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\""  1>&2
3696                         exit 1
3697                 fi
3698
3699                 # Add extra multilibs
3700                 if test "x$with_multilib_list" != x; then
3701                         arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
3702                         for arm_multilib in ${arm_multilibs}; do
3703                                 case ${arm_multilib} in
3704                                 aprofile)
3705                                 # Note that arm/t-aprofile is a
3706                                 # stand-alone make file fragment to be
3707                                 # used only with itself.  We do not
3708                                 # specifically use the
3709                                 # TM_MULTILIB_OPTION framework because
3710                                 # this shorthand is more
3711                                 # pragmatic. Additionally it is only
3712                                 # designed to work without any
3713                                 # with-cpu, with-arch with-mode
3714                                 # with-fpu or with-float options.
3715                                         if test "x$with_arch" != x \
3716                                             || test "x$with_cpu" != x \
3717                                             || test "x$with_float" != x \
3718                                             || test "x$with_fpu" != x \
3719                                             || test "x$with_mode" != x ; then
3720                                             echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=aprofile" 1>&2
3721                                             exit 1
3722                                         fi
3723                                         tmake_file="${tmake_file} arm/t-aprofile"
3724                                         break
3725                                         ;;
3726                                 default)
3727                                         ;;
3728                                 *)
3729                                         echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
3730                                         exit 1
3731                                         ;;
3732                                 esac
3733                         done
3734                 fi
3735                 ;;
3736
3737         fr*-*-*linux*)
3738                 supported_defaults=cpu
3739                 case "$with_cpu" in
3740                 fr400) ;;
3741                 fr550) ;;
3742                 *)
3743                         echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3744                         exit 1
3745                         ;;
3746                 esac
3747                 ;;
3748
3749         fido-*-* | m68k*-*-*)
3750                 supported_defaults="arch cpu"
3751                 case "$with_arch" in
3752                 "" | "m68k"| "cf")
3753                         m68k_arch_family="$with_arch"
3754                         ;;
3755                 *)
3756                         echo "Invalid --with-arch=$with_arch" 1>&2
3757                         exit 1
3758                         ;;
3759                 esac
3760
3761                 # We always have a $with_cpu setting here.
3762                 case "$with_cpu" in
3763                 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
3764                         m68k_cpu_ident=$with_cpu
3765                         ;;
3766                 "m68020-40")
3767                         m68k_cpu_ident=m68020
3768                         tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
3769                         ;;
3770                 "m68020-60")
3771                         m68k_cpu_ident=m68020
3772                         tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
3773                         ;;
3774                 *)
3775                         # We need the C identifier rather than the string.
3776                         m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
3777                            'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
3778                             $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
3779                                  ${srcdir}/config/m68k/m68k-devices.def`
3780                         if [ x"$m68k_cpu_ident" = x ] ; then
3781                                 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
3782                                 exit 1
3783                         fi
3784                         with_cpu="mcpu=$with_cpu"
3785                         ;;
3786                 esac
3787                 ;;
3788
3789         hppa*-*-*)
3790                 supported_defaults="arch schedule"
3791
3792                 case "$with_arch" in
3793                 "" | 1.0 | 1.1 | 2.0)
3794                         # OK
3795                         ;;
3796                 *)
3797                         echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
3798                         exit 1
3799                         ;;
3800                 esac
3801
3802                 case "$with_schedule" in
3803                 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
3804                         # OK
3805                         ;;
3806                 *)
3807                         echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
3808                         exit 1
3809                         ;;
3810                 esac
3811                 ;;
3812
3813         i[34567]86-*-* | x86_64-*-*)
3814                 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
3815                 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
3816                         eval "val=\$with_$which"
3817                         case " $x86_archs " in
3818                         *" ${val} "*)
3819                                 case "${target}" in
3820                                   x86_64-*-*)
3821                                       case "x$which" in
3822                                         *_32)
3823                                                 ;;
3824                                         *)
3825                                                 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
3826                                                 exit 1
3827                                                 ;;
3828                                       esac
3829                                       ;;
3830                                 esac
3831                                 # OK
3832                                 ;;
3833                         *)
3834                                 if test x${val} != x; then
3835                                         case " $x86_64_archs " in
3836                                         *" ${val} "*)
3837                                                 # OK
3838                                                 ;;
3839                                         *)
3840                                                 # Allow $x86_cpus --with-cpu=/--with-tune=
3841                                                 case "x$which" in
3842                                                 xcpu*|xtune*)
3843                                                         case " $x86_cpus " in
3844                                                         *" ${val} "*)
3845                                                                 # OK
3846                                                                 ;;
3847                                                         *)
3848                                                                 echo "Unknown CPU given in --with-$which=$val." 1>&2
3849                                                                 exit 1
3850                                                                 ;;
3851                                                         esac
3852                                                         ;;
3853                                                 *)
3854                                                         echo "Unknown CPU given in --with-$which=$val." 1>&2
3855                                                         exit 1
3856                                                         ;;
3857                                                 esac
3858                                         ;;
3859                                         esac
3860                                 fi
3861                                 ;;
3862                         esac
3863                 done
3864                 ;;
3865
3866         mips*-*-*)
3867                 supported_defaults="abi arch arch_32 arch_64 float fpu nan fp_32 odd_spreg_32 tune tune_32 tune_64 divide llsc mips-plt synci"
3868
3869                 case ${with_float} in
3870                 "" | soft | hard)
3871                         # OK
3872                         ;;
3873                 *)
3874                         echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3875                         exit 1
3876                         ;;
3877                 esac
3878
3879                 case ${with_fpu} in
3880                 "" | single | double)
3881                         # OK
3882                         ;;
3883                 *)
3884                         echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
3885                         exit 1
3886                         ;;
3887                 esac
3888
3889                 case ${with_nan} in
3890                 "" | 2008 | legacy)
3891                         # OK
3892                         ;;
3893                 *)
3894                         echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
3895                         exit 1
3896                         ;;
3897                 esac
3898
3899                 case ${with_fp_32} in
3900                 "" | 32 | xx | 64)
3901                         # OK
3902                         ;;
3903                 *)
3904                         echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
3905                         exit 1
3906                         ;;
3907                 esac
3908
3909                 case ${with_odd_spreg_32} in
3910                 yes)
3911                         with_odd_spreg_32="odd-spreg"
3912                         ;;
3913                 no)
3914                         with_odd_spreg_32="no-odd-spreg"
3915                         ;;
3916                 "")
3917                         # OK
3918                         ;;
3919                 *)
3920                         echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
3921                         exit 1
3922                         ;;
3923                 esac
3924
3925                 case ${with_abi} in
3926                 "" | 32 | o64 | n32 | 64 | eabi)
3927                         # OK
3928                         ;;
3929                 *)
3930                         echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
3931                         exit 1
3932                         ;;
3933                 esac
3934
3935                 case ${with_divide} in
3936                 "" | breaks | traps)
3937                         # OK
3938                         ;;
3939                 *)
3940                         echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
3941                         exit 1
3942                         ;;
3943                 esac
3944
3945                 case ${with_llsc} in
3946                 yes)
3947                         with_llsc=llsc
3948                         ;;
3949                 no)
3950                         with_llsc="no-llsc"
3951                         ;;
3952                 "")
3953                         # OK
3954                         ;;
3955                 *)
3956                         echo "Unknown llsc type used in --with-llsc" 1>&2
3957                         exit 1
3958                         ;;
3959                 esac
3960
3961                 case ${with_mips_plt} in
3962                 yes)
3963                         with_mips_plt=plt
3964                         ;;
3965                 no)
3966                         with_mips_plt=no-plt
3967                         ;;
3968                 "")
3969                         ;;
3970                 *)
3971                         echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
3972                         exit 1
3973                         ;;
3974                 esac
3975
3976                 case ${with_synci} in
3977                 yes)
3978                         with_synci=synci
3979                         ;;
3980                 no)
3981                         with_synci=no-synci
3982                         ;;
3983                 "")
3984                         ;;
3985                 *)
3986                         echo "Unknown synci type used in --with-synci" 1>&2
3987                         exit 1
3988                         ;;
3989                 esac
3990                 ;;
3991
3992         nds32*-*-*)
3993                 supported_defaults="arch nds32_lib"
3994
3995                 # process --with-arch
3996                 case "${with_arch}" in
3997                 "" | v2 | v3 | v3m)
3998                         # OK
3999                         ;;
4000                 *)
4001                         echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2
4002                         exit 1
4003                         ;;
4004                 esac
4005
4006                 # process --with-nds32-lib
4007                 case "${with_nds32_lib}" in
4008                 "")
4009                         # the default library is newlib
4010                         with_nds32_lib=newlib
4011                         ;;
4012                 newlib)
4013                         # OK
4014                         ;;
4015                 mculib)
4016                         # OK
4017                         ;;
4018                 *)
4019                         echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
4020                         exit 1
4021                         ;;
4022                 esac
4023                 ;;
4024
4025         powerpc*-*-* | rs6000-*-*)
4026                 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64"
4027
4028                 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4029                         eval "val=\$with_$which"
4030                         case ${val} in
4031                         default32 | default64)
4032                                 case $which in
4033                                 cpu | tune)
4034                                         ;;
4035                                 *)
4036                                         echo "$val only valid for --with-cpu and --with-tune." 1>&2
4037                                         exit 1
4038                                         ;;
4039                                 esac
4040                                 with_which="with_$which"
4041                                 eval $with_which=
4042                                 ;;
4043                         405cr)
4044                                 tm_defines="${tm_defines} CONFIG_PPC405CR"
4045                                 eval "with_$which=405"
4046                                 ;;
4047                         "" | common | native \
4048                         | power | power[2345678] | power6x | powerpc | powerpc64 \
4049                         | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
4050                         | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4051                         | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4052                         | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4053                         | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4054                         | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4055                                 # OK
4056                                 ;;
4057                         *)
4058                                 echo "Unknown cpu used in --with-$which=$val." 1>&2
4059                                 exit 1
4060                                 ;;
4061                         esac
4062                 done
4063
4064                 case "$with_abi" in
4065                 "" | elfv1 | elfv2 )
4066                         #OK
4067                         ;;
4068                 *)
4069                         echo "Unknown ABI used in --with-abi=$with_abi"
4070                         exit 1
4071                         ;;
4072                 esac
4073                 ;;
4074
4075         s390*-*-*)
4076                 supported_defaults="arch mode tune"
4077
4078                 for which in arch tune; do
4079                         eval "val=\$with_$which"
4080                         case ${val} in
4081                         "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12)
4082                                 # OK
4083                                 ;;
4084                         *)
4085                                 echo "Unknown cpu used in --with-$which=$val." 1>&2
4086                                 exit 1
4087                                 ;;
4088                         esac
4089                 done
4090
4091                 case ${with_mode} in
4092                 "" | esa | zarch)
4093                         # OK
4094                         ;;
4095                 *)
4096                         echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4097                         exit 1
4098                         ;;
4099                 esac
4100                 ;;
4101
4102         sh[123456ble]-*-* | sh-*-*)
4103                 supported_defaults="cpu"
4104                 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4105                 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4106                         # OK
4107                         ;;
4108                 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4109                         ;;
4110                 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4111                         ;;
4112                 *)
4113                         echo "Unknown CPU used in --with-cpu=$with_cpu, known values:"  1>&2
4114                         echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4115                         echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4116                         echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4117                         exit 1
4118                         ;;
4119                 esac
4120                 ;;
4121         sparc*-*-*)
4122                 supported_defaults="cpu float tune"
4123
4124                 for which in cpu tune; do
4125                         eval "val=\$with_$which"
4126                         case ${val} in
4127                         "" | sparc | sparcv9 | sparc64 \
4128                         | v7 | cypress \
4129                         | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4130                         | sparclite | f930 | f934 | sparclite86x \
4131                         | sparclet | tsc701 \
4132                         | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4133                         | niagara3 | niagara4)
4134                                 # OK
4135                                 ;;
4136                         *)
4137                                 echo "Unknown cpu used in --with-$which=$val" 1>&2
4138                                 exit 1
4139                                 ;;
4140                         esac
4141                 done
4142
4143                 case ${with_float} in
4144                 "" | soft | hard)
4145                         # OK
4146                         ;;
4147                 *)
4148                         echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4149                         exit 1
4150                         ;;
4151                 esac
4152                 ;;
4153
4154         spu-*-*)
4155                 supported_defaults="arch tune"
4156
4157                 for which in arch tune; do
4158                         eval "val=\$with_$which"
4159                         case ${val} in
4160                         "" | cell | celledp)
4161                                 # OK
4162                                 ;;
4163                         *)
4164                                 echo "Unknown cpu used in --with-$which=$val." 1>&2
4165                                 exit 1
4166                                 ;;
4167                         esac
4168                 done
4169                 ;;
4170
4171         tic6x-*-*)
4172                 supported_defaults="arch"
4173
4174                 case ${with_arch} in
4175                 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4176                         # OK
4177                         ;;
4178                 *)
4179                         echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4180                         exit 1
4181                         ;;
4182                 esac
4183                 ;;
4184
4185         v850*-*-*)
4186                 supported_defaults=cpu
4187                 case ${with_cpu} in
4188                 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4189                         # OK
4190                         ;;
4191                 *)
4192                         echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4193                         exit 1
4194                         ;;
4195                 esac
4196                 ;;
4197 esac
4198
4199 # Set some miscellaneous flags for particular targets.
4200 target_cpu_default2=
4201 case ${target} in
4202         aarch64*-*-*)
4203                 if test x"$target_cpu_cname" != x
4204                 then
4205                         target_cpu_default2=$target_cpu_cname
4206                 fi
4207                 ;;
4208
4209         arm*-*-*)
4210                 if test x$target_cpu_cname = x
4211                 then
4212                         target_cpu_default2=TARGET_CPU_generic
4213                 else
4214                         target_cpu_default2=TARGET_CPU_$target_cpu_cname
4215                 fi
4216                 ;;
4217
4218         hppa*-*-*)
4219                 if test x$gas = xyes
4220                 then
4221                         target_cpu_default2="MASK_GAS"
4222                 fi
4223                 ;;
4224
4225         fido*-*-* | m68k*-*-*)
4226                 target_cpu_default2=$m68k_cpu_ident
4227                 tmake_file="m68k/t-opts $tmake_file"
4228                 if [ x"$m68k_arch_family" != x ]; then
4229                         tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4230                 fi
4231                 ;;
4232
4233         i[34567]86-*-darwin* | x86_64-*-darwin*)
4234                 ;;
4235         i[34567]86-*-linux* | x86_64-*-linux*)
4236                 tmake_file="$tmake_file i386/t-linux"
4237                 ;;
4238         i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
4239                 tmake_file="$tmake_file i386/t-kfreebsd"
4240                 ;;
4241         i[34567]86-*-gnu*)
4242                 tmake_file="$tmake_file i386/t-gnu"
4243                 ;;
4244         i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
4245                 ;;
4246         i[34567]86-*-cygwin* | x86_64-*-cygwin*)
4247                 ;;
4248         i[34567]86-*-mingw* | x86_64-*-mingw*)
4249                 ;;
4250         i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
4251                 ;;
4252         i[34567]86-*-freebsd* | x86_64-*-freebsd*)
4253                 ;;
4254         ia64*-*-linux*)
4255                 ;;
4256
4257         mips*-*-*)
4258                 if test x$gnu_ld = xyes
4259                 then
4260                         target_cpu_default2="MASK_SPLIT_ADDRESSES"
4261                 fi
4262                 case ${target} in
4263                         mips*el-*-*)
4264                                 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
4265                                 ;;
4266                 esac
4267                 if test x$with_arch != x; then
4268                         default_mips_arch=$with_arch
4269                 fi
4270                 if test x$with_abi != x; then
4271                         default_mips_abi=$with_abi
4272                 fi
4273                 case ${default_mips_arch} in
4274                     mips1)    tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
4275                     mips2)    tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
4276                     mips3)    tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
4277                     mips4)    tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
4278                     mips32)   tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
4279                     mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
4280                     mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
4281                     mips64)   tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
4282                     mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
4283                     mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
4284                 esac
4285                 case ${default_mips_abi} in
4286                     32)   tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
4287                     o64)  tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
4288                     n32)  tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
4289                     64)   tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
4290                     eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
4291                 esac
4292                 tmake_file="mips/t-mips $tmake_file"
4293                 ;;
4294
4295         powerpc*-*-* | rs6000-*-*)
4296                 # FIXME: The PowerPC port uses the value set at compile time,
4297                 # although it's only cosmetic.
4298                 if test "x$with_cpu" != x
4299                 then
4300                         target_cpu_default2="\\\"$with_cpu\\\""
4301                 fi
4302                 out_file=rs6000/rs6000.c
4303                 c_target_objs="${c_target_objs} rs6000-c.o"
4304                 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
4305                 tmake_file="rs6000/t-rs6000 ${tmake_file}"
4306                 ;;
4307
4308         sh[123456ble]*-*-* | sh-*-*)
4309                 c_target_objs="${c_target_objs} sh-c.o"
4310                 cxx_target_objs="${cxx_target_objs} sh-c.o"
4311                 ;;
4312
4313         sparc*-*-*)
4314                 # Some standard aliases.
4315                 case x$with_cpu in
4316                 xsparc)
4317                         with_cpu=v7
4318                         ;;
4319                 xsparcv9 | xsparc64)
4320                         with_cpu=v9
4321                         ;;
4322                 esac
4323
4324                 if test x$with_tune = x ; then
4325                       case ${target} in
4326                       *-leon-*)
4327                           with_tune=leon
4328                           ;;
4329                       *-leon[3-9]*)
4330                           with_tune=leon3
4331                           ;;
4332                       esac
4333                 fi
4334
4335                 # The SPARC port checks this value at compile-time.
4336                 target_cpu_default2="TARGET_CPU_$with_cpu"
4337                 ;;
4338
4339         v850*-*-*)
4340                 case "x$with_cpu" in
4341                 x)
4342                         ;;
4343                 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
4344                         target_cpu_default2="TARGET_CPU_$with_cpu"
4345                         ;;
4346                 xv850es)
4347                         target_cpu_default2="TARGET_CPU_v850e1"
4348                         ;;
4349                 esac
4350                 ;;
4351 esac
4352
4353 t=
4354 all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu nan fp_32 odd_spreg_32 divide llsc mips-plt synci tls"
4355 for option in $all_defaults
4356 do
4357         eval "val=\$with_"`echo $option | sed s/-/_/g`
4358         if test -n "$val"; then
4359                 case " $supported_defaults " in
4360                 *" $option "*)
4361                         ;;
4362                 *)
4363                         echo "This target does not support --with-$option." 2>&1
4364                         echo "Valid --with options are: $supported_defaults" 2>&1
4365                         exit 1
4366                         ;;
4367                 esac
4368
4369                 if test "x$t" = x
4370                 then
4371                         t="{ \"$option\", \"$val\" }"
4372                 else
4373                         t="${t}, { \"$option\", \"$val\" }"
4374                 fi
4375         fi
4376 done
4377
4378 if test "x$t" = x
4379 then
4380         configure_default_options="{ { NULL, NULL} }"
4381 else
4382         configure_default_options="{ ${t} }"
4383 fi
4384
4385 if test "$target_cpu_default2" != ""
4386 then
4387         if test "$target_cpu_default" != ""
4388         then
4389                 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
4390         else
4391                 target_cpu_default=$target_cpu_default2
4392         fi
4393 fi
4394
4395 case ${target} in
4396 i[34567]86-*-* | x86_64-*-*)
4397         if test x$enable_as_accelerator = xyes; then
4398                 extra_programs="mkoffload\$(exeext)"
4399         fi
4400         ;;
4401 esac