]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config.gcc
Remove obsolete Tru64 UNIX V5.1B support
[thirdparty/gcc.git] / gcc / config.gcc
CommitLineData
a89ea0df 1# GCC target-specific configuration file.
8d8da227 2# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
daecebc8 3# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
61ed06c3 4
1322177d 5#This file is part of GCC.
61ed06c3 6
1322177d
LB
7#GCC is free software; you can redistribute it and/or modify it under
8#the terms of the GNU General Public License as published by the Free
9dcd6f09 9#Software Foundation; either version 3, or (at your option) any later
1322177d 10#version.
61ed06c3 11
1322177d
LB
12#GCC is distributed in the hope that it will be useful, but WITHOUT
13#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15#for more details.
61ed06c3
HPN
16
17#You should have received a copy of the GNU General Public License
9dcd6f09
NC
18#along with GCC; see the file COPYING3. If not see
19#<http://www.gnu.org/licenses/>.
61ed06c3 20
a89ea0df
NN
21# This is the GCC target-specific configuration file
22# where a configuration type is mapped to different system-specific
23# definitions and files. This is invoked by the autoconf-generated
24# configure script. Putting it in a separate shell file lets us skip
25# running autoconf when modifying target-specific information.
61ed06c3 26
fa958513
DJ
27# When you change the cases in the OS or target switches, consider
28# updating ../libgcc/config.host also.
29
b01bc573 30# This file switches on the shell variable ${target}, and also uses the
61ed06c3
HPN
31# following shell variables:
32#
33# with_* Various variables as set by configure.
34#
615be2cf 35# enable_threads Either the name, yes or no depending on whether
61ed06c3
HPN
36# threads support was requested.
37#
2121a768 38# default_use_cxa_atexit
c5dde55b
NC
39# The default value for the $enable___cxa_atexit
40# variable. enable___cxa_atexit needs to be set to
41# "yes" for the correct operation of C++ destructors
42# but it relies upon the presence of a non-standard C
43# library function called __cxa_atexit.
44# Since not all C libraries provide __cxa_atexit the
45# default value of $default_use_cxa_atexit is set to
46# "no" except for targets which are known to be OK.
2121a768 47#
f6c5fbfd
NS
48# default_gnu_indirect_function
49# The default value for the $enable_gnu_indirect_function
50# variable. enable_gnu_indirect_function relies
51# upon the presence of a non-standard gnu ifunc support
52# in the assembler, linker and dynamic linker.
53# Since not all libraries provide the dynamic linking
54# support, the default value of
55# $default_gnu_indirect_function is set to
56# "no" except for targets which are known to be OK.
57#
61ed06c3
HPN
58# gas_flag Either yes or no depending on whether GNU as was
59# requested.
60#
61# gnu_ld_flag Either yes or no depending on whether GNU ld was
62# requested.
63
64# This file sets the following shell variables for use by the
65# autoconf-generated configure script:
66#
b01bc573
NN
67# cpu_type The name of the cpu, if different from the first
68# chunk of the canonical target name.
61ed06c3 69#
d5355cb2
JDA
70# tm_defines List of target macros to define for all compilations.
71#
61ed06c3 72# tm_file A list of target macro files, if different from
32fb7c9d
FS
73# "$cpu_type/$cpu_type.h". Usually it's constructed
74# per target in a way like this:
57809813 75# tm_file="${tm_file} dbxelf.h elfos.h ${cpu_type.h}/elf.h"
32fb7c9d
FS
76# Note that the preferred order is:
77# - specific target header "${cpu_type}/${cpu_type.h}"
a4a4b1d3 78# - generic headers like dbxelf.h elfos.h, etc.
32fb7c9d
FS
79# - specializing target headers like ${cpu_type.h}/elf.h
80# This helps to keep OS specific stuff out of the CPU
81# defining header ${cpu_type}/${cpu_type.h}.
61ed06c3 82#
9c63c208
SL
83# It is possible to include automatically-generated
84# build-directory files by prefixing them with "./".
85# All other files should relative to $srcdir/config.
86#
61ed06c3
HPN
87# tm_p_file Location of file with declarations for functions
88# in $out_file.
89#
90# out_file The name of the machine description C support
91# file, if different from "$cpu_type/$cpu_type.c".
92#
c49a6962
JM
93# common_out_file The name of the source file for code shared between
94# the compiler proper and the driver.
95#
61ed06c3
HPN
96# md_file The name of the machine-description file, if
97# different from "$cpu_type/$cpu_type.md".
98#
99# tmake_file A list of machine-description-specific
100# makefile-fragments, if different from
101# "$cpu_type/t-$cpu_type".
102#
1c0ca89d
ZW
103# extra_modes The name of the file containing a list of extra
104# machine modes, if necessary and different from
105# "$cpu_type/$cpu_type-modes.def".
106#
61ed06c3
HPN
107# extra_objs List of extra objects that should be linked into
108# the compiler proper (cc1, cc1obj, cc1plus)
109# depending on target.
110#
30500d84
KC
111# extra_gcc_objs List of extra objects that should be linked into
112# the compiler driver (gcc) depending on target.
113#
61ed06c3 114# extra_headers List of used header files from the directory
817e13c4 115# config/${cpu_type}.
61ed06c3 116#
9b91e436
KT
117# user_headers_inc_next_pre
118# List of header file names of internal gcc header
119# files, which should be prefixed by an include_next.
120# user_headers_inc_next_post
121# List of header file names of internal gcc header
122# files, which should be postfixed by an include_next.
1617e5ee
GK
123# use_gcc_tgmath If set, add tgmath.h to the list of used header
124# files.
125#
207bf79d
JM
126# use_gcc_stdint If "wrap", install a version of stdint.h that
127# wraps the system's copy for hosted compilations;
128# if "provide", provide a version of systems without
129# such a system header; otherwise "none", do not
130# provide such a header at all.
131#
61ed06c3
HPN
132# extra_passes List of extra executables compiled for this target
133# machine, used for compiling from source to object.
134#
61ed06c3
HPN
135# extra_programs Like extra_passes, but these are used when linking.
136#
75685792
RS
137# extra_options List of target-dependent .opt files.
138#
ff7cc307 139# c_target_objs List of extra target-dependent objects that be
aac69a49 140# linked into the C compiler only.
0e5a4ad8 141#
ff7cc307 142# cxx_target_objs List of extra target-dependent objects that be
aac69a49 143# linked into the C++ compiler only.
0e5a4ad8 144#
c776a6d0
DF
145# fortran_target_objs List of extra target-dependent objects that be
146# linked into the fortran compiler only.
147#
ef69da62
SS
148# target_gtfiles List of extra source files with type information.
149#
61ed06c3
HPN
150# xm_defines List of macros to define when compiling for the
151# target machine.
152#
153# xm_file List of files to include when compiling for the
154# target machine.
155#
156# use_collect2 Set to yes or no, depending on whether collect2
157# will be used.
158#
159# target_cpu_default Set to override the default target model.
160#
61ed06c3
HPN
161# gdb_needs_out_file_path
162# Set to yes if gdb needs a dir command with
163# `dirname $out_file`.
164#
61ed06c3
HPN
165# thread_file Set to control which thread package to use.
166#
167# gas Set to yes or no depending on whether the target
168# system normally uses GNU as.
4977bab6
ZW
169#
170# need_64bit_hwint Set to yes if HOST_WIDE_INT must be 64 bits wide
a583a67e
BM
171# for this target. This is true if this target
172# supports "long" or "wchar_t" wider than 32 bits,
173# or BITS_PER_WORD is wider than 32 bits.
11835124
DM
174# The setting made here must match the one made in
175# other locations such as libcpp/configure.ac
7816bea0
DJ
176#
177# configure_default_options
178# Set to an initializer for configure_default_options
179# in configargs.h, based on --with-cpu et cetera.
08b2bad2
SB
180#
181# native_system_header_dir
182# Where system header files are found for this
183# target. This defaults to /usr/include. If
184# the --with-sysroot configure option or the
185# --sysroot command line option is used this
186# will be relative to the sysroot.
61ed06c3
HPN
187
188# The following variables are used in each case-construct to build up the
189# outgoing variables:
190#
61ed06c3
HPN
191# gnu_ld Set to yes or no depending on whether the target
192# system normally uses GNU ld.
acce4e77
JM
193#
194# target_has_targetcm Set to yes or no depending on whether the target
195# has its own definition of targetcm.
c49a6962
JM
196#
197# target_has_targetm_common Set to yes or no depending on whether the
198# target has its own definition of targetm_common.
61ed06c3
HPN
199
200out_file=
c49a6962 201common_out_file=
61ed06c3
HPN
202tmake_file=
203extra_headers=
9b91e436
KT
204user_headers_inc_next_pre=
205user_headers_inc_next_post=
1617e5ee 206use_gcc_tgmath=yes
207bf79d 207use_gcc_stdint=none
61ed06c3 208extra_passes=
61ed06c3
HPN
209extra_programs=
210extra_objs=
61ed06c3 211extra_gcc_objs=
75685792 212extra_options=
aac69a49
NC
213c_target_objs=
214cxx_target_objs=
c776a6d0 215fortran_target_objs=
acce4e77 216target_has_targetcm=no
677f3fa8 217target_has_targetm_common=yes
d5355cb2 218tm_defines=
61ed06c3 219xm_defines=
61ed06c3
HPN
220# Set this to force installation and use of collect2.
221use_collect2=
222# Set this to override the default target model.
223target_cpu_default=
61ed06c3
HPN
224# Set this if gdb needs a dir command with `dirname $out_file`
225gdb_needs_out_file_path=
61ed06c3
HPN
226# Set this to control which thread package will be used.
227thread_file=
228# Reinitialize these from the flag values every loop pass, since some
229# configure entries modify them.
230gas="$gas_flag"
231gnu_ld="$gnu_ld_flag"
2121a768 232default_use_cxa_atexit=no
f6c5fbfd 233default_gnu_indirect_function=no
6ab185d6 234target_gtfiles=
4977bab6 235need_64bit_hwint=
c6b9174f 236need_64bit_isa=
08b2bad2 237native_system_header_dir=/usr/include
61ed06c3 238
6a38414a
NN
239# Don't carry these over build->host->target. Please.
240xm_file=
241md_file=
242
9340544b 243# Obsolete configurations.
32243d46 244case ${target} in
9094e001
RE
245 # Avoid special cases that are not obsolete
246 arm*-*-*eabi* \
247 )
248 ;;
5c30094f 249 arm*-*-ecos-elf \
9094e001
RE
250 | arm*-*-elf \
251 | arm*-*-freebsd* \
252 | arm*-*-linux* \
253 | arm*-*-rtems* \
254 | arm*-*-uclinux* \
255 | arm*-wince-pe* \
179fc656 256 | mips-sgi-irix6.5 \
3fd7879d 257 | mips*-*-openbsd* \
f85b70fd 258 | score-* \
c43d9a1b 259 | *-*-solaris2.8* \
32243d46
JM
260 )
261 if test "x$enable_obsolete" != xyes; then
262 echo "*** Configuration ${target} is obsolete." >&2
263 echo "*** Specify --enable-obsolete to build it anyway." >&2
264 echo "*** Support will be REMOVED in the next major release of GCC," >&2
265 echo "*** unless a maintainer comes forward." >&2
266 exit 1
267 fi;;
268esac
9340544b 269
7c942e17
ZW
270# Unsupported targets list. Do not put an entry in this list unless
271# it would otherwise be caught by a more permissive pattern. The list
272# should be in alphabetical order.
b01bc573 273case ${target} in
cd985f66 274 i[34567]86-go32-* \
7c942e17 275 | i[34567]86-*-go32* \
ebb9f8b0 276 | m68k-*-uclinuxoldabi* \
7c942e17 277 | mips64orion*-*-rtems* \
52c0e446 278 | pdp11-*-bsd \
7c942e17
ZW
279 | sparc-hal-solaris2* \
280 | thumb-*-* \
0db8fa89
GP
281 | *-*-freebsd[12] | *-*-freebsd[12].* \
282 | *-*-freebsd*aout* \
cd985f66 283 | *-*-linux*aout* \
7c942e17 284 | *-*-linux*coff* \
cd985f66 285 | *-*-linux*libc1* \
7c942e17
ZW
286 | *-*-linux*oldld* \
287 | *-*-rtemsaout* \
288 | *-*-rtemscoff* \
1500b428 289 | *-*-solaris2 \
c7392d11
RO
290 | *-*-solaris2.[0-7] \
291 | *-*-solaris2.[0-7].* \
cd985f66 292 | *-*-sysv* \
9ab346a1 293 | vax-*-vms* \
7c942e17 294 )
b01bc573 295 echo "*** Configuration ${target} not supported" 1>&2
7c942e17
ZW
296 exit 1
297 ;;
298esac
299
61ed06c3 300# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
ba1e6c0b
JM
301# updated in each machine entry. Also set default extra_headers for some
302# machines.
61ed06c3 303tm_p_file=
b01bc573 304cpu_type=`echo ${target} | sed 's/-.*$//'`
a8e04fe6 305cpu_is_64bit=
b01bc573 306case ${target} in
38b2d076
DD
307m32c*-*-*)
308 cpu_type=m32c
309 tmake_file=m32c/t-m32c
41dfca87 310 target_has_targetm_common=no
38b2d076 311 ;;
61ed06c3
HPN
312alpha*-*-*)
313 cpu_type=alpha
4977bab6 314 need_64bit_hwint=yes
34251c0e 315 extra_options="${extra_options} g.opt"
61ed06c3 316 ;;
2beef00e
AO
317am33_2.0-*-linux*)
318 cpu_type=mn10300
319 ;;
150b72ed
DJ
320arm*-*-*)
321 cpu_type=arm
88f77cba 322 extra_headers="mmintrin.h arm_neon.h"
b76c3c4b
PB
323 c_target_objs="arm-c.o"
324 cxx_target_objs="arm-c.o"
ad7be009 325 extra_options="${extra_options} arm/arm-tables.opt"
150b72ed 326 ;;
17fad361
AH
327avr-*-*)
328 cpu_type=avr
329 c_target_objs="avr-c.o"
330 cxx_target_objs="avr-c.o"
1b916ca6 331 extra_options="${extra_options} avr/avr-tables.opt"
17fad361 332 ;;
0d4a78eb
BS
333bfin*-*)
334 cpu_type=bfin
335 ;;
99c5227a
HPN
336crisv32-*)
337 cpu_type=cris
338 ;;
faf9ab98 339frv*) cpu_type=frv
34251c0e 340 extra_options="${extra_options} g.opt"
faf9ab98 341 ;;
cceb575c 342moxie*) cpu_type=moxie
677f3fa8 343 target_has_targetm_common=no
cceb575c 344 ;;
7d33c31d
KH
345fido-*-*)
346 cpu_type=m68k
347 extra_headers=math-68881.h
47c94d21 348 extra_options="${extra_options} m68k/m68k-tables.opt"
7d33c31d 349 ;;
61ed06c3
HPN
350i[34567]86-*-*)
351 cpu_type=i386
ab442df7
MM
352 c_target_objs="i386-c.o"
353 cxx_target_objs="i386-c.o"
5e9627ca 354 need_64bit_hwint=yes
d48e78d6 355 extra_options="${extra_options} fused-madd.opt"
b3172cab 356 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
3b8dd071 357 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
cbf2e4d4 358 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
43a8b705 359 immintrin.h x86intrin.h avxintrin.h xopintrin.h
7fccdfcf 360 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
82feeb8d 361 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
bf2eaa3f
KY
362 avx2intrin.h fmaintrin.h f16cintrin.h rtmintrin.h
363 xtestintrin.h"
61ed06c3 364 ;;
14f73b5a
JH
365x86_64-*-*)
366 cpu_type=i386
ab442df7
MM
367 c_target_objs="i386-c.o"
368 cxx_target_objs="i386-c.o"
d48e78d6 369 extra_options="${extra_options} fused-madd.opt"
b3172cab 370 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
3b8dd071 371 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
cbf2e4d4 372 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
43a8b705 373 immintrin.h x86intrin.h avxintrin.h xopintrin.h
7fccdfcf 374 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
82feeb8d 375 lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h
bf2eaa3f
KY
376 avx2intrin.h fmaintrin.h f16cintrin.h rtmintrin.h
377 xtestintrin.h"
4977bab6 378 need_64bit_hwint=yes
14f73b5a 379 ;;
817e13c4
JM
380ia64-*-*)
381 extra_headers=ia64intrin.h
4977bab6 382 need_64bit_hwint=yes
f19f1e5e 383 extra_options="${extra_options} g.opt fused-madd.opt"
817e13c4 384 ;;
cd985f66 385hppa*-*-*)
61ed06c3
HPN
386 cpu_type=pa
387 ;;
34251c0e
JM
388lm32*)
389 extra_options="${extra_options} g.opt"
390 ;;
ad126521
KI
391m32r*-*-*)
392 cpu_type=m32r
34251c0e 393 extra_options="${extra_options} g.opt"
ad126521 394 ;;
ba1e6c0b
JM
395m68k-*-*)
396 extra_headers=math-68881.h
47c94d21 397 extra_options="${extra_options} m68k/m68k-tables.opt"
61ed06c3 398 ;;
80920132
ME
399microblaze*-*-*)
400 cpu_type=microblaze
401 extra_options="${extra_options} g.opt"
402 ;;
61ed06c3
HPN
403mips*-*-*)
404 cpu_type=mips
4977bab6 405 need_64bit_hwint=yes
93581857 406 extra_headers="loongson.h"
d371df6f 407 extra_options="${extra_options} g.opt mips/mips-tables.opt"
61ed06c3 408 ;;
358da97e
HS
409picochip-*-*)
410 cpu_type=picochip
411 ;;
61ed06c3
HPN
412powerpc*-*-*)
413 cpu_type=rs6000
437cc56a 414 extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h"
4977bab6 415 need_64bit_hwint=yes
a8e04fe6 416 case x$with_cpu in
b17f98b1 417 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell|xa2|xe500mc64)
a8e04fe6
AM
418 cpu_is_64bit=yes
419 ;;
420 esac
f10d3ac9 421 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
4977bab6
ZW
422 ;;
423rs6000*-*-*)
424 need_64bit_hwint=yes
f10d3ac9 425 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
4977bab6 426 ;;
bdcee471
CL
427score*-*-*)
428 cpu_type=score
34251c0e 429 extra_options="${extra_options} g.opt"
bdcee471 430 ;;
61ed06c3
HPN
431sparc*-*-*)
432 cpu_type=sparc
8d12174d
DM
433 c_target_objs="sparc-c.o"
434 cxx_target_objs="sparc-c.o"
e7f799ce 435 extra_headers="visintrin.h"
5f7ca34b 436 need_64bit_hwint=yes
61ed06c3 437 ;;
85d9c13c
TS
438spu*-*-*)
439 cpu_type=spu
440 need_64bit_hwint=yes
441 ;;
4977bab6 442s390*-*-*)
6cecb0aa 443 cpu_type=s390
4977bab6 444 need_64bit_hwint=yes
d7ecb504 445 extra_options="${extra_options} fused-madd.opt"
4977bab6 446 ;;
b4eb03fe 447# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
a1fcb9a1 448sh[123456789lbe]*-*-* | sh-*-*)
fa5322fa 449 cpu_type=sh
4977bab6 450 need_64bit_hwint=yes
fa5322fa 451 ;;
fd4df33d
NC
452v850*-*-*)
453 cpu_type=v850
454 ;;
bcead286
BS
455tic6x-*-*)
456 cpu_type=c6x
457 extra_headers="c6x_intrinsics.h"
458 extra_options="${extra_options} c6x/c6x-tables.opt"
459 ;;
47c21725
RH
460xtensa*-*-*)
461 extra_options="${extra_options} fused-madd.opt"
462 ;;
dd552284
WL
463tilegx*-*-*)
464 cpu_type=tilegx
465 need_64bit_hwint=yes
466 ;;
467tilepro-*-*)
468 cpu_type=tilepro
469 need_64bit_hwint=yes
470 ;;
61ed06c3
HPN
471esac
472
473tm_file=${cpu_type}/${cpu_type}.h
b6d7afec 474if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
61ed06c3 475then
b6d7afec
ZW
476 tm_p_file=${cpu_type}/${cpu_type}-protos.h
477fi
1c0ca89d
ZW
478extra_modes=
479if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
480then
481 extra_modes=${cpu_type}/${cpu_type}-modes.def
482fi
75685792
RS
483if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
484then
485 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
486fi
e564e618 487
b01bc573 488case ${target} in
922e3e33 489i[34567]86-*-*)
0e462a95 490 if test "x$enable_cld" = xyes; then
922e3e33
UB
491 tm_defines="${tm_defines} USE_IX86_CLD=1"
492 fi
d79389af
L
493 if test "x$enable_frame_pointer" = xyes; then
494 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
495 fi
bf016de8 496 tm_file="vxworks-dummy.h ${tm_file}"
922e3e33 497 ;;
e564e618
DB
498x86_64-*-*)
499 tm_file="i386/biarch64.h ${tm_file}"
0e462a95 500 if test "x$enable_cld" = xyes; then
922e3e33
UB
501 tm_defines="${tm_defines} USE_IX86_CLD=1"
502 fi
d79389af
L
503 if test "x$enable_frame_pointer" = xyes; then
504 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
505 fi
bf016de8 506 tm_file="vxworks-dummy.h ${tm_file}"
e564e618
DB
507 ;;
508esac
509
61ed06c3 510# On a.out targets, we need to use collect2.
b01bc573 511case ${target} in
61ed06c3
HPN
512*-*-*aout*)
513 use_collect2=yes
514 ;;
0e5a4ad8 515esac
61ed06c3 516
2c8f43e6
MK
517# Common C libraries.
518tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"
519
4977bab6 520# Common parts for widely ported systems.
b01bc573 521case ${target} in
4d6d5bb2 522*-*-darwin*)
c3a9a336 523 tmake_file="t-darwin ${cpu_type}/t-darwin"
80c85ca2
MS
524 tm_file="${tm_file} darwin.h"
525 case ${target} in
c9c80434 526 *-*-darwin9*)
80c85ca2
MS
527 tm_file="${tm_file} darwin9.h"
528 ;;
c9c80434
JH
529 *-*-darwin[12][0-9]*)
530 tm_file="${tm_file} darwin9.h darwin10.h"
531 ;;
80c85ca2
MS
532 esac
533 tm_file="${tm_file} ${cpu_type}/darwin.h"
4d6d5bb2 534 tm_p_file="${tm_p_file} darwin-protos.h"
4d6d5bb2 535 target_gtfiles="\$(srcdir)/config/darwin.c"
6ac49599 536 extra_options="${extra_options} darwin.opt"
ab442df7
MM
537 c_target_objs="${c_target_objs} darwin-c.o"
538 cxx_target_objs="${cxx_target_objs} darwin-c.o"
c776a6d0 539 fortran_target_objs="darwin-f.o"
acce4e77 540 target_has_targetcm=yes
4d6d5bb2 541 extra_objs="darwin.o"
e46b55d0 542 extra_gcc_objs="darwin-driver.o"
747b9f55 543 default_use_cxa_atexit=yes
428ddbf0 544 use_gcc_stdint=wrap
4d6d5bb2
NN
545 case ${enable_threads} in
546 "" | yes | posix) thread_file='posix' ;;
547 esac
548 ;;
4d6d5bb2
NN
549*-*-freebsd*)
550 # This is the generic ELF configuration of FreeBSD. Later
551 # machine-specific sections may refine and add to this
552 # configuration.
553 #
554 # Due to tm_file entry ordering issues that vary between cpu
555 # architectures, we only define fbsd_tm_file to allow the
556 # machine-specific section to dictate the final order of all
557 # entries of tm_file with the minor exception that components
558 # of the tm_file set here will always be of the form:
559 #
560 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
561 #
562 # The machine-specific section should not tamper with this
563 # ordering but may order all other entries of tm_file as it
564 # pleases around the provided core setting.
565 gas=yes
566 gnu_ld=yes
b2449d40
CR
567 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
568 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
f9989b51 569 tmake_file="t-slibgcc"
4d6d5bb2
NN
570 case ${enable_threads} in
571 no)
572 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
573 ;;
769e49eb 574 "" | yes | posix)
4d6d5bb2 575 thread_file='posix'
4d6d5bb2 576 ;;
f7288899 577 *)
4d6d5bb2
NN
578 echo 'Unknown thread configuration for FreeBSD'
579 exit 1
580 ;;
581 esac
5ac69a80 582 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
baf3ead6 583 extra_options="$extra_options rpath.opt freebsd.opt"
8a47c6c4
LR
584 case ${target} in
585 *-*-freebsd[345].*)
586 :;;
587 *)
588 default_use_cxa_atexit=yes;;
589 esac
590 # need_64bit_hwint=yes # system compiler has this for all arch!
5ac69a80 591 use_gcc_stdint=wrap
4d6d5bb2 592 ;;
416ac4d4 593*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
b8e7038e 594 extra_options="$extra_options gnu-user.opt"
e3029773
NN
595 gas=yes
596 gnu_ld=yes
597 case ${enable_threads} in
598 "" | yes | posix) thread_file='posix' ;;
599 esac
f9989b51 600 tmake_file="t-slibgcc"
3328a3b7 601 case $target in
416ac4d4 602 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu)
3328a3b7
TS
603 :;;
604 *-*-gnu*)
08b2bad2
SB
605 native_system_header_dir=/include
606 ;;
3328a3b7 607 esac
74c70253
MK
608 # glibc / uclibc / bionic switch.
609 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
3328a3b7
TS
610 case $target in
611 *linux*)
612 extra_options="$extra_options linux.opt";;
3328a3b7 613 esac
74c70253
MK
614 case $target in
615 *-*-*android*)
616 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
617 ;;
464aea98 618 *-*-*uclibc*)
74c70253 619 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
7bd85ce0
JM
620 ;;
621 *)
74c70253 622 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
464aea98
JM
623 ;;
624 esac
74c70253
MK
625 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
626 # is provided.
c5dde55b 627 default_use_cxa_atexit=yes
1617e5ee 628 use_gcc_tgmath=no
207bf79d 629 use_gcc_stdint=wrap
51b9db92
MK
630 # Add Android userspace support to Linux targets.
631 case $target in
632 *linux*)
633 tm_file="$tm_file linux-android.h"
634 extra_options="$extra_options linux-android.opt"
635 ;;
636 esac
637 # Enable compilation for Android by default for *android* targets.
638 case $target in
639 *-*-*android*)
640 tm_defines="$tm_defines ANDROID_DEFAULT=1"
641 ;;
642 *)
643 tm_defines="$tm_defines ANDROID_DEFAULT=0"
644 ;;
645 esac
e3029773 646 ;;
f982f805 647*-*-netbsd*)
f9989b51 648 tmake_file="t-slibgcc"
e3029773
NN
649 gas=yes
650 gnu_ld=yes
51b7c247 651
e3029773
NN
652 # NetBSD 2.0 and later get POSIX threads enabled by default.
653 # Allow them to be explicitly enabled on any other version.
654 case ${enable_threads} in
655 "")
656 case ${target} in
657 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
658 thread_file='posix'
659 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
660 ;;
661 esac
662 ;;
663 yes | posix)
664 thread_file='posix'
665 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
666 ;;
667 esac
1169f9e0 668
e3029773
NN
669 # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
670 # default (unless overridden by --disable-__cxa_atexit).
671 case ${target} in
672 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
673 default_use_cxa_atexit=yes
674 ;;
675 esac
676 ;;
4d6d5bb2 677*-*-openbsd*)
f9989b51 678 tmake_file="t-openbsd"
e3029773 679 case ${enable_threads} in
4d6d5bb2 680 yes)
e3029773 681 thread_file='posix'
e3029773
NN
682 ;;
683 esac
378b66d4
ME
684 case ${target} in
685 *-*-openbsd2.*|*-*-openbsd3.[012])
686 tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
687 esac
e3029773 688 ;;
8179b3c8
NN
689*-*-rtems*)
690 case ${enable_threads} in
691 yes) thread_file='rtems' ;;
692 esac
cd33a412 693 extra_options="${extra_options} rtems.opt"
207bf79d
JM
694 use_gcc_stdint=wrap
695 ;;
696*-*-uclinux*)
b8e7038e 697 extra_options="$extra_options gnu-user.opt"
207bf79d 698 use_gcc_stdint=wrap
b5a54c03 699 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
8179b3c8 700 ;;
c28aa982 701*-*-solaris2*)
7ecfa34f
RO
702 # i?86-*-solaris2* needs to insert headers between cpu default and
703 # Solaris 2 specific ones.
704 sol2_tm_file="dbxelf.h elfos.h ${cpu_type}/sysv4.h sol2.h ${cpu_type}/sol2.h"
705 case ${target} in
706 *-*-solaris2.1[0-9]*)
707 sol2_tm_file="${sol2_tm_file} sol2-10.h"
708 use_gcc_stdint=wrap
709 ;;
710 *)
711 use_gcc_stdint=provide
712 ;;
713 esac
714 if test x$gnu_ld = xyes; then
715 tm_file="usegld.h ${tm_file}"
716 fi
717 if test x$gas = xyes; then
718 tm_file="usegas.h ${tm_file}"
719 fi
720 tm_p_file="${tm_p_file} sol2-protos.h"
b040f2be 721 tmake_file="${tmake_file} t-sol2 t-slibgcc"
7ecfa34f 722 c_target_objs="${c_target_objs} sol2-c.o"
5b880ea6
RO
723 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
724 extra_objs="sol2.o sol2-stubs.o"
c28aa982 725 extra_options="${extra_options} sol2.opt"
7ecfa34f
RO
726 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
727 "":yes:* | yes:yes:* )
728 thread_file=posix
729 ;;
730 esac
c28aa982 731 ;;
18a24fed
TG
732*-*-*vms*)
733 extra_options="${extra_options} vms/vms.opt"
734 xmake_file=vms/x-vms
b040f2be 735 tmake_file="vms/t-vms t-slibgcc"
db8b22ef
TG
736 extra_objs="vms.o"
737 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
738 tm_p_file="${tm_p_file} vms/vms-protos.h"
d8aba32a 739 xm_file="vms/xm-vms.h"
c750e768
TG
740 c_target_objs="vms-c.o"
741 cxx_target_objs="vms-c.o"
18a24fed
TG
742 if test x$gnu_ld != xyes; then
743 # Build wrappers for native case.
744 extra_programs="ld\$(exeext) ar\$(exeext)"
745 tmake_file="$tmake_file vms/t-vmsnative"
746 fi
747 ;;
4977bab6 748*-*-vxworks*)
e3029773 749 tmake_file=t-vxworks
2eab15c9
PE
750 xm_defines=POSIX
751 extra_options="${extra_options} vxworks.opt"
b2f4bed8 752 extra_objs=vxworks.o
55047c9d
PE
753 case ${enable_threads} in
754 no) ;;
755 "" | yes | vxworks) thread_file='vxworks' ;;
756 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
757 esac
e3029773 758 ;;
c5dde55b
NC
759*-*-elf)
760 # Assume that newlib is being used and so __cxa_atexit is provided.
761 default_use_cxa_atexit=yes
207bf79d 762 use_gcc_stdint=wrap
c5dde55b 763 ;;
61ed06c3
HPN
764esac
765
b01bc573 766case ${target} in
61ed06c3 767alpha*-*-linux*)
207bf79d 768 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
183c38a4 769 extra_options="${extra_options} alpha/elf.opt"
61ed06c3 770 target_cpu_default="MASK_GAS"
61ed06c3
HPN
771 ;;
772alpha*-*-freebsd*)
9e405fe5 773 tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
183c38a4 774 extra_options="${extra_options} alpha/elf.opt"
61ed06c3 775 target_cpu_default="MASK_GAS"
61ed06c3
HPN
776 ;;
777alpha*-*-netbsd*)
f982f805 778 tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
183c38a4
JM
779 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
780 alpha/elf.opt"
61ed06c3 781 target_cpu_default="MASK_GAS"
61ed06c3 782 ;;
61ed06c3 783alpha*-*-openbsd*)
aa58f943
JG
784 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
785 tm_file="alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
183c38a4 786 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
61ed06c3
HPN
787 # default x-alpha is only appropriate for dec-osf.
788 target_cpu_default="MASK_GAS"
61ed06c3 789 ;;
ef057c45 790alpha*-dec-*vms*)
ba89fcb6 791 tm_file="${tm_file} vms/vms.h alpha/vms.h"
f9989b51 792 tmake_file="${tmake_file} alpha/t-vms"
61ed06c3 793 ;;
55047c9d 794arm-wrs-vxworks)
c447f774 795 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
59793c51 796 extra_options="${extra_options} arm/vxworks.opt"
2f71a20a 797 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
55047c9d 798 ;;
cd985f66 799arm*-*-freebsd*)
5742588d 800 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h"
2f71a20a 801 tmake_file="${tmake_file} arm/t-arm arm/t-strongarm-elf"
5742588d 802 ;;
69474c3c 803arm*-*-netbsdelf*)
ff3afb56 804 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h"
a4714d14 805 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
f9989b51 806 tmake_file="${tmake_file} arm/t-arm"
69474c3c 807 ;;
14879e76 808arm*-*-linux*) # ARM GNU/Linux with ELF
8e38461c 809 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"
d3a9662c 810 case $target in
e3ed9d60 811 arm*b-*-linux*)
d3a9662c
BF
812 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
813 ;;
814 esac
f9989b51 815 tmake_file="${tmake_file} arm/t-arm"
077fc835 816 case ${target} in
464aea98 817 arm*-*-linux-*eabi)
077fc835 818 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
e04d8a63 819 tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
d47a371c
MK
820 # Define multilib configuration for arm-linux-androideabi.
821 case ${target} in
822 *-androideabi)
823 tmake_file="$tmake_file arm/t-linux-androideabi"
824 ;;
825 esac
f7288899 826 # The BPABI long long divmod functions return a 128-bit value in
077fc835
KH
827 # registers r0-r3. Correctly modeling that requires the use of
828 # TImode.
829 need_64bit_hwint=yes
830 # The EABI requires the use of __cxa_atexit.
831 default_use_cxa_atexit=yes
832 ;;
833 *)
834 tmake_file="$tmake_file arm/t-linux"
835 ;;
836 esac
7cf13d1f 837 with_tls=${with_tls:-gnu}
077fc835 838 tm_file="$tm_file arm/aout.h arm/arm.h"
61ed06c3
HPN
839 ;;
840arm*-*-uclinux*) # ARM ucLinux
207bf79d 841 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
2f71a20a 842 tmake_file="arm/t-arm arm/t-arm-elf"
c147eacb 843 case ${target} in
a8221440 844 arm*-*-uclinux*eabi)
c147eacb 845 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
e04d8a63 846 tmake_file="$tmake_file arm/t-bpabi"
c147eacb
PB
847 # The BPABI long long divmod functions return a 128-bit value in
848 # registers r0-r3. Correctly modeling that requires the use of
849 # TImode.
850 need_64bit_hwint=yes
851 # The EABI requires the use of __cxa_atexit.
852 default_use_cxa_atexit=yes
853 esac
854 tm_file="$tm_file arm/aout.h arm/arm.h"
61ed06c3 855 ;;
61ed06c3 856arm*-*-ecos-elf)
207bf79d 857 tm_file="dbxelf.h elfos.h newlib-stdint.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
315cd6b5 858 tmake_file="arm/t-arm arm/t-arm-elf"
0e5a4ad8 859 ;;
e36c5271 860arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
f7288899 861 # The BPABI long long divmod functions return a 128-bit value in
b3f8d95d
MM
862 # registers r0-r3. Correctly modeling that requires the use of
863 # TImode.
864 need_64bit_hwint=yes
e6fc6c9b 865 default_use_cxa_atexit=yes
b3f8d95d 866 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
0393a68a 867 tmake_file="arm/t-arm arm/t-arm-elf"
b3f8d95d 868 case ${target} in
f9a02408 869 arm*-*-eabi*)
51b9db92 870 tm_file="$tm_file newlib-stdint.h"
e04d8a63 871 tmake_file="${tmake_file} arm/t-bpabi"
207bf79d 872 use_gcc_stdint=wrap
f9a02408 873 ;;
e36c5271
SH
874 arm*-*-rtemseabi*)
875 tm_file="${tm_file} rtems.h arm/rtems-eabi.h newlib-stdint.h"
876 tmake_file="${tmake_file} arm/t-bpabi t-rtems arm/t-rtems-eabi"
877 ;;
b3f8d95d
MM
878 arm*-*-symbianelf*)
879 tm_file="${tm_file} arm/symbian.h"
f9a02408
MM
880 # We do not include t-bpabi for Symbian OS because the system
881 # provides its own implementation of the BPABI functions.
c0354bf4 882 tmake_file="${tmake_file} arm/t-symbian"
b3f8d95d
MM
883 ;;
884 esac
885 tm_file="${tm_file} arm/aout.h arm/arm.h"
336bd6ac 886 ;;
f22b4bc4 887arm*-*-rtems*)
207bf79d 888 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h newlib-stdint.h"
70d64189 889 tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
f22b4bc4 890 ;;
cd985f66 891arm*-*-elf)
207bf79d 892 tm_file="dbxelf.h elfos.h newlib-stdint.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
2f71a20a 893 tmake_file="arm/t-arm arm/t-arm-elf"
61ed06c3 894 ;;
52f97a3b 895arm*-wince-pe*)
ca11c37c 896 tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h arm/wince-pe.h"
2f71a20a 897 tmake_file="arm/t-arm arm/t-wince-pe"
c54c7322 898 extra_options="${extra_options} arm/pe.opt"
52f97a3b
NC
899 extra_objs="pe.o"
900 ;;
63933fc3 901avr-*-rtems*)
884f56d1
GJL
902 tm_file="elfos.h avr/elf.h avr/avr.h avr/multilib.h dbxelf.h avr/rtems.h rtems.h newlib-stdint.h"
903 tmake_file="avr/t-avr avr/t-multilib t-rtems avr/t-rtems"
59ab92d2 904 extra_gcc_objs="driver-avr.o avr-devices.o"
6c7dfafe 905 extra_objs="avr-devices.o avr-log.o"
63933fc3 906 ;;
61ed06c3 907avr-*-*)
884f56d1
GJL
908 tm_file="elfos.h avr/elf.h avr/avr.h avr/multilib.h dbxelf.h newlib-stdint.h"
909 tmake_file="avr/t-avr avr/t-multilib"
207bf79d 910 use_gcc_stdint=wrap
59ab92d2 911 extra_gcc_objs="driver-avr.o avr-devices.o"
6c7dfafe 912 extra_objs="avr-devices.o avr-log.o"
61ed06c3 913 ;;
0d4a78eb 914bfin*-elf*)
207bf79d 915 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
6bad46f7
JZ
916 tmake_file=bfin/t-bfin-elf
917 use_collect2=no
918 ;;
1f4174d4 919bfin*-uclinux*)
8e38461c 920 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
6bad46f7 921 tmake_file=bfin/t-bfin-uclinux
6bad46f7
JZ
922 use_collect2=no
923 ;;
344189f9 924bfin*-linux-uclibc*)
8e38461c 925 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"
b040f2be 926 tmake_file="bfin/t-bfin-linux t-slibgcc"
6bad46f7
JZ
927 use_collect2=no
928 ;;
152167d5 929bfin*-rtems*)
1ddc8057 930 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
45b86625 931 tmake_file="t-rtems bfin/t-rtems"
6bad46f7 932 ;;
0d4a78eb 933bfin*-*)
207bf79d 934 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
6bad46f7 935 use_collect2=no
207bf79d 936 use_gcc_stdint=wrap
6bad46f7 937 ;;
b25364a0
S
938cr16-*-elf)
939 tm_file="elfos.h ${tm_file}"
940 tmake_file="${tmake_file} cr16/t-cr16 "
941 use_collect2=no
942 ;;
99c5227a 943crisv32-*-elf | crisv32-*-none)
207bf79d 944 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
99c5227a
HPN
945 tmake_file="cris/t-cris"
946 target_cpu_default=32
947 gas=yes
948 extra_options="${extra_options} cris/elf.opt"
207bf79d 949 use_gcc_stdint=wrap
99c5227a 950 ;;
0b85d816 951cris-*-elf | cris-*-none)
207bf79d 952 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
0b85d816
HPN
953 tmake_file="cris/t-cris cris/t-elfmulti"
954 gas=yes
2a186d97 955 extra_options="${extra_options} cris/elf.opt"
207bf79d 956 use_gcc_stdint=wrap
0b85d816 957 ;;
99c5227a 958crisv32-*-linux* | cris-*-linux*)
8e38461c 959 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
65d151a7 960 # We need to avoid using t-linux, so override default tmake_file
b040f2be 961 tmake_file="cris/t-cris cris/t-linux t-slibgcc"
2a186d97 962 extra_options="${extra_options} cris/linux.opt"
99c5227a
HPN
963 case $target in
964 cris-*-*)
965 target_cpu_default=10
966 ;;
967 crisv32-*-*)
968 target_cpu_default=32
969 ;;
970 esac
0b85d816 971 ;;
feeeff5c
JR
972epiphany-*-elf )
973 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
974 tmake_file="epiphany/t-epiphany"
975 extra_options="${extra_options} fused-madd.opt"
976 extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
977 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
978 extra_headers="epiphany_intrinsics.h"
979 ;;
61ed06c3 980fr30-*-elf)
35766c1d 981 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
61ed06c3 982 ;;
36a05131 983frv-*-elf)
a3724010 984 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
36a05131
BS
985 tmake_file=frv/t-frv
986 ;;
34208acf 987frv-*-*linux*)
a3724010 988 tm_file="dbxelf.h elfos.h ${tm_file} \
8e38461c 989 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
65d151a7 990 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
34208acf 991 ;;
cceb575c
AG
992moxie-*-elf)
993 gas=yes
994 gnu_ld=yes
804a304d 995 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
aca0b0b3 996 tmake_file="${tmake_file} moxie/t-moxie"
cceb575c 997 ;;
23865616
AG
998moxie-*-uclinux*)
999 gas=yes
1000 gnu_ld=yes
8e38461c 1001 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
aca0b0b3 1002 tmake_file="${tmake_file} moxie/t-moxie"
23865616 1003 ;;
1242723c 1004moxie-*-rtems*)
aca0b0b3 1005 tmake_file="${tmake_file} moxie/t-moxie t-rtems"
1242723c
AG
1006 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1007 ;;
4c5bf198 1008h8300-*-rtems*)
5f73c6cc 1009 tmake_file="h8300/t-h8300 t-rtems h8300/t-rtems"
207bf79d 1010 tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h newlib-stdint.h"
4c5bf198 1011 ;;
9f5b774b 1012h8300-*-elf*)
5f73c6cc 1013 tmake_file="h8300/t-h8300"
207bf79d 1014 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
9f5b774b 1015 ;;
cd985f66 1016hppa*64*-*-linux*)
d711cf67 1017 target_cpu_default="MASK_PA_11|MASK_PA_20"
8e38461c 1018 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
207bf79d
JM
1019 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1020 pa/pa64-linux.h"
c21a2372 1021 gas=yes gnu_ld=yes
4977bab6 1022 need_64bit_hwint=yes
c21a2372 1023 ;;
cd985f66 1024hppa*-*-linux*)
d711cf67 1025 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
8e38461c 1026 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
c21a2372 1027 pa/pa32-regs.h pa/pa32-linux.h"
61ed06c3 1028 ;;
ca11c37c
ZW
1029# port not yet contributed.
1030#hppa*-*-openbsd*)
d711cf67 1031# target_cpu_default="MASK_PA_11"
ca11c37c 1032# ;;
d711cf67
JDA
1033hppa[12]*-*-hpux10*)
1034 case ${target} in
1035 hppa1.1-*-* | hppa2*-*-*)
1036 target_cpu_default="MASK_PA_11"
1037 ;;
1038 esac
1039 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1040 pa/pa-hpux.h pa/pa-hpux10.h"
b24d1acf 1041 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
d711cf67
JDA
1042 case ${target} in
1043 *-*-hpux10.[1-9]*)
1044 tm_file="${tm_file} pa/pa-hpux1010.h"
66617831 1045 extra_options="${extra_options} pa/pa-hpux1010.opt"
d711cf67 1046 ;;
61ed06c3 1047 esac
be3e4ef6
JDA
1048 use_gcc_stdint=provide
1049 tm_file="${tm_file} hpux-stdint.h"
f9989b51 1050 tmake_file="t-slibgcc"
615be2cf
NN
1051 case ${enable_threads} in
1052 "")
1053 if test x$have_pthread_h = xyes ; then
1054 tmake_file="${tmake_file} pa/t-dce-thr"
1055 fi
1056 ;;
1057 yes | dce)
1058 tmake_file="${tmake_file} pa/t-dce-thr"
1059 ;;
61ed06c3 1060 esac
61ed06c3 1061 use_collect2=yes
543b6009 1062 gas=yes
a65264ae 1063 if test "x$with_dwarf2" != x; then
5cdb5d59 1064 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
a65264ae
JDA
1065 dwarf2=no
1066 fi
61ed06c3
HPN
1067 ;;
1068hppa*64*-*-hpux11*)
d711cf67 1069 target_cpu_default="MASK_PA_11|MASK_PA_20"
7b79fe71
JDA
1070 if test x$gnu_ld = xyes
1071 then
d711cf67 1072 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
7b79fe71 1073 fi
543b6009
SE
1074 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1075 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1076 pa/pa-hpux11.h"
d711cf67 1077 case ${target} in
fc4538e4 1078 *-*-hpux11.[12]*)
d711cf67 1079 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
66617831 1080 extra_options="${extra_options} pa/pa-hpux1111.opt"
d711cf67 1081 ;;
fc4538e4
SE
1082 *-*-hpux11.[3-9]*)
1083 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1084 extra_options="${extra_options} pa/pa-hpux1131.opt"
1085 ;;
d711cf67
JDA
1086 *)
1087 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1088 ;;
1089 esac
66617831 1090 extra_options="${extra_options} pa/pa-hpux.opt \
e543b94c 1091 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
4977bab6 1092 need_64bit_hwint=yes
f9989b51 1093 tmake_file="t-slibgcc"
7e2055ec 1094 case x${enable_threads} in
27ca3a61 1095 x | xyes | xposix )
f7288899 1096 thread_file=posix
7e2055ec
ZW
1097 ;;
1098 esac
543b6009 1099 gas=yes
9a17c91d
SE
1100 case ${target} in
1101 *-*-hpux11.[01]*)
1102 use_gcc_stdint=provide
1103 tm_file="${tm_file} hpux-stdint.h"
1104 ;;
1105 *-*-hpux11.[23]*)
1106 use_gcc_stdint=wrap
1107 tm_file="${tm_file} hpux-stdint.h"
1108 ;;
1109 esac
61ed06c3 1110 ;;
d711cf67
JDA
1111hppa[12]*-*-hpux11*)
1112 case ${target} in
1113 hppa1.1-*-* | hppa2*-*-*)
1114 target_cpu_default="MASK_PA_11"
1115 ;;
1116 esac
1117 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
66617831 1118 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
e543b94c
JM
1119 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1120 hpux11.opt"
d711cf67 1121 case ${target} in
fc4538e4 1122 *-*-hpux11.[12]*)
d711cf67 1123 tm_file="${tm_file} pa/pa-hpux1111.h"
66617831 1124 extra_options="${extra_options} pa/pa-hpux1111.opt"
7e2055ec 1125 ;;
fc4538e4
SE
1126 *-*-hpux11.[3-9]*)
1127 tm_file="${tm_file} pa/pa-hpux1131.h"
1128 extra_options="${extra_options} pa/pa-hpux1131.opt"
1129 ;;
7e2055ec 1130 esac
f9989b51 1131 tmake_file="t-slibgcc"
7e2055ec 1132 case x${enable_threads} in
27ca3a61 1133 x | xyes | xposix )
f7288899 1134 thread_file=posix
7e2055ec
ZW
1135 ;;
1136 esac
61ed06c3 1137 use_collect2=yes
543b6009 1138 gas=yes
9a17c91d
SE
1139 case ${target} in
1140 *-*-hpux11.[01]*)
1141 use_gcc_stdint=provide
1142 tm_file="${tm_file} hpux-stdint.h"
1143 ;;
1144 *-*-hpux11.[23]*)
1145 use_gcc_stdint=wrap
1146 tm_file="${tm_file} hpux-stdint.h"
1147 ;;
1148 esac
a65264ae 1149 if test "x$with_dwarf2" != x; then
5cdb5d59 1150 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
a65264ae
JDA
1151 dwarf2=no
1152 fi
61ed06c3 1153 ;;
b069de3b 1154i[34567]86-*-darwin*)
c6b9174f 1155 need_64bit_isa=yes
c0aefbbe
IS
1156 # Baseline choice for a machine that allows m64 support.
1157 with_cpu=${with_cpu:-core2}
b040f2be 1158 tmake_file="${tmake_file} t-slibgcc"
b069de3b 1159 ;;
9519e677 1160x86_64-*-darwin*)
c0aefbbe 1161 with_cpu=${with_cpu:-core2}
b040f2be 1162 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
9519e677
EC
1163 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1164 ;;
61ed06c3 1165i[34567]86-*-elf*)
207bf79d 1166 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
a10dc289
HK
1167 ;;
1168x86_64-*-elf*)
207bf79d 1169 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 1170 ;;
61ed06c3 1171i[34567]86-*-freebsd*)
39ed301b 1172 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
e564e618
DB
1173 ;;
1174x86_64-*-freebsd*)
39ed301b 1175 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 1176 ;;
6ea0279f 1177i[34567]86-*-netbsdelf*)
39ed301b 1178 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
a4714d14 1179 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
6ea0279f 1180 ;;
7c884404 1181x86_64-*-netbsd*)
39ed301b 1182 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
a4714d14 1183 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
7c884404 1184 ;;
378b66d4 1185i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
ca11c37c 1186 tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
5369e2d4 1187 extra_options="${extra_options} openbsd.opt"
f1cf4606 1188 # needed to unconfuse gdb
5f73c6cc 1189 tmake_file="${tmake_file} t-openbsd i386/t-openbsd"
61ed06c3
HPN
1190 # we need collect2 until our bug is fixed...
1191 use_collect2=yes
1192 ;;
378b66d4 1193i[34567]86-*-openbsd*)
75a3bd9d 1194 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
aa58f943 1195 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
5369e2d4 1196 extra_options="${extra_options} openbsd.opt"
378b66d4
ME
1197 gas=yes
1198 gnu_ld=yes
378b66d4 1199 ;;
416ac4d4 1200i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
cfafe973 1201 # Intel 80386's running GNU/*
61ed06c3 1202 # with ELF format using glibc 2
6c0170ea 1203 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
cfafe973 1204 case ${target} in
0f45f0f5 1205 i[34567]86-*-linux*)
6c0170ea 1206 tm_file="${tm_file} linux.h"
f6c5fbfd
NS
1207 # Assume modern glibc
1208 default_gnu_indirect_function=yes
0f45f0f5 1209 if test x$enable_targets = xall; then
e24609cf 1210 tm_file="${tm_file} i386/x86-64.h i386/gnu-user64.h i386/linux64.h"
0f45f0f5 1211 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
ff473280 1212 tmake_file="${tmake_file} i386/t-linux64"
f0ea7581
L
1213 x86_multilibs="${with_multilib_list}"
1214 if test "$x86_multilibs" = "default"; then
1215 x86_multilibs="m64,m32"
1216 fi
1217 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1218 for x86_multilib in ${x86_multilibs}; do
1219 case ${x86_multilib} in
1220 m32 | m64 | mx32)
1221 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1222 ;;
1223 *)
1224 echo "--with-multilib-list=${x86_with_multilib} not supported."
1225 exit 1
1226 esac
1227 done
1228 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
c6b9174f 1229 need_64bit_isa=yes
0f45f0f5 1230 case X"${with_cpu}" in
4d652a18 1231 Xgeneric|Xatom|Xcore2|Xcorei7|Xcorei7-avx|Xnocona|Xx86-64|Xbdver2|Xbdver1|Xbtver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3)
0f45f0f5
JM
1232 ;;
1233 X)
8981c15b
JM
1234 if test x$with_cpu_64 = x; then
1235 with_cpu_64=generic
1236 fi
0f45f0f5
JM
1237 ;;
1238 *)
1239 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
4d652a18 1240 echo "generic atom core2 corei7 corei7-avx nocona x86-64 bdver2 bdver1 btver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2
0f45f0f5
JM
1241 exit 1
1242 ;;
1243 esac
1244 else
e24609cf 1245 tm_file="${tm_file} i386/gnu-user.h i386/linux.h"
0f45f0f5
JM
1246 fi
1247 ;;
63708bf5
UB
1248 i[34567]86-*-knetbsd*-gnu)
1249 tm_file="${tm_file} i386/gnu-user.h knetbsd-gnu.h i386/knetbsd-gnu.h"
1250 ;;
1251 i[34567]86-*-kfreebsd*-gnu)
1252 tm_file="${tm_file} i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1253 ;;
1254 i[34567]86-*-kopensolaris*-gnu)
1255 tm_file="${tm_file} i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1256 ;;
1257 i[34567]86-*-gnu*)
1258 tm_file="$tm_file i386/gnu-user.h gnu.h i386/gnu.h"
1259 ;;
cfafe973 1260 esac
61ed06c3 1261 ;;
44379973 1262x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
6c0170ea
JM
1263 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1264 i386/x86-64.h i386/gnu-user64.h"
44379973 1265 case ${target} in
f6c5fbfd 1266 x86_64-*-linux*)
63708bf5
UB
1267 tm_file="${tm_file} linux.h i386/linux64.h"
1268 # Assume modern glibc
1269 default_gnu_indirect_function=yes
1270 ;;
1271 x86_64-*-kfreebsd*-gnu)
1272 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1273 ;;
1274 x86_64-*-knetbsd*-gnu)
1275 tm_file="${tm_file} knetbsd-gnu.h"
1276 ;;
44379973 1277 esac
5f73c6cc 1278 tmake_file="${tmake_file} i386/t-linux64"
f0ea7581
L
1279 x86_multilibs="${with_multilib_list}"
1280 if test "$x86_multilibs" = "default"; then
1281 x86_multilibs="m64,m32"
1282 fi
1283 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1284 for x86_multilib in ${x86_multilibs}; do
1285 case ${x86_multilib} in
1286 m32 | m64 | mx32)
1287 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1288 ;;
1289 *)
1290 echo "--with-multilib-list=${x86_with_multilib} not supported."
1291 exit 1
1292 esac
1293 done
1294 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
14f73b5a 1295 ;;
61ed06c3
HPN
1296i[34567]86-pc-msdosdjgpp*)
1297 xm_file=i386/xm-djgpp.h
27f98305 1298 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
08b2bad2 1299 native_system_header_dir=/dev/env/DJDIR/include
6ac49599 1300 extra_options="${extra_options} i386/djgpp.opt"
61ed06c3
HPN
1301 gnu_ld=yes
1302 gas=yes
3e3877f8 1303 use_gcc_stdint=wrap
61ed06c3 1304 ;;
61ed06c3 1305i[34567]86-*-lynxos*)
4f587cb0
AN
1306 xm_defines=POSIX
1307 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
5f73c6cc 1308 tmake_file="${tmake_file} t-lynx"
6ac49599 1309 extra_options="${extra_options} lynx.opt"
4f587cb0
AN
1310 thread_file=lynx
1311 gnu_ld=yes
1312 gas=yes
61ed06c3 1313 ;;
f2feed2c 1314i[34567]86-*-nto-qnx*)
7f260570 1315 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
fc523387 1316 extra_options="${extra_options} i386/nto.opt"
f2feed2c
GP
1317 gnu_ld=yes
1318 gas=yes
1319 ;;
c7bdf0a6 1320i[34567]86-*-rtems*)
207bf79d 1321 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"
ca24c5ad 1322 tmake_file="${tmake_file} i386/t-rtems t-rtems"
61ed06c3 1323 ;;
fbdd5d87 1324i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
7ecfa34f 1325 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file}"
9d151aff
RO
1326 # Set default arch_32 to pentium4, tune_32 to generic like the other
1327 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
ed104137 1328 case ${target} in
ae6a0535
RO
1329 *-*-solaris2.[89]*)
1330 # Solaris 8 and 9/x86 cannot execute SSE/SSE2 instructions by
1331 # default.
1332 with_arch_32=${with_arch_32:-pentiumpro}
ed104137
RO
1333 ;;
1334 *)
1335 with_arch_32=${with_arch_32:-pentium4}
1336 ;;
1337 esac
9af27220 1338 with_tune_32=${with_tune_32:-generic}
18167442 1339 case ${target} in
ec23ed60 1340 *-*-solaris2.1[0-9]*)
7ecfa34f 1341 tm_file="${tm_file} i386/x86-64.h i386/sol2-bi.h sol2-bi.h"
a8e68029 1342 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
7ecfa34f 1343 tmake_file="$tmake_file i386/t-sol2-64"
c6b9174f 1344 need_64bit_isa=yes
28a026d9 1345 case X"${with_cpu}" in
4d652a18 1346 Xgeneric|Xatom|Xcore2|Xcorei7|Xcorei7-avx|Xnocona|Xx86-64|Xbdver2|Xbdver1|Xbtver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3)
28a026d9
L
1347 ;;
1348 X)
8981c15b
JM
1349 if test x$with_cpu_64 = x; then
1350 with_cpu_64=generic
1351 fi
28a026d9
L
1352 ;;
1353 *)
1354 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
4d652a18 1355 echo "generic atom core2 corei7 corei7-avx nocona x86-64 bdver2 bdver1 btver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2
28a026d9
L
1356 exit 1
1357 ;;
1358 esac
a8e68029 1359 ;;
615be2cf 1360 esac
61ed06c3 1361 ;;
d442d7d9 1362i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
7f260570 1363 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
d442d7d9
PE
1364 case ${target} in
1365 *-vxworksae*)
f4de8ba6 1366 tm_file="${tm_file} vxworksae.h i386/vx-common.h i386/vxworksae.h"
d442d7d9
PE
1367 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1368 ;;
1369 *)
f4de8ba6 1370 tm_file="${tm_file} vxworks.h i386/vx-common.h i386/vxworks.h"
d442d7d9
PE
1371 tmake_file="${tmake_file} i386/t-vxworks"
1372 ;;
1373 esac
55047c9d 1374 ;;
ebb9f8b0 1375i[34567]86-*-cygwin*)
bb2aaded 1376 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 1377 xm_file=i386/xm-cygwin.h
f9989b51 1378 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
90aa6719 1379 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
6ac49599 1380 extra_options="${extra_options} i386/cygming.opt"
43d9ad1d 1381 extra_objs="winnt.o winnt-stubs.o"
3edeb30d
DK
1382 c_target_objs="${c_target_objs} msformat-c.o"
1383 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
61ed06c3 1384 if test x$enable_threads = xyes; then
70e5e841 1385 thread_file='posix'
61ed06c3 1386 fi
bb2aaded 1387 use_gcc_stdint=wrap
61ed06c3 1388 ;;
e8930cc1 1389i[34567]86-*-mingw* | x86_64-*-mingw*)
c04bdac0 1390 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
4dc0535b 1391 xm_file=i386/xm-mingw32.h
933608b7
KT
1392 case ${target} in
1393 x86_64-*-* | *-w64-*)
c6b9174f 1394 need_64bit_isa=yes
933608b7
KT
1395 ;;
1396 *)
1397 ;;
1398 esac
c04bdac0
KT
1399 if test x$enable_threads = xposix ; then
1400 tm_file="${tm_file} i386/mingw-pthread.h"
1401 fi
1402 tm_file="${tm_file} i386/mingw32.h"
35091630
KT
1403 # This makes the logic if mingw's or the w64 feature set has to be used
1404 case ${target} in
1405 *-w64-*)
9b91e436
KT
1406 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1407 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
35091630 1408 tm_file="${tm_file} i386/mingw-w64.h"
933608b7
KT
1409 if test x$enable_targets = xall; then
1410 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1411 case X"${with_cpu}" in
4d652a18 1412 Xgeneric|Xatom|Xcore2|Xcorei7|Xcorei7-avx|Xnocona|Xx86-64|Xbdver2|Xbdver1|Xbtver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3)
933608b7
KT
1413 ;;
1414 X)
1415 if test x$with_cpu_64 = x; then
1416 with_cpu_64=generic
1417 fi
1418 ;;
1419 *)
1420 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
4d652a18 1421 echo "generic atom core2 corei7 Xcorei7-avx nocona x86-64 bdver2 bdver1 btver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2
933608b7
KT
1422 exit 1
1423 ;;
1424 esac
1425 fi
35091630
KT
1426 ;;
1427 *)
35091630
KT
1428 ;;
1429 esac
1430 tm_file="${tm_file} i386/mingw-stdint.h"
b040f2be 1431 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
8370a62a 1432 case ${target} in
917ed773 1433 x86_64-w64-*)
8370a62a
KT
1434 tmake_file="${tmake_file} i386/t-mingw-w64"
1435 ;;
917ed773
KT
1436 i[34567]86-w64-*)
1437 tmake_file="${tmake_file} i386/t-mingw-w32"
1438 ;;
8370a62a 1439 esac
08b2bad2 1440 native_system_header_dir=/mingw/include
90aa6719 1441 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
94564826 1442 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
35091630
KT
1443 case ${target} in
1444 *-w64-*)
1445 extra_options="${extra_options} i386/mingw-w64.opt"
1446 ;;
1447 *)
1448 ;;
1449 esac
43d9ad1d 1450 extra_objs="winnt.o winnt-stubs.o"
ab442df7
MM
1451 c_target_objs="${c_target_objs} msformat-c.o"
1452 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
97388150 1453 default_use_cxa_atexit=yes
7d253f6e 1454 use_gcc_stdint=wrap
50c0d3fd 1455 case ${enable_threads} in
f9989b51
RO
1456 "" | yes | win32)
1457 thread_file='win32'
c04bdac0
KT
1458 ;;
1459 posix)
1460 thread_file='posix'
c04bdac0 1461 ;;
50c0d3fd 1462 esac
e8930cc1
KT
1463 case ${target} in
1464 *mingw32crt*)
1465 tm_file="${tm_file} i386/crtdll.h"
1466 ;;
1467 *mingw32msv* | *mingw*)
09eaf5a5 1468 ;;
61ed06c3
HPN
1469 esac
1470 ;;
daecebc8
DR
1471i[34567]86-*-interix[3-9]*)
1472 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h"
ab442df7 1473 tmake_file="${tmake_file} i386/t-interix"
daecebc8
DR
1474 extra_options="${extra_options} rpath.opt i386/interix.opt"
1475 extra_objs="winnt.o winnt-stubs.o"
90aa6719 1476 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
04cec1a7
DR
1477 if test x$enable_threads = xyes ; then
1478 thread_file='posix'
1479 fi
1480 if test x$stabs = xyes ; then
1481 tm_file="${tm_file} dbxcoff.h"
1482 fi
1483 ;;
61ed06c3 1484ia64*-*-elf*)
207bf79d 1485 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
61ed06c3
HPN
1486 tmake_file="ia64/t-ia64"
1487 target_cpu_default="0"
1488 if test x$gas = xyes
1489 then
1490 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1491 fi
1492 if test x$gnu_ld = xyes
1493 then
1494 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1495 fi
61ed06c3 1496 ;;
243a7070 1497ia64*-*-freebsd*)
fee42cc1 1498 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
243a7070
DB
1499 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1500 tmake_file="${tmake_file} ia64/t-ia64"
243a7070 1501 ;;
61ed06c3 1502ia64*-*-linux*)
8e38461c 1503 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
b040f2be 1504 tmake_file="${tmake_file} ia64/t-ia64 t-libunwind"
61ed06c3 1505 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
61ed06c3 1506 ;;
7e5b9908 1507ia64*-*-hpux*)
2337b6b7 1508 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
b040f2be 1509 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
7e5b9908 1510 target_cpu_default="MASK_GNU_AS"
7e2055ec 1511 case x$enable_threads in
79e8b6c0 1512 x | xyes | xposix )
7e2055ec
ZW
1513 thread_file=posix
1514 ;;
1515 esac
cad61762 1516 use_collect2=no
34c1864f
SE
1517 c_target_objs="ia64-c.o"
1518 cxx_target_objs="ia64-c.o"
e543b94c 1519 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
9a17c91d
SE
1520 use_gcc_stdint=wrap
1521 tm_file="${tm_file} hpux-stdint.h"
fc4538e4
SE
1522 case ${target} in
1523 *-*-hpux11.3*)
1524 tm_file="${tm_file} ia64/hpux-unix2003.h"
1525 ;;
1526 esac
7e5b9908 1527 ;;
a9a25daa 1528ia64-hp-*vms*)
d8aba32a
TG
1529 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1530 tmake_file="${tmake_file} ia64/t-ia64"
a9a25daa
DR
1531 target_cpu_default="0"
1532 if test x$gas = xyes
1533 then
1534 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1535 fi
18a24fed 1536 extra_options="${extra_options} ia64/vms.opt"
a9a25daa 1537 ;;
6b3d1e47 1538iq2000*-*-elf*)
248a9e94 1539 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
6b3d1e47 1540 out_file=iq2000/iq2000.c
6b3d1e47
SC
1541 md_file=iq2000/iq2000.md
1542 ;;
aa4945c1
JB
1543lm32-*-elf*)
1544 tm_file="dbxelf.h elfos.h ${tm_file}"
aca0b0b3 1545 tmake_file="${tmake_file} lm32/t-lm32"
aa4945c1 1546 ;;
d7856dc7 1547lm32-*-rtems*)
1ddc8057 1548 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
aca0b0b3 1549 tmake_file="${tmake_file} lm32/t-lm32"
d7856dc7 1550 tmake_file="${tmake_file} t-rtems"
4ce7e3a9 1551 tmake_file="${tmake_file} lm32/t-rtems"
d7856dc7 1552 ;;
aa4945c1 1553lm32-*-uclinux*)
8e38461c 1554 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
aca0b0b3 1555 tmake_file="${tmake_file} lm32/t-lm32"
aa4945c1 1556 ;;
61ed06c3 1557m32r-*-elf*)
cfe5b8ea 1558 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
37ec8b7a 1559 ;;
ad126521 1560m32rle-*-elf*)
cfe5b8ea 1561 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
ad126521 1562 ;;
48a01864 1563m32r-*-rtems*)
cfe5b8ea 1564 tm_file="dbxelf.h elfos.h ${tm_file} m32r/rtems.h rtems.h newlib-stdint.h"
48a01864 1565 tmake_file="m32r/t-m32r t-rtems"
48a01864 1566 ;;
ad126521 1567m32r-*-linux*)
8e38461c 1568 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
65d151a7 1569 # We override the tmake_file for linux -- why?
b040f2be 1570 tmake_file="m32r/t-linux t-slibgcc"
ad126521 1571 gnu_ld=yes
ad126521
KI
1572 if test x$enable_threads = xyes; then
1573 thread_file='posix'
1574 fi
1575 ;;
1576m32rle-*-linux*)
8e38461c 1577 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
65d151a7 1578 # We override the tmake_file for linux -- why?
b040f2be 1579 tmake_file="m32r/t-linux t-slibgcc"
ad126521 1580 gnu_ld=yes
ad126521
KI
1581 if test x$enable_threads = xyes; then
1582 thread_file='posix'
1583 fi
1584 ;;
cd985f66 1585m68k-*-elf* | fido-*-elf*)
7d33c31d
KH
1586 case ${target} in
1587 fido-*-elf*)
1588 # Check that $with_cpu makes sense.
1589 case $with_cpu in
1590 "" | "fidoa")
1591 ;;
1592 *)
1593 echo "Cannot accept --with-cpu=$with_cpu"
1594 exit 1
1595 ;;
1596 esac
1597 with_cpu=fidoa
1598 ;;
1599 *)
1600 default_m68k_cpu=68020
1601 default_cf_cpu=5206
1602 ;;
1603 esac
207bf79d 1604 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 1605 tm_defines="${tm_defines} MOTOROLA=1"
7d33c31d
KH
1606 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1607 # Add multilibs for targets other than fido.
1608 case ${target} in
1609 fido-*-elf*)
1610 ;;
1611 *)
1612 tmake_file="$tmake_file m68k/t-mlibs"
1613 ;;
1614 esac
61ed06c3 1615 ;;
cd985f66 1616m68k*-*-netbsdelf*)
59fbf3cb 1617 default_m68k_cpu=68020
10e96df4 1618 default_cf_cpu=5475
2fd95d71 1619 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
a4714d14 1620 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
cf909b0d 1621 tm_defines="${tm_defines} MOTOROLA=1"
2fd95d71 1622 ;;
7ea98c5a 1623m68k*-*-openbsd*)
59fbf3cb 1624 default_m68k_cpu=68020
10e96df4 1625 default_cf_cpu=5475
7ea98c5a 1626 # needed to unconfuse gdb
59fbf3cb 1627 tm_defines="${tm_defines} OBSD_OLD_GAS"
aa58f943 1628 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
5369e2d4 1629 extra_options="${extra_options} openbsd.opt"
5f73c6cc 1630 tmake_file="t-openbsd m68k/t-openbsd"
7ea98c5a
GN
1631 # we need collect2 until our bug is fixed...
1632 use_collect2=yes
1633 ;;
4529dbf1
RS
1634m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
1635 # with uClibc, using the new GNU/Linux-style
1636 # ABI.
59fbf3cb 1637 default_m68k_cpu=68020
10e96df4 1638 default_cf_cpu=5206
8e38461c 1639 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 1640 extra_options="${extra_options} m68k/uclinux.opt"
b5a54c03 1641 tm_defines="${tm_defines} MOTOROLA=1"
10e96df4 1642 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
ba591f5a 1643 ;;
5f73c6cc 1644m68k-*-linux*) # Motorola m68k's running GNU/Linux
61ed06c3
HPN
1645 # with ELF format using glibc 2
1646 # aka the GNU/Linux C library 6.
59fbf3cb 1647 default_m68k_cpu=68020
10e96df4 1648 default_cf_cpu=5475
368b55f6 1649 with_arch=${with_arch:-m68k}
8e38461c 1650 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
4af06170 1651 extra_options="${extra_options} m68k/ieee.opt"
cf909b0d 1652 tm_defines="${tm_defines} MOTOROLA=1"
368b55f6 1653 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
61ed06c3 1654 ;;
c7bdf0a6 1655m68k-*-rtems*)
59fbf3cb 1656 default_m68k_cpu=68020
10e96df4
NS
1657 default_cf_cpu=5206
1658 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems m68k/t-mlibs"
207bf79d 1659 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 1660 tm_defines="${tm_defines} MOTOROLA=1"
61ed06c3 1661 ;;
61ed06c3 1662mcore-*-elf)
ed38428f 1663 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
61ed06c3 1664 tmake_file=mcore/t-mcore
a929bc28 1665 inhibit_libc=true
61ed06c3 1666 ;;
7acf4da6 1667mep-*-*)
e195f6e0 1668 tm_file="dbxelf.h elfos.h ${tm_file}"
7acf4da6 1669 tmake_file=mep/t-mep
7acf4da6
DD
1670 c_target_objs="mep-pragma.o"
1671 cxx_target_objs="mep-pragma.o"
1672 if test -d "${srcdir}/../newlib/libc/include" &&
1673 test "x$with_headers" = x; then
1674 with_headers=yes
1675 fi
1676 use_gcc_stdint=wrap
1677 ;;
80920132 1678microblaze*-linux*)
8e38461c 1679 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
80920132
ME
1680 c_target_objs="${c_target_objs} microblaze-c.o"
1681 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
80920132
ME
1682 ;;
1683microblaze*-*-*)
1684 tm_file="${tm_file} dbxelf.h"
1685 c_target_objs="${c_target_objs} microblaze-c.o"
1686 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1687 tmake_file="${tmake_file} microblaze/t-microblaze"
1688 ;;
9aaa1ee8
RO
1689mips-sgi-irix6.5*)
1690 tm_file="elfos.h ${tm_file} mips/iris6.h"
b040f2be 1691 tmake_file="mips/t-irix6 t-slibgcc"
962101ac 1692 extra_options="${extra_options} rpath.opt mips/iris6.opt"
5811cb27 1693 target_cpu_default="MASK_ABICALLS"
9aaa1ee8
RO
1694 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
1695 # Only IRIX Development Foundation 1.3 for IRIX 6.5 provides stdint.h.
1696 use_gcc_stdint=wrap
82563d35 1697 if test "x$stabs" = xyes
61ed06c3 1698 then
a6b02ef3 1699 tm_file="${tm_file} dbx.h"
61ed06c3 1700 fi
3e35cb0c
RO
1701 if test "x$gnu_ld" = xyes
1702 then
82563d35 1703 tm_defines="${tm_defines} IRIX_USING_GNU_LD"
3e35cb0c 1704 fi
40f5cc95
RO
1705 case ${enable_threads}:${have_pthread_h} in
1706 "":yes | yes:yes ) thread_file=posix ;;
1707 esac
61ed06c3 1708 ;;
f982f805 1709mips*-*-netbsd*) # NetBSD/mips, either endian.
5811cb27 1710 target_cpu_default="MASK_ABICALLS"
ca11c37c 1711 tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
a4714d14 1712 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
61ed06c3 1713 ;;
f2d6ca50 1714mips64*-*-linux* | mipsisa64*-*-linux*)
0baeec1b 1715 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h"
45b86625 1716 tmake_file="${tmake_file} mips/t-linux64"
5d2a73d5 1717 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
900e3ae5
DJ
1718 case ${target} in
1719 mips64el-st-linux-gnu)
1720 tm_file="${tm_file} mips/st.h"
1721 tmake_file="${tmake_file} mips/t-st"
1722 ;;
d97e6aca
AN
1723 mips64octeon*-*-linux*)
1724 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
1725 target_cpu_default=MASK_SOFT_FLOAT_ABI
1726 ;;
f2d6ca50
AN
1727 mipsisa64r2*-*-linux*)
1728 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
1729 ;;
900e3ae5 1730 esac
3bd6d4c4
AO
1731 gnu_ld=yes
1732 gas=yes
66471b47 1733 test x$with_llsc != x || with_llsc=yes
3bd6d4c4 1734 ;;
61ed06c3 1735mips*-*-linux*) # Linux MIPS, either endian.
0baeec1b 1736 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h"
bd5ab709 1737 if test x$enable_targets = xall; then
87f53554 1738 tm_file="${tm_file} mips/gnu-user64.h mips/linux64.h"
bd5ab709 1739 tmake_file="${tmake_file} mips/t-linux64"
bd5ab709 1740 fi
b01bc573 1741 case ${target} in
9303e5df
NS
1742 mipsisa32r2*)
1743 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
009da785 1744 ;;
9303e5df
NS
1745 mipsisa32*)
1746 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
009da785 1747 esac
66471b47 1748 test x$with_llsc != x || with_llsc=yes
61ed06c3 1749 ;;
ca11c37c 1750mips*-*-openbsd*)
620b87b3 1751 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
5811cb27 1752 target_cpu_default="MASK_ABICALLS"
aa58f943 1753 tm_file="mips/mips.h openbsd.h openbsd-stdint.h openbsd-libpthread.h mips/openbsd.h mips/sdb.h"
5369e2d4 1754 extra_options="${extra_options} openbsd.opt"
b01bc573 1755 case ${target} in
f7288899 1756 mips*el-*-openbsd*)
ca11c37c
ZW
1757 tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=0";;
1758 *) tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN";;
1759 esac
61ed06c3 1760 ;;
0ea339ea 1761mips*-sde-elf*)
207bf79d 1762 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/sde.h"
45b86625 1763 tmake_file="mips/t-sde"
d1583032 1764 extra_options="${extra_options} mips/sde.opt"
d9dced13
RS
1765 case "${with_newlib}" in
1766 yes)
1767 # newlib / libgloss.
1768 ;;
1769 *)
1770 # MIPS toolkit libraries.
1771 tm_file="$tm_file mips/sdemtk.h"
1772 tmake_file="$tmake_file mips/t-sdemtk"
d9dced13
RS
1773 case ${enable_threads} in
1774 "" | yes | mipssde)
1775 thread_file='mipssde'
1776 ;;
1777 esac
1778 ;;
1779 esac
0ea339ea
NS
1780 case ${target} in
1781 mipsisa32r2*)
1782 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
1783 ;;
1784 mipsisa32*)
1785 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
1786 ;;
0a4a51c7
AN
1787 mipsisa64r2*)
1788 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
1789 ;;
0ea339ea
NS
1790 mipsisa64*)
1791 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
1792 ;;
1793 esac
1794 ;;
e2c14f5d
RS
1795mipsisa32-*-elf* | mipsisa32el-*-elf* | \
1796mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
0a4a51c7
AN
1797mipsisa64-*-elf* | mipsisa64el-*-elf* | \
1798mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
207bf79d 1799 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
45b86625 1800 tmake_file="mips/t-isa3264"
e2c14f5d
RS
1801 case ${target} in
1802 mipsisa32r2*)
1803 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
1804 ;;
1805 mipsisa32*)
1806 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
1807 ;;
0a4a51c7
AN
1808 mipsisa64r2*)
1809 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
1810 ;;
e2c14f5d
RS
1811 mipsisa64*)
1812 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
1813 ;;
1814 esac
1815 case ${target} in
1816 mipsisa32*-*-elfoabi*)
1817 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
1818 tm_file="${tm_file} mips/elfoabi.h"
1819 ;;
1820 mipsisa64*-*-elfoabi*)
1821 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
1822 tm_file="${tm_file} mips/elfoabi.h"
1823 ;;
1824 *-*-elf*)
1825 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
1826 ;;
1827 esac
5c44e275 1828 ;;
5ce6f47b 1829mipsisa64sr71k-*-elf*)
207bf79d 1830 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
5ce6f47b 1831 tmake_file=mips/t-sr71k
5811cb27 1832 target_cpu_default="MASK_64BIT|MASK_FLOAT64"
620b87b3 1833 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
5ce6f47b 1834 ;;
3d41dbb0 1835mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
207bf79d 1836 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
45b86625 1837 tmake_file="mips/t-elf mips/t-sb1"
5811cb27 1838 target_cpu_default="MASK_64BIT|MASK_FLOAT64"
620b87b3 1839 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
3d41dbb0 1840 ;;
74826b0f 1841mips-*-elf* | mipsel-*-elf*)
207bf79d 1842 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
45b86625 1843 tmake_file="mips/t-elf"
61ed06c3 1844 ;;
74826b0f 1845mips64-*-elf* | mips64el-*-elf*)
207bf79d 1846 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
45b86625 1847 tmake_file="mips/t-elf"
5811cb27 1848 target_cpu_default="MASK_64BIT|MASK_FLOAT64"
620b87b3 1849 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
61ed06c3 1850 ;;
5ce6f47b 1851mips64vr-*-elf* | mips64vrel-*-elf*)
207bf79d 1852 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
5ce6f47b 1853 tmake_file=mips/t-vr
c4023c19 1854 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
5ce6f47b 1855 ;;
74826b0f 1856mips64orion-*-elf* | mips64orionel-*-elf*)
207bf79d 1857 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
45b86625 1858 tmake_file="mips/t-elf"
5811cb27 1859 target_cpu_default="MASK_64BIT|MASK_FLOAT64"
620b87b3 1860 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
61ed06c3 1861 ;;
bc98ef7f 1862mips*-*-rtems*)
207bf79d 1863 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
45b86625 1864 tmake_file="mips/t-elf t-rtems mips/t-rtems"
61ed06c3 1865 ;;
55047c9d 1866mips-wrs-vxworks)
efa58006 1867 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
55047c9d 1868 tmake_file="${tmake_file} mips/t-vxworks"
55047c9d 1869 ;;
74826b0f 1870mipstx39-*-elf* | mipstx39el-*-elf*)
207bf79d 1871 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
45b86625 1872 tmake_file="mips/t-r3900"
61ed06c3 1873 ;;
bcf684c7 1874mmix-knuth-mmixware)
207bf79d 1875 tm_file="${tm_file} newlib-stdint.h"
4977bab6 1876 need_64bit_hwint=yes
207bf79d 1877 use_gcc_stdint=wrap
bcf684c7 1878 ;;
61ed06c3 1879mn10300-*-*)
6b9b8b34 1880 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
61ed06c3
HPN
1881 if test x$stabs = xyes
1882 then
1883 tm_file="${tm_file} dbx.h"
1884 fi
1885 use_collect2=no
207bf79d 1886 use_gcc_stdint=wrap
61ed06c3 1887 ;;
61ed06c3 1888pdp11-*-*)
207bf79d
JM
1889 tm_file="${tm_file} newlib-stdint.h"
1890 use_gcc_stdint=wrap
61ed06c3 1891 ;;
358da97e 1892picochip-*)
207bf79d
JM
1893 tm_file="${tm_file} newlib-stdint.h"
1894 use_gcc_stdint=wrap
959fc02c 1895 tmake_file="picochip/t-picochip t-pnt16-warn"
358da97e 1896 ;;
ca11c37c
ZW
1897# port not yet contributed
1898#powerpc-*-openbsd*)
569dc494 1899# tmake_file="${tmake_file} rs6000/t-fprules"
ca11c37c
ZW
1900# extra_headers=
1901# ;;
18922061 1902powerpc-*-darwin*)
78f5898b 1903 extra_options="${extra_options} rs6000/darwin.opt"
f0b81cbc 1904 case ${target} in
ed5b9f96 1905 *-darwin1[0-9]* | *-darwin[8-9]*)
f7288899 1906 tmake_file="${tmake_file} rs6000/t-darwin8"
ed5b9f96
GK
1907 tm_file="${tm_file} rs6000/darwin8.h"
1908 ;;
1909 *-darwin7*)
1910 tm_file="${tm_file} rs6000/darwin7.h"
1911 ;;
1912 *-darwin[0-6]*)
1913 ;;
f0b81cbc 1914 esac
b040f2be 1915 tmake_file="${tmake_file} t-slibgcc"
5fb4cf24 1916 extra_headers=altivec.h
18922061 1917 ;;
b8ec3cc8 1918powerpc64-*-darwin*)
b8ec3cc8 1919 extra_options="${extra_options} ${cpu_type}/darwin.opt"
b040f2be 1920 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
9a2d05e0 1921 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
b8ec3cc8
EC
1922 extra_headers=altivec.h
1923 ;;
dfa95e19 1924powerpc-*-freebsd*)
c40409ce 1925 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
aca0b0b3 1926 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
78f5898b 1927 extra_options="${extra_options} rs6000/sysv4.opt"
b91da81f 1928 ;;
edf1b3f3 1929powerpc-*-netbsd*)
a4967b8d 1930 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
a4714d14 1931 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
a4967b8d 1932 tmake_file="${tmake_file} rs6000/t-netbsd"
78f5898b 1933 extra_options="${extra_options} rs6000/sysv4.opt"
edf1b3f3 1934 ;;
518878e1 1935powerpc-*-eabispe*)
a1cd969e 1936 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
78f5898b 1937 extra_options="${extra_options} rs6000/sysv4.opt"
00c060a4 1938 tmake_file="rs6000/t-spe rs6000/t-ppccomm"
207bf79d 1939 use_gcc_stdint=wrap
518878e1 1940 ;;
cf6ede82 1941powerpc-*-eabisimaltivec*)
a1cd969e 1942 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h"
78f5898b 1943 extra_options="${extra_options} rs6000/sysv4.opt"
569dc494 1944 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
207bf79d 1945 use_gcc_stdint=wrap
cf6ede82 1946 ;;
61ed06c3 1947powerpc-*-eabisim*)
a1cd969e 1948 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
78f5898b 1949 extra_options="${extra_options} rs6000/sysv4.opt"
569dc494 1950 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
207bf79d 1951 use_gcc_stdint=wrap
61ed06c3
HPN
1952 ;;
1953powerpc-*-elf*)
a1cd969e 1954 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
78f5898b 1955 extra_options="${extra_options} rs6000/sysv4.opt"
569dc494 1956 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
61ed06c3 1957 ;;
10baca6b 1958powerpc-*-eabialtivec*)
a1cd969e 1959 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h"
78f5898b 1960 extra_options="${extra_options} rs6000/sysv4.opt"
569dc494 1961 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
207bf79d 1962 use_gcc_stdint=wrap
10baca6b 1963 ;;
696e45ba 1964powerpc-xilinx-eabi*)
a1cd969e 1965 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 1966 extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
569dc494 1967 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
207bf79d 1968 use_gcc_stdint=wrap
696e45ba 1969 ;;
61ed06c3 1970powerpc-*-eabi*)
a1cd969e 1971 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
78f5898b 1972 extra_options="${extra_options} rs6000/sysv4.opt"
569dc494 1973 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
207bf79d 1974 use_gcc_stdint=wrap
61ed06c3
HPN
1975 ;;
1976powerpc-*-rtems*)
a1cd969e 1977 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h"
78f5898b 1978 extra_options="${extra_options} rs6000/sysv4.opt"
569dc494 1979 tmake_file="rs6000/t-fprules rs6000/t-rtems t-rtems rs6000/t-ppccomm"
61ed06c3 1980 ;;
633dd061 1981powerpc-*-linux* | powerpc64-*-linux*)
a1cd969e 1982 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h"
78f5898b 1983 extra_options="${extra_options} rs6000/sysv4.opt"
2d8d5935 1984 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
457d1d00
AM
1985 maybe_biarch=yes
1986 case ${target} in
633dd061
AM
1987 powerpc64-*-linux*spe* | powerpc64-*-linux*paired*)
1988 echo "*** Configuration ${target} not supported" 1>&2
1989 exit 1
1990 ;;
457d1d00 1991 powerpc-*-linux*spe* | powerpc-*-linux*paired*)
633dd061
AM
1992 maybe_biarch=
1993 ;;
1994 powerpc64-*-linux*)
1995 test x$with_cpu != x || cpu_is_64bit=yes
c90c5fb5 1996 maybe_biarch=always
633dd061 1997 ;;
457d1d00
AM
1998 esac
1999 case ${maybe_biarch}:${enable_targets}:${cpu_is_64bit} in
c90c5fb5 2000 always:* | yes:*powerpc64* | yes:all:* | yes:*:yes)
a8e04fe6
AM
2001 if test x$cpu_is_64bit = xyes; then
2002 tm_file="${tm_file} rs6000/default64.h"
2003 fi
207bf79d 2004 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
a8e04fe6 2005 tmake_file="$tmake_file rs6000/t-linux64"
f75aac9e 2006 extra_options="${extra_options} rs6000/linux64.opt"
a8e04fe6
AM
2007 ;;
2008 *)
207bf79d 2009 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
a8e04fe6
AM
2010 ;;
2011 esac
457d1d00 2012 case ${target} in
be26142a
PB
2013 powerpc*-*-linux*ppc476*)
2014 tm_file="${tm_file} rs6000/476.h"
2015 extra_options="${extra_options} rs6000/476.opt" ;;
457d1d00
AM
2016 powerpc*-*-linux*altivec*)
2017 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2018 powerpc*-*-linux*spe*)
2019 tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;;
2020 powerpc*-*-linux*paired*)
2021 tm_file="${tm_file} rs6000/750cl.h" ;;
2022 esac
7f970b70
AM
2023 if test x${enable_secureplt} = xyes; then
2024 tm_file="rs6000/secureplt.h ${tm_file}"
2025 fi
61ed06c3 2026 ;;
2eab15c9 2027powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
a1cd969e 2028 tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
569dc494 2029 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
78f5898b 2030 extra_options="${extra_options} rs6000/sysv4.opt"
4977bab6 2031 extra_headers=ppc-asm.h
2eab15c9
PE
2032 case ${target} in
2033 *-vxworksae*)
eb1eb914 2034 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h"
2eab15c9
PE
2035 tmake_file="${tmake_file} rs6000/t-vxworksae"
2036 ;;
2037 *-vxworks*)
eca0d5e8 2038 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
2eab15c9
PE
2039 ;;
2040 esac
4977bab6 2041 ;;
4f587cb0
AN
2042powerpc-*-lynxos*)
2043 xm_defines=POSIX
2044 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2045 tmake_file="t-lynx rs6000/t-lynx"
78f5898b 2046 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
4f587cb0
AN
2047 thread_file=lynx
2048 gnu_ld=yes
2049 gas=yes
2050 ;;
61ed06c3 2051powerpcle-*-elf*)
a1cd969e 2052 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
569dc494 2053 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
78f5898b 2054 extra_options="${extra_options} rs6000/sysv4.opt"
61ed06c3
HPN
2055 ;;
2056powerpcle-*-eabisim*)
a1cd969e 2057 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
569dc494 2058 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
78f5898b 2059 extra_options="${extra_options} rs6000/sysv4.opt"
207bf79d 2060 use_gcc_stdint=wrap
61ed06c3
HPN
2061 ;;
2062powerpcle-*-eabi*)
a1cd969e 2063 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h"
569dc494 2064 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
78f5898b 2065 extra_options="${extra_options} rs6000/sysv4.opt"
207bf79d 2066 use_gcc_stdint=wrap
61ed06c3 2067 ;;
61ed06c3 2068rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
557cc596 2069 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
b040f2be 2070 tmake_file="rs6000/t-aix43 t-slibgcc"
432218ba 2071 extra_options="${extra_options} rs6000/aix64.opt"
61ed06c3
HPN
2072 use_collect2=yes
2073 thread_file='aix'
557cc596 2074 use_gcc_stdint=provide
ba1e6c0b 2075 extra_headers=
61ed06c3 2076 ;;
5f5d5417 2077rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
557cc596 2078 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
432218ba 2079 extra_options="${extra_options} rs6000/aix64.opt"
b040f2be 2080 tmake_file="rs6000/t-aix43 t-slibgcc"
61ed06c3
HPN
2081 use_collect2=yes
2082 thread_file='aix'
557cc596 2083 use_gcc_stdint=wrap
ba1e6c0b 2084 extra_headers=
61ed06c3 2085 ;;
ca94e524 2086rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
557cc596 2087 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
b040f2be 2088 tmake_file="rs6000/t-aix52 t-slibgcc"
432218ba 2089 extra_options="${extra_options} rs6000/aix64.opt"
5f5d5417
DE
2090 use_collect2=yes
2091 thread_file='aix'
557cc596 2092 use_gcc_stdint=wrap
5f5d5417
DE
2093 extra_headers=
2094 ;;
ba6a1b78 2095rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
557cc596 2096 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
b040f2be 2097 tmake_file="rs6000/t-aix52 t-slibgcc"
ca94e524
DE
2098 extra_options="${extra_options} rs6000/aix64.opt"
2099 use_collect2=yes
2100 thread_file='aix'
557cc596 2101 use_gcc_stdint=wrap
c4a79427 2102 extra_headers=altivec.h
ca94e524 2103 ;;
ba6a1b78 2104rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
557cc596 2105 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
b040f2be 2106 tmake_file="rs6000/t-aix52 t-slibgcc"
ba6a1b78
DE
2107 extra_options="${extra_options} rs6000/aix64.opt"
2108 use_collect2=yes
2109 thread_file='aix'
557cc596 2110 use_gcc_stdint=wrap
ba6a1b78
DE
2111 extra_headers=altivec.h
2112 ;;
85b8555e
DD
2113rl78-*-elf*)
2114 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2115 target_has_targetm_common=no
2116 c_target_objs="rl78-c.o"
2117 cxx_target_objs="rl78-c.o"
2118 tmake_file="${tmake_file} rl78/t-rl78"
2119 ;;
65a324b4 2120rx-*-elf*)
80cf2e08 2121 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
65a324b4
NC
2122 tmake_file="${tmake_file} rx/t-rx"
2123 ;;
0e5a4ad8 2124s390-*-linux*)
8e38461c 2125 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
f3054223
AL
2126 if test x$enable_targets = xall; then
2127 tmake_file="${tmake_file} s390/t-linux64"
2128 fi
9628a767 2129 ;;
0e5a4ad8 2130s390x-*-linux*)
8e38461c 2131 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
70eeb10b
UW
2132 tm_p_file=s390/s390-protos.h
2133 md_file=s390/s390.md
1c0ca89d 2134 extra_modes=s390/s390-modes.def
70eeb10b 2135 out_file=s390/s390.c
81dd9fd7 2136 tmake_file="${tmake_file} s390/t-linux64"
9628a767 2137 ;;
24fe22c9 2138s390x-ibm-tpf*)
0a3c149d 2139 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
a8ba31f2
EC
2140 tm_p_file=s390/s390-protos.h
2141 md_file=s390/s390.md
2142 extra_modes=s390/s390-modes.def
2143 out_file=s390/s390.c
a8ba31f2
EC
2144 thread_file='tpf'
2145 extra_options="${extra_options} s390/tpf.opt"
24fe22c9 2146 ;;
bdcee471 2147score-*-elf)
9d6193a7
CL
2148 gas=yes
2149 gnu_ld=yes
207bf79d 2150 tm_file="dbxelf.h elfos.h score/elf.h score/score.h newlib-stdint.h"
bdcee471 2151 ;;
cd985f66 2152sh-*-elf* | sh[12346l]*-*-elf* | \
93fea8d3 2153 sh-*-linux* | sh[2346lbe]*-*-linux* | \
da28a3b9 2154 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
5f73c6cc 2155 sh64-*-netbsd* | sh64l*-*-netbsd*)
da28a3b9
JR
2156 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2157 if test x${with_endian} = x; then
2158 case ${target} in
2159 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2160 shbe-*-* | sheb-*-*) with_endian=big,little ;;
2161 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
2162 shl* | sh64l* | sh*-*-linux* | \
2163 sh5l* | sh-superh-elf) with_endian=little,big ;;
2164 sh[1234]*-*-*) with_endian=big ;;
2165 *) with_endian=big,little ;;
2166 esac
2167 fi
aca600aa
AS
2168 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2169 # First word : the default endian.
2170 # Second word: the secondary endian (optional).
da28a3b9 2171 case ${with_endian} in
aca600aa
AS
2172 big) TM_ENDIAN_CONFIG=mb ;;
2173 little) TM_ENDIAN_CONFIG=ml ;;
2174 big,little) TM_ENDIAN_CONFIG="mb ml" ;;
2175 little,big) TM_ENDIAN_CONFIG="ml mb" ;;
da28a3b9
JR
2176 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
2177 esac
2178 case ${with_endian} in
2179 little*) tm_file="sh/little.h ${tm_file}" ;;
2180 esac
9e08f9e2 2181 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
b01bc573 2182 case ${target} in
da28a3b9 2183 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
8e38461c 2184 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
a4714d14
JM
2185 sh*-*-netbsd*)
2186 tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h"
2187 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2188
2189 ;;
c68e4eed
CB
2190 sh*-superh-elf) if test x$with_libgloss != xno; then
2191 with_libgloss=yes
2192 tm_file="${tm_file} sh/newlib.h"
2193 fi
2d606e03 2194 tm_file="${tm_file} sh/embed-elf.h"
c68e4eed 2195 tm_file="${tm_file} sh/superh.h"
c68e4eed 2196 extra_options="${extra_options} sh/superh.opt" ;;
8c1aaf26
R
2197 *) if test x$with_newlib = xyes \
2198 && test x$with_libgloss = xyes; then
2199 tm_file="${tm_file} sh/newlib.h"
2200 fi
2201 tm_file="${tm_file} sh/embed-elf.h" ;;
da28a3b9
JR
2202 esac
2203 case ${target} in
2204 sh5*-*-netbsd*)
2205 # SHmedia, 32-bit ABI
f9989b51 2206 tmake_file="${tmake_file} sh/t-sh64"
da28a3b9
JR
2207 ;;
2208 sh64*-netbsd*)
2209 # SHmedia, 64-bit ABI
f9989b51 2210 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5-64"
da28a3b9
JR
2211 ;;
2212 *-*-netbsd)
da28a3b9
JR
2213 ;;
2214 sh64*-*-linux*)
5f73c6cc 2215 tmake_file="${tmake_file} sh/t-sh64"
da28a3b9
JR
2216 tm_file="${tm_file} sh/sh64.h"
2217 extra_headers="shmedia.h ushmedia.h sshmedia.h"
2218 ;;
dbf87f32
R
2219 sh64*)
2220 tmake_file="${tmake_file} sh/t-sh64"
2221 tm_file="${tm_file} sh/sh64.h"
9451da74
KK
2222 if test x$with_newlib = xyes; then
2223 tm_file="${tm_file} newlib-stdint.h"
2224 fi
dbf87f32 2225 extra_headers="shmedia.h ushmedia.h sshmedia.h"
dbf87f32 2226 ;;
207bf79d
JM
2227 *-*-elf*)
2228 tm_file="${tm_file} newlib-stdint.h"
2229 ;;
8bc6e101 2230 esac
da28a3b9
JR
2231 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2232 case `echo ${target} | sed 's/e[lb]-/-/'` in
2233 sh64*-*-netbsd*) sh_cpu_target=sh5-64media ;;
2234 sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;;
312209c6
AO
2235 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2236 sh4a_single*) sh_cpu_target=sh4a-single ;;
2237 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2238 sh4al) sh_cpu_target=sh4al ;;
2239 sh4a*) sh_cpu_target=sh4a ;;
da28a3b9
JR
2240 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2241 sh4_single*) sh_cpu_target=sh4-single ;;
2242 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2243 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2244 sh3e*) sh_cpu_target=sh3e ;;
2245 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
157371cf
AO
2246 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2247 sh2a_single*) sh_cpu_target=sh2a-single ;;
2248 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2249 sh2a*) sh_cpu_target=sh2a ;;
da28a3b9
JR
2250 sh2e*) sh_cpu_target=sh2e ;;
2251 sh2*) sh_cpu_target=sh2 ;;
2252 *) sh_cpu_target=sh1 ;;
8f48afc1 2253 esac
8c1aaf26
R
2254 # did the user say --without-fp ?
2255 if test x$with_fp = xno; then
2256 case ${sh_cpu_target} in
2257 sh5-*media) sh_cpu_target=${sh_cpu_target}-nofpu ;;
2258 sh4al | sh1) ;;
2259 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
2260 sh4*) sh_cpu_target=sh4-nofpu ;;
2261 sh3*) sh_cpu_target=sh3 ;;
2262 sh2a*) sh_cpu_target=sh2a-nofpu ;;
2263 sh2*) sh_cpu_target=sh2 ;;
2264 *) echo --without-fp not available for $target: ignored
2265 esac
2266 tm_defines="$tm_defines STRICT_NOFPU=1"
2267 fi
da28a3b9
JR
2268 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2269 case $sh_cpu_default in
2270 sh5-64media-nofpu | sh5-64media | \
2271 sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
157371cf 2272 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
312209c6 2273 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
27a0ce7d 2274 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
bf09b512 2275 sh3e | sh3 | sh2e | sh2 | sh1) ;;
da28a3b9
JR
2276 "") sh_cpu_default=${sh_cpu_target} ;;
2277 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
dbf87f32 2278 esac
da28a3b9 2279 sh_multilibs=${with_multilib_list}
aca600aa 2280 if test "$sh_multilibs" = "default" ; then
da28a3b9 2281 case ${target} in
8c1aaf26 2282 sh64-superh-linux* | \
da28a3b9
JR
2283 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
2284 sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
2285 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2286 sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
2287 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
157371cf 2288 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
da28a3b9 2289 esac
8c1aaf26
R
2290 if test x$with_fp = xno; then
2291 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`"
2292 fi
da28a3b9 2293 fi
25e651ca 2294 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
da28a3b9 2295 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
aca600aa 2296 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
47e5ff44 2297 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
2298 for sh_multilib in ${sh_multilibs}; do
2299 case ${sh_multilib} in
aca600aa
AS
2300 m1 | m2 | m2e | m3 | m3e | \
2301 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2302 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2303 m2a | m2a-single | m2a-single-only | m2a-nofpu | \
2304 m5-64media | m5-64media-nofpu | \
2305 m5-32media | m5-32media-nofpu | \
2306 m5-compact | m5-compact-nofpu)
2307 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2308 # It is passed to MULTIILIB_OPTIONS verbatim.
2309 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2310 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
da28a3b9 2311 ;;
aca600aa
AS
2312 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2313 # It is passed the MULTILIB_EXCEPTIONS verbatim.
2314 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
da28a3b9
JR
2315 *)
2316 echo "with_multilib_list=${sh_multilib} not supported."
2317 exit 1
2318 ;;
2319 esac
2320 done
aca600aa 2321 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
25e651ca 2322 if test x${enable_incomplete_targets} = xyes ; then
c0fb94d7 2323 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1"
da28a3b9 2324 fi
44509946
AS
2325 tm_file="$tm_file ./sysroot-suffix.h"
2326 tmake_file="$tmake_file t-sysroot-suffix"
fa5322fa 2327 ;;
314733e2 2328sh-*-rtems*)
5f73c6cc 2329 tmake_file="sh/t-sh t-rtems sh/t-rtems"
9e08f9e2 2330 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
314733e2 2331 ;;
55047c9d 2332sh-wrs-vxworks)
5f73c6cc 2333 tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
9e08f9e2 2334 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
55047c9d 2335 ;;
61ed06c3 2336sparc-*-elf*)
ec047df4 2337 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
07981468
KE
2338 case ${target} in
2339 *-leon-*)
8d12174d 2340 tmake_file="sparc/t-sparc sparc/t-leon"
07981468
KE
2341 ;;
2342 *-leon[3-9]*)
8d12174d 2343 tmake_file="sparc/t-sparc sparc/t-leon3"
07981468
KE
2344 ;;
2345 *)
8d12174d 2346 tmake_file="sparc/t-sparc sparc/t-elf"
07981468
KE
2347 ;;
2348 esac
61ed06c3 2349 ;;
ad234fc7 2350sparc-*-rtems*)
ec047df4 2351 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
8d12174d 2352 tmake_file="sparc/t-sparc sparc/t-elf t-rtems"
ad234fc7
EB
2353 ;;
2354sparc-*-linux*)
6cc7fb90 2355 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
fe609b0f 2356 extra_options="${extra_options} sparc/long-double-switch.opt"
07981468
KE
2357 case ${target} in
2358 *-leon-*)
8d12174d 2359 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
07981468
KE
2360 ;;
2361 *-leon[3-9]*)
8d12174d 2362 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
07981468
KE
2363 ;;
2364 *)
b040f2be 2365 tmake_file="${tmake_file} sparc/t-sparc"
07981468
KE
2366 ;;
2367 esac
5f7ca34b
DM
2368 if test x$enable_targets = xall; then
2369 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
ccbdd3bc 2370 tmake_file="${tmake_file} sparc/t-linux64"
5f7ca34b
DM
2371 else
2372 tm_file="${tm_file} sparc/linux.h"
5f7ca34b 2373 fi
61ed06c3 2374 ;;
ad234fc7 2375sparc-*-netbsdelf*)
ec047df4 2376 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
a4714d14 2377 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
ad234fc7 2378 extra_options="${extra_options} sparc/long-double-switch.opt"
8d12174d 2379 tmake_file="${tmake_file} sparc/t-sparc"
3943fe02 2380 ;;
2587aa3b 2381sparc*-*-solaris2*)
6cc7fb90 2382 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sol2-bi.h sparc/tso.h"
18167442 2383 case ${target} in
2587aa3b 2384 sparc64-*-* | sparcv9-*-*)
4f4f4f54 2385 tm_file="sparc/default-64.h ${tm_file}"
207bf79d 2386 ;;
2587aa3b
EB
2387 *)
2388 test x$with_cpu != x || with_cpu=v9
ec23ed60 2389 ;;
18167442 2390 esac
8d12174d 2391 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2-64"
61ed06c3 2392 ;;
1910440e 2393sparc-wrs-vxworks)
ec047df4 2394 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
8d12174d 2395 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
1910440e 2396 ;;
61ed06c3 2397sparc64-*-elf*)
ec047df4 2398 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
ae5f5715 2399 extra_options="${extra_options}"
8d12174d 2400 tmake_file="${tmake_file} sparc/t-sparc"
61ed06c3 2401 ;;
ad234fc7 2402sparc64-*-rtems*)
ec047df4 2403 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
ae5f5715 2404 extra_options="${extra_options}"
8d12174d 2405 tmake_file="${tmake_file} sparc/t-sparc t-rtems"
ad234fc7
EB
2406 ;;
2407sparc64-*-linux*)
6cc7fb90 2408 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
ad234fc7 2409 extra_options="${extra_options} sparc/long-double-switch.opt"
b040f2be 2410 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
ad234fc7 2411 ;;
c7240cbd
DB
2412sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2413 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
fe609b0f 2414 extra_options="${extra_options} sparc/long-double-switch.opt"
c7240cbd 2415 case "x$with_cpu" in
e0054185 2416 xultrasparc) ;;
c7240cbd
DB
2417 x) with_cpu=ultrasparc ;;
2418 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2419 esac
8d12174d 2420 tmake_file="${tmake_file} sparc/t-sparc"
c7240cbd 2421 ;;
4cb7482c 2422sparc64-*-netbsd*)
4cb7482c 2423 tm_file="sparc/biarch64.h ${tm_file}"
ec047df4 2424 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
a4714d14 2425 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
fe609b0f 2426 extra_options="${extra_options} sparc/long-double-switch.opt"
8d12174d 2427 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
4cb7482c 2428 ;;
ad234fc7 2429sparc64-*-openbsd*)
ec047df4 2430 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
ad234fc7 2431 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
5369e2d4 2432 extra_options="${extra_options} openbsd.opt"
ae5f5715 2433 extra_options="${extra_options}"
ad234fc7
EB
2434 gas=yes gnu_ld=yes
2435 with_cpu=ultrasparc
8d12174d 2436 tmake_file="${tmake_file} sparc/t-sparc"
ad234fc7 2437 ;;
85d9c13c 2438spu-*-elf*)
207bf79d 2439 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
85d9c13c 2440 tmake_file="spu/t-spu-elf"
08b2bad2 2441 native_system_header_dir=/include
299456f3 2442 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
85d9c13c
TS
2443 extra_modes=spu/spu-modes.def
2444 c_target_objs="${c_target_objs} spu-c.o"
2445 cxx_target_objs="${cxx_target_objs} spu-c.o"
2446 ;;
bcead286
BS
2447tic6x-*-elf)
2448 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
2449 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
bcead286 2450 tmake_file="c6x/t-c6x c6x/t-c6x-elf"
bcead286
BS
2451 use_collect2=no
2452 ;;
2453tic6x-*-uclinux)
2454 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
2455 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
2456 tm_file="${tm_file} ./sysroot-suffix.h"
b040f2be 2457 tmake_file="t-sysroot-suffix t-slibgcc"
bcead286 2458 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
bcead286
BS
2459 use_collect2=no
2460 ;;
dd552284
WL
2461tilegx-*-linux*)
2462 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
2463 tmake_file="${tmake_file} tilegx/t-tilegx"
2464 extra_objs="mul-tables.o"
2465 c_target_objs="tilegx-c.o"
2466 cxx_target_objs="tilegx-c.o"
2467 ;;
2468tilepro-*-linux*)
2469 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
2470 tmake_file="${tmake_file} tilepro/t-tilepro"
2471 extra_objs="mul-tables.o"
2472 c_target_objs="tilepro-c.o"
2473 cxx_target_objs="tilepro-c.o"
2474 ;;
1dcad079
NC
2475v850*-*-*)
2476 case ${target} in
2477 v850e2v3-*-*)
2478 target_cpu_default="TARGET_CPU_v850e2v3"
2479 ;;
2480 v850e2-*-*)
2481 target_cpu_default="TARGET_CPU_v850e2"
2482 ;;
2483 v850e1-*-* | v850es-*-*)
2484 target_cpu_default="TARGET_CPU_v850e1"
2485 ;;
2486 v850e-*-*)
2487 target_cpu_default="TARGET_CPU_v850e"
2488 ;;
2489 v850-*-*)
2490 target_cpu_default="TARGET_CPU_generic"
2491 ;;
2492 esac
fcbf5a00 2493 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
b4378319
NC
2494 if test x$stabs = xyes
2495 then
2496 tm_file="${tm_file} dbx.h"
2497 fi
2498 use_collect2=no
2499 c_target_objs="v850-c.o"
2500 cxx_target_objs="v850-c.o"
207bf79d 2501 use_gcc_stdint=wrap
b4378319 2502 ;;
c4e75102 2503vax-*-linux*)
8e38461c 2504 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
4ad70280 2505 extra_options="${extra_options} vax/elf.opt"
c4e75102 2506 ;;
69474c3c 2507vax-*-netbsdelf*)
ec20cffb 2508 tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
4ad70280 2509 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
69474c3c 2510 ;;
61ed06c3 2511vax-*-openbsd*)
aa58f943 2512 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-pthread.h vax/openbsd.h"
5369e2d4 2513 extra_options="${extra_options} openbsd.opt"
61ed06c3
HPN
2514 use_collect2=yes
2515 ;;
14d269bb
GK
2516xstormy16-*-elf)
2517 # For historical reasons, the target files omit the 'x'.
5519175f 2518 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
14d269bb
GK
2519 tm_p_file=stormy16/stormy16-protos.h
2520 md_file=stormy16/stormy16.md
2521 out_file=stormy16/stormy16.c
d45d2353 2522 extra_options=stormy16/stormy16.opt
14d269bb 2523 tmake_file="stormy16/t-stormy16"
14d269bb 2524 ;;
6d656178 2525xtensa*-*-elf*)
416ea725 2526 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
4933ae74 2527 extra_options="${extra_options} xtensa/elf.opt"
03984308 2528 ;;
6d656178 2529xtensa*-*-linux*)
8e38461c 2530 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
5f73c6cc 2531 tmake_file="${tmake_file} xtensa/t-xtensa"
03984308 2532 ;;
2beef00e 2533am33_2.0-*-linux*)
8e38461c 2534 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
2beef00e 2535 gas=yes gnu_ld=yes
2beef00e
AO
2536 use_collect2=no
2537 ;;
7f05b779 2538m32c-*-rtems*)
24b00560 2539 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
7f05b779
JS
2540 tmake_file="${tmake_file} t-rtems"
2541 c_target_objs="m32c-pragma.o"
2542 cxx_target_objs="m32c-pragma.o"
2543 ;;
38b2d076 2544m32c-*-elf*)
24b00560 2545 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
38b2d076
DD
2546 c_target_objs="m32c-pragma.o"
2547 cxx_target_objs="m32c-pragma.o"
38b2d076 2548 ;;
61ed06c3 2549*)
b01bc573 2550 echo "*** Configuration ${target} not supported" 1>&2
61ed06c3
HPN
2551 exit 1
2552 ;;
2553esac
2554
f6bc51cb 2555case ${target} in
f6bc51cb 2556i[34567]86-*-linux* | x86_64-*-linux*)
ab442df7 2557 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
f6bc51cb
L
2558 ;;
2559i[34567]86-*-* | x86_64-*-*)
ab442df7 2560 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
f6bc51cb 2561 ;;
c5f0fe67
JM
2562powerpc*-*-* | rs6000-*-*)
2563 tm_file="${tm_file} rs6000/option-defaults.h"
f6bc51cb
L
2564esac
2565
acce4e77
JM
2566if [ "$target_has_targetcm" = "no" ]; then
2567 c_target_objs="$c_target_objs default-c.o"
2568 cxx_target_objs="$cxx_target_objs default-c.o"
2569fi
2570
c49a6962
JM
2571if [ "$common_out_file" = "" ]; then
2572 if [ "$target_has_targetm_common" = "yes" ]; then
2573 common_out_file="$cpu_type/$cpu_type-common.c"
2574 else
2575 common_out_file="default-common.c"
2576 fi
2577fi
2578
73f09c99 2579# Support for --with-cpu and related options (and a few unrelated options,
a89ea0df 2580# too).
35341073
NN
2581case ${with_cpu} in
2582 yes | no)
2583 echo "--with-cpu must be passed a value" 1>&2
2584 exit 1
2585 ;;
2586esac
83079d89 2587
3fd77630
L
2588# Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
2589# to generic if there is no processor scheduler model for the target.
2590arch=
2591cpu=
4d16c0dc 2592arch_without_sse2=no
c6b9174f 2593arch_without_64bit=no
3fd77630 2594case ${target} in
1c379b78
TC
2595 i386-*-freebsd*)
2596 if test $fbsd_major -ge 6; then
2597 arch=i486
2598 else
2599 arch=i386
2600 fi
2601 cpu=generic
2602 arch_without_sse2=yes
2603 arch_without_64bit=yes
2604 ;;
3fd77630
L
2605 i386-*-*)
2606 arch=i386
2607 cpu=i386
4d16c0dc 2608 arch_without_sse2=yes
c6b9174f 2609 arch_without_64bit=yes
3fd77630
L
2610 ;;
2611 i486-*-*)
2612 arch=i486
2613 cpu=i486
4d16c0dc 2614 arch_without_sse2=yes
c6b9174f 2615 arch_without_64bit=yes
3fd77630
L
2616 ;;
2617 i586-*-*)
4d16c0dc 2618 arch_without_sse2=yes
c6b9174f 2619 arch_without_64bit=yes
3fd77630
L
2620 case ${target_noncanonical} in
2621 k6_2-*)
2622 arch=k6-2
2623 cpu=k6-2
2624 ;;
2625 k6_3-*)
2626 arch=k6-3
2627 cpu=k6-3
2628 ;;
2629 k6-*)
2630 arch=k6
2631 cpu=k6
2632 ;;
2633 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
2634 arch=pentium-mmx
2635 cpu=pentium-mmx
2636 ;;
2637 *)
2638 arch=pentium
2639 cpu=pentium
2640 ;;
2641 esac
2642 ;;
2643 i686-*-* | i786-*-*)
2644 case ${target_noncanonical} in
4d652a18
HJ
2645 bdver2-*)
2646 arch=bdver2
2647 cpu=bdver2
2648 ;;
1133125e
HJ
2649 bdver1-*)
2650 arch=bdver1
2651 cpu=bdver1
2652 ;;
14b52538
CF
2653 btver1-*)
2654 arch=btver1
2655 cpu=btver1
2656 ;;
3fd77630
L
2657 amdfam10-*|barcelona-*)
2658 arch=amdfam10
2659 cpu=amdfam10
2660 ;;
2661 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
2662 arch=k8-sse3
2663 cpu=k8-sse3
2664 ;;
2665 k8-*|opteron-*|athlon64-*|athlon_fx-*)
2666 arch=k8
2667 cpu=k8
2668 ;;
2669 athlon_xp-*|athlon_mp-*|athlon_4-*)
2670 arch=athlon-4
2671 cpu=athlon-4
4d16c0dc 2672 arch_without_sse2=yes
c6b9174f 2673 arch_without_64bit=yes
3fd77630
L
2674 ;;
2675 athlon_tbird-*|athlon-*)
2676 arch=athlon
2677 cpu=athlon
4d16c0dc 2678 arch_without_sse2=yes
3fd77630
L
2679 ;;
2680 geode-*)
2681 arch=geode
2682 cpu=geode
4d16c0dc 2683 arch_without_sse2=yes
3fd77630
L
2684 ;;
2685 pentium2-*)
2686 arch=pentium2
2687 cpu=pentium2
4d16c0dc 2688 arch_without_sse2=yes
3fd77630
L
2689 ;;
2690 pentium3-*|pentium3m-*)
2691 arch=pentium3
2692 cpu=pentium3
4d16c0dc 2693 arch_without_sse2=yes
3fd77630
L
2694 ;;
2695 pentium4-*|pentium4m-*)
2696 arch=pentium4
2697 cpu=pentium4
2698 ;;
2699 prescott-*)
2700 arch=prescott
2701 cpu=prescott
2702 ;;
2703 nocona-*)
2704 arch=nocona
2705 cpu=nocona
2706 ;;
2707 atom-*)
2708 arch=atom
2709 cpu=atom
2710 ;;
2711 core2-*)
2712 arch=core2
2713 cpu=core2
2714 ;;
1dbb04c9
L
2715 corei7-*)
2716 arch=corei7
2717 cpu=corei7
2718 ;;
35758e5b
L
2719 corei7_avx-*)
2720 arch=corei7-avx
2721 cpu=corei7-avx
2722 ;;
3fd77630
L
2723 pentium_m-*)
2724 arch=pentium-m
2725 cpu=pentium-m
2726 ;;
2727 pentiumpro-*)
2728 arch=pentiumpro
2729 cpu=pentiumpro
4d16c0dc 2730 arch_without_sse2=yes
3fd77630
L
2731 ;;
2732 *)
2733 arch=pentiumpro
2734 cpu=generic
4d16c0dc 2735 arch_without_sse2=yes
c6b9174f 2736 arch_without_64bit=yes
3fd77630
L
2737 ;;
2738 esac
2739 ;;
2740 x86_64-*-*)
2741 case ${target_noncanonical} in
4d652a18
HJ
2742 bdver2-*)
2743 arch=bdver2
2744 cpu=bdver2
2745 ;;
1133125e
HJ
2746 bdver1-*)
2747 arch=bdver1
2748 cpu=bdver1
2749 ;;
14b52538
CF
2750 btver1-*)
2751 arch=btver1
2752 cpu=btver1
2753 ;;
3fd77630
L
2754 amdfam10-*|barcelona-*)
2755 arch=amdfam10
2756 cpu=amdfam10
2757 ;;
2758 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
2759 arch=k8-sse3
2760 cpu=k8-sse3
2761 ;;
2762 k8-*|opteron-*|athlon_64-*)
2763 arch=k8
2764 cpu=k8
2765 ;;
2766 nocona-*)
2767 arch=nocona
2768 cpu=nocona
2769 ;;
2770 atom-*)
2771 arch=atom
2772 cpu=atom
2773 ;;
2774 core2-*)
2775 arch=core2
2776 cpu=core2
2777 ;;
1dbb04c9
L
2778 corei7-*)
2779 arch=corei7
2780 cpu=corei7
2781 ;;
3fd77630
L
2782 *)
2783 arch=x86-64
2784 cpu=generic
2785 ;;
2786 esac
2787 ;;
2788esac
2789
35341073
NN
2790# If there is no $with_cpu option, try to infer one from ${target}.
2791# This block sets nothing except for with_cpu.
2792if test x$with_cpu = x ; then
2793 case ${target} in
3fd77630
L
2794 i[34567]86-*-*|x86_64-*-*)
2795 with_cpu=$cpu
35341073
NN
2796 ;;
2797 alphaev6[78]*-*-*)
2798 with_cpu=ev67
2799 ;;
2800 alphaev6*-*-*)
2801 with_cpu=ev6
2802 ;;
2803 alphapca56*-*-*)
2804 with_cpu=pca56
2805 ;;
2806 alphaev56*-*-*)
2807 with_cpu=ev56
2808 ;;
2809 alphaev5*-*-*)
2810 with_cpu=ev5
2811 ;;
faf9ab98 2812 frv-*-*linux* | frv400-*-*linux*)
34208acf
AO
2813 with_cpu=fr400
2814 ;;
faf9ab98
AH
2815 frv550-*-*linux*)
2816 with_cpu=fr550
2817 ;;
59fbf3cb 2818 m68k*-*-*)
10e96df4
NS
2819 case "$with_arch" in
2820 "cf")
2821 with_cpu=${default_cf_cpu}
2822 ;;
2823 "" | "m68k")
2824 with_cpu=m${default_m68k_cpu}
2825 ;;
2826 esac
59fbf3cb 2827 ;;
9200d6c8
RS
2828 mips*-*-vxworks)
2829 with_arch=mips2
2830 ;;
07981468
KE
2831 sparc-leon*-*)
2832 with_cpu=v8;
2833 ;;
35341073
NN
2834 sparc*-*-*)
2835 with_cpu="`echo ${target} | sed 's/-.*$//'`"
35341073
NN
2836 ;;
2837 esac
8981c15b
JM
2838
2839 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
2840 case ${target} in
2841 i[34567]86-*-*|x86_64-*-*)
3fd77630
L
2842 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
2843 if test x$with_cpu_32 = x; then
2844 with_cpu_32=$with_cpu
2845 fi
2846 if test x$with_cpu_64 = x; then
2847 with_cpu_64=$with_cpu
2848 fi
2849 with_cpu=
2850 fi
2851 ;;
2852 esac
2853fi
2854
2855# Support for --with-arch and related options (and a few unrelated options,
2856# too).
2857case ${with_arch} in
2858 yes | no)
2859 echo "--with-arch must be passed a value" 1>&2
2860 exit 1
2861 ;;
2862esac
2863
2864# If there is no $with_arch option, try to infer one from ${target}.
2865# This block sets nothing except for with_arch.
2866if test x$with_arch = x ; then
2867 case ${target} in
91ad7e13
L
2868 i[34567]86-*-darwin*|x86_64-*-darwin*)
2869 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
2870 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
2871 ;;
a3af5e26 2872 i[34567]86-*-*)
4d16c0dc
L
2873 # --with-fpmath sets the default ISA to SSE2, which is the same
2874 # ISA supported by Pentium 4.
2875 if test x$with_fpmath = x || test $arch_without_sse2 = no; then
2876 with_arch=$arch
2877 else
2878 with_arch=pentium4
a3af5e26
L
2879 fi
2880 ;;
2881 x86_64-*-*)
3fd77630
L
2882 with_arch=$arch
2883 ;;
2884 esac
2885
2886 # Avoid overriding --with-arch-32 and --with-arch-64 values.
2887 case ${target} in
91ad7e13
L
2888 i[34567]86-*-darwin*|x86_64-*-darwin*)
2889 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
2890 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
2891 ;;
3fd77630
L
2892 i[34567]86-*-*|x86_64-*-*)
2893 if test x$with_arch_32 != x || test x$with_arch_64 != x; then
2894 if test x$with_arch_32 = x; then
55c4eeaa 2895 with_arch_32=$with_arch
3fd77630
L
2896 fi
2897 if test x$with_arch_64 = x; then
c6b9174f
L
2898 if test $arch_without_64bit = yes; then
2899 # Set the default 64bit arch to x86-64 if the default arch
2900 # doesn't support 64bit.
2901 with_arch_64=x86-64
2902 else
55c4eeaa 2903 with_arch_64=$with_arch
c6b9174f 2904 fi
3fd77630
L
2905 fi
2906 with_arch=
c6b9174f
L
2907 elif test $arch_without_64bit$need_64bit_isa = yesyes; then
2908 # Set the default 64bit arch to x86-64 if the default arch
2909 # doesn't support 64bit and we need 64bit ISA.
55c4eeaa 2910 with_arch_32=$with_arch
c6b9174f
L
2911 with_arch_64=x86-64
2912 with_arch=
8981c15b
JM
2913 fi
2914 ;;
2915 esac
35341073 2916fi
83079d89 2917
a3af5e26
L
2918# Support --with-fpmath.
2919if test x$with_fpmath != x; then
2920 case ${target} in
2921 i[34567]86-*-* | x86_64-*-*)
2922 case ${with_fpmath} in
b71e5eba
UB
2923 avx)
2924 tm_file="${tm_file} i386/avxmath.h"
2925 ;;
a3af5e26
L
2926 sse)
2927 tm_file="${tm_file} i386/ssemath.h"
2928 ;;
2929 *)
2930 echo "Invalid --with-fpmath=$with_fpmath" 1>&2
2931 exit 1
2932 ;;
2933 esac
2934 ;;
2935 *)
2936 echo "--with-fpmath isn't supported for $target." 1>&2
2937 exit 1
2938 ;;
2939 esac
2940fi
2941
fe3e7450
AM
2942# Similarly for --with-schedule.
2943if test x$with_schedule = x; then
2944 case ${target} in
cd985f66 2945 hppa1*)
fe3e7450
AM
2946 # Override default PA8000 scheduling model.
2947 with_schedule=7100LC
2948 ;;
2949 esac
2950fi
83079d89 2951
fe3e7450
AM
2952# Validate and mark as valid any --with options supported
2953# by this target. In order to use a particular --with option
2954# you must list it in supported_defaults; validating the value
2955# is optional. This case statement should set nothing besides
2956# supported_defaults.
7816bea0 2957
fe3e7450
AM
2958supported_defaults=
2959case "${target}" in
83079d89 2960 alpha*-*-*)
7816bea0
DJ
2961 supported_defaults="cpu tune"
2962 for which in cpu tune; do
2963 eval "val=\$with_$which"
b597bfd8
NN
2964 case "$val" in
2965 "" \
2966 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
2967 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
2968 | 21264a)
7816bea0
DJ
2969 ;;
2970 *)
2971 echo "Unknown CPU used in --with-$which=$val" 1>&2
2972 exit 1
2973 ;;
2974 esac
2975 done
2976 ;;
2977
2978 arm*-*-*)
7cf13d1f 2979 supported_defaults="arch cpu float tune fpu abi mode tls"
7816bea0 2980 for which in cpu tune; do
2682e19f 2981 # See if it matches any of the entries in arm-cores.def
7816bea0 2982 eval "val=\$with_$which"
b73f075a 2983 if [ x"$val" = x ] \
d98a72fd 2984 || grep "^ARM_CORE(\"$val\"," \
b73f075a
PB
2985 ${srcdir}/config/arm/arm-cores.def \
2986 > /dev/null; then
2987 # Ok
d98a72fd
RE
2988 new_val=`grep "^ARM_CORE(\"$val\"," \
2989 ${srcdir}/config/arm/arm-cores.def | \
2990 sed -e 's/^[^,]*,[ ]*//' | \
2991 sed -e 's/,.*$//'`
32078532 2992 eval "target_${which}_cname=$new_val"
d98a72fd 2993 echo "For $val real value is $new_val"
b73f075a
PB
2994 true
2995 else
2996 echo "Unknown CPU used in --with-$which=$val" 1>&2
2997 exit 1
2682e19f 2998 fi
7816bea0
DJ
2999 done
3000
b597bfd8
NN
3001 case "$with_arch" in
3002 "" \
9b66ebb1 3003 | armv[23456] | armv2a | armv3m | armv4t | armv5t \
bf98ec6c
PB
3004 | armv5te | armv6j |armv6k | armv6z | armv6zk | armv6-m \
3005 | armv7 | armv7-a | armv7-r | armv7-m \
fa91adc6 3006 | iwmmxt | ep9312)
83079d89 3007 # OK
4ed47bea
JM
3008 ;;
3009 *)
7816bea0 3010 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
83079d89 3011 exit 1
73f09c99
DJ
3012 ;;
3013 esac
83079d89 3014
b597bfd8
NN
3015 case "$with_float" in
3016 "" \
9b66ebb1 3017 | soft | hard | softfp)
83079d89 3018 # OK
73f09c99 3019 ;;
83079d89 3020 *)
7816bea0 3021 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
83079d89 3022 exit 1
73f09c99
DJ
3023 ;;
3024 esac
7816bea0 3025
9b66ebb1
PB
3026 case "$with_fpu" in
3027 "" \
9094e001 3028 | vfp | vfp3 | vfpv3 \
894b386f
UB
3029 | vfpv3-fp16 | vfpv3-d16 | vfpv3-d16-fp16 | vfpv3xd \
3030 | vfpv3xd-fp16 | neon | neon-fp16 | vfpv4 | vfpv4-d16 \
3031 | fpv4-sp-d16 | neon-vfpv4)
9b66ebb1
PB
3032 # OK
3033 ;;
9094e001
RE
3034 fpa | fpe2 | fpe3 | maverick)
3035 if test "x$enable_obsolete" != xyes; then
3036 echo "*** Configuration option --with-fpu=${with_fpu} is obsolete." >&2
3037 echo "*** Specify --enable-obsolete to build it anyway." >&2
3038 echo "*** Support will be REMOVED in the next major release of GCC." >&2
3039 exit 1
3040 fi
3041 ;;
9b66ebb1 3042 *)
5848830f
PB
3043 echo "Unknown fpu used in --with-fpu=$with_fpu" 2>&1
3044 exit 1
3045 ;;
3046 esac
3047
3048 case "$with_abi" in
3049 "" \
ebca2d91 3050 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
5848830f
PB
3051 #OK
3052 ;;
3053 *)
3054 echo "Unknown ABI used in --with-abi=$with_abi"
9b66ebb1
PB
3055 exit 1
3056 ;;
3057 esac
3058
3cf94279
PB
3059 case "$with_mode" in
3060 "" \
3061 | arm | thumb )
3062 #OK
3063 ;;
3064 *)
3065 echo "Unknown mode used in --with-mode=$with_mode"
3066 exit 1
3067 ;;
3068 esac
3069
7cf13d1f
NS
3070 case "$with_tls" in
3071 "" \
3072 | gnu | gnu2)
3073 # OK
3074 ;;
3075 *)
3076 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3077 exit 1
3078 ;;
3079 esac
3080
7816bea0 3081 if test "x$with_arch" != x && test "x$with_cpu" != x; then
5848830f 3082 echo "Warning: --with-arch overrides --with-cpu=$with_cpu" 1>&2
7816bea0 3083 fi
73f09c99 3084 ;;
73f09c99 3085
34208acf
AO
3086 fr*-*-*linux*)
3087 supported_defaults=cpu
3088 case "$with_cpu" in
3089 fr400) ;;
faf9ab98 3090 fr550) ;;
34208acf
AO
3091 *)
3092 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3093 exit 1
3094 ;;
3095 esac
3096 ;;
3097
cd985f66 3098 fido-*-* | m68k*-*-*)
10e96df4
NS
3099 supported_defaults="arch cpu"
3100 case "$with_arch" in
3101 "" | "m68k"| "cf")
3102 m68k_arch_family="$with_arch"
3103 ;;
3104 *)
3105 echo "Invalid --with-arch=$with_arch" 1>&2
3106 exit 1
3107 ;;
3108 esac
59fbf3cb
NS
3109
3110 # We always have a $with_cpu setting here.
3704aae9 3111 case "$with_cpu" in
900ec02d
JB
3112 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
3113 m68k_cpu_ident=$with_cpu
3114 ;;
3115 "m68020-40")
3116 m68k_cpu_ident=m68020
3117 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
3118 ;;
3119 "m68020-60")
3120 m68k_cpu_ident=m68020
3121 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
3704aae9
RZ
3122 ;;
3123 *)
900ec02d
JB
3124 # We need the C identifier rather than the string.
3125 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
3126 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
3127 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
3128 ${srcdir}/config/m68k/m68k-devices.def`
3129 if [ x"$m68k_cpu_ident" = x ] ; then
3130 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
3131 exit 1
3132 fi
3133 with_cpu="mcpu=$with_cpu"
3704aae9
RZ
3134 ;;
3135 esac
3136 ;;
3137
cd985f66 3138 hppa*-*-*)
7816bea0
DJ
3139 supported_defaults="arch schedule"
3140
b597bfd8
NN
3141 case "$with_arch" in
3142 "" | 1.0 | 1.1 | 2.0)
7816bea0
DJ
3143 # OK
3144 ;;
3145 *)
3146 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
3147 exit 1
3148 ;;
3149 esac
3150
b597bfd8
NN
3151 case "$with_schedule" in
3152 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
83079d89
DJ
3153 # OK
3154 ;;
3155 *)
3156 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
3157 exit 1
3158 ;;
3159 esac
73f09c99 3160 ;;
73f09c99 3161
83079d89 3162 i[34567]86-*-* | x86_64-*-*)
8981c15b
JM
3163 supported_defaults="arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
3164 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
7816bea0 3165 eval "val=\$with_$which"
16aa42c0 3166 case ${val} in
d326eaf0 3167 i386 | i486 \
16aa42c0
NN
3168 | i586 | pentium | pentium-mmx | winchip-c6 | winchip2 \
3169 | c3 | c3-2 | i686 | pentiumpro | pentium2 | pentium3 \
3170 | pentium4 | k6 | k6-2 | k6-3 | athlon | athlon-tbird \
537bbabd 3171 | athlon-4 | athlon-xp | athlon-mp | geode \
d326eaf0
JH
3172 | prescott | pentium-m | pentium4m | pentium3m)
3173 case "${target}" in
3174 x86_64-*-*)
8981c15b
JM
3175 case "x$which" in
3176 *_32)
3177 ;;
3178 *)
3179 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
3180 exit 1
3181 ;;
3182 esac
d326eaf0
JH
3183 ;;
3184 esac
3185 # OK
3186 ;;
894b386f
UB
3187 "" | x86-64 | generic | native \
3188 | k8 | k8-sse3 | athlon64 | athlon64-sse3 | opteron \
4d652a18
HJ
3189 | opteron-sse3 | athlon-fx | bdver2 | bdver1 | btver1 \
3190 | amdfam10 | barcelona | nocona | core2 | corei7 \
d67ce16a 3191 | corei7-avx | core-avx-i | core-avx2 | atom)
7816bea0
DJ
3192 # OK
3193 ;;
3194 *)
3195 echo "Unknown CPU given in --with-$which=$val." 1>&2
3196 exit 1
3197 ;;
3198 esac
3199 done
3200 ;;
3201
3202 mips*-*-*)
b96c5923 3203 supported_defaults="abi arch arch_32 arch_64 float tune tune_32 tune_64 divide llsc mips-plt synci"
7816bea0 3204
16aa42c0
NN
3205 case ${with_float} in
3206 "" | soft | hard)
83079d89
DJ
3207 # OK
3208 ;;
3209 *)
7816bea0 3210 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
83079d89
DJ
3211 exit 1
3212 ;;
3213 esac
73f09c99 3214
16aa42c0
NN
3215 case ${with_abi} in
3216 "" | 32 | o64 | n32 | 64 | eabi)
83079d89
DJ
3217 # OK
3218 ;;
3219 *)
7816bea0 3220 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
83079d89
DJ
3221 exit 1
3222 ;;
3223 esac
9f0df97a
DD
3224
3225 case ${with_divide} in
3226 "" | breaks | traps)
3227 # OK
3228 ;;
3229 *)
3230 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
3231 exit 1
66471b47
DD
3232 ;;
3233 esac
3234
3235 case ${with_llsc} in
3236 yes)
3237 with_llsc=llsc
3238 ;;
3239 no)
3240 with_llsc="no-llsc"
3241 ;;
3242 "")
3243 # OK
3244 ;;
3245 *)
3246 echo "Unknown llsc type used in --with-llsc" 1>&2
3247 exit 1
3248 ;;
9f0df97a 3249 esac
e21d5757
DJ
3250
3251 case ${with_mips_plt} in
3252 yes)
3253 with_mips_plt=plt
3254 ;;
3255 no)
3256 with_mips_plt=no-plt
3257 ;;
3258 "")
3259 ;;
3260 *)
3261 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
3262 exit 1
3263 ;;
3264 esac
b96c5923
DD
3265
3266 case ${with_synci} in
3267 yes)
3268 with_synci=synci
3269 ;;
3270 "" | no)
3271 # No is the default.
3272 with_synci=no-synci
3273 ;;
3274 *)
3275 echo "Unknown synci type used in --with-synci" 1>&2
3276 exit 1
3277 ;;
3278 esac
73f09c99 3279 ;;
73f09c99 3280
7816bea0 3281 powerpc*-*-* | rs6000-*-*)
c5f0fe67 3282 supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64"
7816bea0 3283
c5f0fe67 3284 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
7816bea0 3285 eval "val=\$with_$which"
16aa42c0 3286 case ${val} in
1ab1739c 3287 default32 | default64)
c5f0fe67
JM
3288 case $which in
3289 cpu | tune)
3290 ;;
3291 *)
3292 echo "$val only valid for --with-cpu and --with-tune." 1>&2
3293 exit 1
3294 ;;
3295 esac
1ab1739c
JJ
3296 with_which="with_$which"
3297 eval $with_which=
3298 ;;
b0bfee6e
DE
3299 405cr)
3300 tm_defines="${tm_defines} CONFIG_PPC405CR"
3301 eval "with_$which=405"
3302 ;;
1ab1739c 3303 "" | common \
d40c9e33 3304 | power | power[234567] | power6x | powerpc | powerpc64 \
16aa42c0 3305 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
4adf8008 3306 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
47f67e51
PB
3307 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
3308 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
3c005e6c 3309 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | titan\
edae5fe3 3310 | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
7816bea0
DJ
3311 # OK
3312 ;;
3313 *)
3314 echo "Unknown cpu used in --with-$which=$val." 1>&2
3315 exit 1
3316 ;;
3317 esac
3318 done
3319 ;;
3320
f13e0d4e
UW
3321 s390*-*-*)
3322 supported_defaults="arch mode tune"
3323
3324 for which in arch tune; do
3325 eval "val=\$with_$which"
16aa42c0 3326 case ${val} in
65b1d8ea 3327 "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196)
f13e0d4e
UW
3328 # OK
3329 ;;
3330 *)
3331 echo "Unknown cpu used in --with-$which=$val." 1>&2
3332 exit 1
3333 ;;
3334 esac
3335 done
3336
16aa42c0
NN
3337 case ${with_mode} in
3338 "" | esa | zarch)
f13e0d4e
UW
3339 # OK
3340 ;;
3341 *)
3342 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
3343 exit 1
3344 ;;
3345 esac
3346 ;;
3347
da28a3b9
JR
3348 sh[123456ble]-*-* | sh-*-*)
3349 supported_defaults="cpu"
25e651ca 3350 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
da28a3b9
JR
3351 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
3352 # OK
3353 ;;
157371cf
AO
3354 m2a | m2a-single | m2a-single-only | m2a-nofpu)
3355 ;;
312209c6
AO
3356 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
3357 ;;
da28a3b9
JR
3358 *)
3359 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
3360 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
312209c6 3361 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
157371cf 3362 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
da28a3b9
JR
3363 exit 1
3364 ;;
3365 esac
3366 ;;
83079d89 3367 sparc*-*-*)
7816bea0
DJ
3368 supported_defaults="cpu float tune"
3369
3370 for which in cpu tune; do
3371 eval "val=\$with_$which"
16aa42c0 3372 case ${val} in
07981468
KE
3373 "" | sparc | sparcv9 | sparc64 \
3374 | v7 | cypress \
3375 | v8 | supersparc | hypersparc | leon \
3376 | sparclite | f930 | f934 | sparclite86x \
3377 | sparclet | tsc701 \
70847a48
DM
3378 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
3379 | niagara3 | niagara4)
7816bea0
DJ
3380 # OK
3381 ;;
3382 *)
3383 echo "Unknown cpu used in --with-$which=$val" 1>&2
3384 exit 1
3385 ;;
3386 esac
3387 done
73f09c99 3388
16aa42c0
NN
3389 case ${with_float} in
3390 "" | soft | hard)
83079d89
DJ
3391 # OK
3392 ;;
3393 *)
7816bea0 3394 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
83079d89
DJ
3395 exit 1
3396 ;;
3397 esac
73f09c99 3398 ;;
73f09c99 3399
39aeae85
SL
3400 spu-*-*)
3401 supported_defaults="arch tune"
3402
3403 for which in arch tune; do
3404 eval "val=\$with_$which"
3405 case ${val} in
3406 "" | cell | celledp)
3407 # OK
3408 ;;
3409 *)
3410 echo "Unknown cpu used in --with-$which=$val." 1>&2
3411 exit 1
3412 ;;
3413 esac
3414 done
3415 ;;
3416
bcead286
BS
3417 tic6x-*-*)
3418 supported_defaults="arch"
3419
3420 case ${with_arch} in
3421 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
3422 # OK
3423 ;;
3424 *)
3425 echo "Unknown arch used in --with-arch=$with_arch." 1>&2
3426 exit 1
3427 ;;
3428 esac
3429 ;;
3430
83079d89 3431 v850*-*-*)
7816bea0 3432 supported_defaults=cpu
16aa42c0 3433 case ${with_cpu} in
1dcad079 3434 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3)
83079d89
DJ
3435 # OK
3436 ;;
3437 *)
3438 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3439 exit 1
3440 ;;
3441 esac
73f09c99 3442 ;;
fe3e7450 3443esac
73f09c99 3444
fe3e7450
AM
3445# Set some miscellaneous flags for particular targets.
3446target_cpu_default2=
3447case ${target} in
83079d89 3448 alpha*-*-*)
83079d89
DJ
3449 if test x$gas = xyes
3450 then
7816bea0 3451 target_cpu_default2="MASK_GAS"
83079d89 3452 fi
73f09c99 3453 ;;
73f09c99 3454
83079d89 3455 arm*-*-*)
32078532
RE
3456 if test x$target_cpu_cname = x
3457 then
3458 target_cpu_default2=TARGET_CPU_generic
3459 else
3460 target_cpu_default2=TARGET_CPU_$target_cpu_cname
3461 fi
83079d89 3462 ;;
0e5a4ad8 3463
cd985f66 3464 hppa*-*-*)
d711cf67 3465 target_cpu_default2="MASK_BIG_SWITCH"
83079d89 3466 if test x$gas = xyes
61ed06c3 3467 then
d711cf67 3468 target_cpu_default2="${target_cpu_default2}|MASK_GAS|MASK_JUMP_IN_DELAY"
83079d89 3469 fi
73f09c99 3470 ;;
73f09c99 3471
cd985f66 3472 fido*-*-* | m68k*-*-*)
900ec02d 3473 target_cpu_default2=$m68k_cpu_ident
47c94d21 3474 tmake_file="m68k/t-opts $tmake_file"
10e96df4
NS
3475 if [ x"$m68k_arch_family" != x ]; then
3476 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
3477 fi
900ec02d
JB
3478 ;;
3479
ff473280 3480 i[34567]86-*-darwin* | x86_64-*-darwin*)
ff473280 3481 ;;
3f56ef8b
TS
3482 i[34567]86-*-linux* | x86_64-*-linux* | \
3483 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
3484 i[34567]86-*-gnu*)
ff473280 3485 ;;
fbdd5d87 3486 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
f128db92 3487 ;;
f0375e78 3488 i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
e997fb9c 3489 ;;
d78552bd 3490 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
d78552bd 3491 ;;
c252db20 3492 ia64*-*-linux*)
c252db20 3493 ;;
ff473280 3494
83079d89 3495 mips*-*-*)
5811cb27
RS
3496 if test x$gnu_ld = xyes
3497 then
21c425ee 3498 target_cpu_default2="MASK_SPLIT_ADDRESSES"
5811cb27 3499 fi
b01bc573 3500 case ${target} in
83079d89
DJ
3501 mips*el-*-*)
3502 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
3503 ;;
3504 esac
bd9c1f8f 3505 tmake_file="mips/t-mips $tmake_file"
74826b0f 3506 ;;
83079d89
DJ
3507
3508 powerpc*-*-* | rs6000-*-*)
7816bea0
DJ
3509 # FIXME: The PowerPC port uses the value set at compile time,
3510 # although it's only cosmetic.
83079d89 3511 if test "x$with_cpu" != x
61ed06c3 3512 then
83079d89 3513 target_cpu_default2="\\\"$with_cpu\\\""
61ed06c3 3514 fi
83079d89
DJ
3515 out_file=rs6000/rs6000.c
3516 c_target_objs="${c_target_objs} rs6000-c.o"
3517 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
3518 tmake_file="rs6000/t-rs6000 ${tmake_file}"
4d4cbc0e
AH
3519
3520 if test x$enable_e500_double = xyes
3521 then
3522 tm_file="$tm_file rs6000/e500-double.h"
3523 fi
74826b0f 3524 ;;
73f09c99 3525
a6ab9fc0
R
3526 sh[123456ble]*-*-* | sh-*-*)
3527 c_target_objs="${c_target_objs} sh-c.o"
3528 cxx_target_objs="${cxx_target_objs} sh-c.o"
3529 ;;
3530
07981468
KE
3531 sparc-leon*-*)
3532 if test x$with_tune = x ; then
3533 with_tune=leon;
3534 fi
3535
3536 # The SPARC port checks this value at compile-time.
3537 target_cpu_default2="TARGET_CPU_$with_cpu"
3538 ;;
3539
83079d89 3540 sparc*-*-*)
7816bea0
DJ
3541 # Some standard aliases.
3542 case x$with_cpu in
3543 xsparc)
3544 with_cpu=v7
3545 ;;
7816bea0
DJ
3546 xsparcv9 | xsparc64)
3547 with_cpu=v9
3548 ;;
3549 esac
3550
a4d05547 3551 # The SPARC port checks this value at compile-time.
73f09c99
DJ
3552 target_cpu_default2="TARGET_CPU_$with_cpu"
3553 ;;
07981468 3554
83079d89
DJ
3555 v850*-*-*)
3556 case "x$with_cpu" in
3557 x)
3558 ;;
1dcad079 3559 xv850e | xv850e1 | xv850e2 | xv850e2v3)
83079d89
DJ
3560 target_cpu_default2="TARGET_CPU_$with_cpu"
3561 ;;
1dcad079
NC
3562 xv850es)
3563 target_cpu_default2="TARGET_CPU_v850e1"
3564 ;;
83079d89
DJ
3565 esac
3566 ;;
fe3e7450 3567esac
61ed06c3 3568
fe3e7450 3569t=
7cf13d1f 3570all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu divide llsc mips-plt synci tls"
fe3e7450
AM
3571for option in $all_defaults
3572do
e21d5757 3573 eval "val=\$with_"`echo $option | sed s/-/_/g`
fe3e7450
AM
3574 if test -n "$val"; then
3575 case " $supported_defaults " in
3576 *" $option "*)
3577 ;;
3578 *)
3579 echo "This target does not support --with-$option." 2>&1
6e0eea31 3580 echo "Valid --with options are: $supported_defaults" 2>&1
fe3e7450
AM
3581 exit 1
3582 ;;
3583 esac
7816bea0 3584
fe3e7450
AM
3585 if test "x$t" = x
3586 then
3587 t="{ \"$option\", \"$val\" }"
3588 else
3589 t="${t}, { \"$option\", \"$val\" }"
7816bea0 3590 fi
7816bea0 3591 fi
fe3e7450 3592done
7816bea0 3593
fe3e7450
AM
3594if test "x$t" = x
3595then
3596 configure_default_options="{ { NULL, NULL} }"
3597else
3598 configure_default_options="{ ${t} }"
3599fi
3600
3601if test "$target_cpu_default2" != ""
3602then
3603 if test "$target_cpu_default" != ""
61ed06c3 3604 then
fe3e7450
AM
3605 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
3606 else
3607 target_cpu_default=$target_cpu_default2
61ed06c3 3608 fi
fe3e7450 3609fi