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