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_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"
322 extra_objs="arm-builtins.o aarch-common.o"
323 extra_headers="mmintrin.h arm_neon.h arm_acle.h"
324 target_type_format_char='%'
325 c_target_objs="arm-c.o"
326 cxx_target_objs="arm-c.o"
327 extra_options="${extra_options} arm/arm-tables.opt"
328 target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
332 c_target_objs="avr-c.o"
333 cxx_target_objs="avr-c.o"
342 extra_options="${extra_options} g.opt"
345 target_has_targetm_common=no
347 moxie*) cpu_type=moxie
348 target_has_targetm_common=no
352 extra_headers=math-68881.h
353 extra_options="${extra_options} m68k/m68k-tables.opt"
357 c_target_objs="i386-c.o"
358 cxx_target_objs="i386-c.o"
359 extra_options="${extra_options} fused-madd.opt"
360 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
361 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
362 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
363 immintrin.h x86intrin.h avxintrin.h xopintrin.h
364 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
365 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
366 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
367 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
368 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
369 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
370 shaintrin.h clflushoptintrin.h xsavecintrin.h
371 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
372 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
373 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
374 avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h
375 mwaitxintrin.h clzerointrin.h pkuintrin.h"
379 c_target_objs="i386-c.o"
380 cxx_target_objs="i386-c.o"
381 extra_options="${extra_options} fused-madd.opt"
382 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
383 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
384 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
385 immintrin.h x86intrin.h avxintrin.h xopintrin.h
386 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
387 lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h
388 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
389 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
390 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
391 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
392 shaintrin.h clflushoptintrin.h xsavecintrin.h
393 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
394 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
395 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
396 avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h
397 mwaitxintrin.h clzerointrin.h pkuintrin.h"
400 extra_headers=ia64intrin.h
401 extra_options="${extra_options} g.opt fused-madd.opt"
407 extra_options="${extra_options} g.opt"
411 extra_options="${extra_options} g.opt"
414 extra_headers=math-68881.h
415 extra_options="${extra_options} m68k/m68k-tables.opt"
419 extra_options="${extra_options} g.opt"
423 extra_headers="loongson.h msa.h"
424 extra_objs="frame-header-opt.o"
425 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt"
429 extra_headers="nds32_intrinsic.h"
430 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"
434 extra_options="${extra_options} g.opt"
441 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"
443 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
447 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
450 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
454 c_target_objs="sparc-c.o"
455 cxx_target_objs="sparc-c.o"
456 extra_headers="visintrin.h"
463 extra_options="${extra_options} fused-madd.opt"
464 extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
466 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
467 sh[123456789lbe]*-*-* | sh-*-*)
469 extra_options="${extra_options} fused-madd.opt"
470 extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
477 extra_headers="c6x_intrinsics.h"
478 extra_options="${extra_options} c6x/c6x-tables.opt"
481 extra_options="${extra_options} fused-madd.opt"
491 tm_file=${cpu_type}/${cpu_type}.h
492 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
494 tm_p_file=${cpu_type}/${cpu_type}-protos.h
497 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
499 extra_modes=${cpu_type}/${cpu_type}-modes.def
501 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
503 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
508 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
511 if test "x$with_multilib_list" = xilp32; then
512 tm_file="aarch64/biarchilp32.h ${tm_file}"
514 tm_file="aarch64/biarchlp64.h ${tm_file}"
518 tm_file="aarch64/biarchilp32.h ${tm_file}"
521 tm_file="aarch64/biarchlp64.h ${tm_file}"
524 echo "Unknown ABI used in --with-abi=$with_abi"
529 if test "x$with_abi" != x; then
530 echo "This target does not support --with-abi."
533 if test "x$enable_cld" = xyes; then
534 tm_defines="${tm_defines} USE_IX86_CLD=1"
536 if test "x$enable_frame_pointer" = xyes; then
537 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
539 tm_file="vxworks-dummy.h ${tm_file}"
544 if test "x$with_multilib_list" = xmx32; then
545 tm_file="i386/biarchx32.h ${tm_file}"
547 tm_file="i386/biarch64.h ${tm_file}"
551 tm_file="i386/biarch64.h ${tm_file}"
554 tm_file="i386/biarchx32.h ${tm_file}"
557 echo "Unknown ABI used in --with-abi=$with_abi"
560 if test "x$enable_cld" = xyes; then
561 tm_defines="${tm_defines} USE_IX86_CLD=1"
563 if test "x$enable_frame_pointer" = xyes; then
564 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
566 tm_file="vxworks-dummy.h ${tm_file}"
569 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
570 tm_file="vxworks-dummy.h ${tm_file}"
572 mips*-*-* | sh*-*-* | sparc*-*-*)
573 tm_file="vxworks-dummy.h ${tm_file}"
577 # On a.out targets, we need to use collect2.
584 # Common C libraries.
585 tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
587 # 32-bit x86 processors supported by --with-arch=. Each processor
588 # MUST be separated by exactly one space.
589 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
590 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
591 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
592 pentium4 pentium4m pentiumpro prescott lakemont"
594 # 64-bit x86 processors supported by --with-arch=. Each processor
595 # MUST be separated by exactly one space.
596 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
597 bdver3 bdver4 znver1 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \
598 core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \
599 sandybridge ivybridge haswell broadwell bonnell silvermont knl \
600 skylake-avx512 x86-64 native"
602 # Additional x86 processors supported by --with-cpu=. Each processor
603 # MUST be separated by exactly one space.
604 x86_cpus="generic intel"
606 # Common parts for widely ported systems.
609 tmake_file="t-darwin ${cpu_type}/t-darwin"
610 tm_file="${tm_file} darwin.h"
613 tm_file="${tm_file} darwin9.h"
616 tm_file="${tm_file} darwin9.h darwin10.h"
618 *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
619 tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
622 tm_file="${tm_file} ${cpu_type}/darwin.h"
623 tm_p_file="${tm_p_file} darwin-protos.h"
624 target_gtfiles="\$(srcdir)/config/darwin.c"
625 extra_options="${extra_options} darwin.opt"
626 c_target_objs="${c_target_objs} darwin-c.o"
627 cxx_target_objs="${cxx_target_objs} darwin-c.o"
628 fortran_target_objs="darwin-f.o"
629 target_has_targetcm=yes
630 extra_objs="darwin.o"
631 extra_gcc_objs="darwin-driver.o"
632 default_use_cxa_atexit=yes
634 case ${enable_threads} in
635 "" | yes | posix) thread_file='posix' ;;
641 tmake_file="t-slibgcc"
642 case ${enable_threads} in
647 # Let these non-posix thread selections fall through if requested
650 echo 'Unknown thread configuration for DragonFly BSD'
654 extra_options="$extra_options rpath.opt dragonfly.opt"
655 default_use_cxa_atexit=yes
659 # This is the generic ELF configuration of FreeBSD. Later
660 # machine-specific sections may refine and add to this
663 # Due to tm_file entry ordering issues that vary between cpu
664 # architectures, we only define fbsd_tm_file to allow the
665 # machine-specific section to dictate the final order of all
666 # entries of tm_file with the minor exception that components
667 # of the tm_file set here will always be of the form:
669 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
671 # The machine-specific section should not tamper with this
672 # ordering but may order all other entries of tm_file as it
673 # pleases around the provided core setting.
676 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
677 if test "$fbsd_major" = ""; then
678 echo "Specify the major version number of the targeted FreeBSD release"
679 echo "like this: --target=amd64-unknown-freebsd10.1"
682 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
683 tmake_file="t-slibgcc"
684 case ${enable_threads} in
686 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
692 echo 'Unknown thread configuration for FreeBSD'
696 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
697 extra_options="$extra_options rpath.opt freebsd.opt"
702 default_use_cxa_atexit=yes;;
706 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
707 extra_options="$extra_options gnu-user.opt"
710 case ${enable_threads} in
711 "" | yes | posix) thread_file='posix' ;;
713 tmake_file="t-slibgcc"
715 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu)
718 native_system_header_dir=/include
721 # Linux C libraries selection switch: glibc / uclibc / bionic.
722 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
725 tm_p_file="${tm_p_file} linux-protos.h"
726 tmake_file="${tmake_file} t-linux"
727 extra_objs="${extra_objs} linux.o"
728 extra_options="${extra_options} linux.opt"
733 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
736 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
739 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
742 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
745 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
747 default_use_cxa_atexit=yes
750 # Enable compilation for Android by default for *android* targets.
753 tm_defines="$tm_defines ANDROID_DEFAULT=1"
756 tm_defines="$tm_defines ANDROID_DEFAULT=0"
759 c_target_objs="${c_target_objs} glibc-c.o"
760 cxx_target_objs="${cxx_target_objs} glibc-c.o"
761 tmake_file="${tmake_file} t-glibc"
762 target_has_targetcm=yes
765 tmake_file="t-slibgcc"
769 # NetBSD 2.0 and later get POSIX threads enabled by default.
770 # Allow them to be explicitly enabled on any other version.
771 case ${enable_threads} in
774 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
776 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
782 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
786 # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
787 # default (unless overridden by --disable-__cxa_atexit).
789 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
790 default_use_cxa_atexit=yes
795 tmake_file="t-openbsd"
796 case ${enable_threads} in
802 *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
803 default_use_cxa_atexit=yes
808 case ${enable_threads} in
809 "" | yes | rtems) thread_file='rtems' ;;
810 posix) thread_file='posix' ;;
813 echo 'Unknown thread configuration for RTEMS'
817 tmake_file="${tmake_file} t-rtems"
818 extra_options="${extra_options} rtems.opt"
819 default_use_cxa_atexit=yes
823 extra_options="$extra_options gnu-user.opt"
825 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
831 # i?86-*-solaris2* needs to insert headers between cpu default and
832 # Solaris 2 specific ones.
833 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
834 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
835 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
837 *-*-solaris2.1[2-9]*)
838 # __cxa_atexit was introduced in Solaris 12.
839 default_use_cxa_atexit=yes
843 if test x$gnu_ld = xyes; then
844 tm_file="usegld.h ${tm_file}"
846 if test x$gas = xyes; then
847 tm_file="usegas.h ${tm_file}"
849 tm_p_file="${tm_p_file} sol2-protos.h"
850 tmake_file="${tmake_file} t-sol2 t-slibgcc"
851 c_target_objs="${c_target_objs} sol2-c.o"
852 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
853 extra_objs="sol2.o sol2-stubs.o"
854 extra_options="${extra_options} sol2.opt"
855 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
856 "":yes:* | yes:yes:* )
862 extra_options="${extra_options} vms/vms.opt"
864 tmake_file="vms/t-vms t-slibgcc"
866 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
867 tm_p_file="${tm_p_file} vms/vms-protos.h"
868 xm_file="vms/xm-vms.h"
869 c_target_objs="vms-c.o"
870 cxx_target_objs="vms-c.o"
871 fortran_target_objs="vms-f.o"
872 use_gcc_stdint=provide
873 tm_file="${tm_file} vms/vms-stdint.h"
874 if test x$gnu_ld != xyes; then
875 # Build wrappers for native case.
876 extra_programs="ld\$(exeext) ar\$(exeext)"
877 tmake_file="$tmake_file vms/t-vmsnative"
883 extra_options="${extra_options} vxworks.opt"
884 extra_objs="$extra_objs vxworks.o"
885 case ${enable_threads} in
887 "" | yes | vxworks) thread_file='vxworks' ;;
888 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
892 # Assume that newlib is being used and so __cxa_atexit is provided.
893 default_use_cxa_atexit=yes
899 aarch64*-*-elf | aarch64*-*-rtems*)
900 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
901 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
902 tmake_file="${tmake_file} aarch64/t-aarch64"
908 tm_file="${tm_file} rtems.h aarch64/rtems.h"
913 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
916 aarch64_multilibs="${with_multilib_list}"
917 if test "$aarch64_multilibs" = "default"; then
918 aarch64_multilibs="lp64,ilp32"
920 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
921 for aarch64_multilib in ${aarch64_multilibs}; do
922 case ${aarch64_multilib} in
924 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
927 echo "--with-multilib-list=${aarch64_multilib} not supported."
931 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
934 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
935 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
936 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
939 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
942 aarch64_multilibs="${with_multilib_list}"
943 if test "$aarch64_multilibs" = "default"; then
944 # TODO: turn on ILP32 multilib build after its support is mature.
945 # aarch64_multilibs="lp64,ilp32"
946 aarch64_multilibs="lp64"
948 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
949 for aarch64_multilib in ${aarch64_multilibs}; do
950 case ${aarch64_multilib} in
952 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
955 echo "--with-multilib-list=${aarch64_multilib} not supported."
959 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
962 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
963 tmake_file="${tmake_file} alpha/t-linux"
964 extra_options="${extra_options} alpha/elf.opt"
967 tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
968 extra_options="${extra_options} alpha/elf.opt"
971 tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
972 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
976 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
977 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
978 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
979 # default x-alpha is only appropriate for dec-osf.
982 tm_file="${tm_file} vms/vms.h alpha/vms.h"
983 tmake_file="${tmake_file} alpha/t-vms"
986 extra_headers="arc-simd.h"
987 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
988 tmake_file="arc/t-arc-newlib arc/t-arc"
989 case x"${with_cpu}" in
990 xarc600|xarc601|xarc700)
991 target_cpu_default="TARGET_CPU_$with_cpu"
994 if test x${with_endian} = x; then
996 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
997 *) with_endian=little ;;
1000 case ${with_endian} in
1002 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1004 case ${with_endian} in
1005 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1008 arc*-*-linux-uclibc*)
1009 extra_headers="arc-simd.h"
1010 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}"
1011 tmake_file="${tmake_file} arc/t-arc-uClibc arc/t-arc"
1012 tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0"
1013 tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1"
1014 case x"${with_cpu}" in
1015 xarc600|xarc601|xarc700)
1016 target_cpu_default="TARGET_CPU_$with_cpu"
1019 if test x${with_endian} = x; then
1021 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1022 *) with_endian=little ;;
1025 case ${with_endian} in
1027 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1029 case ${with_endian} in
1030 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1034 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1035 extra_options="${extra_options} arm/vxworks.opt"
1036 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1038 arm*-*-freebsd*) # ARM FreeBSD EABI
1039 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1042 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1045 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1046 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1049 tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
1050 if test $fbsd_major -ge 11; then
1051 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1055 with_tls=${with_tls:-gnu}
1058 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1059 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1060 tmake_file="${tmake_file} arm/t-arm"
1062 arm*-*-linux-*) # ARM GNU/Linux with ELF
1063 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"
1064 extra_options="${extra_options} linux-android.opt"
1067 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1070 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1071 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1072 # Define multilib configuration for arm-linux-androideabi.
1075 tmake_file="$tmake_file arm/t-linux-androideabi"
1078 # The EABI requires the use of __cxa_atexit.
1079 default_use_cxa_atexit=yes
1080 with_tls=${with_tls:-gnu}
1082 arm*-*-uclinux*eabi*) # ARM ucLinux
1083 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1084 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1085 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1086 # The EABI requires the use of __cxa_atexit.
1087 default_use_cxa_atexit=yes
1089 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
1092 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1094 default_use_cxa_atexit=yes
1095 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1096 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1099 tm_file="$tm_file newlib-stdint.h"
1100 tmake_file="${tmake_file} arm/t-bpabi"
1104 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1105 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1108 tm_file="${tm_file} arm/symbian.h"
1109 # We do not include t-bpabi for Symbian OS because the system
1110 # provides its own implementation of the BPABI functions.
1111 tmake_file="${tmake_file} arm/t-symbian"
1114 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
1117 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1118 if test x${with_avrlibc} != xno; then
1119 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1120 tm_defines="${tm_defines} WITH_AVRLIBC"
1122 tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1124 extra_gcc_objs="driver-avr.o avr-devices.o"
1125 extra_objs="avr-devices.o avr-log.o"
1128 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1129 tmake_file=bfin/t-bfin-elf
1133 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1134 tmake_file=bfin/t-bfin-uclinux
1137 bfin*-linux-uclibc*)
1138 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"
1139 tmake_file="${tmake_file} bfin/t-bfin-linux"
1143 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1144 tmake_file="${tmake_file} bfin/t-rtems"
1147 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1152 tm_file="elfos.h ${tm_file} newlib-stdint.h"
1153 tmake_file="${tmake_file} cr16/t-cr16 "
1156 crisv32-*-elf | crisv32-*-none)
1157 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1158 tmake_file="cris/t-cris"
1159 target_cpu_default=32
1161 extra_options="${extra_options} cris/elf.opt"
1164 cris-*-elf | cris-*-none)
1165 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1166 tmake_file="cris/t-cris cris/t-elfmulti"
1168 extra_options="${extra_options} cris/elf.opt"
1171 crisv32-*-linux* | cris-*-linux*)
1172 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1173 tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1174 extra_options="${extra_options} cris/linux.opt"
1177 target_cpu_default=10
1180 target_cpu_default=32
1185 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1186 tmake_file="epiphany/t-epiphany"
1187 extra_options="${extra_options} fused-madd.opt"
1188 extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
1189 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1190 extra_headers="epiphany_intrinsics.h"
1193 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1196 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1197 tmake_file=frv/t-frv
1200 tm_file="dbxelf.h elfos.h ${tm_file} \
1201 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1202 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1207 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1208 tmake_file="${tmake_file} ft32/t-ft32"
1213 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1214 tmake_file="${tmake_file} moxie/t-moxie"
1219 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1220 tmake_file="${tmake_file} moxie/t-moxie"
1223 tmake_file="${tmake_file} moxie/t-moxie"
1224 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1229 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1230 tmake_file="${tmake_file} moxie/t-moxiebox"
1233 tmake_file="h8300/t-h8300"
1234 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1237 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1238 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1241 target_cpu_default="MASK_PA_11|MASK_PA_20"
1242 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1243 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1248 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
1249 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1250 pa/pa32-regs.h pa/pa32-linux.h"
1251 tmake_file="${tmake_file} pa/t-linux"
1254 target_cpu_default="MASK_PA_11"
1255 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1256 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1257 extra_options="${extra_options} openbsd.opt"
1261 hppa[12]*-*-hpux10*)
1263 hppa1.1-*-* | hppa2*-*-*)
1264 target_cpu_default="MASK_PA_11"
1267 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1268 pa/pa-hpux.h pa/pa-hpux10.h"
1269 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1272 tm_file="${tm_file} pa/pa-hpux1010.h"
1273 extra_options="${extra_options} pa/pa-hpux1010.opt"
1276 use_gcc_stdint=provide
1277 tm_file="${tm_file} hpux-stdint.h"
1278 tmake_file="t-slibgcc"
1279 case ${enable_threads} in
1281 if test x$have_pthread_h = xyes ; then
1282 tmake_file="${tmake_file} pa/t-dce-thr"
1286 tmake_file="${tmake_file} pa/t-dce-thr"
1291 if test "x$with_dwarf2" != x; then
1292 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1297 target_cpu_default="MASK_PA_11|MASK_PA_20"
1298 if test x$gnu_ld = xyes
1300 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1302 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1303 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1307 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1308 extra_options="${extra_options} pa/pa-hpux1111.opt"
1311 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1312 extra_options="${extra_options} pa/pa-hpux1131.opt"
1315 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1318 extra_options="${extra_options} pa/pa-hpux.opt \
1319 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1320 tmake_file="t-slibgcc"
1321 case x${enable_threads} in
1329 use_gcc_stdint=provide
1330 tm_file="${tm_file} hpux-stdint.h"
1334 tm_file="${tm_file} hpux-stdint.h"
1338 hppa[12]*-*-hpux11*)
1340 hppa1.1-*-* | hppa2*-*-*)
1341 target_cpu_default="MASK_PA_11"
1344 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1345 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1346 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1350 tm_file="${tm_file} pa/pa-hpux1111.h"
1351 extra_options="${extra_options} pa/pa-hpux1111.opt"
1354 tm_file="${tm_file} pa/pa-hpux1131.h"
1355 extra_options="${extra_options} pa/pa-hpux1131.opt"
1358 tmake_file="t-slibgcc"
1359 case x${enable_threads} in
1368 use_gcc_stdint=provide
1369 tm_file="${tm_file} hpux-stdint.h"
1373 tm_file="${tm_file} hpux-stdint.h"
1376 if test "x$with_dwarf2" != x; then
1377 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1381 i[34567]86-*-darwin*)
1383 # Baseline choice for a machine that allows m64 support.
1384 with_cpu=${with_cpu:-core2}
1385 tmake_file="${tmake_file} t-slibgcc"
1388 with_cpu=${with_cpu:-core2}
1389 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1390 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1392 i[34567]86-*-elfiamcu)
1393 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
1396 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1399 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1402 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"
1405 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1408 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"
1409 tmake_file="i386/t-i386elf t-svr4"
1411 i[34567]86-*-dragonfly*)
1412 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1413 tmake_file="${tmake_file} i386/t-crtstuff"
1415 x86_64-*-dragonfly*)
1416 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"
1417 tmake_file="${tmake_file} i386/t-crtstuff"
1419 i[34567]86-*-freebsd*)
1420 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1423 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"
1425 i[34567]86-*-netbsdelf*)
1426 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
1427 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1430 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
1431 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1433 i[34567]86-*-openbsd*)
1434 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1435 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1436 extra_options="${extra_options} openbsd.opt"
1441 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1442 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1443 extra_options="${extra_options} openbsd.opt"
1447 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1448 # Intel 80386's running GNU/*
1449 # with ELF format using glibc 2
1450 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1452 i[34567]86-*-linux*)
1453 tm_file="${tm_file} linux.h linux-android.h"
1454 extra_options="${extra_options} linux-android.opt"
1455 # Assume modern glibc if not targeting Android nor uclibc.
1457 *-*-*android*|*-*-*uclibc*)
1460 default_gnu_indirect_function=yes
1463 if test x$enable_targets = xall; then
1464 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1465 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1466 tmake_file="${tmake_file} i386/t-linux64"
1467 x86_multilibs="${with_multilib_list}"
1468 if test "$x86_multilibs" = "default"; then
1469 x86_multilibs="m64,m32"
1471 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1472 for x86_multilib in ${x86_multilibs}; do
1473 case ${x86_multilib} in
1475 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1478 echo "--with-multilib-list=${x86_with_multilib} not supported."
1482 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1484 if test x$with_cpu = x; then
1485 if test x$with_cpu_64 = x; then
1489 case " $x86_cpus $x86_archs $x86_64_archs " in
1493 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1494 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1500 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1503 i[34567]86-*-kfreebsd*-gnu)
1504 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1506 i[34567]86-*-kopensolaris*-gnu)
1507 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1510 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1514 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
1515 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1516 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1519 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1520 extra_options="${extra_options} linux-android.opt"
1521 # Assume modern glibc if not targeting Android nor uclibc.
1523 *-*-*android*|*-*-*uclibc*)
1526 default_gnu_indirect_function=yes
1530 x86_64-*-kfreebsd*-gnu)
1531 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1534 tmake_file="${tmake_file} i386/t-linux64"
1535 x86_multilibs="${with_multilib_list}"
1536 if test "$x86_multilibs" = "default"; then
1539 x86_multilibs="mx32"
1542 x86_multilibs="m64,m32"
1546 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1547 for x86_multilib in ${x86_multilibs}; do
1548 case ${x86_multilib} in
1550 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1553 echo "--with-multilib-list=${x86_with_multilib} not supported."
1557 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1559 i[34567]86-pc-msdosdjgpp*)
1560 xm_file=i386/xm-djgpp.h
1561 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1562 native_system_header_dir=/dev/env/DJDIR/include
1563 extra_options="${extra_options} i386/djgpp.opt"
1568 i[34567]86-*-lynxos*)
1570 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1571 tmake_file="${tmake_file} t-lynx"
1572 extra_options="${extra_options} lynx.opt"
1577 i[34567]86-*-nto-qnx*)
1578 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1579 extra_options="${extra_options} i386/nto.opt"
1583 i[34567]86-*-rtems*)
1584 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"
1585 tmake_file="${tmake_file} i386/t-rtems"
1587 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1588 # Set default arch_32 to pentium4, tune_32 to generic like the other
1589 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1590 with_arch_32=${with_arch_32:-pentium4}
1591 with_tune_32=${with_tune_32:-generic}
1592 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1593 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1594 tmake_file="$tmake_file i386/t-sol2"
1596 if test x$with_cpu = x; then
1597 if test x$with_cpu_64 = x; then
1601 case " $x86_cpus $x86_archs $x86_64_archs " in
1605 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1606 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1612 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
1613 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
1616 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1617 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1620 tm_file="${tm_file} vxworks.h i386/vxworks.h"
1621 tmake_file="${tmake_file} i386/t-vxworks"
1625 i[34567]86-*-cygwin*)
1626 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"
1627 xm_file=i386/xm-cygwin.h
1628 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1629 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1630 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1631 extra_objs="winnt.o winnt-stubs.o"
1632 c_target_objs="${c_target_objs} msformat-c.o"
1633 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1634 if test x$enable_threads = xyes; then
1637 default_use_cxa_atexit=yes
1642 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"
1643 xm_file=i386/xm-cygwin.h
1644 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1645 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1646 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1647 extra_objs="winnt.o winnt-stubs.o"
1648 c_target_objs="${c_target_objs} msformat-c.o"
1649 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1650 if test x$enable_threads = xyes; then
1653 default_use_cxa_atexit=yes
1655 tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1657 i[34567]86-*-mingw* | x86_64-*-mingw*)
1658 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1659 xm_file=i386/xm-mingw32.h
1660 c_target_objs="${c_target_objs} winnt-c.o"
1661 cxx_target_objs="${cxx_target_objs} winnt-c.o"
1662 target_has_targetcm="yes"
1664 x86_64-*-* | *-w64-*)
1670 if test x$enable_threads = xposix ; then
1671 tm_file="${tm_file} i386/mingw-pthread.h"
1673 tm_file="${tm_file} i386/mingw32.h"
1674 # This makes the logic if mingw's or the w64 feature set has to be used
1677 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1678 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1679 tm_file="${tm_file} i386/mingw-w64.h"
1680 if test x$enable_targets = xall; then
1681 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1682 if test x$with_cpu = x; then
1683 if test x$with_cpu_64 = x; then
1687 case " $x86_cpus $x86_archs $x86_64_archs " in
1691 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1692 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1702 tm_file="${tm_file} i386/mingw-stdint.h"
1703 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1706 tmake_file="${tmake_file} i386/t-mingw-w64"
1709 tmake_file="${tmake_file} i386/t-mingw-w32"
1712 native_system_header_dir=/mingw/include
1713 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1714 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1717 extra_options="${extra_options} i386/mingw-w64.opt"
1722 extra_objs="winnt.o winnt-stubs.o"
1723 c_target_objs="${c_target_objs} msformat-c.o"
1724 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1727 default_use_cxa_atexit=yes
1729 case ${enable_threads} in
1739 tm_file="${tm_file} i386/crtdll.h"
1741 *mingw32msv* | *mingw*)
1746 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1747 tmake_file="ia64/t-ia64"
1748 target_cpu_default="0"
1749 if test x$gas = xyes
1751 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1753 if test x$gnu_ld = xyes
1755 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1759 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1760 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1761 tmake_file="${tmake_file} ia64/t-ia64"
1764 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1765 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1766 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1769 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1770 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1771 target_cpu_default="MASK_GNU_AS"
1772 case x$enable_threads in
1778 c_target_objs="ia64-c.o"
1779 cxx_target_objs="ia64-c.o"
1780 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
1782 tm_file="${tm_file} hpux-stdint.h"
1785 tm_file="${tm_file} ia64/hpux-unix2003.h"
1790 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1791 tmake_file="${tmake_file} ia64/t-ia64"
1792 target_cpu_default="0"
1793 if test x$gas = xyes
1795 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1797 extra_options="${extra_options} ia64/vms.opt"
1800 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
1801 out_file=iq2000/iq2000.c
1802 md_file=iq2000/iq2000.md
1805 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
1806 tmake_file="${tmake_file} lm32/t-lm32"
1809 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
1810 tmake_file="${tmake_file} lm32/t-lm32"
1811 tmake_file="${tmake_file} lm32/t-rtems"
1814 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
1815 tmake_file="${tmake_file} lm32/t-lm32"
1818 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1821 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
1824 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
1825 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1827 if test x$enable_threads = xyes; then
1832 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
1833 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1835 if test x$enable_threads = xyes; then
1839 m68k-*-elf* | fido-*-elf*)
1842 # Check that $with_cpu makes sense.
1847 echo "Cannot accept --with-cpu=$with_cpu"
1854 default_m68k_cpu=68020
1858 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"
1859 tm_defines="${tm_defines} MOTOROLA=1"
1860 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1861 # Add multilibs for targets other than fido.
1866 tmake_file="$tmake_file m68k/t-mlibs"
1871 default_m68k_cpu=68020
1873 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1874 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1875 tm_defines="${tm_defines} MOTOROLA=1"
1878 default_m68k_cpu=68020
1880 # needed to unconfuse gdb
1881 tm_defines="${tm_defines} OBSD_OLD_GAS"
1882 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
1883 extra_options="${extra_options} openbsd.opt"
1884 tmake_file="t-openbsd m68k/t-openbsd"
1885 # we need collect2 until our bug is fixed...
1888 m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
1889 # with uClibc, using the new GNU/Linux-style
1891 default_m68k_cpu=68020
1893 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"
1894 extra_options="${extra_options} m68k/uclinux.opt"
1895 tm_defines="${tm_defines} MOTOROLA=1"
1896 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
1898 m68k-*-linux*) # Motorola m68k's running GNU/Linux
1899 # with ELF format using glibc 2
1900 # aka the GNU/Linux C library 6.
1901 default_m68k_cpu=68020
1903 with_arch=${with_arch:-m68k}
1904 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
1905 extra_options="${extra_options} m68k/ieee.opt"
1906 tm_defines="${tm_defines} MOTOROLA=1"
1907 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
1910 default_m68k_cpu=68020
1912 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
1913 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"
1914 tm_defines="${tm_defines} MOTOROLA=1"
1917 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
1918 tmake_file=mcore/t-mcore
1922 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
1923 tmake_file=mep/t-mep
1924 c_target_objs="mep-pragma.o"
1925 cxx_target_objs="mep-pragma.o"
1926 if test -d "${srcdir}/../newlib/libc/include" &&
1927 test "x$with_headers" = x; then
1935 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1938 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1941 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
1942 tm_file="${tm_file} glibc-stdint.h"
1943 c_target_objs="${c_target_objs} microblaze-c.o"
1944 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1945 tmake_file="${tmake_file} microblaze/t-microblaze"
1946 tmake_file="${tmake_file} microblaze/t-microblaze-linux"
1948 microblaze*-*-rtems*)
1951 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1954 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1957 tm_file="${tm_file} dbxelf.h"
1958 tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
1959 c_target_objs="${c_target_objs} microblaze-c.o"
1960 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1961 tmake_file="${tmake_file} microblaze/t-microblaze"
1962 tmake_file="${tmake_file} microblaze/t-rtems"
1967 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1970 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1973 tm_file="${tm_file} dbxelf.h newlib-stdint.h"
1974 c_target_objs="${c_target_objs} microblaze-c.o"
1975 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1976 tmake_file="${tmake_file} microblaze/t-microblaze"
1978 mips*-*-netbsd*) # NetBSD/mips, either endian.
1979 target_cpu_default="MASK_ABICALLS"
1980 tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
1981 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1984 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"
1985 extra_options="${extra_options} linux-android.opt"
1986 tmake_file="${tmake_file} mips/t-img-linux"
1987 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
1992 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"
1993 extra_options="${extra_options} linux-android.opt"
1994 tmake_file="${tmake_file} mips/t-mti-linux"
1995 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
1999 mips*-*-linux*) # Linux MIPS, either endian.
2000 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"
2001 extra_options="${extra_options} linux-android.opt"
2004 default_mips_arch=mips32r6
2007 default_mips_arch=mips32r2
2010 default_mips_arch=mips32
2012 mips64el-st-linux-gnu)
2013 default_mips_abi=n32
2014 tm_file="${tm_file} mips/st.h"
2015 tmake_file="${tmake_file} mips/t-st"
2016 enable_mips_multilibs="yes"
2018 mips64octeon*-*-linux*)
2019 default_mips_abi=n32
2020 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2021 target_cpu_default=MASK_SOFT_FLOAT_ABI
2022 enable_mips_multilibs="yes"
2024 mipsisa64r6*-*-linux*)
2025 default_mips_abi=n32
2026 default_mips_arch=mips64r6
2027 enable_mips_multilibs="yes"
2029 mipsisa64r2*-*-linux*)
2030 default_mips_abi=n32
2031 default_mips_arch=mips64r2
2032 enable_mips_multilibs="yes"
2034 mips64*-*-linux* | mipsisa64*-*-linux*)
2035 default_mips_abi=n32
2036 enable_mips_multilibs="yes"
2039 if test x$enable_targets = xall; then
2040 enable_mips_multilibs="yes"
2042 if test x$enable_mips_multilibs = xyes; then
2043 tmake_file="${tmake_file} mips/t-linux64"
2047 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2048 tmake_file="mips/t-mti-elf"
2049 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2052 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2053 tmake_file="mips/t-img-elf"
2054 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2057 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2058 tmake_file="mips/t-sde"
2059 extra_options="${extra_options} mips/sde.opt"
2060 case "${with_newlib}" in
2062 # newlib / libgloss.
2065 # MIPS toolkit libraries.
2066 tm_file="$tm_file mips/sdemtk.h"
2067 tmake_file="$tmake_file mips/t-sdemtk"
2068 case ${enable_threads} in
2070 thread_file='mipssde'
2077 tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2080 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2083 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2086 tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2089 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2092 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2096 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2097 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2098 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2099 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2100 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2101 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2102 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2103 tmake_file="mips/t-isa3264"
2106 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2109 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2112 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2115 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2118 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2121 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2125 mipsisa32*-*-elfoabi*)
2126 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2127 tm_file="${tm_file} mips/elfoabi.h"
2129 mipsisa64*-*-elfoabi*)
2130 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2131 tm_file="${tm_file} mips/elfoabi.h"
2134 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2138 mipsisa64sr71k-*-elf*)
2139 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2140 tmake_file=mips/t-sr71k
2141 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2143 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2144 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2145 tmake_file="mips/t-elf mips/t-sb1"
2146 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2148 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2149 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2150 tmake_file="mips/t-elf"
2152 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2153 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2154 tmake_file="mips/t-elf"
2155 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2157 mips64-*-elf* | mips64el-*-elf*)
2158 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2159 tmake_file="mips/t-elf"
2160 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2162 mips64vr-*-elf* | mips64vrel-*-elf*)
2163 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2164 tmake_file=mips/t-vr
2165 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2167 mips64orion-*-elf* | mips64orionel-*-elf*)
2168 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2169 tmake_file="mips/t-elf"
2170 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2173 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2174 tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2177 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2178 tmake_file="${tmake_file} mips/t-vxworks"
2180 mipstx39-*-elf* | mipstx39el-*-elf*)
2181 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2182 tmake_file="mips/t-r3900"
2184 mmix-knuth-mmixware)
2185 tm_file="${tm_file} newlib-stdint.h"
2189 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2190 if test x$stabs = xyes
2192 tm_file="${tm_file} dbx.h"
2198 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2199 c_target_objs="msp430-c.o"
2200 cxx_target_objs="msp430-c.o"
2201 tmake_file="${tmake_file} msp430/t-msp430"
2202 extra_gcc_objs="driver-msp430.o"
2205 target_cpu_default="0"
2206 tm_defines="${tm_defines}"
2207 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2208 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2211 target_cpu_default="0|MASK_BIG_ENDIAN"
2212 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2213 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2214 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2217 tm_file="elfos.h ${tm_file}"
2218 tmake_file="${tmake_file} nios2/t-nios2"
2221 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2224 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2225 extra_options="${extra_options} nios2/elf.opt"
2228 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2229 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2234 tm_file="${tm_file} newlib-stdint.h"
2235 tmake_file="nvptx/t-nvptx"
2236 if test x$enable_as_accelerator = xyes; then
2237 extra_programs="${extra_programs} mkoffload\$(exeext)"
2238 tm_file="${tm_file} nvptx/offload.h"
2242 tm_file="${tm_file} newlib-stdint.h"
2245 # port not yet contributed
2246 #powerpc-*-openbsd*)
2247 # tmake_file="${tmake_file} rs6000/t-fprules"
2251 extra_options="${extra_options} rs6000/darwin.opt"
2253 *-darwin1[0-9]* | *-darwin[8-9]*)
2254 tmake_file="${tmake_file} rs6000/t-darwin8"
2255 tm_file="${tm_file} rs6000/darwin8.h"
2258 tm_file="${tm_file} rs6000/darwin7.h"
2263 tmake_file="${tmake_file} t-slibgcc"
2264 extra_headers=altivec.h
2266 powerpc64-*-darwin*)
2267 extra_options="${extra_options} ${cpu_type}/darwin.opt"
2268 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
2269 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
2270 extra_headers=altivec.h
2272 powerpc*-*-freebsd*)
2273 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
2274 extra_options="${extra_options} rs6000/sysv4.opt"
2275 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2278 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2279 tmake_file="${tmake_file} rs6000/t-freebsd64"
2280 extra_options="${extra_options} rs6000/linux64.opt"
2283 tm_file="${tm_file} rs6000/freebsd.h"
2288 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2289 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2290 tmake_file="${tmake_file} rs6000/t-netbsd"
2291 extra_options="${extra_options} rs6000/sysv4.opt"
2294 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"
2295 extra_options="${extra_options} rs6000/sysv4.opt"
2296 tmake_file="rs6000/t-spe rs6000/t-ppccomm"
2299 powerpc-*-eabisimaltivec*)
2300 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"
2301 extra_options="${extra_options} rs6000/sysv4.opt"
2302 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2306 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"
2307 extra_options="${extra_options} rs6000/sysv4.opt"
2308 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2312 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2313 extra_options="${extra_options} rs6000/sysv4.opt"
2314 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2316 powerpc-*-eabialtivec*)
2317 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"
2318 extra_options="${extra_options} rs6000/sysv4.opt"
2319 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2322 powerpc-xilinx-eabi*)
2323 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"
2324 extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
2325 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
2329 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"
2330 extra_options="${extra_options} rs6000/sysv4.opt"
2331 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2335 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"
2336 extra_options="${extra_options} rs6000/sysv4.opt"
2337 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2340 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2341 extra_options="${extra_options} rs6000/sysv4.opt"
2342 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2343 extra_objs="$extra_objs rs6000-linux.o"
2346 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2348 case ${target}:${with_cpu} in
2349 powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2351 maybe_biarch=${cpu_is_64bit}
2352 case ${enable_targets} in
2353 *powerpc64*) maybe_biarch=yes ;;
2354 all) maybe_biarch=yes ;;
2357 powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
2358 echo "*** Configuration ${target} not supported" 1>&2
2361 powerpc*-*-linux*spe* | powerpc*-*-linux*paired*)
2365 case ${target}:${enable_targets}:${maybe_biarch} in
2366 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2367 | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2368 | powerpcle-*:*powerpc64le*:yes)
2369 if test x$cpu_is_64bit = xyes; then
2370 tm_file="${tm_file} rs6000/default64.h"
2372 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2373 tmake_file="$tmake_file rs6000/t-linux64"
2376 tmake_file="$tmake_file rs6000/t-linux64le"
2377 case ${enable_targets} in
2378 all | *powerpc64-* | *powerpc-*)
2379 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2382 case ${enable_targets} in
2383 all | *powerpc64le-* | *powerpcle-*)
2384 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2387 extra_options="${extra_options} rs6000/linux64.opt"
2390 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2391 extra_options="${extra_options} rs6000/linux64.opt"
2392 tmake_file="${tmake_file} rs6000/t-linux"
2395 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2396 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2400 powerpc*-*-linux*ppc476*)
2401 tm_file="${tm_file} rs6000/476.h"
2402 extra_options="${extra_options} rs6000/476.opt" ;;
2403 powerpc*-*-linux*altivec*)
2404 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2405 powerpc*-*-linux*spe*)
2406 tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;;
2407 powerpc*-*-linux*paired*)
2408 tm_file="${tm_file} rs6000/750cl.h" ;;
2412 enable_secureplt=yes ;;
2414 if test x${enable_secureplt} = xyes; then
2415 tm_file="rs6000/secureplt.h ${tm_file}"
2418 powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
2419 tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
2420 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2421 extra_options="${extra_options} rs6000/sysv4.opt"
2422 extra_headers=ppc-asm.h
2425 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
2426 tmake_file="${tmake_file} rs6000/t-vxworksmils"
2429 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
2430 tmake_file="${tmake_file} rs6000/t-vxworksae"
2433 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
2439 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2440 tmake_file="t-lynx rs6000/t-lynx"
2441 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2447 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2448 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2449 extra_options="${extra_options} rs6000/sysv4.opt"
2451 powerpcle-*-eabisim*)
2452 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"
2453 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2454 extra_options="${extra_options} rs6000/sysv4.opt"
2458 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"
2459 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2460 extra_options="${extra_options} rs6000/sysv4.opt"
2463 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2464 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
2465 tmake_file="rs6000/t-aix43 t-slibgcc"
2466 extra_options="${extra_options} rs6000/aix64.opt"
2469 use_gcc_stdint=provide
2472 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
2473 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
2474 extra_options="${extra_options} rs6000/aix64.opt"
2475 tmake_file="rs6000/t-aix43 t-slibgcc"
2481 rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
2482 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
2483 tmake_file="rs6000/t-aix52 t-slibgcc"
2484 extra_options="${extra_options} rs6000/aix64.opt"
2490 rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
2491 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
2492 tmake_file="rs6000/t-aix52 t-slibgcc"
2493 extra_options="${extra_options} rs6000/aix64.opt"
2497 extra_headers=altivec.h
2499 rs6000-ibm-aix6.* | powerpc-ibm-aix6.*)
2500 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2501 tmake_file="rs6000/t-aix52 t-slibgcc"
2502 extra_options="${extra_options} rs6000/aix64.opt"
2506 extra_headers=altivec.h
2507 default_use_cxa_atexit=yes
2509 rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*)
2510 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h"
2511 tmake_file="rs6000/t-aix52 t-slibgcc"
2512 extra_options="${extra_options} rs6000/aix64.opt"
2516 extra_headers=altivec.h
2517 default_use_cxa_atexit=yes
2520 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2521 target_has_targetm_common=no
2522 c_target_objs="rl78-c.o"
2523 cxx_target_objs="rl78-c.o"
2524 tmake_file="${tmake_file} rl78/t-rl78"
2527 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2528 tmake_file="${tmake_file} rx/t-rx"
2531 default_gnu_indirect_function=yes
2532 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2533 c_target_objs="${c_target_objs} s390-c.o"
2534 cxx_target_objs="${cxx_target_objs} s390-c.o"
2535 if test x$enable_targets = xall; then
2536 tmake_file="${tmake_file} s390/t-linux64"
2538 tmake_file="${tmake_file} s390/t-s390"
2541 default_gnu_indirect_function=yes
2542 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2543 tm_p_file="linux-protos.h s390/s390-protos.h"
2544 c_target_objs="${c_target_objs} s390-c.o"
2545 cxx_target_objs="${cxx_target_objs} s390-c.o"
2546 md_file=s390/s390.md
2547 extra_modes=s390/s390-modes.def
2548 out_file=s390/s390.c
2549 tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
2552 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2553 tm_p_file=s390/s390-protos.h
2554 c_target_objs="${c_target_objs} s390-c.o"
2555 cxx_target_objs="${cxx_target_objs} s390-c.o"
2556 md_file=s390/s390.md
2557 extra_modes=s390/s390-modes.def
2558 out_file=s390/s390.c
2560 extra_options="${extra_options} s390/tpf.opt"
2561 tmake_file="${tmake_file} s390/t-s390"
2563 sh-*-elf* | sh[12346l]*-*-elf* | \
2564 sh-*-linux* | sh[2346lbe]*-*-linux* | \
2565 sh-*-netbsdelf* | shl*-*-netbsdelf*)
2566 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2567 if test x${with_endian} = x; then
2569 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2570 shbe-*-* | sheb-*-*) with_endian=big,little ;;
2571 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
2572 shl* | sh*-*-linux* | \
2573 sh-superh-elf) with_endian=little,big ;;
2574 sh[1234]*-*-*) with_endian=big ;;
2575 *) with_endian=big,little ;;
2578 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2579 # First word : the default endian.
2580 # Second word: the secondary endian (optional).
2581 case ${with_endian} in
2582 big) TM_ENDIAN_CONFIG=mb ;;
2583 little) TM_ENDIAN_CONFIG=ml ;;
2584 big,little) TM_ENDIAN_CONFIG="mb ml" ;;
2585 little,big) TM_ENDIAN_CONFIG="ml mb" ;;
2586 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
2588 case ${with_endian} in
2589 little*) tm_file="sh/little.h ${tm_file}" ;;
2591 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2593 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
2594 if test x$enable_fdpic = xyes; then
2595 tm_defines="$tm_defines FDPIC_DEFAULT=1"
2597 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2599 tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h"
2600 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2603 sh*-superh-elf) if test x$with_libgloss != xno; then
2605 tm_file="${tm_file} sh/newlib.h"
2607 tm_file="${tm_file} sh/embed-elf.h"
2608 tm_file="${tm_file} sh/superh.h"
2609 extra_options="${extra_options} sh/superh.opt" ;;
2610 *) if test x$with_newlib = xyes \
2611 && test x$with_libgloss = xyes; then
2612 tm_file="${tm_file} sh/newlib.h"
2614 tm_file="${tm_file} sh/embed-elf.h" ;;
2620 tm_file="${tm_file} newlib-stdint.h"
2623 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2624 case `echo ${target} | sed 's/e[lb]-/-/'` in
2625 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2626 sh4a_single*) sh_cpu_target=sh4a-single ;;
2627 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2628 sh4al) sh_cpu_target=sh4al ;;
2629 sh4a*) sh_cpu_target=sh4a ;;
2630 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2631 sh4_single*) sh_cpu_target=sh4-single ;;
2632 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2633 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2634 sh3e*) sh_cpu_target=sh3e ;;
2635 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
2636 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2637 sh2a_single*) sh_cpu_target=sh2a-single ;;
2638 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2639 sh2a*) sh_cpu_target=sh2a ;;
2640 sh2e*) sh_cpu_target=sh2e ;;
2641 sh2*) sh_cpu_target=sh2 ;;
2642 *) sh_cpu_target=sh1 ;;
2644 # did the user say --without-fp ?
2645 if test x$with_fp = xno; then
2646 case ${sh_cpu_target} in
2648 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
2649 sh4*) sh_cpu_target=sh4-nofpu ;;
2650 sh3*) sh_cpu_target=sh3 ;;
2651 sh2a*) sh_cpu_target=sh2a-nofpu ;;
2652 sh2*) sh_cpu_target=sh2 ;;
2653 *) echo --without-fp not available for $target: ignored
2655 tm_defines="$tm_defines STRICT_NOFPU=1"
2657 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2658 case $sh_cpu_default in
2659 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
2660 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
2661 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
2662 sh3e | sh3 | sh2e | sh2 | sh1) ;;
2663 "") sh_cpu_default=${sh_cpu_target} ;;
2664 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
2666 sh_multilibs=${with_multilib_list}
2667 if test "$sh_multilibs" = "default" ; then
2669 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
2670 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2671 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
2672 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
2673 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
2675 if test x$with_fp = xno; then
2676 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`"
2679 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
2680 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
2681 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2682 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
2683 for sh_multilib in ${sh_multilibs}; do
2684 case ${sh_multilib} in
2685 m1 | m2 | m2e | m3 | m3e | \
2686 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2687 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2688 m2a | m2a-single | m2a-single-only | m2a-nofpu)
2689 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2690 # It is passed to MULTIILIB_OPTIONS verbatim.
2691 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2692 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2694 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2695 # It is passed the MULTILIB_EXCEPTIONS verbatim.
2696 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
2698 echo "with_multilib_list=${sh_multilib} not supported."
2703 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
2704 if test x${enable_incomplete_targets} = xyes ; then
2705 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1"
2707 tm_file="$tm_file ./sysroot-suffix.h"
2708 tmake_file="$tmake_file t-sysroot-suffix"
2711 tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
2712 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
2715 tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
2716 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
2719 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
2722 tmake_file="sparc/t-sparc sparc/t-leon"
2725 tmake_file="sparc/t-sparc sparc/t-leon3"
2728 tmake_file="sparc/t-sparc sparc/t-elf"
2733 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
2734 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
2737 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
2738 extra_options="${extra_options} sparc/long-double-switch.opt"
2741 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
2744 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
2747 tmake_file="${tmake_file} sparc/t-sparc"
2750 if test x$enable_targets = xall; then
2751 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
2752 tmake_file="${tmake_file} sparc/t-linux64"
2754 tm_file="${tm_file} sparc/linux.h"
2755 tmake_file="${tmake_file} sparc/t-linux"
2759 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2760 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2761 extra_options="${extra_options} sparc/long-double-switch.opt"
2762 tmake_file="${tmake_file} sparc/t-sparc"
2765 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
2767 sparc64-*-* | sparcv9-*-*)
2768 tm_file="sparc/default-64.h ${tm_file}"
2771 test x$with_cpu != x || with_cpu=v9
2774 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
2777 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
2778 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
2781 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
2782 extra_options="${extra_options}"
2783 tmake_file="${tmake_file} sparc/t-sparc"
2786 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
2787 extra_options="${extra_options}"
2788 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
2791 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
2792 extra_options="${extra_options} sparc/long-double-switch.opt"
2793 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
2795 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2796 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2797 extra_options="${extra_options} sparc/long-double-switch.opt"
2798 case "x$with_cpu" in
2800 x) with_cpu=ultrasparc ;;
2801 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2803 tmake_file="${tmake_file} sparc/t-sparc"
2806 tm_file="sparc/biarch64.h ${tm_file}"
2807 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2808 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2809 extra_options="${extra_options} sparc/long-double-switch.opt"
2810 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
2813 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
2814 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
2815 extra_options="${extra_options} openbsd.opt"
2816 extra_options="${extra_options}"
2819 tmake_file="${tmake_file} sparc/t-sparc"
2822 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
2823 tmake_file="spu/t-spu-elf"
2824 native_system_header_dir=/include
2825 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
2826 extra_modes=spu/spu-modes.def
2827 c_target_objs="${c_target_objs} spu-c.o"
2828 cxx_target_objs="${cxx_target_objs} spu-c.o"
2831 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
2832 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
2833 tmake_file="c6x/t-c6x c6x/t-c6x-elf"
2837 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
2838 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
2839 tm_file="${tm_file} ./sysroot-suffix.h"
2840 tmake_file="t-sysroot-suffix t-slibgcc"
2841 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
2845 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
2846 tmake_file="${tmake_file} tilegx/t-tilegx"
2847 extra_objs="${extra_objs} mul-tables.o"
2848 c_target_objs="${c_target_objs} tilegx-c.o"
2849 cxx_target_objs="${cxx_target_objs} tilegx-c.o"
2850 extra_headers="feedback.h"
2853 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2858 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
2859 tmake_file="${tmake_file} tilepro/t-tilepro"
2860 extra_objs="${extra_objs} mul-tables.o"
2861 c_target_objs="${c_target_objs} tilepro-c.o"
2862 cxx_target_objs="${cxx_target_objs} tilepro-c.o"
2863 extra_headers="feedback.h"
2866 target_cpu_default="TARGET_CPU_generic"
2867 tm_file="dbxelf.h elfos.h v850/v850.h"
2868 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
2869 tmake_file="${tmake_file} v850/t-v850"
2870 tmake_file="${tmake_file} v850/t-rtems"
2872 c_target_objs="v850-c.o"
2873 cxx_target_objs="v850-c.o"
2878 target_cpu_default="TARGET_CPU_v850e3v5"
2881 target_cpu_default="TARGET_CPU_v850e2v3"
2884 target_cpu_default="TARGET_CPU_v850e2"
2886 v850e1-*-* | v850es-*-*)
2887 target_cpu_default="TARGET_CPU_v850e1"
2890 target_cpu_default="TARGET_CPU_v850e"
2893 target_cpu_default="TARGET_CPU_generic"
2896 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
2897 if test x$stabs = xyes
2899 tm_file="${tm_file} dbx.h"
2902 c_target_objs="v850-c.o"
2903 cxx_target_objs="v850-c.o"
2907 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
2908 extra_options="${extra_options} vax/elf.opt"
2911 tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
2912 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
2915 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
2916 extra_options="${extra_options} openbsd.opt"
2920 tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
2921 tmake_file="visium/t-visium visium/t-crtstuff"
2924 # For historical reasons, the target files omit the 'x'.
2925 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
2926 tm_p_file=stormy16/stormy16-protos.h
2927 md_file=stormy16/stormy16.md
2928 out_file=stormy16/stormy16.c
2929 extra_options=stormy16/stormy16.opt
2930 tmake_file="stormy16/t-stormy16"
2933 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
2934 extra_options="${extra_options} xtensa/elf.opt"
2937 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
2938 tmake_file="${tmake_file} xtensa/t-xtensa"
2941 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h"
2942 tmake_file="${tmake_file} xtensa/t-xtensa"
2943 extra_options="${extra_options} xtensa/uclinux.opt"
2946 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
2951 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
2952 c_target_objs="m32c-pragma.o"
2953 cxx_target_objs="m32c-pragma.o"
2956 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2957 c_target_objs="m32c-pragma.o"
2958 cxx_target_objs="m32c-pragma.o"
2961 echo "*** Configuration ${target} not supported" 1>&2
2967 i[34567]86-*-linux* | x86_64-*-linux*)
2968 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
2970 i[34567]86-*-* | x86_64-*-*)
2971 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
2973 powerpc*-*-* | rs6000-*-*)
2974 tm_file="${tm_file} rs6000/option-defaults.h"
2977 # Build mkoffload tool
2979 *-intelmic-* | *-intelmicemul-*)
2980 tmake_file="${tmake_file} i386/t-intelmic"
2981 tm_file="${tm_file} i386/intelmic-offload.h"
2985 if [ "$target_has_targetcm" = "no" ]; then
2986 c_target_objs="$c_target_objs default-c.o"
2987 cxx_target_objs="$cxx_target_objs default-c.o"
2990 if [ "$common_out_file" = "" ]; then
2991 if [ "$target_has_targetm_common" = "yes" ]; then
2992 common_out_file="$cpu_type/$cpu_type-common.c"
2994 common_out_file="default-common.c"
2998 # Support for --with-cpu and related options (and a few unrelated options,
3002 echo "--with-cpu must be passed a value" 1>&2
3007 # Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
3008 # to generic if there is no processor scheduler model for the target.
3011 arch_without_sse2=no
3012 arch_without_64bit=no
3015 if test $fbsd_major -ge 6; then
3021 arch_without_sse2=yes
3022 arch_without_64bit=yes
3027 arch_without_sse2=yes
3028 arch_without_64bit=yes
3033 arch_without_sse2=yes
3034 arch_without_64bit=yes
3037 arch_without_sse2=yes
3038 arch_without_64bit=yes
3039 case ${target_noncanonical} in
3052 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3062 i686-*-* | i786-*-*)
3063 case ${target_noncanonical} in
3092 amdfam10-*|barcelona-*)
3096 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3100 k8-*|opteron-*|athlon64-*|athlon_fx-*)
3104 athlon_xp-*|athlon_mp-*|athlon_4-*)
3107 arch_without_sse2=yes
3108 arch_without_64bit=yes
3110 athlon_tbird-*|athlon-*)
3113 arch_without_sse2=yes
3118 arch_without_sse2=yes
3123 arch_without_sse2=yes
3125 pentium3-*|pentium3m-*)
3128 arch_without_sse2=yes
3130 pentium4-*|pentium4m-*)
3169 arch_without_sse2=yes
3174 arch_without_sse2=yes
3175 arch_without_64bit=yes
3180 case ${target_noncanonical} in
3209 amdfam10-*|barcelona-*)
3213 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3217 k8-*|opteron-*|athlon_64-*)
3249 # If there is no $with_cpu option, try to infer one from ${target}.
3250 # This block sets nothing except for with_cpu.
3251 if test x$with_cpu = x ; then
3253 i[34567]86-*-elfiamcu)
3256 i[34567]86-*-*|x86_64-*-*)
3274 frv-*-*linux* | frv400-*-*linux*)
3281 case "$with_arch" in
3283 with_cpu=${default_cf_cpu}
3286 with_cpu=m${default_m68k_cpu}
3291 if test x$enable_e500_double = xyes; then
3309 with_cpu="`echo ${target} | sed 's/-.*$//'`"
3318 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3320 i[34567]86-*-*|x86_64-*-*)
3321 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3322 if test x$with_cpu_32 = x; then
3323 with_cpu_32=$with_cpu
3325 if test x$with_cpu_64 = x; then
3326 with_cpu_64=$with_cpu
3334 # Support for --with-arch and related options (and a few unrelated options,
3336 case ${with_arch} in
3338 echo "--with-arch must be passed a value" 1>&2
3343 # If there is no $with_arch option, try to infer one from ${target}.
3344 # This block sets nothing except for with_arch.
3345 if test x$with_arch = x ; then
3347 i[34567]86-*-darwin*|x86_64-*-darwin*)
3348 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3349 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3351 i[34567]86-*-elfiamcu)
3355 # --with-fpmath sets the default ISA to SSE2, which is the same
3356 # ISA supported by Pentium 4.
3357 if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3366 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3374 # Avoid overriding --with-arch-32 and --with-arch-64 values.
3376 i[34567]86-*-darwin*|x86_64-*-darwin*)
3377 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3378 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3380 i[34567]86-*-*|x86_64-*-*)
3381 if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3382 if test x$with_arch_32 = x; then
3383 with_arch_32=$with_arch
3385 if test x$with_arch_64 = x; then
3386 if test $arch_without_64bit = yes; then
3387 # Set the default 64bit arch to x86-64 if the default arch
3388 # doesn't support 64bit.
3391 with_arch_64=$with_arch
3395 elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3396 # Set the default 64bit arch to x86-64 if the default arch
3397 # doesn't support 64bit and we need 64bit ISA.
3398 with_arch_32=$with_arch
3406 # Infer a default setting for --with-float.
3407 if test x$with_float = x; then
3409 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3410 # The R5900 doesn't support 64-bit float. 32-bit float doesn't
3411 # comply with IEEE 754.
3417 # Infer a default setting for --with-fpu.
3418 if test x$with_fpu = x; then
3420 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3421 # The R5900 FPU only supports single precision.
3427 # Support --with-fpmath.
3428 if test x$with_fpmath != x; then
3430 i[34567]86-*-* | x86_64-*-*)
3431 case ${with_fpmath} in
3433 tm_file="${tm_file} i386/avxmath.h"
3436 tm_file="${tm_file} i386/ssemath.h"
3439 echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3445 echo "--with-fpmath isn't supported for $target." 1>&2
3451 # Similarly for --with-schedule.
3452 if test x$with_schedule = x; then
3455 # Override default PA8000 scheduling model.
3456 with_schedule=7100LC
3461 # Infer a default setting for --with-llsc.
3462 if test x$with_llsc = x; then
3464 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3465 # The R5900 doesn't support LL(D) and SC(D).
3469 # The kernel emulates LL and SC where necessary.
3475 # Validate and mark as valid any --with options supported
3476 # by this target. In order to use a particular --with option
3477 # you must list it in supported_defaults; validating the value
3478 # is optional. This case statement should set nothing besides
3479 # supported_defaults.
3484 supported_defaults="abi cpu arch"
3485 for which in cpu arch; do
3487 eval "val=\$with_$which"
3488 base_val=`echo $val | sed -e 's/\+.*//'`
3489 ext_val=`echo $val | sed -e 's/[a-z0-9.-]\+//'`
3491 if [ $which = arch ]; then
3492 def=aarch64-arches.def
3493 pattern=AARCH64_ARCH
3495 def=aarch64-cores.def
3496 pattern=AARCH64_CORE
3499 ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3501 # Find the base CPU or ARCH id in aarch64-cores.def or
3502 # aarch64-arches.def
3503 if [ x"$base_val" = x ] \
3504 || grep "^$pattern(\"$base_val\"," \
3505 ${srcdir}/config/aarch64/$def \
3508 if [ $which = arch ]; then
3509 base_id=`grep "^$pattern(\"$base_val\"," \
3510 ${srcdir}/config/aarch64/$def | \
3511 sed -e 's/^[^,]*,[ ]*//' | \
3513 # Extract the architecture flags from aarch64-arches.def
3514 ext_mask=`grep "^$pattern(\"$base_val\"," \
3515 ${srcdir}/config/aarch64/$def | \
3519 base_id=`grep "^$pattern(\"$base_val\"," \
3520 ${srcdir}/config/aarch64/$def | \
3521 sed -e 's/^[^,]*,[ ]*//' | \
3525 while [ x"$ext_val" != x ]
3527 ext_val=`echo $ext_val | sed -e 's/\+//'`
3528 ext=`echo $ext_val | sed -e 's/\+.*//'`
3529 base_ext=`echo $ext | sed -e 's/^no//'`
3531 if [ x"$base_ext" = x ] \
3532 || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3533 ${srcdir}/config/aarch64/aarch64-option-extensions.def \
3536 ext_canon=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3537 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3538 sed -e 's/^[^,]*,[ ]*//' | \
3540 ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3541 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3542 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \
3543 sed -e 's/,.*$//' | \
3545 ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3546 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3547 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*[^,]*,[ ]*//' | \
3548 sed -e 's/,.*$//' | \
3552 if [ $ext = $base_ext ]; then
3554 ext_mask="("$ext_mask") | ("$ext_on" | "$ext_canon")"
3556 # Removing extension
3557 ext_mask="("$ext_mask") & ~("$ext_off" | "$ext_canon")"
3562 echo "Unknown extension used in --with-$which=$val" 1>&2
3565 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3568 ext_mask="(("$ext_mask") << 6)"
3569 if [ x"$base_id" != x ]; then
3570 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3574 echo "Unknown $which used in --with-$which=$val" 1>&2
3581 supported_defaults="cpu tune"
3582 for which in cpu tune; do
3583 eval "val=\$with_$which"
3586 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3587 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3591 echo "Unknown CPU used in --with-$which=$val" 1>&2
3598 arc*-*-*) # was: arc*-*-linux-uclibc)
3599 supported_defaults="cpu"
3601 arc600|arc601|arc700)
3603 *) echo "Unknown cpu type"
3610 supported_defaults="arch cpu float tune fpu abi mode tls"
3611 for which in cpu tune; do
3612 # See if it matches any of the entries in arm-cores.def
3613 eval "val=\$with_$which"
3614 if [ x"$val" = x ] \
3615 || grep "^ARM_CORE(\"$val\"," \
3616 ${srcdir}/config/arm/arm-cores.def \
3619 new_val=`grep "^ARM_CORE(\"$val\"," \
3620 ${srcdir}/config/arm/arm-cores.def | \
3621 sed -e 's/^[^,]*,[ ]*//' | \
3623 eval "target_${which}_cname=$new_val"
3624 echo "For $val real value is $new_val"
3627 echo "Unknown CPU used in --with-$which=$val" 1>&2
3632 # See if it matches any of the entries in arm-arches.def
3633 if [ x"$with_arch" = x ] \
3634 || grep "^ARM_ARCH(\"$with_arch\"," \
3635 ${srcdir}/config/arm/arm-arches.def \
3640 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
3644 case "$with_float" in
3646 | soft | hard | softfp)
3650 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3655 # see if it matches any of the entries in arm-fpus.def
3656 if [ x"$with_fpu" = x ] \
3657 || grep "^ARM_FPU(\"$with_fpu\"," \
3658 ${srcdir}/config/arm/arm-fpus.def \
3663 echo "Unknown fpu used in --with-fpu=$with_fpu" 1>&2
3669 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
3673 echo "Unknown ABI used in --with-abi=$with_abi"
3678 case "$with_mode" in
3684 echo "Unknown mode used in --with-mode=$with_mode"
3695 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3700 if test "x$with_arch" != x && test "x$with_cpu" != x; then
3701 echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2
3705 if test "x$with_cpu" != x && test "x$with_tune" != x; then
3706 echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2
3710 # Add extra multilibs
3711 if test "x$with_multilib_list" != x; then
3712 arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
3713 case ${arm_multilibs} in
3715 # Note that arm/t-aprofile is a
3716 # stand-alone make file fragment to be
3717 # used only with itself. We do not
3718 # specifically use the
3719 # TM_MULTILIB_OPTION framework because
3720 # this shorthand is more
3722 tmake_profile_file="arm/t-aprofile"
3727 echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
3732 if test "x${tmake_profile_file}" != x ; then
3733 # arm/t-aprofile is only designed to work
3734 # without any with-cpu, with-arch, with-mode,
3735 # with-fpu or with-float options.
3736 if test "x$with_arch" != x \
3737 || test "x$with_cpu" != x \
3738 || test "x$with_float" != x \
3739 || test "x$with_fpu" != x \
3740 || test "x$with_mode" != x ; then
3741 echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2
3745 tmake_file="${tmake_file} ${tmake_profile_file}"
3751 supported_defaults=cpu
3756 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3762 fido-*-* | m68k*-*-*)
3763 supported_defaults="arch cpu"
3764 case "$with_arch" in
3766 m68k_arch_family="$with_arch"
3769 echo "Invalid --with-arch=$with_arch" 1>&2
3774 # We always have a $with_cpu setting here.
3776 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
3777 m68k_cpu_ident=$with_cpu
3780 m68k_cpu_ident=m68020
3781 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
3784 m68k_cpu_ident=m68020
3785 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
3788 # We need the C identifier rather than the string.
3789 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
3790 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
3791 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
3792 ${srcdir}/config/m68k/m68k-devices.def`
3793 if [ x"$m68k_cpu_ident" = x ] ; then
3794 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
3797 with_cpu="mcpu=$with_cpu"
3803 supported_defaults="arch schedule"
3805 case "$with_arch" in
3806 "" | 1.0 | 1.1 | 2.0)
3810 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
3815 case "$with_schedule" in
3816 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
3820 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
3826 i[34567]86-*-* | x86_64-*-*)
3827 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
3828 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
3829 eval "val=\$with_$which"
3830 case " $x86_archs " in
3838 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
3847 if test x${val} != x; then
3848 case " $x86_64_archs " in
3853 # Allow $x86_cpus --with-cpu=/--with-tune=
3856 case " $x86_cpus " in
3861 echo "Unknown CPU given in --with-$which=$val." 1>&2
3867 echo "Unknown CPU given in --with-$which=$val." 1>&2
3880 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"
3882 case ${with_float} in
3887 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3893 "" | single | double)
3897 echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
3907 echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
3912 case ${with_fp_32} in
3917 echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
3922 case ${with_odd_spreg_32} in
3924 with_odd_spreg_32="odd-spreg"
3927 with_odd_spreg_32="no-odd-spreg"
3933 echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
3939 "" | 32 | o64 | n32 | 64 | eabi)
3943 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
3948 case ${with_divide} in
3949 "" | breaks | traps)
3953 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
3958 case ${with_llsc} in
3969 echo "Unknown llsc type used in --with-llsc" 1>&2
3974 case ${with_mips_plt} in
3979 with_mips_plt=no-plt
3984 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
3989 case ${with_synci} in
3999 echo "Unknown synci type used in --with-synci" 1>&2
4006 supported_defaults="arch nds32_lib"
4008 # process --with-arch
4009 case "${with_arch}" in
4014 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2
4019 # process --with-nds32-lib
4020 case "${with_nds32_lib}" in
4022 # the default library is newlib
4023 with_nds32_lib=newlib
4032 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
4039 supported_defaults="arch"
4040 case "$with_arch" in
4045 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
4051 powerpc*-*-* | rs6000-*-*)
4052 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
4054 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4055 eval "val=\$with_$which"
4057 default32 | default64)
4062 echo "$val only valid for --with-cpu and --with-tune." 1>&2
4066 with_which="with_$which"
4070 tm_defines="${tm_defines} CONFIG_PPC405CR"
4071 eval "with_$which=405"
4073 "" | common | native \
4074 | power | power[23456789] | power6x | powerpc | powerpc64 \
4075 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
4076 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4077 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4078 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4079 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4080 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4084 echo "Unknown cpu used in --with-$which=$val." 1>&2
4091 "" | elfv1 | elfv2 )
4095 echo "Unknown ABI used in --with-abi=$with_abi"
4100 if test "x$with_advance_toolchain" != x; then
4101 if test -d "/opt/$with_advance_toolchain/." -a \
4102 -d "/opt/$with_advance_toolchain/bin/." -a \
4103 -d "/opt/$with_advance_toolchain/include/."; then
4105 tm_file="$tm_file ./advance-toolchain.h"
4106 (at="/opt/$with_advance_toolchain"
4107 echo "/* Use Advance Toolchain $at */"
4109 echo "#ifndef USE_AT_INCLUDE_FILES"
4110 echo "#define USE_AT_INCLUDE_FILES 1"
4113 echo "#if USE_AT_INCLUDE_FILES"
4114 echo "#undef INCLUDE_EXTRA_SPEC"
4115 echo "#define INCLUDE_EXTRA_SPEC" \
4116 "\"-isystem $at/include\""
4119 echo "#undef LINK_OS_EXTRA_SPEC32"
4120 echo "#define LINK_OS_EXTRA_SPEC32" \
4121 "\"%(link_os_new_dtags)" \
4122 "-rpath $prefix/lib -rpath $at/lib" \
4123 "-L $prefix/lib -L $at/lib\""
4125 echo "#undef LINK_OS_EXTRA_SPEC64"
4126 echo "#define LINK_OS_EXTRA_SPEC64" \
4127 "\"%(link_os_new_dtags)" \
4128 "-rpath $prefix/lib64 -rpath $at/lib64" \
4129 "-L $prefix/lib64 -L $at/lib64\""
4131 echo "#undef LINK_OS_NEW_DTAGS_SPEC"
4132 echo "#define LINK_OS_NEW_DTAGS_SPEC" \
4133 "\"--enable-new-dtags\""
4135 echo "#undef DYNAMIC_LINKER_PREFIX"
4136 echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
4138 echo "#undef MD_EXEC_PREFIX"
4139 echo "#define MD_EXEC_PREFIX \"$at/bin/\""
4141 echo "#undef MD_STARTFILE_PREFIX"
4142 echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
4143 > advance-toolchain.h
4145 echo "Unknown advance-toolchain $with_advance_toolchain"
4152 supported_defaults="arch mode tune"
4154 for which in arch tune; do
4155 eval "val=\$with_$which"
4157 "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13)
4161 echo "Unknown cpu used in --with-$which=$val." 1>&2
4167 case ${with_mode} in
4172 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4178 sh[123456ble]*-*-* | sh-*-*)
4179 supported_defaults="cpu"
4180 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4181 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4184 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4186 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4189 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
4190 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4191 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4192 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4198 supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64"
4200 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4201 eval "val=\$with_$which"
4203 "" | sparc | sparcv9 | sparc64 \
4205 | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4206 | sparclite | f930 | f934 | sparclite86x \
4207 | sparclet | tsc701 \
4208 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4209 | niagara3 | niagara4 | niagara7)
4213 echo "Unknown cpu used in --with-$which=$val" 1>&2
4219 case ${with_float} in
4224 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4231 supported_defaults="arch tune"
4233 for which in arch tune; do
4234 eval "val=\$with_$which"
4236 "" | cell | celledp)
4240 echo "Unknown cpu used in --with-$which=$val." 1>&2
4248 supported_defaults="arch"
4250 case ${with_arch} in
4251 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4255 echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4262 supported_defaults=cpu
4264 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4268 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4274 supported_defaults="cpu"
4278 *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4285 # Set some miscellaneous flags for particular targets.
4286 target_cpu_default2=
4289 if test x"$target_cpu_cname" != x
4291 target_cpu_default2=$target_cpu_cname
4296 if test x$target_cpu_cname = x
4298 target_cpu_default2=TARGET_CPU_generic
4300 target_cpu_default2=TARGET_CPU_$target_cpu_cname
4305 if test x$gas = xyes
4307 target_cpu_default2="MASK_GAS"
4311 fido*-*-* | m68k*-*-*)
4312 target_cpu_default2=$m68k_cpu_ident
4313 tmake_file="m68k/t-opts $tmake_file"
4314 if [ x"$m68k_arch_family" != x ]; then
4315 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4319 i[34567]86-*-darwin* | x86_64-*-darwin*)
4321 i[34567]86-*-linux* | x86_64-*-linux*)
4322 tmake_file="$tmake_file i386/t-linux"
4324 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
4325 tmake_file="$tmake_file i386/t-kfreebsd"
4328 tmake_file="$tmake_file i386/t-gnu"
4330 i[34567]86-*-msdosdjgpp*)
4331 tmake_file="${tmake_file} i386/t-djgpp"
4333 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
4335 i[34567]86-*-cygwin* | x86_64-*-cygwin*)
4337 i[34567]86-*-mingw* | x86_64-*-mingw*)
4339 i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
4341 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
4347 if test x$gnu_ld = xyes
4349 target_cpu_default2="MASK_SPLIT_ADDRESSES"
4353 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
4356 if test x$with_arch != x; then
4357 default_mips_arch=$with_arch
4359 if test x$with_abi != x; then
4360 default_mips_abi=$with_abi
4362 case ${default_mips_arch} in
4363 mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
4364 mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
4365 mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
4366 mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
4367 mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
4368 mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
4369 mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
4370 mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
4371 mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
4372 mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
4374 case ${default_mips_abi} in
4375 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
4376 o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
4377 n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
4378 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
4379 eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
4381 tmake_file="mips/t-mips $tmake_file"
4384 powerpc*-*-* | rs6000-*-*)
4385 # FIXME: The PowerPC port uses the value set at compile time,
4386 # although it's only cosmetic.
4387 if test "x$with_cpu" != x
4389 target_cpu_default2="\\\"$with_cpu\\\""
4391 out_file=rs6000/rs6000.c
4392 c_target_objs="${c_target_objs} rs6000-c.o"
4393 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
4394 tmake_file="rs6000/t-rs6000 ${tmake_file}"
4397 sh[123456ble]*-*-* | sh-*-*)
4398 c_target_objs="${c_target_objs} sh-c.o"
4399 cxx_target_objs="${cxx_target_objs} sh-c.o"
4403 # Some standard aliases.
4408 xsparcv9 | xsparc64)
4413 if test x$with_tune = x ; then
4424 # The SPARC port checks this value at compile-time.
4425 target_cpu_default2="TARGET_CPU_$with_cpu"
4429 case "x$with_cpu" in
4432 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
4433 target_cpu_default2="TARGET_CPU_$with_cpu"
4436 target_cpu_default2="TARGET_CPU_v850e1"
4441 target_cpu_default2="TARGET_CPU_$with_cpu"
4446 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"
4447 for option in $all_defaults
4449 eval "val=\$with_"`echo $option | sed s/-/_/g`
4450 if test -n "$val"; then
4451 case " $supported_defaults " in
4455 echo "This target does not support --with-$option." 2>&1
4456 echo "Valid --with options are: $supported_defaults" 2>&1
4463 t="{ \"$option\", \"$val\" }"
4465 t="${t}, { \"$option\", \"$val\" }"
4472 configure_default_options="{ { NULL, NULL} }"
4474 configure_default_options="{ ${t} }"
4477 if test "$target_cpu_default2" != ""
4479 if test "$target_cpu_default" != ""
4481 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
4483 target_cpu_default=$target_cpu_default2
4488 i[34567]86-*-* | x86_64-*-*)
4489 if test x$enable_as_accelerator = xyes; then
4490 extra_programs="mkoffload\$(exeext)"