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