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