1 # GCC target-specific configuration file.
2 # Copyright (C) 1997-2016 Free Software Foundation, Inc.
4 #This file is part of GCC.
6 #GCC is free software; you can redistribute it and/or modify it under
7 #the terms of the GNU General Public License as published by the Free
8 #Software Foundation; either version 3, or (at your option) any later
11 #GCC is distributed in the hope that it will be useful, but WITHOUT
12 #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 #FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 #You should have received a copy of the GNU General Public License
17 #along with GCC; see the file COPYING3. If not see
18 #<http://www.gnu.org/licenses/>.
20 # This is the GCC target-specific configuration file
21 # where a configuration type is mapped to different system-specific
22 # definitions and files. This is invoked by the autoconf-generated
23 # configure script. Putting it in a separate shell file lets us skip
24 # running autoconf when modifying target-specific information.
26 # When you change the cases in the OS or target switches, consider
27 # updating ../libgcc/config.host also.
29 # This file switches on the shell variable ${target}, and also uses the
30 # following shell variables:
32 # with_* Various variables as set by configure.
34 # enable_threads Either the name, yes or no depending on whether
35 # threads support was requested.
37 # default_use_cxa_atexit
38 # The default value for the $enable___cxa_atexit
39 # variable. enable___cxa_atexit needs to be set to
40 # "yes" for the correct operation of C++ destructors
41 # but it relies upon the presence of a non-standard C
42 # library function called __cxa_atexit.
43 # Since not all C libraries provide __cxa_atexit the
44 # default value of $default_use_cxa_atexit is set to
45 # "no" except for targets which are known to be OK.
47 # default_gnu_indirect_function
48 # The default value for the $enable_gnu_indirect_function
49 # variable. enable_gnu_indirect_function relies
50 # upon the presence of a non-standard gnu ifunc support
51 # in the assembler, linker and dynamic linker.
52 # Since not all libraries provide the dynamic linking
53 # support, the default value of
54 # $default_gnu_indirect_function is set to
55 # "no" except for targets which are known to be OK.
57 # gas_flag Either yes or no depending on whether GNU as was
60 # gnu_ld_flag Either yes or no depending on whether GNU ld was
63 # This file sets the following shell variables for use by the
64 # autoconf-generated configure script:
66 # cpu_type The name of the cpu, if different from the first
67 # chunk of the canonical target name.
69 # tm_defines List of target macros to define for all compilations.
71 # tm_file A list of target macro files, if different from
72 # "$cpu_type/$cpu_type.h". Usually it's constructed
73 # per target in a way like this:
74 # tm_file="${tm_file} dbxelf.h elfos.h ${cpu_type.h}/elf.h"
75 # Note that the preferred order is:
76 # - specific target header "${cpu_type}/${cpu_type.h}"
77 # - generic headers like dbxelf.h elfos.h, etc.
78 # - specializing target headers like ${cpu_type.h}/elf.h
79 # This helps to keep OS specific stuff out of the CPU
80 # defining header ${cpu_type}/${cpu_type.h}.
82 # It is possible to include automatically-generated
83 # build-directory files by prefixing them with "./".
84 # All other files should relative to $srcdir/config.
86 # tm_p_file Location of file with declarations for functions
89 # out_file The name of the machine description C support
90 # file, if different from "$cpu_type/$cpu_type.c".
92 # common_out_file The name of the source file for code shared between
93 # the compiler proper and the driver.
95 # md_file The name of the machine-description file, if
96 # different from "$cpu_type/$cpu_type.md".
98 # tmake_file A list of machine-description-specific
99 # makefile-fragments, if different from
100 # "$cpu_type/t-$cpu_type".
102 # extra_modes The name of the file containing a list of extra
103 # machine modes, if necessary and different from
104 # "$cpu_type/$cpu_type-modes.def".
106 # extra_objs List of extra objects that should be linked into
107 # the compiler proper (cc1, cc1obj, cc1plus)
108 # depending on target.
110 # extra_gcc_objs List of extra objects that should be linked into
111 # the compiler driver (gcc) depending on target.
113 # extra_headers List of used header files from the directory
114 # config/${cpu_type}.
116 # user_headers_inc_next_pre
117 # List of header file names of internal gcc header
118 # files, which should be prefixed by an include_next.
119 # user_headers_inc_next_post
120 # List of header file names of internal gcc header
121 # files, which should be postfixed by an include_next.
122 # use_gcc_tgmath If set, add tgmath.h to the list of used header
125 # use_gcc_stdint If "wrap", install a version of stdint.h that
126 # wraps the system's copy for hosted compilations;
127 # if "provide", provide a version of systems without
128 # such a system header; otherwise "none", do not
129 # provide such a header at all.
131 # extra_programs List of extra executables compiled for this target
132 # machine, used when linking.
134 # extra_options List of target-dependent .opt files.
136 # c_target_objs List of extra target-dependent objects that be
137 # linked into the C compiler only.
139 # cxx_target_objs List of extra target-dependent objects that be
140 # linked into the C++ compiler only.
142 # fortran_target_objs List of extra target-dependent objects that be
143 # linked into the fortran compiler only.
145 # target_gtfiles List of extra source files with type information.
147 # xm_defines List of macros to define when compiling for the
150 # xm_file List of files to include when compiling for the
153 # use_collect2 Set to yes or no, depending on whether collect2
156 # target_cpu_default Set to override the default target model.
158 # gdb_needs_out_file_path
159 # Set to yes if gdb needs a dir command with
160 # `dirname $out_file`.
162 # thread_file Set to control which thread package to use.
164 # gas Set to yes or no depending on whether the target
165 # system normally uses GNU as.
167 # configure_default_options
168 # Set to an initializer for configure_default_options
169 # in configargs.h, based on --with-cpu et cetera.
171 # native_system_header_dir
172 # Where system header files are found for this
173 # target. This defaults to /usr/include. If
174 # the --with-sysroot configure option or the
175 # --sysroot command line option is used this
176 # will be relative to the sysroot.
177 # target_type_format_char
178 # The default character to be used for formatting
180 # .type symbol_name, ${t_t_f_c}<property>
183 # The following variables are used in each case-construct to build up the
184 # outgoing variables:
186 # gnu_ld Set to yes or no depending on whether the target
187 # system normally uses GNU ld.
189 # target_has_targetcm Set to yes or no depending on whether the target
190 # has its own definition of targetcm.
192 # target_has_targetm_common Set to yes or no depending on whether the
193 # target has its own definition of targetm_common.
199 user_headers_inc_next_pre=
200 user_headers_inc_next_post=
210 target_has_targetcm=no
211 target_has_targetm_common=yes
214 # Set this to force installation and use of collect2.
216 # Set this to override the default target model.
218 # Set this if gdb needs a dir command with `dirname $out_file`
219 gdb_needs_out_file_path=
220 # Set this to control which thread package will be used.
222 # Reinitialize these from the flag values every loop pass, since some
223 # configure entries modify them.
225 gnu_ld="$gnu_ld_flag"
226 default_use_cxa_atexit=no
227 default_gnu_indirect_function=no
230 native_system_header_dir=/usr/include
231 target_type_format_char='@'
233 # Don't carry these over build->host->target. Please.
237 # Obsolete configurations.
241 if test "x$enable_obsolete" != xyes; then
242 echo "*** Configuration ${target} is obsolete." >&2
243 echo "*** Specify --enable-obsolete to build it anyway." >&2
244 echo "*** Support will be REMOVED in the next major release of GCC," >&2
245 echo "*** unless a maintainer comes forward." >&2
250 # Unsupported targets list. Do not put an entry in this list unless
251 # it would otherwise be caught by a more permissive pattern. The list
252 # should be in alphabetical order.
254 # Avoid special cases that are not obsolete
263 | i[34567]86-go32-* \
264 | i[34567]86-*-go32* \
265 | m68k-*-uclinuxoldabi* \
266 | mips64orion*-*-rtems* \
268 | sparc-hal-solaris2* \
270 | *-*-freebsd[12] | *-*-freebsd[12].* \
271 | *-*-freebsd*aout* \
279 | *-*-solaris2.[0-9] \
280 | *-*-solaris2.[0-9].* \
284 echo "*** Configuration ${target} not supported" 1>&2
289 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
290 # updated in each machine entry. Also set default extra_headers for some
293 cpu_type=`echo ${target} | sed 's/-.*$//'`
298 tmake_file=m32c/t-m32c
299 target_has_targetm_common=no
303 extra_headers="arm_fp16.h arm_neon.h arm_acle.h"
304 c_target_objs="aarch64-c.o"
305 cxx_target_objs="aarch64-c.o"
306 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o"
307 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
308 target_has_targetm_common=yes
312 extra_options="${extra_options} g.opt"
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
810 default_use_cxa_atexit=yes
813 case ${enable_threads} in
814 "" | yes | rtems) thread_file='rtems' ;;
815 posix) thread_file='posix' ;;
818 echo 'Unknown thread configuration for RTEMS'
822 tmake_file="${tmake_file} t-rtems"
823 extra_options="${extra_options} rtems.opt"
824 default_use_cxa_atexit=yes
828 extra_options="$extra_options gnu-user.opt"
830 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
836 # i?86-*-solaris2* needs to insert headers between cpu default and
837 # Solaris 2 specific ones.
838 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
839 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
840 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
842 *-*-solaris2.1[2-9]*)
843 # __cxa_atexit was introduced in Solaris 12.
844 default_use_cxa_atexit=yes
848 if test x$gnu_ld = xyes; then
849 tm_file="usegld.h ${tm_file}"
851 if test x$gas = xyes; then
852 tm_file="usegas.h ${tm_file}"
854 tm_p_file="${tm_p_file} sol2-protos.h"
855 tmake_file="${tmake_file} t-sol2 t-slibgcc"
856 c_target_objs="${c_target_objs} sol2-c.o"
857 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
858 extra_objs="sol2.o sol2-stubs.o"
859 extra_options="${extra_options} sol2.opt"
860 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
861 "":yes:* | yes:yes:* )
867 extra_options="${extra_options} vms/vms.opt"
869 tmake_file="vms/t-vms t-slibgcc"
871 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
872 tm_p_file="${tm_p_file} vms/vms-protos.h"
873 xm_file="vms/xm-vms.h"
874 c_target_objs="vms-c.o"
875 cxx_target_objs="vms-c.o"
876 fortran_target_objs="vms-f.o"
877 use_gcc_stdint=provide
878 tm_file="${tm_file} vms/vms-stdint.h"
879 if test x$gnu_ld != xyes; then
880 # Build wrappers for native case.
881 extra_programs="ld\$(exeext) ar\$(exeext)"
882 tmake_file="$tmake_file vms/t-vmsnative"
888 extra_options="${extra_options} vxworks.opt"
889 extra_objs="$extra_objs vxworks.o"
890 case ${enable_threads} in
892 "" | yes | vxworks) thread_file='vxworks' ;;
893 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
897 # Assume that newlib is being used and so __cxa_atexit is provided.
898 default_use_cxa_atexit=yes
904 aarch64*-*-elf | aarch64*-*-rtems*)
905 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
906 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
907 tmake_file="${tmake_file} aarch64/t-aarch64"
913 tm_file="${tm_file} rtems.h aarch64/rtems.h"
918 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
921 aarch64_multilibs="${with_multilib_list}"
922 if test "$aarch64_multilibs" = "default"; then
923 aarch64_multilibs="lp64,ilp32"
925 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
926 for aarch64_multilib in ${aarch64_multilibs}; do
927 case ${aarch64_multilib} in
929 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
932 echo "--with-multilib-list=${aarch64_multilib} not supported."
936 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
939 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
940 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
941 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
944 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
947 aarch64_multilibs="${with_multilib_list}"
948 if test "$aarch64_multilibs" = "default"; then
949 # TODO: turn on ILP32 multilib build after its support is mature.
950 # aarch64_multilibs="lp64,ilp32"
951 aarch64_multilibs="lp64"
953 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
954 for aarch64_multilib in ${aarch64_multilibs}; do
955 case ${aarch64_multilib} in
957 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
960 echo "--with-multilib-list=${aarch64_multilib} not supported."
964 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
967 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
968 tmake_file="${tmake_file} alpha/t-linux"
969 extra_options="${extra_options} alpha/elf.opt"
972 tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
973 extra_options="${extra_options} alpha/elf.opt"
976 tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
977 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
981 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
982 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
983 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
984 # default x-alpha is only appropriate for dec-osf.
987 tm_file="${tm_file} vms/vms.h alpha/vms.h"
988 tmake_file="${tmake_file} alpha/t-vms"
991 extra_headers="arc-simd.h"
992 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
993 tmake_file="arc/t-arc-newlib arc/t-arc"
994 case x"${with_cpu}" in
995 xarc600|xarc601|xarc700)
996 target_cpu_default="TARGET_CPU_$with_cpu"
999 if test x${with_endian} = x; then
1001 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1002 *) with_endian=little ;;
1005 case ${with_endian} in
1007 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1009 case ${with_endian} in
1010 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1013 arc*-*-linux-uclibc*)
1014 extra_headers="arc-simd.h"
1015 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}"
1016 tmake_file="${tmake_file} arc/t-arc-uClibc arc/t-arc"
1017 tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0"
1018 tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1"
1019 case x"${with_cpu}" in
1020 xarc600|xarc601|xarc700)
1021 target_cpu_default="TARGET_CPU_$with_cpu"
1024 if test x${with_endian} = x; then
1026 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1027 *) with_endian=little ;;
1030 case ${with_endian} in
1032 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1034 case ${with_endian} in
1035 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1039 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1040 extra_options="${extra_options} arm/vxworks.opt"
1041 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1043 arm*-*-freebsd*) # ARM FreeBSD EABI
1044 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1047 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1050 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1051 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1054 tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
1055 if test $fbsd_major -ge 11; then
1056 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1060 with_tls=${with_tls:-gnu}
1063 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1064 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1065 tmake_file="${tmake_file} arm/t-arm"
1067 arm*-*-linux-*) # ARM GNU/Linux with ELF
1068 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"
1069 extra_options="${extra_options} linux-android.opt"
1072 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1075 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1076 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1077 # Define multilib configuration for arm-linux-androideabi.
1080 tmake_file="$tmake_file arm/t-linux-androideabi"
1083 # The EABI requires the use of __cxa_atexit.
1084 default_use_cxa_atexit=yes
1085 with_tls=${with_tls:-gnu}
1087 arm*-*-uclinux*eabi*) # ARM ucLinux
1088 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1089 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1090 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1091 # The EABI requires the use of __cxa_atexit.
1092 default_use_cxa_atexit=yes
1095 tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1096 tm_file="${tm_file} newlib-stdint.h phoenix.h"
1097 tm_file="${tm_file} arm/aout.h arm/arm.h"
1098 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix"
1100 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
1103 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1105 default_use_cxa_atexit=yes
1106 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1107 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1110 tm_file="$tm_file newlib-stdint.h"
1111 tmake_file="${tmake_file} arm/t-bpabi"
1115 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1116 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1119 tm_file="${tm_file} arm/symbian.h"
1120 # We do not include t-bpabi for Symbian OS because the system
1121 # provides its own implementation of the BPABI functions.
1122 tmake_file="${tmake_file} arm/t-symbian"
1125 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
1128 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1129 if test x${with_avrlibc} != xno; then
1130 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1131 tm_defines="${tm_defines} WITH_AVRLIBC"
1133 tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1135 extra_gcc_objs="driver-avr.o avr-devices.o"
1136 extra_objs="avr-devices.o avr-log.o"
1139 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1140 tmake_file=bfin/t-bfin-elf
1144 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1145 tmake_file=bfin/t-bfin-uclinux
1148 bfin*-linux-uclibc*)
1149 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"
1150 tmake_file="${tmake_file} bfin/t-bfin-linux"
1154 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1155 tmake_file="${tmake_file} bfin/t-rtems"
1158 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1163 tm_file="elfos.h ${tm_file} newlib-stdint.h"
1164 tmake_file="${tmake_file} cr16/t-cr16 "
1167 crisv32-*-elf | crisv32-*-none)
1168 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1169 tmake_file="cris/t-cris"
1170 target_cpu_default=32
1172 extra_options="${extra_options} cris/elf.opt"
1175 cris-*-elf | cris-*-none)
1176 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1177 tmake_file="cris/t-cris cris/t-elfmulti"
1179 extra_options="${extra_options} cris/elf.opt"
1182 crisv32-*-linux* | cris-*-linux*)
1183 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1184 tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1185 extra_options="${extra_options} cris/linux.opt"
1188 target_cpu_default=10
1191 target_cpu_default=32
1196 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1197 tmake_file="epiphany/t-epiphany"
1198 extra_options="${extra_options} fused-madd.opt"
1199 extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
1200 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1201 extra_headers="epiphany_intrinsics.h"
1204 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1207 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1208 tmake_file=frv/t-frv
1211 tm_file="dbxelf.h elfos.h ${tm_file} \
1212 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1213 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1218 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1219 tmake_file="${tmake_file} ft32/t-ft32"
1224 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1225 tmake_file="${tmake_file} moxie/t-moxie"
1230 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1231 tmake_file="${tmake_file} moxie/t-moxie"
1234 tmake_file="${tmake_file} moxie/t-moxie"
1235 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1240 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1241 tmake_file="${tmake_file} moxie/t-moxiebox"
1244 tmake_file="h8300/t-h8300"
1245 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1248 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1249 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1252 target_cpu_default="MASK_PA_11|MASK_PA_20"
1253 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1254 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1259 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
1260 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1261 pa/pa32-regs.h pa/pa32-linux.h"
1262 tmake_file="${tmake_file} pa/t-linux"
1265 target_cpu_default="MASK_PA_11"
1266 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1267 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1268 extra_options="${extra_options} openbsd.opt"
1272 hppa[12]*-*-hpux10*)
1274 hppa1.1-*-* | hppa2*-*-*)
1275 target_cpu_default="MASK_PA_11"
1278 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1279 pa/pa-hpux.h pa/pa-hpux10.h"
1280 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1283 tm_file="${tm_file} pa/pa-hpux1010.h"
1284 extra_options="${extra_options} pa/pa-hpux1010.opt"
1287 use_gcc_stdint=provide
1288 tm_file="${tm_file} hpux-stdint.h"
1289 tmake_file="t-slibgcc"
1290 case ${enable_threads} in
1292 if test x$have_pthread_h = xyes ; then
1293 tmake_file="${tmake_file} pa/t-dce-thr"
1297 tmake_file="${tmake_file} pa/t-dce-thr"
1302 if test "x$with_dwarf2" != x; then
1303 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1308 target_cpu_default="MASK_PA_11|MASK_PA_20"
1309 if test x$gnu_ld = xyes
1311 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1313 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1314 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1318 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1319 extra_options="${extra_options} pa/pa-hpux1111.opt"
1322 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1323 extra_options="${extra_options} pa/pa-hpux1131.opt"
1326 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1329 extra_options="${extra_options} pa/pa-hpux.opt \
1330 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1331 tmake_file="t-slibgcc"
1332 case x${enable_threads} in
1340 use_gcc_stdint=provide
1341 tm_file="${tm_file} hpux-stdint.h"
1345 tm_file="${tm_file} hpux-stdint.h"
1349 hppa[12]*-*-hpux11*)
1351 hppa1.1-*-* | hppa2*-*-*)
1352 target_cpu_default="MASK_PA_11"
1355 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1356 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1357 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1361 tm_file="${tm_file} pa/pa-hpux1111.h"
1362 extra_options="${extra_options} pa/pa-hpux1111.opt"
1365 tm_file="${tm_file} pa/pa-hpux1131.h"
1366 extra_options="${extra_options} pa/pa-hpux1131.opt"
1369 tmake_file="t-slibgcc"
1370 case x${enable_threads} in
1379 use_gcc_stdint=provide
1380 tm_file="${tm_file} hpux-stdint.h"
1384 tm_file="${tm_file} hpux-stdint.h"
1387 if test "x$with_dwarf2" != x; then
1388 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1392 i[34567]86-*-darwin*)
1394 # Baseline choice for a machine that allows m64 support.
1395 with_cpu=${with_cpu:-core2}
1396 tmake_file="${tmake_file} t-slibgcc"
1399 with_cpu=${with_cpu:-core2}
1400 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1401 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1403 i[34567]86-*-elfiamcu)
1404 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
1407 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1410 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1413 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"
1416 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1419 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"
1420 tmake_file="i386/t-i386elf t-svr4"
1422 i[34567]86-*-dragonfly*)
1423 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1424 tmake_file="${tmake_file} i386/t-crtstuff"
1426 x86_64-*-dragonfly*)
1427 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"
1428 tmake_file="${tmake_file} i386/t-crtstuff"
1430 i[34567]86-*-freebsd*)
1431 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1434 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"
1436 i[34567]86-*-netbsdelf*)
1437 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
1438 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1441 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"
1442 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1444 i[34567]86-*-openbsd*)
1445 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1446 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1447 extra_options="${extra_options} openbsd.opt"
1452 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1453 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1454 extra_options="${extra_options} openbsd.opt"
1458 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1459 # Intel 80386's running GNU/*
1460 # with ELF format using glibc 2
1461 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1463 i[34567]86-*-linux*)
1464 tm_file="${tm_file} linux.h linux-android.h"
1465 extra_options="${extra_options} linux-android.opt"
1466 # Assume modern glibc if not targeting Android nor uclibc.
1468 *-*-*android*|*-*-*uclibc*|*-*-*musl*)
1471 default_gnu_indirect_function=yes
1474 if test x$enable_targets = xall; then
1475 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1476 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1477 tmake_file="${tmake_file} i386/t-linux64"
1478 x86_multilibs="${with_multilib_list}"
1479 if test "$x86_multilibs" = "default"; then
1480 x86_multilibs="m64,m32"
1482 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1483 for x86_multilib in ${x86_multilibs}; do
1484 case ${x86_multilib} in
1486 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1489 echo "--with-multilib-list=${x86_with_multilib} not supported."
1493 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1495 if test x$with_cpu = x; then
1496 if test x$with_cpu_64 = x; then
1500 case " $x86_cpus $x86_archs $x86_64_archs " in
1504 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1505 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1511 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1514 i[34567]86-*-kfreebsd*-gnu)
1515 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1517 i[34567]86-*-kopensolaris*-gnu)
1518 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1521 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1525 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
1526 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1527 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1530 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1531 extra_options="${extra_options} linux-android.opt"
1532 # Assume modern glibc if not targeting Android nor uclibc.
1534 *-*-*android*|*-*-*uclibc*|*-*-*musl*)
1537 default_gnu_indirect_function=yes
1541 x86_64-*-kfreebsd*-gnu)
1542 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1545 tmake_file="${tmake_file} i386/t-linux64"
1546 x86_multilibs="${with_multilib_list}"
1547 if test "$x86_multilibs" = "default"; then
1550 x86_multilibs="mx32"
1553 x86_multilibs="m64,m32"
1557 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1558 for x86_multilib in ${x86_multilibs}; do
1559 case ${x86_multilib} in
1561 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1564 echo "--with-multilib-list=${x86_with_multilib} not supported."
1568 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1570 i[34567]86-pc-msdosdjgpp*)
1571 xm_file=i386/xm-djgpp.h
1572 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1573 native_system_header_dir=/dev/env/DJDIR/include
1574 extra_options="${extra_options} i386/djgpp.opt"
1579 i[34567]86-*-lynxos*)
1581 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1582 tmake_file="${tmake_file} t-lynx"
1583 extra_options="${extra_options} lynx.opt"
1588 i[34567]86-*-nto-qnx*)
1589 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1590 extra_options="${extra_options} i386/nto.opt"
1594 i[34567]86-*-rtems*)
1595 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"
1596 tmake_file="${tmake_file} i386/t-rtems"
1598 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1599 # Set default arch_32 to pentium4, tune_32 to generic like the other
1600 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1601 with_arch_32=${with_arch_32:-pentium4}
1602 with_tune_32=${with_tune_32:-generic}
1603 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1604 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1605 tmake_file="$tmake_file i386/t-sol2"
1607 if test x$with_cpu = x; then
1608 if test x$with_cpu_64 = x; then
1612 case " $x86_cpus $x86_archs $x86_64_archs " in
1616 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1617 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1623 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
1624 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
1627 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1628 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1631 tm_file="${tm_file} vxworks.h i386/vxworks.h"
1632 tmake_file="${tmake_file} i386/t-vxworks"
1636 i[34567]86-*-cygwin*)
1637 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"
1638 xm_file=i386/xm-cygwin.h
1639 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1640 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1641 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1642 extra_objs="winnt.o winnt-stubs.o"
1643 c_target_objs="${c_target_objs} msformat-c.o"
1644 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1645 if test x$enable_threads = xyes; then
1648 default_use_cxa_atexit=yes
1653 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"
1654 xm_file=i386/xm-cygwin.h
1655 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1656 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1657 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1658 extra_objs="winnt.o winnt-stubs.o"
1659 c_target_objs="${c_target_objs} msformat-c.o"
1660 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1661 if test x$enable_threads = xyes; then
1664 default_use_cxa_atexit=yes
1666 tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1668 i[34567]86-*-mingw* | x86_64-*-mingw*)
1669 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1670 xm_file=i386/xm-mingw32.h
1671 c_target_objs="${c_target_objs} winnt-c.o"
1672 cxx_target_objs="${cxx_target_objs} winnt-c.o"
1673 target_has_targetcm="yes"
1675 x86_64-*-* | *-w64-*)
1681 if test x$enable_threads = xposix ; then
1682 tm_file="${tm_file} i386/mingw-pthread.h"
1684 tm_file="${tm_file} i386/mingw32.h"
1685 # This makes the logic if mingw's or the w64 feature set has to be used
1688 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1689 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1690 tm_file="${tm_file} i386/mingw-w64.h"
1691 if test x$enable_targets = xall; then
1692 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1693 if test x$with_cpu = x; then
1694 if test x$with_cpu_64 = x; then
1698 case " $x86_cpus $x86_archs $x86_64_archs " in
1702 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1703 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1713 tm_file="${tm_file} i386/mingw-stdint.h"
1714 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1717 tmake_file="${tmake_file} i386/t-mingw-w64"
1720 tmake_file="${tmake_file} i386/t-mingw-w32"
1723 native_system_header_dir=/mingw/include
1724 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1725 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1728 extra_options="${extra_options} i386/mingw-w64.opt"
1733 extra_objs="winnt.o winnt-stubs.o"
1734 c_target_objs="${c_target_objs} msformat-c.o"
1735 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1738 default_use_cxa_atexit=yes
1740 case ${enable_threads} in
1750 tm_file="${tm_file} i386/crtdll.h"
1752 *mingw32msv* | *mingw*)
1757 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1758 tmake_file="ia64/t-ia64"
1759 target_cpu_default="0"
1760 if test x$gas = xyes
1762 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1764 if test x$gnu_ld = xyes
1766 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1770 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1771 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1772 tmake_file="${tmake_file} ia64/t-ia64"
1775 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1776 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1777 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1780 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1781 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1782 target_cpu_default="MASK_GNU_AS"
1783 case x$enable_threads in
1789 c_target_objs="ia64-c.o"
1790 cxx_target_objs="ia64-c.o"
1791 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
1793 tm_file="${tm_file} hpux-stdint.h"
1796 tm_file="${tm_file} ia64/hpux-unix2003.h"
1801 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1802 tmake_file="${tmake_file} ia64/t-ia64"
1803 target_cpu_default="0"
1804 if test x$gas = xyes
1806 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1808 extra_options="${extra_options} ia64/vms.opt"
1811 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
1812 out_file=iq2000/iq2000.c
1813 md_file=iq2000/iq2000.md
1816 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
1817 tmake_file="${tmake_file} lm32/t-lm32"
1820 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
1821 tmake_file="${tmake_file} lm32/t-lm32"
1822 tmake_file="${tmake_file} lm32/t-rtems"
1825 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
1826 tmake_file="${tmake_file} lm32/t-lm32"
1829 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1832 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
1835 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
1836 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1838 if test x$enable_threads = xyes; then
1843 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
1844 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1846 if test x$enable_threads = xyes; then
1850 m68k-*-elf* | fido-*-elf*)
1853 # Check that $with_cpu makes sense.
1858 echo "Cannot accept --with-cpu=$with_cpu"
1865 default_m68k_cpu=68020
1869 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"
1870 tm_defines="${tm_defines} MOTOROLA=1"
1871 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1872 # Add multilibs for targets other than fido.
1877 tmake_file="$tmake_file m68k/t-mlibs"
1882 default_m68k_cpu=68020
1884 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1885 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1886 tm_defines="${tm_defines} MOTOROLA=1"
1889 default_m68k_cpu=68020
1891 # needed to unconfuse gdb
1892 tm_defines="${tm_defines} OBSD_OLD_GAS"
1893 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
1894 extra_options="${extra_options} openbsd.opt"
1895 tmake_file="t-openbsd m68k/t-openbsd"
1896 # we need collect2 until our bug is fixed...
1899 m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
1900 # with uClibc, using the new GNU/Linux-style
1902 default_m68k_cpu=68020
1904 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"
1905 extra_options="${extra_options} m68k/uclinux.opt"
1906 tm_defines="${tm_defines} MOTOROLA=1"
1907 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
1909 m68k-*-linux*) # Motorola m68k's running GNU/Linux
1910 # with ELF format using glibc 2
1911 # aka the GNU/Linux C library 6.
1912 default_m68k_cpu=68020
1914 with_arch=${with_arch:-m68k}
1915 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
1916 extra_options="${extra_options} m68k/ieee.opt"
1917 tm_defines="${tm_defines} MOTOROLA=1"
1918 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
1921 default_m68k_cpu=68020
1923 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
1924 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"
1925 tm_defines="${tm_defines} MOTOROLA=1"
1928 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
1929 tmake_file=mcore/t-mcore
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)"