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