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