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