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