]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config.gcc
remove avr-rtems support
[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 mep-* \
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 *-*-rtems*)
808 case ${enable_threads} in
809 "" | yes | rtems) thread_file='rtems' ;;
810 posix) thread_file='posix' ;;
811 no) ;;
812 *)
813 echo 'Unknown thread configuration for RTEMS'
814 exit 1
815 ;;
816 esac
817 tmake_file="${tmake_file} t-rtems"
818 extra_options="${extra_options} rtems.opt"
819 default_use_cxa_atexit=yes
820 use_gcc_stdint=wrap
821 ;;
822 *-*-uclinux*)
823 extra_options="$extra_options gnu-user.opt"
824 use_gcc_stdint=wrap
825 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
826 ;;
827 *-*-rdos*)
828 use_gcc_stdint=wrap
829 ;;
830 *-*-solaris2*)
831 # i?86-*-solaris2* needs to insert headers between cpu default and
832 # Solaris 2 specific ones.
833 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
834 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
835 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
836 case ${target} in
837 *-*-solaris2.1[2-9]*)
838 # __cxa_atexit was introduced in Solaris 12.
839 default_use_cxa_atexit=yes
840 ;;
841 esac
842 use_gcc_stdint=wrap
843 if test x$gnu_ld = xyes; then
844 tm_file="usegld.h ${tm_file}"
845 fi
846 if test x$gas = xyes; then
847 tm_file="usegas.h ${tm_file}"
848 fi
849 tm_p_file="${tm_p_file} sol2-protos.h"
850 tmake_file="${tmake_file} t-sol2 t-slibgcc"
851 c_target_objs="${c_target_objs} sol2-c.o"
852 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
853 extra_objs="sol2.o sol2-stubs.o"
854 extra_options="${extra_options} sol2.opt"
855 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
856 "":yes:* | yes:yes:* )
857 thread_file=posix
858 ;;
859 esac
860 ;;
861 *-*-*vms*)
862 extra_options="${extra_options} vms/vms.opt"
863 xmake_file=vms/x-vms
864 tmake_file="vms/t-vms t-slibgcc"
865 extra_objs="vms.o"
866 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
867 tm_p_file="${tm_p_file} vms/vms-protos.h"
868 xm_file="vms/xm-vms.h"
869 c_target_objs="vms-c.o"
870 cxx_target_objs="vms-c.o"
871 fortran_target_objs="vms-f.o"
872 use_gcc_stdint=provide
873 tm_file="${tm_file} vms/vms-stdint.h"
874 if test x$gnu_ld != xyes; then
875 # Build wrappers for native case.
876 extra_programs="ld\$(exeext) ar\$(exeext)"
877 tmake_file="$tmake_file vms/t-vmsnative"
878 fi
879 ;;
880 *-*-vxworks*)
881 tmake_file=t-vxworks
882 xm_defines=POSIX
883 extra_options="${extra_options} vxworks.opt"
884 extra_objs="$extra_objs vxworks.o"
885 case ${enable_threads} in
886 no) ;;
887 "" | yes | vxworks) thread_file='vxworks' ;;
888 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
889 esac
890 ;;
891 *-*-elf|arc*-*-elf*)
892 # Assume that newlib is being used and so __cxa_atexit is provided.
893 default_use_cxa_atexit=yes
894 use_gcc_stdint=wrap
895 ;;
896 esac
897
898 case ${target} in
899 aarch64*-*-elf | aarch64*-*-rtems*)
900 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
901 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
902 tmake_file="${tmake_file} aarch64/t-aarch64"
903 case $target in
904 aarch64-*-elf*)
905 use_gcc_stdint=wrap
906 ;;
907 aarch64-*-rtems*)
908 tm_file="${tm_file} rtems.h aarch64/rtems.h"
909 ;;
910 esac
911 case $target in
912 aarch64_be-*)
913 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
914 ;;
915 esac
916 aarch64_multilibs="${with_multilib_list}"
917 if test "$aarch64_multilibs" = "default"; then
918 aarch64_multilibs="lp64,ilp32"
919 fi
920 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
921 for aarch64_multilib in ${aarch64_multilibs}; do
922 case ${aarch64_multilib} in
923 ilp32 | lp64 )
924 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
925 ;;
926 *)
927 echo "--with-multilib-list=${aarch64_multilib} not supported."
928 exit 1
929 esac
930 done
931 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
932 ;;
933 aarch64*-*-linux*)
934 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
935 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
936 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
937 case $target in
938 aarch64_be-*)
939 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
940 ;;
941 esac
942 aarch64_multilibs="${with_multilib_list}"
943 if test "$aarch64_multilibs" = "default"; then
944 # TODO: turn on ILP32 multilib build after its support is mature.
945 # aarch64_multilibs="lp64,ilp32"
946 aarch64_multilibs="lp64"
947 fi
948 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
949 for aarch64_multilib in ${aarch64_multilibs}; do
950 case ${aarch64_multilib} in
951 ilp32 | lp64 )
952 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
953 ;;
954 *)
955 echo "--with-multilib-list=${aarch64_multilib} not supported."
956 exit 1
957 esac
958 done
959 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
960 ;;
961 alpha*-*-linux*)
962 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
963 tmake_file="${tmake_file} alpha/t-linux"
964 extra_options="${extra_options} alpha/elf.opt"
965 ;;
966 alpha*-*-freebsd*)
967 tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
968 extra_options="${extra_options} alpha/elf.opt"
969 ;;
970 alpha*-*-netbsd*)
971 tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
972 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
973 alpha/elf.opt"
974 ;;
975 alpha*-*-openbsd*)
976 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
977 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
978 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
979 # default x-alpha is only appropriate for dec-osf.
980 ;;
981 alpha*-dec-*vms*)
982 tm_file="${tm_file} vms/vms.h alpha/vms.h"
983 tmake_file="${tmake_file} alpha/t-vms"
984 ;;
985 arc*-*-elf*)
986 extra_headers="arc-simd.h"
987 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
988 tmake_file="arc/t-arc-newlib arc/t-arc"
989 case x"${with_cpu}" in
990 xarc600|xarc601|xarc700)
991 target_cpu_default="TARGET_CPU_$with_cpu"
992 ;;
993 esac
994 if test x${with_endian} = x; then
995 case ${target} in
996 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
997 *) with_endian=little ;;
998 esac
999 fi
1000 case ${with_endian} in
1001 big|little) ;;
1002 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1003 esac
1004 case ${with_endian} in
1005 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1006 esac
1007 ;;
1008 arc*-*-linux-uclibc*)
1009 extra_headers="arc-simd.h"
1010 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}"
1011 tmake_file="${tmake_file} arc/t-arc-uClibc arc/t-arc"
1012 tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0"
1013 tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1"
1014 case x"${with_cpu}" in
1015 xarc600|xarc601|xarc700)
1016 target_cpu_default="TARGET_CPU_$with_cpu"
1017 ;;
1018 esac
1019 if test x${with_endian} = x; then
1020 case ${target} in
1021 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1022 *) with_endian=little ;;
1023 esac
1024 fi
1025 case ${with_endian} in
1026 big|little) ;;
1027 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1028 esac
1029 case ${with_endian} in
1030 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1031 esac
1032 ;;
1033 arm-wrs-vxworks)
1034 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1035 extra_options="${extra_options} arm/vxworks.opt"
1036 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1037 ;;
1038 arm*-*-freebsd*) # ARM FreeBSD EABI
1039 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1040 case $target in
1041 arm*b-*-freebsd*)
1042 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1043 ;;
1044 esac
1045 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1046 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1047 case $target in
1048 armv6*-*-freebsd*)
1049 tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
1050 if test $fbsd_major -ge 11; then
1051 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1052 fi
1053 ;;
1054 esac
1055 with_tls=${with_tls:-gnu}
1056 ;;
1057 arm*-*-netbsdelf*)
1058 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1059 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1060 tmake_file="${tmake_file} arm/t-arm"
1061 ;;
1062 arm*-*-linux-*) # ARM GNU/Linux with ELF
1063 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"
1064 extra_options="${extra_options} linux-android.opt"
1065 case $target in
1066 arm*b-*-linux*)
1067 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1068 ;;
1069 esac
1070 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1071 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1072 # Define multilib configuration for arm-linux-androideabi.
1073 case ${target} in
1074 *-androideabi)
1075 tmake_file="$tmake_file arm/t-linux-androideabi"
1076 ;;
1077 esac
1078 # The EABI requires the use of __cxa_atexit.
1079 default_use_cxa_atexit=yes
1080 with_tls=${with_tls:-gnu}
1081 ;;
1082 arm*-*-uclinux*eabi*) # ARM ucLinux
1083 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1084 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1085 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1086 # The EABI requires the use of __cxa_atexit.
1087 default_use_cxa_atexit=yes
1088 ;;
1089 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
1090 case ${target} in
1091 arm*eb-*-eabi*)
1092 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1093 esac
1094 default_use_cxa_atexit=yes
1095 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1096 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1097 case ${target} in
1098 arm*-*-eabi*)
1099 tm_file="$tm_file newlib-stdint.h"
1100 tmake_file="${tmake_file} arm/t-bpabi"
1101 use_gcc_stdint=wrap
1102 ;;
1103 arm*-*-rtems*)
1104 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1105 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1106 ;;
1107 arm*-*-symbianelf*)
1108 tm_file="${tm_file} arm/symbian.h"
1109 # We do not include t-bpabi for Symbian OS because the system
1110 # provides its own implementation of the BPABI functions.
1111 tmake_file="${tmake_file} arm/t-symbian"
1112 ;;
1113 esac
1114 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
1115 ;;
1116 avr-*-*)
1117 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1118 if test x${with_avrlibc} != xno; then
1119 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1120 tm_defines="${tm_defines} WITH_AVRLIBC"
1121 fi
1122 tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1123 use_gcc_stdint=wrap
1124 extra_gcc_objs="driver-avr.o avr-devices.o"
1125 extra_objs="avr-devices.o avr-log.o"
1126 ;;
1127 bfin*-elf*)
1128 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1129 tmake_file=bfin/t-bfin-elf
1130 use_collect2=no
1131 ;;
1132 bfin*-uclinux*)
1133 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1134 tmake_file=bfin/t-bfin-uclinux
1135 use_collect2=no
1136 ;;
1137 bfin*-linux-uclibc*)
1138 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"
1139 tmake_file="${tmake_file} bfin/t-bfin-linux"
1140 use_collect2=no
1141 ;;
1142 bfin*-rtems*)
1143 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1144 tmake_file="${tmake_file} bfin/t-rtems"
1145 ;;
1146 bfin*-*)
1147 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1148 use_collect2=no
1149 use_gcc_stdint=wrap
1150 ;;
1151 cr16-*-elf)
1152 tm_file="elfos.h ${tm_file} newlib-stdint.h"
1153 tmake_file="${tmake_file} cr16/t-cr16 "
1154 use_collect2=no
1155 ;;
1156 crisv32-*-elf | crisv32-*-none)
1157 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1158 tmake_file="cris/t-cris"
1159 target_cpu_default=32
1160 gas=yes
1161 extra_options="${extra_options} cris/elf.opt"
1162 use_gcc_stdint=wrap
1163 ;;
1164 cris-*-elf | cris-*-none)
1165 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1166 tmake_file="cris/t-cris cris/t-elfmulti"
1167 gas=yes
1168 extra_options="${extra_options} cris/elf.opt"
1169 use_gcc_stdint=wrap
1170 ;;
1171 crisv32-*-linux* | cris-*-linux*)
1172 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1173 tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1174 extra_options="${extra_options} cris/linux.opt"
1175 case $target in
1176 cris-*-*)
1177 target_cpu_default=10
1178 ;;
1179 crisv32-*-*)
1180 target_cpu_default=32
1181 ;;
1182 esac
1183 ;;
1184 epiphany-*-elf )
1185 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1186 tmake_file="epiphany/t-epiphany"
1187 extra_options="${extra_options} fused-madd.opt"
1188 extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
1189 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1190 extra_headers="epiphany_intrinsics.h"
1191 ;;
1192 fr30-*-elf)
1193 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1194 ;;
1195 frv-*-elf)
1196 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1197 tmake_file=frv/t-frv
1198 ;;
1199 frv-*-*linux*)
1200 tm_file="dbxelf.h elfos.h ${tm_file} \
1201 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1202 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1203 ;;
1204 ft32-*-elf)
1205 gas=yes
1206 gnu_ld=yes
1207 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1208 tmake_file="${tmake_file} ft32/t-ft32"
1209 ;;
1210 moxie-*-elf)
1211 gas=yes
1212 gnu_ld=yes
1213 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1214 tmake_file="${tmake_file} moxie/t-moxie"
1215 ;;
1216 moxie-*-uclinux*)
1217 gas=yes
1218 gnu_ld=yes
1219 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1220 tmake_file="${tmake_file} moxie/t-moxie"
1221 ;;
1222 moxie-*-rtems*)
1223 tmake_file="${tmake_file} moxie/t-moxie"
1224 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1225 ;;
1226 moxie-*-moxiebox*)
1227 gas=yes
1228 gnu_ld=yes
1229 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1230 tmake_file="${tmake_file} moxie/t-moxiebox"
1231 ;;
1232 h8300-*-elf*)
1233 tmake_file="h8300/t-h8300"
1234 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1235 ;;
1236 h8300-*-linux*)
1237 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1238 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1239 ;;
1240 hppa*64*-*-linux*)
1241 target_cpu_default="MASK_PA_11|MASK_PA_20"
1242 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1243 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1244 pa/pa64-linux.h"
1245 gas=yes gnu_ld=yes
1246 ;;
1247 hppa*-*-linux*)
1248 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
1249 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1250 pa/pa32-regs.h pa/pa32-linux.h"
1251 tmake_file="${tmake_file} pa/t-linux"
1252 ;;
1253 hppa*-*-openbsd*)
1254 target_cpu_default="MASK_PA_11"
1255 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1256 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1257 extra_options="${extra_options} openbsd.opt"
1258 gas=yes
1259 gnu_ld=yes
1260 ;;
1261 hppa[12]*-*-hpux10*)
1262 case ${target} in
1263 hppa1.1-*-* | hppa2*-*-*)
1264 target_cpu_default="MASK_PA_11"
1265 ;;
1266 esac
1267 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1268 pa/pa-hpux.h pa/pa-hpux10.h"
1269 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1270 case ${target} in
1271 *-*-hpux10.[1-9]*)
1272 tm_file="${tm_file} pa/pa-hpux1010.h"
1273 extra_options="${extra_options} pa/pa-hpux1010.opt"
1274 ;;
1275 esac
1276 use_gcc_stdint=provide
1277 tm_file="${tm_file} hpux-stdint.h"
1278 tmake_file="t-slibgcc"
1279 case ${enable_threads} in
1280 "")
1281 if test x$have_pthread_h = xyes ; then
1282 tmake_file="${tmake_file} pa/t-dce-thr"
1283 fi
1284 ;;
1285 yes | dce)
1286 tmake_file="${tmake_file} pa/t-dce-thr"
1287 ;;
1288 esac
1289 use_collect2=yes
1290 gas=yes
1291 if test "x$with_dwarf2" != x; then
1292 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1293 dwarf2=no
1294 fi
1295 ;;
1296 hppa*64*-*-hpux11*)
1297 target_cpu_default="MASK_PA_11|MASK_PA_20"
1298 if test x$gnu_ld = xyes
1299 then
1300 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1301 fi
1302 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1303 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1304 pa/pa-hpux11.h"
1305 case ${target} in
1306 *-*-hpux11.[12]*)
1307 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1308 extra_options="${extra_options} pa/pa-hpux1111.opt"
1309 ;;
1310 *-*-hpux11.[3-9]*)
1311 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1312 extra_options="${extra_options} pa/pa-hpux1131.opt"
1313 ;;
1314 *)
1315 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1316 ;;
1317 esac
1318 extra_options="${extra_options} pa/pa-hpux.opt \
1319 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1320 tmake_file="t-slibgcc"
1321 case x${enable_threads} in
1322 x | xyes | xposix )
1323 thread_file=posix
1324 ;;
1325 esac
1326 gas=yes
1327 case ${target} in
1328 *-*-hpux11.[01]*)
1329 use_gcc_stdint=provide
1330 tm_file="${tm_file} hpux-stdint.h"
1331 ;;
1332 *-*-hpux11.[23]*)
1333 use_gcc_stdint=wrap
1334 tm_file="${tm_file} hpux-stdint.h"
1335 ;;
1336 esac
1337 ;;
1338 hppa[12]*-*-hpux11*)
1339 case ${target} in
1340 hppa1.1-*-* | hppa2*-*-*)
1341 target_cpu_default="MASK_PA_11"
1342 ;;
1343 esac
1344 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1345 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1346 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1347 hpux11.opt"
1348 case ${target} in
1349 *-*-hpux11.[12]*)
1350 tm_file="${tm_file} pa/pa-hpux1111.h"
1351 extra_options="${extra_options} pa/pa-hpux1111.opt"
1352 ;;
1353 *-*-hpux11.[3-9]*)
1354 tm_file="${tm_file} pa/pa-hpux1131.h"
1355 extra_options="${extra_options} pa/pa-hpux1131.opt"
1356 ;;
1357 esac
1358 tmake_file="t-slibgcc"
1359 case x${enable_threads} in
1360 x | xyes | xposix )
1361 thread_file=posix
1362 ;;
1363 esac
1364 use_collect2=yes
1365 gas=yes
1366 case ${target} in
1367 *-*-hpux11.[01]*)
1368 use_gcc_stdint=provide
1369 tm_file="${tm_file} hpux-stdint.h"
1370 ;;
1371 *-*-hpux11.[23]*)
1372 use_gcc_stdint=wrap
1373 tm_file="${tm_file} hpux-stdint.h"
1374 ;;
1375 esac
1376 if test "x$with_dwarf2" != x; then
1377 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1378 dwarf2=no
1379 fi
1380 ;;
1381 i[34567]86-*-darwin*)
1382 need_64bit_isa=yes
1383 # Baseline choice for a machine that allows m64 support.
1384 with_cpu=${with_cpu:-core2}
1385 tmake_file="${tmake_file} t-slibgcc"
1386 ;;
1387 x86_64-*-darwin*)
1388 with_cpu=${with_cpu:-core2}
1389 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1390 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1391 ;;
1392 i[34567]86-*-elfiamcu)
1393 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
1394 ;;
1395 i[34567]86-*-elf*)
1396 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1397 ;;
1398 x86_64-*-elf*)
1399 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1400 ;;
1401 x86_64-*-rtems*)
1402 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"
1403 ;;
1404 i[34567]86-*-rdos*)
1405 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1406 ;;
1407 x86_64-*-rdos*)
1408 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"
1409 tmake_file="i386/t-i386elf t-svr4"
1410 ;;
1411 i[34567]86-*-dragonfly*)
1412 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1413 tmake_file="${tmake_file} i386/t-crtstuff"
1414 ;;
1415 x86_64-*-dragonfly*)
1416 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"
1417 tmake_file="${tmake_file} i386/t-crtstuff"
1418 ;;
1419 i[34567]86-*-freebsd*)
1420 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1421 ;;
1422 x86_64-*-freebsd*)
1423 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"
1424 ;;
1425 i[34567]86-*-netbsdelf*)
1426 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
1427 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1428 ;;
1429 x86_64-*-netbsd*)
1430 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"
1431 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1432 ;;
1433 i[34567]86-*-openbsd*)
1434 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1435 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1436 extra_options="${extra_options} openbsd.opt"
1437 gas=yes
1438 gnu_ld=yes
1439 ;;
1440 x86_64-*-openbsd*)
1441 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1442 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1443 extra_options="${extra_options} openbsd.opt"
1444 gas=yes
1445 gnu_ld=yes
1446 ;;
1447 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1448 # Intel 80386's running GNU/*
1449 # with ELF format using glibc 2
1450 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1451 case ${target} in
1452 i[34567]86-*-linux*)
1453 tm_file="${tm_file} linux.h linux-android.h"
1454 extra_options="${extra_options} linux-android.opt"
1455 # Assume modern glibc if not targeting Android nor uclibc.
1456 case ${target} in
1457 *-*-*android*|*-*-*uclibc*)
1458 ;;
1459 *)
1460 default_gnu_indirect_function=yes
1461 ;;
1462 esac
1463 if test x$enable_targets = xall; then
1464 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1465 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1466 tmake_file="${tmake_file} i386/t-linux64"
1467 x86_multilibs="${with_multilib_list}"
1468 if test "$x86_multilibs" = "default"; then
1469 x86_multilibs="m64,m32"
1470 fi
1471 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1472 for x86_multilib in ${x86_multilibs}; do
1473 case ${x86_multilib} in
1474 m32 | m64 | mx32)
1475 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1476 ;;
1477 *)
1478 echo "--with-multilib-list=${x86_with_multilib} not supported."
1479 exit 1
1480 esac
1481 done
1482 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1483 need_64bit_isa=yes
1484 if test x$with_cpu = x; then
1485 if test x$with_cpu_64 = x; then
1486 with_cpu_64=generic
1487 fi
1488 else
1489 case " $x86_cpus $x86_archs $x86_64_archs " in
1490 *" $with_cpu "*)
1491 ;;
1492 *)
1493 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1494 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1495 exit 1
1496 ;;
1497 esac
1498 fi
1499 else
1500 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1501 fi
1502 ;;
1503 i[34567]86-*-kfreebsd*-gnu)
1504 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1505 ;;
1506 i[34567]86-*-kopensolaris*-gnu)
1507 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1508 ;;
1509 i[34567]86-*-gnu*)
1510 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1511 ;;
1512 esac
1513 ;;
1514 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
1515 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1516 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1517 case ${target} in
1518 x86_64-*-linux*)
1519 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1520 extra_options="${extra_options} linux-android.opt"
1521 # Assume modern glibc if not targeting Android nor uclibc.
1522 case ${target} in
1523 *-*-*android*|*-*-*uclibc*)
1524 ;;
1525 *)
1526 default_gnu_indirect_function=yes
1527 ;;
1528 esac
1529 ;;
1530 x86_64-*-kfreebsd*-gnu)
1531 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1532 ;;
1533 esac
1534 tmake_file="${tmake_file} i386/t-linux64"
1535 x86_multilibs="${with_multilib_list}"
1536 if test "$x86_multilibs" = "default"; then
1537 case ${with_abi} in
1538 x32 | mx32)
1539 x86_multilibs="mx32"
1540 ;;
1541 *)
1542 x86_multilibs="m64,m32"
1543 ;;
1544 esac
1545 fi
1546 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1547 for x86_multilib in ${x86_multilibs}; do
1548 case ${x86_multilib} in
1549 m32 | m64 | mx32)
1550 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1551 ;;
1552 *)
1553 echo "--with-multilib-list=${x86_with_multilib} not supported."
1554 exit 1
1555 esac
1556 done
1557 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1558 ;;
1559 i[34567]86-pc-msdosdjgpp*)
1560 xm_file=i386/xm-djgpp.h
1561 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1562 native_system_header_dir=/dev/env/DJDIR/include
1563 extra_options="${extra_options} i386/djgpp.opt"
1564 gnu_ld=yes
1565 gas=yes
1566 use_gcc_stdint=wrap
1567 ;;
1568 i[34567]86-*-lynxos*)
1569 xm_defines=POSIX
1570 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1571 tmake_file="${tmake_file} t-lynx"
1572 extra_options="${extra_options} lynx.opt"
1573 thread_file=lynx
1574 gnu_ld=yes
1575 gas=yes
1576 ;;
1577 i[34567]86-*-nto-qnx*)
1578 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1579 extra_options="${extra_options} i386/nto.opt"
1580 gnu_ld=yes
1581 gas=yes
1582 ;;
1583 i[34567]86-*-rtems*)
1584 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"
1585 tmake_file="${tmake_file} i386/t-rtems"
1586 ;;
1587 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1588 # Set default arch_32 to pentium4, tune_32 to generic like the other
1589 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1590 with_arch_32=${with_arch_32:-pentium4}
1591 with_tune_32=${with_tune_32:-generic}
1592 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1593 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1594 tmake_file="$tmake_file i386/t-sol2"
1595 need_64bit_isa=yes
1596 if test x$with_cpu = x; then
1597 if test x$with_cpu_64 = x; then
1598 with_cpu_64=generic
1599 fi
1600 else
1601 case " $x86_cpus $x86_archs $x86_64_archs " in
1602 *" $with_cpu "*)
1603 ;;
1604 *)
1605 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1606 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1607 exit 1
1608 ;;
1609 esac
1610 fi
1611 ;;
1612 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
1613 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
1614 case ${target} in
1615 *-vxworksae*)
1616 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1617 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1618 ;;
1619 *)
1620 tm_file="${tm_file} vxworks.h i386/vxworks.h"
1621 tmake_file="${tmake_file} i386/t-vxworks"
1622 ;;
1623 esac
1624 ;;
1625 i[34567]86-*-cygwin*)
1626 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"
1627 xm_file=i386/xm-cygwin.h
1628 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1629 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1630 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1631 extra_objs="winnt.o winnt-stubs.o"
1632 c_target_objs="${c_target_objs} msformat-c.o"
1633 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1634 if test x$enable_threads = xyes; then
1635 thread_file='posix'
1636 fi
1637 default_use_cxa_atexit=yes
1638 use_gcc_stdint=wrap
1639 ;;
1640 x86_64-*-cygwin*)
1641 need_64bit_isa=yes
1642 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"
1643 xm_file=i386/xm-cygwin.h
1644 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1645 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1646 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1647 extra_objs="winnt.o winnt-stubs.o"
1648 c_target_objs="${c_target_objs} msformat-c.o"
1649 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1650 if test x$enable_threads = xyes; then
1651 thread_file='posix'
1652 fi
1653 default_use_cxa_atexit=yes
1654 use_gcc_stdint=wrap
1655 tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1656 ;;
1657 i[34567]86-*-mingw* | x86_64-*-mingw*)
1658 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1659 xm_file=i386/xm-mingw32.h
1660 c_target_objs="${c_target_objs} winnt-c.o"
1661 cxx_target_objs="${cxx_target_objs} winnt-c.o"
1662 target_has_targetcm="yes"
1663 case ${target} in
1664 x86_64-*-* | *-w64-*)
1665 need_64bit_isa=yes
1666 ;;
1667 *)
1668 ;;
1669 esac
1670 if test x$enable_threads = xposix ; then
1671 tm_file="${tm_file} i386/mingw-pthread.h"
1672 fi
1673 tm_file="${tm_file} i386/mingw32.h"
1674 # This makes the logic if mingw's or the w64 feature set has to be used
1675 case ${target} in
1676 *-w64-*)
1677 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1678 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1679 tm_file="${tm_file} i386/mingw-w64.h"
1680 if test x$enable_targets = xall; then
1681 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1682 if test x$with_cpu = x; then
1683 if test x$with_cpu_64 = x; then
1684 with_cpu_64=generic
1685 fi
1686 else
1687 case " $x86_cpus $x86_archs $x86_64_archs " in
1688 *" $with_cpu "*)
1689 ;;
1690 *)
1691 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1692 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1693 exit 1
1694 ;;
1695 esac
1696 fi
1697 fi
1698 ;;
1699 *)
1700 ;;
1701 esac
1702 tm_file="${tm_file} i386/mingw-stdint.h"
1703 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1704 case ${target} in
1705 x86_64-w64-*)
1706 tmake_file="${tmake_file} i386/t-mingw-w64"
1707 ;;
1708 i[34567]86-w64-*)
1709 tmake_file="${tmake_file} i386/t-mingw-w32"
1710 ;;
1711 esac
1712 native_system_header_dir=/mingw/include
1713 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1714 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1715 case ${target} in
1716 *-w64-*)
1717 extra_options="${extra_options} i386/mingw-w64.opt"
1718 ;;
1719 *)
1720 ;;
1721 esac
1722 extra_objs="winnt.o winnt-stubs.o"
1723 c_target_objs="${c_target_objs} msformat-c.o"
1724 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1725 gas=yes
1726 gnu_ld=yes
1727 default_use_cxa_atexit=yes
1728 use_gcc_stdint=wrap
1729 case ${enable_threads} in
1730 "" | yes | win32)
1731 thread_file='win32'
1732 ;;
1733 posix)
1734 thread_file='posix'
1735 ;;
1736 esac
1737 case ${target} in
1738 *mingw32crt*)
1739 tm_file="${tm_file} i386/crtdll.h"
1740 ;;
1741 *mingw32msv* | *mingw*)
1742 ;;
1743 esac
1744 ;;
1745 ia64*-*-elf*)
1746 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1747 tmake_file="ia64/t-ia64"
1748 target_cpu_default="0"
1749 if test x$gas = xyes
1750 then
1751 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1752 fi
1753 if test x$gnu_ld = xyes
1754 then
1755 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1756 fi
1757 ;;
1758 ia64*-*-freebsd*)
1759 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1760 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1761 tmake_file="${tmake_file} ia64/t-ia64"
1762 ;;
1763 ia64*-*-linux*)
1764 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1765 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1766 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1767 ;;
1768 ia64*-*-hpux*)
1769 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1770 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1771 target_cpu_default="MASK_GNU_AS"
1772 case x$enable_threads in
1773 x | xyes | xposix )
1774 thread_file=posix
1775 ;;
1776 esac
1777 use_collect2=no
1778 c_target_objs="ia64-c.o"
1779 cxx_target_objs="ia64-c.o"
1780 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
1781 use_gcc_stdint=wrap
1782 tm_file="${tm_file} hpux-stdint.h"
1783 case ${target} in
1784 *-*-hpux11.3*)
1785 tm_file="${tm_file} ia64/hpux-unix2003.h"
1786 ;;
1787 esac
1788 ;;
1789 ia64-hp-*vms*)
1790 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1791 tmake_file="${tmake_file} ia64/t-ia64"
1792 target_cpu_default="0"
1793 if test x$gas = xyes
1794 then
1795 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1796 fi
1797 extra_options="${extra_options} ia64/vms.opt"
1798 ;;
1799 iq2000*-*-elf*)
1800 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
1801 out_file=iq2000/iq2000.c
1802 md_file=iq2000/iq2000.md
1803 ;;
1804 lm32-*-elf*)
1805 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
1806 tmake_file="${tmake_file} lm32/t-lm32"
1807 ;;
1808 lm32-*-rtems*)
1809 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
1810 tmake_file="${tmake_file} lm32/t-lm32"
1811 tmake_file="${tmake_file} lm32/t-rtems"
1812 ;;
1813 lm32-*-uclinux*)
1814 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
1815 tmake_file="${tmake_file} lm32/t-lm32"
1816 ;;
1817 m32r-*-elf*)
1818 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1819 ;;
1820 m32rle-*-elf*)
1821 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
1822 ;;
1823 m32r-*-linux*)
1824 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
1825 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1826 gnu_ld=yes
1827 if test x$enable_threads = xyes; then
1828 thread_file='posix'
1829 fi
1830 ;;
1831 m32rle-*-linux*)
1832 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
1833 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1834 gnu_ld=yes
1835 if test x$enable_threads = xyes; then
1836 thread_file='posix'
1837 fi
1838 ;;
1839 m68k-*-elf* | fido-*-elf*)
1840 case ${target} in
1841 fido-*-elf*)
1842 # Check that $with_cpu makes sense.
1843 case $with_cpu in
1844 "" | "fidoa")
1845 ;;
1846 *)
1847 echo "Cannot accept --with-cpu=$with_cpu"
1848 exit 1
1849 ;;
1850 esac
1851 with_cpu=fidoa
1852 ;;
1853 *)
1854 default_m68k_cpu=68020
1855 default_cf_cpu=5206
1856 ;;
1857 esac
1858 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"
1859 tm_defines="${tm_defines} MOTOROLA=1"
1860 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1861 # Add multilibs for targets other than fido.
1862 case ${target} in
1863 fido-*-elf*)
1864 ;;
1865 *)
1866 tmake_file="$tmake_file m68k/t-mlibs"
1867 ;;
1868 esac
1869 ;;
1870 m68k*-*-netbsdelf*)
1871 default_m68k_cpu=68020
1872 default_cf_cpu=5475
1873 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1874 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1875 tm_defines="${tm_defines} MOTOROLA=1"
1876 ;;
1877 m68k*-*-openbsd*)
1878 default_m68k_cpu=68020
1879 default_cf_cpu=5475
1880 # needed to unconfuse gdb
1881 tm_defines="${tm_defines} OBSD_OLD_GAS"
1882 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
1883 extra_options="${extra_options} openbsd.opt"
1884 tmake_file="t-openbsd m68k/t-openbsd"
1885 # we need collect2 until our bug is fixed...
1886 use_collect2=yes
1887 ;;
1888 m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
1889 # with uClibc, using the new GNU/Linux-style
1890 # ABI.
1891 default_m68k_cpu=68020
1892 default_cf_cpu=5206
1893 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"
1894 extra_options="${extra_options} m68k/uclinux.opt"
1895 tm_defines="${tm_defines} MOTOROLA=1"
1896 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
1897 ;;
1898 m68k-*-linux*) # Motorola m68k's running GNU/Linux
1899 # with ELF format using glibc 2
1900 # aka the GNU/Linux C library 6.
1901 default_m68k_cpu=68020
1902 default_cf_cpu=5475
1903 with_arch=${with_arch:-m68k}
1904 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
1905 extra_options="${extra_options} m68k/ieee.opt"
1906 tm_defines="${tm_defines} MOTOROLA=1"
1907 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
1908 ;;
1909 m68k-*-rtems*)
1910 default_m68k_cpu=68020
1911 default_cf_cpu=5206
1912 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
1913 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"
1914 tm_defines="${tm_defines} MOTOROLA=1"
1915 ;;
1916 mcore-*-elf)
1917 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
1918 tmake_file=mcore/t-mcore
1919 inhibit_libc=true
1920 ;;
1921 mep-*-*)
1922 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
1923 tmake_file=mep/t-mep
1924 c_target_objs="mep-pragma.o"
1925 cxx_target_objs="mep-pragma.o"
1926 if test -d "${srcdir}/../newlib/libc/include" &&
1927 test "x$with_headers" = x; then
1928 with_headers=yes
1929 fi
1930 use_gcc_stdint=wrap
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