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