1 # GCC target-specific configuration file.
2 # Copyright (C) 1997-2016 Free Software Foundation, Inc.
4 #This file is part of GCC.
6 #GCC is free software; you can redistribute it and/or modify it under
7 #the terms of the GNU General Public License as published by the Free
8 #Software Foundation; either version 3, or (at your option) any later
11 #GCC is distributed in the hope that it will be useful, but WITHOUT
12 #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 #FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 #You should have received a copy of the GNU General Public License
17 #along with GCC; see the file COPYING3. If not see
18 #<http://www.gnu.org/licenses/>.
20 # This is the GCC target-specific configuration file
21 # where a configuration type is mapped to different system-specific
22 # definitions and files. This is invoked by the autoconf-generated
23 # configure script. Putting it in a separate shell file lets us skip
24 # running autoconf when modifying target-specific information.
26 # When you change the cases in the OS or target switches, consider
27 # updating ../libgcc/config.host also.
29 # This file switches on the shell variable ${target}, and also uses the
30 # following shell variables:
32 # with_* Various variables as set by configure.
34 # enable_threads Either the name, yes or no depending on whether
35 # threads support was requested.
37 # default_use_cxa_atexit
38 # The default value for the $enable___cxa_atexit
39 # variable. enable___cxa_atexit needs to be set to
40 # "yes" for the correct operation of C++ destructors
41 # but it relies upon the presence of a non-standard C
42 # library function called __cxa_atexit.
43 # Since not all C libraries provide __cxa_atexit the
44 # default value of $default_use_cxa_atexit is set to
45 # "no" except for targets which are known to be OK.
47 # default_gnu_indirect_function
48 # The default value for the $enable_gnu_indirect_function
49 # variable. enable_gnu_indirect_function relies
50 # upon the presence of a non-standard gnu ifunc support
51 # in the assembler, linker and dynamic linker.
52 # Since not all libraries provide the dynamic linking
53 # support, the default value of
54 # $default_gnu_indirect_function is set to
55 # "no" except for targets which are known to be OK.
57 # gas_flag Either yes or no depending on whether GNU as was
60 # gnu_ld_flag Either yes or no depending on whether GNU ld was
63 # This file sets the following shell variables for use by the
64 # autoconf-generated configure script:
66 # cpu_type The name of the cpu, if different from the first
67 # chunk of the canonical target name.
69 # tm_defines List of target macros to define for all compilations.
71 # tm_file A list of target macro files, if different from
72 # "$cpu_type/$cpu_type.h". Usually it's constructed
73 # per target in a way like this:
74 # tm_file="${tm_file} dbxelf.h elfos.h ${cpu_type.h}/elf.h"
75 # Note that the preferred order is:
76 # - specific target header "${cpu_type}/${cpu_type.h}"
77 # - generic headers like dbxelf.h elfos.h, etc.
78 # - specializing target headers like ${cpu_type.h}/elf.h
79 # This helps to keep OS specific stuff out of the CPU
80 # defining header ${cpu_type}/${cpu_type.h}.
82 # It is possible to include automatically-generated
83 # build-directory files by prefixing them with "./".
84 # All other files should relative to $srcdir/config.
86 # tm_p_file Location of file with declarations for functions
89 # out_file The name of the machine description C support
90 # file, if different from "$cpu_type/$cpu_type.c".
92 # common_out_file The name of the source file for code shared between
93 # the compiler proper and the driver.
95 # md_file The name of the machine-description file, if
96 # different from "$cpu_type/$cpu_type.md".
98 # tmake_file A list of machine-description-specific
99 # makefile-fragments, if different from
100 # "$cpu_type/t-$cpu_type".
102 # extra_modes The name of the file containing a list of extra
103 # machine modes, if necessary and different from
104 # "$cpu_type/$cpu_type-modes.def".
106 # extra_objs List of extra objects that should be linked into
107 # the compiler proper (cc1, cc1obj, cc1plus)
108 # depending on target.
110 # extra_gcc_objs List of extra objects that should be linked into
111 # the compiler driver (gcc) depending on target.
113 # extra_headers List of used header files from the directory
114 # config/${cpu_type}.
116 # user_headers_inc_next_pre
117 # List of header file names of internal gcc header
118 # files, which should be prefixed by an include_next.
119 # user_headers_inc_next_post
120 # List of header file names of internal gcc header
121 # files, which should be postfixed by an include_next.
122 # use_gcc_tgmath If set, add tgmath.h to the list of used header
125 # use_gcc_stdint If "wrap", install a version of stdint.h that
126 # wraps the system's copy for hosted compilations;
127 # if "provide", provide a version of systems without
128 # such a system header; otherwise "none", do not
129 # provide such a header at all.
131 # extra_programs List of extra executables compiled for this target
132 # machine, used when linking.
134 # extra_options List of target-dependent .opt files.
136 # c_target_objs List of extra target-dependent objects that be
137 # linked into the C compiler only.
139 # cxx_target_objs List of extra target-dependent objects that be
140 # linked into the C++ compiler only.
142 # fortran_target_objs List of extra target-dependent objects that be
143 # linked into the fortran compiler only.
145 # target_gtfiles List of extra source files with type information.
147 # xm_defines List of macros to define when compiling for the
150 # xm_file List of files to include when compiling for the
153 # use_collect2 Set to yes or no, depending on whether collect2
156 # target_cpu_default Set to override the default target model.
158 # gdb_needs_out_file_path
159 # Set to yes if gdb needs a dir command with
160 # `dirname $out_file`.
162 # thread_file Set to control which thread package to use.
164 # gas Set to yes or no depending on whether the target
165 # system normally uses GNU as.
167 # configure_default_options
168 # Set to an initializer for configure_default_options
169 # in configargs.h, based on --with-cpu et cetera.
171 # native_system_header_dir
172 # Where system header files are found for this
173 # target. This defaults to /usr/include. If
174 # the --with-sysroot configure option or the
175 # --sysroot command line option is used this
176 # will be relative to the sysroot.
177 # target_type_format_char
178 # The default character to be used for formatting
180 # .type symbol_name, ${t_t_f_c}<property>
183 # The following variables are used in each case-construct to build up the
184 # outgoing variables:
186 # gnu_ld Set to yes or no depending on whether the target
187 # system normally uses GNU ld.
189 # target_has_targetcm Set to yes or no depending on whether the target
190 # has its own definition of targetcm.
192 # target_has_targetm_common Set to yes or no depending on whether the
193 # target has its own definition of targetm_common.
199 user_headers_inc_next_pre=
200 user_headers_inc_next_post=
210 target_has_targetcm=no
211 target_has_targetm_common=yes
214 # Set this to force installation and use of collect2.
216 # Set this to override the default target model.
218 # Set this if gdb needs a dir command with `dirname $out_file`
219 gdb_needs_out_file_path=
220 # Set this to control which thread package will be used.
222 # Reinitialize these from the flag values every loop pass, since some
223 # configure entries modify them.
225 gnu_ld="$gnu_ld_flag"
226 default_use_cxa_atexit=no
227 default_gnu_indirect_function=no
230 native_system_header_dir=/usr/include
231 target_type_format_char='@'
233 # Don't carry these over build->host->target. Please.
237 # Obsolete configurations.
241 if test "x$enable_obsolete" != xyes; then
242 echo "*** Configuration ${target} is obsolete." >&2
243 echo "*** Specify --enable-obsolete to build it anyway." >&2
244 echo "*** Support will be REMOVED in the next major release of GCC," >&2
245 echo "*** unless a maintainer comes forward." >&2
250 # Unsupported targets list. Do not put an entry in this list unless
251 # it would otherwise be caught by a more permissive pattern. The list
252 # should be in alphabetical order.
254 # Avoid special cases that are not obsolete
263 | i[34567]86-go32-* \
264 | i[34567]86-*-go32* \
265 | m68k-*-uclinuxoldabi* \
266 | mips64orion*-*-rtems* \
268 | sparc-hal-solaris2* \
270 | *-*-freebsd[12] | *-*-freebsd[12].* \
271 | *-*-freebsd*aout* \
279 | *-*-solaris2.[0-9] \
280 | *-*-solaris2.[0-9].* \
284 echo "*** Configuration ${target} not supported" 1>&2
289 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
290 # updated in each machine entry. Also set default extra_headers for some
293 cpu_type=`echo ${target} | sed 's/-.*$//'`
298 tmake_file=m32c/t-m32c
299 target_has_targetm_common=no
303 extra_headers="arm_fp16.h arm_neon.h arm_acle.h"
304 c_target_objs="aarch64-c.o"
305 cxx_target_objs="aarch64-c.o"
306 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o"
307 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
308 target_has_targetm_common=yes
312 extra_options="${extra_options} g.opt"
319 c_target_objs="arc-c.o"
320 cxx_target_objs="arc-c.o"
321 extra_options="${extra_options} arc/arc-tables.opt"
325 extra_objs="arm-builtins.o aarch-common.o"
326 extra_headers="mmintrin.h arm_neon.h arm_acle.h arm_fp16.h"
327 target_type_format_char='%'
328 c_target_objs="arm-c.o"
329 cxx_target_objs="arm-c.o"
330 extra_options="${extra_options} arm/arm-tables.opt"
331 target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
335 c_target_objs="avr-c.o"
336 cxx_target_objs="avr-c.o"
345 extra_options="${extra_options} g.opt"
348 target_has_targetm_common=no
350 moxie*) cpu_type=moxie
351 target_has_targetm_common=no
355 extra_headers=math-68881.h
356 extra_options="${extra_options} m68k/m68k-tables.opt"
360 c_target_objs="i386-c.o"
361 cxx_target_objs="i386-c.o"
362 extra_options="${extra_options} fused-madd.opt"
363 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
364 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
365 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
366 immintrin.h x86intrin.h avxintrin.h xopintrin.h
367 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
368 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
369 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
370 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
371 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
372 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
373 shaintrin.h clflushoptintrin.h xsavecintrin.h
374 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
375 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
376 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
377 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
378 clwbintrin.h mwaitxintrin.h clzerointrin.h pkuintrin.h"
382 c_target_objs="i386-c.o"
383 cxx_target_objs="i386-c.o"
384 extra_options="${extra_options} fused-madd.opt"
385 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
386 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
387 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
388 immintrin.h x86intrin.h avxintrin.h xopintrin.h
389 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
390 lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h
391 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
392 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
393 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
394 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
395 shaintrin.h clflushoptintrin.h xsavecintrin.h
396 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
397 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
398 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
399 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
400 clwbintrin.h mwaitxintrin.h clzerointrin.h pkuintrin.h"
403 extra_headers=ia64intrin.h
404 extra_options="${extra_options} g.opt fused-madd.opt"
410 extra_options="${extra_options} g.opt"
414 extra_options="${extra_options} g.opt"
417 extra_headers=math-68881.h
418 extra_options="${extra_options} m68k/m68k-tables.opt"
422 extra_options="${extra_options} g.opt"
426 extra_headers="loongson.h msa.h"
427 extra_objs="frame-header-opt.o"
428 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt"
432 extra_headers="nds32_intrinsic.h"
433 extra_objs="nds32-cost.o nds32-intrinsic.o nds32-isr.o nds32-md-auxiliary.o nds32-pipelines-auxiliary.o nds32-predicates.o nds32-memory-manipulation.o nds32-fp-as-gp.o"
437 extra_options="${extra_options} g.opt"
444 extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
446 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
450 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
453 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
457 c_target_objs="sparc-c.o"
458 cxx_target_objs="sparc-c.o"
459 extra_headers="visintrin.h"
466 extra_options="${extra_options} fused-madd.opt"
467 extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
469 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
470 sh[123456789lbe]*-*-* | sh-*-*)
472 extra_options="${extra_options} fused-madd.opt"
473 extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
480 extra_headers="c6x_intrinsics.h"
481 extra_options="${extra_options} c6x/c6x-tables.opt"
484 extra_options="${extra_options} fused-madd.opt"
494 tm_file=${cpu_type}/${cpu_type}.h
495 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
497 tm_p_file=${cpu_type}/${cpu_type}-protos.h
500 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
502 extra_modes=${cpu_type}/${cpu_type}-modes.def
504 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
506 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
511 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
514 if test "x$with_multilib_list" = xilp32; then
515 tm_file="aarch64/biarchilp32.h ${tm_file}"
517 tm_file="aarch64/biarchlp64.h ${tm_file}"
521 tm_file="aarch64/biarchilp32.h ${tm_file}"
524 tm_file="aarch64/biarchlp64.h ${tm_file}"
527 echo "Unknown ABI used in --with-abi=$with_abi"
532 if test "x$with_abi" != x; then
533 echo "This target does not support --with-abi."
536 if test "x$enable_cld" = xyes; then
537 tm_defines="${tm_defines} USE_IX86_CLD=1"
539 if test "x$enable_frame_pointer" = xyes; then
540 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
542 tm_file="vxworks-dummy.h ${tm_file}"
547 if test "x$with_multilib_list" = xmx32; then
548 tm_file="i386/biarchx32.h ${tm_file}"
550 tm_file="i386/biarch64.h ${tm_file}"
554 tm_file="i386/biarch64.h ${tm_file}"
557 tm_file="i386/biarchx32.h ${tm_file}"
560 echo "Unknown ABI used in --with-abi=$with_abi"
563 if test "x$enable_cld" = xyes; then
564 tm_defines="${tm_defines} USE_IX86_CLD=1"
566 if test "x$enable_frame_pointer" = xyes; then
567 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
569 tm_file="vxworks-dummy.h ${tm_file}"
572 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
573 tm_file="vxworks-dummy.h ${tm_file}"
575 mips*-*-* | sh*-*-* | sparc*-*-*)
576 tm_file="vxworks-dummy.h ${tm_file}"
580 # On a.out targets, we need to use collect2.
587 # Common C libraries.
588 tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
590 # 32-bit x86 processors supported by --with-arch=. Each processor
591 # MUST be separated by exactly one space.
592 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
593 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
594 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
595 pentium4 pentium4m pentiumpro prescott lakemont"
597 # 64-bit x86 processors supported by --with-arch=. Each processor
598 # MUST be separated by exactly one space.
599 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
600 bdver3 bdver4 znver1 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \
601 core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \
602 sandybridge ivybridge haswell broadwell bonnell silvermont knl \
603 skylake-avx512 x86-64 native"
605 # Additional x86 processors supported by --with-cpu=. Each processor
606 # MUST be separated by exactly one space.
607 x86_cpus="generic intel"
609 # Common parts for widely ported systems.
612 tmake_file="t-darwin ${cpu_type}/t-darwin"
613 tm_file="${tm_file} darwin.h"
616 tm_file="${tm_file} darwin9.h"
619 tm_file="${tm_file} darwin9.h darwin10.h"
621 *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
622 tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
625 tm_file="${tm_file} ${cpu_type}/darwin.h"
626 tm_p_file="${tm_p_file} darwin-protos.h"
627 target_gtfiles="\$(srcdir)/config/darwin.c"
628 extra_options="${extra_options} darwin.opt"
629 c_target_objs="${c_target_objs} darwin-c.o"
630 cxx_target_objs="${cxx_target_objs} darwin-c.o"
631 fortran_target_objs="darwin-f.o"
632 target_has_targetcm=yes
633 extra_objs="darwin.o"
634 extra_gcc_objs="darwin-driver.o"
635 default_use_cxa_atexit=yes
637 case ${enable_threads} in
638 "" | yes | posix) thread_file='posix' ;;
644 tmake_file="t-slibgcc"
645 case ${enable_threads} in
650 # Let these non-posix thread selections fall through if requested
653 echo 'Unknown thread configuration for DragonFly BSD'
657 extra_options="$extra_options rpath.opt dragonfly.opt"
658 default_use_cxa_atexit=yes
662 # This is the generic ELF configuration of FreeBSD. Later
663 # machine-specific sections may refine and add to this
666 # Due to tm_file entry ordering issues that vary between cpu
667 # architectures, we only define fbsd_tm_file to allow the
668 # machine-specific section to dictate the final order of all
669 # entries of tm_file with the minor exception that components
670 # of the tm_file set here will always be of the form:
672 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
674 # The machine-specific section should not tamper with this
675 # ordering but may order all other entries of tm_file as it
676 # pleases around the provided core setting.
679 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
680 if test "$fbsd_major" = ""; then
681 echo "Specify the major version number of the targeted FreeBSD release"
682 echo "like this: --target=amd64-unknown-freebsd10.1"
685 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
686 tmake_file="t-slibgcc"
687 case ${enable_threads} in
689 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
695 echo 'Unknown thread configuration for FreeBSD'
699 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
700 extra_options="$extra_options rpath.opt freebsd.opt"
705 default_use_cxa_atexit=yes;;
709 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
710 extra_options="$extra_options gnu-user.opt"
713 case ${enable_threads} in
714 "" | yes | posix) thread_file='posix' ;;
716 tmake_file="t-slibgcc"
718 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu)
721 native_system_header_dir=/include
724 # Linux C libraries selection switch: glibc / uclibc / bionic.
725 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
728 tm_p_file="${tm_p_file} linux-protos.h"
729 tmake_file="${tmake_file} t-linux"
730 extra_objs="${extra_objs} linux.o"
731 extra_options="${extra_options} linux.opt"
736 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
739 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
742 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
745 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
748 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
750 default_use_cxa_atexit=yes
753 # Enable compilation for Android by default for *android* targets.
756 tm_defines="$tm_defines ANDROID_DEFAULT=1"
759 tm_defines="$tm_defines ANDROID_DEFAULT=0"
762 c_target_objs="${c_target_objs} glibc-c.o"
763 cxx_target_objs="${cxx_target_objs} glibc-c.o"
764 tmake_file="${tmake_file} t-glibc"
765 target_has_targetcm=yes
768 tmake_file="t-slibgcc"
772 # NetBSD 2.0 and later get POSIX threads enabled by default.
773 # Allow them to be explicitly enabled on any other version.
774 case ${enable_threads} in
777 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
779 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
785 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
789 # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
790 # default (unless overridden by --disable-__cxa_atexit).
792 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
793 default_use_cxa_atexit=yes
798 tmake_file="t-openbsd"
799 case ${enable_threads} in
805 *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
806 default_use_cxa_atexit=yes
813 default_use_cxa_atexit=yes
816 case ${enable_threads} in
817 "" | yes | rtems) thread_file='rtems' ;;
818 posix) thread_file='posix' ;;
821 echo 'Unknown thread configuration for RTEMS'
825 tmake_file="${tmake_file} t-rtems"
826 extra_options="${extra_options} rtems.opt"
827 default_use_cxa_atexit=yes
831 extra_options="$extra_options gnu-user.opt"
833 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
839 # i?86-*-solaris2* needs to insert headers between cpu default and
840 # Solaris 2 specific ones.
841 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
842 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
843 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
845 *-*-solaris2.1[2-9]*)
846 # __cxa_atexit was introduced in Solaris 12.
847 default_use_cxa_atexit=yes
851 if test x$gnu_ld = xyes; then
852 tm_file="usegld.h ${tm_file}"
854 if test x$gas = xyes; then
855 tm_file="usegas.h ${tm_file}"
857 tm_p_file="${tm_p_file} sol2-protos.h"
858 tmake_file="${tmake_file} t-sol2 t-slibgcc"
859 c_target_objs="${c_target_objs} sol2-c.o"
860 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
861 extra_objs="sol2.o sol2-stubs.o"
862 extra_options="${extra_options} sol2.opt"
863 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
864 "":yes:* | yes:yes:* )
870 extra_options="${extra_options} vms/vms.opt"
872 tmake_file="vms/t-vms t-slibgcc"
874 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
875 tm_p_file="${tm_p_file} vms/vms-protos.h"
876 xm_file="vms/xm-vms.h"
877 c_target_objs="vms-c.o"
878 cxx_target_objs="vms-c.o"
879 fortran_target_objs="vms-f.o"
880 use_gcc_stdint=provide
881 tm_file="${tm_file} vms/vms-stdint.h"
882 if test x$gnu_ld != xyes; then
883 # Build wrappers for native case.
884 extra_programs="ld\$(exeext) ar\$(exeext)"
885 tmake_file="$tmake_file vms/t-vmsnative"
891 extra_options="${extra_options} vxworks.opt"
892 extra_objs="$extra_objs vxworks.o"
893 case ${enable_threads} in
895 "" | yes | vxworks) thread_file='vxworks' ;;
896 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
900 # Assume that newlib is being used and so __cxa_atexit is provided.
901 default_use_cxa_atexit=yes
907 aarch64*-*-elf | aarch64*-*-rtems*)
908 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
909 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
910 tmake_file="${tmake_file} aarch64/t-aarch64"
916 tm_file="${tm_file} rtems.h aarch64/rtems.h"
921 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
924 aarch64_multilibs="${with_multilib_list}"
925 if test "$aarch64_multilibs" = "default"; then
926 aarch64_multilibs="lp64,ilp32"
928 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
929 for aarch64_multilib in ${aarch64_multilibs}; do
930 case ${aarch64_multilib} in
932 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
935 echo "--with-multilib-list=${aarch64_multilib} not supported."
939 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
942 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file}"
943 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-freebsd.h"
944 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd"
947 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
948 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
949 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
952 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
955 aarch64_multilibs="${with_multilib_list}"
956 if test "$aarch64_multilibs" = "default"; then
957 # TODO: turn on ILP32 multilib build after its support is mature.
958 # aarch64_multilibs="lp64,ilp32"
959 aarch64_multilibs="lp64"
961 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
962 for aarch64_multilib in ${aarch64_multilibs}; do
963 case ${aarch64_multilib} in
965 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
968 echo "--with-multilib-list=${aarch64_multilib} not supported."
972 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
975 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
976 tmake_file="${tmake_file} alpha/t-linux alpha/t-alpha"
977 extra_options="${extra_options} alpha/elf.opt"
980 tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
981 tmake_file="${tmake_file} alpha/t-alpha"
982 extra_options="${extra_options} alpha/elf.opt"
985 tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
986 tmake_file="${tmake_file} alpha/t-alpha"
987 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
991 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
992 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
993 tmake_file="${tmake_file} alpha/t-alpha"
994 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
995 # default x-alpha is only appropriate for dec-osf.
998 tm_file="${tm_file} vms/vms.h alpha/vms.h"
999 tmake_file="${tmake_file} alpha/t-vms alpha/t-alpha"
1002 extra_headers="arc-simd.h"
1003 tm_file="arc/arc-arch.h dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1004 tmake_file="arc/t-multilib arc/t-arc"
1005 extra_gcc_objs="driver-arc.o"
1006 if test "x$with_cpu" != x; then
1007 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
1009 if test x${with_endian} = x; then
1011 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1012 *) with_endian=little ;;
1015 case ${with_endian} in
1017 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1019 case ${with_endian} in
1020 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1023 arc*-*-linux-uclibc*)
1024 extra_headers="arc-simd.h"
1025 tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}"
1026 tmake_file="${tmake_file} arc/t-uClibc arc/t-arc"
1027 tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0"
1028 tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1"
1029 extra_gcc_objs="driver-arc.o"
1030 if test "x$with_cpu" != x; then
1031 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
1033 if test x${with_endian} = x; then
1035 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1036 *) with_endian=little ;;
1039 case ${with_endian} in
1041 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1043 case ${with_endian} in
1044 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1048 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1049 extra_options="${extra_options} arm/vxworks.opt"
1050 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1051 target_cpu_cname="arm6"
1053 arm*-*-freebsd*) # ARM FreeBSD EABI
1054 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1057 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1060 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1061 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1064 target_cpu_cname="arm1176jzfs"
1065 tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
1066 if test $fbsd_major -ge 11; then
1067 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1071 target_cpu_cname="arm9"
1074 with_tls=${with_tls:-gnu}
1077 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1078 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1079 tmake_file="${tmake_file} arm/t-arm"
1080 target_cpu_cname="arm6"
1082 arm*-*-linux-*) # ARM GNU/Linux with ELF
1083 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
1084 extra_options="${extra_options} linux-android.opt"
1087 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1090 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1091 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1092 target_cpu_cname="arm10tdmi"
1093 # Define multilib configuration for arm-linux-androideabi.
1096 tmake_file="$tmake_file arm/t-linux-androideabi"
1099 # The EABI requires the use of __cxa_atexit.
1100 default_use_cxa_atexit=yes
1101 with_tls=${with_tls:-gnu}
1103 arm*-*-uclinux*eabi*) # ARM ucLinux
1104 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1105 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1106 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1107 target_cpu_cname="arm7tdmi"
1108 # The EABI requires the use of __cxa_atexit.
1109 default_use_cxa_atexit=yes
1112 tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1113 tm_file="${tm_file} newlib-stdint.h phoenix.h"
1114 tm_file="${tm_file} arm/aout.h arm/arm.h"
1115 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix"
1116 target_cpu_cname="arm7tdmi"
1118 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
1121 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1123 default_use_cxa_atexit=yes
1124 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1125 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1126 target_cpu_cname="arm7tdmi"
1129 tm_file="$tm_file newlib-stdint.h"
1130 tmake_file="${tmake_file} arm/t-bpabi"
1134 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1135 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1138 tm_file="${tm_file} arm/symbian.h"
1139 # We do not include t-bpabi for Symbian OS because the system
1140 # provides its own implementation of the BPABI functions.
1141 tmake_file="${tmake_file} arm/t-symbian"
1142 target_cpu_cname="arm10tdmi"
1145 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
1148 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1149 if test x${with_avrlibc} != xno; then
1150 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1151 tm_defines="${tm_defines} WITH_AVRLIBC"
1153 tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1155 extra_gcc_objs="driver-avr.o avr-devices.o"
1156 extra_objs="avr-devices.o avr-log.o"
1159 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1160 tmake_file=bfin/t-bfin-elf
1164 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1165 tmake_file=bfin/t-bfin-uclinux
1168 bfin*-linux-uclibc*)
1169 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/linux.h ./linux-sysroot-suffix.h"
1170 tmake_file="${tmake_file} bfin/t-bfin-linux"
1174 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1175 tmake_file="${tmake_file} bfin/t-rtems"
1178 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1183 tm_file="elfos.h ${tm_file} newlib-stdint.h"
1184 tmake_file="${tmake_file} cr16/t-cr16 "
1187 crisv32-*-elf | crisv32-*-none)
1188 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1189 tmake_file="cris/t-cris"
1190 target_cpu_default=32
1192 extra_options="${extra_options} cris/elf.opt"
1195 cris-*-elf | cris-*-none)
1196 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1197 tmake_file="cris/t-cris cris/t-elfmulti"
1199 extra_options="${extra_options} cris/elf.opt"
1202 crisv32-*-linux* | cris-*-linux*)
1203 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1204 tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1205 extra_options="${extra_options} cris/linux.opt"
1208 target_cpu_default=10
1211 target_cpu_default=32
1216 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1217 tmake_file="epiphany/t-epiphany"
1218 extra_options="${extra_options} fused-madd.opt"
1219 extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
1220 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1221 extra_headers="epiphany_intrinsics.h"
1224 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1227 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1228 tmake_file=frv/t-frv
1231 tm_file="dbxelf.h elfos.h ${tm_file} \
1232 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1233 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1238 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1239 tmake_file="${tmake_file} ft32/t-ft32"
1244 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1245 tmake_file="${tmake_file} moxie/t-moxie"
1250 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1251 tmake_file="${tmake_file} moxie/t-moxie"
1254 tmake_file="${tmake_file} moxie/t-moxie"
1255 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1260 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1261 tmake_file="${tmake_file} moxie/t-moxiebox"
1264 tmake_file="h8300/t-h8300"
1265 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1268 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1269 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1272 target_cpu_default="MASK_PA_11|MASK_PA_20"
1273 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1274 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1279 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
1280 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1281 pa/pa32-regs.h pa/pa32-linux.h"
1282 tmake_file="${tmake_file} pa/t-linux"
1285 target_cpu_default="MASK_PA_11"
1286 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1287 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1288 extra_options="${extra_options} openbsd.opt"
1292 hppa[12]*-*-hpux10*)
1294 hppa1.1-*-* | hppa2*-*-*)
1295 target_cpu_default="MASK_PA_11"
1298 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1299 pa/pa-hpux.h pa/pa-hpux10.h"
1300 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1303 tm_file="${tm_file} pa/pa-hpux1010.h"
1304 extra_options="${extra_options} pa/pa-hpux1010.opt"
1307 use_gcc_stdint=provide
1308 tm_file="${tm_file} hpux-stdint.h"
1309 tmake_file="t-slibgcc"
1310 case ${enable_threads} in
1312 if test x$have_pthread_h = xyes ; then
1313 tmake_file="${tmake_file} pa/t-dce-thr"
1317 tmake_file="${tmake_file} pa/t-dce-thr"
1322 if test "x$with_dwarf2" != x; then
1323 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1328 target_cpu_default="MASK_PA_11|MASK_PA_20"
1329 if test x$gnu_ld = xyes
1331 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1333 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1334 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1338 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1339 extra_options="${extra_options} pa/pa-hpux1111.opt"
1342 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1343 extra_options="${extra_options} pa/pa-hpux1131.opt"
1346 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1349 extra_options="${extra_options} pa/pa-hpux.opt \
1350 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1351 tmake_file="t-slibgcc"
1352 case x${enable_threads} in
1360 use_gcc_stdint=provide
1361 tm_file="${tm_file} hpux-stdint.h"
1365 tm_file="${tm_file} hpux-stdint.h"
1369 hppa[12]*-*-hpux11*)
1371 hppa1.1-*-* | hppa2*-*-*)
1372 target_cpu_default="MASK_PA_11"
1375 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1376 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1377 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1381 tm_file="${tm_file} pa/pa-hpux1111.h"
1382 extra_options="${extra_options} pa/pa-hpux1111.opt"
1385 tm_file="${tm_file} pa/pa-hpux1131.h"
1386 extra_options="${extra_options} pa/pa-hpux1131.opt"
1389 tmake_file="t-slibgcc"
1390 case x${enable_threads} in
1399 use_gcc_stdint=provide
1400 tm_file="${tm_file} hpux-stdint.h"
1404 tm_file="${tm_file} hpux-stdint.h"
1407 if test "x$with_dwarf2" != x; then
1408 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1412 i[34567]86-*-darwin*)
1414 # Baseline choice for a machine that allows m64 support.
1415 with_cpu=${with_cpu:-core2}
1416 tmake_file="${tmake_file} t-slibgcc"
1419 with_cpu=${with_cpu:-core2}
1420 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1421 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1423 i[34567]86-*-elfiamcu)
1424 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
1427 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1430 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1433 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/rtems-64.h"
1436 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1439 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/rdos.h i386/rdos64.h"
1440 tmake_file="i386/t-i386elf t-svr4"
1442 i[34567]86-*-dragonfly*)
1443 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1444 tmake_file="${tmake_file} i386/t-crtstuff"
1446 x86_64-*-dragonfly*)
1447 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/x86-64.h i386/dragonfly.h"
1448 tmake_file="${tmake_file} i386/t-crtstuff"
1450 i[34567]86-*-freebsd*)
1451 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1454 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"
1456 i[34567]86-*-netbsdelf*)
1457 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-stdint.h netbsd-elf.h i386/netbsd-elf.h"
1458 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1461 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-stdint.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
1462 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1464 i[34567]86-*-openbsd*)
1465 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1466 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1467 extra_options="${extra_options} openbsd.opt"
1472 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1473 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1474 extra_options="${extra_options} openbsd.opt"
1478 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1479 # Intel 80386's running GNU/*
1480 # with ELF format using glibc 2
1481 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1483 i[34567]86-*-linux*)
1484 tm_file="${tm_file} linux.h linux-android.h"
1485 extra_options="${extra_options} linux-android.opt"
1486 # Assume modern glibc if not targeting Android nor uclibc.
1488 *-*-*android*|*-*-*uclibc*|*-*-*musl*)
1491 default_gnu_indirect_function=yes
1494 if test x$enable_targets = xall; then
1495 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1496 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1497 tmake_file="${tmake_file} i386/t-linux64"
1498 x86_multilibs="${with_multilib_list}"
1499 if test "$x86_multilibs" = "default"; then
1500 x86_multilibs="m64,m32"
1502 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1503 for x86_multilib in ${x86_multilibs}; do
1504 case ${x86_multilib} in
1506 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1509 echo "--with-multilib-list=${x86_with_multilib} not supported."
1513 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1515 if test x$with_cpu = x; then
1516 if test x$with_cpu_64 = x; then
1520 case " $x86_cpus $x86_archs $x86_64_archs " in
1524 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1525 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1531 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1534 i[34567]86-*-kfreebsd*-gnu)
1535 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1537 i[34567]86-*-kopensolaris*-gnu)
1538 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1541 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1545 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
1546 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1547 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1550 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1551 extra_options="${extra_options} linux-android.opt"
1552 # Assume modern glibc if not targeting Android nor uclibc.
1554 *-*-*android*|*-*-*uclibc*|*-*-*musl*)
1557 default_gnu_indirect_function=yes
1561 x86_64-*-kfreebsd*-gnu)
1562 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1565 tmake_file="${tmake_file} i386/t-linux64"
1566 x86_multilibs="${with_multilib_list}"
1567 if test "$x86_multilibs" = "default"; then
1570 x86_multilibs="mx32"
1573 x86_multilibs="m64,m32"
1577 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1578 for x86_multilib in ${x86_multilibs}; do
1579 case ${x86_multilib} in
1581 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1584 echo "--with-multilib-list=${x86_with_multilib} not supported."
1588 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1590 i[34567]86-pc-msdosdjgpp*)
1591 xm_file=i386/xm-djgpp.h
1592 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1593 native_system_header_dir=/dev/env/DJDIR/include
1594 extra_options="${extra_options} i386/djgpp.opt"
1599 i[34567]86-*-lynxos*)
1601 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1602 tmake_file="${tmake_file} t-lynx"
1603 extra_options="${extra_options} lynx.opt"
1608 i[34567]86-*-nto-qnx*)
1609 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1610 extra_options="${extra_options} i386/nto.opt"
1614 i[34567]86-*-rtems*)
1615 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h newlib-stdint.h"
1616 tmake_file="${tmake_file} i386/t-rtems"
1618 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1619 # Set default arch_32 to pentium4, tune_32 to generic like the other
1620 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1621 with_arch_32=${with_arch_32:-pentium4}
1622 with_tune_32=${with_tune_32:-generic}
1623 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1624 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1625 tmake_file="$tmake_file i386/t-sol2"
1627 if test x$with_cpu = x; then
1628 if test x$with_cpu_64 = x; then
1632 case " $x86_cpus $x86_archs $x86_64_archs " in
1636 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1637 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1643 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
1644 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
1647 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1648 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1651 tm_file="${tm_file} vxworks.h i386/vxworks.h"
1652 tmake_file="${tmake_file} i386/t-vxworks"
1656 i[34567]86-*-cygwin*)
1657 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
1658 xm_file=i386/xm-cygwin.h
1659 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1660 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1661 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1662 extra_objs="winnt.o winnt-stubs.o"
1663 c_target_objs="${c_target_objs} msformat-c.o"
1664 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1665 if test x$enable_threads = xyes; then
1668 default_use_cxa_atexit=yes
1673 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
1674 xm_file=i386/xm-cygwin.h
1675 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1676 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1677 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1678 extra_objs="winnt.o winnt-stubs.o"
1679 c_target_objs="${c_target_objs} msformat-c.o"
1680 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1681 if test x$enable_threads = xyes; then
1684 default_use_cxa_atexit=yes
1686 tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1688 i[34567]86-*-mingw* | x86_64-*-mingw*)
1689 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1690 xm_file=i386/xm-mingw32.h
1691 c_target_objs="${c_target_objs} winnt-c.o"
1692 cxx_target_objs="${cxx_target_objs} winnt-c.o"
1693 target_has_targetcm="yes"
1695 x86_64-*-* | *-w64-*)
1701 if test x$enable_threads = xposix ; then
1702 tm_file="${tm_file} i386/mingw-pthread.h"
1704 tm_file="${tm_file} i386/mingw32.h"
1705 # This makes the logic if mingw's or the w64 feature set has to be used
1708 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1709 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1710 tm_file="${tm_file} i386/mingw-w64.h"
1711 if test x$enable_targets = xall; then
1712 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1713 if test x$with_cpu = x; then
1714 if test x$with_cpu_64 = x; then
1718 case " $x86_cpus $x86_archs $x86_64_archs " in
1722 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1723 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1733 tm_file="${tm_file} i386/mingw-stdint.h"
1734 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1737 tmake_file="${tmake_file} i386/t-mingw-w64"
1740 tmake_file="${tmake_file} i386/t-mingw-w32"
1743 native_system_header_dir=/mingw/include
1744 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1745 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1748 extra_options="${extra_options} i386/mingw-w64.opt"
1753 extra_objs="winnt.o winnt-stubs.o"
1754 c_target_objs="${c_target_objs} msformat-c.o"
1755 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1758 default_use_cxa_atexit=yes
1760 case ${enable_threads} in
1770 tm_file="${tm_file} i386/crtdll.h"
1772 *mingw32msv* | *mingw*)
1777 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1778 tmake_file="ia64/t-ia64"
1779 target_cpu_default="0"
1780 if test x$gas = xyes
1782 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1784 if test x$gnu_ld = xyes
1786 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1790 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1791 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1792 tmake_file="${tmake_file} ia64/t-ia64"
1795 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1796 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1797 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1800 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1801 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1802 target_cpu_default="MASK_GNU_AS"
1803 case x$enable_threads in
1809 c_target_objs="ia64-c.o"
1810 cxx_target_objs="ia64-c.o"
1811 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
1813 tm_file="${tm_file} hpux-stdint.h"
1816 tm_file="${tm_file} ia64/hpux-unix2003.h"
1821 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1822 tmake_file="${tmake_file} ia64/t-ia64"
1823 target_cpu_default="0"
1824 if test x$gas = xyes
1826 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1828 extra_options="${extra_options} ia64/vms.opt"
1831 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
1832 out_file=iq2000/iq2000.c
1833 md_file=iq2000/iq2000.md
1836 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
1837 tmake_file="${tmake_file} lm32/t-lm32"
1840 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
1841 tmake_file="${tmake_file} lm32/t-lm32"
1842 tmake_file="${tmake_file} lm32/t-rtems"
1845 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
1846 tmake_file="${tmake_file} lm32/t-lm32"
1849 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1852 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
1855 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
1856 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1858 if test x$enable_threads = xyes; then
1863 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
1864 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1866 if test x$enable_threads = xyes; then
1870 m68k-*-elf* | fido-*-elf*)
1873 # Check that $with_cpu makes sense.
1878 echo "Cannot accept --with-cpu=$with_cpu"
1885 default_m68k_cpu=68020
1889 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h newlib-stdint.h m68k/m68kemb.h m68k/m68020-elf.h"
1890 tm_defines="${tm_defines} MOTOROLA=1"
1891 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1892 # Add multilibs for targets other than fido.
1897 tmake_file="$tmake_file m68k/t-mlibs"
1902 default_m68k_cpu=68020
1904 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1905 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1906 tm_defines="${tm_defines} MOTOROLA=1"
1909 default_m68k_cpu=68020
1911 # needed to unconfuse gdb
1912 tm_defines="${tm_defines} OBSD_OLD_GAS"
1913 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
1914 extra_options="${extra_options} openbsd.opt"
1915 tmake_file="t-openbsd m68k/t-openbsd"
1916 # we need collect2 until our bug is fixed...
1919 m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
1920 # with uClibc, using the new GNU/Linux-style
1922 default_m68k_cpu=68020
1924 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
1925 extra_options="${extra_options} m68k/uclinux.opt"
1926 tm_defines="${tm_defines} MOTOROLA=1"
1927 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
1929 m68k-*-linux*) # Motorola m68k's running GNU/Linux
1930 # with ELF format using glibc 2
1931 # aka the GNU/Linux C library 6.
1932 default_m68k_cpu=68020
1934 with_arch=${with_arch:-m68k}
1935 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
1936 extra_options="${extra_options} m68k/ieee.opt"
1937 tm_defines="${tm_defines} MOTOROLA=1"
1938 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
1941 default_m68k_cpu=68020
1943 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
1944 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h newlib-stdint.h"
1945 tm_defines="${tm_defines} MOTOROLA=1"
1948 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
1949 tmake_file=mcore/t-mcore
1955 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1958 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1961 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
1962 tm_file="${tm_file} glibc-stdint.h"
1963 c_target_objs="${c_target_objs} microblaze-c.o"
1964 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1965 tmake_file="${tmake_file} microblaze/t-microblaze"
1966 tmake_file="${tmake_file} microblaze/t-microblaze-linux"
1968 microblaze*-*-rtems*)
1971 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1974 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1977 tm_file="${tm_file} dbxelf.h"
1978 tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
1979 c_target_objs="${c_target_objs} microblaze-c.o"
1980 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1981 tmake_file="${tmake_file} microblaze/t-microblaze"
1982 tmake_file="${tmake_file} microblaze/t-rtems"
1987 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1990 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1993 tm_file="${tm_file} dbxelf.h newlib-stdint.h"
1994 c_target_objs="${c_target_objs} microblaze-c.o"
1995 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1996 tmake_file="${tmake_file} microblaze/t-microblaze"
1998 mips*-*-netbsd*) # NetBSD/mips, either endian.
1999 target_cpu_default="MASK_ABICALLS"
2000 tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
2001 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2004 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h"
2005 extra_options="${extra_options} linux-android.opt"
2006 tmake_file="${tmake_file} mips/t-img-linux"
2007 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2008 with_arch_32="mips32r6"
2009 with_arch_64="mips64r6"
2014 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h"
2015 extra_options="${extra_options} linux-android.opt"
2016 tmake_file="${tmake_file} mips/t-mti-linux"
2017 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2018 with_arch_32="mips32r2"
2019 with_arch_64="mips64r2"
2023 mips*-*-linux*) # Linux MIPS, either endian.
2024 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h"
2025 extra_options="${extra_options} linux-android.opt"
2028 default_mips_arch=mips32r6
2031 default_mips_arch=mips32r2
2034 default_mips_arch=mips32
2036 mips64el-st-linux-gnu)
2037 default_mips_abi=n32
2038 tm_file="${tm_file} mips/st.h"
2039 tmake_file="${tmake_file} mips/t-st"
2040 enable_mips_multilibs="yes"
2042 mips64octeon*-*-linux*)
2043 default_mips_abi=n32
2044 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2045 target_cpu_default=MASK_SOFT_FLOAT_ABI
2046 enable_mips_multilibs="yes"
2048 mipsisa64r6*-*-linux*)
2049 default_mips_abi=n32
2050 default_mips_arch=mips64r6
2051 enable_mips_multilibs="yes"
2053 mipsisa64r2*-*-linux*)
2054 default_mips_abi=n32
2055 default_mips_arch=mips64r2
2056 enable_mips_multilibs="yes"
2058 mips64*-*-linux* | mipsisa64*-*-linux*)
2059 default_mips_abi=n32
2060 enable_mips_multilibs="yes"
2063 if test x$enable_targets = xall; then
2064 enable_mips_multilibs="yes"
2066 if test x$enable_mips_multilibs = xyes; then
2067 tmake_file="${tmake_file} mips/t-linux64"
2071 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2072 tmake_file="mips/t-mti-elf"
2073 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2074 with_arch_32="mips32r2"
2075 with_arch_64="mips64r2"
2078 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2079 tmake_file="mips/t-img-elf"
2080 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2081 with_arch_32="mips32r6"
2082 with_arch_64="mips64r6"
2085 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2086 tmake_file="mips/t-sde"
2087 extra_options="${extra_options} mips/sde.opt"
2088 case "${with_newlib}" in
2090 # newlib / libgloss.
2093 # MIPS toolkit libraries.
2094 tm_file="$tm_file mips/sdemtk.h"
2095 tmake_file="$tmake_file mips/t-sdemtk"
2096 case ${enable_threads} in
2098 thread_file='mipssde'
2105 tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2108 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2111 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2114 tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2117 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2120 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2124 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2125 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2126 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2127 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2128 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2129 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2130 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2131 tmake_file="mips/t-isa3264"
2134 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2137 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2140 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2143 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2146 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2149 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2153 mipsisa32*-*-elfoabi*)
2154 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2155 tm_file="${tm_file} mips/elfoabi.h"
2157 mipsisa64*-*-elfoabi*)
2158 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2159 tm_file="${tm_file} mips/elfoabi.h"
2162 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2166 mipsisa64sr71k-*-elf*)
2167 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2168 tmake_file=mips/t-sr71k
2169 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2171 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2172 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2173 tmake_file="mips/t-elf mips/t-sb1"
2174 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2176 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2177 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2178 tmake_file="mips/t-elf"
2180 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2181 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2182 tmake_file="mips/t-elf"
2183 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2185 mips64-*-elf* | mips64el-*-elf*)
2186 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2187 tmake_file="mips/t-elf"
2188 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2190 mips64vr-*-elf* | mips64vrel-*-elf*)
2191 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2192 tmake_file=mips/t-vr
2193 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2195 mips64orion-*-elf* | mips64orionel-*-elf*)
2196 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2197 tmake_file="mips/t-elf"
2198 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2201 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2202 tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2205 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2206 tmake_file="${tmake_file} mips/t-vxworks"
2208 mipstx39-*-elf* | mipstx39el-*-elf*)
2209 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2210 tmake_file="mips/t-r3900"
2212 mmix-knuth-mmixware)
2213 tm_file="${tm_file} newlib-stdint.h"
2217 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2218 if test x$stabs = xyes
2220 tm_file="${tm_file} dbx.h"
2226 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2227 c_target_objs="msp430-c.o"
2228 cxx_target_objs="msp430-c.o"
2229 tmake_file="${tmake_file} msp430/t-msp430"
2230 extra_gcc_objs="driver-msp430.o"
2233 target_cpu_default="0"
2234 tm_defines="${tm_defines}"
2235 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2236 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2239 target_cpu_default="0|MASK_BIG_ENDIAN"
2240 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2241 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2242 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2245 tm_file="elfos.h ${tm_file}"
2246 tmake_file="${tmake_file} nios2/t-nios2"
2249 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2252 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2253 extra_options="${extra_options} nios2/elf.opt"
2256 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2257 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2262 tm_file="${tm_file} newlib-stdint.h"
2263 tmake_file="nvptx/t-nvptx"
2264 if test x$enable_as_accelerator = xyes; then
2265 extra_programs="${extra_programs} mkoffload\$(exeext)"
2266 tm_file="${tm_file} nvptx/offload.h"
2270 tm_file="${tm_file} newlib-stdint.h"
2273 # port not yet contributed
2274 #powerpc-*-openbsd*)
2275 # tmake_file="${tmake_file} rs6000/t-fprules"
2279 extra_options="${extra_options} rs6000/darwin.opt"
2281 *-darwin1[0-9]* | *-darwin[8-9]*)
2282 tmake_file="${tmake_file} rs6000/t-darwin8"
2283 tm_file="${tm_file} rs6000/darwin8.h"
2286 tm_file="${tm_file} rs6000/darwin7.h"
2291 tmake_file="${tmake_file} t-slibgcc"
2292 extra_headers=altivec.h
2294 powerpc64-*-darwin*)
2295 extra_options="${extra_options} ${cpu_type}/darwin.opt"
2296 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
2297 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
2298 extra_headers=altivec.h
2300 powerpc*-*-freebsd*)
2301 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
2302 extra_options="${extra_options} rs6000/sysv4.opt"
2303 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2306 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2307 tmake_file="${tmake_file} rs6000/t-freebsd64"
2308 extra_options="${extra_options} rs6000/linux64.opt"
2311 tm_file="${tm_file} rs6000/freebsd.h"
2316 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2317 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2318 tmake_file="${tmake_file} rs6000/t-netbsd"
2319 extra_options="${extra_options} rs6000/sysv4.opt"
2322 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
2323 extra_options="${extra_options} rs6000/sysv4.opt"
2324 tmake_file="rs6000/t-spe rs6000/t-ppccomm"
2327 powerpc-*-eabisimaltivec*)
2328 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h"
2329 extra_options="${extra_options} rs6000/sysv4.opt"
2330 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2334 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
2335 extra_options="${extra_options} rs6000/sysv4.opt"
2336 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2340 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2341 extra_options="${extra_options} rs6000/sysv4.opt"
2342 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2344 powerpc-*-eabialtivec*)
2345 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h"
2346 extra_options="${extra_options} rs6000/sysv4.opt"
2347 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2350 powerpc-xilinx-eabi*)
2351 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h rs6000/xfpu.h rs6000/xilinx.h"
2352 extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
2353 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
2357 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
2358 extra_options="${extra_options} rs6000/sysv4.opt"
2359 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2363 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h"
2364 extra_options="${extra_options} rs6000/sysv4.opt"
2365 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2368 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2369 extra_options="${extra_options} rs6000/sysv4.opt"
2370 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2371 extra_objs="$extra_objs rs6000-linux.o"
2374 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2376 case ${target}:${with_cpu} in
2377 powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2379 maybe_biarch=${cpu_is_64bit}
2380 case ${enable_targets} in
2381 *powerpc64*) maybe_biarch=yes ;;
2382 all) maybe_biarch=yes ;;
2385 powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
2386 echo "*** Configuration ${target} not supported" 1>&2
2389 powerpc*-*-linux*spe* | powerpc*-*-linux*paired*)
2393 case ${target}:${enable_targets}:${maybe_biarch} in
2394 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2395 | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2396 | powerpcle-*:*powerpc64le*:yes)
2397 if test x$cpu_is_64bit = xyes; then
2398 tm_file="${tm_file} rs6000/default64.h"
2400 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2401 tmake_file="$tmake_file rs6000/t-linux64"
2404 tmake_file="$tmake_file rs6000/t-linux64le"
2405 case ${enable_targets} in
2406 all | *powerpc64-* | *powerpc-*)
2407 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2410 case ${enable_targets} in
2411 all | *powerpc64le-* | *powerpcle-*)
2412 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2415 extra_options="${extra_options} rs6000/linux64.opt"
2418 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2419 extra_options="${extra_options} rs6000/linux64.opt"
2420 tmake_file="${tmake_file} rs6000/t-linux"
2423 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2424 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2428 powerpc*-*-linux*ppc476*)
2429 tm_file="${tm_file} rs6000/476.h"
2430 extra_options="${extra_options} rs6000/476.opt" ;;
2431 powerpc*-*-linux*altivec*)
2432 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2433 powerpc*-*-linux*spe*)
2434 tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;;
2435 powerpc*-*-linux*paired*)
2436 tm_file="${tm_file} rs6000/750cl.h" ;;
2440 enable_secureplt=yes ;;
2442 if test x${enable_secureplt} = xyes; then
2443 tm_file="rs6000/secureplt.h ${tm_file}"
2446 powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
2447 tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
2448 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2449 extra_options="${extra_options} rs6000/sysv4.opt"
2450 extra_headers=ppc-asm.h
2453 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
2454 tmake_file="${tmake_file} rs6000/t-vxworksmils"
2457 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
2458 tmake_file="${tmake_file} rs6000/t-vxworksae"
2461 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
2467 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2468 tmake_file="t-lynx rs6000/t-lynx"
2469 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2475 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2476 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2477 extra_options="${extra_options} rs6000/sysv4.opt"
2479 powerpcle-*-eabisim*)
2480 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
2481 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2482 extra_options="${extra_options} rs6000/sysv4.opt"
2486 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h"
2487 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2488 extra_options="${extra_options} rs6000/sysv4.opt"
2491 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2492 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
2493 tmake_file="rs6000/t-aix43 t-slibgcc"
2494 extra_options="${extra_options} rs6000/aix64.opt"
2497 use_gcc_stdint=provide
2500 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
2501 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
2502 extra_options="${extra_options} rs6000/aix64.opt"
2503 tmake_file="rs6000/t-aix43 t-slibgcc"
2509 rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
2510 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
2511 tmake_file="rs6000/t-aix52 t-slibgcc"
2512 extra_options="${extra_options} rs6000/aix64.opt"
2518 rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
2519 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
2520 tmake_file="rs6000/t-aix52 t-slibgcc"
2521 extra_options="${extra_options} rs6000/aix64.opt"
2525 extra_headers=altivec.h
2527 rs6000-ibm-aix6.* | powerpc-ibm-aix6.*)
2528 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2529 tmake_file="rs6000/t-aix52 t-slibgcc"
2530 extra_options="${extra_options} rs6000/aix64.opt"
2534 extra_headers=altivec.h
2535 default_use_cxa_atexit=yes
2537 rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*)
2538 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h"
2539 tmake_file="rs6000/t-aix52 t-slibgcc"
2540 extra_options="${extra_options} rs6000/aix64.opt"
2544 extra_headers=altivec.h
2545 default_use_cxa_atexit=yes
2548 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2549 target_has_targetm_common=no
2550 c_target_objs="rl78-c.o"
2551 cxx_target_objs="rl78-c.o"
2552 tmake_file="${tmake_file} rl78/t-rl78"
2555 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2556 tmake_file="${tmake_file} rx/t-rx"
2559 default_gnu_indirect_function=yes
2560 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2561 c_target_objs="${c_target_objs} s390-c.o"
2562 cxx_target_objs="${cxx_target_objs} s390-c.o"
2563 if test x$enable_targets = xall; then
2564 tmake_file="${tmake_file} s390/t-linux64"
2566 tmake_file="${tmake_file} s390/t-s390"
2569 default_gnu_indirect_function=yes
2570 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2571 tm_p_file="linux-protos.h s390/s390-protos.h"
2572 c_target_objs="${c_target_objs} s390-c.o"
2573 cxx_target_objs="${cxx_target_objs} s390-c.o"
2574 md_file=s390/s390.md
2575 extra_modes=s390/s390-modes.def
2576 out_file=s390/s390.c
2577 tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
2580 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2581 tm_p_file=s390/s390-protos.h
2582 c_target_objs="${c_target_objs} s390-c.o"
2583 cxx_target_objs="${cxx_target_objs} s390-c.o"
2584 md_file=s390/s390.md
2585 extra_modes=s390/s390-modes.def
2586 out_file=s390/s390.c
2588 extra_options="${extra_options} s390/tpf.opt"
2589 tmake_file="${tmake_file} s390/t-s390"
2591 sh-*-elf* | sh[12346l]*-*-elf* | \
2592 sh-*-linux* | sh[2346lbe]*-*-linux* | \
2593 sh-*-netbsdelf* | shl*-*-netbsdelf*)
2594 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2595 if test x${with_endian} = x; then
2597 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2598 shbe-*-* | sheb-*-*) with_endian=big,little ;;
2599 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
2600 shl* | sh*-*-linux* | \
2601 sh-superh-elf) with_endian=little,big ;;
2602 sh[1234]*-*-*) with_endian=big ;;
2603 *) with_endian=big,little ;;
2606 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2607 # First word : the default endian.
2608 # Second word: the secondary endian (optional).
2609 case ${with_endian} in
2610 big) TM_ENDIAN_CONFIG=mb ;;
2611 little) TM_ENDIAN_CONFIG=ml ;;
2612 big,little) TM_ENDIAN_CONFIG="mb ml" ;;
2613 little,big) TM_ENDIAN_CONFIG="ml mb" ;;
2614 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
2616 case ${with_endian} in
2617 little*) tm_file="sh/little.h ${tm_file}" ;;
2619 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2621 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
2622 if test x$enable_fdpic = xyes; then
2623 tm_defines="$tm_defines FDPIC_DEFAULT=1"
2625 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2627 tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h"
2628 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2631 sh*-superh-elf) if test x$with_libgloss != xno; then
2633 tm_file="${tm_file} sh/newlib.h"
2635 tm_file="${tm_file} sh/embed-elf.h"
2636 tm_file="${tm_file} sh/superh.h"
2637 extra_options="${extra_options} sh/superh.opt" ;;
2638 *) if test x$with_newlib = xyes \
2639 && test x$with_libgloss = xyes; then
2640 tm_file="${tm_file} sh/newlib.h"
2642 tm_file="${tm_file} sh/embed-elf.h" ;;
2648 tm_file="${tm_file} newlib-stdint.h"
2651 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2652 case `echo ${target} | sed 's/e[lb]-/-/'` in
2653 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2654 sh4a_single*) sh_cpu_target=sh4a-single ;;
2655 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2656 sh4al) sh_cpu_target=sh4al ;;
2657 sh4a*) sh_cpu_target=sh4a ;;
2658 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2659 sh4_single*) sh_cpu_target=sh4-single ;;
2660 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2661 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2662 sh3e*) sh_cpu_target=sh3e ;;
2663 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
2664 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2665 sh2a_single*) sh_cpu_target=sh2a-single ;;
2666 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2667 sh2a*) sh_cpu_target=sh2a ;;
2668 sh2e*) sh_cpu_target=sh2e ;;
2669 sh2*) sh_cpu_target=sh2 ;;
2670 *) sh_cpu_target=sh1 ;;
2672 # did the user say --without-fp ?
2673 if test x$with_fp = xno; then
2674 case ${sh_cpu_target} in
2676 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
2677 sh4*) sh_cpu_target=sh4-nofpu ;;
2678 sh3*) sh_cpu_target=sh3 ;;
2679 sh2a*) sh_cpu_target=sh2a-nofpu ;;
2680 sh2*) sh_cpu_target=sh2 ;;
2681 *) echo --without-fp not available for $target: ignored
2683 tm_defines="$tm_defines STRICT_NOFPU=1"
2685 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2686 case $sh_cpu_default in
2687 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
2688 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
2689 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
2690 sh3e | sh3 | sh2e | sh2 | sh1) ;;
2691 "") sh_cpu_default=${sh_cpu_target} ;;
2692 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
2694 sh_multilibs=${with_multilib_list}
2695 if test "$sh_multilibs" = "default" ; then
2697 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
2698 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2699 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
2700 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
2701 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
2703 if test x$with_fp = xno; then
2704 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`"
2707 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
2708 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
2709 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2710 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
2711 for sh_multilib in ${sh_multilibs}; do
2712 case ${sh_multilib} in
2713 m1 | m2 | m2e | m3 | m3e | \
2714 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2715 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2716 m2a | m2a-single | m2a-single-only | m2a-nofpu)
2717 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2718 # It is passed to MULTIILIB_OPTIONS verbatim.
2719 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2720 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2722 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2723 # It is passed the MULTILIB_EXCEPTIONS verbatim.
2724 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
2726 echo "with_multilib_list=${sh_multilib} not supported."
2731 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
2732 if test x${enable_incomplete_targets} = xyes ; then
2733 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1"
2735 tm_file="$tm_file ./sysroot-suffix.h"
2736 tmake_file="$tmake_file t-sysroot-suffix"
2739 tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
2740 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
2743 tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
2744 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
2747 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
2750 tmake_file="sparc/t-sparc sparc/t-leon"
2753 tmake_file="sparc/t-sparc sparc/t-leon3"
2756 tmake_file="sparc/t-sparc sparc/t-elf"
2761 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
2762 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
2765 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
2766 extra_options="${extra_options} sparc/long-double-switch.opt"
2769 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
2772 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
2775 tmake_file="${tmake_file} sparc/t-sparc"
2778 if test x$enable_targets = xall; then
2779 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
2780 tmake_file="${tmake_file} sparc/t-linux64"
2782 tm_file="${tm_file} sparc/linux.h"
2783 tmake_file="${tmake_file} sparc/t-linux"
2787 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2788 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2789 extra_options="${extra_options} sparc/long-double-switch.opt"
2790 tmake_file="${tmake_file} sparc/t-sparc"
2793 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
2795 sparc64-*-* | sparcv9-*-*)
2796 tm_file="sparc/default64.h ${tm_file}"
2799 test x$with_cpu != x || with_cpu=v9
2802 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
2805 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
2806 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
2809 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
2810 extra_options="${extra_options}"
2811 tmake_file="${tmake_file} sparc/t-sparc"
2814 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
2815 extra_options="${extra_options}"
2816 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
2819 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
2820 extra_options="${extra_options} sparc/long-double-switch.opt"
2821 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
2823 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2824 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2825 extra_options="${extra_options} sparc/long-double-switch.opt"
2826 case "x$with_cpu" in
2828 x) with_cpu=ultrasparc ;;
2829 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2831 tmake_file="${tmake_file} sparc/t-sparc"
2834 tm_file="sparc/biarch64.h ${tm_file}"
2835 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2836 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2837 extra_options="${extra_options} sparc/long-double-switch.opt"
2838 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
2841 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
2842 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
2843 extra_options="${extra_options} openbsd.opt"
2844 extra_options="${extra_options}"
2847 tmake_file="${tmake_file} sparc/t-sparc"
2850 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
2851 tmake_file="spu/t-spu-elf"
2852 native_system_header_dir=/include
2853 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
2854 extra_modes=spu/spu-modes.def
2855 c_target_objs="${c_target_objs} spu-c.o"
2856 cxx_target_objs="${cxx_target_objs} spu-c.o"
2859 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
2860 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
2861 tmake_file="c6x/t-c6x c6x/t-c6x-elf"
2865 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
2866 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
2867 tm_file="${tm_file} ./sysroot-suffix.h"
2868 tmake_file="t-sysroot-suffix t-slibgcc"
2869 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
2873 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
2874 tmake_file="${tmake_file} tilegx/t-tilegx"
2875 extra_objs="${extra_objs} mul-tables.o"
2876 c_target_objs="${c_target_objs} tilegx-c.o"
2877 cxx_target_objs="${cxx_target_objs} tilegx-c.o"
2878 extra_headers="feedback.h"
2881 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2886 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
2887 tmake_file="${tmake_file} tilepro/t-tilepro"
2888 extra_objs="${extra_objs} mul-tables.o"
2889 c_target_objs="${c_target_objs} tilepro-c.o"
2890 cxx_target_objs="${cxx_target_objs} tilepro-c.o"
2891 extra_headers="feedback.h"
2894 target_cpu_default="TARGET_CPU_generic"
2895 tm_file="dbxelf.h elfos.h v850/v850.h"
2896 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
2897 tmake_file="${tmake_file} v850/t-v850"
2898 tmake_file="${tmake_file} v850/t-rtems"
2900 c_target_objs="v850-c.o"
2901 cxx_target_objs="v850-c.o"
2906 target_cpu_default="TARGET_CPU_v850e3v5"
2909 target_cpu_default="TARGET_CPU_v850e2v3"
2912 target_cpu_default="TARGET_CPU_v850e2"
2914 v850e1-*-* | v850es-*-*)
2915 target_cpu_default="TARGET_CPU_v850e1"
2918 target_cpu_default="TARGET_CPU_v850e"
2921 target_cpu_default="TARGET_CPU_generic"
2924 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
2925 if test x$stabs = xyes
2927 tm_file="${tm_file} dbx.h"
2930 c_target_objs="v850-c.o"
2931 cxx_target_objs="v850-c.o"
2935 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
2936 extra_options="${extra_options} vax/elf.opt"
2939 tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
2940 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
2943 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
2944 extra_options="${extra_options} openbsd.opt"
2948 tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
2949 tmake_file="visium/t-visium visium/t-crtstuff"
2952 # For historical reasons, the target files omit the 'x'.
2953 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
2954 tm_p_file=stormy16/stormy16-protos.h
2955 md_file=stormy16/stormy16.md
2956 out_file=stormy16/stormy16.c
2957 extra_options=stormy16/stormy16.opt
2958 tmake_file="stormy16/t-stormy16"
2961 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
2962 extra_options="${extra_options} xtensa/elf.opt"
2965 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
2966 tmake_file="${tmake_file} xtensa/t-xtensa"
2969 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h"
2970 tmake_file="${tmake_file} xtensa/t-xtensa"
2971 extra_options="${extra_options} xtensa/uclinux.opt"
2974 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
2979 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
2980 c_target_objs="m32c-pragma.o"
2981 cxx_target_objs="m32c-pragma.o"
2984 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2985 c_target_objs="m32c-pragma.o"
2986 cxx_target_objs="m32c-pragma.o"
2989 echo "*** Configuration ${target} not supported" 1>&2
2995 i[34567]86-*-linux* | x86_64-*-linux*)
2996 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
2998 i[34567]86-*-* | x86_64-*-*)
2999 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
3001 powerpc*-*-* | rs6000-*-*)
3002 tm_file="${tm_file} rs6000/option-defaults.h"
3005 # Build mkoffload tool
3007 *-intelmic-* | *-intelmicemul-*)
3008 tmake_file="${tmake_file} i386/t-intelmic"
3009 tm_file="${tm_file} i386/intelmic-offload.h"
3013 if [ "$target_has_targetcm" = "no" ]; then
3014 c_target_objs="$c_target_objs default-c.o"
3015 cxx_target_objs="$cxx_target_objs default-c.o"
3018 if [ "$common_out_file" = "" ]; then
3019 if [ "$target_has_targetm_common" = "yes" ]; then
3020 common_out_file="$cpu_type/$cpu_type-common.c"
3022 common_out_file="default-common.c"
3026 # Support for --with-cpu and related options (and a few unrelated options,
3030 echo "--with-cpu must be passed a value" 1>&2
3035 # Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
3036 # to generic if there is no processor scheduler model for the target.
3039 arch_without_sse2=no
3040 arch_without_64bit=no
3043 if test $fbsd_major -ge 6; then
3049 arch_without_sse2=yes
3050 arch_without_64bit=yes
3055 arch_without_sse2=yes
3056 arch_without_64bit=yes
3061 arch_without_sse2=yes
3062 arch_without_64bit=yes
3065 arch_without_sse2=yes
3066 arch_without_64bit=yes
3067 case ${target_noncanonical} in
3080 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3090 i686-*-* | i786-*-*)
3091 case ${target_noncanonical} in
3120 amdfam10-*|barcelona-*)
3124 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3128 k8-*|opteron-*|athlon64-*|athlon_fx-*)
3132 athlon_xp-*|athlon_mp-*|athlon_4-*)
3135 arch_without_sse2=yes
3136 arch_without_64bit=yes
3138 athlon_tbird-*|athlon-*)
3141 arch_without_sse2=yes
3146 arch_without_sse2=yes
3151 arch_without_sse2=yes
3153 pentium3-*|pentium3m-*)
3156 arch_without_sse2=yes
3158 pentium4-*|pentium4m-*)
3197 arch_without_sse2=yes
3202 arch_without_sse2=yes
3203 arch_without_64bit=yes
3208 case ${target_noncanonical} in
3237 amdfam10-*|barcelona-*)
3241 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3245 k8-*|opteron-*|athlon_64-*)
3277 # If there is no $with_cpu option, try to infer one from ${target}.
3278 # This block sets nothing except for with_cpu.
3279 if test x$with_cpu = x ; then
3281 i[34567]86-*-elfiamcu)
3284 i[34567]86-*-*|x86_64-*-*)
3302 frv-*-*linux* | frv400-*-*linux*)
3309 case "$with_arch" in
3311 with_cpu=${default_cf_cpu}
3314 with_cpu=m${default_m68k_cpu}
3319 if test x$enable_e500_double = xyes; then
3337 with_cpu="`echo ${target} | sed 's/-.*$//'`"
3346 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3348 i[34567]86-*-*|x86_64-*-*)
3349 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3350 if test x$with_cpu_32 = x; then
3351 with_cpu_32=$with_cpu
3353 if test x$with_cpu_64 = x; then
3354 with_cpu_64=$with_cpu
3362 # Support for --with-arch and related options (and a few unrelated options,
3364 case ${with_arch} in
3366 echo "--with-arch must be passed a value" 1>&2
3371 # If there is no $with_arch option, try to infer one from ${target}.
3372 # This block sets nothing except for with_arch.
3373 if test x$with_arch = x ; then
3375 i[34567]86-*-darwin*|x86_64-*-darwin*)
3376 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3377 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3379 i[34567]86-*-elfiamcu)
3383 # --with-fpmath sets the default ISA to SSE2, which is the same
3384 # ISA supported by Pentium 4.
3385 if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3394 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3402 # Avoid overriding --with-arch-32 and --with-arch-64 values.
3404 i[34567]86-*-darwin*|x86_64-*-darwin*)
3405 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3406 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3408 i[34567]86-*-*|x86_64-*-*)
3409 if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3410 if test x$with_arch_32 = x; then
3411 with_arch_32=$with_arch
3413 if test x$with_arch_64 = x; then
3414 if test $arch_without_64bit = yes; then
3415 # Set the default 64bit arch to x86-64 if the default arch
3416 # doesn't support 64bit.
3419 with_arch_64=$with_arch
3423 elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3424 # Set the default 64bit arch to x86-64 if the default arch
3425 # doesn't support 64bit and we need 64bit ISA.
3426 with_arch_32=$with_arch
3434 # Infer a default setting for --with-float.
3435 if test x$with_float = x; then
3437 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3438 # The R5900 doesn't support 64-bit float. 32-bit float doesn't
3439 # comply with IEEE 754.
3445 # Infer a default setting for --with-fpu.
3446 if test x$with_fpu = x; then
3448 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3449 # The R5900 FPU only supports single precision.
3455 # Support --with-fpmath.
3456 if test x$with_fpmath != x; then
3458 i[34567]86-*-* | x86_64-*-*)
3459 case ${with_fpmath} in
3461 tm_file="${tm_file} i386/avxmath.h"
3464 tm_file="${tm_file} i386/ssemath.h"
3467 echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3473 echo "--with-fpmath isn't supported for $target." 1>&2
3479 # Similarly for --with-schedule.
3480 if test x$with_schedule = x; then
3483 # Override default PA8000 scheduling model.
3484 with_schedule=7100LC
3489 # Infer a default setting for --with-llsc.
3490 if test x$with_llsc = x; then
3492 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3493 # The R5900 doesn't support LL(D) and SC(D).
3497 # The kernel emulates LL and SC where necessary.
3503 # Validate and mark as valid any --with options supported
3504 # by this target. In order to use a particular --with option
3505 # you must list it in supported_defaults; validating the value
3506 # is optional. This case statement should set nothing besides
3507 # supported_defaults.
3512 supported_defaults="abi cpu arch"
3513 for which in cpu arch; do
3515 eval "val=\$with_$which"
3516 base_val=`echo $val | sed -e 's/\+.*//'`
3517 ext_val=`echo $val | sed -e 's/[a-z0-9.-]\+//'`
3519 if [ $which = arch ]; then
3520 def=aarch64-arches.def
3521 pattern=AARCH64_ARCH
3523 def=aarch64-cores.def
3524 pattern=AARCH64_CORE
3527 ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3529 # Find the base CPU or ARCH id in aarch64-cores.def or
3530 # aarch64-arches.def
3531 if [ x"$base_val" = x ] \
3532 || grep "^$pattern(\"$base_val\"," \
3533 ${srcdir}/config/aarch64/$def \
3536 if [ $which = arch ]; then
3537 base_id=`grep "^$pattern(\"$base_val\"," \
3538 ${srcdir}/config/aarch64/$def | \
3539 sed -e 's/^[^,]*,[ ]*//' | \
3541 # Extract the architecture flags from aarch64-arches.def
3542 ext_mask=`grep "^$pattern(\"$base_val\"," \
3543 ${srcdir}/config/aarch64/$def | \
3547 base_id=`grep "^$pattern(\"$base_val\"," \
3548 ${srcdir}/config/aarch64/$def | \
3549 sed -e 's/^[^,]*,[ ]*//' | \
3553 while [ x"$ext_val" != x ]
3555 ext_val=`echo $ext_val | sed -e 's/\+//'`
3556 ext=`echo $ext_val | sed -e 's/\+.*//'`
3557 base_ext=`echo $ext | sed -e 's/^no//'`
3559 if [ x"$base_ext" = x ] \
3560 || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3561 ${srcdir}/config/aarch64/aarch64-option-extensions.def \
3564 ext_canon=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3565 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3566 sed -e 's/^[^,]*,[ ]*//' | \
3568 ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3569 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3570 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \
3571 sed -e 's/,.*$//' | \
3573 ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3574 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3575 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*[^,]*,[ ]*//' | \
3576 sed -e 's/,.*$//' | \
3580 if [ $ext = $base_ext ]; then
3582 ext_mask="("$ext_mask") | ("$ext_on" | "$ext_canon")"
3584 # Removing extension
3585 ext_mask="("$ext_mask") & ~("$ext_off" | "$ext_canon")"
3590 echo "Unknown extension used in --with-$which=$val" 1>&2
3593 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3596 ext_mask="(("$ext_mask") << 6)"
3597 if [ x"$base_id" != x ]; then
3598 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3602 echo "Unknown $which used in --with-$which=$val" 1>&2
3609 supported_defaults="cpu tune"
3610 for which in cpu tune; do
3611 eval "val=\$with_$which"
3614 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3615 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3619 echo "Unknown CPU used in --with-$which=$val" 1>&2
3627 supported_defaults="cpu"
3629 if [ x"$with_cpu" = x ] \
3630 || grep "^ARC_CPU ($with_cpu," \
3631 ${srcdir}/config/arc/arc-cpus.def \
3636 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3642 supported_defaults="arch cpu float tune fpu abi mode tls"
3643 for which in cpu tune; do
3644 # See if it matches any of the entries in arm-cores.def
3645 eval "val=\$with_$which"
3646 if [ x"$val" = x ] \
3647 || grep "^ARM_CORE(\"$val\"," \
3648 ${srcdir}/config/arm/arm-cores.def \
3651 new_val=`grep "^ARM_CORE(\"$val\"," \
3652 ${srcdir}/config/arm/arm-cores.def | \
3653 sed -e 's/^[^,]*,[ ]*//' | \
3655 if [ x"$val" != x ] ; then
3656 eval "target_${which}_cname=$new_val"
3657 echo "For $val real value is $new_val"
3661 echo "Unknown CPU used in --with-$which=$val" 1>&2
3666 # See if it matches any of the entries in arm-arches.def
3667 if [ x"$with_arch" = x ] \
3668 || grep "^ARM_ARCH(\"$with_arch\"," \
3669 ${srcdir}/config/arm/arm-arches.def \
3674 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
3678 case "$with_float" in
3680 | soft | hard | softfp)
3684 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3689 # see if it matches any of the entries in arm-fpus.def
3690 if [ x"$with_fpu" = x ] \
3691 || grep "^ARM_FPU(\"$with_fpu\"," \
3692 ${srcdir}/config/arm/arm-fpus.def \
3697 echo "Unknown fpu used in --with-fpu=$with_fpu" 1>&2
3703 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
3707 echo "Unknown ABI used in --with-abi=$with_abi"
3712 case "$with_mode" in
3718 echo "Unknown mode used in --with-mode=$with_mode"
3729 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3734 if test "x$with_arch" != x && test "x$with_cpu" != x; then
3735 echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2
3739 if test "x$with_cpu" != x && test "x$with_tune" != x; then
3740 echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2
3744 # Add extra multilibs
3745 if test "x$with_multilib_list" != x; then
3746 arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
3747 case ${arm_multilibs} in
3749 # Note that arm/t-aprofile is a
3750 # stand-alone make file fragment to be
3751 # used only with itself. We do not
3752 # specifically use the
3753 # TM_MULTILIB_OPTION framework because
3754 # this shorthand is more
3756 tmake_profile_file="arm/t-aprofile"
3761 echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
3766 if test "x${tmake_profile_file}" != x ; then
3767 # arm/t-aprofile is only designed to work
3768 # without any with-cpu, with-arch, with-mode,
3769 # with-fpu or with-float options.
3770 if test "x$with_arch" != x \
3771 || test "x$with_cpu" != x \
3772 || test "x$with_float" != x \
3773 || test "x$with_fpu" != x \
3774 || test "x$with_mode" != x ; then
3775 echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2
3779 tmake_file="${tmake_file} ${tmake_profile_file}"
3785 supported_defaults=cpu
3790 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3796 fido-*-* | m68k*-*-*)
3797 supported_defaults="arch cpu"
3798 case "$with_arch" in
3800 m68k_arch_family="$with_arch"
3803 echo "Invalid --with-arch=$with_arch" 1>&2
3808 # We always have a $with_cpu setting here.
3810 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
3811 m68k_cpu_ident=$with_cpu
3814 m68k_cpu_ident=m68020
3815 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
3818 m68k_cpu_ident=m68020
3819 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
3822 # We need the C identifier rather than the string.
3823 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
3824 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
3825 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
3826 ${srcdir}/config/m68k/m68k-devices.def`
3827 if [ x"$m68k_cpu_ident" = x ] ; then
3828 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
3831 with_cpu="mcpu=$with_cpu"
3837 supported_defaults="arch schedule"
3839 case "$with_arch" in
3840 "" | 1.0 | 1.1 | 2.0)
3844 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
3849 case "$with_schedule" in
3850 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
3854 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
3860 i[34567]86-*-* | x86_64-*-*)
3861 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
3862 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
3863 eval "val=\$with_$which"
3864 case " $x86_archs " in
3872 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
3881 if test x${val} != x; then
3882 case " $x86_64_archs " in
3887 # Allow $x86_cpus --with-cpu=/--with-tune=
3890 case " $x86_cpus " in
3895 echo "Unknown CPU given in --with-$which=$val." 1>&2
3901 echo "Unknown CPU given in --with-$which=$val." 1>&2
3914 supported_defaults="abi arch arch_32 arch_64 float fpu nan fp_32 odd_spreg_32 tune tune_32 tune_64 divide llsc mips-plt synci"
3916 case ${with_float} in
3921 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3927 "" | single | double)
3931 echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
3941 echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
3946 case ${with_fp_32} in
3951 echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
3956 case ${with_odd_spreg_32} in
3958 with_odd_spreg_32="odd-spreg"
3961 with_odd_spreg_32="no-odd-spreg"
3967 echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
3973 "" | 32 | o64 | n32 | 64 | eabi)
3977 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
3982 case ${with_divide} in
3983 "" | breaks | traps)
3987 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
3992 case ${with_llsc} in
4003 echo "Unknown llsc type used in --with-llsc" 1>&2
4008 case ${with_mips_plt} in
4013 with_mips_plt=no-plt
4018 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
4023 case ${with_synci} in
4033 echo "Unknown synci type used in --with-synci" 1>&2
4040 supported_defaults="arch nds32_lib"
4042 # process --with-arch
4043 case "${with_arch}" in
4048 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2
4053 # process --with-nds32-lib
4054 case "${with_nds32_lib}" in
4056 # the default library is newlib
4057 with_nds32_lib=newlib
4066 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
4073 supported_defaults="arch"
4074 case "$with_arch" in
4079 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
4085 powerpc*-*-* | rs6000-*-*)
4086 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
4088 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4089 eval "val=\$with_$which"
4091 default32 | default64)
4096 echo "$val only valid for --with-cpu and --with-tune." 1>&2
4100 with_which="with_$which"
4104 tm_defines="${tm_defines} CONFIG_PPC405CR"
4105 eval "with_$which=405"
4107 "" | common | native \
4108 | power | power[23456789] | power6x | powerpc | powerpc64 \
4109 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
4110 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4111 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4112 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4113 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4114 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4118 echo "Unknown cpu used in --with-$which=$val." 1>&2
4125 "" | elfv1 | elfv2 )
4129 echo "Unknown ABI used in --with-abi=$with_abi"
4134 if test "x$with_advance_toolchain" != x; then
4135 if test -d "/opt/$with_advance_toolchain/." -a \
4136 -d "/opt/$with_advance_toolchain/bin/." -a \
4137 -d "/opt/$with_advance_toolchain/include/."; then
4139 tm_file="$tm_file ./advance-toolchain.h"
4140 (at="/opt/$with_advance_toolchain"
4141 echo "/* Use Advance Toolchain $at */"
4143 echo "#undef LINK_OS_EXTRA_SPEC32"
4144 echo "#define LINK_OS_EXTRA_SPEC32" \
4145 "\"%(link_os_new_dtags)" \
4146 "-rpath $prefix/lib -rpath $at/lib" \
4147 "-L $prefix/lib -L $at/lib\""
4149 echo "#undef LINK_OS_EXTRA_SPEC64"
4150 echo "#define LINK_OS_EXTRA_SPEC64" \
4151 "\"%(link_os_new_dtags)" \
4152 "-rpath $prefix/lib64 -rpath $at/lib64" \
4153 "-L $prefix/lib64 -L $at/lib64\""
4155 echo "#undef LINK_OS_NEW_DTAGS_SPEC"
4156 echo "#define LINK_OS_NEW_DTAGS_SPEC" \
4157 "\"--enable-new-dtags\""
4159 echo "#undef DYNAMIC_LINKER_PREFIX"
4160 echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
4162 echo "#undef MD_EXEC_PREFIX"
4163 echo "#define MD_EXEC_PREFIX \"$at/bin/\""
4165 echo "#undef MD_STARTFILE_PREFIX"
4166 echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
4167 > advance-toolchain.h
4169 echo "Unknown advance-toolchain $with_advance_toolchain"
4176 supported_defaults="arch mode tune"
4178 for which in arch tune; do
4179 eval "val=\$with_$which"
4181 "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | arch3 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11)
4185 echo "Unknown cpu used in --with-$which=$val." 1>&2
4191 case ${with_mode} in
4196 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4202 sh[123456ble]*-*-* | sh-*-*)
4203 supported_defaults="cpu"
4204 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4205 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4208 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4210 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4213 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
4214 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4215 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4216 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4222 supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64"
4224 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4225 eval "val=\$with_$which"
4227 "" | sparc | sparcv9 | sparc64 \
4229 | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4230 | sparclite | f930 | f934 | sparclite86x \
4231 | sparclet | tsc701 \
4232 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4233 | niagara3 | niagara4 | niagara7)
4237 echo "Unknown cpu used in --with-$which=$val" 1>&2
4243 case ${with_float} in
4248 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4255 supported_defaults="arch tune"
4257 for which in arch tune; do
4258 eval "val=\$with_$which"
4260 "" | cell | celledp)
4264 echo "Unknown cpu used in --with-$which=$val." 1>&2
4272 supported_defaults="arch"
4274 case ${with_arch} in
4275 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4279 echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4286 supported_defaults=cpu
4288 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4292 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4298 supported_defaults="cpu"
4302 *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4309 # Set some miscellaneous flags for particular targets.
4310 target_cpu_default2=
4313 if test x"$target_cpu_cname" != x
4315 target_cpu_default2=$target_cpu_cname
4320 if test x$target_cpu_cname = x
4322 target_cpu_default2=TARGET_CPU_arm6
4324 target_cpu_default2=TARGET_CPU_$target_cpu_cname
4329 if test x$gas = xyes
4331 target_cpu_default2="MASK_GAS"
4335 fido*-*-* | m68k*-*-*)
4336 target_cpu_default2=$m68k_cpu_ident
4337 tmake_file="m68k/t-opts $tmake_file"
4338 if [ x"$m68k_arch_family" != x ]; then
4339 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4343 i[34567]86-*-darwin* | x86_64-*-darwin*)
4345 i[34567]86-*-linux* | x86_64-*-linux*)
4346 tmake_file="$tmake_file i386/t-linux"
4348 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
4349 tmake_file="$tmake_file i386/t-kfreebsd"
4352 tmake_file="$tmake_file i386/t-gnu"
4354 i[34567]86-*-msdosdjgpp*)
4355 tmake_file="${tmake_file} i386/t-djgpp"
4357 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
4359 i[34567]86-*-cygwin* | x86_64-*-cygwin*)
4361 i[34567]86-*-mingw* | x86_64-*-mingw*)
4363 i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
4365 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
4371 if test x$gnu_ld = xyes
4373 target_cpu_default2="MASK_SPLIT_ADDRESSES"
4377 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
4380 if test x$with_arch != x; then
4381 default_mips_arch=$with_arch
4383 if test x$with_abi != x; then
4384 default_mips_abi=$with_abi
4386 case ${default_mips_arch} in
4387 mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
4388 mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
4389 mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
4390 mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
4391 mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
4392 mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
4393 mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
4394 mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
4395 mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
4396 mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
4398 case ${default_mips_abi} in
4399 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
4400 o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
4401 n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
4402 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
4403 eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
4405 tmake_file="mips/t-mips $tmake_file"
4408 powerpc*-*-* | rs6000-*-*)
4409 # FIXME: The PowerPC port uses the value set at compile time,
4410 # although it's only cosmetic.
4411 if test "x$with_cpu" != x
4413 target_cpu_default2="\\\"$with_cpu\\\""
4415 out_file=rs6000/rs6000.c
4416 c_target_objs="${c_target_objs} rs6000-c.o"
4417 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
4418 tmake_file="rs6000/t-rs6000 ${tmake_file}"
4421 sh[123456ble]*-*-* | sh-*-*)
4422 c_target_objs="${c_target_objs} sh-c.o"
4423 cxx_target_objs="${cxx_target_objs} sh-c.o"
4427 # Some standard aliases.
4432 xsparcv9 | xsparc64)
4437 if test x$with_tune = x ; then
4448 # The SPARC port checks this value at compile-time.
4449 target_cpu_default2="TARGET_CPU_$with_cpu"
4453 case "x$with_cpu" in
4456 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
4457 target_cpu_default2="TARGET_CPU_$with_cpu"
4460 target_cpu_default2="TARGET_CPU_v850e1"
4465 target_cpu_default2="TARGET_CPU_$with_cpu"
4470 all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu nan fp_32 odd_spreg_32 divide llsc mips-plt synci tls"
4471 for option in $all_defaults
4473 eval "val=\$with_"`echo $option | sed s/-/_/g`
4474 if test -n "$val"; then
4475 case " $supported_defaults " in
4479 echo "This target does not support --with-$option." 2>&1
4480 echo "Valid --with options are: $supported_defaults" 2>&1
4487 t="{ \"$option\", \"$val\" }"
4489 t="${t}, { \"$option\", \"$val\" }"
4496 configure_default_options="{ { NULL, NULL} }"
4498 configure_default_options="{ ${t} }"
4501 if test "$target_cpu_default2" != ""
4503 if test "$target_cpu_default" != ""
4505 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
4507 target_cpu_default=$target_cpu_default2
4512 i[34567]86-*-* | x86_64-*-*)
4513 if test x$enable_as_accelerator = xyes; then
4514 extra_programs="mkoffload\$(exeext)"