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