]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config.gcc
gcc/
[thirdparty/gcc.git] / gcc / config.gcc
CommitLineData
973f8bf3 1# GCC target-specific configuration file.
99c77e32 2# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3# 2008 Free Software Foundation, Inc.
bb607926 4
f12b58b3 5#This file is part of GCC.
bb607926 6
f12b58b3 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
8c4c00c1 9#Software Foundation; either version 3, or (at your option) any later
f12b58b3 10#version.
bb607926 11
f12b58b3 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.
bb607926 16
17#You should have received a copy of the GNU General Public License
8c4c00c1 18#along with GCC; see the file COPYING3. If not see
19#<http://www.gnu.org/licenses/>.
bb607926 20
973f8bf3 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.
bb607926 26
894a47b4 27# When you change the cases in the OS or target switches, consider
28# updating ../libgcc/config.host also.
29
09c6646e 30# This file switches on the shell variable ${target}, and also uses the
bb607926 31# following shell variables:
32#
33# with_* Various variables as set by configure.
34#
334c8279 35# enable_threads Either the name, yes or no depending on whether
bb607926 36# threads support was requested.
37#
bc5ae993 38# default_use_cxa_atexit
430e8f92 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.
bc5ae993 47#
bb607926 48# gas_flag Either yes or no depending on whether GNU as was
49# requested.
50#
51# gnu_ld_flag Either yes or no depending on whether GNU ld was
52# requested.
53
54# This file sets the following shell variables for use by the
55# autoconf-generated configure script:
56#
09c6646e 57# cpu_type The name of the cpu, if different from the first
58# chunk of the canonical target name.
bb607926 59#
8d4f8d46 60# tm_defines List of target macros to define for all compilations.
61#
bb607926 62# tm_file A list of target macro files, if different from
277773bd 63# "$cpu_type/$cpu_type.h". Usually it's constructed
64# per target in a way like this:
7a6d1a72 65# tm_file="${tm_file} dbxelf.h elfos.h svr4.h ${cpu_type.h}/elf.h"
277773bd 66# Note that the preferred order is:
67# - specific target header "${cpu_type}/${cpu_type.h}"
04d9b51b 68# - generic headers like dbxelf.h elfos.h, etc.
277773bd 69# - specializing target headers like ${cpu_type.h}/elf.h
70# This helps to keep OS specific stuff out of the CPU
71# defining header ${cpu_type}/${cpu_type.h}.
bb607926 72#
b4b98cc1 73# It is possible to include automatically-generated
74# build-directory files by prefixing them with "./".
75# All other files should relative to $srcdir/config.
76#
bb607926 77# tm_p_file Location of file with declarations for functions
78# in $out_file.
79#
80# out_file The name of the machine description C support
81# file, if different from "$cpu_type/$cpu_type.c".
82#
83# md_file The name of the machine-description file, if
84# different from "$cpu_type/$cpu_type.md".
85#
86# tmake_file A list of machine-description-specific
87# makefile-fragments, if different from
88# "$cpu_type/t-$cpu_type".
89#
b5ccaa7b 90# extra_modes The name of the file containing a list of extra
91# machine modes, if necessary and different from
92# "$cpu_type/$cpu_type-modes.def".
93#
bb607926 94# extra_objs List of extra objects that should be linked into
95# the compiler proper (cc1, cc1obj, cc1plus)
96# depending on target.
97#
69eb04f7 98# extra_gcc_objs List of extra objects that should be linked into
99# the compiler driver (gcc) depending on target.
100#
bb607926 101# extra_headers List of used header files from the directory
b965afcd 102# config/${cpu_type}.
bb607926 103#
50388ca3 104# use_gcc_tgmath If set, add tgmath.h to the list of used header
105# files.
106#
bb607926 107# extra_passes List of extra executables compiled for this target
108# machine, used for compiling from source to object.
109#
110# extra_parts List of extra object files that should be compiled
111# for this target machine.
112#
113# extra_programs Like extra_passes, but these are used when linking.
114#
ff05e09e 115# extra_options List of target-dependent .opt files.
116#
424da949 117# c_target_objs List of extra target-dependent objects that be
8daa9e98 118# linked into the C compiler only.
582b17a6 119#
424da949 120# cxx_target_objs List of extra target-dependent objects that be
8daa9e98 121# linked into the C++ compiler only.
582b17a6 122#
32006f36 123# fortran_target_objs List of extra target-dependent objects that be
124# linked into the fortran compiler only.
125#
eb1bd38b 126# target_gtfiles List of extra source files with type information.
127#
bb607926 128# xm_defines List of macros to define when compiling for the
129# target machine.
130#
131# xm_file List of files to include when compiling for the
132# target machine.
133#
134# use_collect2 Set to yes or no, depending on whether collect2
135# will be used.
136#
137# target_cpu_default Set to override the default target model.
138#
bb607926 139# gdb_needs_out_file_path
140# Set to yes if gdb needs a dir command with
141# `dirname $out_file`.
142#
bb607926 143# thread_file Set to control which thread package to use.
144#
145# gas Set to yes or no depending on whether the target
146# system normally uses GNU as.
805e22b2 147#
148# need_64bit_hwint Set to yes if HOST_WIDE_INT must be 64 bits wide
d8372058 149# for this target. This is true iff this target
150# supports "long" or "wchar_t" wider than 32 bits.
bbb5db40 151# The setting made here must match the one made in
152# other locations such as libcpp/configure.ac
7dd97ab6 153#
154# configure_default_options
155# Set to an initializer for configure_default_options
156# in configargs.h, based on --with-cpu et cetera.
4c05f6ec 157#
158# use_fixproto Set to "yes" if fixproto should be run normally,
159# "no" if fixproto should never be run.
bb607926 160
161# The following variables are used in each case-construct to build up the
162# outgoing variables:
163#
bb607926 164# gnu_ld Set to yes or no depending on whether the target
165# system normally uses GNU ld.
166
167out_file=
bb607926 168tmake_file=
169extra_headers=
50388ca3 170use_gcc_tgmath=yes
bb607926 171extra_passes=
172extra_parts=
173extra_programs=
174extra_objs=
bb607926 175extra_gcc_objs=
ff05e09e 176extra_options=
8daa9e98 177c_target_objs=
178cxx_target_objs=
32006f36 179fortran_target_objs=
8d4f8d46 180tm_defines=
bb607926 181xm_defines=
bb607926 182# Set this to force installation and use of collect2.
183use_collect2=
184# Set this to override the default target model.
185target_cpu_default=
bb607926 186# Set this if gdb needs a dir command with `dirname $out_file`
187gdb_needs_out_file_path=
bb607926 188# Set this to control which thread package will be used.
189thread_file=
190# Reinitialize these from the flag values every loop pass, since some
191# configure entries modify them.
192gas="$gas_flag"
193gnu_ld="$gnu_ld_flag"
bc5ae993 194default_use_cxa_atexit=no
22ac052b 195target_gtfiles=
805e22b2 196need_64bit_hwint=
bb607926 197
3b9ee544 198# Default to not using fixproto. Targets which need fixproto should
199# specifically set this to 'yes'.
200use_fixproto=no
4c05f6ec 201
b696fe80 202# Don't carry these over build->host->target. Please.
203xm_file=
204md_file=
205
c2527f80 206# Obsolete configurations.
9061ead2 207case ${target} in
208# Avoid generic cases below matching.
209 h8300-*-rtems* | h8300-*-elf* \
210 | sh-*-elf* | sh-*-symbianelf* | sh-*-linux* | sh-*-netbsdelf* \
211 | sh-*-rtems* | sh-wrs-vxworks) ;;
212 arm-*-coff* \
213 | armel-*-coff* \
214 | h8300-*-* \
215 | i[34567]86-*-aout* \
216 | i[34567]86-*-coff* \
217 | m68k-*-aout* \
218 | m68k-*-coff* \
219 | sh-*-* \
220 | mips-sgi-irix[56]* \
221 | pdp11-*-bsd \
222 | rs6000-ibm-aix4.[12]* \
223 | powerpc-ibm-aix4.[12]* \
224 )
225 if test "x$enable_obsolete" != xyes; then
226 echo "*** Configuration ${target} is obsolete." >&2
227 echo "*** Specify --enable-obsolete to build it anyway." >&2
228 echo "*** Support will be REMOVED in the next major release of GCC," >&2
229 echo "*** unless a maintainer comes forward." >&2
230 exit 1
231 fi;;
232esac
c2527f80 233
ece7f381 234# Unsupported targets list. Do not put an entry in this list unless
235# it would otherwise be caught by a more permissive pattern. The list
236# should be in alphabetical order.
09c6646e 237case ${target} in
6af9f7ea 238 i[34567]86-go32-* \
ece7f381 239 | i[34567]86-*-go32* \
ece7f381 240 | mips64orion*-*-rtems* \
ece7f381 241 | sparc-hal-solaris2* \
242 | thumb-*-* \
6af9f7ea 243 | *-*-linux*aout* \
ece7f381 244 | *-*-linux*coff* \
6af9f7ea 245 | *-*-linux*libc1* \
ece7f381 246 | *-*-linux*oldld* \
247 | *-*-rtemsaout* \
248 | *-*-rtemscoff* \
6af9f7ea 249 | *-*-solaris2.[0-6] \
250 | *-*-solaris2.[0-6].* \
251 | *-*-sysv* \
3598ba3d 252 | vax-*-vms* \
ece7f381 253 )
09c6646e 254 echo "*** Configuration ${target} not supported" 1>&2
ece7f381 255 exit 1
256 ;;
257esac
258
bb607926 259# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
83287f80 260# updated in each machine entry. Also set default extra_headers for some
261# machines.
bb607926 262tm_p_file=
09c6646e 263cpu_type=`echo ${target} | sed 's/-.*$//'`
cc5ffbb8 264cpu_is_64bit=
09c6646e 265case ${target} in
85c84d5c 266m32c*-*-*)
267 cpu_type=m32c
268 tmake_file=m32c/t-m32c
269 ;;
bb607926 270alpha*-*-*)
271 cpu_type=alpha
805e22b2 272 need_64bit_hwint=yes
bb607926 273 ;;
1acdfc69 274am33_2.0-*-linux*)
275 cpu_type=mn10300
276 ;;
6e421549 277arm*-*-*)
278 cpu_type=arm
d98a3884 279 extra_headers="mmintrin.h arm_neon.h"
baa1a726 280 c_target_objs="arm-c.o"
281 cxx_target_objs="arm-c.o"
6e421549 282 ;;
9e6a0967 283bfin*-*)
284 cpu_type=bfin
285 ;;
9b9e3455 286crisv32-*)
287 cpu_type=cris
288 ;;
de6e318c 289frv*) cpu_type=frv
290 ;;
278e2fd1 291fido-*-*)
292 cpu_type=m68k
293 extra_headers=math-68881.h
294 ;;
bb607926 295i[34567]86-*-*)
296 cpu_type=i386
46f8e3b0 297 c_target_objs="i386-c.o"
298 cxx_target_objs="i386-c.o"
daf03e2f 299 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
f25d51c3 300 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
1d9ef704 301 nmmintrin.h bmmintrin.h mmintrin-common.h
5f57a8b1 302 wmmintrin.h cross-stdarg.h"
bb607926 303 ;;
5c66405b 304x86_64-*-*)
305 cpu_type=i386
46f8e3b0 306 c_target_objs="i386-c.o"
307 cxx_target_objs="i386-c.o"
daf03e2f 308 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
f25d51c3 309 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
1d9ef704 310 nmmintrin.h bmmintrin.h mmintrin-common.h
5f57a8b1 311 wmmintrin.h cross-stdarg.h"
805e22b2 312 need_64bit_hwint=yes
5c66405b 313 ;;
b965afcd 314ia64-*-*)
315 extra_headers=ia64intrin.h
805e22b2 316 need_64bit_hwint=yes
b965afcd 317 ;;
6af9f7ea 318hppa*-*-*)
bb607926 319 cpu_type=pa
320 ;;
467dc9aa 321m32r*-*-*)
322 cpu_type=m32r
323 ;;
83287f80 324m68k-*-*)
325 extra_headers=math-68881.h
bb607926 326 ;;
327mips*-*-*)
328 cpu_type=mips
805e22b2 329 need_64bit_hwint=yes
9636921b 330 extra_headers="loongson.h"
bb607926 331 ;;
bb607926 332powerpc*-*-*)
333 cpu_type=rs6000
c22e07a3 334 extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h"
805e22b2 335 need_64bit_hwint=yes
cc5ffbb8 336 case x$with_cpu in
94f7a54b 337 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell)
cc5ffbb8 338 cpu_is_64bit=yes
339 ;;
340 esac
805e22b2 341 ;;
342rs6000*-*-*)
343 need_64bit_hwint=yes
344 ;;
3dbfe3e4 345score*-*-*)
346 cpu_type=score
347 ;;
bb607926 348sparc*-*-*)
349 cpu_type=sparc
1168681b 350 need_64bit_hwint=yes
bb607926 351 ;;
644459d0 352spu*-*-*)
353 cpu_type=spu
354 need_64bit_hwint=yes
355 ;;
805e22b2 356s390*-*-*)
37d32fbf 357 cpu_type=s390
805e22b2 358 need_64bit_hwint=yes
359 ;;
4ee34c70 360# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
fc7383ad 361sh[123456789lbe]*-*-* | sh-*-*)
87e19636 362 cpu_type=sh
805e22b2 363 need_64bit_hwint=yes
87e19636 364 ;;
bb607926 365esac
366
367tm_file=${cpu_type}/${cpu_type}.h
20ffb0b1 368if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
bb607926 369then
20ffb0b1 370 tm_p_file=${cpu_type}/${cpu_type}-protos.h
371fi
b5ccaa7b 372extra_modes=
373if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
374then
375 extra_modes=${cpu_type}/${cpu_type}-modes.def
376fi
ff05e09e 377if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
378then
379 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
380fi
a8456aba 381
09c6646e 382case ${target} in
144c3e90 383i[34567]86-*-*)
43da04c5 384 if test "x$enable_cld" = xyes; then
144c3e90 385 tm_defines="${tm_defines} USE_IX86_CLD=1"
386 fi
387 ;;
a8456aba 388x86_64-*-*)
389 tm_file="i386/biarch64.h ${tm_file}"
43da04c5 390 if test "x$enable_cld" = xyes; then
144c3e90 391 tm_defines="${tm_defines} USE_IX86_CLD=1"
392 fi
a8456aba 393 ;;
394esac
395
bb607926 396# On a.out targets, we need to use collect2.
09c6646e 397case ${target} in
bb607926 398*-*-*aout*)
399 use_collect2=yes
400 ;;
582b17a6 401esac
bb607926 402
805e22b2 403# Common parts for widely ported systems.
09c6646e 404case ${target} in
1025d5b9 405*-*-darwin*)
650c26dc 406 tm_file="${tm_file} darwin.h"
407 case ${target} in
408 *-*-darwin9*)
409 tm_file="${tm_file} darwin9.h"
410 ;;
411 esac
412 tm_file="${tm_file} ${cpu_type}/darwin.h"
1025d5b9 413 tm_p_file="${tm_p_file} darwin-protos.h"
9fec3fa8 414 tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin"
1025d5b9 415 target_gtfiles="\$(srcdir)/config/darwin.c"
0c44645a 416 extra_options="${extra_options} darwin.opt"
46f8e3b0 417 c_target_objs="${c_target_objs} darwin-c.o"
418 cxx_target_objs="${cxx_target_objs} darwin-c.o"
32006f36 419 fortran_target_objs="darwin-f.o"
1025d5b9 420 extra_objs="darwin.o"
a9540fb6 421 extra_gcc_objs="darwin-driver.o"
3da996b9 422 default_use_cxa_atexit=yes
1025d5b9 423 case ${enable_threads} in
424 "" | yes | posix) thread_file='posix' ;;
425 esac
426 ;;
427*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
428 # This is the place-holder for the generic a.out configuration
429 # of FreeBSD. No actual configuration resides here since
430 # there was only ever a bare-bones ix86 configuration for
431 # a.out and it exists solely in the machine-specific section.
432 # This place-holder must exist to avoid dropping into
433 # the generic ELF configuration of FreeBSD (i.e. it must be
434 # ordered before that section).
435 ;;
436*-*-freebsd*)
437 # This is the generic ELF configuration of FreeBSD. Later
438 # machine-specific sections may refine and add to this
439 # configuration.
440 #
441 # Due to tm_file entry ordering issues that vary between cpu
442 # architectures, we only define fbsd_tm_file to allow the
443 # machine-specific section to dictate the final order of all
444 # entries of tm_file with the minor exception that components
445 # of the tm_file set here will always be of the form:
446 #
447 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
448 #
449 # The machine-specific section should not tamper with this
450 # ordering but may order all other entries of tm_file as it
451 # pleases around the provided core setting.
452 gas=yes
453 gnu_ld=yes
454 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
cfb5f9aa 455 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
456 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
1025d5b9 457 tmake_file="t-slibgcc-elf-ver t-freebsd"
458 case ${enable_threads} in
459 no)
460 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
461 ;;
5614d3f5 462 "" | yes | posix)
1025d5b9 463 thread_file='posix'
464 tmake_file="${tmake_file} t-freebsd-thread"
465 # Before 5.0, FreeBSD can't bind shared libraries to -lc
466 # when "optionally" threaded via weak pthread_* checks.
467 case ${target} in
468 *-*-freebsd[34] | *-*-freebsd[34].*)
469 tmake_file="${tmake_file} t-slibgcc-nolc-override"
470 ;;
471 esac
472 ;;
3ebc7dec 473 *)
1025d5b9 474 echo 'Unknown thread configuration for FreeBSD'
475 exit 1
476 ;;
477 esac
478 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
479 ;;
6396cc37 480*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
1025d5b9 481 # Must come before *-*-gnu* (because of *-*-linux-gnu* systems).
338f7557 482 extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
ee085235 483 extra_options="${extra_options} linux.opt"
338f7557 484 gas=yes
485 gnu_ld=yes
486 case ${enable_threads} in
487 "" | yes | posix) thread_file='posix' ;;
488 esac
1afa774a 489 tmake_file="t-slibgcc-elf-ver t-linux"
ee085235 490 case ${target} in
491 *-*-*uclibc*)
c490c13b 492 tm_defines="${tm_defines} UCLIBC_DEFAULT=1"
493 ;;
494 *)
495 tm_defines="${tm_defines} UCLIBC_DEFAULT=0"
ee085235 496 ;;
497 esac
430e8f92 498 # Assume that glibc or uClibc are being used and so __cxa_atexit is provided.
499 default_use_cxa_atexit=yes
50388ca3 500 use_gcc_tgmath=no
338f7557 501 ;;
2567d1ca 502*-*-gnu*)
338f7557 503 # On the Hurd, the setup is just about the same on
504 # each different CPU. The specific machines that we
505 # support are matched above and just set $cpu_type.
506 tm_file="${cpu_type}/gnu.h"
507 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
508 # GNU tools are the only tools.
509 gas=yes
510 gnu_ld=yes
511 # These details are the same as for Linux.
512 # But here we need a little extra magic.
513 tmake_file="t-slibgcc-elf-ver t-linux t-gnu"
514 case ${target} in
515 alpha*)
516 tm_file="${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h ${tm_file}"
517 ;;
518 i[34567]86-*-*)
519 tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}"
520 ;;
521 esac
430e8f92 522 # Assume that glibc is being used and so __cxa_atexit is provided.
523 default_use_cxa_atexit=yes
50388ca3 524 use_gcc_tgmath=no
338f7557 525 ;;
4ace673e 526*-*-netbsd*)
338f7557 527 tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd t-libgcc-pic"
528 gas=yes
529 gnu_ld=yes
b7ac288f 530
338f7557 531 # NetBSD 2.0 and later get POSIX threads enabled by default.
532 # Allow them to be explicitly enabled on any other version.
533 case ${enable_threads} in
534 "")
535 case ${target} in
536 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
537 thread_file='posix'
538 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
539 ;;
540 esac
541 ;;
542 yes | posix)
543 thread_file='posix'
544 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
545 ;;
546 esac
9a33b00e 547
338f7557 548 # NetBSD 1.7 and later are set up to use GCC's crtstuff for
549 # ELF configurations. We will clear extra_parts in the
550 # a.out configurations.
551 case ${target} in
552 *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
553 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
554 ;;
555 esac
bc5ae993 556
338f7557 557 # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
558 # default (unless overridden by --disable-__cxa_atexit).
559 case ${target} in
560 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
561 default_use_cxa_atexit=yes
562 ;;
563 esac
564 ;;
1025d5b9 565*-*-openbsd*)
566 tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
338f7557 567 case ${enable_threads} in
1025d5b9 568 yes)
338f7557 569 thread_file='posix'
1025d5b9 570 tmake_file="${tmake_file} t-openbsd-thread"
338f7557 571 ;;
572 esac
d3ad7bb1 573 case ${target} in
574 *-*-openbsd2.*|*-*-openbsd3.[012])
575 tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
576 esac
338f7557 577 ;;
2fcfea2a 578*-*-rtems*)
579 case ${enable_threads} in
580 yes) thread_file='rtems' ;;
581 esac
582 ;;
805e22b2 583*-*-vxworks*)
338f7557 584 tmake_file=t-vxworks
e6eccdb3 585 xm_defines=POSIX
586 extra_options="${extra_options} vxworks.opt"
6c181a06 587 extra_objs=vxworks.o
d9799238 588 case ${enable_threads} in
589 no) ;;
590 "" | yes | vxworks) thread_file='vxworks' ;;
591 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
592 esac
338f7557 593 ;;
430e8f92 594*-*-elf)
595 # Assume that newlib is being used and so __cxa_atexit is provided.
596 default_use_cxa_atexit=yes
597 ;;
bb607926 598esac
599
09c6646e 600case ${target} in
bb607926 601# Support site-specific machine types.
602*local*)
09c6646e 603 rest=`echo ${target} | sed -e "s/$cpu_type-//"`
bb607926 604 tm_file=${cpu_type}/$rest.h
e1688c3e 605 if test -f $srcdir/config/${cpu_type}/xm-$rest.h
606 then xm_file=${cpu_type}/xm-$rest.h
bb607926 607 fi
e1688c3e 608 if test -f $srcdir/config/${cpu_type}/t-$rest
609 then tmake_file=${cpu_type}/t-$rest
bb607926 610 fi
611 ;;
bb607926 612alpha*-*-linux*)
613 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
614 target_cpu_default="MASK_GAS"
0d6c33ea 615 tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee alpha/t-linux"
bb607926 616 ;;
7698a084 617alpha*-*-gnu*)
618 target_cpu_default="MASK_GAS"
619 tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
620 ;;
bb607926 621alpha*-*-freebsd*)
1307f5d6 622 tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
bb607926 623 target_cpu_default="MASK_GAS"
e1ff7102 624 tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
625 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
bb607926 626 ;;
627alpha*-*-netbsd*)
4ace673e 628 tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
bb607926 629 target_cpu_default="MASK_GAS"
e1ff7102 630 tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
bb607926 631 ;;
bb607926 632alpha*-*-openbsd*)
515fdcc2 633 tm_defines="${tm_defines} OBSD_NO_DYNAMIC_LIBRARIES OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
0ac7fc08 634 tm_file="alpha/alpha.h openbsd.h alpha/openbsd.h"
bb607926 635 # default x-alpha is only appropriate for dec-osf.
636 target_cpu_default="MASK_GAS"
637 tmake_file="alpha/t-alpha alpha/t-ieee"
638 ;;
41e38a87 639alpha*-dec-osf[45]*)
bb607926 640 if test x$stabs = xyes
641 then
642 tm_file="${tm_file} dbx.h"
643 fi
644 if test x$gas != xyes
645 then
646 extra_passes="mips-tfile mips-tdump"
647 fi
648 use_collect2=yes
41e38a87 649 tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf4"
650 tm_file="${tm_file} alpha/osf.h"
b965afcd 651 extra_headers=va_list.h
09c6646e 652 case ${target} in
bb607926 653 *-*-osf4*)
05b1d95b 654 # Define TARGET_SUPPORT_ARCH except on 4.0a.
09c6646e 655 case ${target} in
41e38a87 656 *-*-osf4.0a) ;;
515fdcc2 657 *) tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
41e38a87 658 esac
bb607926 659 ;;
660 *-*-osf5*)
41e38a87 661 tm_file="${tm_file} alpha/osf5.h"
515fdcc2 662 tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
bb607926 663 ;;
664 esac
5614d3f5 665 case ${enable_threads} in
666 "" | yes | posix)
ecd34a08 667 thread_file='posix'
668 tmake_file="${tmake_file} alpha/t-osf-pthread"
669 ;;
670 esac
bb607926 671 ;;
56685c17 672alpha64-dec-*vms*)
f75effa0 673 tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
805e22b2 674 xm_file="alpha/xm-vms.h"
56685c17 675 tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
56685c17 676 prefix=/gnu
677 local_prefix=/gnu
678 ;;
73777e7b 679alpha*-dec-*vms*)
f75effa0 680 tm_file="${tm_file} alpha/vms.h"
e1688c3e 681 xm_file=alpha/xm-vms.h
bb607926 682 tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
73777e7b 683 prefix=/gnu
684 local_prefix=/gnu
bb607926 685 ;;
01d15dc5 686arc-*-elf*)
7a6d1a72 687 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
01d15dc5 688 extra_parts="crtinit.o crtfini.o"
689 ;;
bb607926 690arm-*-coff* | armel-*-coff*)
0ac7fc08 691 tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h"
0b77e279 692 tmake_file="arm/t-arm arm/t-arm-coff"
bb607926 693 ;;
d9799238 694arm-wrs-vxworks)
ab39d1bf 695 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
06469f9e 696 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
d9799238 697 ;;
6af9f7ea 698arm*-*-freebsd*)
66f02fd0 699 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h"
06469f9e 700 tmake_file="${tmake_file} arm/t-arm arm/t-strongarm-elf"
66f02fd0 701 ;;
f470dade 702arm*-*-netbsdelf*)
2b6c0e61 703 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h"
06469f9e 704 tmake_file="${tmake_file} arm/t-arm arm/t-netbsd"
f470dade 705 ;;
bb607926 706arm*-*-netbsd*)
4ace673e 707 tm_file="arm/aout.h arm/arm.h netbsd.h netbsd-aout.h arm/netbsd.h"
06469f9e 708 tmake_file="t-netbsd arm/t-arm arm/t-netbsd"
9a33b00e 709 extra_parts=""
87a1ff8e 710 use_collect2=yes
bb607926 711 ;;
c806acc4 712arm*-*-linux*) # ARM GNU/Linux with ELF
3ebc7dec 713 tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
fcc91c04 714 case $target in
715 arm*b-*)
716 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
717 ;;
718 esac
6783d878 719 tmake_file="${tmake_file} t-linux arm/t-arm"
6783d878 720 case ${target} in
ee085235 721 arm*-*-linux-*eabi)
6783d878 722 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
723 tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
3ebc7dec 724 # The BPABI long long divmod functions return a 128-bit value in
6783d878 725 # registers r0-r3. Correctly modeling that requires the use of
726 # TImode.
727 need_64bit_hwint=yes
728 # The EABI requires the use of __cxa_atexit.
729 default_use_cxa_atexit=yes
730 ;;
731 *)
732 tmake_file="$tmake_file arm/t-linux"
733 ;;
734 esac
735 tm_file="$tm_file arm/aout.h arm/arm.h"
b77c60b7 736 tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
bb607926 737 ;;
738arm*-*-uclinux*) # ARM ucLinux
9d6f81ac 739 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h"
06469f9e 740 tmake_file="arm/t-arm arm/t-arm-elf"
1ad38120 741 case ${target} in
742 arm*-*-uclinux-*eabi)
743 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
744 tmake_file="$tmake_file arm/t-bpabi"
745 # The BPABI long long divmod functions return a 128-bit value in
746 # registers r0-r3. Correctly modeling that requires the use of
747 # TImode.
748 need_64bit_hwint=yes
749 # The EABI requires the use of __cxa_atexit.
750 default_use_cxa_atexit=yes
751 esac
752 tm_file="$tm_file arm/aout.h arm/arm.h"
b77c60b7 753 tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
bb607926 754 ;;
bb607926 755arm*-*-ecos-elf)
7a6d1a72 756 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
0b77e279 757 tmake_file="arm/t-arm arm/t-arm-elf"
b77c60b7 758 tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
582b17a6 759 ;;
30e9913f 760arm*-*-eabi* | arm*-*-symbianelf* )
3ebc7dec 761 # The BPABI long long divmod functions return a 128-bit value in
30e9913f 762 # registers r0-r3. Correctly modeling that requires the use of
763 # TImode.
764 need_64bit_hwint=yes
a6b58380 765 default_use_cxa_atexit=yes
30e9913f 766 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
2219ac9e 767 tmake_file="arm/t-arm arm/t-arm-elf"
30e9913f 768 case ${target} in
35da3667 769 arm*-*-eabi*)
657e4193 770 tm_file="$tm_file arm/eabi.h"
35da3667 771 tmake_file="${tmake_file} arm/t-bpabi"
657e4193 772 extra_options="${extra_options} arm/eabi.opt"
35da3667 773 ;;
30e9913f 774 arm*-*-symbianelf*)
775 tm_file="${tm_file} arm/symbian.h"
35da3667 776 # We do not include t-bpabi for Symbian OS because the system
777 # provides its own implementation of the BPABI functions.
67de96d2 778 tmake_file="${tmake_file} arm/t-symbian"
30e9913f 779 ;;
780 esac
781 tm_file="${tm_file} arm/aout.h arm/arm.h"
b77c60b7 782 tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
ccf155b5 783 ;;
214507b9 784arm*-*-rtems*)
214507b9 785 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"
c6dce142 786 tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
b77c60b7 787 tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
214507b9 788 ;;
6af9f7ea 789arm*-*-elf)
7a6d1a72 790 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
06469f9e 791 tmake_file="arm/t-arm arm/t-arm-elf"
b77c60b7 792 tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
bb607926 793 ;;
ebde2335 794arm*-wince-pe*)
0ac7fc08 795 tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h arm/wince-pe.h"
06469f9e 796 tmake_file="arm/t-arm arm/t-wince-pe"
81f6de2f 797 extra_options="${extra_options} arm/pe.opt"
ebde2335 798 extra_objs="pe.o"
799 ;;
bb607926 800arm-*-pe*)
0ac7fc08 801 tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h"
06469f9e 802 tmake_file="arm/t-arm arm/t-pe"
81f6de2f 803 extra_options="${extra_options} arm/pe.opt"
bb607926 804 extra_objs="pe.o"
805 ;;
1598c1ed 806avr-*-rtems*)
807 tm_file="avr/avr.h dbxelf.h avr/rtems.h rtems.h"
b056efbc 808 tmake_file="avr/t-avr t-rtems avr/t-rtems"
1598c1ed 809 ;;
bb607926 810avr-*-*)
0ac7fc08 811 tm_file="avr/avr.h dbxelf.h"
bb607926 812 ;;
9e6a0967 813bfin*-elf*)
814 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
e0cbe6c1 815 tmake_file=bfin/t-bfin-elf
816 use_collect2=no
817 ;;
43be3be8 818bfin*-uclinux*)
f9612ead 819 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/uclinux.h"
e0cbe6c1 820 tmake_file=bfin/t-bfin-uclinux
821 tm_defines="${tm_defines} UCLIBC_DEFAULT=1"
f9612ead 822 extra_options="${extra_options} linux.opt"
e0cbe6c1 823 use_collect2=no
824 ;;
bce94ab5 825bfin*-linux-uclibc*)
709b2de5 826 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/linux.h ./linux-sysroot-suffix.h"
e0cbe6c1 827 tmake_file="t-slibgcc-elf-ver bfin/t-bfin-linux"
828 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
829 use_collect2=no
830 ;;
4a7fad64 831bfin*-rtems*)
832 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h"
833 tmake_file="bfin/t-bfin t-rtems bfin/t-rtems"
e0cbe6c1 834 ;;
9e6a0967 835bfin*-*)
836 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
e0cbe6c1 837 tmake_file=bfin/t-bfin
838 use_collect2=no
839 ;;
9b9e3455 840crisv32-*-elf | crisv32-*-none)
841 tm_file="dbxelf.h elfos.h ${tm_file}"
842 tmake_file="cris/t-cris"
843 target_cpu_default=32
844 gas=yes
845 extra_options="${extra_options} cris/elf.opt"
846 ;;
e03f789f 847cris-*-elf | cris-*-none)
7a6d1a72 848 tm_file="dbxelf.h elfos.h ${tm_file}"
e03f789f 849 tmake_file="cris/t-cris cris/t-elfmulti"
850 gas=yes
c419af1d 851 extra_options="${extra_options} cris/elf.opt"
e03f789f 852 ;;
9b9e3455 853crisv32-*-linux* | cris-*-linux*)
7a6d1a72 854 tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
1afa774a 855 # We need to avoid using t-linux, so override default tmake_file
436d6f0d 856 tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
c419af1d 857 extra_options="${extra_options} cris/linux.opt"
9b9e3455 858 case $target in
859 cris-*-*)
860 target_cpu_default=10
861 ;;
862 crisv32-*-*)
863 target_cpu_default=32
864 ;;
865 esac
e03f789f 866 ;;
5b7178c8 867crx-*-elf)
868 tm_file="elfos.h ${tm_file}"
869 extra_parts="crtbegin.o crtend.o"
870 use_collect2=no
871 ;;
bb607926 872fr30-*-elf)
7a6d1a72 873 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
bb607926 874 tmake_file=fr30/t-fr30
875 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
876 ;;
efb6037d 877frv-*-elf)
878 tm_file="dbxelf.h elfos.h svr4.h ${tm_file} frv/frv-abi.h"
879 tmake_file=frv/t-frv
880 ;;
3e7f6cce 881frv-*-*linux*)
882 tm_file="dbxelf.h elfos.h svr4.h ${tm_file} \
883 linux.h frv/linux.h frv/frv-abi.h"
1afa774a 884 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
3e7f6cce 885 ;;
02fe7cca 886h8300-*-rtems*)
887 tmake_file="h8300/t-h8300 h8300/t-elf t-rtems h8300/t-rtems"
888 tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h"
889 ;;
15b65932 890h8300-*-elf*)
891 tmake_file="h8300/t-h8300 h8300/t-elf"
0ac7fc08 892 tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h"
15b65932 893 ;;
bb607926 894h8300-*-*)
0ac7fc08 895 tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h"
bb607926 896 ;;
6af9f7ea 897hppa*64*-*-linux*)
8ab32933 898 target_cpu_default="MASK_PA_11|MASK_PA_20"
9bd9af5d 899 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \
900 pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
1afa774a 901 tmake_file="${tmake_file} pa/t-linux64"
6630177d 902 gas=yes gnu_ld=yes
805e22b2 903 need_64bit_hwint=yes
6630177d 904 ;;
6af9f7ea 905hppa*-*-linux*)
8ab32933 906 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
7a6d1a72 907 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \
6630177d 908 pa/pa32-regs.h pa/pa32-linux.h"
1afa774a 909 tmake_file="${tmake_file} pa/t-linux"
4779159e 910 # Set the libgcc version number
911 if test x$sjlj = x1; then
912 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
913 else
914 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
51bfa4d4 915 fi
bb607926 916 ;;
0ac7fc08 917# port not yet contributed.
918#hppa*-*-openbsd*)
8ab32933 919# target_cpu_default="MASK_PA_11"
0ac7fc08 920# ;;
8ab32933 921hppa[12]*-*-hpux10*)
922 case ${target} in
923 hppa1.1-*-* | hppa2*-*-*)
924 target_cpu_default="MASK_PA_11"
925 ;;
926 esac
927 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
928 pa/pa-hpux.h pa/pa-hpux10.h"
bd57250e 929 extra_options="${extra_options} pa/pa-hpux.opt"
8ab32933 930 case ${target} in
931 *-*-hpux10.[1-9]*)
932 tm_file="${tm_file} pa/pa-hpux1010.h"
bd57250e 933 extra_options="${extra_options} pa/pa-hpux1010.opt"
8ab32933 934 ;;
bb607926 935 esac
0119c7f2 936 tmake_file="pa/t-pa-hpux10 pa/t-pa-hpux pa/t-hpux-shlib"
334c8279 937 case ${enable_threads} in
938 "")
939 if test x$have_pthread_h = xyes ; then
940 tmake_file="${tmake_file} pa/t-dce-thr"
941 fi
942 ;;
943 yes | dce)
944 tmake_file="${tmake_file} pa/t-dce-thr"
945 ;;
bb607926 946 esac
4779159e 947 # Set the libgcc version number
948 if test x$sjlj = x1; then
949 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
950 else
951 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
7c19e240 952 fi
bb607926 953 use_collect2=yes
8ad01423 954 gas=yes
bb607926 955 ;;
956hppa*64*-*-hpux11*)
8ab32933 957 target_cpu_default="MASK_PA_11|MASK_PA_20"
cacee710 958 if test x$gnu_ld = xyes
959 then
8ab32933 960 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
cacee710 961 fi
8ad01423 962 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
963 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
964 pa/pa-hpux11.h"
8ab32933 965 case ${target} in
d15dd39c 966 *-*-hpux11.[1-9]*)
8ab32933 967 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
bd57250e 968 extra_options="${extra_options} pa/pa-hpux1111.opt"
8ab32933 969 ;;
970 *)
971 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
972 ;;
973 esac
bd57250e 974 extra_options="${extra_options} pa/pa-hpux.opt \
975 pa/pa-hpux1010.opt pa/pa64-hpux.opt"
805e22b2 976 need_64bit_hwint=yes
6e1c4c98 977 tmake_file="pa/t-pa64 pa/t-pa-hpux pa/t-hpux-shlib"
4779159e 978 # Set the libgcc version number
979 if test x$sjlj = x1; then
980 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
981 else
982 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
7c19e240 983 fi
25e266ae 984 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
985 libgcc_stub.a"
120a2fed 986 case x${enable_threads} in
4699015f 987 x | xyes | xposix )
3ebc7dec 988 thread_file=posix
120a2fed 989 ;;
990 esac
8ad01423 991 gas=yes
bb607926 992 ;;
8ab32933 993hppa[12]*-*-hpux11*)
994 case ${target} in
995 hppa1.1-*-* | hppa2*-*-*)
996 target_cpu_default="MASK_PA_11"
997 ;;
998 esac
999 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
bd57250e 1000 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1001 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt"
8ab32933 1002 case ${target} in
1003 *-*-hpux11.[1-9]*)
1004 tm_file="${tm_file} pa/pa-hpux1111.h"
bd57250e 1005 extra_options="${extra_options} pa/pa-hpux1111.opt"
120a2fed 1006 ;;
1007 esac
0119c7f2 1008 tmake_file="pa/t-pa-hpux11 pa/t-pa-hpux pa/t-hpux-shlib"
4779159e 1009 # Set the libgcc version number
1010 if test x$sjlj = x1; then
1011 tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
1012 else
1013 tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
7c19e240 1014 fi
120a2fed 1015 case x${enable_threads} in
4699015f 1016 x | xyes | xposix )
3ebc7dec 1017 thread_file=posix
120a2fed 1018 ;;
1019 esac
bb607926 1020 use_collect2=yes
8ad01423 1021 gas=yes
bb607926 1022 ;;
ffd05090 1023i[34567]86-*-darwin*)
3ebc7dec 1024 need_64bit_hwint=yes
a5efd1bc 1025
1026 # This is so that '.../configure && make' doesn't fail due to
1027 # config.guess deciding that the configuration is i386-*-darwin* and
1028 # then this file using that to set --with-cpu=i386 which has no -m64
1029 # support.
a5efd1bc 1030 with_cpu=${with_cpu:-generic}
b3fd46a0 1031 tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
ffd05090 1032 ;;
4a839b30 1033x86_64-*-darwin*)
4a839b30 1034 with_cpu=${with_cpu:-generic}
46f8e3b0 1035 tmake_file="${tmake_file} t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin i386/t-crtpc i386/t-crtfm"
4a839b30 1036 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1037 ;;
bb607926 1038i[34567]86-*-elf*)
d2307a72 1039 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h"
46f8e3b0 1040 tmake_file="${tmake_file} i386/t-i386elf t-svr4"
bc831fe3 1041 ;;
1042x86_64-*-elf*)
1043 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/x86-64.h"
46f8e3b0 1044 tmake_file="${tmake_file} i386/t-i386elf t-svr4"
bb607926 1045 ;;
bb607926 1046i[34567]86-*-aout*)
d2307a72 1047 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
bb607926 1048 ;;
bb607926 1049i[34567]86-*-freebsd*)
d2307a72 1050 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
a8456aba 1051 ;;
1052x86_64-*-freebsd*)
d2307a72 1053 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"
0f2457b8 1054 tmake_file="${tmake_file} i386/t-crtstuff"
bb607926 1055 ;;
f406b863 1056i[34567]86-*-netbsdelf*)
d2307a72 1057 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
f406b863 1058 ;;
bb607926 1059i[34567]86-*-netbsd*)
d2307a72 1060 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
46f8e3b0 1061 tmake_file="${tmake_file} t-netbsd"
9a33b00e 1062 extra_parts=""
87a1ff8e 1063 use_collect2=yes
bb607926 1064 ;;
8bc47d57 1065x86_64-*-netbsd*)
d2307a72 1066 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"
0f2457b8 1067 tmake_file="${tmake_file} i386/t-crtstuff"
8bc47d57 1068 ;;
d3ad7bb1 1069i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
0ac7fc08 1070 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"
c7be79ca 1071 # needed to unconfuse gdb
46f8e3b0 1072 tmake_file="${tmake_file} t-libc-ok t-openbsd i386/t-openbsd"
bb607926 1073 # we need collect2 until our bug is fixed...
1074 use_collect2=yes
1075 ;;
d3ad7bb1 1076i[34567]86-*-openbsd*)
bcc9ac22 1077 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
d3ad7bb1 1078 tm_file="${tm_file} openbsd.h i386/openbsdelf.h"
1079 gas=yes
1080 gnu_ld=yes
d3ad7bb1 1081 ;;
bb607926 1082i[34567]86-*-coff*)
d2307a72 1083 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
bb607926 1084 ;;
6396cc37 1085i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu)
1086 # Intel 80386's running GNU/*
bb607926 1087 # with ELF format using glibc 2
54bb64fb 1088 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h"
6396cc37 1089 case ${target} in
54bb64fb 1090 i[34567]86-*-linux*)
1091 if test x$enable_targets = xall; then
1092 tm_file="${tm_file} i386/x86-64.h i386/linux64.h"
1093 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
b3fd46a0 1094 tmake_file="${tmake_file} i386/t-linux64"
54bb64fb 1095 need_64bit_hwint=yes
54bb64fb 1096 case X"${with_cpu}" in
d80b6b7d 1097 Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
54bb64fb 1098 ;;
1099 X)
f067c6b7 1100 if test x$with_cpu_64 = x; then
1101 with_cpu_64=generic
1102 fi
54bb64fb 1103 ;;
1104 *)
1105 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
d80b6b7d 1106 echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
54bb64fb 1107 exit 1
1108 ;;
1109 esac
1110 else
1111 tm_file="${tm_file} i386/linux.h"
1112 fi
1113 ;;
1114 i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} i386/linux.h knetbsd-gnu.h i386/knetbsd-gnu.h" ;;
1115 i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} i386/linux.h kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
6396cc37 1116 esac
6d057ce8 1117 tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
bb607926 1118 ;;
28a6c5e3 1119x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
d2307a72 1120 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
277773bd 1121 i386/x86-64.h i386/linux64.h"
28a6c5e3 1122 case ${target} in
1123 x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
1124 x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
1125 esac
b3fd46a0 1126 tmake_file="${tmake_file} i386/t-linux64 i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
5c66405b 1127 ;;
bb607926 1128i[34567]86-*-gnu*)
bb607926 1129 ;;
bb607926 1130i[34567]86-pc-msdosdjgpp*)
1131 xm_file=i386/xm-djgpp.h
f283da8d 1132 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h"
46f8e3b0 1133 tmake_file="${tmake_file} i386/t-djgpp"
0c44645a 1134 extra_options="${extra_options} i386/djgpp.opt"
bb607926 1135 gnu_ld=yes
1136 gas=yes
bb607926 1137 ;;
bb607926 1138i[34567]86-*-lynxos*)
d895dbf9 1139 xm_defines=POSIX
1140 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
46f8e3b0 1141 tmake_file="${tmake_file} i386/t-crtstuff t-lynx"
d895dbf9 1142 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
0c44645a 1143 extra_options="${extra_options} lynx.opt"
d895dbf9 1144 thread_file=lynx
1145 gnu_ld=yes
1146 gas=yes
bb607926 1147 ;;
634f7a13 1148i[3456x]86-*-netware*)
590d3b74 1149 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h tm-dwarf2.h i386/netware.h"
46f8e3b0 1150 tmake_file="${tmake_file} i386/t-netware"
634f7a13 1151 extra_objs=netware.o
1152 case /${with_ld} in
1153 */nwld)
1154 extra_objs="$extra_objs nwld.o"
1155 tm_file="${tm_file} i386/nwld.h"
1156 tmake_file="${tmake_file} i386/t-nwld"
1157 extra_parts="crt0.o libgcc.def libc.def libcpre.def posixpre.def"
1158 ;;
1159 esac
1160 case x${enable_threads} in
1161 x | xyes | xposix) thread_file='posix';;
1162 xnks) thread_file='nks';;
1163 xno) ;;
1164 *) echo 'Unknown thread configuration for NetWare' >&2; exit 1;;
1165 esac
1166 ;;
b1aac5f5 1167i[34567]86-*-nto-qnx*)
0ac7fc08 1168 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h svr4.h i386/unix.h i386/nto.h"
46f8e3b0 1169 tmake_file="${tmake_file} i386/t-nto"
b1aac5f5 1170 gnu_ld=yes
1171 gas=yes
1172 ;;
41e38a87 1173i[34567]86-*-rtems*)
d2307a72 1174 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h"
bb607926 1175 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
46f8e3b0 1176 tmake_file="${tmake_file} i386/t-rtems-i386 i386/t-crtstuff t-rtems"
bb607926 1177 ;;
bb607926 1178i[34567]86-*-solaris2*)
8fde03ba 1179 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h"
1180 case ${target} in
517cabaa 1181 *-*-solaris2.1[0-9]*)
1182 tm_file="${tm_file} sol2-10.h"
1183 ;;
8fde03ba 1184 esac
1185 tm_file="${tm_file} i386/sol2.h"
46f8e3b0 1186 tmake_file="${tmake_file} t-sol2 i386/t-sol2 t-svr4"
1187 c_target_objs="${c_target_objs} sol2-c.o"
1188 cxx_target_objs="${cxx_target_objs} sol2-c.o"
e02a1225 1189 extra_objs="sol2.o"
1190 tm_p_file="${tm_p_file} sol2-protos.h"
32e8a7fc 1191 if test x$gnu_ld = xyes; then
1192 tmake_file="$tmake_file t-slibgcc-elf-ver"
27559c4e 1193 tm_defines="${tm_defines} TARGET_GNU_LD=1"
32e8a7fc 1194 else
1195 tmake_file="$tmake_file t-slibgcc-sld"
1196 fi
8b3b32fb 1197 if test x$gas = xyes; then
1198 tm_file="usegas.h ${tm_file}"
1199 fi
6af9f7ea 1200 tm_file="$tm_file tm-dwarf2.h"
27559c4e 1201 case ${target} in
b8273627 1202 *-*-solaris2.1[0-9]*)
27559c4e 1203 tm_file="${tm_file} i386/x86-64.h i386/sol2-10.h"
1204 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
0f2457b8 1205 tmake_file="$tmake_file i386/t-crtstuff i386/t-sol2-10"
27559c4e 1206 need_64bit_hwint=yes
a2e127ea 1207 case X"${with_cpu}" in
d80b6b7d 1208 Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
a2e127ea 1209 ;;
1210 X)
f067c6b7 1211 if test x$with_cpu_64 = x; then
1212 with_cpu_64=generic
1213 fi
a2e127ea 1214 ;;
1215 *)
1216 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
d80b6b7d 1217 echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
a2e127ea 1218 exit 1
1219 ;;
1220 esac
3ebc7dec 1221 # Solaris 2.10 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
27559c4e 1222 # part of the base system.
1223 extra_parts="gmon.o crtbegin.o crtend.o"
1224 ;;
1225 *)
1226 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
1227 ;;
1228 esac
334c8279 1229 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
8fde03ba 1230 "":yes:* | yes:yes:* )
6af9f7ea 1231 thread_file=posix
8fde03ba 1232 ;;
1233 "":*:yes | yes:*:yes )
1234 thread_file=solaris
1235 ;;
334c8279 1236 esac
bb607926 1237 ;;
2adf99fa 1238i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
c77a1c92 1239 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h svr4.h vx-common.h"
2adf99fa 1240 case ${target} in
1241 *-vxworksae*)
c77a1c92 1242 tm_file="${tm_file} vxworksae.h i386/vx-common.h i386/vxworksae.h"
2adf99fa 1243 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1244 ;;
1245 *)
c77a1c92 1246 tm_file="${tm_file} vxworks.h i386/vx-common.h i386/vxworks.h"
2adf99fa 1247 tmake_file="${tmake_file} i386/t-vxworks"
1248 ;;
1249 esac
d9799238 1250 ;;
bb607926 1251i[34567]86-*-pe | i[34567]86-*-cygwin*)
8728e49b 1252 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h"
e1688c3e 1253 xm_file=i386/xm-cygwin.h
46f8e3b0 1254 tmake_file="${tmake_file} i386/t-cygwin i386/t-cygming"
62b4d90e 1255 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
0c44645a 1256 extra_options="${extra_options} i386/cygming.opt"
6c1e551f 1257 extra_objs="winnt.o winnt-stubs.o"
46f8e3b0 1258 c_target_objs="${c_target_objs} cygwin2.o msformat-c.o"
1259 cxx_target_objs="${cxx_target_objs} cygwin2.o winnt-cxx.o msformat-c.o"
69eb04f7 1260 extra_gcc_objs=cygwin1.o
bb607926 1261 if test x$enable_threads = xyes; then
8728e49b 1262 thread_file='posix'
bb607926 1263 fi
bb607926 1264 ;;
c8c521bb 1265i[34567]86-*-mingw* | x86_64-*-mingw*)
8728e49b 1266 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h"
e1688c3e 1267 xm_file=i386/xm-mingw32.h
46f8e3b0 1268 tmake_file="${tmake_file} i386/t-cygming i386/t-mingw32"
62b4d90e 1269 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
0c44645a 1270 extra_options="${extra_options} i386/cygming.opt"
6c1e551f 1271 extra_objs="winnt.o winnt-stubs.o"
46f8e3b0 1272 c_target_objs="${c_target_objs} msformat-c.o"
1273 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
d91ef9b0 1274 default_use_cxa_atexit=yes
c89ba7eb 1275 case ${enable_threads} in
a3d38952 1276 "" | yes | win32)
1277 thread_file='win32'
1278 tmake_file="${tmake_file} i386/t-gthr-win32"
1279 ;;
c89ba7eb 1280 esac
09c6646e 1281 case ${target} in
c8c521bb 1282 x86_64-*-mingw*)
1283 tmake_file="${tmake_file} i386/t-crtfm"
bb607926 1284 ;;
c8c521bb 1285 *)
1286 ;;
1287 esac
1288 case ${target} in
1289 *mingw32crt*)
1290 tm_file="${tm_file} i386/crtdll.h"
1291 ;;
1292 *mingw32msv* | *mingw*)
170a37e8 1293 ;;
bb607926 1294 esac
1295 ;;
49d31318 1296i[34567]86-*-interix3*)
d2307a72 1297 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
46f8e3b0 1298 tmake_file="${tmake_file} i386/t-interix"
2fbafe8b 1299 extra_objs=winnt.o
62b4d90e 1300 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
49d31318 1301 if test x$enable_threads = xyes ; then
1302 thread_file='posix'
1303 fi
1304 if test x$stabs = xyes ; then
1305 tm_file="${tm_file} dbxcoff.h"
1306 fi
1307 ;;
bb607926 1308ia64*-*-elf*)
7a6d1a72 1309 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h"
bb607926 1310 tmake_file="ia64/t-ia64"
1311 target_cpu_default="0"
1312 if test x$gas = xyes
1313 then
1314 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1315 fi
1316 if test x$gnu_ld = xyes
1317 then
1318 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1319 fi
127ab935 1320 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
bb607926 1321 ;;
49b2e77d 1322ia64*-*-freebsd*)
0670e09b 1323 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
49b2e77d 1324 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1325 tmake_file="${tmake_file} ia64/t-ia64"
127ab935 1326 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
49b2e77d 1327 ;;
bb607926 1328ia64*-*-linux*)
7a6d1a72 1329 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
8bdf23ae 1330 tmake_file="${tmake_file} ia64/t-ia64 t-libunwind ia64/t-glibc"
1331 if test x$with_system_libunwind != xyes ; then
1332 tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
1333 fi
bb607926 1334 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
127ab935 1335 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
bb607926 1336 ;;
d838d791 1337ia64*-*-hpux*)
f2f543a3 1338 tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h"
4c9b2035 1339 tmake_file="ia64/t-ia64 ia64/t-hpux"
d838d791 1340 target_cpu_default="MASK_GNU_AS"
120a2fed 1341 case x$enable_threads in
c5e978ad 1342 x | xyes | xposix )
120a2fed 1343 thread_file=posix
1344 ;;
1345 esac
297cec9a 1346 use_collect2=no
23ebf0fe 1347 c_target_objs="ia64-c.o"
1348 cxx_target_objs="ia64-c.o"
b1c7573c 1349 extra_options="${extra_options} ia64/ilp32.opt"
d838d791 1350 ;;
54f12d76 1351iq2000*-*-elf*)
0ac7fc08 1352 tm_file="svr4.h elfos.h iq2000/iq2000.h"
54f12d76 1353 tmake_file=iq2000/t-iq2000
1354 out_file=iq2000/iq2000.c
54f12d76 1355 md_file=iq2000/iq2000.md
1356 ;;
bb607926 1357m32r-*-elf*)
7a6d1a72 1358 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
4f889607 1359 extra_parts="crtinit.o crtfini.o"
19cd32af 1360 ;;
467dc9aa 1361m32rle-*-elf*)
1362 tm_file="dbxelf.h elfos.h svr4.h m32r/little.h ${tm_file}"
1363 extra_parts="crtinit.o crtfini.o m32rx/crtinit.o m32rx/crtfini.o"
467dc9aa 1364 ;;
1365m32r-*-linux*)
1366 tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} m32r/linux.h"
1afa774a 1367 # We override the tmake_file for linux -- why?
f92be414 1368 tmake_file="t-slibgcc-elf-ver m32r/t-linux"
467dc9aa 1369 gnu_ld=yes
467dc9aa 1370 if test x$enable_threads = xyes; then
1371 thread_file='posix'
1372 fi
1373 ;;
1374m32rle-*-linux*)
1375 tm_file="dbxelf.h elfos.h svr4.h linux.h m32r/little.h ${tm_file} m32r/linux.h"
1afa774a 1376 # We override the tmake_file for linux -- why?
f92be414 1377 tmake_file="t-slibgcc-elf-ver m32r/t-linux"
467dc9aa 1378 gnu_ld=yes
467dc9aa 1379 if test x$enable_threads = xyes; then
1380 thread_file='posix'
1381 fi
1382 ;;
bb607926 1383# m68hc11 and m68hc12 share the same machine description.
1384m68hc11-*-*|m6811-*-*)
58a8c75f 1385 tm_file="dbxelf.h elfos.h usegas.h m68hc11/m68hc11.h"
bb607926 1386 tm_p_file="m68hc11/m68hc11-protos.h"
1387 md_file="m68hc11/m68hc11.md"
1388 out_file="m68hc11/m68hc11.c"
58a8c75f 1389 tmake_file="m68hc11/t-m68hc11"
bb607926 1390 ;;
1391m68hc12-*-*|m6812-*-*)
58a8c75f 1392 tm_file="m68hc11/m68hc12.h dbxelf.h elfos.h usegas.h m68hc11/m68hc11.h"
bb607926 1393 tm_p_file="m68hc11/m68hc11-protos.h"
bb607926 1394 md_file="m68hc11/m68hc11.md"
1395 out_file="m68hc11/m68hc11.c"
58a8c75f 1396 tmake_file="m68hc11/t-m68hc11"
bfb701b0 1397 extra_options="${extra_options} m68hc11/m68hc11.opt"
bb607926 1398 ;;
bb607926 1399m68k-*-aout*)
f84195ec 1400 default_m68k_cpu=68020
558b196a 1401 default_cf_cpu=5206
1402 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
2f87f72a 1403 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h m68k/m68k-aout.h libgloss.h"
bb607926 1404 ;;
1405m68k-*-coff*)
f84195ec 1406 default_m68k_cpu=68020
558b196a 1407 default_cf_cpu=5206
1408 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
99570287 1409 tm_defines="${tm_defines} MOTOROLA=1"
2f87f72a 1410 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
bb607926 1411 ;;
6af9f7ea 1412m68k-*-elf* | fido-*-elf*)
278e2fd1 1413 case ${target} in
1414 fido-*-elf*)
1415 # Check that $with_cpu makes sense.
1416 case $with_cpu in
1417 "" | "fidoa")
1418 ;;
1419 *)
1420 echo "Cannot accept --with-cpu=$with_cpu"
1421 exit 1
1422 ;;
1423 esac
1424 with_cpu=fidoa
1425 ;;
1426 *)
1427 default_m68k_cpu=68020
1428 default_cf_cpu=5206
1429 ;;
1430 esac
2f87f72a 1431 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
99570287 1432 tm_defines="${tm_defines} MOTOROLA=1"
278e2fd1 1433 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1434 # Add multilibs for targets other than fido.
1435 case ${target} in
1436 fido-*-elf*)
1437 ;;
1438 *)
1439 tmake_file="$tmake_file m68k/t-mlibs"
1440 ;;
1441 esac
37f722b2 1442 extra_parts="crtbegin.o crtend.o"
bb607926 1443 ;;
6af9f7ea 1444m68k*-*-netbsdelf*)
f84195ec 1445 default_m68k_cpu=68020
558b196a 1446 default_cf_cpu=5475
124c3198 1447 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
99570287 1448 tm_defines="${tm_defines} MOTOROLA=1"
124c3198 1449 ;;
984408e9 1450m68k*-*-openbsd*)
f84195ec 1451 default_m68k_cpu=68020
558b196a 1452 default_cf_cpu=5475
984408e9 1453 # needed to unconfuse gdb
f84195ec 1454 tm_defines="${tm_defines} OBSD_OLD_GAS"
2f87f72a 1455 tm_file="${tm_file} openbsd.h m68k/openbsd.h"
984408e9 1456 tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
1457 # we need collect2 until our bug is fixed...
1458 use_collect2=yes
1459 ;;
8bc67792 1460m68k-*-uclinuxoldabi*) # Motorola m68k/ColdFire running uClinux
1461 # with uClibc, using the original
1462 # m68k-elf-based ABI
1463 default_m68k_cpu=68020
558b196a 1464 default_cf_cpu=5206
2f87f72a 1465 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/uclinux-oldabi.h"
99570287 1466 tm_defines="${tm_defines} MOTOROLA=1"
45965f3c 1467 tmake_file="m68k/t-floatlib m68k/t-uclinux"
8bc67792 1468 ;;
1469m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
1470 # with uClibc, using the new GNU/Linux-style
1471 # ABI.
f84195ec 1472 default_m68k_cpu=68020
558b196a 1473 default_cf_cpu=5206
504cf784 1474 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
99570287 1475 tm_defines="${tm_defines} MOTOROLA=1 UCLIBC_DEFAULT=1"
a4e649cf 1476 extra_options="${extra_options} linux.opt"
558b196a 1477 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
13285dde 1478 ;;
bb607926 1479m68k-*-linux*) # Motorola m68k's running GNU/Linux
1480 # with ELF format using glibc 2
1481 # aka the GNU/Linux C library 6.
f84195ec 1482 default_m68k_cpu=68020
558b196a 1483 default_cf_cpu=5475
27f1c610 1484 with_arch=${with_arch:-m68k}
1485 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h m68k/linux.h ./sysroot-suffix.h"
fbdd0521 1486 extra_options="${extra_options} m68k/ieee.opt"
99570287 1487 tm_defines="${tm_defines} MOTOROLA=1"
27f1c610 1488 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
51bfa4d4 1489 # if not configured with --enable-sjlj-exceptions, bump the
1490 # libgcc version number
1491 if test x$sjlj != x1; then
1492 tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
1493 fi
bb607926 1494 ;;
41e38a87 1495m68k-*-rtems*)
f84195ec 1496 default_m68k_cpu=68020
558b196a 1497 default_cf_cpu=5206
1498 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems m68k/t-mlibs"
2f87f72a 1499 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"
99570287 1500 tm_defines="${tm_defines} MOTOROLA=1"
37f722b2 1501 extra_parts="crtbegin.o crtend.o"
bb607926 1502 ;;
bb607926 1503mcore-*-elf)
7a6d1a72 1504 tm_file="dbxelf.h elfos.h svr4.h ${tm_file} mcore/mcore-elf.h"
bb607926 1505 tmake_file=mcore/t-mcore
58a8c75f 1506 inhibit_libc=true
bb607926 1507 ;;
1508mcore-*-pe*)
0ac7fc08 1509 tm_file="svr3.h dbxcoff.h ${tm_file} mcore/mcore-pe.h"
bb607926 1510 tmake_file=mcore/t-mcore-pe
58a8c75f 1511 inhibit_libc=true
bb607926 1512 ;;
6e930e6c 1513mips-sgi-irix[56]*)
1514 tm_file="elfos.h ${tm_file} mips/iris.h"
1515 tmake_file="mips/t-iris mips/t-slibgcc-irix"
b93bf04a 1516 target_cpu_default="MASK_ABICALLS"
6e930e6c 1517 case ${target} in
1518 *-*-irix5*)
1519 tm_file="${tm_file} mips/iris5.h"
1520 ;;
1521
1522 *-*-irix6*)
1523 tm_file="${tm_file} mips/iris6.h"
1524 tmake_file="${tmake_file} mips/t-iris6"
515fdcc2 1525 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
6e930e6c 1526 ;;
1527 esac
1528 if test "x$stabs" = xyes
bb607926 1529 then
6e930e6c 1530 tm_file="${tm_file} dbx.h mips/dbxmdebug.h"
bb607926 1531 fi
6912d656 1532 if test "x$gnu_ld" = xyes
1533 then
6e930e6c 1534 tm_defines="${tm_defines} IRIX_USING_GNU_LD"
6912d656 1535 fi
2f1d7291 1536 case ${enable_threads}:${have_pthread_h} in
1537 "":yes | yes:yes ) thread_file=posix ;;
1538 esac
3b9ee544 1539 use_fixproto=yes
bb607926 1540 ;;
4ace673e 1541mips*-*-netbsd*) # NetBSD/mips, either endian.
b93bf04a 1542 target_cpu_default="MASK_ABICALLS"
0ac7fc08 1543 tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
bb607926 1544 ;;
606c99b0 1545mips64*-*-linux* | mipsisa64*-*-linux*)
d0faeb9d 1546 tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h mips/linux64.h"
1afa774a 1547 tmake_file="${tmake_file} mips/t-linux64"
42102a26 1548 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
69f36814 1549 case ${target} in
1550 mips64el-st-linux-gnu)
1551 tm_file="${tm_file} mips/st.h"
1552 tmake_file="${tmake_file} mips/t-st"
1553 ;;
606c99b0 1554 mipsisa64r2*-*-linux*)
1555 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
1556 ;;
69f36814 1557 esac
d0faeb9d 1558 gnu_ld=yes
1559 gas=yes
bc4c18f7 1560 test x$with_llsc != x || with_llsc=yes
d0faeb9d 1561 ;;
bb607926 1562mips*-*-linux*) # Linux MIPS, either endian.
858ac7b9 1563 tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
09c6646e 1564 case ${target} in
487874ac 1565 mipsisa32r2*)
1566 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
613a38b0 1567 ;;
487874ac 1568 mipsisa32*)
1569 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
613a38b0 1570 esac
bc4c18f7 1571 test x$with_llsc != x || with_llsc=yes
bb607926 1572 ;;
0ac7fc08 1573mips*-*-openbsd*)
515fdcc2 1574 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
b93bf04a 1575 target_cpu_default="MASK_ABICALLS"
0ac7fc08 1576 tm_file="mips/mips.h openbsd.h mips/openbsd.h mips/sdb.h"
09c6646e 1577 case ${target} in
3ebc7dec 1578 mips*el-*-openbsd*)
0ac7fc08 1579 tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=0";;
1580 *) tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN";;
1581 esac
bb607926 1582 ;;
5aeba334 1583mips*-sde-elf*)
1584 tm_file="elfos.h ${tm_file} mips/elf.h mips/sde.h"
1585 tmake_file="mips/t-sde mips/t-libgcc-mips16"
68c9bc25 1586 case "${with_newlib}" in
1587 yes)
1588 # newlib / libgloss.
1589 ;;
1590 *)
1591 # MIPS toolkit libraries.
1592 tm_file="$tm_file mips/sdemtk.h"
1593 tmake_file="$tmake_file mips/t-sdemtk"
1594 extra_options="$extra_options mips/sdemtk.opt"
1595 case ${enable_threads} in
1596 "" | yes | mipssde)
1597 thread_file='mipssde'
1598 ;;
1599 esac
1600 ;;
1601 esac
5aeba334 1602 case ${target} in
1603 mipsisa32r2*)
1604 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
1605 ;;
1606 mipsisa32*)
1607 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
1608 ;;
1609 mipsisa64*)
1610 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
1611 ;;
1612 esac
1613 ;;
7583e786 1614mipsisa32-*-elf* | mipsisa32el-*-elf* | \
1615mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
5381547d 1616mipsisa64-*-elf* | mipsisa64el-*-elf*)
a165023e 1617 tm_file="elfos.h ${tm_file} mips/elf.h"
5aeba334 1618 tmake_file="mips/t-isa3264 mips/t-libgcc-mips16"
7583e786 1619 case ${target} in
1620 mipsisa32r2*)
1621 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
1622 ;;
1623 mipsisa32*)
1624 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
1625 ;;
1626 mipsisa64*)
1627 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
1628 ;;
1629 esac
1630 case ${target} in
1631 mipsisa32*-*-elfoabi*)
1632 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
1633 tm_file="${tm_file} mips/elfoabi.h"
1634 ;;
1635 mipsisa64*-*-elfoabi*)
1636 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
1637 tm_file="${tm_file} mips/elfoabi.h"
1638 ;;
1639 *-*-elf*)
1640 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
1641 ;;
1642 esac
5381547d 1643 ;;
2857c21b 1644mipsisa64sr71k-*-elf*)
a165023e 1645 tm_file="elfos.h ${tm_file} mips/elf.h"
2857c21b 1646 tmake_file=mips/t-sr71k
b93bf04a 1647 target_cpu_default="MASK_64BIT|MASK_FLOAT64"
515fdcc2 1648 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2857c21b 1649 ;;
19c56034 1650mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
a165023e 1651 tm_file="elfos.h ${tm_file} mips/elf.h"
5aeba334 1652 tmake_file="mips/t-elf mips/t-libgcc-mips16 mips/t-sb1"
b93bf04a 1653 target_cpu_default="MASK_64BIT|MASK_FLOAT64"
515fdcc2 1654 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
19c56034 1655 ;;
f4deb416 1656mips-*-elf* | mipsel-*-elf*)
a165023e 1657 tm_file="elfos.h ${tm_file} mips/elf.h"
5aeba334 1658 tmake_file="mips/t-elf mips/t-libgcc-mips16"
bb607926 1659 ;;
f4deb416 1660mips64-*-elf* | mips64el-*-elf*)
a165023e 1661 tm_file="elfos.h ${tm_file} mips/elf.h"
5aeba334 1662 tmake_file="mips/t-elf mips/t-libgcc-mips16"
b93bf04a 1663 target_cpu_default="MASK_64BIT|MASK_FLOAT64"
515fdcc2 1664 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
bb607926 1665 ;;
2857c21b 1666mips64vr-*-elf* | mips64vrel-*-elf*)
a165023e 1667 tm_file="mips/vr.h elfos.h ${tm_file} mips/elf.h"
2857c21b 1668 tmake_file=mips/t-vr
1669 ;;
f4deb416 1670mips64orion-*-elf* | mips64orionel-*-elf*)
a165023e 1671 tm_file="elfos.h ${tm_file} mips/elforion.h mips/elf.h"
5aeba334 1672 tmake_file="mips/t-elf mips/t-libgcc-mips16"
b93bf04a 1673 target_cpu_default="MASK_64BIT|MASK_FLOAT64"
515fdcc2 1674 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
bb607926 1675 ;;
742d48c2 1676mips*-*-rtems*)
a165023e 1677 tm_file="elfos.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
5aeba334 1678 tmake_file="mips/t-elf mips/t-libgcc-mips16 t-rtems mips/t-rtems"
bb607926 1679 ;;
d9799238 1680mips-wrs-vxworks)
c77a1c92 1681 tm_file="elfos.h ${tm_file} svr4.h mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
d9799238 1682 tmake_file="${tmake_file} mips/t-vxworks"
d9799238 1683 ;;
f4deb416 1684mipstx39-*-elf* | mipstx39el-*-elf*)
a165023e 1685 tm_file="elfos.h ${tm_file} mips/r3900.h mips/elf.h"
5aeba334 1686 tmake_file="mips/t-r3900 mips/t-libgcc-mips16"
bb607926 1687 ;;
68cbb7e3 1688mmix-knuth-mmixware)
805e22b2 1689 need_64bit_hwint=yes
68cbb7e3 1690 ;;
bb607926 1691mn10300-*-*)
7a6d1a72 1692 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
bb607926 1693 if test x$stabs = xyes
1694 then
1695 tm_file="${tm_file} dbx.h"
1696 fi
1697 use_collect2=no
1698 ;;
bb607926 1699pdp11-*-bsd)
1700 tm_file="${tm_file} pdp11/2bsd.h"
3b9ee544 1701 use_fixproto=yes
bb607926 1702 ;;
1703pdp11-*-*)
1704 ;;
0ac7fc08 1705# port not yet contributed
1706#powerpc-*-openbsd*)
b8886216 1707# tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit "
0ac7fc08 1708# extra_headers=
1709# ;;
8eaf2dd1 1710powerpc64-*-linux*)
cc5ffbb8 1711 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
1712 test x$with_cpu != x || cpu_is_64bit=yes
1713 test x$cpu_is_64bit != xyes || tm_file="${tm_file} rs6000/default64.h"
1714 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h"
197f58fa 1715 if test x${enable_secureplt} = xyes; then
1716 tm_file="rs6000/secureplt.h ${tm_file}"
1717 fi
16ac04e7 1718 extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
b8886216 1719 tmake_file="t-dfprules rs6000/t-fprules ${tmake_file} rs6000/t-ppccomm rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
8eaf2dd1 1720 ;;
fca26bb8 1721powerpc64-*-gnu*)
1722 tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux64.h rs6000/gnu.h"
16ac04e7 1723 extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
b8886216 1724 tmake_file="rs6000/t-fprules t-slibgcc-elf-ver t-gnu rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
fca26bb8 1725 ;;
17ac16a1 1726powerpc-*-darwin*)
16ac04e7 1727 extra_options="${extra_options} rs6000/darwin.opt"
3da996b9 1728 extra_parts="crt2.o"
8949381a 1729 case ${target} in
9b1f316f 1730 *-darwin1[0-9]* | *-darwin[8-9]*)
3ebc7dec 1731 tmake_file="${tmake_file} rs6000/t-darwin8"
9b1f316f 1732 tm_file="${tm_file} rs6000/darwin8.h"
1733 ;;
1734 *-darwin7*)
1735 tm_file="${tm_file} rs6000/darwin7.h"
1736 ;;
1737 *-darwin[0-6]*)
1738 ;;
8949381a 1739 esac
25b7153e 1740 extra_headers=altivec.h
17ac16a1 1741 ;;
84eba009 1742powerpc64-*-darwin*)
1743 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
1744 extra_options="${extra_options} ${cpu_type}/darwin.opt"
1745 # We're omitting t-darwin8 to avoid building any multilibs
1746 extra_headers=altivec.h
1747 ;;
327811ee 1748powerpc*-*-freebsd*)
7a6d1a72 1749 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
b8886216 1750 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
16ac04e7 1751 extra_options="${extra_options} rs6000/sysv4.opt"
327811ee 1752 ;;
93006578 1753powerpc-*-netbsd*)
5eeaefac 1754 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
1755 tmake_file="${tmake_file} rs6000/t-netbsd"
16ac04e7 1756 extra_options="${extra_options} rs6000/sysv4.opt"
93006578 1757 ;;
6f0a80d3 1758powerpc-*-eabispe*)
7c69b636 1759 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
16ac04e7 1760 extra_options="${extra_options} rs6000/sysv4.opt"
79bbdafd 1761 tmake_file="rs6000/t-spe rs6000/t-ppccomm"
6f0a80d3 1762 ;;
bbf524e7 1763powerpc-*-eabisimaltivec*)
7c69b636 1764 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h"
16ac04e7 1765 extra_options="${extra_options} rs6000/sysv4.opt"
b8886216 1766 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
bbf524e7 1767 ;;
bb607926 1768powerpc-*-eabisim*)
7c69b636 1769 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
16ac04e7 1770 extra_options="${extra_options} rs6000/sysv4.opt"
b8886216 1771 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
bb607926 1772 ;;
1773powerpc-*-elf*)
7a6d1a72 1774 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
16ac04e7 1775 extra_options="${extra_options} rs6000/sysv4.opt"
b8886216 1776 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
bb607926 1777 ;;
553c09a8 1778powerpc-*-eabialtivec*)
7c69b636 1779 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h"
16ac04e7 1780 extra_options="${extra_options} rs6000/sysv4.opt"
b8886216 1781 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
553c09a8 1782 ;;
bb607926 1783powerpc-*-eabi*)
7c69b636 1784 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
16ac04e7 1785 extra_options="${extra_options} rs6000/sysv4.opt"
b8886216 1786 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
bb607926 1787 ;;
1788powerpc-*-rtems*)
7c69b636 1789 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h"
16ac04e7 1790 extra_options="${extra_options} rs6000/sysv4.opt"
b8886216 1791 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems t-rtems rs6000/t-ppccomm"
bb607926 1792 ;;
ece7f381 1793powerpc-*-linux*altivec*)
553c09a8 1794 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h"
16ac04e7 1795 extra_options="${extra_options} rs6000/sysv4.opt"
b8886216 1796 tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
553c09a8 1797 ;;
ece7f381 1798powerpc-*-linux*spe*)
7c69b636 1799 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h rs6000/e500.h"
16ac04e7 1800 extra_options="${extra_options} rs6000/sysv4.opt"
bea66da5 1801 tmake_file="t-dfprules rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
f797f85f 1802 ;;
a9de045e 1803powerpc-*-linux*paired*)
1804 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/750cl.h"
1805 extra_options="${extra_options} rs6000/sysv4.opt"
1806 tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
1807 ;;
bb607926 1808powerpc-*-linux*)
cc5ffbb8 1809 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
16ac04e7 1810 extra_options="${extra_options} rs6000/sysv4.opt"
b8886216 1811 tmake_file="t-dfprules rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
cc5ffbb8 1812 case ${enable_targets}:${cpu_is_64bit} in
1813 *powerpc64* | all:* | *:yes)
1814 if test x$cpu_is_64bit = xyes; then
1815 tm_file="${tm_file} rs6000/default64.h"
1816 fi
1817 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h"
1818 tmake_file="$tmake_file rs6000/t-linux64"
e168332d 1819 extra_options="${extra_options} rs6000/linux64.opt"
cc5ffbb8 1820 ;;
1821 *)
1822 tm_file="${tm_file} rs6000/linux.h"
1823 ;;
1824 esac
197f58fa 1825 if test x${enable_secureplt} = xyes; then
1826 tm_file="rs6000/secureplt.h ${tm_file}"
1827 fi
bb607926 1828 ;;
fca26bb8 1829powerpc-*-gnu-gnualtivec*)
1830 tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h rs6000/gnu.h"
16ac04e7 1831 extra_options="${extra_options} rs6000/sysv4.opt"
b8886216 1832 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
fca26bb8 1833 if test x$enable_threads = xyes; then
1834 thread_file='posix'
1835 fi
1836 ;;
1837powerpc-*-gnu*)
1838 tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/gnu.h"
b8886216 1839 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
16ac04e7 1840 extra_options="${extra_options} rs6000/sysv4.opt"
fca26bb8 1841 if test x$enable_threads = xyes; then
1842 thread_file='posix'
1843 fi
1844 ;;
e6eccdb3 1845powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
c77a1c92 1846 tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
b8886216 1847 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppccomm rs6000/t-vxworks"
16ac04e7 1848 extra_options="${extra_options} rs6000/sysv4.opt"
805e22b2 1849 extra_headers=ppc-asm.h
e6eccdb3 1850 case ${target} in
1851 *-vxworksae*)
7c69b636 1852 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
e6eccdb3 1853 tmake_file="${tmake_file} rs6000/t-vxworksae"
1854 ;;
1855 *-vxworks*)
7c69b636 1856 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
e6eccdb3 1857 ;;
1858 esac
805e22b2 1859 ;;
d895dbf9 1860powerpc-*-lynxos*)
1861 xm_defines=POSIX
1862 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
1863 tmake_file="t-lynx rs6000/t-lynx"
16ac04e7 1864 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
d895dbf9 1865 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
0c44645a 1866 extra_options="${extra_options} lynx.opt"
d895dbf9 1867 thread_file=lynx
1868 gnu_ld=yes
1869 gas=yes
1870 ;;
bb607926 1871powerpcle-*-elf*)
7a6d1a72 1872 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
b8886216 1873 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
16ac04e7 1874 extra_options="${extra_options} rs6000/sysv4.opt"
bb607926 1875 ;;
1876powerpcle-*-eabisim*)
7c69b636 1877 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
b8886216 1878 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
16ac04e7 1879 extra_options="${extra_options} rs6000/sysv4.opt"
bb607926 1880 ;;
1881powerpcle-*-eabi*)
7c69b636 1882 tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h"
b8886216 1883 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
16ac04e7 1884 extra_options="${extra_options} rs6000/sysv4.opt"
bb607926 1885 ;;
bb607926 1886rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
8eaf2dd1 1887 tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
b8886216 1888 tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-newas"
a8bb341c 1889 extra_options="${extra_options} rs6000/aix41.opt"
bb607926 1890 use_collect2=yes
83287f80 1891 extra_headers=
3b9ee544 1892 use_fixproto=yes
bb607926 1893 ;;
1894rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
527d5be8 1895 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
bb607926 1896 tmake_file=rs6000/t-aix43
a8bb341c 1897 extra_options="${extra_options} rs6000/aix64.opt"
bb607926 1898 use_collect2=yes
1899 thread_file='aix'
83287f80 1900 extra_headers=
bb607926 1901 ;;
b1974978 1902rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
527d5be8 1903 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h"
a8bb341c 1904 extra_options="${extra_options} rs6000/aix64.opt"
bb607926 1905 tmake_file=rs6000/t-aix43
bb607926 1906 use_collect2=yes
1907 thread_file='aix'
83287f80 1908 extra_headers=
bb607926 1909 ;;
d4115f8c 1910rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
b1974978 1911 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h"
1912 tmake_file=rs6000/t-aix52
a8bb341c 1913 extra_options="${extra_options} rs6000/aix64.opt"
b1974978 1914 use_collect2=yes
1915 thread_file='aix'
1916 extra_headers=
1917 ;;
0cc77516 1918rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
d4115f8c 1919 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h"
1920 tmake_file=rs6000/t-aix52
1921 extra_options="${extra_options} rs6000/aix64.opt"
1922 use_collect2=yes
1923 thread_file='aix'
4b39bf76 1924 extra_headers=altivec.h
d4115f8c 1925 ;;
0cc77516 1926rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
1927 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h"
1928 tmake_file=rs6000/t-aix52
1929 extra_options="${extra_options} rs6000/aix64.opt"
1930 use_collect2=yes
1931 thread_file='aix'
1932 extra_headers=altivec.h
1933 ;;
582b17a6 1934s390-*-linux*)
7a6d1a72 1935 tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
36868490 1936 tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux"
346e8a0c 1937 ;;
582b17a6 1938s390x-*-linux*)
d50213e6 1939 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
48de175f 1940 tm_p_file=s390/s390-protos.h
1941 md_file=s390/s390.md
b5ccaa7b 1942 extra_modes=s390/s390-modes.def
48de175f 1943 out_file=s390/s390.c
36868490 1944 tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux s390/t-linux64"
346e8a0c 1945 ;;
7c1f201b 1946s390x-ibm-tpf*)
9f88bc9d 1947 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h"
1948 tm_p_file=s390/s390-protos.h
1949 md_file=s390/s390.md
1950 extra_modes=s390/s390-modes.def
1951 out_file=s390/s390.c
1952 extra_parts="crtbeginS.o crtendS.o"
1953 tmake_file="s390/t-crtstuff s390/t-tpf"
1954 thread_file='tpf'
1955 extra_options="${extra_options} s390/tpf.opt"
7c1f201b 1956 ;;
3dbfe3e4 1957score-*-elf)
1958 tm_file="dbxelf.h elfos.h score/elf.h score/score.h"
1959 tmake_file=score/t-score-elf
c0f96d15 1960 extra_objs="score7.o score3.o"
3dbfe3e4 1961 ;;
6af9f7ea 1962sh-*-elf* | sh[12346l]*-*-elf* | \
db281f5a 1963sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
ccf1c0f1 1964 sh-*-linux* | sh[2346lbe]*-*-linux* | \
07168dd9 1965 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
1966 sh64-*-netbsd* | sh64l*-*-netbsd*)
1967 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
1968 if test x${with_endian} = x; then
1969 case ${target} in
1970 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
1971 shbe-*-* | sheb-*-*) with_endian=big,little ;;
1972 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
1973 shl* | sh64l* | sh*-*-linux* | \
1974 sh5l* | sh-superh-elf) with_endian=little,big ;;
1975 sh[1234]*-*-*) with_endian=big ;;
1976 *) with_endian=big,little ;;
1977 esac
1978 fi
1979 case ${with_endian} in
1980 big|little) tmake_file="${tmake_file} sh/t-1e" ;;
1981 big,little|little,big) ;;
1982 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1983 esac
1984 case ${with_endian} in
1985 little*) tm_file="sh/little.h ${tm_file}" ;;
1986 esac
1987 tm_file="${tm_file} dbxelf.h elfos.h"
09c6646e 1988 case ${target} in
07168dd9 1989 sh*-*-netbsd*) ;;
1990 *) tm_file="${tm_file} svr4.h" ;;
febf5bcd 1991 esac
07168dd9 1992 tm_file="${tm_file} sh/elf.h"
09c6646e 1993 case ${target} in
07168dd9 1994 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
d4a0fb5a 1995 tm_file="${tm_file} linux.h sh/linux.h" ;;
07168dd9 1996 sh*-*-netbsd*) tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h" ;;
65a1f1e9 1997 sh*-superh-elf) if test x$with_libgloss != xno; then
1998 with_libgloss=yes
1999 tm_file="${tm_file} sh/newlib.h"
2000 fi
eee267bf 2001 tm_file="${tm_file} sh/embed-elf.h sh/superh.h"
2002 tmake_file="${tmake_file} sh/t-superh"
3a6994f8 2003 extra_options="${extra_options} sh/superh.opt" ;;
65a1f1e9 2004 *) if test x$with_newlib = xyes \
2005 && test x$with_libgloss = xyes; then
2006 tm_file="${tm_file} sh/newlib.h"
2007 fi
2008 tm_file="${tm_file} sh/embed-elf.h" ;;
07168dd9 2009 esac
2010 case ${target} in
2011 sh5*-*-netbsd*)
2012 # SHmedia, 32-bit ABI
2013 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd"
2014 ;;
2015 sh64*-netbsd*)
2016 # SHmedia, 64-bit ABI
2017 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd sh/t-netbsd-sh5-64"
2018 ;;
2019 *-*-netbsd)
2020 tmake_file="${tmake_file} sh/t-netbsd"
2021 ;;
2022 sh64*-*-linux*)
2023 tmake_file="${tmake_file} sh/t-sh64 sh/t-linux64"
2024 tm_file="${tm_file} sh/sh64.h"
2025 extra_headers="shmedia.h ushmedia.h sshmedia.h"
2026 ;;
febf5bcd 2027 sh64*)
2028 tmake_file="${tmake_file} sh/t-sh64"
2029 tm_file="${tm_file} sh/sh64.h"
2030 extra_headers="shmedia.h ushmedia.h sshmedia.h"
febf5bcd 2031 ;;
db281f5a 2032 *-*-symbianelf*)
2033 tmake_file="sh/t-symbian"
2034 tm_file="sh/symbian-pre.h sh/little.h ${tm_file} sh/symbian-post.h"
2035 extra_objs="symbian.o"
2036 extra_parts="crt1.o crti.o crtn.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
3ebc7dec 2037 ;;
493914a8 2038 esac
07168dd9 2039 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2040 case `echo ${target} | sed 's/e[lb]-/-/'` in
2041 sh64*-*-netbsd*) sh_cpu_target=sh5-64media ;;
2042 sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;;
9435e831 2043 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2044 sh4a_single*) sh_cpu_target=sh4a-single ;;
2045 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2046 sh4al) sh_cpu_target=sh4al ;;
2047 sh4a*) sh_cpu_target=sh4a ;;
07168dd9 2048 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2049 sh4_single*) sh_cpu_target=sh4-single ;;
2050 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2051 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2052 sh3e*) sh_cpu_target=sh3e ;;
2053 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
7105fb72 2054 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2055 sh2a_single*) sh_cpu_target=sh2a-single ;;
2056 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2057 sh2a*) sh_cpu_target=sh2a ;;
07168dd9 2058 sh2e*) sh_cpu_target=sh2e ;;
2059 sh2*) sh_cpu_target=sh2 ;;
2060 *) sh_cpu_target=sh1 ;;
aa76b2b5 2061 esac
65a1f1e9 2062 # did the user say --without-fp ?
2063 if test x$with_fp = xno; then
2064 case ${sh_cpu_target} in
2065 sh5-*media) sh_cpu_target=${sh_cpu_target}-nofpu ;;
2066 sh4al | sh1) ;;
2067 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
2068 sh4*) sh_cpu_target=sh4-nofpu ;;
2069 sh3*) sh_cpu_target=sh3 ;;
2070 sh2a*) sh_cpu_target=sh2a-nofpu ;;
2071 sh2*) sh_cpu_target=sh2 ;;
2072 *) echo --without-fp not available for $target: ignored
2073 esac
2074 tm_defines="$tm_defines STRICT_NOFPU=1"
2075 fi
07168dd9 2076 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2077 case $sh_cpu_default in
2078 sh5-64media-nofpu | sh5-64media | \
2079 sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
7105fb72 2080 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
9435e831 2081 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
99b0f6d9 2082 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
eb4e5153 2083 sh3e | sh3 | sh2e | sh2 | sh1) ;;
07168dd9 2084 "") sh_cpu_default=${sh_cpu_target} ;;
2085 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
febf5bcd 2086 esac
07168dd9 2087 sh_multilibs=${with_multilib_list}
2088 if test x${sh_multilibs} = x ; then
2089 case ${target} in
65a1f1e9 2090 sh64-superh-linux* | \
07168dd9 2091 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
2092 sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
2093 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2094 sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
2095 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
7105fb72 2096 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
07168dd9 2097 esac
65a1f1e9 2098 if test x$with_fp = xno; then
2099 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`"
2100 fi
07168dd9 2101 fi
3a6994f8 2102 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
07168dd9 2103 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
3a6994f8 2104 sh_multilibs=`echo $sh_multilibs,$sh_cpu_default | sed -e 's/[ ,/][ ,]*/ /g' -e 's/ $//' -e 's/^m/sh/' -e 's/ m/ sh/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
07168dd9 2105 for sh_multilib in ${sh_multilibs}; do
2106 case ${sh_multilib} in
2107 sh1 | sh2 | sh2e | sh3 | sh3e | \
99b0f6d9 2108 sh4 | sh4-single | sh4-single-only | sh4-nofpu | sh4-300 |\
9435e831 2109 sh4a | sh4a-single | sh4a-single-only | sh4a-nofpu | sh4al | \
7105fb72 2110 sh2a | sh2a-single | sh2a-single-only | sh2a-nofpu | \
07168dd9 2111 sh5-64media | sh5-64media-nofpu | \
2112 sh5-32media | sh5-32media-nofpu | \
2113 sh5-compact | sh5-compact-nofpu)
2114 tmake_file="${tmake_file} sh/t-mlib-${sh_multilib}"
3a6994f8 2115 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
07168dd9 2116 ;;
2117 *)
2118 echo "with_multilib_list=${sh_multilib} not supported."
2119 exit 1
2120 ;;
2121 esac
2122 done
3a6994f8 2123 if test x${enable_incomplete_targets} = xyes ; then
156fac8b 2124 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"
07168dd9 2125 fi
87e19636 2126 ;;
26f6dfe2 2127sh-*-rtems*)
0e0debcf 2128 tmake_file="sh/t-sh sh/t-elf t-rtems sh/t-rtems"
26f6dfe2 2129 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
2130 ;;
d9799238 2131sh-wrs-vxworks)
2132 tmake_file="$tmake_file sh/t-sh sh/t-elf sh/t-vxworks"
a9cfe83b 2133 tm_file="${tm_file} elfos.h svr4.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
d9799238 2134 ;;
bb607926 2135sh-*-*)
1566e12e 2136 tm_file="${tm_file} dbxcoff.h sh/coff.h"
bb607926 2137 ;;
f470dade 2138sparc-*-netbsdelf*)
8c393d8d 2139 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
a9341855 2140 extra_options="${extra_options} sparc/long-double-switch.opt"
f470dade 2141 ;;
61f2f0de 2142sparc64-*-openbsd*)
8c393d8d 2143 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
a9341855 2144 extra_options="${extra_options} sparc/little-endian.opt"
61f2f0de 2145 gas=yes gnu_ld=yes
2146 with_cpu=ultrasparc
61f2f0de 2147 ;;
bb607926 2148sparc-*-elf*)
0b84cbdd 2149 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h"
f24facde 2150 tmake_file="sparc/t-elf sparc/t-crtfm"
bb607926 2151 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
bb607926 2152 ;;
7800959d 2153sparc-*-linux*) # SPARC's running GNU/Linux, libc6
1168681b 2154 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h"
a9341855 2155 extra_options="${extra_options} sparc/long-double-switch.opt"
64c6f17e 2156 tmake_file="${tmake_file} sparc/t-linux"
1168681b 2157 if test x$enable_targets = xall; then
2158 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
64c6f17e 2159 tmake_file="${tmake_file} sparc/t-linux64"
1168681b 2160 else
2161 tm_file="${tm_file} sparc/linux.h"
1168681b 2162 fi
64c6f17e 2163 tmake_file="${tmake_file} sparc/t-crtfm"
bb607926 2164 ;;
41e38a87 2165sparc-*-rtems*)
0b84cbdd 2166 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h"
8c9facdb 2167 tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
bb607926 2168 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
bb607926 2169 ;;
8ed09732 2170sparc64-*-solaris2* | sparcv9-*-solaris2*)
517cabaa 2171 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h"
2172 case ${target} in
2173 *-*-solaris2.1[0-9]*)
2174 tm_file="${tm_file} sol2-10.h"
2175 ;;
2176 esac
2177 tm_file="${tm_file} sparc/sol2.h sparc/sol2-64.h sparc/sol2-bi.h"
d5a614bc 2178 if test x$gnu_ld = xyes; then
2179 tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h"
bb607926 2180 fi
b25d9808 2181 if test x$gas = xyes; then
7d6171f2 2182 tm_file="${tm_file} sparc/sol2-gas.h sparc/sol2-gas-bi.h"
b25d9808 2183 fi
40af64cc 2184 tm_file="${tm_file} tm-dwarf2.h"
1e9af880 2185 tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
bb607926 2186 if test x$gnu_ld = xyes; then
32e8a7fc 2187 tmake_file="$tmake_file t-slibgcc-elf-ver"
bb607926 2188 else
32e8a7fc 2189 tmake_file="$tmake_file t-slibgcc-sld"
bb607926 2190 fi
1e9af880 2191 c_target_objs="sol2-c.o"
2192 cxx_target_objs="sol2-c.o"
e02a1225 2193 extra_objs="sol2.o"
2194 tm_p_file="${tm_p_file} sol2-protos.h"
bb607926 2195 extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
334c8279 2196 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
2cd5c873 2197 "":yes:* | yes:yes:* ) thread_file=posix ;;
2198 "":*:yes | yes:*:yes ) thread_file=solaris ;;
334c8279 2199 esac
bb607926 2200 ;;
8ed09732 2201sparc-*-solaris2*)
8fde03ba 2202 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h"
2203 case ${target} in
517cabaa 2204 *-*-solaris2.1[0-9]*)
2205 tm_file="${tm_file} sol2-10.h"
2206 ;;
8fde03ba 2207 esac
2208 tm_file="${tm_file} sparc/sol2.h"
d5a614bc 2209 if test x$gnu_ld = xyes; then
2210 tm_file="${tm_file} sparc/sol2-gld.h"
bb607926 2211 fi
7d6171f2 2212 if test x$gas = xyes; then
2213 tm_file="${tm_file} sparc/sol2-gas.h"
2214 fi
1e9af880 2215 tmake_file="t-sol2 sparc/t-sol2 sparc/t-crtfm"
bb607926 2216 if test x$gnu_ld = xyes; then
32e8a7fc 2217 tmake_file="$tmake_file t-slibgcc-elf-ver"
bb607926 2218 else
32e8a7fc 2219 tmake_file="$tmake_file t-slibgcc-sld"
bb607926 2220 fi
6af9f7ea 2221 tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h"
2222 if test x$gnu_ld = xyes; then
2223 tm_file="${tm_file} sparc/sol2-gld-bi.h"
2224 fi
2225 if test x$gas = xyes; then
2226 tm_file="${tm_file} sparc/sol2-gas-bi.h"
2227 fi
2228 tm_file="${tm_file} tm-dwarf2.h"
2229 tmake_file="$tmake_file sparc/t-sol2-64"
2230 test x$with_cpu != x || with_cpu=v9
1e9af880 2231 c_target_objs="sol2-c.o"
2232 cxx_target_objs="sol2-c.o"
e02a1225 2233 extra_objs="sol2.o"
2234 tm_p_file="${tm_p_file} sol2-protos.h"
d5a614bc 2235 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
334c8279 2236 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
8fde03ba 2237 "":yes:* | yes:yes:* )
6af9f7ea 2238 thread_file=posix
8fde03ba 2239 ;;
2240 "":*:yes | yes:*:yes )
2241 thread_file=solaris
2242 ;;
334c8279 2243 esac
bb607926 2244 ;;
723e1902 2245sparc-wrs-vxworks)
2246 tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
2247 tmake_file="${tmake_file} sparc/t-vxworks"
2248 ;;
bb607926 2249sparc64-*-elf*)
0b84cbdd 2250 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h"
a9341855 2251 extra_options="${extra_options} sparc/little-endian.opt"
8c9facdb 2252 tmake_file="${tmake_file} sparc/t-crtfm"
bb607926 2253 extra_parts="crtbegin.o crtend.o"
2254 ;;
cf481f89 2255sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2256 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
a9341855 2257 extra_options="${extra_options} sparc/long-double-switch.opt"
8c9facdb 2258 tmake_file="${tmake_file} sparc/t-crtfm"
cf481f89 2259 case "x$with_cpu" in
68345096 2260 xultrasparc) ;;
cf481f89 2261 x) with_cpu=ultrasparc ;;
2262 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2263 esac
2264 ;;
7800959d 2265sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
1168681b 2266 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h sparc/linux64.h"
a9341855 2267 extra_options="${extra_options} sparc/long-double-switch.opt"
0d6c33ea 2268 tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
bb607926 2269 ;;
1897a3df 2270sparc64-*-netbsd*)
1897a3df 2271 tm_file="sparc/biarch64.h ${tm_file}"
2272 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
a9341855 2273 extra_options="${extra_options} sparc/long-double-switch.opt"
2274 tmake_file="${tmake_file} sparc/t-netbsd64"
1897a3df 2275 ;;
644459d0 2276spu-*-elf*)
2277 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h"
2278 tmake_file="spu/t-spu-elf"
2279 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h"
2280 extra_modes=spu/spu-modes.def
2281 c_target_objs="${c_target_objs} spu-c.o"
2282 cxx_target_objs="${cxx_target_objs} spu-c.o"
2283 ;;
00b114bf 2284v850e1-*-*)
2285 target_cpu_default="TARGET_CPU_v850e1"
2286 tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
2287 tm_p_file=v850/v850-protos.h
2288 tmake_file=v850/t-v850e
2289 md_file=v850/v850.md
2290 out_file=v850/v850.c
bfb701b0 2291 extra_options="${extra_options} v850/v850.opt"
00b114bf 2292 if test x$stabs = xyes
2293 then
2294 tm_file="${tm_file} dbx.h"
2295 fi
2296 use_collect2=no
2297 c_target_objs="v850-c.o"
2298 cxx_target_objs="v850-c.o"
2299 ;;
5dd3389c 2300v850e-*-*)
2301 target_cpu_default="TARGET_CPU_v850e"
2302 tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
2303 tm_p_file=v850/v850-protos.h
c7feb70c 2304 tmake_file=v850/t-v850e
5dd3389c 2305 md_file=v850/v850.md
2306 out_file=v850/v850.c
bfb701b0 2307 extra_options="${extra_options} v850/v850.opt"
5dd3389c 2308 if test x$stabs = xyes
2309 then
2310 tm_file="${tm_file} dbx.h"
2311 fi
2312 use_collect2=no
2313 c_target_objs="v850-c.o"
2314 cxx_target_objs="v850-c.o"
2315 ;;
bb607926 2316v850-*-*)
2317 target_cpu_default="TARGET_CPU_generic"
7a6d1a72 2318 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
bb607926 2319 tmake_file=v850/t-v850
2320 if test x$stabs = xyes
2321 then
2322 tm_file="${tm_file} dbx.h"
2323 fi
2324 use_collect2=no
e101acea 2325 c_target_objs="v850-c.o"
2326 cxx_target_objs="v850-c.o"
bb607926 2327 ;;
f470dade 2328vax-*-netbsdelf*)
83accbc0 2329 tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
f470dade 2330 ;;
bb607926 2331vax-*-netbsd*)
4ace673e 2332 tm_file="${tm_file} netbsd.h netbsd-aout.h vax/netbsd.h"
bb607926 2333 tmake_file=t-netbsd
9a33b00e 2334 extra_parts=""
87a1ff8e 2335 use_collect2=yes
bb607926 2336 ;;
2337vax-*-openbsd*)
0ac7fc08 2338 tm_file="vax/vax.h vax/openbsd1.h openbsd.h vax/openbsd.h"
bb607926 2339 use_collect2=yes
2340 ;;
9b954fed 2341xstormy16-*-elf)
2342 # For historical reasons, the target files omit the 'x'.
7a6d1a72 2343 tm_file="dbxelf.h elfos.h svr4.h stormy16/stormy16.h"
9b954fed 2344 tm_p_file=stormy16/stormy16-protos.h
2345 md_file=stormy16/stormy16.md
2346 out_file=stormy16/stormy16.c
840f1481 2347 extra_options=stormy16/stormy16.opt
9b954fed 2348 tmake_file="stormy16/t-stormy16"
2349 extra_parts="crtbegin.o crtend.o"
2350 ;;
a76109da 2351xtensa*-*-elf*)
f6b7ba2b 2352 tm_file="${tm_file} dbxelf.h elfos.h svr4.h xtensa/elf.h"
54a0bb9d 2353 tmake_file="xtensa/t-xtensa xtensa/t-elf"
f6b7ba2b 2354 ;;
a76109da 2355xtensa*-*-linux*)
f6b7ba2b 2356 tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h xtensa/linux.h"
1afa774a 2357 tmake_file="${tmake_file} xtensa/t-xtensa xtensa/t-linux"
f6b7ba2b 2358 ;;
1acdfc69 2359am33_2.0-*-linux*)
2360 tm_file="mn10300/mn10300.h dbxelf.h elfos.h linux.h mn10300/linux.h"
1afa774a 2361 tmake_file="${tmake_file} mn10300/t-linux"
1acdfc69 2362 gas=yes gnu_ld=yes
1acdfc69 2363 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
2364 use_collect2=no
2365 ;;
85c84d5c 2366m32c-*-elf*)
2367 tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
2368 c_target_objs="m32c-pragma.o"
2369 cxx_target_objs="m32c-pragma.o"
85c84d5c 2370 ;;
bb607926 2371*)
09c6646e 2372 echo "*** Configuration ${target} not supported" 1>&2
bb607926 2373 exit 1
2374 ;;
2375esac
2376
561866ed 2377case ${target} in
561866ed 2378i[34567]86-*-linux* | x86_64-*-linux*)
46f8e3b0 2379 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
561866ed 2380 ;;
2381i[34567]86-*-* | x86_64-*-*)
46f8e3b0 2382 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
561866ed 2383 ;;
2384esac
2385
3864b642 2386# Support for --with-cpu and related options (and a few unrelated options,
973f8bf3 2387# too).
370a1d10 2388case ${with_cpu} in
2389 yes | no)
2390 echo "--with-cpu must be passed a value" 1>&2
2391 exit 1
2392 ;;
2393esac
f0b281fe 2394
370a1d10 2395# If there is no $with_cpu option, try to infer one from ${target}.
2396# This block sets nothing except for with_cpu.
2397if test x$with_cpu = x ; then
2398 case ${target} in
9db3d688 2399 i386-*-*)
2400 with_cpu=i386
2401 ;;
370a1d10 2402 i486-*-*)
2403 with_cpu=i486
2404 ;;
2405 i586-*-*)
8ef79bec 2406 case ${target_noncanonical} in
370a1d10 2407 k6_2-*)
2408 with_cpu=k6-2
2409 ;;
2410 k6_3-*)
2411 with_cpu=k6-3
2412 ;;
2413 k6-*)
2414 with_cpu=k6
2415 ;;
2416 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
2417 with_cpu=pentium-mmx
2418 ;;
2419 *)
2420 with_cpu=pentium
2421 ;;
2422 esac
2423 ;;
2424 i686-*-* | i786-*-*)
8ef79bec 2425 case ${target_noncanonical} in
d80b6b7d 2426 amdfam10-*|barcelona-*)
3d775f8e 2427 with_cpu=amdfam10
2428 ;;
e3c8fc92 2429 k8-*|opteron-*|athlon_64-*)
370a1d10 2430 with_cpu=k8
2431 ;;
2432 athlon_xp-*|athlon_mp-*|athlon_4-*)
2433 with_cpu=athlon-4
2434 ;;
2435 athlon_tbird-*|athlon-*)
2436 with_cpu=athlon
2437 ;;
3451fffd 2438 geode-*)
2439 with_cpu=geode
2440 ;;
370a1d10 2441 pentium2-*)
2442 with_cpu=pentium2
2443 ;;
37710a73 2444 pentium3-*|pentium3m-*)
370a1d10 2445 with_cpu=pentium3
2446 ;;
37710a73 2447 pentium4-*|pentium4m-*)
370a1d10 2448 with_cpu=pentium4
2449 ;;
37710a73 2450 prescott-*)
2451 with_cpu=prescott
2452 ;;
2453 nocona-*)
2454 with_cpu=nocona
2455 ;;
5d266583 2456 core2-*)
2457 with_cpu=core2
2458 ;;
37710a73 2459 pentium_m-*)
2460 with_cpu=pentium-m
2461 ;;
9db3d688 2462 pentiumpro-*)
370a1d10 2463 with_cpu=pentiumpro
2464 ;;
9db3d688 2465 *)
2466 with_cpu=generic
2467 ;;
370a1d10 2468 esac
2469 ;;
2470 x86_64-*-*)
9db3d688 2471 case ${target_noncanonical} in
d80b6b7d 2472 amdfam10-*|barcelona-*)
3d775f8e 2473 with_cpu=amdfam10
2474 ;;
9db3d688 2475 k8-*|opteron-*|athlon_64-*)
2476 with_cpu=k8
2477 ;;
2478 nocona-*)
2479 with_cpu=nocona
2480 ;;
5d266583 2481 core2-*)
2482 with_cpu=core2
2483 ;;
9db3d688 2484 *)
2485 with_cpu=generic
2486 ;;
2487 esac
370a1d10 2488 ;;
2489 alphaev6[78]*-*-*)
2490 with_cpu=ev67
2491 ;;
2492 alphaev6*-*-*)
2493 with_cpu=ev6
2494 ;;
2495 alphapca56*-*-*)
2496 with_cpu=pca56
2497 ;;
2498 alphaev56*-*-*)
2499 with_cpu=ev56
2500 ;;
2501 alphaev5*-*-*)
2502 with_cpu=ev5
2503 ;;
de6e318c 2504 frv-*-*linux* | frv400-*-*linux*)
3e7f6cce 2505 with_cpu=fr400
2506 ;;
de6e318c 2507 frv550-*-*linux*)
2508 with_cpu=fr550
2509 ;;
f84195ec 2510 m68k*-*-*)
558b196a 2511 case "$with_arch" in
2512 "cf")
2513 with_cpu=${default_cf_cpu}
2514 ;;
2515 "" | "m68k")
2516 with_cpu=m${default_m68k_cpu}
2517 ;;
2518 esac
f84195ec 2519 ;;
223f6dbc 2520 mips*-*-vxworks)
2521 with_arch=mips2
2522 ;;
370a1d10 2523 sparc*-*-*)
2524 with_cpu="`echo ${target} | sed 's/-.*$//'`"
370a1d10 2525 ;;
2526 esac
f067c6b7 2527
2528 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
2529 case ${target} in
2530 i[34567]86-*-*|x86_64-*-*)
2531 if test x$with_cpu != x; then
2532 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
2533 if test x$with_cpu_32 = x; then
2534 with_cpu_32=$with_cpu
2535 fi
2536 if test x$with_cpu_64 = x; then
2537 with_cpu_64=$with_cpu
2538 fi
2539 with_cpu=
2540 fi
2541 fi
2542 ;;
2543 esac
370a1d10 2544fi
f0b281fe 2545
0a76a4fd 2546# Similarly for --with-schedule.
2547if test x$with_schedule = x; then
2548 case ${target} in
6af9f7ea 2549 hppa1*)
0a76a4fd 2550 # Override default PA8000 scheduling model.
2551 with_schedule=7100LC
2552 ;;
2553 esac
2554fi
f0b281fe 2555
0a76a4fd 2556# Validate and mark as valid any --with options supported
2557# by this target. In order to use a particular --with option
2558# you must list it in supported_defaults; validating the value
2559# is optional. This case statement should set nothing besides
2560# supported_defaults.
7dd97ab6 2561
0a76a4fd 2562supported_defaults=
2563case "${target}" in
f0b281fe 2564 alpha*-*-*)
7dd97ab6 2565 supported_defaults="cpu tune"
2566 for which in cpu tune; do
2567 eval "val=\$with_$which"
8d520382 2568 case "$val" in
2569 "" \
2570 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
2571 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
2572 | 21264a)
7dd97ab6 2573 ;;
2574 *)
2575 echo "Unknown CPU used in --with-$which=$val" 1>&2
2576 exit 1
2577 ;;
2578 esac
2579 done
2580 ;;
2581
2582 arm*-*-*)
086571a4 2583 supported_defaults="arch cpu float tune fpu abi mode"
7dd97ab6 2584 for which in cpu tune; do
70ac928b 2585 # See if it matches any of the entries in arm-cores.def
7dd97ab6 2586 eval "val=\$with_$which"
1cfd705e 2587 if [ x"$val" = x ] \
61b58075 2588 || grep "^ARM_CORE(\"$val\"," \
1cfd705e 2589 ${srcdir}/config/arm/arm-cores.def \
2590 > /dev/null; then
2591 # Ok
61b58075 2592 new_val=`grep "^ARM_CORE(\"$val\"," \
2593 ${srcdir}/config/arm/arm-cores.def | \
2594 sed -e 's/^[^,]*,[ ]*//' | \
2595 sed -e 's/,.*$//'`
346bfe2d 2596 eval "target_${which}_cname=$new_val"
61b58075 2597 echo "For $val real value is $new_val"
1cfd705e 2598 true
2599 else
2600 echo "Unknown CPU used in --with-$which=$val" 1>&2
2601 exit 1
70ac928b 2602 fi
7dd97ab6 2603 done
2604
8d520382 2605 case "$with_arch" in
2606 "" \
a2cd141b 2607 | armv[23456] | armv2a | armv3m | armv4t | armv5t \
b77c60b7 2608 | armv5te | armv6j |armv6k | armv6z | armv6zk | armv6-m \
2609 | armv7 | armv7-a | armv7-r | armv7-m \
6b4d6063 2610 | iwmmxt | ep9312)
f0b281fe 2611 # OK
bb678e49 2612 ;;
2613 *)
7dd97ab6 2614 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
f0b281fe 2615 exit 1
3864b642 2616 ;;
2617 esac
f0b281fe 2618
8d520382 2619 case "$with_float" in
2620 "" \
a2cd141b 2621 | soft | hard | softfp)
f0b281fe 2622 # OK
3864b642 2623 ;;
f0b281fe 2624 *)
7dd97ab6 2625 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
f0b281fe 2626 exit 1
3864b642 2627 ;;
2628 esac
7dd97ab6 2629
a2cd141b 2630 case "$with_fpu" in
2631 "" \
d98a3884 2632 | fpa | fpe2 | fpe3 | maverick | vfp | vfp3 | neon )
a2cd141b 2633 # OK
2634 ;;
2635 *)
f9273c43 2636 echo "Unknown fpu used in --with-fpu=$with_fpu" 2>&1
2637 exit 1
2638 ;;
2639 esac
2640
2641 case "$with_abi" in
2642 "" \
2643 | apcs-gnu | atpcs | aapcs | iwmmxt )
2644 #OK
2645 ;;
2646 *)
2647 echo "Unknown ABI used in --with-abi=$with_abi"
a2cd141b 2648 exit 1
2649 ;;
2650 esac
2651
086571a4 2652 case "$with_mode" in
2653 "" \
2654 | arm | thumb )
2655 #OK
2656 ;;
2657 *)
2658 echo "Unknown mode used in --with-mode=$with_mode"
2659 exit 1
2660 ;;
2661 esac
2662
7dd97ab6 2663 if test "x$with_arch" != x && test "x$with_cpu" != x; then
f9273c43 2664 echo "Warning: --with-arch overrides --with-cpu=$with_cpu" 1>&2
7dd97ab6 2665 fi
3864b642 2666 ;;
3864b642 2667
3e7f6cce 2668 fr*-*-*linux*)
2669 supported_defaults=cpu
2670 case "$with_cpu" in
2671 fr400) ;;
de6e318c 2672 fr550) ;;
3e7f6cce 2673 *)
2674 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
2675 exit 1
2676 ;;
2677 esac
2678 ;;
2679
6af9f7ea 2680 fido-*-* | m68k*-*-*)
558b196a 2681 supported_defaults="arch cpu"
2682 case "$with_arch" in
2683 "" | "m68k"| "cf")
2684 m68k_arch_family="$with_arch"
2685 ;;
2686 *)
2687 echo "Invalid --with-arch=$with_arch" 1>&2
2688 exit 1
2689 ;;
2690 esac
f84195ec 2691
2692 # We always have a $with_cpu setting here.
8e80b452 2693 case "$with_cpu" in
8aed3cb3 2694 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
2695 m68k_cpu_ident=$with_cpu
2696 ;;
2697 "m68020-40")
2698 m68k_cpu_ident=m68020
2699 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
2700 ;;
2701 "m68020-60")
2702 m68k_cpu_ident=m68020
2703 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
8e80b452 2704 ;;
2705 *)
8aed3cb3 2706 # We need the C identifier rather than the string.
2707 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
2708 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
2709 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
2710 ${srcdir}/config/m68k/m68k-devices.def`
2711 if [ x"$m68k_cpu_ident" = x ] ; then
2712 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
2713 exit 1
2714 fi
2715 with_cpu="mcpu=$with_cpu"
8e80b452 2716 ;;
2717 esac
2718 ;;
2719
6af9f7ea 2720 hppa*-*-*)
7dd97ab6 2721 supported_defaults="arch schedule"
2722
8d520382 2723 case "$with_arch" in
2724 "" | 1.0 | 1.1 | 2.0)
7dd97ab6 2725 # OK
2726 ;;
2727 *)
2728 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
2729 exit 1
2730 ;;
2731 esac
2732
8d520382 2733 case "$with_schedule" in
2734 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
f0b281fe 2735 # OK
2736 ;;
2737 *)
2738 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
2739 exit 1
2740 ;;
2741 esac
3864b642 2742 ;;
3864b642 2743
f0b281fe 2744 i[34567]86-*-* | x86_64-*-*)
f067c6b7 2745 supported_defaults="arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
2746 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
7dd97ab6 2747 eval "val=\$with_$which"
e83e5390 2748 case ${val} in
9db3d688 2749 i386 | i486 \
e83e5390 2750 | i586 | pentium | pentium-mmx | winchip-c6 | winchip2 \
2751 | c3 | c3-2 | i686 | pentiumpro | pentium2 | pentium3 \
2752 | pentium4 | k6 | k6-2 | k6-3 | athlon | athlon-tbird \
3451fffd 2753 | athlon-4 | athlon-xp | athlon-mp | geode \
9db3d688 2754 | prescott | pentium-m | pentium4m | pentium3m)
2755 case "${target}" in
2756 x86_64-*-*)
f067c6b7 2757 case "x$which" in
2758 *_32)
2759 ;;
2760 *)
2761 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
2762 exit 1
2763 ;;
2764 esac
9db3d688 2765 ;;
2766 esac
2767 # OK
2768 ;;
d80b6b7d 2769 "" | amdfam10 | barcelona | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic)
7dd97ab6 2770 # OK
2771 ;;
2772 *)
2773 echo "Unknown CPU given in --with-$which=$val." 1>&2
2774 exit 1
2775 ;;
2776 esac
2777 done
2778 ;;
2779
2780 mips*-*-*)
bc4c18f7 2781 supported_defaults="abi arch float tune divide llsc"
7dd97ab6 2782
e83e5390 2783 case ${with_float} in
2784 "" | soft | hard)
f0b281fe 2785 # OK
2786 ;;
2787 *)
7dd97ab6 2788 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
f0b281fe 2789 exit 1
2790 ;;
2791 esac
3864b642 2792
e83e5390 2793 case ${with_abi} in
2794 "" | 32 | o64 | n32 | 64 | eabi)
f0b281fe 2795 # OK
2796 ;;
2797 *)
7dd97ab6 2798 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
f0b281fe 2799 exit 1
2800 ;;
2801 esac
f9262d1e 2802
2803 case ${with_divide} in
2804 "" | breaks | traps)
2805 # OK
2806 ;;
2807 *)
2808 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
2809 exit 1
bc4c18f7 2810 ;;
2811 esac
2812
2813 case ${with_llsc} in
2814 yes)
2815 with_llsc=llsc
2816 ;;
2817 no)
2818 with_llsc="no-llsc"
2819 ;;
2820 "")
2821 # OK
2822 ;;
2823 *)
2824 echo "Unknown llsc type used in --with-llsc" 1>&2
2825 exit 1
2826 ;;
f9262d1e 2827 esac
3864b642 2828 ;;
3864b642 2829
7dd97ab6 2830 powerpc*-*-* | rs6000-*-*)
2831 supported_defaults="cpu float tune"
2832
2833 for which in cpu tune; do
2834 eval "val=\$with_$which"
e83e5390 2835 case ${val} in
83ae44d6 2836 default32 | default64)
2837 with_which="with_$which"
2838 eval $with_which=
2839 ;;
e2fcf81b 2840 405cr)
2841 tm_defines="${tm_defines} CONFIG_PPC405CR"
2842 eval "with_$which=405"
2843 ;;
83ae44d6 2844 "" | common \
94f7a54b 2845 | power | power[234567] | power6x | powerpc | powerpc64 \
e83e5390 2846 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
257bc844 2847 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
2848 | 505 | 601 | 602 | 603 | 603e | ec603e | 604 \
2b3ae3ef 2849 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
2850 | e300c[23] | 854[08] | e500mc \
2851 | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
7dd97ab6 2852 # OK
2853 ;;
2854 *)
2855 echo "Unknown cpu used in --with-$which=$val." 1>&2
2856 exit 1
2857 ;;
2858 esac
2859 done
2860 ;;
2861
b8c0043c 2862 s390*-*-*)
2863 supported_defaults="arch mode tune"
2864
2865 for which in arch tune; do
2866 eval "val=\$with_$which"
e83e5390 2867 case ${val} in
a850370e 2868 "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10)
b8c0043c 2869 # OK
2870 ;;
2871 *)
2872 echo "Unknown cpu used in --with-$which=$val." 1>&2
2873 exit 1
2874 ;;
2875 esac
2876 done
2877
e83e5390 2878 case ${with_mode} in
2879 "" | esa | zarch)
b8c0043c 2880 # OK
2881 ;;
2882 *)
2883 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
2884 exit 1
2885 ;;
2886 esac
2887 ;;
2888
07168dd9 2889 sh[123456ble]-*-* | sh-*-*)
2890 supported_defaults="cpu"
3a6994f8 2891 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
07168dd9 2892 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
2893 # OK
2894 ;;
7105fb72 2895 m2a | m2a-single | m2a-single-only | m2a-nofpu)
2896 ;;
9435e831 2897 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
2898 ;;
07168dd9 2899 *)
2900 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
2901 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
9435e831 2902 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
7105fb72 2903 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
07168dd9 2904 exit 1
2905 ;;
2906 esac
2907 ;;
f0b281fe 2908 sparc*-*-*)
7dd97ab6 2909 supported_defaults="cpu float tune"
2910
2911 for which in cpu tune; do
2912 eval "val=\$with_$which"
e83e5390 2913 case ${val} in
2914 "" | sparc | sparcv9 | sparc64 | sparc86x \
2915 | v7 | cypress | v8 | supersparc | sparclite | f930 \
2916 | f934 | hypersparc | sparclite86x | sparclet | tsc701 \
d6ecc3a3 2917 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2)
7dd97ab6 2918 # OK
2919 ;;
2920 *)
2921 echo "Unknown cpu used in --with-$which=$val" 1>&2
2922 exit 1
2923 ;;
2924 esac
2925 done
3864b642 2926
e83e5390 2927 case ${with_float} in
2928 "" | soft | hard)
f0b281fe 2929 # OK
2930 ;;
2931 *)
7dd97ab6 2932 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
f0b281fe 2933 exit 1
2934 ;;
2935 esac
3864b642 2936 ;;
3864b642 2937
5474166e 2938 spu-*-*)
2939 supported_defaults="arch tune"
2940
2941 for which in arch tune; do
2942 eval "val=\$with_$which"
2943 case ${val} in
2944 "" | cell | celledp)
2945 # OK
2946 ;;
2947 *)
2948 echo "Unknown cpu used in --with-$which=$val." 1>&2
2949 exit 1
2950 ;;
2951 esac
2952 done
2953 ;;
2954
f0b281fe 2955 v850*-*-*)
7dd97ab6 2956 supported_defaults=cpu
e83e5390 2957 case ${with_cpu} in
2958 "" | v850e | v850e1)
f0b281fe 2959 # OK
2960 ;;
2961 *)
2962 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
2963 exit 1
2964 ;;
2965 esac
3864b642 2966 ;;
0a76a4fd 2967esac
3864b642 2968
0a76a4fd 2969# Set some miscellaneous flags for particular targets.
2970target_cpu_default2=
2971case ${target} in
f0b281fe 2972 alpha*-*-*)
f0b281fe 2973 if test x$gas = xyes
2974 then
7dd97ab6 2975 target_cpu_default2="MASK_GAS"
f0b281fe 2976 fi
3864b642 2977 ;;
3864b642 2978
f0b281fe 2979 arm*-*-*)
346bfe2d 2980 if test x$target_cpu_cname = x
2981 then
2982 target_cpu_default2=TARGET_CPU_generic
2983 else
2984 target_cpu_default2=TARGET_CPU_$target_cpu_cname
2985 fi
f0b281fe 2986 ;;
582b17a6 2987
6af9f7ea 2988 hppa*-*-*)
8ab32933 2989 target_cpu_default2="MASK_BIG_SWITCH"
f0b281fe 2990 if test x$gas = xyes
bb607926 2991 then
8ab32933 2992 target_cpu_default2="${target_cpu_default2}|MASK_GAS|MASK_JUMP_IN_DELAY"
f0b281fe 2993 fi
3864b642 2994 ;;
3864b642 2995
6af9f7ea 2996 fido*-*-* | m68k*-*-*)
8aed3cb3 2997 target_cpu_default2=$m68k_cpu_ident
558b196a 2998 if [ x"$m68k_arch_family" != x ]; then
2999 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
3000 fi
8aed3cb3 3001 ;;
3002
b3fd46a0 3003 i[34567]86-*-darwin* | x86_64-*-darwin*)
3004 tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
3005 ;;
3006 i[34567]86-*-linux* | x86_64-*-linux*)
3007 tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux"
3008 ;;
3009
f0b281fe 3010 mips*-*-*)
b93bf04a 3011 if test x$gnu_ld = xyes
3012 then
dfae4483 3013 target_cpu_default2="MASK_SPLIT_ADDRESSES"
b93bf04a 3014 fi
09c6646e 3015 case ${target} in
f0b281fe 3016 mips*el-*-*)
3017 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
3018 ;;
3019 esac
f0b281fe 3020 if test "x$enable_gofast" = xyes
3021 then
f2f543a3 3022 tm_defines="US_SOFTWARE_GOFAST $tm_defines"
f0b281fe 3023 tmake_file="mips/t-gofast $tmake_file"
3024 else
3025 tmake_file="mips/t-mips $tmake_file"
f4deb416 3026 fi
3027 ;;
f0b281fe 3028
3029 powerpc*-*-* | rs6000-*-*)
7dd97ab6 3030 # FIXME: The PowerPC port uses the value set at compile time,
3031 # although it's only cosmetic.
f0b281fe 3032 if test "x$with_cpu" != x
bb607926 3033 then
f0b281fe 3034 target_cpu_default2="\\\"$with_cpu\\\""
bb607926 3035 fi
f0b281fe 3036 out_file=rs6000/rs6000.c
3037 c_target_objs="${c_target_objs} rs6000-c.o"
3038 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
3039 tmake_file="rs6000/t-rs6000 ${tmake_file}"
63f9fa57 3040
3041 if test x$enable_e500_double = xyes
3042 then
3043 tm_file="$tm_file rs6000/e500-double.h"
3044 fi
f4deb416 3045 ;;
3864b642 3046
57d5535b 3047 sh[123456ble]*-*-* | sh-*-*)
3048 c_target_objs="${c_target_objs} sh-c.o"
3049 cxx_target_objs="${cxx_target_objs} sh-c.o"
3050 ;;
3051
f0b281fe 3052 sparc*-*-*)
7dd97ab6 3053 # Some standard aliases.
3054 case x$with_cpu in
3055 xsparc)
3056 with_cpu=v7
3057 ;;
7dd97ab6 3058 xsparcv9 | xsparc64)
3059 with_cpu=v9
3060 ;;
3061 esac
3062
3ce7ff97 3063 # The SPARC port checks this value at compile-time.
3864b642 3064 target_cpu_default2="TARGET_CPU_$with_cpu"
3065 ;;
f0b281fe 3066 v850*-*-*)
7dd97ab6 3067 # FIXME: The v850 is "special" in that it does not support
3068 # runtime CPU selection, only --with-cpu.
f0b281fe 3069 case "x$with_cpu" in
3070 x)
3071 ;;
3072 xv850e)
3073 target_cpu_default2="TARGET_CPU_$with_cpu"
3074 ;;
3075 esac
3076 ;;
0a76a4fd 3077esac
bb607926 3078
0a76a4fd 3079t=
f067c6b7 3080all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu divide llsc"
0a76a4fd 3081for option in $all_defaults
3082do
3083 eval "val=\$with_$option"
3084 if test -n "$val"; then
3085 case " $supported_defaults " in
3086 *" $option "*)
3087 ;;
3088 *)
3089 echo "This target does not support --with-$option." 2>&1
fc3e831e 3090 echo "Valid --with options are: $supported_defaults" 2>&1
0a76a4fd 3091 exit 1
3092 ;;
3093 esac
7dd97ab6 3094
0a76a4fd 3095 if test "x$t" = x
3096 then
3097 t="{ \"$option\", \"$val\" }"
3098 else
3099 t="${t}, { \"$option\", \"$val\" }"
7dd97ab6 3100 fi
7dd97ab6 3101 fi
0a76a4fd 3102done
7dd97ab6 3103
0a76a4fd 3104if test "x$t" = x
3105then
3106 configure_default_options="{ { NULL, NULL} }"
3107else
3108 configure_default_options="{ ${t} }"
3109fi
3110
3111if test "$target_cpu_default2" != ""
3112then
3113 if test "$target_cpu_default" != ""
bb607926 3114 then
0a76a4fd 3115 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
3116 else
3117 target_cpu_default=$target_cpu_default2
bb607926 3118 fi
0a76a4fd 3119fi