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