]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config.gcc
config.gcc: Add support for arm*-*-phoenix* targets.
[thirdparty/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_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*)
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*)
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 gnu_ld=yes
1989 gas=yes
1990 ;;
1991 mips*-mti-linux*)
1992 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"
1993 extra_options="${extra_options} linux-android.opt"
1994 tmake_file="${tmake_file} mips/t-mti-linux"
1995 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
1996 gnu_ld=yes
1997 gas=yes
1998 ;;
1999 mips*-*-linux*) # Linux MIPS, either endian.
2000 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"
2001 extra_options="${extra_options} linux-android.opt"
2002 case ${target} in
2003 mipsisa32r6*)
2004 default_mips_arch=mips32r6
2005 ;;
2006 mipsisa32r2*)
2007 default_mips_arch=mips32r2
2008 ;;
2009 mipsisa32*)
2010 default_mips_arch=mips32
2011 ;;
2012 mips64el-st-linux-gnu)
2013 default_mips_abi=n32
2014 tm_file="${tm_file} mips/st.h"
2015 tmake_file="${tmake_file} mips/t-st"
2016 enable_mips_multilibs="yes"
2017 ;;
2018 mips64octeon*-*-linux*)
2019 default_mips_abi=n32
2020 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2021 target_cpu_default=MASK_SOFT_FLOAT_ABI
2022 enable_mips_multilibs="yes"
2023 ;;
2024 mipsisa64r6*-*-linux*)
2025 default_mips_abi=n32
2026 default_mips_arch=mips64r6
2027 enable_mips_multilibs="yes"
2028 ;;
2029 mipsisa64r2*-*-linux*)
2030 default_mips_abi=n32
2031 default_mips_arch=mips64r2
2032 enable_mips_multilibs="yes"
2033 ;;
2034 mips64*-*-linux* | mipsisa64*-*-linux*)
2035 default_mips_abi=n32
2036 enable_mips_multilibs="yes"
2037 ;;
2038 esac
2039 if test x$enable_targets = xall; then
2040 enable_mips_multilibs="yes"
2041 fi
2042 if test x$enable_mips_multilibs = xyes; then
2043 tmake_file="${tmake_file} mips/t-linux64"
2044 fi
2045 ;;
2046 mips*-mti-elf*)
2047 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2048 tmake_file="mips/t-mti-elf"
2049 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2050 ;;
2051 mips*-img-elf*)
2052 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2053 tmake_file="mips/t-img-elf"
2054 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2055 ;;
2056 mips*-sde-elf*)
2057 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2058 tmake_file="mips/t-sde"
2059 extra_options="${extra_options} mips/sde.opt"
2060 case "${with_newlib}" in
2061 yes)
2062 # newlib / libgloss.
2063 ;;
2064 *)
2065 # MIPS toolkit libraries.
2066 tm_file="$tm_file mips/sdemtk.h"
2067 tmake_file="$tmake_file mips/t-sdemtk"
2068 case ${enable_threads} in
2069 "" | yes | mipssde)
2070 thread_file='mipssde'
2071 ;;
2072 esac
2073 ;;
2074 esac
2075 case ${target} in
2076 mipsisa32r6*)
2077 tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2078 ;;
2079 mipsisa32r2*)
2080 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2081 ;;
2082 mipsisa32*)
2083 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2084 ;;
2085 mipsisa64r6*)
2086 tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2087 ;;
2088 mipsisa64r2*)
2089 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2090 ;;
2091 mipsisa64*)
2092 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2093 ;;
2094 esac
2095 ;;
2096 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2097 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2098 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2099 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2100 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2101 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2102 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2103 tmake_file="mips/t-isa3264"
2104 case ${target} in
2105 mipsisa32r6*)
2106 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2107 ;;
2108 mipsisa32r2*)
2109 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2110 ;;
2111 mipsisa32*)
2112 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2113 ;;
2114 mipsisa64r6*)
2115 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2116 ;;
2117 mipsisa64r2*)
2118 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2119 ;;
2120 mipsisa64*)
2121 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2122 ;;
2123 esac
2124 case ${target} in
2125 mipsisa32*-*-elfoabi*)
2126 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2127 tm_file="${tm_file} mips/elfoabi.h"
2128 ;;
2129 mipsisa64*-*-elfoabi*)
2130 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2131 tm_file="${tm_file} mips/elfoabi.h"
2132 ;;
2133 *-*-elf*)
2134 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2135 ;;
2136 esac
2137 ;;
2138 mipsisa64sr71k-*-elf*)
2139 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2140 tmake_file=mips/t-sr71k
2141 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2142 ;;
2143 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2144 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2145 tmake_file="mips/t-elf mips/t-sb1"
2146 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2147 ;;
2148 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2149 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2150 tmake_file="mips/t-elf"
2151 ;;
2152 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2153 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2154 tmake_file="mips/t-elf"
2155 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2156 ;;
2157 mips64-*-elf* | mips64el-*-elf*)
2158 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2159 tmake_file="mips/t-elf"
2160 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2161 ;;
2162 mips64vr-*-elf* | mips64vrel-*-elf*)
2163 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2164 tmake_file=mips/t-vr
2165 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2166 ;;
2167 mips64orion-*-elf* | mips64orionel-*-elf*)
2168 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2169 tmake_file="mips/t-elf"
2170 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2171 ;;
2172 mips*-*-rtems*)
2173 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2174 tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2175 ;;
2176 mips-wrs-vxworks)
2177 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2178 tmake_file="${tmake_file} mips/t-vxworks"
2179 ;;
2180 mipstx39-*-elf* | mipstx39el-*-elf*)
2181 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2182 tmake_file="mips/t-r3900"
2183 ;;
2184 mmix-knuth-mmixware)
2185 tm_file="${tm_file} newlib-stdint.h"
2186 use_gcc_stdint=wrap
2187 ;;
2188 mn10300-*-*)
2189 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2190 if test x$stabs = xyes
2191 then
2192 tm_file="${tm_file} dbx.h"
2193 fi
2194 use_collect2=no
2195 use_gcc_stdint=wrap
2196 ;;
2197 msp430*-*-*)
2198 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2199 c_target_objs="msp430-c.o"
2200 cxx_target_objs="msp430-c.o"
2201 tmake_file="${tmake_file} msp430/t-msp430"
2202 extra_gcc_objs="driver-msp430.o"
2203 ;;
2204 nds32le-*-*)
2205 target_cpu_default="0"
2206 tm_defines="${tm_defines}"
2207 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2208 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2209 ;;
2210 nds32be-*-*)
2211 target_cpu_default="0|MASK_BIG_ENDIAN"
2212 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2213 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2214 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2215 ;;
2216 nios2-*-*)
2217 tm_file="elfos.h ${tm_file}"
2218 tmake_file="${tmake_file} nios2/t-nios2"
2219 case ${target} in
2220 nios2-*-linux*)
2221 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2222 ;;
2223 nios2-*-elf*)
2224 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2225 extra_options="${extra_options} nios2/elf.opt"
2226 ;;
2227 nios2-*-rtems*)
2228 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2229 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2230 ;;
2231 esac
2232 ;;
2233 nvptx-*)
2234 tm_file="${tm_file} newlib-stdint.h"
2235 tmake_file="nvptx/t-nvptx"
2236 if test x$enable_as_accelerator = xyes; then
2237 extra_programs="${extra_programs} mkoffload\$(exeext)"
2238 tm_file="${tm_file} nvptx/offload.h"
2239 fi
2240 ;;
2241 pdp11-*-*)
2242 tm_file="${tm_file} newlib-stdint.h"
2243 use_gcc_stdint=wrap
2244 ;;
2245 # port not yet contributed
2246 #powerpc-*-openbsd*)
2247 # tmake_file="${tmake_file} rs6000/t-fprules"
2248 # extra_headers=
2249 # ;;
2250 powerpc-*-darwin*)
2251 extra_options="${extra_options} rs6000/darwin.opt"
2252 case ${target} in
2253 *-darwin1[0-9]* | *-darwin[8-9]*)
2254 tmake_file="${tmake_file} rs6000/t-darwin8"
2255 tm_file="${tm_file} rs6000/darwin8.h"
2256 ;;
2257 *-darwin7*)
2258 tm_file="${tm_file} rs6000/darwin7.h"
2259 ;;
2260 *-darwin[0-6]*)
2261 ;;
2262 esac
2263 tmake_file="${tmake_file} t-slibgcc"
2264 extra_headers=altivec.h
2265 ;;
2266 powerpc64-*-darwin*)
2267 extra_options="${extra_options} ${cpu_type}/darwin.opt"
2268 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
2269 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
2270 extra_headers=altivec.h
2271 ;;
2272 powerpc*-*-freebsd*)
2273 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
2274 extra_options="${extra_options} rs6000/sysv4.opt"
2275 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2276 case ${target} in
2277 powerpc64*)
2278 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2279 tmake_file="${tmake_file} rs6000/t-freebsd64"
2280 extra_options="${extra_options} rs6000/linux64.opt"
2281 ;;
2282 *)
2283 tm_file="${tm_file} rs6000/freebsd.h"
2284 ;;
2285 esac
2286 ;;
2287 powerpc-*-netbsd*)
2288 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2289 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2290 tmake_file="${tmake_file} rs6000/t-netbsd"
2291 extra_options="${extra_options} rs6000/sysv4.opt"
2292 ;;
2293 powerpc-*-eabispe*)
2294 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
2295 extra_options="${extra_options} rs6000/sysv4.opt"
2296 tmake_file="rs6000/t-spe rs6000/t-ppccomm"
2297 use_gcc_stdint=wrap
2298 ;;
2299 powerpc-*-eabisimaltivec*)
2300 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h"
2301 extra_options="${extra_options} rs6000/sysv4.opt"
2302 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2303 use_gcc_stdint=wrap
2304 ;;
2305 powerpc-*-eabisim*)
2306 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
2307 extra_options="${extra_options} rs6000/sysv4.opt"
2308 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2309 use_gcc_stdint=wrap
2310 ;;
2311 powerpc-*-elf*)
2312 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2313 extra_options="${extra_options} rs6000/sysv4.opt"
2314 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2315 ;;
2316 powerpc-*-eabialtivec*)
2317 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h"
2318 extra_options="${extra_options} rs6000/sysv4.opt"
2319 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2320 use_gcc_stdint=wrap
2321 ;;
2322 powerpc-xilinx-eabi*)
2323 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h rs6000/xfpu.h rs6000/xilinx.h"
2324 extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
2325 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
2326 use_gcc_stdint=wrap
2327 ;;
2328 powerpc-*-eabi*)
2329 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
2330 extra_options="${extra_options} rs6000/sysv4.opt"
2331 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2332 use_gcc_stdint=wrap
2333 ;;
2334 powerpc-*-rtems*)
2335 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h"
2336 extra_options="${extra_options} rs6000/sysv4.opt"
2337 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2338 ;;
2339 powerpc*-*-linux*)
2340 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2341 extra_options="${extra_options} rs6000/sysv4.opt"
2342 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2343 extra_objs="$extra_objs rs6000-linux.o"
2344 case ${target} in
2345 powerpc*le-*-*)
2346 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2347 esac
2348 case ${target}:${with_cpu} in
2349 powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2350 esac
2351 maybe_biarch=${cpu_is_64bit}
2352 case ${enable_targets} in
2353 *powerpc64*) maybe_biarch=yes ;;
2354 all) maybe_biarch=yes ;;
2355 esac
2356 case ${target} in
2357 powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
2358 echo "*** Configuration ${target} not supported" 1>&2
2359 exit 1
2360 ;;
2361 powerpc*-*-linux*spe* | powerpc*-*-linux*paired*)
2362 maybe_biarch=
2363 ;;
2364 esac
2365 case ${target}:${enable_targets}:${maybe_biarch} in
2366 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2367 | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2368 | powerpcle-*:*powerpc64le*:yes)
2369 if test x$cpu_is_64bit = xyes; then
2370 tm_file="${tm_file} rs6000/default64.h"
2371 fi
2372 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2373 tmake_file="$tmake_file rs6000/t-linux64"
2374 case ${target} in
2375 powerpc*le-*-*)
2376 tmake_file="$tmake_file rs6000/t-linux64le"
2377 case ${enable_targets} in
2378 all | *powerpc64-* | *powerpc-*)
2379 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2380 esac ;;
2381 *)
2382 case ${enable_targets} in
2383 all | *powerpc64le-* | *powerpcle-*)
2384 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2385 esac ;;
2386 esac
2387 extra_options="${extra_options} rs6000/linux64.opt"
2388 ;;
2389 powerpc64*)
2390 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2391 extra_options="${extra_options} rs6000/linux64.opt"
2392 tmake_file="${tmake_file} rs6000/t-linux"
2393 ;;
2394 *)
2395 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2396 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2397 ;;
2398 esac
2399 case ${target} in
2400 powerpc*-*-linux*ppc476*)
2401 tm_file="${tm_file} rs6000/476.h"
2402 extra_options="${extra_options} rs6000/476.opt" ;;
2403 powerpc*-*-linux*altivec*)
2404 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2405 powerpc*-*-linux*spe*)
2406 tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;;
2407 powerpc*-*-linux*paired*)
2408 tm_file="${tm_file} rs6000/750cl.h" ;;
2409 esac
2410 case ${target} in
2411 *-linux*-musl*)
2412 enable_secureplt=yes ;;
2413 esac
2414 if test x${enable_secureplt} = xyes; then
2415 tm_file="rs6000/secureplt.h ${tm_file}"
2416 fi
2417 ;;
2418 powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
2419 tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
2420 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2421 extra_options="${extra_options} rs6000/sysv4.opt"
2422 extra_headers=ppc-asm.h
2423 case ${target} in
2424 *-vxworksmils*)
2425 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
2426 tmake_file="${tmake_file} rs6000/t-vxworksmils"
2427 ;;
2428 *-vxworksae*)
2429 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
2430 tmake_file="${tmake_file} rs6000/t-vxworksae"
2431 ;;
2432 *-vxworks*)
2433 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
2434 ;;
2435 esac
2436 ;;
2437 powerpc-*-lynxos*)
2438 xm_defines=POSIX
2439 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2440 tmake_file="t-lynx rs6000/t-lynx"
2441 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2442 thread_file=lynx
2443 gnu_ld=yes
2444 gas=yes
2445 ;;
2446 powerpcle-*-elf*)
2447 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2448 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2449 extra_options="${extra_options} rs6000/sysv4.opt"
2450 ;;
2451 powerpcle-*-eabisim*)
2452 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"
2453 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2454 extra_options="${extra_options} rs6000/sysv4.opt"
2455 use_gcc_stdint=wrap
2456 ;;
2457 powerpcle-*-eabi*)
2458 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"
2459 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2460 extra_options="${extra_options} rs6000/sysv4.opt"
2461 use_gcc_stdint=wrap
2462 ;;
2463 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2464 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
2465 tmake_file="rs6000/t-aix43 t-slibgcc"
2466 extra_options="${extra_options} rs6000/aix64.opt"
2467 use_collect2=yes
2468 thread_file='aix'
2469 use_gcc_stdint=provide
2470 extra_headers=
2471 ;;
2472 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
2473 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
2474 extra_options="${extra_options} rs6000/aix64.opt"
2475 tmake_file="rs6000/t-aix43 t-slibgcc"
2476 use_collect2=yes
2477 thread_file='aix'
2478 use_gcc_stdint=wrap
2479 extra_headers=
2480 ;;
2481 rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
2482 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
2483 tmake_file="rs6000/t-aix52 t-slibgcc"
2484 extra_options="${extra_options} rs6000/aix64.opt"
2485 use_collect2=yes
2486 thread_file='aix'
2487 use_gcc_stdint=wrap
2488 extra_headers=
2489 ;;
2490 rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
2491 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
2492 tmake_file="rs6000/t-aix52 t-slibgcc"
2493 extra_options="${extra_options} rs6000/aix64.opt"
2494 use_collect2=yes
2495 thread_file='aix'
2496 use_gcc_stdint=wrap
2497 extra_headers=altivec.h
2498 ;;
2499 rs6000-ibm-aix6.* | powerpc-ibm-aix6.*)
2500 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2501 tmake_file="rs6000/t-aix52 t-slibgcc"
2502 extra_options="${extra_options} rs6000/aix64.opt"
2503 use_collect2=yes
2504 thread_file='aix'
2505 use_gcc_stdint=wrap
2506 extra_headers=altivec.h
2507 default_use_cxa_atexit=yes
2508 ;;
2509 rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*)
2510 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h"
2511 tmake_file="rs6000/t-aix52 t-slibgcc"
2512 extra_options="${extra_options} rs6000/aix64.opt"
2513 use_collect2=yes
2514 thread_file='aix'
2515 use_gcc_stdint=wrap
2516 extra_headers=altivec.h
2517 default_use_cxa_atexit=yes
2518 ;;
2519 rl78-*-elf*)
2520 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2521 target_has_targetm_common=no
2522 c_target_objs="rl78-c.o"
2523 cxx_target_objs="rl78-c.o"
2524 tmake_file="${tmake_file} rl78/t-rl78"
2525 ;;
2526 rx-*-elf*)
2527 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2528 tmake_file="${tmake_file} rx/t-rx"
2529 ;;
2530 s390-*-linux*)
2531 default_gnu_indirect_function=yes
2532 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2533 c_target_objs="${c_target_objs} s390-c.o"
2534 cxx_target_objs="${cxx_target_objs} s390-c.o"
2535 if test x$enable_targets = xall; then
2536 tmake_file="${tmake_file} s390/t-linux64"
2537 fi
2538 tmake_file="${tmake_file} s390/t-s390"
2539 ;;
2540 s390x-*-linux*)
2541 default_gnu_indirect_function=yes
2542 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2543 tm_p_file="linux-protos.h s390/s390-protos.h"
2544 c_target_objs="${c_target_objs} s390-c.o"
2545 cxx_target_objs="${cxx_target_objs} s390-c.o"
2546 md_file=s390/s390.md
2547 extra_modes=s390/s390-modes.def
2548 out_file=s390/s390.c
2549 tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
2550 ;;
2551 s390x-ibm-tpf*)
2552 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2553 tm_p_file=s390/s390-protos.h
2554 c_target_objs="${c_target_objs} s390-c.o"
2555 cxx_target_objs="${cxx_target_objs} s390-c.o"
2556 md_file=s390/s390.md
2557 extra_modes=s390/s390-modes.def
2558 out_file=s390/s390.c
2559 thread_file='tpf'
2560 extra_options="${extra_options} s390/tpf.opt"
2561 tmake_file="${tmake_file} s390/t-s390"
2562 ;;
2563 sh-*-elf* | sh[12346l]*-*-elf* | \
2564 sh-*-linux* | sh[2346lbe]*-*-linux* | \
2565 sh-*-netbsdelf* | shl*-*-netbsdelf*)
2566 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2567 if test x${with_endian} = x; then
2568 case ${target} in
2569 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2570 shbe-*-* | sheb-*-*) with_endian=big,little ;;
2571 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
2572 shl* | sh*-*-linux* | \
2573 sh-superh-elf) with_endian=little,big ;;
2574 sh[1234]*-*-*) with_endian=big ;;
2575 *) with_endian=big,little ;;
2576 esac
2577 fi
2578 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2579 # First word : the default endian.
2580 # Second word: the secondary endian (optional).
2581 case ${with_endian} in
2582 big) TM_ENDIAN_CONFIG=mb ;;
2583 little) TM_ENDIAN_CONFIG=ml ;;
2584 big,little) TM_ENDIAN_CONFIG="mb ml" ;;
2585 little,big) TM_ENDIAN_CONFIG="ml mb" ;;
2586 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
2587 esac
2588 case ${with_endian} in
2589 little*) tm_file="sh/little.h ${tm_file}" ;;
2590 esac
2591 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2592 case ${target} in
2593 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
2594 if test x$enable_fdpic = xyes; then
2595 tm_defines="$tm_defines FDPIC_DEFAULT=1"
2596 fi
2597 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2598 sh*-*-netbsd*)
2599 tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h"
2600 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2601
2602 ;;
2603 sh*-superh-elf) if test x$with_libgloss != xno; then
2604 with_libgloss=yes
2605 tm_file="${tm_file} sh/newlib.h"
2606 fi
2607 tm_file="${tm_file} sh/embed-elf.h"
2608 tm_file="${tm_file} sh/superh.h"
2609 extra_options="${extra_options} sh/superh.opt" ;;
2610 *) if test x$with_newlib = xyes \
2611 && test x$with_libgloss = xyes; then
2612 tm_file="${tm_file} sh/newlib.h"
2613 fi
2614 tm_file="${tm_file} sh/embed-elf.h" ;;
2615 esac
2616 case ${target} in
2617 *-*-netbsd)
2618 ;;
2619 *-*-elf*)
2620 tm_file="${tm_file} newlib-stdint.h"
2621 ;;
2622 esac
2623 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2624 case `echo ${target} | sed 's/e[lb]-/-/'` in
2625 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2626 sh4a_single*) sh_cpu_target=sh4a-single ;;
2627 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2628 sh4al) sh_cpu_target=sh4al ;;
2629 sh4a*) sh_cpu_target=sh4a ;;
2630 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2631 sh4_single*) sh_cpu_target=sh4-single ;;
2632 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2633 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2634 sh3e*) sh_cpu_target=sh3e ;;
2635 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
2636 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2637 sh2a_single*) sh_cpu_target=sh2a-single ;;
2638 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2639 sh2a*) sh_cpu_target=sh2a ;;
2640 sh2e*) sh_cpu_target=sh2e ;;
2641 sh2*) sh_cpu_target=sh2 ;;
2642 *) sh_cpu_target=sh1 ;;
2643 esac
2644 # did the user say --without-fp ?
2645 if test x$with_fp = xno; then
2646 case ${sh_cpu_target} in
2647 sh4al | sh1) ;;
2648 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
2649 sh4*) sh_cpu_target=sh4-nofpu ;;
2650 sh3*) sh_cpu_target=sh3 ;;
2651 sh2a*) sh_cpu_target=sh2a-nofpu ;;
2652 sh2*) sh_cpu_target=sh2 ;;
2653 *) echo --without-fp not available for $target: ignored
2654 esac
2655 tm_defines="$tm_defines STRICT_NOFPU=1"
2656 fi
2657 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2658 case $sh_cpu_default in
2659 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
2660 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
2661 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
2662 sh3e | sh3 | sh2e | sh2 | sh1) ;;
2663 "") sh_cpu_default=${sh_cpu_target} ;;
2664 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
2665 esac
2666 sh_multilibs=${with_multilib_list}
2667 if test "$sh_multilibs" = "default" ; then
2668 case ${target} in
2669 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
2670 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2671 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
2672 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
2673 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
2674 esac
2675 if test x$with_fp = xno; then
2676 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`"
2677 fi
2678 fi
2679 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
2680 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
2681 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2682 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
2683 for sh_multilib in ${sh_multilibs}; do
2684 case ${sh_multilib} in
2685 m1 | m2 | m2e | m3 | m3e | \
2686 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2687 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2688 m2a | m2a-single | m2a-single-only | m2a-nofpu)
2689 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2690 # It is passed to MULTIILIB_OPTIONS verbatim.
2691 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2692 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2693 ;;
2694 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2695 # It is passed the MULTILIB_EXCEPTIONS verbatim.
2696 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
2697 *)
2698 echo "with_multilib_list=${sh_multilib} not supported."
2699 exit 1
2700 ;;
2701 esac
2702 done
2703 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
2704 if test x${enable_incomplete_targets} = xyes ; then
2705 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1"
2706 fi
2707 tm_file="$tm_file ./sysroot-suffix.h"
2708 tmake_file="$tmake_file t-sysroot-suffix"
2709 ;;
2710 sh-*-rtems*)
2711 tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
2712 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
2713 ;;
2714 sh-wrs-vxworks)
2715 tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
2716 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
2717 ;;
2718 sparc-*-elf*)
2719 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
2720 case ${target} in
2721 *-leon-*)
2722 tmake_file="sparc/t-sparc sparc/t-leon"
2723 ;;
2724 *-leon[3-9]*)
2725 tmake_file="sparc/t-sparc sparc/t-leon3"
2726 ;;
2727 *)
2728 tmake_file="sparc/t-sparc sparc/t-elf"
2729 ;;
2730 esac
2731 ;;
2732 sparc-*-rtems*)
2733 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
2734 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
2735 ;;
2736 sparc-*-linux*)
2737 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
2738 extra_options="${extra_options} sparc/long-double-switch.opt"
2739 case ${target} in
2740 *-leon-*)
2741 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
2742 ;;
2743 *-leon[3-9]*)
2744 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
2745 ;;
2746 *)
2747 tmake_file="${tmake_file} sparc/t-sparc"
2748 ;;
2749 esac
2750 if test x$enable_targets = xall; then
2751 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
2752 tmake_file="${tmake_file} sparc/t-linux64"
2753 else
2754 tm_file="${tm_file} sparc/linux.h"
2755 tmake_file="${tmake_file} sparc/t-linux"
2756 fi
2757 ;;
2758 sparc-*-netbsdelf*)
2759 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2760 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2761 extra_options="${extra_options} sparc/long-double-switch.opt"
2762 tmake_file="${tmake_file} sparc/t-sparc"
2763 ;;
2764 sparc*-*-solaris2*)
2765 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
2766 case ${target} in
2767 sparc64-*-* | sparcv9-*-*)
2768 tm_file="sparc/default-64.h ${tm_file}"
2769 ;;
2770 *)
2771 test x$with_cpu != x || with_cpu=v9
2772 ;;
2773 esac
2774 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
2775 ;;
2776 sparc-wrs-vxworks)
2777 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
2778 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
2779 ;;
2780 sparc64-*-elf*)
2781 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
2782 extra_options="${extra_options}"
2783 tmake_file="${tmake_file} sparc/t-sparc"
2784 ;;
2785 sparc64-*-rtems*)
2786 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
2787 extra_options="${extra_options}"
2788 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
2789 ;;
2790 sparc64-*-linux*)
2791 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"
2792 extra_options="${extra_options} sparc/long-double-switch.opt"
2793 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
2794 ;;
2795 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2796 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2797 extra_options="${extra_options} sparc/long-double-switch.opt"
2798 case "x$with_cpu" in
2799 xultrasparc) ;;
2800 x) with_cpu=ultrasparc ;;
2801 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2802 esac
2803 tmake_file="${tmake_file} sparc/t-sparc"
2804 ;;
2805 sparc64-*-netbsd*)
2806 tm_file="sparc/biarch64.h ${tm_file}"
2807 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2808 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2809 extra_options="${extra_options} sparc/long-double-switch.opt"
2810 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
2811 ;;
2812 sparc64-*-openbsd*)
2813 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
2814 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
2815 extra_options="${extra_options} openbsd.opt"
2816 extra_options="${extra_options}"
2817 gas=yes gnu_ld=yes
2818 with_cpu=ultrasparc
2819 tmake_file="${tmake_file} sparc/t-sparc"
2820 ;;
2821 spu-*-elf*)
2822 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
2823 tmake_file="spu/t-spu-elf"
2824 native_system_header_dir=/include
2825 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
2826 extra_modes=spu/spu-modes.def
2827 c_target_objs="${c_target_objs} spu-c.o"
2828 cxx_target_objs="${cxx_target_objs} spu-c.o"
2829 ;;
2830 tic6x-*-elf)
2831 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
2832 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
2833 tmake_file="c6x/t-c6x c6x/t-c6x-elf"
2834 use_collect2=no
2835 ;;
2836 tic6x-*-uclinux)
2837 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
2838 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
2839 tm_file="${tm_file} ./sysroot-suffix.h"
2840 tmake_file="t-sysroot-suffix t-slibgcc"
2841 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
2842 use_collect2=no
2843 ;;
2844 tilegx*-*-linux*)
2845 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
2846 tmake_file="${tmake_file} tilegx/t-tilegx"
2847 extra_objs="${extra_objs} mul-tables.o"
2848 c_target_objs="${c_target_objs} tilegx-c.o"
2849 cxx_target_objs="${cxx_target_objs} tilegx-c.o"
2850 extra_headers="feedback.h"
2851 case $target in
2852 tilegxbe-*)
2853 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2854 ;;
2855 esac
2856 ;;
2857 tilepro*-*-linux*)
2858 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
2859 tmake_file="${tmake_file} tilepro/t-tilepro"
2860 extra_objs="${extra_objs} mul-tables.o"
2861 c_target_objs="${c_target_objs} tilepro-c.o"
2862 cxx_target_objs="${cxx_target_objs} tilepro-c.o"
2863 extra_headers="feedback.h"
2864 ;;
2865 v850-*-rtems*)
2866 target_cpu_default="TARGET_CPU_generic"
2867 tm_file="dbxelf.h elfos.h v850/v850.h"
2868 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
2869 tmake_file="${tmake_file} v850/t-v850"
2870 tmake_file="${tmake_file} v850/t-rtems"
2871 use_collect2=no
2872 c_target_objs="v850-c.o"
2873 cxx_target_objs="v850-c.o"
2874 ;;
2875 v850*-*-*)
2876 case ${target} in
2877 v850e3v5-*-*)
2878 target_cpu_default="TARGET_CPU_v850e3v5"
2879 ;;
2880 v850e2v3-*-*)
2881 target_cpu_default="TARGET_CPU_v850e2v3"
2882 ;;
2883 v850e2-*-*)
2884 target_cpu_default="TARGET_CPU_v850e2"
2885 ;;
2886 v850e1-*-* | v850es-*-*)
2887 target_cpu_default="TARGET_CPU_v850e1"
2888 ;;
2889 v850e-*-*)
2890 target_cpu_default="TARGET_CPU_v850e"
2891 ;;
2892 v850-*-*)
2893 target_cpu_default="TARGET_CPU_generic"
2894 ;;
2895 esac
2896 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
2897 if test x$stabs = xyes
2898 then
2899 tm_file="${tm_file} dbx.h"
2900 fi
2901 use_collect2=no
2902 c_target_objs="v850-c.o"
2903 cxx_target_objs="v850-c.o"
2904 use_gcc_stdint=wrap
2905 ;;
2906 vax-*-linux*)
2907 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
2908 extra_options="${extra_options} vax/elf.opt"
2909 ;;
2910 vax-*-netbsdelf*)
2911 tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
2912 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
2913 ;;
2914 vax-*-openbsd*)
2915 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
2916 extra_options="${extra_options} openbsd.opt"
2917 use_collect2=yes
2918 ;;
2919 visium-*-elf*)
2920 tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
2921 tmake_file="visium/t-visium visium/t-crtstuff"
2922 ;;
2923 xstormy16-*-elf)
2924 # For historical reasons, the target files omit the 'x'.
2925 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
2926 tm_p_file=stormy16/stormy16-protos.h
2927 md_file=stormy16/stormy16.md
2928 out_file=stormy16/stormy16.c
2929 extra_options=stormy16/stormy16.opt
2930 tmake_file="stormy16/t-stormy16"
2931 ;;
2932 xtensa*-*-elf*)
2933 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
2934 extra_options="${extra_options} xtensa/elf.opt"
2935 ;;
2936 xtensa*-*-linux*)
2937 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
2938 tmake_file="${tmake_file} xtensa/t-xtensa"
2939 ;;
2940 xtensa*-*-uclinux*)
2941 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h"
2942 tmake_file="${tmake_file} xtensa/t-xtensa"
2943 extra_options="${extra_options} xtensa/uclinux.opt"
2944 ;;
2945 am33_2.0-*-linux*)
2946 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
2947 gas=yes gnu_ld=yes
2948 use_collect2=no
2949 ;;
2950 m32c-*-rtems*)
2951 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
2952 c_target_objs="m32c-pragma.o"
2953 cxx_target_objs="m32c-pragma.o"
2954 ;;
2955 m32c-*-elf*)
2956 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2957 c_target_objs="m32c-pragma.o"
2958 cxx_target_objs="m32c-pragma.o"
2959 ;;
2960 *)
2961 echo "*** Configuration ${target} not supported" 1>&2
2962 exit 1
2963 ;;
2964 esac
2965
2966 case ${target} in
2967 i[34567]86-*-linux* | x86_64-*-linux*)
2968 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
2969 ;;
2970 i[34567]86-*-* | x86_64-*-*)
2971 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
2972 ;;
2973 powerpc*-*-* | rs6000-*-*)
2974 tm_file="${tm_file} rs6000/option-defaults.h"
2975 esac
2976
2977 # Build mkoffload tool
2978 case ${target} in
2979 *-intelmic-* | *-intelmicemul-*)
2980 tmake_file="${tmake_file} i386/t-intelmic"
2981 tm_file="${tm_file} i386/intelmic-offload.h"
2982 ;;
2983 esac
2984
2985 if [ "$target_has_targetcm" = "no" ]; then
2986 c_target_objs="$c_target_objs default-c.o"
2987 cxx_target_objs="$cxx_target_objs default-c.o"
2988 fi
2989
2990 if [ "$common_out_file" = "" ]; then
2991 if [ "$target_has_targetm_common" = "yes" ]; then
2992 common_out_file="$cpu_type/$cpu_type-common.c"
2993 else
2994 common_out_file="default-common.c"
2995 fi
2996 fi
2997
2998 # Support for --with-cpu and related options (and a few unrelated options,
2999 # too).
3000 case ${with_cpu} in
3001 yes | no)
3002 echo "--with-cpu must be passed a value" 1>&2
3003 exit 1
3004 ;;
3005 esac
3006
3007 # Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
3008 # to generic if there is no processor scheduler model for the target.
3009 arch=
3010 cpu=
3011 arch_without_sse2=no
3012 arch_without_64bit=no
3013 case ${target} in
3014 i386-*-freebsd*)
3015 if test $fbsd_major -ge 6; then
3016 arch=i486
3017 else
3018 arch=i386
3019 fi
3020 cpu=generic
3021 arch_without_sse2=yes
3022 arch_without_64bit=yes
3023 ;;
3024 i386-*-*)
3025 arch=i386
3026 cpu=i386
3027 arch_without_sse2=yes
3028 arch_without_64bit=yes
3029 ;;
3030 i486-*-*)
3031 arch=i486
3032 cpu=i486
3033 arch_without_sse2=yes
3034 arch_without_64bit=yes
3035 ;;
3036 i586-*-*)
3037 arch_without_sse2=yes
3038 arch_without_64bit=yes
3039 case ${target_noncanonical} in
3040 k6_2-*)
3041 arch=k6-2
3042 cpu=k6-2
3043 ;;
3044 k6_3-*)
3045 arch=k6-3
3046 cpu=k6-3
3047 ;;
3048 k6-*)
3049 arch=k6
3050 cpu=k6
3051 ;;
3052 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3053 arch=pentium-mmx
3054 cpu=pentium-mmx
3055 ;;
3056 *)
3057 arch=pentium
3058 cpu=pentium
3059 ;;
3060 esac
3061 ;;
3062 i686-*-* | i786-*-*)
3063 case ${target_noncanonical} in
3064 znver1-*)
3065 arch=znver1
3066 cpu=znver1
3067 ;;
3068 bdver4-*)
3069 arch=bdver4
3070 cpu=bdver4
3071 ;;
3072 bdver3-*)
3073 arch=bdver3
3074 cpu=bdver3
3075 ;;
3076 bdver2-*)
3077 arch=bdver2
3078 cpu=bdver2
3079 ;;
3080 bdver1-*)
3081 arch=bdver1
3082 cpu=bdver1
3083 ;;
3084 btver1-*)
3085 arch=btver1
3086 cpu=btver1
3087 ;;
3088 btver2-*)
3089 arch=btver2
3090 cpu=btver2
3091 ;;
3092 amdfam10-*|barcelona-*)
3093 arch=amdfam10
3094 cpu=amdfam10
3095 ;;
3096 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3097 arch=k8-sse3
3098 cpu=k8-sse3
3099 ;;
3100 k8-*|opteron-*|athlon64-*|athlon_fx-*)
3101 arch=k8
3102 cpu=k8
3103 ;;
3104 athlon_xp-*|athlon_mp-*|athlon_4-*)
3105 arch=athlon-4
3106 cpu=athlon-4
3107 arch_without_sse2=yes
3108 arch_without_64bit=yes
3109 ;;
3110 athlon_tbird-*|athlon-*)
3111 arch=athlon
3112 cpu=athlon
3113 arch_without_sse2=yes
3114 ;;
3115 geode-*)
3116 arch=geode
3117 cpu=geode
3118 arch_without_sse2=yes
3119 ;;
3120 pentium2-*)
3121 arch=pentium2
3122 cpu=pentium2
3123 arch_without_sse2=yes
3124 ;;
3125 pentium3-*|pentium3m-*)
3126 arch=pentium3
3127 cpu=pentium3
3128 arch_without_sse2=yes
3129 ;;
3130 pentium4-*|pentium4m-*)
3131 arch=pentium4
3132 cpu=pentium4
3133 ;;
3134 prescott-*)
3135 arch=prescott
3136 cpu=prescott
3137 ;;
3138 nocona-*)
3139 arch=nocona
3140 cpu=nocona
3141 ;;
3142 atom-*)
3143 arch=atom
3144 cpu=atom
3145 ;;
3146 slm-*)
3147 arch=slm
3148 cpu=slm
3149 ;;
3150 core2-*)
3151 arch=core2
3152 cpu=core2
3153 ;;
3154 corei7-*)
3155 arch=corei7
3156 cpu=corei7
3157 ;;
3158 corei7_avx-*)
3159 arch=corei7-avx
3160 cpu=corei7-avx
3161 ;;
3162 pentium_m-*)
3163 arch=pentium-m
3164 cpu=pentium-m
3165 ;;
3166 pentiumpro-*)
3167 arch=pentiumpro
3168 cpu=pentiumpro
3169 arch_without_sse2=yes
3170 ;;
3171 *)
3172 arch=pentiumpro
3173 cpu=generic
3174 arch_without_sse2=yes
3175 arch_without_64bit=yes
3176 ;;
3177 esac
3178 ;;
3179 x86_64-*-*)
3180 case ${target_noncanonical} in
3181 znver1-*)
3182 arch=znver1
3183 cpu=znver1
3184 ;;
3185 bdver4-*)
3186 arch=bdver4
3187 cpu=bdver4
3188 ;;
3189 bdver3-*)
3190 arch=bdver3
3191 cpu=bdver3
3192 ;;
3193 bdver2-*)
3194 arch=bdver2
3195 cpu=bdver2
3196 ;;
3197 bdver1-*)
3198 arch=bdver1
3199 cpu=bdver1
3200 ;;
3201 btver1-*)
3202 arch=btver1
3203 cpu=btver1
3204 ;;
3205 btver2-*)
3206 arch=btver2
3207 cpu=btver2
3208 ;;
3209 amdfam10-*|barcelona-*)
3210 arch=amdfam10
3211 cpu=amdfam10
3212 ;;
3213 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3214 arch=k8-sse3
3215 cpu=k8-sse3
3216 ;;
3217 k8-*|opteron-*|athlon_64-*)
3218 arch=k8
3219 cpu=k8
3220 ;;
3221 nocona-*)
3222 arch=nocona
3223 cpu=nocona
3224 ;;
3225 atom-*)
3226 arch=atom
3227 cpu=atom
3228 ;;
3229 slm-*)
3230 arch=slm
3231 cpu=slm
3232 ;;
3233 core2-*)
3234 arch=core2
3235 cpu=core2
3236 ;;
3237 corei7-*)
3238 arch=corei7
3239 cpu=corei7
3240 ;;
3241 *)
3242 arch=x86-64
3243 cpu=generic
3244 ;;
3245 esac
3246 ;;
3247 esac
3248
3249 # If there is no $with_cpu option, try to infer one from ${target}.
3250 # This block sets nothing except for with_cpu.
3251 if test x$with_cpu = x ; then
3252 case ${target} in
3253 i[34567]86-*-elfiamcu)
3254 with_cpu=lakemont
3255 ;;
3256 i[34567]86-*-*|x86_64-*-*)
3257 with_cpu=$cpu
3258 ;;
3259 alphaev6[78]*-*-*)
3260 with_cpu=ev67
3261 ;;
3262 alphaev6*-*-*)
3263 with_cpu=ev6
3264 ;;
3265 alphapca56*-*-*)
3266 with_cpu=pca56
3267 ;;
3268 alphaev56*-*-*)
3269 with_cpu=ev56
3270 ;;
3271 alphaev5*-*-*)
3272 with_cpu=ev5
3273 ;;
3274 frv-*-*linux* | frv400-*-*linux*)
3275 with_cpu=fr400
3276 ;;
3277 frv550-*-*linux*)
3278 with_cpu=fr550
3279 ;;
3280 m68k*-*-*)
3281 case "$with_arch" in
3282 "cf")
3283 with_cpu=${default_cf_cpu}
3284 ;;
3285 "" | "m68k")
3286 with_cpu=m${default_m68k_cpu}
3287 ;;
3288 esac
3289 ;;
3290 powerpc*-*-*spe*)
3291 if test x$enable_e500_double = xyes; then
3292 with_cpu=8548
3293 else
3294 with_cpu=8540
3295 fi
3296 ;;
3297 sparc*-*-*)
3298 case ${target} in
3299 *-leon-*)
3300 with_cpu=leon
3301 ;;
3302 *-leon[3-9]*)
3303 with_cpu=leon3
3304 ;;
3305 *-leon[3-9]v7*)
3306 with_cpu=leon3v7
3307 ;;
3308 *)
3309 with_cpu="`echo ${target} | sed 's/-.*$//'`"
3310 ;;
3311 esac
3312 ;;
3313 visium-*-*)
3314 with_cpu=gr5
3315 ;;
3316 esac
3317
3318 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3319 case ${target} in
3320 i[34567]86-*-*|x86_64-*-*)
3321 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3322 if test x$with_cpu_32 = x; then
3323 with_cpu_32=$with_cpu
3324 fi
3325 if test x$with_cpu_64 = x; then
3326 with_cpu_64=$with_cpu
3327 fi
3328 with_cpu=
3329 fi
3330 ;;
3331 esac
3332 fi
3333
3334 # Support for --with-arch and related options (and a few unrelated options,
3335 # too).
3336 case ${with_arch} in
3337 yes | no)
3338 echo "--with-arch must be passed a value" 1>&2
3339 exit 1
3340 ;;
3341 esac
3342
3343 # If there is no $with_arch option, try to infer one from ${target}.
3344 # This block sets nothing except for with_arch.
3345 if test x$with_arch = x ; then
3346 case ${target} in
3347 i[34567]86-*-darwin*|x86_64-*-darwin*)
3348 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3349 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3350 ;;
3351 i[34567]86-*-elfiamcu)
3352 with_arch=lakemont
3353 ;;
3354 i[34567]86-*-*)
3355 # --with-fpmath sets the default ISA to SSE2, which is the same
3356 # ISA supported by Pentium 4.
3357 if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3358 with_arch=$arch
3359 else
3360 with_arch=pentium4
3361 fi
3362 ;;
3363 x86_64-*-*)
3364 with_arch=$arch
3365 ;;
3366 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3367 with_arch=r5900
3368 ;;
3369 mips*-*-vxworks)
3370 with_arch=mips2
3371 ;;
3372 esac
3373
3374 # Avoid overriding --with-arch-32 and --with-arch-64 values.
3375 case ${target} in
3376 i[34567]86-*-darwin*|x86_64-*-darwin*)
3377 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3378 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3379 ;;
3380 i[34567]86-*-*|x86_64-*-*)
3381 if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3382 if test x$with_arch_32 = x; then
3383 with_arch_32=$with_arch
3384 fi
3385 if test x$with_arch_64 = x; then
3386 if test $arch_without_64bit = yes; then
3387 # Set the default 64bit arch to x86-64 if the default arch
3388 # doesn't support 64bit.
3389 with_arch_64=x86-64
3390 else
3391 with_arch_64=$with_arch
3392 fi
3393 fi
3394 with_arch=
3395 elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3396 # Set the default 64bit arch to x86-64 if the default arch
3397 # doesn't support 64bit and we need 64bit ISA.
3398 with_arch_32=$with_arch
3399 with_arch_64=x86-64
3400 with_arch=
3401 fi
3402 ;;
3403 esac
3404 fi
3405
3406 # Infer a default setting for --with-float.
3407 if test x$with_float = x; then
3408 case ${target} in
3409 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3410 # The R5900 doesn't support 64-bit float. 32-bit float doesn't
3411 # comply with IEEE 754.
3412 with_float=soft
3413 ;;
3414 esac
3415 fi
3416
3417 # Infer a default setting for --with-fpu.
3418 if test x$with_fpu = x; then
3419 case ${target} in
3420 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3421 # The R5900 FPU only supports single precision.
3422 with_fpu=single
3423 ;;
3424 esac
3425 fi
3426
3427 # Support --with-fpmath.
3428 if test x$with_fpmath != x; then
3429 case ${target} in
3430 i[34567]86-*-* | x86_64-*-*)
3431 case ${with_fpmath} in
3432 avx)
3433 tm_file="${tm_file} i386/avxmath.h"
3434 ;;
3435 sse)
3436 tm_file="${tm_file} i386/ssemath.h"
3437 ;;
3438 *)
3439 echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3440 exit 1
3441 ;;
3442 esac
3443 ;;
3444 *)
3445 echo "--with-fpmath isn't supported for $target." 1>&2
3446 exit 1
3447 ;;
3448 esac
3449 fi
3450
3451 # Similarly for --with-schedule.
3452 if test x$with_schedule = x; then
3453 case ${target} in
3454 hppa1*)
3455 # Override default PA8000 scheduling model.
3456 with_schedule=7100LC
3457 ;;
3458 esac
3459 fi
3460
3461 # Infer a default setting for --with-llsc.
3462 if test x$with_llsc = x; then
3463 case ${target} in
3464 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3465 # The R5900 doesn't support LL(D) and SC(D).
3466 with_llsc=no
3467 ;;
3468 mips*-*-linux*)
3469 # The kernel emulates LL and SC where necessary.
3470 with_llsc=yes
3471 ;;
3472 esac
3473 fi
3474
3475 # Validate and mark as valid any --with options supported
3476 # by this target. In order to use a particular --with option
3477 # you must list it in supported_defaults; validating the value
3478 # is optional. This case statement should set nothing besides
3479 # supported_defaults.
3480
3481 supported_defaults=
3482 case "${target}" in
3483 aarch64*-*-*)
3484 supported_defaults="abi cpu arch"
3485 for which in cpu arch; do
3486
3487 eval "val=\$with_$which"
3488 base_val=`echo $val | sed -e 's/\+.*//'`
3489 ext_val=`echo $val | sed -e 's/[a-z0-9.-]\+//'`
3490
3491 if [ $which = arch ]; then
3492 def=aarch64-arches.def
3493 pattern=AARCH64_ARCH
3494 else
3495 def=aarch64-cores.def
3496 pattern=AARCH64_CORE
3497 fi
3498
3499 ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3500
3501 # Find the base CPU or ARCH id in aarch64-cores.def or
3502 # aarch64-arches.def
3503 if [ x"$base_val" = x ] \
3504 || grep "^$pattern(\"$base_val\"," \
3505 ${srcdir}/config/aarch64/$def \
3506 > /dev/null; then
3507
3508 if [ $which = arch ]; then
3509 base_id=`grep "^$pattern(\"$base_val\"," \
3510 ${srcdir}/config/aarch64/$def | \
3511 sed -e 's/^[^,]*,[ ]*//' | \
3512 sed -e 's/,.*$//'`
3513 # Extract the architecture flags from aarch64-arches.def
3514 ext_mask=`grep "^$pattern(\"$base_val\"," \
3515 ${srcdir}/config/aarch64/$def | \
3516 sed -e 's/)$//' | \
3517 sed -e 's/^.*,//'`
3518 else
3519 base_id=`grep "^$pattern(\"$base_val\"," \
3520 ${srcdir}/config/aarch64/$def | \
3521 sed -e 's/^[^,]*,[ ]*//' | \
3522 sed -e 's/,.*$//'`
3523 fi
3524
3525 while [ x"$ext_val" != x ]
3526 do
3527 ext_val=`echo $ext_val | sed -e 's/\+//'`
3528 ext=`echo $ext_val | sed -e 's/\+.*//'`
3529 base_ext=`echo $ext | sed -e 's/^no//'`
3530
3531 if [ x"$base_ext" = x ] \
3532 || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3533 ${srcdir}/config/aarch64/aarch64-option-extensions.def \
3534 > /dev/null; then
3535
3536 ext_canon=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3537 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3538 sed -e 's/^[^,]*,[ ]*//' | \
3539 sed -e 's/,.*$//'`
3540 ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3541 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3542 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \
3543 sed -e 's/,.*$//' | \
3544 sed -e 's/).*$//'`
3545 ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3546 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3547 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*[^,]*,[ ]*//' | \
3548 sed -e 's/,.*$//' | \
3549 sed -e 's/).*$//'`
3550
3551
3552 if [ $ext = $base_ext ]; then
3553 # Adding extension
3554 ext_mask="("$ext_mask") | ("$ext_on" | "$ext_canon")"
3555 else
3556 # Removing extension
3557 ext_mask="("$ext_mask") & ~("$ext_off" | "$ext_canon")"
3558 fi
3559
3560 true
3561 else
3562 echo "Unknown extension used in --with-$which=$val" 1>&2
3563 exit 1
3564 fi
3565 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3566 done
3567
3568 ext_mask="(("$ext_mask") << 6)"
3569 if [ x"$base_id" != x ]; then
3570 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3571 fi
3572 true
3573 else
3574 echo "Unknown $which used in --with-$which=$val" 1>&2
3575 exit 1
3576 fi
3577 done
3578 ;;
3579
3580 alpha*-*-*)
3581 supported_defaults="cpu tune"
3582 for which in cpu tune; do
3583 eval "val=\$with_$which"
3584 case "$val" in
3585 "" \
3586 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3587 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3588 | 21264a)
3589 ;;
3590 *)
3591 echo "Unknown CPU used in --with-$which=$val" 1>&2
3592 exit 1
3593 ;;
3594 esac
3595 done
3596 ;;
3597
3598 arc*-*-*) # was: arc*-*-linux-uclibc)
3599 supported_defaults="cpu"
3600 case $with_cpu in
3601 arc600|arc601|arc700)
3602 ;;
3603 *) echo "Unknown cpu type"
3604 exit 1
3605 ;;
3606 esac
3607 ;;
3608
3609 arm*-*-*)
3610 supported_defaults="arch cpu float tune fpu abi mode tls"
3611 for which in cpu tune; do
3612 # See if it matches any of the entries in arm-cores.def
3613 eval "val=\$with_$which"
3614 if [ x"$val" = x ] \
3615 || grep "^ARM_CORE(\"$val\"," \
3616 ${srcdir}/config/arm/arm-cores.def \
3617 > /dev/null; then
3618 # Ok
3619 new_val=`grep "^ARM_CORE(\"$val\"," \
3620 ${srcdir}/config/arm/arm-cores.def | \
3621 sed -e 's/^[^,]*,[ ]*//' | \
3622 sed -e 's/,.*$//'`
3623 eval "target_${which}_cname=$new_val"
3624 echo "For $val real value is $new_val"
3625 true
3626 else
3627 echo "Unknown CPU used in --with-$which=$val" 1>&2
3628 exit 1
3629 fi
3630 done
3631
3632 # See if it matches any of the entries in arm-arches.def
3633 if [ x"$with_arch" = x ] \
3634 || grep "^ARM_ARCH(\"$with_arch\"," \
3635 ${srcdir}/config/arm/arm-arches.def \
3636 > /dev/null; then
3637 # OK
3638 true
3639 else
3640 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
3641 exit 1
3642 fi
3643
3644 case "$with_float" in
3645 "" \
3646 | soft | hard | softfp)
3647 # OK
3648 ;;
3649 *)
3650 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3651 exit 1
3652 ;;
3653 esac
3654
3655 # see if it matches any of the entries in arm-fpus.def
3656 if [ x"$with_fpu" = x ] \
3657 || grep "^ARM_FPU(\"$with_fpu\"," \
3658 ${srcdir}/config/arm/arm-fpus.def \
3659 > /dev/null; then
3660 # OK
3661 true
3662 else
3663 echo "Unknown fpu used in --with-fpu=$with_fpu" 1>&2
3664 exit 1
3665 fi
3666
3667 case "$with_abi" in
3668 "" \
3669 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
3670 #OK
3671 ;;
3672 *)
3673 echo "Unknown ABI used in --with-abi=$with_abi"
3674 exit 1
3675 ;;
3676 esac
3677
3678 case "$with_mode" in
3679 "" \
3680 | arm | thumb )
3681 #OK
3682 ;;
3683 *)
3684 echo "Unknown mode used in --with-mode=$with_mode"
3685 exit 1
3686 ;;
3687 esac
3688
3689 case "$with_tls" in
3690 "" \
3691 | gnu | gnu2)
3692 # OK
3693 ;;
3694 *)
3695 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3696 exit 1
3697 ;;
3698 esac
3699
3700 if test "x$with_arch" != x && test "x$with_cpu" != x; then
3701 echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2
3702 exit 1
3703 fi
3704
3705 if test "x$with_cpu" != x && test "x$with_tune" != x; then
3706 echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2
3707 exit 1
3708 fi
3709
3710 # Add extra multilibs
3711 if test "x$with_multilib_list" != x; then
3712 arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
3713 case ${arm_multilibs} in
3714 aprofile)
3715 # Note that arm/t-aprofile is a
3716 # stand-alone make file fragment to be
3717 # used only with itself. We do not
3718 # specifically use the
3719 # TM_MULTILIB_OPTION framework because
3720 # this shorthand is more
3721 # pragmatic.
3722 tmake_profile_file="arm/t-aprofile"
3723 ;;
3724 default)
3725 ;;
3726 *)
3727 echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
3728 exit 1
3729 ;;
3730 esac
3731
3732 if test "x${tmake_profile_file}" != x ; then
3733 # arm/t-aprofile is only designed to work
3734 # without any with-cpu, with-arch, with-mode,
3735 # with-fpu or with-float options.
3736 if test "x$with_arch" != x \
3737 || test "x$with_cpu" != x \
3738 || test "x$with_float" != x \
3739 || test "x$with_fpu" != x \
3740 || test "x$with_mode" != x ; then
3741 echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2
3742 exit 1
3743 fi
3744
3745 tmake_file="${tmake_file} ${tmake_profile_file}"
3746 fi
3747 fi
3748 ;;
3749
3750 fr*-*-*linux*)
3751 supported_defaults=cpu
3752 case "$with_cpu" in
3753 fr400) ;;
3754 fr550) ;;
3755 *)
3756 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3757 exit 1
3758 ;;
3759 esac
3760 ;;
3761
3762 fido-*-* | m68k*-*-*)
3763 supported_defaults="arch cpu"
3764 case "$with_arch" in
3765 "" | "m68k"| "cf")
3766 m68k_arch_family="$with_arch"
3767 ;;
3768 *)
3769 echo "Invalid --with-arch=$with_arch" 1>&2
3770 exit 1
3771 ;;
3772 esac
3773
3774 # We always have a $with_cpu setting here.
3775 case "$with_cpu" in
3776 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
3777 m68k_cpu_ident=$with_cpu
3778 ;;
3779 "m68020-40")
3780 m68k_cpu_ident=m68020
3781 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
3782 ;;
3783 "m68020-60")
3784 m68k_cpu_ident=m68020
3785 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
3786 ;;
3787 *)
3788 # We need the C identifier rather than the string.
3789 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
3790 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
3791 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
3792 ${srcdir}/config/m68k/m68k-devices.def`
3793 if [ x"$m68k_cpu_ident" = x ] ; then
3794 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
3795 exit 1
3796 fi
3797 with_cpu="mcpu=$with_cpu"
3798 ;;
3799 esac
3800 ;;
3801
3802 hppa*-*-*)
3803 supported_defaults="arch schedule"
3804
3805 case "$with_arch" in
3806 "" | 1.0 | 1.1 | 2.0)
3807 # OK
3808 ;;
3809 *)
3810 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
3811 exit 1
3812 ;;
3813 esac
3814
3815 case "$with_schedule" in
3816 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
3817 # OK
3818 ;;
3819 *)
3820 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
3821 exit 1
3822 ;;
3823 esac
3824 ;;
3825
3826 i[34567]86-*-* | x86_64-*-*)
3827 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
3828 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
3829 eval "val=\$with_$which"
3830 case " $x86_archs " in
3831 *" ${val} "*)
3832 case "${target}" in
3833 x86_64-*-*)
3834 case "x$which" in
3835 *_32)
3836 ;;
3837 *)
3838 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
3839 exit 1
3840 ;;
3841 esac
3842 ;;
3843 esac
3844 # OK
3845 ;;
3846 *)
3847 if test x${val} != x; then
3848 case " $x86_64_archs " in
3849 *" ${val} "*)
3850 # OK
3851 ;;
3852 *)
3853 # Allow $x86_cpus --with-cpu=/--with-tune=
3854 case "x$which" in
3855 xcpu*|xtune*)
3856 case " $x86_cpus " in
3857 *" ${val} "*)
3858 # OK
3859 ;;
3860 *)
3861 echo "Unknown CPU given in --with-$which=$val." 1>&2
3862 exit 1
3863 ;;
3864 esac
3865 ;;
3866 *)
3867 echo "Unknown CPU given in --with-$which=$val." 1>&2
3868 exit 1
3869 ;;
3870 esac
3871 ;;
3872 esac
3873 fi
3874 ;;
3875 esac
3876 done
3877 ;;
3878
3879 mips*-*-*)
3880 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"
3881
3882 case ${with_float} in
3883 "" | soft | hard)
3884 # OK
3885 ;;
3886 *)
3887 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3888 exit 1
3889 ;;
3890 esac
3891
3892 case ${with_fpu} in
3893 "" | single | double)
3894 # OK
3895 ;;
3896 *)
3897 echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
3898 exit 1
3899 ;;
3900 esac
3901
3902 case ${with_nan} in
3903 "" | 2008 | legacy)
3904 # OK
3905 ;;
3906 *)
3907 echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
3908 exit 1
3909 ;;
3910 esac
3911
3912 case ${with_fp_32} in
3913 "" | 32 | xx | 64)
3914 # OK
3915 ;;
3916 *)
3917 echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
3918 exit 1
3919 ;;
3920 esac
3921
3922 case ${with_odd_spreg_32} in
3923 yes)
3924 with_odd_spreg_32="odd-spreg"
3925 ;;
3926 no)
3927 with_odd_spreg_32="no-odd-spreg"
3928 ;;
3929 "")
3930 # OK
3931 ;;
3932 *)
3933 echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
3934 exit 1
3935 ;;
3936 esac
3937
3938 case ${with_abi} in
3939 "" | 32 | o64 | n32 | 64 | eabi)
3940 # OK
3941 ;;
3942 *)
3943 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
3944 exit 1
3945 ;;
3946 esac
3947
3948 case ${with_divide} in
3949 "" | breaks | traps)
3950 # OK
3951 ;;
3952 *)
3953 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
3954 exit 1
3955 ;;
3956 esac
3957
3958 case ${with_llsc} in
3959 yes)
3960 with_llsc=llsc
3961 ;;
3962 no)
3963 with_llsc="no-llsc"
3964 ;;
3965 "")
3966 # OK
3967 ;;
3968 *)
3969 echo "Unknown llsc type used in --with-llsc" 1>&2
3970 exit 1
3971 ;;
3972 esac
3973
3974 case ${with_mips_plt} in
3975 yes)
3976 with_mips_plt=plt
3977 ;;
3978 no)
3979 with_mips_plt=no-plt
3980 ;;
3981 "")
3982 ;;
3983 *)
3984 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
3985 exit 1
3986 ;;
3987 esac
3988
3989 case ${with_synci} in
3990 yes)
3991 with_synci=synci
3992 ;;
3993 no)
3994 with_synci=no-synci
3995 ;;
3996 "")
3997 ;;
3998 *)
3999 echo "Unknown synci type used in --with-synci" 1>&2
4000 exit 1
4001 ;;
4002 esac
4003 ;;
4004
4005 nds32*-*-*)
4006 supported_defaults="arch nds32_lib"
4007
4008 # process --with-arch
4009 case "${with_arch}" in
4010 "" | v2 | v3 | v3m)
4011 # OK
4012 ;;
4013 *)
4014 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2
4015 exit 1
4016 ;;
4017 esac
4018
4019 # process --with-nds32-lib
4020 case "${with_nds32_lib}" in
4021 "")
4022 # the default library is newlib
4023 with_nds32_lib=newlib
4024 ;;
4025 newlib)
4026 # OK
4027 ;;
4028 mculib)
4029 # OK
4030 ;;
4031 *)
4032 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
4033 exit 1
4034 ;;
4035 esac
4036 ;;
4037
4038 nios2*-*-*)
4039 supported_defaults="arch"
4040 case "$with_arch" in
4041 "" | r1 | r2)
4042 # OK
4043 ;;
4044 *)
4045 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
4046 exit 1
4047 ;;
4048 esac
4049 ;;
4050
4051 powerpc*-*-* | rs6000-*-*)
4052 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
4053
4054 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4055 eval "val=\$with_$which"
4056 case ${val} in
4057 default32 | default64)
4058 case $which in
4059 cpu | tune)
4060 ;;
4061 *)
4062 echo "$val only valid for --with-cpu and --with-tune." 1>&2
4063 exit 1
4064 ;;
4065 esac
4066 with_which="with_$which"
4067 eval $with_which=
4068 ;;
4069 405cr)
4070 tm_defines="${tm_defines} CONFIG_PPC405CR"
4071 eval "with_$which=405"
4072 ;;
4073 "" | common | native \
4074 | power | power[23456789] | power6x | powerpc | powerpc64 \
4075 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
4076 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4077 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4078 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4079 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4080 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4081 # OK
4082 ;;
4083 *)
4084 echo "Unknown cpu used in --with-$which=$val." 1>&2
4085 exit 1
4086 ;;
4087 esac
4088 done
4089
4090 case "$with_abi" in
4091 "" | elfv1 | elfv2 )
4092 #OK
4093 ;;
4094 *)
4095 echo "Unknown ABI used in --with-abi=$with_abi"
4096 exit 1
4097 ;;
4098 esac
4099
4100 if test "x$with_advance_toolchain" != x; then
4101 if test -d "/opt/$with_advance_toolchain/." -a \
4102 -d "/opt/$with_advance_toolchain/bin/." -a \
4103 -d "/opt/$with_advance_toolchain/include/."; then
4104
4105 tm_file="$tm_file ./advance-toolchain.h"
4106 (at="/opt/$with_advance_toolchain"
4107 echo "/* Use Advance Toolchain $at */"
4108 echo
4109 echo "#ifndef USE_AT_INCLUDE_FILES"
4110 echo "#define USE_AT_INCLUDE_FILES 1"
4111 echo "#endif"
4112 echo
4113 echo "#if USE_AT_INCLUDE_FILES"
4114 echo "#undef INCLUDE_EXTRA_SPEC"
4115 echo "#define INCLUDE_EXTRA_SPEC" \
4116 "\"-isystem $at/include\""
4117 echo "#endif"
4118 echo
4119 echo "#undef LINK_OS_EXTRA_SPEC32"
4120 echo "#define LINK_OS_EXTRA_SPEC32" \
4121 "\"%(link_os_new_dtags)" \
4122 "-rpath $prefix/lib -rpath $at/lib" \
4123 "-L $prefix/lib -L $at/lib\""
4124 echo
4125 echo "#undef LINK_OS_EXTRA_SPEC64"
4126 echo "#define LINK_OS_EXTRA_SPEC64" \
4127 "\"%(link_os_new_dtags)" \
4128 "-rpath $prefix/lib64 -rpath $at/lib64" \
4129 "-L $prefix/lib64 -L $at/lib64\""
4130 echo
4131 echo "#undef LINK_OS_NEW_DTAGS_SPEC"
4132 echo "#define LINK_OS_NEW_DTAGS_SPEC" \
4133 "\"--enable-new-dtags\""
4134 echo
4135 echo "#undef DYNAMIC_LINKER_PREFIX"
4136 echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
4137 echo
4138 echo "#undef MD_EXEC_PREFIX"
4139 echo "#define MD_EXEC_PREFIX \"$at/bin/\""
4140 echo
4141 echo "#undef MD_STARTFILE_PREFIX"
4142 echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
4143 > advance-toolchain.h
4144 else
4145 echo "Unknown advance-toolchain $with_advance_toolchain"
4146 exit 1
4147 fi
4148 fi
4149 ;;
4150
4151 s390*-*-*)
4152 supported_defaults="arch mode tune"
4153
4154 for which in arch tune; do
4155 eval "val=\$with_$which"
4156 case ${val} in
4157 "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13)
4158 # OK
4159 ;;
4160 *)
4161 echo "Unknown cpu used in --with-$which=$val." 1>&2
4162 exit 1
4163 ;;
4164 esac
4165 done
4166
4167 case ${with_mode} in
4168 "" | esa | zarch)
4169 # OK
4170 ;;
4171 *)
4172 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4173 exit 1
4174 ;;
4175 esac
4176 ;;
4177
4178 sh[123456ble]*-*-* | sh-*-*)
4179 supported_defaults="cpu"
4180 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4181 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4182 # OK
4183 ;;
4184 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4185 ;;
4186 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4187 ;;
4188 *)
4189 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
4190 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4191 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4192 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4193 exit 1
4194 ;;
4195 esac
4196 ;;
4197 sparc*-*-*)
4198 supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64"
4199
4200 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4201 eval "val=\$with_$which"
4202 case ${val} in
4203 "" | sparc | sparcv9 | sparc64 \
4204 | v7 | cypress \
4205 | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4206 | sparclite | f930 | f934 | sparclite86x \
4207 | sparclet | tsc701 \
4208 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4209 | niagara3 | niagara4 | niagara7)
4210 # OK
4211 ;;
4212 *)
4213 echo "Unknown cpu used in --with-$which=$val" 1>&2
4214 exit 1
4215 ;;
4216 esac
4217 done
4218
4219 case ${with_float} in
4220 "" | soft | hard)
4221 # OK
4222 ;;
4223 *)
4224 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4225 exit 1
4226 ;;
4227 esac
4228 ;;
4229
4230 spu-*-*)
4231 supported_defaults="arch tune"
4232
4233 for which in arch tune; do
4234 eval "val=\$with_$which"
4235 case ${val} in
4236 "" | cell | celledp)
4237 # OK
4238 ;;
4239 *)
4240 echo "Unknown cpu used in --with-$which=$val." 1>&2
4241 exit 1
4242 ;;
4243 esac
4244 done
4245 ;;
4246
4247 tic6x-*-*)
4248 supported_defaults="arch"
4249
4250 case ${with_arch} in
4251 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4252 # OK
4253 ;;
4254 *)
4255 echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4256 exit 1
4257 ;;
4258 esac
4259 ;;
4260
4261 v850*-*-*)
4262 supported_defaults=cpu
4263 case ${with_cpu} in
4264 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4265 # OK
4266 ;;
4267 *)
4268 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4269 exit 1
4270 ;;
4271 esac
4272 ;;
4273 visium-*-*)
4274 supported_defaults="cpu"
4275 case $with_cpu in
4276 "" | gr5 | gr6)
4277 ;;
4278 *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4279 exit 1
4280 ;;
4281 esac
4282 ;;
4283 esac
4284
4285 # Set some miscellaneous flags for particular targets.
4286 target_cpu_default2=
4287 case ${target} in
4288 aarch64*-*-*)
4289 if test x"$target_cpu_cname" != x
4290 then
4291 target_cpu_default2=$target_cpu_cname
4292 fi
4293 ;;
4294
4295 arm*-*-*)
4296 if test x$target_cpu_cname = x
4297 then
4298 target_cpu_default2=TARGET_CPU_generic
4299 else
4300 target_cpu_default2=TARGET_CPU_$target_cpu_cname
4301 fi
4302 ;;
4303
4304 hppa*-*-*)
4305 if test x$gas = xyes
4306 then
4307 target_cpu_default2="MASK_GAS"
4308 fi
4309 ;;
4310
4311 fido*-*-* | m68k*-*-*)
4312 target_cpu_default2=$m68k_cpu_ident
4313 tmake_file="m68k/t-opts $tmake_file"
4314 if [ x"$m68k_arch_family" != x ]; then
4315 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4316 fi
4317 ;;
4318
4319 i[34567]86-*-darwin* | x86_64-*-darwin*)
4320 ;;
4321 i[34567]86-*-linux* | x86_64-*-linux*)
4322 tmake_file="$tmake_file i386/t-linux"
4323 ;;
4324 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
4325 tmake_file="$tmake_file i386/t-kfreebsd"
4326 ;;
4327 i[34567]86-*-gnu*)
4328 tmake_file="$tmake_file i386/t-gnu"
4329 ;;
4330 i[34567]86-*-msdosdjgpp*)
4331 tmake_file="${tmake_file} i386/t-djgpp"
4332 ;;
4333 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
4334 ;;
4335 i[34567]86-*-cygwin* | x86_64-*-cygwin*)
4336 ;;
4337 i[34567]86-*-mingw* | x86_64-*-mingw*)
4338 ;;
4339 i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
4340 ;;
4341 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
4342 ;;
4343 ia64*-*-linux*)
4344 ;;
4345
4346 mips*-*-*)
4347 if test x$gnu_ld = xyes
4348 then
4349 target_cpu_default2="MASK_SPLIT_ADDRESSES"
4350 fi
4351 case ${target} in
4352 mips*el-*-*)
4353 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
4354 ;;
4355 esac
4356 if test x$with_arch != x; then
4357 default_mips_arch=$with_arch
4358 fi
4359 if test x$with_abi != x; then
4360 default_mips_abi=$with_abi
4361 fi
4362 case ${default_mips_arch} in
4363 mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
4364 mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
4365 mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
4366 mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
4367 mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
4368 mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
4369 mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
4370 mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
4371 mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
4372 mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
4373 esac
4374 case ${default_mips_abi} in
4375 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
4376 o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
4377 n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
4378 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
4379 eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
4380 esac
4381 tmake_file="mips/t-mips $tmake_file"
4382 ;;
4383
4384 powerpc*-*-* | rs6000-*-*)
4385 # FIXME: The PowerPC port uses the value set at compile time,
4386 # although it's only cosmetic.
4387 if test "x$with_cpu" != x
4388 then
4389 target_cpu_default2="\\\"$with_cpu\\\""
4390 fi
4391 out_file=rs6000/rs6000.c
4392 c_target_objs="${c_target_objs} rs6000-c.o"
4393 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
4394 tmake_file="rs6000/t-rs6000 ${tmake_file}"
4395 ;;
4396
4397 sh[123456ble]*-*-* | sh-*-*)
4398 c_target_objs="${c_target_objs} sh-c.o"
4399 cxx_target_objs="${cxx_target_objs} sh-c.o"
4400 ;;
4401
4402 sparc*-*-*)
4403 # Some standard aliases.
4404 case x$with_cpu in
4405 xsparc)
4406 with_cpu=v7
4407 ;;
4408 xsparcv9 | xsparc64)
4409 with_cpu=v9
4410 ;;
4411 esac
4412
4413 if test x$with_tune = x ; then
4414 case ${target} in
4415 *-leon-*)
4416 with_tune=leon
4417 ;;
4418 *-leon[3-9]*)
4419 with_tune=leon3
4420 ;;
4421 esac
4422 fi
4423
4424 # The SPARC port checks this value at compile-time.
4425 target_cpu_default2="TARGET_CPU_$with_cpu"
4426 ;;
4427
4428 v850*-*-*)
4429 case "x$with_cpu" in
4430 x)
4431 ;;
4432 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
4433 target_cpu_default2="TARGET_CPU_$with_cpu"
4434 ;;
4435 xv850es)
4436 target_cpu_default2="TARGET_CPU_v850e1"
4437 ;;
4438 esac
4439 ;;
4440 visium-*-*)
4441 target_cpu_default2="TARGET_CPU_$with_cpu"
4442 ;;
4443 esac
4444
4445 t=
4446 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"
4447 for option in $all_defaults
4448 do
4449 eval "val=\$with_"`echo $option | sed s/-/_/g`
4450 if test -n "$val"; then
4451 case " $supported_defaults " in
4452 *" $option "*)
4453 ;;
4454 *)
4455 echo "This target does not support --with-$option." 2>&1
4456 echo "Valid --with options are: $supported_defaults" 2>&1
4457 exit 1
4458 ;;
4459 esac
4460
4461 if test "x$t" = x
4462 then
4463 t="{ \"$option\", \"$val\" }"
4464 else
4465 t="${t}, { \"$option\", \"$val\" }"
4466 fi
4467 fi
4468 done
4469
4470 if test "x$t" = x
4471 then
4472 configure_default_options="{ { NULL, NULL} }"
4473 else
4474 configure_default_options="{ ${t} }"
4475 fi
4476
4477 if test "$target_cpu_default2" != ""
4478 then
4479 if test "$target_cpu_default" != ""
4480 then
4481 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
4482 else
4483 target_cpu_default=$target_cpu_default2
4484 fi
4485 fi
4486
4487 case ${target} in
4488 i[34567]86-*-* | x86_64-*-*)
4489 if test x$enable_as_accelerator = xyes; then
4490 extra_programs="mkoffload\$(exeext)"
4491 fi
4492 ;;
4493 esac