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.
247 if test "x$enable_obsolete" != xyes; then
248 echo "*** Configuration ${target} is obsolete." >&2
249 echo "*** Specify --enable-obsolete to build it anyway." >&2
250 echo "*** Support will be REMOVED in the next major release of GCC," >&2
251 echo "*** unless a maintainer comes forward." >&2
256 # Unsupported targets list. Do not put an entry in this list unless
257 # it would otherwise be caught by a more permissive pattern. The list
258 # should be in alphabetical order.
260 # Avoid special cases that are not obsolete
269 | i[34567]86-go32-* \
270 | i[34567]86-*-go32* \
271 | m68k-*-uclinuxoldabi* \
272 | mips64orion*-*-rtems* \
274 | sparc-hal-solaris2* \
276 | *-*-freebsd[12] | *-*-freebsd[12].* \
277 | *-*-freebsd*aout* \
285 | *-*-solaris2.[0-9] \
286 | *-*-solaris2.[0-9].* \
290 echo "*** Configuration ${target} not supported" 1>&2
295 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
296 # updated in each machine entry. Also set default extra_headers for some
299 cpu_type=`echo ${target} | sed 's/-.*$//'`
304 tmake_file=m32c/t-m32c
305 target_has_targetm_common=no
309 extra_headers="arm_neon.h arm_acle.h"
310 c_target_objs="aarch64-c.o"
311 cxx_target_objs="aarch64-c.o"
312 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o"
313 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
314 target_has_targetm_common=yes
318 extra_options="${extra_options} g.opt"
328 extra_objs="arm-builtins.o aarch-common.o"
329 extra_headers="mmintrin.h arm_neon.h arm_acle.h"
330 target_type_format_char='%'
331 c_target_objs="arm-c.o"
332 cxx_target_objs="arm-c.o"
333 extra_options="${extra_options} arm/arm-tables.opt"
334 target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
338 c_target_objs="avr-c.o"
339 cxx_target_objs="avr-c.o"
348 extra_options="${extra_options} g.opt"
351 target_has_targetm_common=no
353 moxie*) cpu_type=moxie
354 target_has_targetm_common=no
358 extra_headers=math-68881.h
359 extra_options="${extra_options} m68k/m68k-tables.opt"
363 c_target_objs="i386-c.o"
364 cxx_target_objs="i386-c.o"
365 extra_options="${extra_options} fused-madd.opt"
366 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
367 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
368 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
369 immintrin.h x86intrin.h avxintrin.h xopintrin.h
370 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
371 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
372 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
373 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
374 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
375 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
376 shaintrin.h clflushoptintrin.h xsavecintrin.h
377 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
378 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
379 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
380 avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h
381 mwaitxintrin.h clzerointrin.h pkuintrin.h"
385 c_target_objs="i386-c.o"
386 cxx_target_objs="i386-c.o"
387 extra_options="${extra_options} fused-madd.opt"
388 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
389 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
390 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
391 immintrin.h x86intrin.h avxintrin.h xopintrin.h
392 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
393 lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h
394 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
395 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
396 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
397 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
398 shaintrin.h clflushoptintrin.h xsavecintrin.h
399 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
400 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
401 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
402 avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h
403 mwaitxintrin.h clzerointrin.h pkuintrin.h"
406 extra_headers=ia64intrin.h
407 extra_options="${extra_options} g.opt fused-madd.opt"
413 extra_options="${extra_options} g.opt"
417 extra_options="${extra_options} g.opt"
420 extra_headers=math-68881.h
421 extra_options="${extra_options} m68k/m68k-tables.opt"
425 extra_options="${extra_options} g.opt"
429 extra_headers="loongson.h"
430 extra_objs="frame-header-opt.o"
431 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt"
435 extra_headers="nds32_intrinsic.h"
436 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"
440 extra_options="${extra_options} g.opt"
447 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"
449 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
453 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
456 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
460 c_target_objs="sparc-c.o"
461 cxx_target_objs="sparc-c.o"
462 extra_headers="visintrin.h"
469 extra_options="${extra_options} fused-madd.opt"
470 extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
472 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
473 sh[123456789lbe]*-*-* | sh-*-*)
475 extra_options="${extra_options} fused-madd.opt"
476 extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
483 extra_headers="c6x_intrinsics.h"
484 extra_options="${extra_options} c6x/c6x-tables.opt"
487 extra_options="${extra_options} fused-madd.opt"
497 tm_file=${cpu_type}/${cpu_type}.h
498 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
500 tm_p_file=${cpu_type}/${cpu_type}-protos.h
503 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
505 extra_modes=${cpu_type}/${cpu_type}-modes.def
507 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
509 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
514 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
517 if test "x$with_multilib_list" = xilp32; then
518 tm_file="aarch64/biarchilp32.h ${tm_file}"
520 tm_file="aarch64/biarchlp64.h ${tm_file}"
524 tm_file="aarch64/biarchilp32.h ${tm_file}"
527 tm_file="aarch64/biarchlp64.h ${tm_file}"
530 echo "Unknown ABI used in --with-abi=$with_abi"
535 if test "x$with_abi" != x; then
536 echo "This target does not support --with-abi."
539 if test "x$enable_cld" = xyes; then
540 tm_defines="${tm_defines} USE_IX86_CLD=1"
542 if test "x$enable_frame_pointer" = xyes; then
543 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
545 tm_file="vxworks-dummy.h ${tm_file}"
550 if test "x$with_multilib_list" = xmx32; then
551 tm_file="i386/biarchx32.h ${tm_file}"
553 tm_file="i386/biarch64.h ${tm_file}"
557 tm_file="i386/biarch64.h ${tm_file}"
560 tm_file="i386/biarchx32.h ${tm_file}"
563 echo "Unknown ABI used in --with-abi=$with_abi"
566 if test "x$enable_cld" = xyes; then
567 tm_defines="${tm_defines} USE_IX86_CLD=1"
569 if test "x$enable_frame_pointer" = xyes; then
570 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
572 tm_file="vxworks-dummy.h ${tm_file}"
575 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
576 tm_file="vxworks-dummy.h ${tm_file}"
578 mips*-*-* | sh*-*-* | sparc*-*-*)
579 tm_file="vxworks-dummy.h ${tm_file}"
583 # On a.out targets, we need to use collect2.
590 # Common C libraries.
591 tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
593 # 32-bit x86 processors supported by --with-arch=. Each processor
594 # MUST be separated by exactly one space.
595 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
596 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
597 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
598 pentium4 pentium4m pentiumpro prescott lakemont"
600 # 64-bit x86 processors supported by --with-arch=. Each processor
601 # MUST be separated by exactly one space.
602 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
603 bdver3 bdver4 znver1 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \
604 core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \
605 sandybridge ivybridge haswell broadwell bonnell silvermont knl \
606 skylake-avx512 x86-64 native"
608 # Additional x86 processors supported by --with-cpu=. Each processor
609 # MUST be separated by exactly one space.
610 x86_cpus="generic intel"
612 # Common parts for widely ported systems.
615 tmake_file="t-darwin ${cpu_type}/t-darwin"
616 tm_file="${tm_file} darwin.h"
619 tm_file="${tm_file} darwin9.h"
622 tm_file="${tm_file} darwin9.h darwin10.h"
624 *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
625 tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
628 tm_file="${tm_file} ${cpu_type}/darwin.h"
629 tm_p_file="${tm_p_file} darwin-protos.h"
630 target_gtfiles="\$(srcdir)/config/darwin.c"
631 extra_options="${extra_options} darwin.opt"
632 c_target_objs="${c_target_objs} darwin-c.o"
633 cxx_target_objs="${cxx_target_objs} darwin-c.o"
634 fortran_target_objs="darwin-f.o"
635 target_has_targetcm=yes
636 extra_objs="darwin.o"
637 extra_gcc_objs="darwin-driver.o"
638 default_use_cxa_atexit=yes
640 case ${enable_threads} in
641 "" | yes | posix) thread_file='posix' ;;
647 tmake_file="t-slibgcc"
648 case ${enable_threads} in
653 # Let these non-posix thread selections fall through if requested
656 echo 'Unknown thread configuration for DragonFly BSD'
660 extra_options="$extra_options rpath.opt dragonfly.opt"
661 default_use_cxa_atexit=yes
665 # This is the generic ELF configuration of FreeBSD. Later
666 # machine-specific sections may refine and add to this
669 # Due to tm_file entry ordering issues that vary between cpu
670 # architectures, we only define fbsd_tm_file to allow the
671 # machine-specific section to dictate the final order of all
672 # entries of tm_file with the minor exception that components
673 # of the tm_file set here will always be of the form:
675 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
677 # The machine-specific section should not tamper with this
678 # ordering but may order all other entries of tm_file as it
679 # pleases around the provided core setting.
682 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
683 if test "$fbsd_major" = ""; then
684 echo "Specify the major version number of the targeted FreeBSD release"
685 echo "like this: --target=amd64-unknown-freebsd10.1"
688 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
689 tmake_file="t-slibgcc"
690 case ${enable_threads} in
692 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
698 echo 'Unknown thread configuration for FreeBSD'
702 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
703 extra_options="$extra_options rpath.opt freebsd.opt"
708 default_use_cxa_atexit=yes;;
712 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
713 extra_options="$extra_options gnu-user.opt"
716 case ${enable_threads} in
717 "" | yes | posix) thread_file='posix' ;;
719 tmake_file="t-slibgcc"
721 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu)
724 native_system_header_dir=/include
727 # Linux C libraries selection switch: glibc / uclibc / bionic.
728 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
731 tm_p_file="${tm_p_file} linux-protos.h"
732 tmake_file="${tmake_file} t-linux"
733 extra_objs="${extra_objs} linux.o"
734 extra_options="${extra_options} linux.opt"
739 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
742 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
745 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
748 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
751 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
753 default_use_cxa_atexit=yes
756 # Enable compilation for Android by default for *android* targets.
759 tm_defines="$tm_defines ANDROID_DEFAULT=1"
762 tm_defines="$tm_defines ANDROID_DEFAULT=0"
765 c_target_objs="${c_target_objs} glibc-c.o"
766 cxx_target_objs="${cxx_target_objs} glibc-c.o"
767 tmake_file="${tmake_file} t-glibc"
768 target_has_targetcm=yes
771 tmake_file="t-slibgcc"
775 # NetBSD 2.0 and later get POSIX threads enabled by default.
776 # Allow them to be explicitly enabled on any other version.
777 case ${enable_threads} in
780 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
782 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
788 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
792 # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
793 # default (unless overridden by --disable-__cxa_atexit).
795 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
796 default_use_cxa_atexit=yes
801 tmake_file="t-openbsd"
802 case ${enable_threads} in
808 *-*-openbsd2.*|*-*-openbsd3.[012])
809 tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
812 *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
813 default_use_cxa_atexit=yes
818 case ${enable_threads} in
819 "" | yes | rtems) thread_file='rtems' ;;
820 posix) thread_file='posix' ;;
823 echo 'Unknown thread configuration for RTEMS'
827 tmake_file="${tmake_file} t-rtems"
828 extra_options="${extra_options} rtems.opt"
829 default_use_cxa_atexit=yes
833 extra_options="$extra_options gnu-user.opt"
835 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
841 # i?86-*-solaris2* needs to insert headers between cpu default and
842 # Solaris 2 specific ones.
843 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
844 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
845 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
847 *-*-solaris2.1[2-9]*)
848 # __cxa_atexit was introduced in Solaris 12.
849 default_use_cxa_atexit=yes
853 if test x$gnu_ld = xyes; then
854 tm_file="usegld.h ${tm_file}"
856 if test x$gas = xyes; then
857 tm_file="usegas.h ${tm_file}"
859 tm_p_file="${tm_p_file} sol2-protos.h"
860 tmake_file="${tmake_file} t-sol2 t-slibgcc"
861 c_target_objs="${c_target_objs} sol2-c.o"
862 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
863 extra_objs="sol2.o sol2-stubs.o"
864 extra_options="${extra_options} sol2.opt"
865 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
866 "":yes:* | yes:yes:* )
872 extra_options="${extra_options} vms/vms.opt"
874 tmake_file="vms/t-vms t-slibgcc"
876 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
877 tm_p_file="${tm_p_file} vms/vms-protos.h"
878 xm_file="vms/xm-vms.h"
879 c_target_objs="vms-c.o"
880 cxx_target_objs="vms-c.o"
881 fortran_target_objs="vms-f.o"
882 use_gcc_stdint=provide
883 tm_file="${tm_file} vms/vms-stdint.h"
884 if test x$gnu_ld != xyes; then
885 # Build wrappers for native case.
886 extra_programs="ld\$(exeext) ar\$(exeext)"
887 tmake_file="$tmake_file vms/t-vmsnative"
893 extra_options="${extra_options} vxworks.opt"
894 extra_objs="$extra_objs vxworks.o"
895 case ${enable_threads} in
897 "" | yes | vxworks) thread_file='vxworks' ;;
898 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
902 # Assume that newlib is being used and so __cxa_atexit is provided.
903 default_use_cxa_atexit=yes
909 aarch64*-*-elf | aarch64*-*-rtems*)
910 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
911 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
912 tmake_file="${tmake_file} aarch64/t-aarch64"
918 tm_file="${tm_file} rtems.h aarch64/rtems.h"
923 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
926 aarch64_multilibs="${with_multilib_list}"
927 if test "$aarch64_multilibs" = "default"; then
928 aarch64_multilibs="lp64,ilp32"
930 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
931 for aarch64_multilib in ${aarch64_multilibs}; do
932 case ${aarch64_multilib} in
934 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
937 echo "--with-multilib-list=${aarch64_multilib} not supported."
941 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
944 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
945 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
946 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
949 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
952 aarch64_multilibs="${with_multilib_list}"
953 if test "$aarch64_multilibs" = "default"; then
954 # TODO: turn on ILP32 multilib build after its support is mature.
955 # aarch64_multilibs="lp64,ilp32"
956 aarch64_multilibs="lp64"
958 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
959 for aarch64_multilib in ${aarch64_multilibs}; do
960 case ${aarch64_multilib} in
962 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
965 echo "--with-multilib-list=${aarch64_multilib} not supported."
969 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
972 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
973 tmake_file="${tmake_file} alpha/t-linux"
974 extra_options="${extra_options} alpha/elf.opt"
977 tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
978 extra_options="${extra_options} alpha/elf.opt"
981 tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
982 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
986 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
987 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
988 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
989 # default x-alpha is only appropriate for dec-osf.
992 tm_file="${tm_file} vms/vms.h alpha/vms.h"
993 tmake_file="${tmake_file} alpha/t-vms"
996 extra_headers="arc-simd.h"
997 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
998 tmake_file="arc/t-arc-newlib arc/t-arc"
999 case x"${with_cpu}" in
1000 xarc600|xarc601|xarc700)
1001 target_cpu_default="TARGET_CPU_$with_cpu"
1004 if test x${with_endian} = x; then
1006 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1007 *) with_endian=little ;;
1010 case ${with_endian} in
1012 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1014 case ${with_endian} in
1015 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1018 arc*-*-linux-uclibc*)
1019 extra_headers="arc-simd.h"
1020 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}"
1021 tmake_file="${tmake_file} arc/t-arc-uClibc arc/t-arc"
1022 tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0"
1023 tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1"
1024 case x"${with_cpu}" in
1025 xarc600|xarc601|xarc700)
1026 target_cpu_default="TARGET_CPU_$with_cpu"
1029 if test x${with_endian} = x; then
1031 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1032 *) with_endian=little ;;
1035 case ${with_endian} in
1037 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1039 case ${with_endian} in
1040 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1044 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1045 extra_options="${extra_options} arm/vxworks.opt"
1046 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1048 arm*-*-freebsd*) # ARM FreeBSD EABI
1049 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1052 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1055 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1056 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1059 tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
1064 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1067 with_tls=${with_tls:-gnu}
1070 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1071 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1072 tmake_file="${tmake_file} arm/t-arm"
1074 arm*-*-linux-*) # ARM GNU/Linux with ELF
1075 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"
1076 extra_options="${extra_options} linux-android.opt"
1079 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1082 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1083 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1084 # Define multilib configuration for arm-linux-androideabi.
1087 tmake_file="$tmake_file arm/t-linux-androideabi"
1090 # The EABI requires the use of __cxa_atexit.
1091 default_use_cxa_atexit=yes
1092 with_tls=${with_tls:-gnu}
1094 arm*-*-uclinux*eabi*) # ARM ucLinux
1095 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1096 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1097 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1098 # The EABI requires the use of __cxa_atexit.
1099 default_use_cxa_atexit=yes
1101 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
1104 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1106 default_use_cxa_atexit=yes
1107 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1108 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1111 tm_file="$tm_file newlib-stdint.h"
1112 tmake_file="${tmake_file} arm/t-bpabi"
1116 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1117 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1120 tm_file="${tm_file} arm/symbian.h"
1121 # We do not include t-bpabi for Symbian OS because the system
1122 # provides its own implementation of the BPABI functions.
1123 tmake_file="${tmake_file} arm/t-symbian"
1126 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
1129 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/rtems.h rtems.h newlib-stdint.h"
1130 tm_defines="${tm_defines} WITH_RTEMS"
1131 tmake_file="${tmake_file} avr/t-avr avr/t-multilib avr/t-rtems"
1132 extra_gcc_objs="driver-avr.o avr-devices.o"
1133 extra_objs="avr-devices.o avr-log.o"
1136 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1137 if test x${with_avrlibc} != xno; then
1138 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1139 tm_defines="${tm_defines} WITH_AVRLIBC"
1141 tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1143 extra_gcc_objs="driver-avr.o avr-devices.o"
1144 extra_objs="avr-devices.o avr-log.o"
1147 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1148 tmake_file=bfin/t-bfin-elf
1152 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1153 tmake_file=bfin/t-bfin-uclinux
1156 bfin*-linux-uclibc*)
1157 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"
1158 tmake_file="${tmake_file} bfin/t-bfin-linux"
1162 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1163 tmake_file="${tmake_file} bfin/t-rtems"
1166 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1171 tm_file="elfos.h ${tm_file} newlib-stdint.h"
1172 tmake_file="${tmake_file} cr16/t-cr16 "
1175 crisv32-*-elf | crisv32-*-none)
1176 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1177 tmake_file="cris/t-cris"
1178 target_cpu_default=32
1180 extra_options="${extra_options} cris/elf.opt"
1183 cris-*-elf | cris-*-none)
1184 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1185 tmake_file="cris/t-cris cris/t-elfmulti"
1187 extra_options="${extra_options} cris/elf.opt"
1190 crisv32-*-linux* | cris-*-linux*)
1191 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1192 tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1193 extra_options="${extra_options} cris/linux.opt"
1196 target_cpu_default=10
1199 target_cpu_default=32
1204 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1205 tmake_file="epiphany/t-epiphany"
1206 extra_options="${extra_options} fused-madd.opt"
1207 extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
1208 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1209 extra_headers="epiphany_intrinsics.h"
1212 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1215 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1216 tmake_file=frv/t-frv
1219 tm_file="dbxelf.h elfos.h ${tm_file} \
1220 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1221 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1226 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1227 tmake_file="${tmake_file} ft32/t-ft32"
1232 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1233 tmake_file="${tmake_file} moxie/t-moxie"
1238 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1239 tmake_file="${tmake_file} moxie/t-moxie"
1242 tmake_file="${tmake_file} moxie/t-moxie"
1243 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1248 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1249 tmake_file="${tmake_file} moxie/t-moxiebox"
1252 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-rtems"
1253 tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h newlib-stdint.h"
1256 tmake_file="h8300/t-h8300"
1257 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1260 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1261 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1264 target_cpu_default="MASK_PA_11|MASK_PA_20"
1265 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1266 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1271 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
1272 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1273 pa/pa32-regs.h pa/pa32-linux.h"
1274 tmake_file="${tmake_file} pa/t-linux"
1277 target_cpu_default="MASK_PA_11"
1278 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1279 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1280 extra_options="${extra_options} openbsd.opt"
1284 hppa[12]*-*-hpux10*)
1286 hppa1.1-*-* | hppa2*-*-*)
1287 target_cpu_default="MASK_PA_11"
1290 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1291 pa/pa-hpux.h pa/pa-hpux10.h"
1292 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1295 tm_file="${tm_file} pa/pa-hpux1010.h"
1296 extra_options="${extra_options} pa/pa-hpux1010.opt"
1299 use_gcc_stdint=provide
1300 tm_file="${tm_file} hpux-stdint.h"
1301 tmake_file="t-slibgcc"
1302 case ${enable_threads} in
1304 if test x$have_pthread_h = xyes ; then
1305 tmake_file="${tmake_file} pa/t-dce-thr"
1309 tmake_file="${tmake_file} pa/t-dce-thr"
1314 if test "x$with_dwarf2" != x; then
1315 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1320 target_cpu_default="MASK_PA_11|MASK_PA_20"
1321 if test x$gnu_ld = xyes
1323 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1325 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1326 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1330 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1331 extra_options="${extra_options} pa/pa-hpux1111.opt"
1334 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1335 extra_options="${extra_options} pa/pa-hpux1131.opt"
1338 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1341 extra_options="${extra_options} pa/pa-hpux.opt \
1342 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1343 tmake_file="t-slibgcc"
1344 case x${enable_threads} in
1352 use_gcc_stdint=provide
1353 tm_file="${tm_file} hpux-stdint.h"
1357 tm_file="${tm_file} hpux-stdint.h"
1361 hppa[12]*-*-hpux11*)
1363 hppa1.1-*-* | hppa2*-*-*)
1364 target_cpu_default="MASK_PA_11"
1367 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1368 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1369 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1373 tm_file="${tm_file} pa/pa-hpux1111.h"
1374 extra_options="${extra_options} pa/pa-hpux1111.opt"
1377 tm_file="${tm_file} pa/pa-hpux1131.h"
1378 extra_options="${extra_options} pa/pa-hpux1131.opt"
1381 tmake_file="t-slibgcc"
1382 case x${enable_threads} in
1391 use_gcc_stdint=provide
1392 tm_file="${tm_file} hpux-stdint.h"
1396 tm_file="${tm_file} hpux-stdint.h"
1399 if test "x$with_dwarf2" != x; then
1400 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1404 i[34567]86-*-darwin*)
1406 # Baseline choice for a machine that allows m64 support.
1407 with_cpu=${with_cpu:-core2}
1408 tmake_file="${tmake_file} t-slibgcc"
1411 with_cpu=${with_cpu:-core2}
1412 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1413 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1415 i[34567]86-*-elfiamcu)
1416 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
1419 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1422 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1425 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"
1428 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1431 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"
1432 tmake_file="i386/t-i386elf t-svr4"
1434 i[34567]86-*-dragonfly*)
1435 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1436 tmake_file="${tmake_file} i386/t-crtstuff"
1438 x86_64-*-dragonfly*)
1439 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"
1440 tmake_file="${tmake_file} i386/t-crtstuff"
1442 i[34567]86-*-freebsd*)
1443 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1446 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"
1448 i[34567]86-*-netbsdelf*)
1449 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
1450 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1453 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"
1454 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1456 i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
1457 tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
1458 extra_options="${extra_options} openbsd.opt"
1459 # needed to unconfuse gdb
1460 tmake_file="${tmake_file} t-openbsd i386/t-openbsd"
1461 # we need collect2 until our bug is fixed...
1464 i[34567]86-*-openbsd*)
1465 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1466 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1467 extra_options="${extra_options} openbsd.opt"
1472 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1473 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1474 extra_options="${extra_options} openbsd.opt"
1478 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1479 # Intel 80386's running GNU/*
1480 # with ELF format using glibc 2
1481 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1483 i[34567]86-*-linux*)
1484 tm_file="${tm_file} linux.h linux-android.h"
1485 extra_options="${extra_options} linux-android.opt"
1486 # Assume modern glibc if not targeting Android nor uclibc.
1488 *-*-*android*|*-*-*uclibc*)
1491 default_gnu_indirect_function=yes
1494 if test x$enable_targets = xall; then
1495 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1496 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1497 tmake_file="${tmake_file} i386/t-linux64"
1498 x86_multilibs="${with_multilib_list}"
1499 if test "$x86_multilibs" = "default"; then
1500 x86_multilibs="m64,m32"
1502 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1503 for x86_multilib in ${x86_multilibs}; do
1504 case ${x86_multilib} in
1506 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1509 echo "--with-multilib-list=${x86_with_multilib} not supported."
1513 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1515 if test x$with_cpu = x; then
1516 if test x$with_cpu_64 = x; then
1520 case " $x86_cpus $x86_archs $x86_64_archs " in
1524 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1525 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1531 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1534 i[34567]86-*-knetbsd*-gnu)
1535 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h knetbsd-gnu.h i386/knetbsd-gnu.h"
1537 i[34567]86-*-kfreebsd*-gnu)
1538 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1540 i[34567]86-*-kopensolaris*-gnu)
1541 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1544 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1548 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
1549 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1550 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1553 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1554 extra_options="${extra_options} linux-android.opt"
1555 # Assume modern glibc if not targeting Android nor uclibc.
1557 *-*-*android*|*-*-*uclibc*)
1560 default_gnu_indirect_function=yes
1564 x86_64-*-kfreebsd*-gnu)
1565 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1567 x86_64-*-knetbsd*-gnu)
1568 tm_file="${tm_file} knetbsd-gnu.h i386/knetbsd-gnu64.h"
1571 tmake_file="${tmake_file} i386/t-linux64"
1572 x86_multilibs="${with_multilib_list}"
1573 if test "$x86_multilibs" = "default"; then
1576 x86_multilibs="mx32"
1579 x86_multilibs="m64,m32"
1583 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1584 for x86_multilib in ${x86_multilibs}; do
1585 case ${x86_multilib} in
1587 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1590 echo "--with-multilib-list=${x86_with_multilib} not supported."
1594 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1596 i[34567]86-pc-msdosdjgpp*)
1597 xm_file=i386/xm-djgpp.h
1598 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1599 native_system_header_dir=/dev/env/DJDIR/include
1600 extra_options="${extra_options} i386/djgpp.opt"
1605 i[34567]86-*-lynxos*)
1607 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1608 tmake_file="${tmake_file} t-lynx"
1609 extra_options="${extra_options} lynx.opt"
1614 i[34567]86-*-nto-qnx*)
1615 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1616 extra_options="${extra_options} i386/nto.opt"
1620 i[34567]86-*-rtems*)
1621 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"
1622 tmake_file="${tmake_file} i386/t-rtems"
1624 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1625 # Set default arch_32 to pentium4, tune_32 to generic like the other
1626 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1627 with_arch_32=${with_arch_32:-pentium4}
1628 with_tune_32=${with_tune_32:-generic}
1629 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1630 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1631 tmake_file="$tmake_file i386/t-sol2"
1633 if test x$with_cpu = x; then
1634 if test x$with_cpu_64 = x; then
1638 case " $x86_cpus $x86_archs $x86_64_archs " in
1642 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1643 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1649 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
1650 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
1653 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1654 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1657 tm_file="${tm_file} vxworks.h i386/vxworks.h"
1658 tmake_file="${tmake_file} i386/t-vxworks"
1662 i[34567]86-*-cygwin*)
1663 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"
1664 xm_file=i386/xm-cygwin.h
1665 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1666 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1667 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1668 extra_objs="winnt.o winnt-stubs.o"
1669 c_target_objs="${c_target_objs} msformat-c.o"
1670 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1671 if test x$enable_threads = xyes; then
1674 default_use_cxa_atexit=yes
1679 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"
1680 xm_file=i386/xm-cygwin.h
1681 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1682 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1683 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1684 extra_objs="winnt.o winnt-stubs.o"
1685 c_target_objs="${c_target_objs} msformat-c.o"
1686 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1687 if test x$enable_threads = xyes; then
1690 default_use_cxa_atexit=yes
1692 tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1694 i[34567]86-*-mingw* | x86_64-*-mingw*)
1695 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1696 xm_file=i386/xm-mingw32.h
1697 c_target_objs="${c_target_objs} winnt-c.o"
1698 cxx_target_objs="${cxx_target_objs} winnt-c.o"
1699 target_has_targetcm="yes"
1701 x86_64-*-* | *-w64-*)
1707 if test x$enable_threads = xposix ; then
1708 tm_file="${tm_file} i386/mingw-pthread.h"
1710 tm_file="${tm_file} i386/mingw32.h"
1711 # This makes the logic if mingw's or the w64 feature set has to be used
1714 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1715 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1716 tm_file="${tm_file} i386/mingw-w64.h"
1717 if test x$enable_targets = xall; then
1718 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1719 if test x$with_cpu = x; then
1720 if test x$with_cpu_64 = x; then
1724 case " $x86_cpus $x86_archs $x86_64_archs " in
1728 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1729 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1739 tm_file="${tm_file} i386/mingw-stdint.h"
1740 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1743 tmake_file="${tmake_file} i386/t-mingw-w64"
1746 tmake_file="${tmake_file} i386/t-mingw-w32"
1749 native_system_header_dir=/mingw/include
1750 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1751 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1754 extra_options="${extra_options} i386/mingw-w64.opt"
1759 extra_objs="winnt.o winnt-stubs.o"
1760 c_target_objs="${c_target_objs} msformat-c.o"
1761 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1764 default_use_cxa_atexit=yes
1766 case ${enable_threads} in
1776 tm_file="${tm_file} i386/crtdll.h"
1778 *mingw32msv* | *mingw*)
1782 i[34567]86-*-interix[3-9]*)
1783 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h"
1784 tmake_file="${tmake_file} i386/t-interix"
1785 extra_options="${extra_options} rpath.opt i386/interix.opt"
1786 extra_objs="winnt.o winnt-stubs.o"
1787 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1788 if test x$enable_threads = xyes ; then
1791 if test x$stabs = xyes ; then
1792 tm_file="${tm_file} dbxcoff.h"
1796 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1797 tmake_file="ia64/t-ia64"
1798 target_cpu_default="0"
1799 if test x$gas = xyes
1801 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1803 if test x$gnu_ld = xyes
1805 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1809 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1810 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1811 tmake_file="${tmake_file} ia64/t-ia64"
1814 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1815 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1816 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1819 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1820 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1821 target_cpu_default="MASK_GNU_AS"
1822 case x$enable_threads in
1828 c_target_objs="ia64-c.o"
1829 cxx_target_objs="ia64-c.o"
1830 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
1832 tm_file="${tm_file} hpux-stdint.h"
1835 tm_file="${tm_file} ia64/hpux-unix2003.h"
1840 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1841 tmake_file="${tmake_file} ia64/t-ia64"
1842 target_cpu_default="0"
1843 if test x$gas = xyes
1845 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1847 extra_options="${extra_options} ia64/vms.opt"
1850 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
1851 out_file=iq2000/iq2000.c
1852 md_file=iq2000/iq2000.md
1855 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
1856 tmake_file="${tmake_file} lm32/t-lm32"
1859 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
1860 tmake_file="${tmake_file} lm32/t-lm32"
1861 tmake_file="${tmake_file} lm32/t-rtems"
1864 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
1865 tmake_file="${tmake_file} lm32/t-lm32"
1868 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1871 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
1874 tm_file="dbxelf.h elfos.h ${tm_file} m32r/rtems.h rtems.h newlib-stdint.h"
1875 tmake_file="${tmake_file} m32r/t-m32r"
1878 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
1879 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1881 if test x$enable_threads = xyes; then
1886 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
1887 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1889 if test x$enable_threads = xyes; then
1893 m68k-*-elf* | fido-*-elf*)
1896 # Check that $with_cpu makes sense.
1901 echo "Cannot accept --with-cpu=$with_cpu"
1908 default_m68k_cpu=68020
1912 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"
1913 tm_defines="${tm_defines} MOTOROLA=1"
1914 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1915 # Add multilibs for targets other than fido.
1920 tmake_file="$tmake_file m68k/t-mlibs"
1925 default_m68k_cpu=68020
1927 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1928 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1929 tm_defines="${tm_defines} MOTOROLA=1"
1932 default_m68k_cpu=68020
1934 # needed to unconfuse gdb
1935 tm_defines="${tm_defines} OBSD_OLD_GAS"
1936 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
1937 extra_options="${extra_options} openbsd.opt"
1938 tmake_file="t-openbsd m68k/t-openbsd"
1939 # we need collect2 until our bug is fixed...
1942 m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
1943 # with uClibc, using the new GNU/Linux-style
1945 default_m68k_cpu=68020
1947 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"
1948 extra_options="${extra_options} m68k/uclinux.opt"
1949 tm_defines="${tm_defines} MOTOROLA=1"
1950 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
1952 m68k-*-linux*) # Motorola m68k's running GNU/Linux
1953 # with ELF format using glibc 2
1954 # aka the GNU/Linux C library 6.
1955 default_m68k_cpu=68020
1957 with_arch=${with_arch:-m68k}
1958 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
1959 extra_options="${extra_options} m68k/ieee.opt"
1960 tm_defines="${tm_defines} MOTOROLA=1"
1961 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
1964 default_m68k_cpu=68020
1966 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
1967 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"
1968 tm_defines="${tm_defines} MOTOROLA=1"
1971 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
1972 tmake_file=mcore/t-mcore
1976 tm_file="dbxelf.h elfos.h ${tm_file}"
1977 tmake_file=mep/t-mep
1978 c_target_objs="mep-pragma.o"
1979 cxx_target_objs="mep-pragma.o"
1980 if test -d "${srcdir}/../newlib/libc/include" &&
1981 test "x$with_headers" = x; then
1989 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1992 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1995 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
1996 tm_file="${tm_file} glibc-stdint.h"
1997 c_target_objs="${c_target_objs} microblaze-c.o"
1998 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1999 tmake_file="${tmake_file} microblaze/t-microblaze"
2000 tmake_file="${tmake_file} microblaze/t-microblaze-linux"
2002 microblaze*-*-rtems*)
2005 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2008 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2011 tm_file="${tm_file} dbxelf.h"
2012 tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
2013 c_target_objs="${c_target_objs} microblaze-c.o"
2014 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2015 tmake_file="${tmake_file} microblaze/t-microblaze"
2016 tmake_file="${tmake_file} microblaze/t-rtems"
2021 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2024 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2027 tm_file="${tm_file} dbxelf.h newlib-stdint.h"
2028 c_target_objs="${c_target_objs} microblaze-c.o"
2029 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2030 tmake_file="${tmake_file} microblaze/t-microblaze"
2032 mips*-*-netbsd*) # NetBSD/mips, either endian.
2033 target_cpu_default="MASK_ABICALLS"
2034 tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
2035 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2038 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"
2039 extra_options="${extra_options} linux-android.opt"
2040 tmake_file="${tmake_file} mips/t-img-linux"
2041 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2046 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"
2047 extra_options="${extra_options} linux-android.opt"
2048 tmake_file="${tmake_file} mips/t-mti-linux"
2049 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2053 mips*-*-linux*) # Linux MIPS, either endian.
2054 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"
2055 extra_options="${extra_options} linux-android.opt"
2058 default_mips_arch=mips32r6
2061 default_mips_arch=mips32r2
2064 default_mips_arch=mips32
2066 mips64el-st-linux-gnu)
2067 default_mips_abi=n32
2068 tm_file="${tm_file} mips/st.h"
2069 tmake_file="${tmake_file} mips/t-st"
2070 enable_mips_multilibs="yes"
2072 mips64octeon*-*-linux*)
2073 default_mips_abi=n32
2074 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2075 target_cpu_default=MASK_SOFT_FLOAT_ABI
2076 enable_mips_multilibs="yes"
2078 mipsisa64r6*-*-linux*)
2079 default_mips_abi=n32
2080 default_mips_arch=mips64r6
2081 enable_mips_multilibs="yes"
2083 mipsisa64r2*-*-linux*)
2084 default_mips_abi=n32
2085 default_mips_arch=mips64r2
2086 enable_mips_multilibs="yes"
2088 mips64*-*-linux* | mipsisa64*-*-linux*)
2089 default_mips_abi=n32
2090 enable_mips_multilibs="yes"
2093 if test x$enable_targets = xall; then
2094 enable_mips_multilibs="yes"
2096 if test x$enable_mips_multilibs = xyes; then
2097 tmake_file="${tmake_file} mips/t-linux64"
2101 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2102 tmake_file="mips/t-mti-elf"
2103 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2106 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2107 tmake_file="mips/t-img-elf"
2108 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2111 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2112 tmake_file="mips/t-sde"
2113 extra_options="${extra_options} mips/sde.opt"
2114 case "${with_newlib}" in
2116 # newlib / libgloss.
2119 # MIPS toolkit libraries.
2120 tm_file="$tm_file mips/sdemtk.h"
2121 tmake_file="$tmake_file mips/t-sdemtk"
2122 case ${enable_threads} in
2124 thread_file='mipssde'
2131 tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2134 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2137 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2140 tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2143 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2146 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2150 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2151 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2152 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2153 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2154 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2155 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2156 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2157 tmake_file="mips/t-isa3264"
2160 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2163 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2166 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2169 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2172 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2175 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2179 mipsisa32*-*-elfoabi*)
2180 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2181 tm_file="${tm_file} mips/elfoabi.h"
2183 mipsisa64*-*-elfoabi*)
2184 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2185 tm_file="${tm_file} mips/elfoabi.h"
2188 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2192 mipsisa64sr71k-*-elf*)
2193 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2194 tmake_file=mips/t-sr71k
2195 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2197 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2198 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2199 tmake_file="mips/t-elf mips/t-sb1"
2200 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2202 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2203 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2204 tmake_file="mips/t-elf"
2206 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2207 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2208 tmake_file="mips/t-elf"
2209 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2211 mips64-*-elf* | mips64el-*-elf*)
2212 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2213 tmake_file="mips/t-elf"
2214 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2216 mips64vr-*-elf* | mips64vrel-*-elf*)
2217 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2218 tmake_file=mips/t-vr
2219 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2221 mips64orion-*-elf* | mips64orionel-*-elf*)
2222 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2223 tmake_file="mips/t-elf"
2224 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2227 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2228 tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2231 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2232 tmake_file="${tmake_file} mips/t-vxworks"
2234 mipstx39-*-elf* | mipstx39el-*-elf*)
2235 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2236 tmake_file="mips/t-r3900"
2238 mmix-knuth-mmixware)
2239 tm_file="${tm_file} newlib-stdint.h"
2243 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2244 if test x$stabs = xyes
2246 tm_file="${tm_file} dbx.h"
2252 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2253 c_target_objs="msp430-c.o"
2254 cxx_target_objs="msp430-c.o"
2255 tmake_file="${tmake_file} msp430/t-msp430"
2256 extra_gcc_objs="driver-msp430.o"
2259 target_cpu_default="0"
2260 tm_defines="${tm_defines}"
2261 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2262 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2265 target_cpu_default="0|MASK_BIG_ENDIAN"
2266 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2267 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2268 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2271 tm_file="elfos.h ${tm_file}"
2272 tmake_file="${tmake_file} nios2/t-nios2"
2275 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2278 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2279 extra_options="${extra_options} nios2/elf.opt"
2282 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2283 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2288 tm_file="${tm_file} newlib-stdint.h"
2289 tmake_file="nvptx/t-nvptx"
2290 if test x$enable_as_accelerator = xyes; then
2291 extra_programs="${extra_programs} mkoffload\$(exeext)"
2292 tm_file="${tm_file} nvptx/offload.h"
2296 tm_file="${tm_file} newlib-stdint.h"
2299 # port not yet contributed
2300 #powerpc-*-openbsd*)
2301 # tmake_file="${tmake_file} rs6000/t-fprules"
2305 extra_options="${extra_options} rs6000/darwin.opt"
2307 *-darwin1[0-9]* | *-darwin[8-9]*)
2308 tmake_file="${tmake_file} rs6000/t-darwin8"
2309 tm_file="${tm_file} rs6000/darwin8.h"
2312 tm_file="${tm_file} rs6000/darwin7.h"
2317 tmake_file="${tmake_file} t-slibgcc"
2318 extra_headers=altivec.h
2320 powerpc64-*-darwin*)
2321 extra_options="${extra_options} ${cpu_type}/darwin.opt"
2322 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
2323 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
2324 extra_headers=altivec.h
2326 powerpc*-*-freebsd*)
2327 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
2328 extra_options="${extra_options} rs6000/sysv4.opt"
2329 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2332 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2333 tmake_file="${tmake_file} rs6000/t-freebsd64"
2334 extra_options="${extra_options} rs6000/linux64.opt"
2337 tm_file="${tm_file} rs6000/freebsd.h"
2342 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2343 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2344 tmake_file="${tmake_file} rs6000/t-netbsd"
2345 extra_options="${extra_options} rs6000/sysv4.opt"
2348 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"
2349 extra_options="${extra_options} rs6000/sysv4.opt"
2350 tmake_file="rs6000/t-spe rs6000/t-ppccomm"
2353 powerpc-*-eabisimaltivec*)
2354 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"
2355 extra_options="${extra_options} rs6000/sysv4.opt"
2356 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2360 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"
2361 extra_options="${extra_options} rs6000/sysv4.opt"
2362 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2366 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2367 extra_options="${extra_options} rs6000/sysv4.opt"
2368 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2370 powerpc-*-eabialtivec*)
2371 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"
2372 extra_options="${extra_options} rs6000/sysv4.opt"
2373 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2376 powerpc-xilinx-eabi*)
2377 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"
2378 extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
2379 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
2383 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"
2384 extra_options="${extra_options} rs6000/sysv4.opt"
2385 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2389 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"
2390 extra_options="${extra_options} rs6000/sysv4.opt"
2391 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2394 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2395 extra_options="${extra_options} rs6000/sysv4.opt"
2396 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2397 extra_objs="$extra_objs rs6000-linux.o"
2400 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2402 case ${target}:${with_cpu} in
2403 powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2405 maybe_biarch=${cpu_is_64bit}
2406 case ${enable_targets} in
2407 *powerpc64*) maybe_biarch=yes ;;
2408 all) maybe_biarch=yes ;;
2411 powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
2412 echo "*** Configuration ${target} not supported" 1>&2
2415 powerpc*-*-linux*spe* | powerpc*-*-linux*paired*)
2419 case ${target}:${enable_targets}:${maybe_biarch} in
2420 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2421 | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2422 | powerpcle-*:*powerpc64le*:yes)
2423 if test x$cpu_is_64bit = xyes; then
2424 tm_file="${tm_file} rs6000/default64.h"
2426 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2427 tmake_file="$tmake_file rs6000/t-linux64"
2430 tmake_file="$tmake_file rs6000/t-linux64le"
2431 case ${enable_targets} in
2432 all | *powerpc64-* | *powerpc-*)
2433 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2436 case ${enable_targets} in
2437 all | *powerpc64le-* | *powerpcle-*)
2438 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2441 extra_options="${extra_options} rs6000/linux64.opt"
2444 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2445 extra_options="${extra_options} rs6000/linux64.opt"
2446 tmake_file="${tmake_file} rs6000/t-linux"
2449 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2450 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2454 powerpc*-*-linux*ppc476*)
2455 tm_file="${tm_file} rs6000/476.h"
2456 extra_options="${extra_options} rs6000/476.opt" ;;
2457 powerpc*-*-linux*altivec*)
2458 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2459 powerpc*-*-linux*spe*)
2460 tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;;
2461 powerpc*-*-linux*paired*)
2462 tm_file="${tm_file} rs6000/750cl.h" ;;
2466 enable_secureplt=yes ;;
2468 if test x${enable_secureplt} = xyes; then
2469 tm_file="rs6000/secureplt.h ${tm_file}"
2472 powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
2473 tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
2474 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2475 extra_options="${extra_options} rs6000/sysv4.opt"
2476 extra_headers=ppc-asm.h
2479 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
2480 tmake_file="${tmake_file} rs6000/t-vxworksmils"
2483 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
2484 tmake_file="${tmake_file} rs6000/t-vxworksae"
2487 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
2493 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2494 tmake_file="t-lynx rs6000/t-lynx"
2495 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2501 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2502 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2503 extra_options="${extra_options} rs6000/sysv4.opt"
2505 powerpcle-*-eabisim*)
2506 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"
2507 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2508 extra_options="${extra_options} rs6000/sysv4.opt"
2512 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"
2513 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2514 extra_options="${extra_options} rs6000/sysv4.opt"
2517 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2518 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
2519 tmake_file="rs6000/t-aix43 t-slibgcc"
2520 extra_options="${extra_options} rs6000/aix64.opt"
2523 use_gcc_stdint=provide
2526 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
2527 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
2528 extra_options="${extra_options} rs6000/aix64.opt"
2529 tmake_file="rs6000/t-aix43 t-slibgcc"
2535 rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
2536 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
2537 tmake_file="rs6000/t-aix52 t-slibgcc"
2538 extra_options="${extra_options} rs6000/aix64.opt"
2544 rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
2545 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
2546 tmake_file="rs6000/t-aix52 t-slibgcc"
2547 extra_options="${extra_options} rs6000/aix64.opt"
2551 extra_headers=altivec.h
2553 rs6000-ibm-aix6.* | powerpc-ibm-aix6.*)
2554 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2555 tmake_file="rs6000/t-aix52 t-slibgcc"
2556 extra_options="${extra_options} rs6000/aix64.opt"
2560 extra_headers=altivec.h
2561 default_use_cxa_atexit=yes
2563 rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*)
2564 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h"
2565 tmake_file="rs6000/t-aix52 t-slibgcc"
2566 extra_options="${extra_options} rs6000/aix64.opt"
2570 extra_headers=altivec.h
2571 default_use_cxa_atexit=yes
2574 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2575 target_has_targetm_common=no
2576 c_target_objs="rl78-c.o"
2577 cxx_target_objs="rl78-c.o"
2578 tmake_file="${tmake_file} rl78/t-rl78"
2581 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2582 tmake_file="${tmake_file} rx/t-rx"
2585 default_gnu_indirect_function=yes
2586 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2587 c_target_objs="${c_target_objs} s390-c.o"
2588 cxx_target_objs="${cxx_target_objs} s390-c.o"
2589 if test x$enable_targets = xall; then
2590 tmake_file="${tmake_file} s390/t-linux64"
2592 tmake_file="${tmake_file} s390/t-s390"
2595 default_gnu_indirect_function=yes
2596 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2597 tm_p_file="linux-protos.h s390/s390-protos.h"
2598 c_target_objs="${c_target_objs} s390-c.o"
2599 cxx_target_objs="${cxx_target_objs} s390-c.o"
2600 md_file=s390/s390.md
2601 extra_modes=s390/s390-modes.def
2602 out_file=s390/s390.c
2603 tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
2606 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2607 tm_p_file=s390/s390-protos.h
2608 c_target_objs="${c_target_objs} s390-c.o"
2609 cxx_target_objs="${cxx_target_objs} s390-c.o"
2610 md_file=s390/s390.md
2611 extra_modes=s390/s390-modes.def
2612 out_file=s390/s390.c
2614 extra_options="${extra_options} s390/tpf.opt"
2615 tmake_file="${tmake_file} s390/t-s390"
2617 sh-*-elf* | sh[12346l]*-*-elf* | \
2618 sh-*-linux* | sh[2346lbe]*-*-linux* | \
2619 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
2620 sh64-*-netbsd* | sh64l*-*-netbsd*)
2621 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2622 if test x${with_endian} = x; then
2624 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2625 shbe-*-* | sheb-*-*) with_endian=big,little ;;
2626 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
2627 shl* | sh64l* | sh*-*-linux* | \
2628 sh5l* | sh-superh-elf) with_endian=little,big ;;
2629 sh[1234]*-*-*) with_endian=big ;;
2630 *) with_endian=big,little ;;
2633 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2634 # First word : the default endian.
2635 # Second word: the secondary endian (optional).
2636 case ${with_endian} in
2637 big) TM_ENDIAN_CONFIG=mb ;;
2638 little) TM_ENDIAN_CONFIG=ml ;;
2639 big,little) TM_ENDIAN_CONFIG="mb ml" ;;
2640 little,big) TM_ENDIAN_CONFIG="ml mb" ;;
2641 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
2643 case ${with_endian} in
2644 little*) tm_file="sh/little.h ${tm_file}" ;;
2646 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2648 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
2649 if test x$enable_fdpic = xyes; then
2650 tm_defines="$tm_defines FDPIC_DEFAULT=1"
2652 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2654 tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h"
2655 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2658 sh*-superh-elf) if test x$with_libgloss != xno; then
2660 tm_file="${tm_file} sh/newlib.h"
2662 tm_file="${tm_file} sh/embed-elf.h"
2663 tm_file="${tm_file} sh/superh.h"
2664 extra_options="${extra_options} sh/superh.opt" ;;
2665 *) if test x$with_newlib = xyes \
2666 && test x$with_libgloss = xyes; then
2667 tm_file="${tm_file} sh/newlib.h"
2669 tm_file="${tm_file} sh/embed-elf.h" ;;
2673 # SHmedia, 32-bit ABI
2674 tmake_file="${tmake_file} sh/t-sh64"
2677 # SHmedia, 64-bit ABI
2678 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5-64"
2683 tmake_file="${tmake_file} sh/t-sh64"
2684 tm_file="${tm_file} sh/sh64.h"
2685 extra_headers="shmedia.h ushmedia.h sshmedia.h"
2688 tmake_file="${tmake_file} sh/t-sh64"
2689 tm_file="${tm_file} sh/sh64.h"
2690 if test x$with_newlib = xyes; then
2691 tm_file="${tm_file} newlib-stdint.h"
2693 extra_headers="shmedia.h ushmedia.h sshmedia.h"
2696 tm_file="${tm_file} newlib-stdint.h"
2699 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2700 case `echo ${target} | sed 's/e[lb]-/-/'` in
2701 sh64*-*-netbsd*) sh_cpu_target=sh5-64media ;;
2702 sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;;
2703 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2704 sh4a_single*) sh_cpu_target=sh4a-single ;;
2705 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2706 sh4al) sh_cpu_target=sh4al ;;
2707 sh4a*) sh_cpu_target=sh4a ;;
2708 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2709 sh4_single*) sh_cpu_target=sh4-single ;;
2710 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2711 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2712 sh3e*) sh_cpu_target=sh3e ;;
2713 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
2714 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2715 sh2a_single*) sh_cpu_target=sh2a-single ;;
2716 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2717 sh2a*) sh_cpu_target=sh2a ;;
2718 sh2e*) sh_cpu_target=sh2e ;;
2719 sh2*) sh_cpu_target=sh2 ;;
2720 *) sh_cpu_target=sh1 ;;
2722 # did the user say --without-fp ?
2723 if test x$with_fp = xno; then
2724 case ${sh_cpu_target} in
2725 sh5-*media) sh_cpu_target=${sh_cpu_target}-nofpu ;;
2727 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
2728 sh4*) sh_cpu_target=sh4-nofpu ;;
2729 sh3*) sh_cpu_target=sh3 ;;
2730 sh2a*) sh_cpu_target=sh2a-nofpu ;;
2731 sh2*) sh_cpu_target=sh2 ;;
2732 *) echo --without-fp not available for $target: ignored
2734 tm_defines="$tm_defines STRICT_NOFPU=1"
2736 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2737 case $sh_cpu_default in
2738 sh5-64media-nofpu | sh5-64media | \
2739 sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
2740 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
2741 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
2742 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
2743 sh3e | sh3 | sh2e | sh2 | sh1) ;;
2744 "") sh_cpu_default=${sh_cpu_target} ;;
2745 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
2747 sh_multilibs=${with_multilib_list}
2748 if test "$sh_multilibs" = "default" ; then
2750 sh64-superh-linux* | \
2751 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
2752 sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
2753 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2754 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
2755 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
2756 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
2758 if test x$with_fp = xno; then
2759 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`"
2762 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
2763 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
2764 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2765 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
2766 for sh_multilib in ${sh_multilibs}; do
2767 case ${sh_multilib} in
2768 m1 | m2 | m2e | m3 | m3e | \
2769 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2770 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2771 m2a | m2a-single | m2a-single-only | m2a-nofpu | \
2772 m5-64media | m5-64media-nofpu | \
2773 m5-32media | m5-32media-nofpu | \
2774 m5-compact | m5-compact-nofpu)
2775 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2776 # It is passed to MULTIILIB_OPTIONS verbatim.
2777 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2778 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2780 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2781 # It is passed the MULTILIB_EXCEPTIONS verbatim.
2782 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
2784 echo "with_multilib_list=${sh_multilib} not supported."
2789 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
2790 if test x${enable_incomplete_targets} = xyes ; then
2791 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1"
2793 tm_file="$tm_file ./sysroot-suffix.h"
2794 tmake_file="$tmake_file t-sysroot-suffix"
2797 tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
2798 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
2801 tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
2802 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
2805 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
2808 tmake_file="sparc/t-sparc sparc/t-leon"
2811 tmake_file="sparc/t-sparc sparc/t-leon3"
2814 tmake_file="sparc/t-sparc sparc/t-elf"
2819 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
2820 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
2823 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
2824 extra_options="${extra_options} sparc/long-double-switch.opt"
2827 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
2830 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
2833 tmake_file="${tmake_file} sparc/t-sparc"
2836 if test x$enable_targets = xall; then
2837 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
2838 tmake_file="${tmake_file} sparc/t-linux64"
2840 tm_file="${tm_file} sparc/linux.h"
2841 tmake_file="${tmake_file} sparc/t-linux"
2845 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2846 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2847 extra_options="${extra_options} sparc/long-double-switch.opt"
2848 tmake_file="${tmake_file} sparc/t-sparc"
2851 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
2853 sparc64-*-* | sparcv9-*-*)
2854 tm_file="sparc/default-64.h ${tm_file}"
2857 test x$with_cpu != x || with_cpu=v9
2860 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
2863 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
2864 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
2867 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
2868 extra_options="${extra_options}"
2869 tmake_file="${tmake_file} sparc/t-sparc"
2872 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
2873 extra_options="${extra_options}"
2874 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
2877 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"
2878 extra_options="${extra_options} sparc/long-double-switch.opt"
2879 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
2881 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2882 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2883 extra_options="${extra_options} sparc/long-double-switch.opt"
2884 case "x$with_cpu" in
2886 x) with_cpu=ultrasparc ;;
2887 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2889 tmake_file="${tmake_file} sparc/t-sparc"
2892 tm_file="sparc/biarch64.h ${tm_file}"
2893 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2894 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2895 extra_options="${extra_options} sparc/long-double-switch.opt"
2896 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
2899 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
2900 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
2901 extra_options="${extra_options} openbsd.opt"
2902 extra_options="${extra_options}"
2905 tmake_file="${tmake_file} sparc/t-sparc"
2908 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
2909 tmake_file="spu/t-spu-elf"
2910 native_system_header_dir=/include
2911 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
2912 extra_modes=spu/spu-modes.def
2913 c_target_objs="${c_target_objs} spu-c.o"
2914 cxx_target_objs="${cxx_target_objs} spu-c.o"
2917 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
2918 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
2919 tmake_file="c6x/t-c6x c6x/t-c6x-elf"
2923 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
2924 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
2925 tm_file="${tm_file} ./sysroot-suffix.h"
2926 tmake_file="t-sysroot-suffix t-slibgcc"
2927 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
2931 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
2932 tmake_file="${tmake_file} tilegx/t-tilegx"
2933 extra_objs="${extra_objs} mul-tables.o"
2934 c_target_objs="${c_target_objs} tilegx-c.o"
2935 cxx_target_objs="${cxx_target_objs} tilegx-c.o"
2936 extra_headers="feedback.h"
2939 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2944 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
2945 tmake_file="${tmake_file} tilepro/t-tilepro"
2946 extra_objs="${extra_objs} mul-tables.o"
2947 c_target_objs="${c_target_objs} tilepro-c.o"
2948 cxx_target_objs="${cxx_target_objs} tilepro-c.o"
2949 extra_headers="feedback.h"
2952 target_cpu_default="TARGET_CPU_generic"
2953 tm_file="dbxelf.h elfos.h v850/v850.h"
2954 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
2955 tmake_file="${tmake_file} v850/t-v850"
2956 tmake_file="${tmake_file} v850/t-rtems"
2958 c_target_objs="v850-c.o"
2959 cxx_target_objs="v850-c.o"
2964 target_cpu_default="TARGET_CPU_v850e3v5"
2967 target_cpu_default="TARGET_CPU_v850e2v3"
2970 target_cpu_default="TARGET_CPU_v850e2"
2972 v850e1-*-* | v850es-*-*)
2973 target_cpu_default="TARGET_CPU_v850e1"
2976 target_cpu_default="TARGET_CPU_v850e"
2979 target_cpu_default="TARGET_CPU_generic"
2982 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
2983 if test x$stabs = xyes
2985 tm_file="${tm_file} dbx.h"
2988 c_target_objs="v850-c.o"
2989 cxx_target_objs="v850-c.o"
2993 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
2994 extra_options="${extra_options} vax/elf.opt"
2997 tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
2998 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
3001 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
3002 extra_options="${extra_options} openbsd.opt"
3006 tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
3007 tmake_file="visium/t-visium visium/t-crtstuff"
3010 # For historical reasons, the target files omit the 'x'.
3011 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
3012 tm_p_file=stormy16/stormy16-protos.h
3013 md_file=stormy16/stormy16.md
3014 out_file=stormy16/stormy16.c
3015 extra_options=stormy16/stormy16.opt
3016 tmake_file="stormy16/t-stormy16"
3019 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
3020 extra_options="${extra_options} xtensa/elf.opt"
3023 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
3024 tmake_file="${tmake_file} xtensa/t-xtensa"
3027 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h"
3028 tmake_file="${tmake_file} xtensa/t-xtensa"
3029 extra_options="${extra_options} xtensa/uclinux.opt"
3032 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
3037 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
3038 c_target_objs="m32c-pragma.o"
3039 cxx_target_objs="m32c-pragma.o"
3042 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
3043 c_target_objs="m32c-pragma.o"
3044 cxx_target_objs="m32c-pragma.o"
3047 echo "*** Configuration ${target} not supported" 1>&2
3053 i[34567]86-*-linux* | x86_64-*-linux*)
3054 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
3056 i[34567]86-*-* | x86_64-*-*)
3057 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
3059 powerpc*-*-* | rs6000-*-*)
3060 tm_file="${tm_file} rs6000/option-defaults.h"
3063 # Build mkoffload tool
3065 *-intelmic-* | *-intelmicemul-*)
3066 tmake_file="${tmake_file} i386/t-intelmic"
3067 tm_file="${tm_file} i386/intelmic-offload.h"
3071 if [ "$target_has_targetcm" = "no" ]; then
3072 c_target_objs="$c_target_objs default-c.o"
3073 cxx_target_objs="$cxx_target_objs default-c.o"
3076 if [ "$common_out_file" = "" ]; then
3077 if [ "$target_has_targetm_common" = "yes" ]; then
3078 common_out_file="$cpu_type/$cpu_type-common.c"
3080 common_out_file="default-common.c"
3084 # Support for --with-cpu and related options (and a few unrelated options,
3088 echo "--with-cpu must be passed a value" 1>&2
3093 # Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
3094 # to generic if there is no processor scheduler model for the target.
3097 arch_without_sse2=no
3098 arch_without_64bit=no
3101 if test $fbsd_major -ge 6; then
3107 arch_without_sse2=yes
3108 arch_without_64bit=yes
3113 arch_without_sse2=yes
3114 arch_without_64bit=yes
3119 arch_without_sse2=yes
3120 arch_without_64bit=yes
3123 arch_without_sse2=yes
3124 arch_without_64bit=yes
3125 case ${target_noncanonical} in
3138 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3148 i686-*-* | i786-*-*)
3149 case ${target_noncanonical} in
3178 amdfam10-*|barcelona-*)
3182 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3186 k8-*|opteron-*|athlon64-*|athlon_fx-*)
3190 athlon_xp-*|athlon_mp-*|athlon_4-*)
3193 arch_without_sse2=yes
3194 arch_without_64bit=yes
3196 athlon_tbird-*|athlon-*)
3199 arch_without_sse2=yes
3204 arch_without_sse2=yes
3209 arch_without_sse2=yes
3211 pentium3-*|pentium3m-*)
3214 arch_without_sse2=yes
3216 pentium4-*|pentium4m-*)
3255 arch_without_sse2=yes
3260 arch_without_sse2=yes
3261 arch_without_64bit=yes
3266 case ${target_noncanonical} in
3295 amdfam10-*|barcelona-*)
3299 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3303 k8-*|opteron-*|athlon_64-*)
3335 # If there is no $with_cpu option, try to infer one from ${target}.
3336 # This block sets nothing except for with_cpu.
3337 if test x$with_cpu = x ; then
3339 i[34567]86-*-elfiamcu)
3342 i[34567]86-*-*|x86_64-*-*)
3360 frv-*-*linux* | frv400-*-*linux*)
3367 case "$with_arch" in
3369 with_cpu=${default_cf_cpu}
3372 with_cpu=m${default_m68k_cpu}
3377 if test x$enable_e500_double = xyes; then
3395 with_cpu="`echo ${target} | sed 's/-.*$//'`"
3404 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3406 i[34567]86-*-*|x86_64-*-*)
3407 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3408 if test x$with_cpu_32 = x; then
3409 with_cpu_32=$with_cpu
3411 if test x$with_cpu_64 = x; then
3412 with_cpu_64=$with_cpu
3420 # Support for --with-arch and related options (and a few unrelated options,
3422 case ${with_arch} in
3424 echo "--with-arch must be passed a value" 1>&2
3429 # If there is no $with_arch option, try to infer one from ${target}.
3430 # This block sets nothing except for with_arch.
3431 if test x$with_arch = x ; then
3433 i[34567]86-*-darwin*|x86_64-*-darwin*)
3434 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3435 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3437 i[34567]86-*-elfiamcu)
3441 # --with-fpmath sets the default ISA to SSE2, which is the same
3442 # ISA supported by Pentium 4.
3443 if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3452 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3460 # Avoid overriding --with-arch-32 and --with-arch-64 values.
3462 i[34567]86-*-darwin*|x86_64-*-darwin*)
3463 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3464 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3466 i[34567]86-*-*|x86_64-*-*)
3467 if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3468 if test x$with_arch_32 = x; then
3469 with_arch_32=$with_arch
3471 if test x$with_arch_64 = x; then
3472 if test $arch_without_64bit = yes; then
3473 # Set the default 64bit arch to x86-64 if the default arch
3474 # doesn't support 64bit.
3477 with_arch_64=$with_arch
3481 elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3482 # Set the default 64bit arch to x86-64 if the default arch
3483 # doesn't support 64bit and we need 64bit ISA.
3484 with_arch_32=$with_arch
3492 # Infer a default setting for --with-float.
3493 if test x$with_float = x; then
3495 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3496 # The R5900 doesn't support 64-bit float. 32-bit float doesn't
3497 # comply with IEEE 754.
3503 # Infer a default setting for --with-fpu.
3504 if test x$with_fpu = x; then
3506 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3507 # The R5900 FPU only supports single precision.
3513 # Support --with-fpmath.
3514 if test x$with_fpmath != x; then
3516 i[34567]86-*-* | x86_64-*-*)
3517 case ${with_fpmath} in
3519 tm_file="${tm_file} i386/avxmath.h"
3522 tm_file="${tm_file} i386/ssemath.h"
3525 echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3531 echo "--with-fpmath isn't supported for $target." 1>&2
3537 # Similarly for --with-schedule.
3538 if test x$with_schedule = x; then
3541 # Override default PA8000 scheduling model.
3542 with_schedule=7100LC
3547 # Infer a default setting for --with-llsc.
3548 if test x$with_llsc = x; then
3550 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3551 # The R5900 doesn't support LL(D) and SC(D).
3555 # The kernel emulates LL and SC where necessary.
3561 # Validate and mark as valid any --with options supported
3562 # by this target. In order to use a particular --with option
3563 # you must list it in supported_defaults; validating the value
3564 # is optional. This case statement should set nothing besides
3565 # supported_defaults.
3570 supported_defaults="abi cpu arch"
3571 for which in cpu arch; do
3573 eval "val=\$with_$which"
3574 base_val=`echo $val | sed -e 's/\+.*//'`
3575 ext_val=`echo $val | sed -e 's/[a-z0-9.-]\+//'`
3577 if [ $which = arch ]; then
3578 def=aarch64-arches.def
3579 pattern=AARCH64_ARCH
3581 def=aarch64-cores.def
3582 pattern=AARCH64_CORE
3585 ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3587 # Find the base CPU or ARCH id in aarch64-cores.def or
3588 # aarch64-arches.def
3589 if [ x"$base_val" = x ] \
3590 || grep "^$pattern(\"$base_val\"," \
3591 ${srcdir}/config/aarch64/$def \
3594 if [ $which = arch ]; then
3595 base_id=`grep "^$pattern(\"$base_val\"," \
3596 ${srcdir}/config/aarch64/$def | \
3597 sed -e 's/^[^,]*,[ ]*//' | \
3599 # Extract the architecture flags from aarch64-arches.def
3600 ext_mask=`grep "^$pattern(\"$base_val\"," \
3601 ${srcdir}/config/aarch64/$def | \
3605 base_id=`grep "^$pattern(\"$base_val\"," \
3606 ${srcdir}/config/aarch64/$def | \
3607 sed -e 's/^[^,]*,[ ]*//' | \
3611 while [ x"$ext_val" != x ]
3613 ext_val=`echo $ext_val | sed -e 's/\+//'`
3614 ext=`echo $ext_val | sed -e 's/\+.*//'`
3615 base_ext=`echo $ext | sed -e 's/^no//'`
3617 if [ x"$base_ext" = x ] \
3618 || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3619 ${srcdir}/config/aarch64/aarch64-option-extensions.def \
3622 ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3623 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3624 sed -e 's/^[^,]*,[ ]*//' | \
3626 ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3627 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3628 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \
3629 sed -e 's/,.*$//' | \
3632 if [ $ext = $base_ext ]; then
3634 ext_mask="("$ext_mask") | ("$ext_on")"
3636 # Removing extension
3637 ext_mask="("$ext_mask") & ~("$ext_off")"
3642 echo "Unknown extension used in --with-$which=$val" 1>&2
3645 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3648 ext_mask="(("$ext_mask") << 6)"
3649 if [ x"$base_id" != x ]; then
3650 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3654 echo "Unknown $which used in --with-$which=$val" 1>&2
3661 supported_defaults="cpu tune"
3662 for which in cpu tune; do
3663 eval "val=\$with_$which"
3666 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3667 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3671 echo "Unknown CPU used in --with-$which=$val" 1>&2
3678 arc*-*-*) # was: arc*-*-linux-uclibc)
3679 supported_defaults="cpu"
3681 arc600|arc601|arc700)
3683 *) echo "Unknown cpu type"
3690 supported_defaults="arch cpu float tune fpu abi mode tls"
3691 for which in cpu tune; do
3692 # See if it matches any of the entries in arm-cores.def
3693 eval "val=\$with_$which"
3694 if [ x"$val" = x ] \
3695 || grep "^ARM_CORE(\"$val\"," \
3696 ${srcdir}/config/arm/arm-cores.def \
3699 new_val=`grep "^ARM_CORE(\"$val\"," \
3700 ${srcdir}/config/arm/arm-cores.def | \
3701 sed -e 's/^[^,]*,[ ]*//' | \
3703 eval "target_${which}_cname=$new_val"
3704 echo "For $val real value is $new_val"
3707 echo "Unknown CPU used in --with-$which=$val" 1>&2
3712 # See if it matches any of the entries in arm-arches.def
3713 if [ x"$with_arch" = x ] \
3714 || grep "^ARM_ARCH(\"$with_arch\"," \
3715 ${srcdir}/config/arm/arm-arches.def \
3720 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
3724 case "$with_float" in
3726 | soft | hard | softfp)
3730 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3735 # see if it matches any of the entries in arm-fpus.def
3736 if [ x"$with_fpu" = x ] \
3737 || grep "^ARM_FPU(\"$with_fpu\"," \
3738 ${srcdir}/config/arm/arm-fpus.def \
3743 echo "Unknown fpu used in --with-fpu=$with_fpu" 1>&2
3749 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
3753 echo "Unknown ABI used in --with-abi=$with_abi"
3758 case "$with_mode" in
3764 echo "Unknown mode used in --with-mode=$with_mode"
3775 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3780 if test "x$with_arch" != x && test "x$with_cpu" != x; then
3781 echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2
3785 if test "x$with_cpu" != x && test "x$with_tune" != x; then
3786 echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2
3790 # Add extra multilibs
3791 if test "x$with_multilib_list" != x; then
3792 arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
3793 for arm_multilib in ${arm_multilibs}; do
3794 case ${arm_multilib} in
3796 # Note that arm/t-aprofile is a
3797 # stand-alone make file fragment to be
3798 # used only with itself. We do not
3799 # specifically use the
3800 # TM_MULTILIB_OPTION framework because
3801 # this shorthand is more
3802 # pragmatic. Additionally it is only
3803 # designed to work without any
3804 # with-cpu, with-arch with-mode
3805 # with-fpu or with-float options.
3806 if test "x$with_arch" != x \
3807 || test "x$with_cpu" != x \
3808 || test "x$with_float" != x \
3809 || test "x$with_fpu" != x \
3810 || test "x$with_mode" != x ; then
3811 echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=aprofile" 1>&2
3814 tmake_file="${tmake_file} arm/t-aprofile"
3820 echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
3829 supported_defaults=cpu
3834 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3840 fido-*-* | m68k*-*-*)
3841 supported_defaults="arch cpu"
3842 case "$with_arch" in
3844 m68k_arch_family="$with_arch"
3847 echo "Invalid --with-arch=$with_arch" 1>&2
3852 # We always have a $with_cpu setting here.
3854 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
3855 m68k_cpu_ident=$with_cpu
3858 m68k_cpu_ident=m68020
3859 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
3862 m68k_cpu_ident=m68020
3863 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
3866 # We need the C identifier rather than the string.
3867 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
3868 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
3869 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
3870 ${srcdir}/config/m68k/m68k-devices.def`
3871 if [ x"$m68k_cpu_ident" = x ] ; then
3872 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
3875 with_cpu="mcpu=$with_cpu"
3881 supported_defaults="arch schedule"
3883 case "$with_arch" in
3884 "" | 1.0 | 1.1 | 2.0)
3888 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
3893 case "$with_schedule" in
3894 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
3898 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
3904 i[34567]86-*-* | x86_64-*-*)
3905 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
3906 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
3907 eval "val=\$with_$which"
3908 case " $x86_archs " in
3916 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
3925 if test x${val} != x; then
3926 case " $x86_64_archs " in
3931 # Allow $x86_cpus --with-cpu=/--with-tune=
3934 case " $x86_cpus " in
3939 echo "Unknown CPU given in --with-$which=$val." 1>&2
3945 echo "Unknown CPU given in --with-$which=$val." 1>&2
3958 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"
3960 case ${with_float} in
3965 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3971 "" | single | double)
3975 echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
3985 echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
3990 case ${with_fp_32} in
3995 echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
4000 case ${with_odd_spreg_32} in
4002 with_odd_spreg_32="odd-spreg"
4005 with_odd_spreg_32="no-odd-spreg"
4011 echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
4017 "" | 32 | o64 | n32 | 64 | eabi)
4021 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
4026 case ${with_divide} in
4027 "" | breaks | traps)
4031 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
4036 case ${with_llsc} in
4047 echo "Unknown llsc type used in --with-llsc" 1>&2
4052 case ${with_mips_plt} in
4057 with_mips_plt=no-plt
4062 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
4067 case ${with_synci} in
4077 echo "Unknown synci type used in --with-synci" 1>&2
4084 supported_defaults="arch nds32_lib"
4086 # process --with-arch
4087 case "${with_arch}" in
4092 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2
4097 # process --with-nds32-lib
4098 case "${with_nds32_lib}" in
4100 # the default library is newlib
4101 with_nds32_lib=newlib
4110 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
4117 supported_defaults="arch"
4118 case "$with_arch" in
4123 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
4129 powerpc*-*-* | rs6000-*-*)
4130 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
4132 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4133 eval "val=\$with_$which"
4135 default32 | default64)
4140 echo "$val only valid for --with-cpu and --with-tune." 1>&2
4144 with_which="with_$which"
4148 tm_defines="${tm_defines} CONFIG_PPC405CR"
4149 eval "with_$which=405"
4151 "" | common | native \
4152 | power | power[23456789] | power6x | powerpc | powerpc64 \
4153 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
4154 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4155 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4156 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4157 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4158 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4162 echo "Unknown cpu used in --with-$which=$val." 1>&2
4169 "" | elfv1 | elfv2 )
4173 echo "Unknown ABI used in --with-abi=$with_abi"
4178 if test "x$with_advance_toolchain" != x; then
4179 if test -d "/opt/$with_advance_toolchain/." -a \
4180 -d "/opt/$with_advance_toolchain/bin/." -a \
4181 -d "/opt/$with_advance_toolchain/include/."; then
4183 tm_file="$tm_file ./advance-toolchain.h"
4184 (at="/opt/$with_advance_toolchain"
4185 echo "/* Use Advance Toolchain $at */"
4187 echo "#ifndef USE_AT_INCLUDE_FILES"
4188 echo "#define USE_AT_INCLUDE_FILES 1"
4191 echo "#if USE_AT_INCLUDE_FILES"
4192 echo "#undef INCLUDE_EXTRA_SPEC"
4193 echo "#define INCLUDE_EXTRA_SPEC" \
4194 "\"-isystem $at/include\""
4197 echo "#undef LINK_OS_EXTRA_SPEC32"
4198 echo "#define LINK_OS_EXTRA_SPEC32" \
4199 "\"%(link_os_new_dtags)" \
4200 "-rpath $prefix/lib -rpath $at/lib" \
4201 "-L $prefix/lib -L $at/lib\""
4203 echo "#undef LINK_OS_EXTRA_SPEC64"
4204 echo "#define LINK_OS_EXTRA_SPEC64" \
4205 "\"%(link_os_new_dtags)" \
4206 "-rpath $prefix/lib64 -rpath $at/lib64" \
4207 "-L $prefix/lib64 -L $at/lib64\""
4209 echo "#undef LINK_OS_NEW_DTAGS_SPEC"
4210 echo "#define LINK_OS_NEW_DTAGS_SPEC" \
4211 "\"--enable-new-dtags\""
4213 echo "#undef DYNAMIC_LINKER_PREFIX"
4214 echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
4216 echo "#undef MD_EXEC_PREFIX"
4217 echo "#define MD_EXEC_PREFIX \"$at/bin/\""
4219 echo "#undef MD_STARTFILE_PREFIX"
4220 echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
4221 > advance-toolchain.h
4223 echo "Unknown advance-toolchain $with_advance_toolchain"
4230 supported_defaults="arch mode tune"
4232 for which in arch tune; do
4233 eval "val=\$with_$which"
4235 "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13)
4239 echo "Unknown cpu used in --with-$which=$val." 1>&2
4245 case ${with_mode} in
4250 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4256 sh[123456ble]*-*-* | sh-*-*)
4257 supported_defaults="cpu"
4258 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4259 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4262 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4264 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4267 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
4268 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4269 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4270 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4276 supported_defaults="cpu float tune"
4278 for which in cpu tune; do
4279 eval "val=\$with_$which"
4281 "" | sparc | sparcv9 | sparc64 \
4283 | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4284 | sparclite | f930 | f934 | sparclite86x \
4285 | sparclet | tsc701 \
4286 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4287 | niagara3 | niagara4)
4291 echo "Unknown cpu used in --with-$which=$val" 1>&2
4297 case ${with_float} in
4302 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4309 supported_defaults="arch tune"
4311 for which in arch tune; do
4312 eval "val=\$with_$which"
4314 "" | cell | celledp)
4318 echo "Unknown cpu used in --with-$which=$val." 1>&2
4326 supported_defaults="arch"
4328 case ${with_arch} in
4329 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4333 echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4340 supported_defaults=cpu
4342 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4346 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4352 supported_defaults="cpu"
4356 *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4363 # Set some miscellaneous flags for particular targets.
4364 target_cpu_default2=
4367 if test x"$target_cpu_cname" != x
4369 target_cpu_default2=$target_cpu_cname
4374 if test x$target_cpu_cname = x
4376 target_cpu_default2=TARGET_CPU_generic
4378 target_cpu_default2=TARGET_CPU_$target_cpu_cname
4383 if test x$gas = xyes
4385 target_cpu_default2="MASK_GAS"
4389 fido*-*-* | m68k*-*-*)
4390 target_cpu_default2=$m68k_cpu_ident
4391 tmake_file="m68k/t-opts $tmake_file"
4392 if [ x"$m68k_arch_family" != x ]; then
4393 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4397 i[34567]86-*-darwin* | x86_64-*-darwin*)
4399 i[34567]86-*-linux* | x86_64-*-linux*)
4400 tmake_file="$tmake_file i386/t-linux"
4402 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
4403 tmake_file="$tmake_file i386/t-kfreebsd"
4406 tmake_file="$tmake_file i386/t-gnu"
4408 i[34567]86-*-msdosdjgpp*)
4409 tmake_file="${tmake_file} i386/t-djgpp"
4411 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
4413 i[34567]86-*-cygwin* | x86_64-*-cygwin*)
4415 i[34567]86-*-mingw* | x86_64-*-mingw*)
4417 i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
4419 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
4425 if test x$gnu_ld = xyes
4427 target_cpu_default2="MASK_SPLIT_ADDRESSES"
4431 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
4434 if test x$with_arch != x; then
4435 default_mips_arch=$with_arch
4437 if test x$with_abi != x; then
4438 default_mips_abi=$with_abi
4440 case ${default_mips_arch} in
4441 mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
4442 mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
4443 mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
4444 mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
4445 mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
4446 mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
4447 mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
4448 mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
4449 mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
4450 mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
4452 case ${default_mips_abi} in
4453 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
4454 o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
4455 n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
4456 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
4457 eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
4459 tmake_file="mips/t-mips $tmake_file"
4462 powerpc*-*-* | rs6000-*-*)
4463 # FIXME: The PowerPC port uses the value set at compile time,
4464 # although it's only cosmetic.
4465 if test "x$with_cpu" != x
4467 target_cpu_default2="\\\"$with_cpu\\\""
4469 out_file=rs6000/rs6000.c
4470 c_target_objs="${c_target_objs} rs6000-c.o"
4471 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
4472 tmake_file="rs6000/t-rs6000 ${tmake_file}"
4475 sh[123456ble]*-*-* | sh-*-*)
4476 c_target_objs="${c_target_objs} sh-c.o"
4477 cxx_target_objs="${cxx_target_objs} sh-c.o"
4481 # Some standard aliases.
4486 xsparcv9 | xsparc64)
4491 if test x$with_tune = x ; then
4502 # The SPARC port checks this value at compile-time.
4503 target_cpu_default2="TARGET_CPU_$with_cpu"
4507 case "x$with_cpu" in
4510 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
4511 target_cpu_default2="TARGET_CPU_$with_cpu"
4514 target_cpu_default2="TARGET_CPU_v850e1"
4519 target_cpu_default2="TARGET_CPU_$with_cpu"
4524 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"
4525 for option in $all_defaults
4527 eval "val=\$with_"`echo $option | sed s/-/_/g`
4528 if test -n "$val"; then
4529 case " $supported_defaults " in
4533 echo "This target does not support --with-$option." 2>&1
4534 echo "Valid --with options are: $supported_defaults" 2>&1
4541 t="{ \"$option\", \"$val\" }"
4543 t="${t}, { \"$option\", \"$val\" }"
4550 configure_default_options="{ { NULL, NULL} }"
4552 configure_default_options="{ ${t} }"
4555 if test "$target_cpu_default2" != ""
4557 if test "$target_cpu_default" != ""
4559 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
4561 target_cpu_default=$target_cpu_default2
4566 i[34567]86-*-* | x86_64-*-*)
4567 if test x$enable_as_accelerator = xyes; then
4568 extra_programs="mkoffload\$(exeext)"