1 # GCC target-specific configuration file.
2 # Copyright (C) 1997-2016 Free Software Foundation, Inc.
4 #This file is part of GCC.
6 #GCC is free software; you can redistribute it and/or modify it under
7 #the terms of the GNU General Public License as published by the Free
8 #Software Foundation; either version 3, or (at your option) any later
11 #GCC is distributed in the hope that it will be useful, but WITHOUT
12 #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 #FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 #You should have received a copy of the GNU General Public License
17 #along with GCC; see the file COPYING3. If not see
18 #<http://www.gnu.org/licenses/>.
20 # This is the GCC target-specific configuration file
21 # where a configuration type is mapped to different system-specific
22 # definitions and files. This is invoked by the autoconf-generated
23 # configure script. Putting it in a separate shell file lets us skip
24 # running autoconf when modifying target-specific information.
26 # When you change the cases in the OS or target switches, consider
27 # updating ../libgcc/config.host also.
29 # This file switches on the shell variable ${target}, and also uses the
30 # following shell variables:
32 # with_* Various variables as set by configure.
34 # enable_threads Either the name, yes or no depending on whether
35 # threads support was requested.
37 # default_use_cxa_atexit
38 # The default value for the $enable___cxa_atexit
39 # variable. enable___cxa_atexit needs to be set to
40 # "yes" for the correct operation of C++ destructors
41 # but it relies upon the presence of a non-standard C
42 # library function called __cxa_atexit.
43 # Since not all C libraries provide __cxa_atexit the
44 # default value of $default_use_cxa_atexit is set to
45 # "no" except for targets which are known to be OK.
47 # default_gnu_indirect_function
48 # The default value for the $enable_gnu_indirect_function
49 # variable. enable_gnu_indirect_function relies
50 # upon the presence of a non-standard gnu ifunc support
51 # in the assembler, linker and dynamic linker.
52 # Since not all libraries provide the dynamic linking
53 # support, the default value of
54 # $default_gnu_indirect_function is set to
55 # "no" except for targets which are known to be OK.
57 # gas_flag Either yes or no depending on whether GNU as was
60 # gnu_ld_flag Either yes or no depending on whether GNU ld was
63 # This file sets the following shell variables for use by the
64 # autoconf-generated configure script:
66 # cpu_type The name of the cpu, if different from the first
67 # chunk of the canonical target name.
69 # tm_defines List of target macros to define for all compilations.
71 # tm_file A list of target macro files, if different from
72 # "$cpu_type/$cpu_type.h". Usually it's constructed
73 # per target in a way like this:
74 # tm_file="${tm_file} dbxelf.h elfos.h ${cpu_type.h}/elf.h"
75 # Note that the preferred order is:
76 # - specific target header "${cpu_type}/${cpu_type.h}"
77 # - generic headers like dbxelf.h elfos.h, etc.
78 # - specializing target headers like ${cpu_type.h}/elf.h
79 # This helps to keep OS specific stuff out of the CPU
80 # defining header ${cpu_type}/${cpu_type.h}.
82 # It is possible to include automatically-generated
83 # build-directory files by prefixing them with "./".
84 # All other files should relative to $srcdir/config.
86 # tm_p_file Location of file with declarations for functions
89 # out_file The name of the machine description C support
90 # file, if different from "$cpu_type/$cpu_type.c".
92 # common_out_file The name of the source file for code shared between
93 # the compiler proper and the driver.
95 # md_file The name of the machine-description file, if
96 # different from "$cpu_type/$cpu_type.md".
98 # tmake_file A list of machine-description-specific
99 # makefile-fragments, if different from
100 # "$cpu_type/t-$cpu_type".
102 # extra_modes The name of the file containing a list of extra
103 # machine modes, if necessary and different from
104 # "$cpu_type/$cpu_type-modes.def".
106 # extra_objs List of extra objects that should be linked into
107 # the compiler proper (cc1, cc1obj, cc1plus)
108 # depending on target.
110 # extra_gcc_objs List of extra objects that should be linked into
111 # the compiler driver (gcc) depending on target.
113 # extra_headers List of used header files from the directory
114 # config/${cpu_type}.
116 # user_headers_inc_next_pre
117 # List of header file names of internal gcc header
118 # files, which should be prefixed by an include_next.
119 # user_headers_inc_next_post
120 # List of header file names of internal gcc header
121 # files, which should be postfixed by an include_next.
122 # use_gcc_tgmath If set, add tgmath.h to the list of used header
125 # use_gcc_stdint If "wrap", install a version of stdint.h that
126 # wraps the system's copy for hosted compilations;
127 # if "provide", provide a version of systems without
128 # such a system header; otherwise "none", do not
129 # provide such a header at all.
131 # extra_programs List of extra executables compiled for this target
132 # machine, used when linking.
134 # extra_options List of target-dependent .opt files.
136 # c_target_objs List of extra target-dependent objects that be
137 # linked into the C compiler only.
139 # cxx_target_objs List of extra target-dependent objects that be
140 # linked into the C++ compiler only.
142 # fortran_target_objs List of extra target-dependent objects that be
143 # linked into the fortran compiler only.
145 # target_gtfiles List of extra source files with type information.
147 # xm_defines List of macros to define when compiling for the
150 # xm_file List of files to include when compiling for the
153 # use_collect2 Set to yes or no, depending on whether collect2
156 # target_cpu_default Set to override the default target model.
158 # gdb_needs_out_file_path
159 # Set to yes if gdb needs a dir command with
160 # `dirname $out_file`.
162 # thread_file Set to control which thread package to use.
164 # gas Set to yes or no depending on whether the target
165 # system normally uses GNU as.
167 # configure_default_options
168 # Set to an initializer for configure_default_options
169 # in configargs.h, based on --with-cpu et cetera.
171 # native_system_header_dir
172 # Where system header files are found for this
173 # target. This defaults to /usr/include. If
174 # the --with-sysroot configure option or the
175 # --sysroot command line option is used this
176 # will be relative to the sysroot.
177 # target_type_format_char
178 # The default character to be used for formatting
180 # .type symbol_name, ${t_t_f_c}<property>
183 # The following variables are used in each case-construct to build up the
184 # outgoing variables:
186 # gnu_ld Set to yes or no depending on whether the target
187 # system normally uses GNU ld.
189 # target_has_targetcm Set to yes or no depending on whether the target
190 # has its own definition of targetcm.
192 # target_has_targetm_common Set to yes or no depending on whether the
193 # target has its own definition of targetm_common.
199 user_headers_inc_next_pre=
200 user_headers_inc_next_post=
210 target_has_targetcm=no
211 target_has_targetm_common=yes
214 # Set this to force installation and use of collect2.
216 # Set this to override the default target model.
218 # Set this if gdb needs a dir command with `dirname $out_file`
219 gdb_needs_out_file_path=
220 # Set this to control which thread package will be used.
222 # Reinitialize these from the flag values every loop pass, since some
223 # configure entries modify them.
225 gnu_ld="$gnu_ld_flag"
226 default_use_cxa_atexit=no
227 default_gnu_indirect_function=no
230 native_system_header_dir=/usr/include
231 target_type_format_char='@'
233 # Don't carry these over build->host->target. Please.
237 # Obsolete configurations.
241 if test "x$enable_obsolete" != xyes; then
242 echo "*** Configuration ${target} is obsolete." >&2
243 echo "*** Specify --enable-obsolete to build it anyway." >&2
244 echo "*** Support will be REMOVED in the next major release of GCC," >&2
245 echo "*** unless a maintainer comes forward." >&2
250 # Unsupported targets list. Do not put an entry in this list unless
251 # it would otherwise be caught by a more permissive pattern. The list
252 # should be in alphabetical order.
254 # Avoid special cases that are not obsolete
263 | i[34567]86-go32-* \
264 | i[34567]86-*-go32* \
265 | m68k-*-uclinuxoldabi* \
266 | mips64orion*-*-rtems* \
268 | sparc-hal-solaris2* \
270 | *-*-freebsd[12] | *-*-freebsd[12].* \
271 | *-*-freebsd*aout* \
279 | *-*-solaris2.[0-9] \
280 | *-*-solaris2.[0-9].* \
284 echo "*** Configuration ${target} not supported" 1>&2
289 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
290 # updated in each machine entry. Also set default extra_headers for some
293 cpu_type=`echo ${target} | sed 's/-.*$//'`
298 tmake_file=m32c/t-m32c
299 target_has_targetm_common=no
303 extra_headers="arm_fp16.h arm_neon.h arm_acle.h"
304 c_target_objs="aarch64-c.o"
305 cxx_target_objs="aarch64-c.o"
306 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o"
307 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
308 target_has_targetm_common=yes
312 extra_options="${extra_options} g.opt"
322 extra_objs="arm-builtins.o aarch-common.o"
323 extra_headers="mmintrin.h arm_neon.h arm_acle.h arm_fp16.h"
324 target_type_format_char='%'
325 c_target_objs="arm-c.o"
326 cxx_target_objs="arm-c.o"
327 extra_options="${extra_options} arm/arm-tables.opt"
328 target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
332 c_target_objs="avr-c.o"
333 cxx_target_objs="avr-c.o"
342 extra_options="${extra_options} g.opt"
345 target_has_targetm_common=no
347 moxie*) cpu_type=moxie
348 target_has_targetm_common=no
352 extra_headers=math-68881.h
353 extra_options="${extra_options} m68k/m68k-tables.opt"
357 c_target_objs="i386-c.o"
358 cxx_target_objs="i386-c.o"
359 extra_options="${extra_options} fused-madd.opt"
360 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
361 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
362 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
363 immintrin.h x86intrin.h avxintrin.h xopintrin.h
364 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
365 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
366 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
367 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
368 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
369 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
370 shaintrin.h clflushoptintrin.h xsavecintrin.h
371 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
372 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
373 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
374 avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h
375 mwaitxintrin.h clzerointrin.h pkuintrin.h"
379 c_target_objs="i386-c.o"
380 cxx_target_objs="i386-c.o"
381 extra_options="${extra_options} fused-madd.opt"
382 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
383 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
384 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
385 immintrin.h x86intrin.h avxintrin.h xopintrin.h
386 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
387 lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h
388 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
389 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
390 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
391 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
392 shaintrin.h clflushoptintrin.h xsavecintrin.h
393 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
394 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
395 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
396 avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h
397 mwaitxintrin.h clzerointrin.h pkuintrin.h"
400 extra_headers=ia64intrin.h
401 extra_options="${extra_options} g.opt fused-madd.opt"
407 extra_options="${extra_options} g.opt"
411 extra_options="${extra_options} g.opt"
414 extra_headers=math-68881.h
415 extra_options="${extra_options} m68k/m68k-tables.opt"
419 extra_options="${extra_options} g.opt"
423 extra_headers="loongson.h msa.h"
424 extra_objs="frame-header-opt.o"
425 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt"
429 extra_headers="nds32_intrinsic.h"
430 extra_objs="nds32-cost.o nds32-intrinsic.o nds32-isr.o nds32-md-auxiliary.o nds32-pipelines-auxiliary.o nds32-predicates.o nds32-memory-manipulation.o nds32-fp-as-gp.o"
434 extra_options="${extra_options} g.opt"
441 extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
443 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
447 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
450 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
454 c_target_objs="sparc-c.o"
455 cxx_target_objs="sparc-c.o"
456 extra_headers="visintrin.h"
463 extra_options="${extra_options} fused-madd.opt"
464 extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
466 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
467 sh[123456789lbe]*-*-* | sh-*-*)
469 extra_options="${extra_options} fused-madd.opt"
470 extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
477 extra_headers="c6x_intrinsics.h"
478 extra_options="${extra_options} c6x/c6x-tables.opt"
481 extra_options="${extra_options} fused-madd.opt"
491 tm_file=${cpu_type}/${cpu_type}.h
492 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
494 tm_p_file=${cpu_type}/${cpu_type}-protos.h
497 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
499 extra_modes=${cpu_type}/${cpu_type}-modes.def
501 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
503 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
508 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
511 if test "x$with_multilib_list" = xilp32; then
512 tm_file="aarch64/biarchilp32.h ${tm_file}"
514 tm_file="aarch64/biarchlp64.h ${tm_file}"
518 tm_file="aarch64/biarchilp32.h ${tm_file}"
521 tm_file="aarch64/biarchlp64.h ${tm_file}"
524 echo "Unknown ABI used in --with-abi=$with_abi"
529 if test "x$with_abi" != x; then
530 echo "This target does not support --with-abi."
533 if test "x$enable_cld" = xyes; then
534 tm_defines="${tm_defines} USE_IX86_CLD=1"
536 if test "x$enable_frame_pointer" = xyes; then
537 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
539 tm_file="vxworks-dummy.h ${tm_file}"
544 if test "x$with_multilib_list" = xmx32; then
545 tm_file="i386/biarchx32.h ${tm_file}"
547 tm_file="i386/biarch64.h ${tm_file}"
551 tm_file="i386/biarch64.h ${tm_file}"
554 tm_file="i386/biarchx32.h ${tm_file}"
557 echo "Unknown ABI used in --with-abi=$with_abi"
560 if test "x$enable_cld" = xyes; then
561 tm_defines="${tm_defines} USE_IX86_CLD=1"
563 if test "x$enable_frame_pointer" = xyes; then
564 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
566 tm_file="vxworks-dummy.h ${tm_file}"
569 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
570 tm_file="vxworks-dummy.h ${tm_file}"
572 mips*-*-* | sh*-*-* | sparc*-*-*)
573 tm_file="vxworks-dummy.h ${tm_file}"
577 # On a.out targets, we need to use collect2.
584 # Common C libraries.
585 tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
587 # 32-bit x86 processors supported by --with-arch=. Each processor
588 # MUST be separated by exactly one space.
589 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
590 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
591 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
592 pentium4 pentium4m pentiumpro prescott lakemont"
594 # 64-bit x86 processors supported by --with-arch=. Each processor
595 # MUST be separated by exactly one space.
596 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
597 bdver3 bdver4 znver1 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \
598 core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \
599 sandybridge ivybridge haswell broadwell bonnell silvermont knl \
600 skylake-avx512 x86-64 native"
602 # Additional x86 processors supported by --with-cpu=. Each processor
603 # MUST be separated by exactly one space.
604 x86_cpus="generic intel"
606 # Common parts for widely ported systems.
609 tmake_file="t-darwin ${cpu_type}/t-darwin"
610 tm_file="${tm_file} darwin.h"
613 tm_file="${tm_file} darwin9.h"
616 tm_file="${tm_file} darwin9.h darwin10.h"
618 *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
619 tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
622 tm_file="${tm_file} ${cpu_type}/darwin.h"
623 tm_p_file="${tm_p_file} darwin-protos.h"
624 target_gtfiles="\$(srcdir)/config/darwin.c"
625 extra_options="${extra_options} darwin.opt"
626 c_target_objs="${c_target_objs} darwin-c.o"
627 cxx_target_objs="${cxx_target_objs} darwin-c.o"
628 fortran_target_objs="darwin-f.o"
629 target_has_targetcm=yes
630 extra_objs="darwin.o"
631 extra_gcc_objs="darwin-driver.o"
632 default_use_cxa_atexit=yes
634 case ${enable_threads} in
635 "" | yes | posix) thread_file='posix' ;;
641 tmake_file="t-slibgcc"
642 case ${enable_threads} in
647 # Let these non-posix thread selections fall through if requested
650 echo 'Unknown thread configuration for DragonFly BSD'
654 extra_options="$extra_options rpath.opt dragonfly.opt"
655 default_use_cxa_atexit=yes
659 # This is the generic ELF configuration of FreeBSD. Later
660 # machine-specific sections may refine and add to this
663 # Due to tm_file entry ordering issues that vary between cpu
664 # architectures, we only define fbsd_tm_file to allow the
665 # machine-specific section to dictate the final order of all
666 # entries of tm_file with the minor exception that components
667 # of the tm_file set here will always be of the form:
669 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
671 # The machine-specific section should not tamper with this
672 # ordering but may order all other entries of tm_file as it
673 # pleases around the provided core setting.
676 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
677 if test "$fbsd_major" = ""; then
678 echo "Specify the major version number of the targeted FreeBSD release"
679 echo "like this: --target=amd64-unknown-freebsd10.1"
682 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
683 tmake_file="t-slibgcc"
684 case ${enable_threads} in
686 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
692 echo 'Unknown thread configuration for FreeBSD'
696 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
697 extra_options="$extra_options rpath.opt freebsd.opt"
702 default_use_cxa_atexit=yes;;
706 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
707 extra_options="$extra_options gnu-user.opt"
710 case ${enable_threads} in
711 "" | yes | posix) thread_file='posix' ;;
713 tmake_file="t-slibgcc"
715 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu)
718 native_system_header_dir=/include
721 # Linux C libraries selection switch: glibc / uclibc / bionic.
722 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
725 tm_p_file="${tm_p_file} linux-protos.h"
726 tmake_file="${tmake_file} t-linux"
727 extra_objs="${extra_objs} linux.o"
728 extra_options="${extra_options} linux.opt"
733 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
736 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
739 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
742 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
745 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
747 default_use_cxa_atexit=yes
750 # Enable compilation for Android by default for *android* targets.
753 tm_defines="$tm_defines ANDROID_DEFAULT=1"
756 tm_defines="$tm_defines ANDROID_DEFAULT=0"
759 c_target_objs="${c_target_objs} glibc-c.o"
760 cxx_target_objs="${cxx_target_objs} glibc-c.o"
761 tmake_file="${tmake_file} t-glibc"
762 target_has_targetcm=yes
765 tmake_file="t-slibgcc"
769 # NetBSD 2.0 and later get POSIX threads enabled by default.
770 # Allow them to be explicitly enabled on any other version.
771 case ${enable_threads} in
774 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
776 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
782 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
786 # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
787 # default (unless overridden by --disable-__cxa_atexit).
789 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
790 default_use_cxa_atexit=yes
795 tmake_file="t-openbsd"
796 case ${enable_threads} in
802 *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
803 default_use_cxa_atexit=yes
810 default_use_cxa_atexit=yes
813 case ${enable_threads} in
814 "" | yes | rtems) thread_file='rtems' ;;
815 posix) thread_file='posix' ;;
818 echo 'Unknown thread configuration for RTEMS'
822 tmake_file="${tmake_file} t-rtems"
823 extra_options="${extra_options} rtems.opt"
824 default_use_cxa_atexit=yes
828 extra_options="$extra_options gnu-user.opt"
830 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
836 # i?86-*-solaris2* needs to insert headers between cpu default and
837 # Solaris 2 specific ones.
838 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
839 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
840 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
842 *-*-solaris2.1[2-9]*)
843 # __cxa_atexit was introduced in Solaris 12.
844 default_use_cxa_atexit=yes
848 if test x$gnu_ld = xyes; then
849 tm_file="usegld.h ${tm_file}"
851 if test x$gas = xyes; then
852 tm_file="usegas.h ${tm_file}"
854 tm_p_file="${tm_p_file} sol2-protos.h"
855 tmake_file="${tmake_file} t-sol2 t-slibgcc"
856 c_target_objs="${c_target_objs} sol2-c.o"
857 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
858 extra_objs="sol2.o sol2-stubs.o"
859 extra_options="${extra_options} sol2.opt"
860 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
861 "":yes:* | yes:yes:* )
867 extra_options="${extra_options} vms/vms.opt"
869 tmake_file="vms/t-vms t-slibgcc"
871 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
872 tm_p_file="${tm_p_file} vms/vms-protos.h"
873 xm_file="vms/xm-vms.h"
874 c_target_objs="vms-c.o"
875 cxx_target_objs="vms-c.o"
876 fortran_target_objs="vms-f.o"
877 use_gcc_stdint=provide
878 tm_file="${tm_file} vms/vms-stdint.h"
879 if test x$gnu_ld != xyes; then
880 # Build wrappers for native case.
881 extra_programs="ld\$(exeext) ar\$(exeext)"
882 tmake_file="$tmake_file vms/t-vmsnative"
888 extra_options="${extra_options} vxworks.opt"
889 extra_objs="$extra_objs vxworks.o"
890 case ${enable_threads} in
892 "" | yes | vxworks) thread_file='vxworks' ;;
893 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
897 # Assume that newlib is being used and so __cxa_atexit is provided.
898 default_use_cxa_atexit=yes
904 aarch64*-*-elf | aarch64*-*-rtems*)
905 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
906 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
907 tmake_file="${tmake_file} aarch64/t-aarch64"
913 tm_file="${tm_file} rtems.h aarch64/rtems.h"
918 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
921 aarch64_multilibs="${with_multilib_list}"
922 if test "$aarch64_multilibs" = "default"; then
923 aarch64_multilibs="lp64,ilp32"
925 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
926 for aarch64_multilib in ${aarch64_multilibs}; do
927 case ${aarch64_multilib} in
929 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
932 echo "--with-multilib-list=${aarch64_multilib} not supported."
936 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
939 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
940 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
941 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
944 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
947 aarch64_multilibs="${with_multilib_list}"
948 if test "$aarch64_multilibs" = "default"; then
949 # TODO: turn on ILP32 multilib build after its support is mature.
950 # aarch64_multilibs="lp64,ilp32"
951 aarch64_multilibs="lp64"
953 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
954 for aarch64_multilib in ${aarch64_multilibs}; do
955 case ${aarch64_multilib} in
957 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
960 echo "--with-multilib-list=${aarch64_multilib} not supported."
964 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
967 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
968 tmake_file="${tmake_file} alpha/t-linux"
969 extra_options="${extra_options} alpha/elf.opt"
972 tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
973 extra_options="${extra_options} alpha/elf.opt"
976 tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
977 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
981 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
982 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
983 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
984 # default x-alpha is only appropriate for dec-osf.
987 tm_file="${tm_file} vms/vms.h alpha/vms.h"
988 tmake_file="${tmake_file} alpha/t-vms"
991 extra_headers="arc-simd.h"
992 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
993 tmake_file="arc/t-arc-newlib arc/t-arc"
994 case x"${with_cpu}" in
995 xarc600|xarc601|xarc700)
996 target_cpu_default="TARGET_CPU_$with_cpu"
999 if test x${with_endian} = x; then
1001 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1002 *) with_endian=little ;;
1005 case ${with_endian} in
1007 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1009 case ${with_endian} in
1010 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1013 arc*-*-linux-uclibc*)
1014 extra_headers="arc-simd.h"
1015 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}"
1016 tmake_file="${tmake_file} arc/t-arc-uClibc arc/t-arc"
1017 tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0"
1018 tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1"
1019 case x"${with_cpu}" in
1020 xarc600|xarc601|xarc700)
1021 target_cpu_default="TARGET_CPU_$with_cpu"
1024 if test x${with_endian} = x; then
1026 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1027 *) with_endian=little ;;
1030 case ${with_endian} in
1032 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1034 case ${with_endian} in
1035 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1039 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1040 extra_options="${extra_options} arm/vxworks.opt"
1041 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1043 arm*-*-freebsd*) # ARM FreeBSD EABI
1044 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1047 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1050 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1051 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1054 tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
1055 if test $fbsd_major -ge 11; then
1056 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1060 with_tls=${with_tls:-gnu}
1063 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1064 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1065 tmake_file="${tmake_file} arm/t-arm"
1067 arm*-*-linux-*) # ARM GNU/Linux with ELF
1068 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
1069 extra_options="${extra_options} linux-android.opt"
1072 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1075 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1076 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1077 # Define multilib configuration for arm-linux-androideabi.
1080 tmake_file="$tmake_file arm/t-linux-androideabi"
1083 # The EABI requires the use of __cxa_atexit.
1084 default_use_cxa_atexit=yes
1085 with_tls=${with_tls:-gnu}
1087 arm*-*-uclinux*eabi*) # ARM ucLinux
1088 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1089 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1090 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1091 # The EABI requires the use of __cxa_atexit.
1092 default_use_cxa_atexit=yes
1095 tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1096 tm_file="${tm_file} newlib-stdint.h phoenix.h"
1097 tm_file="${tm_file} arm/aout.h arm/arm.h"
1098 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix"
1100 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
1103 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1105 default_use_cxa_atexit=yes
1106 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1107 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1110 tm_file="$tm_file newlib-stdint.h"
1111 tmake_file="${tmake_file} arm/t-bpabi"
1115 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1116 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1119 tm_file="${tm_file} arm/symbian.h"
1120 # We do not include t-bpabi for Symbian OS because the system
1121 # provides its own implementation of the BPABI functions.
1122 tmake_file="${tmake_file} arm/t-symbian"
1125 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
1128 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1129 if test x${with_avrlibc} != xno; then
1130 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1131 tm_defines="${tm_defines} WITH_AVRLIBC"
1133 tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1135 extra_gcc_objs="driver-avr.o avr-devices.o"
1136 extra_objs="avr-devices.o avr-log.o"
1139 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1140 tmake_file=bfin/t-bfin-elf
1144 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1145 tmake_file=bfin/t-bfin-uclinux
1148 bfin*-linux-uclibc*)
1149 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/linux.h ./linux-sysroot-suffix.h"
1150 tmake_file="${tmake_file} bfin/t-bfin-linux"
1154 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1155 tmake_file="${tmake_file} bfin/t-rtems"
1158 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1163 tm_file="elfos.h ${tm_file} newlib-stdint.h"
1164 tmake_file="${tmake_file} cr16/t-cr16 "
1167 crisv32-*-elf | crisv32-*-none)
1168 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1169 tmake_file="cris/t-cris"
1170 target_cpu_default=32
1172 extra_options="${extra_options} cris/elf.opt"
1175 cris-*-elf | cris-*-none)
1176 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1177 tmake_file="cris/t-cris cris/t-elfmulti"
1179 extra_options="${extra_options} cris/elf.opt"
1182 crisv32-*-linux* | cris-*-linux*)
1183 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1184 tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1185 extra_options="${extra_options} cris/linux.opt"
1188 target_cpu_default=10
1191 target_cpu_default=32
1196 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1197 tmake_file="epiphany/t-epiphany"
1198 extra_options="${extra_options} fused-madd.opt"
1199 extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
1200 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1201 extra_headers="epiphany_intrinsics.h"
1204 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1207 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1208 tmake_file=frv/t-frv
1211 tm_file="dbxelf.h elfos.h ${tm_file} \
1212 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1213 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1218 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1219 tmake_file="${tmake_file} ft32/t-ft32"
1224 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1225 tmake_file="${tmake_file} moxie/t-moxie"
1230 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1231 tmake_file="${tmake_file} moxie/t-moxie"
1234 tmake_file="${tmake_file} moxie/t-moxie"
1235 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1240 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1241 tmake_file="${tmake_file} moxie/t-moxiebox"
1244 tmake_file="h8300/t-h8300"
1245 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1248 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1249 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1252 target_cpu_default="MASK_PA_11|MASK_PA_20"
1253 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1254 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1259 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
1260 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1261 pa/pa32-regs.h pa/pa32-linux.h"
1262 tmake_file="${tmake_file} pa/t-linux"
1265 target_cpu_default="MASK_PA_11"
1266 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1267 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1268 extra_options="${extra_options} openbsd.opt"
1272 hppa[12]*-*-hpux10*)
1274 hppa1.1-*-* | hppa2*-*-*)
1275 target_cpu_default="MASK_PA_11"
1278 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1279 pa/pa-hpux.h pa/pa-hpux10.h"
1280 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1283 tm_file="${tm_file} pa/pa-hpux1010.h"
1284 extra_options="${extra_options} pa/pa-hpux1010.opt"
1287 use_gcc_stdint=provide
1288 tm_file="${tm_file} hpux-stdint.h"
1289 tmake_file="t-slibgcc"
1290 case ${enable_threads} in
1292 if test x$have_pthread_h = xyes ; then
1293 tmake_file="${tmake_file} pa/t-dce-thr"
1297 tmake_file="${tmake_file} pa/t-dce-thr"
1302 if test "x$with_dwarf2" != x; then
1303 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1308 target_cpu_default="MASK_PA_11|MASK_PA_20"
1309 if test x$gnu_ld = xyes
1311 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1313 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1314 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1318 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1319 extra_options="${extra_options} pa/pa-hpux1111.opt"
1322 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1323 extra_options="${extra_options} pa/pa-hpux1131.opt"
1326 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1329 extra_options="${extra_options} pa/pa-hpux.opt \
1330 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1331 tmake_file="t-slibgcc"
1332 case x${enable_threads} in
1340 use_gcc_stdint=provide
1341 tm_file="${tm_file} hpux-stdint.h"
1345 tm_file="${tm_file} hpux-stdint.h"
1349 hppa[12]*-*-hpux11*)
1351 hppa1.1-*-* | hppa2*-*-*)
1352 target_cpu_default="MASK_PA_11"
1355 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1356 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1357 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1361 tm_file="${tm_file} pa/pa-hpux1111.h"
1362 extra_options="${extra_options} pa/pa-hpux1111.opt"
1365 tm_file="${tm_file} pa/pa-hpux1131.h"
1366 extra_options="${extra_options} pa/pa-hpux1131.opt"
1369 tmake_file="t-slibgcc"
1370 case x${enable_threads} in
1379 use_gcc_stdint=provide
1380 tm_file="${tm_file} hpux-stdint.h"
1384 tm_file="${tm_file} hpux-stdint.h"
1387 if test "x$with_dwarf2" != x; then
1388 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1392 i[34567]86-*-darwin*)
1394 # Baseline choice for a machine that allows m64 support.
1395 with_cpu=${with_cpu:-core2}
1396 tmake_file="${tmake_file} t-slibgcc"
1399 with_cpu=${with_cpu:-core2}
1400 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1401 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1403 i[34567]86-*-elfiamcu)
1404 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
1407 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1410 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1413 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/rtems-64.h"
1416 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1419 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/rdos.h i386/rdos64.h"
1420 tmake_file="i386/t-i386elf t-svr4"
1422 i[34567]86-*-dragonfly*)
1423 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1424 tmake_file="${tmake_file} i386/t-crtstuff"
1426 x86_64-*-dragonfly*)
1427 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/x86-64.h i386/dragonfly.h"
1428 tmake_file="${tmake_file} i386/t-crtstuff"
1430 i[34567]86-*-freebsd*)
1431 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1434 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
1436 i[34567]86-*-netbsdelf*)
1437 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
1438 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1441 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
1442 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1444 i[34567]86-*-openbsd*)
1445 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1446 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1447 extra_options="${extra_options} openbsd.opt"
1452 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1453 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1454 extra_options="${extra_options} openbsd.opt"
1458 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1459 # Intel 80386's running GNU/*
1460 # with ELF format using glibc 2
1461 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1463 i[34567]86-*-linux*)
1464 tm_file="${tm_file} linux.h linux-android.h"
1465 extra_options="${extra_options} linux-android.opt"
1466 # Assume modern glibc if not targeting Android nor uclibc.
1468 *-*-*android*|*-*-*uclibc*|*-*-*musl*)
1471 default_gnu_indirect_function=yes
1474 if test x$enable_targets = xall; then
1475 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1476 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1477 tmake_file="${tmake_file} i386/t-linux64"
1478 x86_multilibs="${with_multilib_list}"
1479 if test "$x86_multilibs" = "default"; then
1480 x86_multilibs="m64,m32"
1482 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1483 for x86_multilib in ${x86_multilibs}; do
1484 case ${x86_multilib} in
1486 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1489 echo "--with-multilib-list=${x86_with_multilib} not supported."
1493 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1495 if test x$with_cpu = x; then
1496 if test x$with_cpu_64 = x; then
1500 case " $x86_cpus $x86_archs $x86_64_archs " in
1504 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1505 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1511 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1514 i[34567]86-*-kfreebsd*-gnu)
1515 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1517 i[34567]86-*-kopensolaris*-gnu)
1518 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1521 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1525 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
1526 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1527 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1530 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1531 extra_options="${extra_options} linux-android.opt"
1532 # Assume modern glibc if not targeting Android nor uclibc.
1534 *-*-*android*|*-*-*uclibc*|*-*-*musl*)
1537 default_gnu_indirect_function=yes
1541 x86_64-*-kfreebsd*-gnu)
1542 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1545 tmake_file="${tmake_file} i386/t-linux64"
1546 x86_multilibs="${with_multilib_list}"
1547 if test "$x86_multilibs" = "default"; then
1550 x86_multilibs="mx32"
1553 x86_multilibs="m64,m32"
1557 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1558 for x86_multilib in ${x86_multilibs}; do
1559 case ${x86_multilib} in
1561 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1564 echo "--with-multilib-list=${x86_with_multilib} not supported."
1568 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1570 i[34567]86-pc-msdosdjgpp*)
1571 xm_file=i386/xm-djgpp.h
1572 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1573 native_system_header_dir=/dev/env/DJDIR/include
1574 extra_options="${extra_options} i386/djgpp.opt"
1579 i[34567]86-*-lynxos*)
1581 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1582 tmake_file="${tmake_file} t-lynx"
1583 extra_options="${extra_options} lynx.opt"
1588 i[34567]86-*-nto-qnx*)
1589 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1590 extra_options="${extra_options} i386/nto.opt"
1594 i[34567]86-*-rtems*)
1595 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h newlib-stdint.h"
1596 tmake_file="${tmake_file} i386/t-rtems"
1598 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1599 # Set default arch_32 to pentium4, tune_32 to generic like the other
1600 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1601 with_arch_32=${with_arch_32:-pentium4}
1602 with_tune_32=${with_tune_32:-generic}
1603 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1604 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1605 tmake_file="$tmake_file i386/t-sol2"
1607 if test x$with_cpu = x; then
1608 if test x$with_cpu_64 = x; then
1612 case " $x86_cpus $x86_archs $x86_64_archs " in
1616 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1617 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1623 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
1624 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
1627 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1628 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1631 tm_file="${tm_file} vxworks.h i386/vxworks.h"
1632 tmake_file="${tmake_file} i386/t-vxworks"
1636 i[34567]86-*-cygwin*)
1637 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
1638 xm_file=i386/xm-cygwin.h
1639 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1640 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1641 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1642 extra_objs="winnt.o winnt-stubs.o"
1643 c_target_objs="${c_target_objs} msformat-c.o"
1644 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1645 if test x$enable_threads = xyes; then
1648 default_use_cxa_atexit=yes
1653 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
1654 xm_file=i386/xm-cygwin.h
1655 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1656 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1657 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1658 extra_objs="winnt.o winnt-stubs.o"
1659 c_target_objs="${c_target_objs} msformat-c.o"
1660 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1661 if test x$enable_threads = xyes; then
1664 default_use_cxa_atexit=yes
1666 tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1668 i[34567]86-*-mingw* | x86_64-*-mingw*)
1669 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1670 xm_file=i386/xm-mingw32.h
1671 c_target_objs="${c_target_objs} winnt-c.o"
1672 cxx_target_objs="${cxx_target_objs} winnt-c.o"
1673 target_has_targetcm="yes"
1675 x86_64-*-* | *-w64-*)
1681 if test x$enable_threads = xposix ; then
1682 tm_file="${tm_file} i386/mingw-pthread.h"
1684 tm_file="${tm_file} i386/mingw32.h"
1685 # This makes the logic if mingw's or the w64 feature set has to be used
1688 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1689 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1690 tm_file="${tm_file} i386/mingw-w64.h"
1691 if test x$enable_targets = xall; then
1692 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1693 if test x$with_cpu = x; then
1694 if test x$with_cpu_64 = x; then
1698 case " $x86_cpus $x86_archs $x86_64_archs " in
1702 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1703 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1713 tm_file="${tm_file} i386/mingw-stdint.h"
1714 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1717 tmake_file="${tmake_file} i386/t-mingw-w64"
1720 tmake_file="${tmake_file} i386/t-mingw-w32"
1723 native_system_header_dir=/mingw/include
1724 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1725 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1728 extra_options="${extra_options} i386/mingw-w64.opt"
1733 extra_objs="winnt.o winnt-stubs.o"
1734 c_target_objs="${c_target_objs} msformat-c.o"
1735 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1738 default_use_cxa_atexit=yes
1740 case ${enable_threads} in
1750 tm_file="${tm_file} i386/crtdll.h"
1752 *mingw32msv* | *mingw*)
1757 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1758 tmake_file="ia64/t-ia64"
1759 target_cpu_default="0"
1760 if test x$gas = xyes
1762 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1764 if test x$gnu_ld = xyes
1766 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1770 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1771 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1772 tmake_file="${tmake_file} ia64/t-ia64"
1775 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1776 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1777 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1780 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1781 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1782 target_cpu_default="MASK_GNU_AS"
1783 case x$enable_threads in
1789 c_target_objs="ia64-c.o"
1790 cxx_target_objs="ia64-c.o"
1791 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
1793 tm_file="${tm_file} hpux-stdint.h"
1796 tm_file="${tm_file} ia64/hpux-unix2003.h"
1801 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1802 tmake_file="${tmake_file} ia64/t-ia64"
1803 target_cpu_default="0"
1804 if test x$gas = xyes
1806 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1808 extra_options="${extra_options} ia64/vms.opt"
1811 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
1812 out_file=iq2000/iq2000.c
1813 md_file=iq2000/iq2000.md
1816 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
1817 tmake_file="${tmake_file} lm32/t-lm32"
1820 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
1821 tmake_file="${tmake_file} lm32/t-lm32"
1822 tmake_file="${tmake_file} lm32/t-rtems"
1825 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
1826 tmake_file="${tmake_file} lm32/t-lm32"
1829 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1832 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
1835 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
1836 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1838 if test x$enable_threads = xyes; then
1843 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
1844 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1846 if test x$enable_threads = xyes; then
1850 m68k-*-elf* | fido-*-elf*)
1853 # Check that $with_cpu makes sense.
1858 echo "Cannot accept --with-cpu=$with_cpu"
1865 default_m68k_cpu=68020
1869 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h newlib-stdint.h m68k/m68kemb.h m68k/m68020-elf.h"
1870 tm_defines="${tm_defines} MOTOROLA=1"
1871 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1872 # Add multilibs for targets other than fido.
1877 tmake_file="$tmake_file m68k/t-mlibs"
1882 default_m68k_cpu=68020
1884 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1885 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1886 tm_defines="${tm_defines} MOTOROLA=1"
1889 default_m68k_cpu=68020
1891 # needed to unconfuse gdb
1892 tm_defines="${tm_defines} OBSD_OLD_GAS"
1893 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
1894 extra_options="${extra_options} openbsd.opt"
1895 tmake_file="t-openbsd m68k/t-openbsd"
1896 # we need collect2 until our bug is fixed...
1899 m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
1900 # with uClibc, using the new GNU/Linux-style
1902 default_m68k_cpu=68020
1904 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
1905 extra_options="${extra_options} m68k/uclinux.opt"
1906 tm_defines="${tm_defines} MOTOROLA=1"
1907 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
1909 m68k-*-linux*) # Motorola m68k's running GNU/Linux
1910 # with ELF format using glibc 2
1911 # aka the GNU/Linux C library 6.
1912 default_m68k_cpu=68020
1914 with_arch=${with_arch:-m68k}
1915 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
1916 extra_options="${extra_options} m68k/ieee.opt"
1917 tm_defines="${tm_defines} MOTOROLA=1"
1918 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
1921 default_m68k_cpu=68020
1923 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
1924 tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h newlib-stdint.h"
1925 tm_defines="${tm_defines} MOTOROLA=1"
1928 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
1929 tmake_file=mcore/t-mcore
1935 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1938 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1941 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
1942 tm_file="${tm_file} glibc-stdint.h"
1943 c_target_objs="${c_target_objs} microblaze-c.o"
1944 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1945 tmake_file="${tmake_file} microblaze/t-microblaze"
1946 tmake_file="${tmake_file} microblaze/t-microblaze-linux"
1948 microblaze*-*-rtems*)
1951 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1954 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1957 tm_file="${tm_file} dbxelf.h"
1958 tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
1959 c_target_objs="${c_target_objs} microblaze-c.o"
1960 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1961 tmake_file="${tmake_file} microblaze/t-microblaze"
1962 tmake_file="${tmake_file} microblaze/t-rtems"
1967 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1970 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1973 tm_file="${tm_file} dbxelf.h newlib-stdint.h"
1974 c_target_objs="${c_target_objs} microblaze-c.o"
1975 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1976 tmake_file="${tmake_file} microblaze/t-microblaze"
1978 mips*-*-netbsd*) # NetBSD/mips, either endian.
1979 target_cpu_default="MASK_ABICALLS"
1980 tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
1981 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1984 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h"
1985 extra_options="${extra_options} linux-android.opt"
1986 tmake_file="${tmake_file} mips/t-img-linux"
1987 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
1988 with_arch_32="mips32r6"
1989 with_arch_64="mips64r6"
1994 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"
1995 extra_options="${extra_options} linux-android.opt"
1996 tmake_file="${tmake_file} mips/t-mti-linux"
1997 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
1998 with_arch_32="mips32r2"
1999 with_arch_64="mips64r2"
2003 mips*-*-linux*) # Linux MIPS, either endian.
2004 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h"
2005 extra_options="${extra_options} linux-android.opt"
2008 default_mips_arch=mips32r6
2011 default_mips_arch=mips32r2
2014 default_mips_arch=mips32
2016 mips64el-st-linux-gnu)
2017 default_mips_abi=n32
2018 tm_file="${tm_file} mips/st.h"
2019 tmake_file="${tmake_file} mips/t-st"
2020 enable_mips_multilibs="yes"
2022 mips64octeon*-*-linux*)
2023 default_mips_abi=n32
2024 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2025 target_cpu_default=MASK_SOFT_FLOAT_ABI
2026 enable_mips_multilibs="yes"
2028 mipsisa64r6*-*-linux*)
2029 default_mips_abi=n32
2030 default_mips_arch=mips64r6
2031 enable_mips_multilibs="yes"
2033 mipsisa64r2*-*-linux*)
2034 default_mips_abi=n32
2035 default_mips_arch=mips64r2
2036 enable_mips_multilibs="yes"
2038 mips64*-*-linux* | mipsisa64*-*-linux*)
2039 default_mips_abi=n32
2040 enable_mips_multilibs="yes"
2043 if test x$enable_targets = xall; then
2044 enable_mips_multilibs="yes"
2046 if test x$enable_mips_multilibs = xyes; then
2047 tmake_file="${tmake_file} mips/t-linux64"
2051 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2052 tmake_file="mips/t-mti-elf"
2053 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2054 with_arch_32="mips32r2"
2055 with_arch_64="mips64r2"
2058 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2059 tmake_file="mips/t-img-elf"
2060 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2061 with_arch_32="mips32r6"
2062 with_arch_64="mips64r6"
2065 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2066 tmake_file="mips/t-sde"
2067 extra_options="${extra_options} mips/sde.opt"
2068 case "${with_newlib}" in
2070 # newlib / libgloss.
2073 # MIPS toolkit libraries.
2074 tm_file="$tm_file mips/sdemtk.h"
2075 tmake_file="$tmake_file mips/t-sdemtk"
2076 case ${enable_threads} in
2078 thread_file='mipssde'
2085 tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2088 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2091 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2094 tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2097 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2100 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2104 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2105 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2106 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2107 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2108 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2109 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2110 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2111 tmake_file="mips/t-isa3264"
2114 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2117 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2120 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2123 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2126 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2129 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2133 mipsisa32*-*-elfoabi*)
2134 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2135 tm_file="${tm_file} mips/elfoabi.h"
2137 mipsisa64*-*-elfoabi*)
2138 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2139 tm_file="${tm_file} mips/elfoabi.h"
2142 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2146 mipsisa64sr71k-*-elf*)
2147 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2148 tmake_file=mips/t-sr71k
2149 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2151 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2152 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2153 tmake_file="mips/t-elf mips/t-sb1"
2154 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2156 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2157 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2158 tmake_file="mips/t-elf"
2160 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2161 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2162 tmake_file="mips/t-elf"
2163 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2165 mips64-*-elf* | mips64el-*-elf*)
2166 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2167 tmake_file="mips/t-elf"
2168 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2170 mips64vr-*-elf* | mips64vrel-*-elf*)
2171 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2172 tmake_file=mips/t-vr
2173 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2175 mips64orion-*-elf* | mips64orionel-*-elf*)
2176 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2177 tmake_file="mips/t-elf"
2178 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2181 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2182 tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2185 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2186 tmake_file="${tmake_file} mips/t-vxworks"
2188 mipstx39-*-elf* | mipstx39el-*-elf*)
2189 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2190 tmake_file="mips/t-r3900"
2192 mmix-knuth-mmixware)
2193 tm_file="${tm_file} newlib-stdint.h"
2197 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2198 if test x$stabs = xyes
2200 tm_file="${tm_file} dbx.h"
2206 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2207 c_target_objs="msp430-c.o"
2208 cxx_target_objs="msp430-c.o"
2209 tmake_file="${tmake_file} msp430/t-msp430"
2210 extra_gcc_objs="driver-msp430.o"
2213 target_cpu_default="0"
2214 tm_defines="${tm_defines}"
2215 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2216 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2219 target_cpu_default="0|MASK_BIG_ENDIAN"
2220 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2221 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2222 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2225 tm_file="elfos.h ${tm_file}"
2226 tmake_file="${tmake_file} nios2/t-nios2"
2229 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2232 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2233 extra_options="${extra_options} nios2/elf.opt"
2236 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2237 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2242 tm_file="${tm_file} newlib-stdint.h"
2243 tmake_file="nvptx/t-nvptx"
2244 if test x$enable_as_accelerator = xyes; then
2245 extra_programs="${extra_programs} mkoffload\$(exeext)"
2246 tm_file="${tm_file} nvptx/offload.h"
2250 tm_file="${tm_file} newlib-stdint.h"
2253 # port not yet contributed
2254 #powerpc-*-openbsd*)
2255 # tmake_file="${tmake_file} rs6000/t-fprules"
2259 extra_options="${extra_options} rs6000/darwin.opt"
2261 *-darwin1[0-9]* | *-darwin[8-9]*)
2262 tmake_file="${tmake_file} rs6000/t-darwin8"
2263 tm_file="${tm_file} rs6000/darwin8.h"
2266 tm_file="${tm_file} rs6000/darwin7.h"
2271 tmake_file="${tmake_file} t-slibgcc"
2272 extra_headers=altivec.h
2274 powerpc64-*-darwin*)
2275 extra_options="${extra_options} ${cpu_type}/darwin.opt"
2276 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
2277 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
2278 extra_headers=altivec.h
2280 powerpc*-*-freebsd*)
2281 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
2282 extra_options="${extra_options} rs6000/sysv4.opt"
2283 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2286 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2287 tmake_file="${tmake_file} rs6000/t-freebsd64"
2288 extra_options="${extra_options} rs6000/linux64.opt"
2291 tm_file="${tm_file} rs6000/freebsd.h"
2296 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2297 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2298 tmake_file="${tmake_file} rs6000/t-netbsd"
2299 extra_options="${extra_options} rs6000/sysv4.opt"
2302 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"
2303 extra_options="${extra_options} rs6000/sysv4.opt"
2304 tmake_file="rs6000/t-spe rs6000/t-ppccomm"
2307 powerpc-*-eabisimaltivec*)
2308 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"
2309 extra_options="${extra_options} rs6000/sysv4.opt"
2310 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2314 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"
2315 extra_options="${extra_options} rs6000/sysv4.opt"
2316 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2320 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2321 extra_options="${extra_options} rs6000/sysv4.opt"
2322 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2324 powerpc-*-eabialtivec*)
2325 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"
2326 extra_options="${extra_options} rs6000/sysv4.opt"
2327 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2330 powerpc-xilinx-eabi*)
2331 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"
2332 extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
2333 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
2337 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"
2338 extra_options="${extra_options} rs6000/sysv4.opt"
2339 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2343 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"
2344 extra_options="${extra_options} rs6000/sysv4.opt"
2345 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2348 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2349 extra_options="${extra_options} rs6000/sysv4.opt"
2350 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2351 extra_objs="$extra_objs rs6000-linux.o"
2354 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2356 case ${target}:${with_cpu} in
2357 powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2359 maybe_biarch=${cpu_is_64bit}
2360 case ${enable_targets} in
2361 *powerpc64*) maybe_biarch=yes ;;
2362 all) maybe_biarch=yes ;;
2365 powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
2366 echo "*** Configuration ${target} not supported" 1>&2
2369 powerpc*-*-linux*spe* | powerpc*-*-linux*paired*)
2373 case ${target}:${enable_targets}:${maybe_biarch} in
2374 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2375 | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2376 | powerpcle-*:*powerpc64le*:yes)
2377 if test x$cpu_is_64bit = xyes; then
2378 tm_file="${tm_file} rs6000/default64.h"
2380 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2381 tmake_file="$tmake_file rs6000/t-linux64"
2384 tmake_file="$tmake_file rs6000/t-linux64le"
2385 case ${enable_targets} in
2386 all | *powerpc64-* | *powerpc-*)
2387 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2390 case ${enable_targets} in
2391 all | *powerpc64le-* | *powerpcle-*)
2392 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2395 extra_options="${extra_options} rs6000/linux64.opt"
2398 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2399 extra_options="${extra_options} rs6000/linux64.opt"
2400 tmake_file="${tmake_file} rs6000/t-linux"
2403 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2404 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2408 powerpc*-*-linux*ppc476*)
2409 tm_file="${tm_file} rs6000/476.h"
2410 extra_options="${extra_options} rs6000/476.opt" ;;
2411 powerpc*-*-linux*altivec*)
2412 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2413 powerpc*-*-linux*spe*)
2414 tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;;
2415 powerpc*-*-linux*paired*)
2416 tm_file="${tm_file} rs6000/750cl.h" ;;
2420 enable_secureplt=yes ;;
2422 if test x${enable_secureplt} = xyes; then
2423 tm_file="rs6000/secureplt.h ${tm_file}"
2426 powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
2427 tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
2428 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2429 extra_options="${extra_options} rs6000/sysv4.opt"
2430 extra_headers=ppc-asm.h
2433 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
2434 tmake_file="${tmake_file} rs6000/t-vxworksmils"
2437 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
2438 tmake_file="${tmake_file} rs6000/t-vxworksae"
2441 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
2447 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2448 tmake_file="t-lynx rs6000/t-lynx"
2449 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2455 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2456 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2457 extra_options="${extra_options} rs6000/sysv4.opt"
2459 powerpcle-*-eabisim*)
2460 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"
2461 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2462 extra_options="${extra_options} rs6000/sysv4.opt"
2466 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"
2467 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2468 extra_options="${extra_options} rs6000/sysv4.opt"
2471 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2472 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
2473 tmake_file="rs6000/t-aix43 t-slibgcc"
2474 extra_options="${extra_options} rs6000/aix64.opt"
2477 use_gcc_stdint=provide
2480 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
2481 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
2482 extra_options="${extra_options} rs6000/aix64.opt"
2483 tmake_file="rs6000/t-aix43 t-slibgcc"
2489 rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
2490 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
2491 tmake_file="rs6000/t-aix52 t-slibgcc"
2492 extra_options="${extra_options} rs6000/aix64.opt"
2498 rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
2499 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
2500 tmake_file="rs6000/t-aix52 t-slibgcc"
2501 extra_options="${extra_options} rs6000/aix64.opt"
2505 extra_headers=altivec.h
2507 rs6000-ibm-aix6.* | powerpc-ibm-aix6.*)
2508 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2509 tmake_file="rs6000/t-aix52 t-slibgcc"
2510 extra_options="${extra_options} rs6000/aix64.opt"
2514 extra_headers=altivec.h
2515 default_use_cxa_atexit=yes
2517 rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*)
2518 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h"
2519 tmake_file="rs6000/t-aix52 t-slibgcc"
2520 extra_options="${extra_options} rs6000/aix64.opt"
2524 extra_headers=altivec.h
2525 default_use_cxa_atexit=yes
2528 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2529 target_has_targetm_common=no
2530 c_target_objs="rl78-c.o"
2531 cxx_target_objs="rl78-c.o"
2532 tmake_file="${tmake_file} rl78/t-rl78"
2535 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2536 tmake_file="${tmake_file} rx/t-rx"
2539 default_gnu_indirect_function=yes
2540 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2541 c_target_objs="${c_target_objs} s390-c.o"
2542 cxx_target_objs="${cxx_target_objs} s390-c.o"
2543 if test x$enable_targets = xall; then
2544 tmake_file="${tmake_file} s390/t-linux64"
2546 tmake_file="${tmake_file} s390/t-s390"
2549 default_gnu_indirect_function=yes
2550 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2551 tm_p_file="linux-protos.h s390/s390-protos.h"
2552 c_target_objs="${c_target_objs} s390-c.o"
2553 cxx_target_objs="${cxx_target_objs} s390-c.o"
2554 md_file=s390/s390.md
2555 extra_modes=s390/s390-modes.def
2556 out_file=s390/s390.c
2557 tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
2560 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2561 tm_p_file=s390/s390-protos.h
2562 c_target_objs="${c_target_objs} s390-c.o"
2563 cxx_target_objs="${cxx_target_objs} s390-c.o"
2564 md_file=s390/s390.md
2565 extra_modes=s390/s390-modes.def
2566 out_file=s390/s390.c
2568 extra_options="${extra_options} s390/tpf.opt"
2569 tmake_file="${tmake_file} s390/t-s390"
2571 sh-*-elf* | sh[12346l]*-*-elf* | \
2572 sh-*-linux* | sh[2346lbe]*-*-linux* | \
2573 sh-*-netbsdelf* | shl*-*-netbsdelf*)
2574 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2575 if test x${with_endian} = x; then
2577 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2578 shbe-*-* | sheb-*-*) with_endian=big,little ;;
2579 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
2580 shl* | sh*-*-linux* | \
2581 sh-superh-elf) with_endian=little,big ;;
2582 sh[1234]*-*-*) with_endian=big ;;
2583 *) with_endian=big,little ;;
2586 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2587 # First word : the default endian.
2588 # Second word: the secondary endian (optional).
2589 case ${with_endian} in
2590 big) TM_ENDIAN_CONFIG=mb ;;
2591 little) TM_ENDIAN_CONFIG=ml ;;
2592 big,little) TM_ENDIAN_CONFIG="mb ml" ;;
2593 little,big) TM_ENDIAN_CONFIG="ml mb" ;;
2594 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
2596 case ${with_endian} in
2597 little*) tm_file="sh/little.h ${tm_file}" ;;
2599 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2601 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
2602 if test x$enable_fdpic = xyes; then
2603 tm_defines="$tm_defines FDPIC_DEFAULT=1"
2605 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2607 tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h"
2608 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2611 sh*-superh-elf) if test x$with_libgloss != xno; then
2613 tm_file="${tm_file} sh/newlib.h"
2615 tm_file="${tm_file} sh/embed-elf.h"
2616 tm_file="${tm_file} sh/superh.h"
2617 extra_options="${extra_options} sh/superh.opt" ;;
2618 *) if test x$with_newlib = xyes \
2619 && test x$with_libgloss = xyes; then
2620 tm_file="${tm_file} sh/newlib.h"
2622 tm_file="${tm_file} sh/embed-elf.h" ;;
2628 tm_file="${tm_file} newlib-stdint.h"
2631 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2632 case `echo ${target} | sed 's/e[lb]-/-/'` in
2633 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2634 sh4a_single*) sh_cpu_target=sh4a-single ;;
2635 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2636 sh4al) sh_cpu_target=sh4al ;;
2637 sh4a*) sh_cpu_target=sh4a ;;
2638 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2639 sh4_single*) sh_cpu_target=sh4-single ;;
2640 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2641 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2642 sh3e*) sh_cpu_target=sh3e ;;
2643 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
2644 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2645 sh2a_single*) sh_cpu_target=sh2a-single ;;
2646 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2647 sh2a*) sh_cpu_target=sh2a ;;
2648 sh2e*) sh_cpu_target=sh2e ;;
2649 sh2*) sh_cpu_target=sh2 ;;
2650 *) sh_cpu_target=sh1 ;;
2652 # did the user say --without-fp ?
2653 if test x$with_fp = xno; then
2654 case ${sh_cpu_target} in
2656 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
2657 sh4*) sh_cpu_target=sh4-nofpu ;;
2658 sh3*) sh_cpu_target=sh3 ;;
2659 sh2a*) sh_cpu_target=sh2a-nofpu ;;
2660 sh2*) sh_cpu_target=sh2 ;;
2661 *) echo --without-fp not available for $target: ignored
2663 tm_defines="$tm_defines STRICT_NOFPU=1"
2665 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2666 case $sh_cpu_default in
2667 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
2668 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
2669 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
2670 sh3e | sh3 | sh2e | sh2 | sh1) ;;
2671 "") sh_cpu_default=${sh_cpu_target} ;;
2672 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
2674 sh_multilibs=${with_multilib_list}
2675 if test "$sh_multilibs" = "default" ; then
2677 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
2678 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2679 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
2680 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
2681 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
2683 if test x$with_fp = xno; then
2684 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`"
2687 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
2688 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
2689 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2690 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
2691 for sh_multilib in ${sh_multilibs}; do
2692 case ${sh_multilib} in
2693 m1 | m2 | m2e | m3 | m3e | \
2694 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2695 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2696 m2a | m2a-single | m2a-single-only | m2a-nofpu)
2697 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2698 # It is passed to MULTIILIB_OPTIONS verbatim.
2699 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2700 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2702 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2703 # It is passed the MULTILIB_EXCEPTIONS verbatim.
2704 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
2706 echo "with_multilib_list=${sh_multilib} not supported."
2711 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
2712 if test x${enable_incomplete_targets} = xyes ; then
2713 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1"
2715 tm_file="$tm_file ./sysroot-suffix.h"
2716 tmake_file="$tmake_file t-sysroot-suffix"
2719 tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
2720 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
2723 tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
2724 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
2727 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
2730 tmake_file="sparc/t-sparc sparc/t-leon"
2733 tmake_file="sparc/t-sparc sparc/t-leon3"
2736 tmake_file="sparc/t-sparc sparc/t-elf"
2741 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
2742 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
2745 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
2746 extra_options="${extra_options} sparc/long-double-switch.opt"
2749 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
2752 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
2755 tmake_file="${tmake_file} sparc/t-sparc"
2758 if test x$enable_targets = xall; then
2759 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
2760 tmake_file="${tmake_file} sparc/t-linux64"
2762 tm_file="${tm_file} sparc/linux.h"
2763 tmake_file="${tmake_file} sparc/t-linux"
2767 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2768 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2769 extra_options="${extra_options} sparc/long-double-switch.opt"
2770 tmake_file="${tmake_file} sparc/t-sparc"
2773 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
2775 sparc64-*-* | sparcv9-*-*)
2776 tm_file="sparc/default-64.h ${tm_file}"
2779 test x$with_cpu != x || with_cpu=v9
2782 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
2785 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
2786 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
2789 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
2790 extra_options="${extra_options}"
2791 tmake_file="${tmake_file} sparc/t-sparc"
2794 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
2795 extra_options="${extra_options}"
2796 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
2799 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"
2800 extra_options="${extra_options} sparc/long-double-switch.opt"
2801 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
2803 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2804 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2805 extra_options="${extra_options} sparc/long-double-switch.opt"
2806 case "x$with_cpu" in
2808 x) with_cpu=ultrasparc ;;
2809 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2811 tmake_file="${tmake_file} sparc/t-sparc"
2814 tm_file="sparc/biarch64.h ${tm_file}"
2815 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2816 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2817 extra_options="${extra_options} sparc/long-double-switch.opt"
2818 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
2821 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
2822 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
2823 extra_options="${extra_options} openbsd.opt"
2824 extra_options="${extra_options}"
2827 tmake_file="${tmake_file} sparc/t-sparc"
2830 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
2831 tmake_file="spu/t-spu-elf"
2832 native_system_header_dir=/include
2833 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
2834 extra_modes=spu/spu-modes.def
2835 c_target_objs="${c_target_objs} spu-c.o"
2836 cxx_target_objs="${cxx_target_objs} spu-c.o"
2839 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
2840 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
2841 tmake_file="c6x/t-c6x c6x/t-c6x-elf"
2845 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
2846 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
2847 tm_file="${tm_file} ./sysroot-suffix.h"
2848 tmake_file="t-sysroot-suffix t-slibgcc"
2849 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
2853 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
2854 tmake_file="${tmake_file} tilegx/t-tilegx"
2855 extra_objs="${extra_objs} mul-tables.o"
2856 c_target_objs="${c_target_objs} tilegx-c.o"
2857 cxx_target_objs="${cxx_target_objs} tilegx-c.o"
2858 extra_headers="feedback.h"
2861 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2866 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
2867 tmake_file="${tmake_file} tilepro/t-tilepro"
2868 extra_objs="${extra_objs} mul-tables.o"
2869 c_target_objs="${c_target_objs} tilepro-c.o"
2870 cxx_target_objs="${cxx_target_objs} tilepro-c.o"
2871 extra_headers="feedback.h"
2874 target_cpu_default="TARGET_CPU_generic"
2875 tm_file="dbxelf.h elfos.h v850/v850.h"
2876 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
2877 tmake_file="${tmake_file} v850/t-v850"
2878 tmake_file="${tmake_file} v850/t-rtems"
2880 c_target_objs="v850-c.o"
2881 cxx_target_objs="v850-c.o"
2886 target_cpu_default="TARGET_CPU_v850e3v5"
2889 target_cpu_default="TARGET_CPU_v850e2v3"
2892 target_cpu_default="TARGET_CPU_v850e2"
2894 v850e1-*-* | v850es-*-*)
2895 target_cpu_default="TARGET_CPU_v850e1"
2898 target_cpu_default="TARGET_CPU_v850e"
2901 target_cpu_default="TARGET_CPU_generic"
2904 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
2905 if test x$stabs = xyes
2907 tm_file="${tm_file} dbx.h"
2910 c_target_objs="v850-c.o"
2911 cxx_target_objs="v850-c.o"
2915 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
2916 extra_options="${extra_options} vax/elf.opt"
2919 tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
2920 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
2923 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
2924 extra_options="${extra_options} openbsd.opt"
2928 tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
2929 tmake_file="visium/t-visium visium/t-crtstuff"
2932 # For historical reasons, the target files omit the 'x'.
2933 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
2934 tm_p_file=stormy16/stormy16-protos.h
2935 md_file=stormy16/stormy16.md
2936 out_file=stormy16/stormy16.c
2937 extra_options=stormy16/stormy16.opt
2938 tmake_file="stormy16/t-stormy16"
2941 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
2942 extra_options="${extra_options} xtensa/elf.opt"
2945 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
2946 tmake_file="${tmake_file} xtensa/t-xtensa"
2949 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h"
2950 tmake_file="${tmake_file} xtensa/t-xtensa"
2951 extra_options="${extra_options} xtensa/uclinux.opt"
2954 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
2959 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
2960 c_target_objs="m32c-pragma.o"
2961 cxx_target_objs="m32c-pragma.o"
2964 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2965 c_target_objs="m32c-pragma.o"
2966 cxx_target_objs="m32c-pragma.o"
2969 echo "*** Configuration ${target} not supported" 1>&2
2975 i[34567]86-*-linux* | x86_64-*-linux*)
2976 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
2978 i[34567]86-*-* | x86_64-*-*)
2979 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
2981 powerpc*-*-* | rs6000-*-*)
2982 tm_file="${tm_file} rs6000/option-defaults.h"
2985 # Build mkoffload tool
2987 *-intelmic-* | *-intelmicemul-*)
2988 tmake_file="${tmake_file} i386/t-intelmic"
2989 tm_file="${tm_file} i386/intelmic-offload.h"
2993 if [ "$target_has_targetcm" = "no" ]; then
2994 c_target_objs="$c_target_objs default-c.o"
2995 cxx_target_objs="$cxx_target_objs default-c.o"
2998 if [ "$common_out_file" = "" ]; then
2999 if [ "$target_has_targetm_common" = "yes" ]; then
3000 common_out_file="$cpu_type/$cpu_type-common.c"
3002 common_out_file="default-common.c"
3006 # Support for --with-cpu and related options (and a few unrelated options,
3010 echo "--with-cpu must be passed a value" 1>&2
3015 # Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
3016 # to generic if there is no processor scheduler model for the target.
3019 arch_without_sse2=no
3020 arch_without_64bit=no
3023 if test $fbsd_major -ge 6; then
3029 arch_without_sse2=yes
3030 arch_without_64bit=yes
3035 arch_without_sse2=yes
3036 arch_without_64bit=yes
3041 arch_without_sse2=yes
3042 arch_without_64bit=yes
3045 arch_without_sse2=yes
3046 arch_without_64bit=yes
3047 case ${target_noncanonical} in
3060 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3070 i686-*-* | i786-*-*)
3071 case ${target_noncanonical} in
3100 amdfam10-*|barcelona-*)
3104 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3108 k8-*|opteron-*|athlon64-*|athlon_fx-*)
3112 athlon_xp-*|athlon_mp-*|athlon_4-*)
3115 arch_without_sse2=yes
3116 arch_without_64bit=yes
3118 athlon_tbird-*|athlon-*)
3121 arch_without_sse2=yes
3126 arch_without_sse2=yes
3131 arch_without_sse2=yes
3133 pentium3-*|pentium3m-*)
3136 arch_without_sse2=yes
3138 pentium4-*|pentium4m-*)
3177 arch_without_sse2=yes
3182 arch_without_sse2=yes
3183 arch_without_64bit=yes
3188 case ${target_noncanonical} in
3217 amdfam10-*|barcelona-*)
3221 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3225 k8-*|opteron-*|athlon_64-*)
3257 # If there is no $with_cpu option, try to infer one from ${target}.
3258 # This block sets nothing except for with_cpu.
3259 if test x$with_cpu = x ; then
3261 i[34567]86-*-elfiamcu)
3264 i[34567]86-*-*|x86_64-*-*)
3282 frv-*-*linux* | frv400-*-*linux*)
3289 case "$with_arch" in
3291 with_cpu=${default_cf_cpu}
3294 with_cpu=m${default_m68k_cpu}
3299 if test x$enable_e500_double = xyes; then
3317 with_cpu="`echo ${target} | sed 's/-.*$//'`"
3326 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3328 i[34567]86-*-*|x86_64-*-*)
3329 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3330 if test x$with_cpu_32 = x; then
3331 with_cpu_32=$with_cpu
3333 if test x$with_cpu_64 = x; then
3334 with_cpu_64=$with_cpu
3342 # Support for --with-arch and related options (and a few unrelated options,
3344 case ${with_arch} in
3346 echo "--with-arch must be passed a value" 1>&2
3351 # If there is no $with_arch option, try to infer one from ${target}.
3352 # This block sets nothing except for with_arch.
3353 if test x$with_arch = x ; then
3355 i[34567]86-*-darwin*|x86_64-*-darwin*)
3356 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3357 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3359 i[34567]86-*-elfiamcu)
3363 # --with-fpmath sets the default ISA to SSE2, which is the same
3364 # ISA supported by Pentium 4.
3365 if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3374 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3382 # Avoid overriding --with-arch-32 and --with-arch-64 values.
3384 i[34567]86-*-darwin*|x86_64-*-darwin*)
3385 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3386 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3388 i[34567]86-*-*|x86_64-*-*)
3389 if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3390 if test x$with_arch_32 = x; then
3391 with_arch_32=$with_arch
3393 if test x$with_arch_64 = x; then
3394 if test $arch_without_64bit = yes; then
3395 # Set the default 64bit arch to x86-64 if the default arch
3396 # doesn't support 64bit.
3399 with_arch_64=$with_arch
3403 elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3404 # Set the default 64bit arch to x86-64 if the default arch
3405 # doesn't support 64bit and we need 64bit ISA.
3406 with_arch_32=$with_arch
3414 # Infer a default setting for --with-float.
3415 if test x$with_float = x; then
3417 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3418 # The R5900 doesn't support 64-bit float. 32-bit float doesn't
3419 # comply with IEEE 754.
3425 # Infer a default setting for --with-fpu.
3426 if test x$with_fpu = x; then
3428 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3429 # The R5900 FPU only supports single precision.
3435 # Support --with-fpmath.
3436 if test x$with_fpmath != x; then
3438 i[34567]86-*-* | x86_64-*-*)
3439 case ${with_fpmath} in
3441 tm_file="${tm_file} i386/avxmath.h"
3444 tm_file="${tm_file} i386/ssemath.h"
3447 echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3453 echo "--with-fpmath isn't supported for $target." 1>&2
3459 # Similarly for --with-schedule.
3460 if test x$with_schedule = x; then
3463 # Override default PA8000 scheduling model.
3464 with_schedule=7100LC
3469 # Infer a default setting for --with-llsc.
3470 if test x$with_llsc = x; then
3472 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3473 # The R5900 doesn't support LL(D) and SC(D).
3477 # The kernel emulates LL and SC where necessary.
3483 # Validate and mark as valid any --with options supported
3484 # by this target. In order to use a particular --with option
3485 # you must list it in supported_defaults; validating the value
3486 # is optional. This case statement should set nothing besides
3487 # supported_defaults.
3492 supported_defaults="abi cpu arch"
3493 for which in cpu arch; do
3495 eval "val=\$with_$which"
3496 base_val=`echo $val | sed -e 's/\+.*//'`
3497 ext_val=`echo $val | sed -e 's/[a-z0-9.-]\+//'`
3499 if [ $which = arch ]; then
3500 def=aarch64-arches.def
3501 pattern=AARCH64_ARCH
3503 def=aarch64-cores.def
3504 pattern=AARCH64_CORE
3507 ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3509 # Find the base CPU or ARCH id in aarch64-cores.def or
3510 # aarch64-arches.def
3511 if [ x"$base_val" = x ] \
3512 || grep "^$pattern(\"$base_val\"," \
3513 ${srcdir}/config/aarch64/$def \
3516 if [ $which = arch ]; then
3517 base_id=`grep "^$pattern(\"$base_val\"," \
3518 ${srcdir}/config/aarch64/$def | \
3519 sed -e 's/^[^,]*,[ ]*//' | \
3521 # Extract the architecture flags from aarch64-arches.def
3522 ext_mask=`grep "^$pattern(\"$base_val\"," \
3523 ${srcdir}/config/aarch64/$def | \
3527 base_id=`grep "^$pattern(\"$base_val\"," \
3528 ${srcdir}/config/aarch64/$def | \
3529 sed -e 's/^[^,]*,[ ]*//' | \
3533 while [ x"$ext_val" != x ]
3535 ext_val=`echo $ext_val | sed -e 's/\+//'`
3536 ext=`echo $ext_val | sed -e 's/\+.*//'`
3537 base_ext=`echo $ext | sed -e 's/^no//'`
3539 if [ x"$base_ext" = x ] \
3540 || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3541 ${srcdir}/config/aarch64/aarch64-option-extensions.def \
3544 ext_canon=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3545 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3546 sed -e 's/^[^,]*,[ ]*//' | \
3548 ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3549 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3550 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \
3551 sed -e 's/,.*$//' | \
3553 ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3554 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3555 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*[^,]*,[ ]*//' | \
3556 sed -e 's/,.*$//' | \
3560 if [ $ext = $base_ext ]; then
3562 ext_mask="("$ext_mask") | ("$ext_on" | "$ext_canon")"
3564 # Removing extension
3565 ext_mask="("$ext_mask") & ~("$ext_off" | "$ext_canon")"
3570 echo "Unknown extension used in --with-$which=$val" 1>&2
3573 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3576 ext_mask="(("$ext_mask") << 6)"
3577 if [ x"$base_id" != x ]; then
3578 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3582 echo "Unknown $which used in --with-$which=$val" 1>&2
3589 supported_defaults="cpu tune"
3590 for which in cpu tune; do
3591 eval "val=\$with_$which"
3594 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3595 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3599 echo "Unknown CPU used in --with-$which=$val" 1>&2
3606 arc*-*-*) # was: arc*-*-linux-uclibc)
3607 supported_defaults="cpu"
3609 arc600|arc601|arc700)
3611 *) echo "Unknown cpu type"
3618 supported_defaults="arch cpu float tune fpu abi mode tls"
3619 for which in cpu tune; do
3620 # See if it matches any of the entries in arm-cores.def
3621 eval "val=\$with_$which"
3622 if [ x"$val" = x ] \
3623 || grep "^ARM_CORE(\"$val\"," \
3624 ${srcdir}/config/arm/arm-cores.def \
3627 new_val=`grep "^ARM_CORE(\"$val\"," \
3628 ${srcdir}/config/arm/arm-cores.def | \
3629 sed -e 's/^[^,]*,[ ]*//' | \
3631 eval "target_${which}_cname=$new_val"
3632 echo "For $val real value is $new_val"
3635 echo "Unknown CPU used in --with-$which=$val" 1>&2
3640 # See if it matches any of the entries in arm-arches.def
3641 if [ x"$with_arch" = x ] \
3642 || grep "^ARM_ARCH(\"$with_arch\"," \
3643 ${srcdir}/config/arm/arm-arches.def \
3648 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
3652 case "$with_float" in
3654 | soft | hard | softfp)
3658 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3663 # see if it matches any of the entries in arm-fpus.def
3664 if [ x"$with_fpu" = x ] \
3665 || grep "^ARM_FPU(\"$with_fpu\"," \
3666 ${srcdir}/config/arm/arm-fpus.def \
3671 echo "Unknown fpu used in --with-fpu=$with_fpu" 1>&2
3677 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
3681 echo "Unknown ABI used in --with-abi=$with_abi"
3686 case "$with_mode" in
3692 echo "Unknown mode used in --with-mode=$with_mode"
3703 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3708 if test "x$with_arch" != x && test "x$with_cpu" != x; then
3709 echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2
3713 if test "x$with_cpu" != x && test "x$with_tune" != x; then
3714 echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2
3718 # Add extra multilibs
3719 if test "x$with_multilib_list" != x; then
3720 arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
3721 case ${arm_multilibs} in
3723 # Note that arm/t-aprofile is a
3724 # stand-alone make file fragment to be
3725 # used only with itself. We do not
3726 # specifically use the
3727 # TM_MULTILIB_OPTION framework because
3728 # this shorthand is more
3730 tmake_profile_file="arm/t-aprofile"
3735 echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
3740 if test "x${tmake_profile_file}" != x ; then
3741 # arm/t-aprofile is only designed to work
3742 # without any with-cpu, with-arch, with-mode,
3743 # with-fpu or with-float options.
3744 if test "x$with_arch" != x \
3745 || test "x$with_cpu" != x \
3746 || test "x$with_float" != x \
3747 || test "x$with_fpu" != x \
3748 || test "x$with_mode" != x ; then
3749 echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2
3753 tmake_file="${tmake_file} ${tmake_profile_file}"
3759 supported_defaults=cpu
3764 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3770 fido-*-* | m68k*-*-*)
3771 supported_defaults="arch cpu"
3772 case "$with_arch" in
3774 m68k_arch_family="$with_arch"
3777 echo "Invalid --with-arch=$with_arch" 1>&2
3782 # We always have a $with_cpu setting here.
3784 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
3785 m68k_cpu_ident=$with_cpu
3788 m68k_cpu_ident=m68020
3789 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
3792 m68k_cpu_ident=m68020
3793 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
3796 # We need the C identifier rather than the string.
3797 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
3798 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
3799 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
3800 ${srcdir}/config/m68k/m68k-devices.def`
3801 if [ x"$m68k_cpu_ident" = x ] ; then
3802 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
3805 with_cpu="mcpu=$with_cpu"
3811 supported_defaults="arch schedule"
3813 case "$with_arch" in
3814 "" | 1.0 | 1.1 | 2.0)
3818 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
3823 case "$with_schedule" in
3824 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
3828 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
3834 i[34567]86-*-* | x86_64-*-*)
3835 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
3836 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
3837 eval "val=\$with_$which"
3838 case " $x86_archs " in
3846 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
3855 if test x${val} != x; then
3856 case " $x86_64_archs " in
3861 # Allow $x86_cpus --with-cpu=/--with-tune=
3864 case " $x86_cpus " in
3869 echo "Unknown CPU given in --with-$which=$val." 1>&2
3875 echo "Unknown CPU given in --with-$which=$val." 1>&2
3888 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"
3890 case ${with_float} in
3895 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3901 "" | single | double)
3905 echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
3915 echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
3920 case ${with_fp_32} in
3925 echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
3930 case ${with_odd_spreg_32} in
3932 with_odd_spreg_32="odd-spreg"
3935 with_odd_spreg_32="no-odd-spreg"
3941 echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
3947 "" | 32 | o64 | n32 | 64 | eabi)
3951 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
3956 case ${with_divide} in
3957 "" | breaks | traps)
3961 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
3966 case ${with_llsc} in
3977 echo "Unknown llsc type used in --with-llsc" 1>&2
3982 case ${with_mips_plt} in
3987 with_mips_plt=no-plt
3992 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
3997 case ${with_synci} in
4007 echo "Unknown synci type used in --with-synci" 1>&2
4014 supported_defaults="arch nds32_lib"
4016 # process --with-arch
4017 case "${with_arch}" in
4022 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2
4027 # process --with-nds32-lib
4028 case "${with_nds32_lib}" in
4030 # the default library is newlib
4031 with_nds32_lib=newlib
4040 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
4047 supported_defaults="arch"
4048 case "$with_arch" in
4053 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
4059 powerpc*-*-* | rs6000-*-*)
4060 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
4062 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4063 eval "val=\$with_$which"
4065 default32 | default64)
4070 echo "$val only valid for --with-cpu and --with-tune." 1>&2
4074 with_which="with_$which"
4078 tm_defines="${tm_defines} CONFIG_PPC405CR"
4079 eval "with_$which=405"
4081 "" | common | native \
4082 | power | power[23456789] | power6x | powerpc | powerpc64 \
4083 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
4084 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4085 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4086 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4087 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4088 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4092 echo "Unknown cpu used in --with-$which=$val." 1>&2
4099 "" | elfv1 | elfv2 )
4103 echo "Unknown ABI used in --with-abi=$with_abi"
4108 if test "x$with_advance_toolchain" != x; then
4109 if test -d "/opt/$with_advance_toolchain/." -a \
4110 -d "/opt/$with_advance_toolchain/bin/." -a \
4111 -d "/opt/$with_advance_toolchain/include/."; then
4113 tm_file="$tm_file ./advance-toolchain.h"
4114 (at="/opt/$with_advance_toolchain"
4115 echo "/* Use Advance Toolchain $at */"
4117 echo "#ifndef USE_AT_INCLUDE_FILES"
4118 echo "#define USE_AT_INCLUDE_FILES 1"
4121 echo "#if USE_AT_INCLUDE_FILES"
4122 echo "#undef INCLUDE_EXTRA_SPEC"
4123 echo "#define INCLUDE_EXTRA_SPEC" \
4124 "\"-isystem $at/include\""
4127 echo "#undef LINK_OS_EXTRA_SPEC32"
4128 echo "#define LINK_OS_EXTRA_SPEC32" \
4129 "\"%(link_os_new_dtags)" \
4130 "-rpath $prefix/lib -rpath $at/lib" \
4131 "-L $prefix/lib -L $at/lib\""
4133 echo "#undef LINK_OS_EXTRA_SPEC64"
4134 echo "#define LINK_OS_EXTRA_SPEC64" \
4135 "\"%(link_os_new_dtags)" \
4136 "-rpath $prefix/lib64 -rpath $at/lib64" \
4137 "-L $prefix/lib64 -L $at/lib64\""
4139 echo "#undef LINK_OS_NEW_DTAGS_SPEC"
4140 echo "#define LINK_OS_NEW_DTAGS_SPEC" \
4141 "\"--enable-new-dtags\""
4143 echo "#undef DYNAMIC_LINKER_PREFIX"
4144 echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
4146 echo "#undef MD_EXEC_PREFIX"
4147 echo "#define MD_EXEC_PREFIX \"$at/bin/\""
4149 echo "#undef MD_STARTFILE_PREFIX"
4150 echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
4151 > advance-toolchain.h
4153 echo "Unknown advance-toolchain $with_advance_toolchain"
4160 supported_defaults="arch mode tune"
4162 for which in arch tune; do
4163 eval "val=\$with_$which"
4165 "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13)
4169 echo "Unknown cpu used in --with-$which=$val." 1>&2
4175 case ${with_mode} in
4180 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4186 sh[123456ble]*-*-* | sh-*-*)
4187 supported_defaults="cpu"
4188 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4189 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4192 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4194 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4197 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
4198 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4199 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4200 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4206 supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64"
4208 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4209 eval "val=\$with_$which"
4211 "" | sparc | sparcv9 | sparc64 \
4213 | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4214 | sparclite | f930 | f934 | sparclite86x \
4215 | sparclet | tsc701 \
4216 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4217 | niagara3 | niagara4 | niagara7)
4221 echo "Unknown cpu used in --with-$which=$val" 1>&2
4227 case ${with_float} in
4232 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4239 supported_defaults="arch tune"
4241 for which in arch tune; do
4242 eval "val=\$with_$which"
4244 "" | cell | celledp)
4248 echo "Unknown cpu used in --with-$which=$val." 1>&2
4256 supported_defaults="arch"
4258 case ${with_arch} in
4259 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4263 echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4270 supported_defaults=cpu
4272 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4276 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4282 supported_defaults="cpu"
4286 *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4293 # Set some miscellaneous flags for particular targets.
4294 target_cpu_default2=
4297 if test x"$target_cpu_cname" != x
4299 target_cpu_default2=$target_cpu_cname
4304 if test x$target_cpu_cname = x
4306 target_cpu_default2=TARGET_CPU_generic
4308 target_cpu_default2=TARGET_CPU_$target_cpu_cname
4313 if test x$gas = xyes
4315 target_cpu_default2="MASK_GAS"
4319 fido*-*-* | m68k*-*-*)
4320 target_cpu_default2=$m68k_cpu_ident
4321 tmake_file="m68k/t-opts $tmake_file"
4322 if [ x"$m68k_arch_family" != x ]; then
4323 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4327 i[34567]86-*-darwin* | x86_64-*-darwin*)
4329 i[34567]86-*-linux* | x86_64-*-linux*)
4330 tmake_file="$tmake_file i386/t-linux"
4332 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
4333 tmake_file="$tmake_file i386/t-kfreebsd"
4336 tmake_file="$tmake_file i386/t-gnu"
4338 i[34567]86-*-msdosdjgpp*)
4339 tmake_file="${tmake_file} i386/t-djgpp"
4341 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
4343 i[34567]86-*-cygwin* | x86_64-*-cygwin*)
4345 i[34567]86-*-mingw* | x86_64-*-mingw*)
4347 i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
4349 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
4355 if test x$gnu_ld = xyes
4357 target_cpu_default2="MASK_SPLIT_ADDRESSES"
4361 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
4364 if test x$with_arch != x; then
4365 default_mips_arch=$with_arch
4367 if test x$with_abi != x; then
4368 default_mips_abi=$with_abi
4370 case ${default_mips_arch} in
4371 mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
4372 mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
4373 mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
4374 mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
4375 mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
4376 mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
4377 mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
4378 mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
4379 mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
4380 mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
4382 case ${default_mips_abi} in
4383 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
4384 o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
4385 n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
4386 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
4387 eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
4389 tmake_file="mips/t-mips $tmake_file"
4392 powerpc*-*-* | rs6000-*-*)
4393 # FIXME: The PowerPC port uses the value set at compile time,
4394 # although it's only cosmetic.
4395 if test "x$with_cpu" != x
4397 target_cpu_default2="\\\"$with_cpu\\\""
4399 out_file=rs6000/rs6000.c
4400 c_target_objs="${c_target_objs} rs6000-c.o"
4401 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
4402 tmake_file="rs6000/t-rs6000 ${tmake_file}"
4405 sh[123456ble]*-*-* | sh-*-*)
4406 c_target_objs="${c_target_objs} sh-c.o"
4407 cxx_target_objs="${cxx_target_objs} sh-c.o"
4411 # Some standard aliases.
4416 xsparcv9 | xsparc64)
4421 if test x$with_tune = x ; then
4432 # The SPARC port checks this value at compile-time.
4433 target_cpu_default2="TARGET_CPU_$with_cpu"
4437 case "x$with_cpu" in
4440 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
4441 target_cpu_default2="TARGET_CPU_$with_cpu"
4444 target_cpu_default2="TARGET_CPU_v850e1"
4449 target_cpu_default2="TARGET_CPU_$with_cpu"
4454 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"
4455 for option in $all_defaults
4457 eval "val=\$with_"`echo $option | sed s/-/_/g`
4458 if test -n "$val"; then
4459 case " $supported_defaults " in
4463 echo "This target does not support --with-$option." 2>&1
4464 echo "Valid --with options are: $supported_defaults" 2>&1
4471 t="{ \"$option\", \"$val\" }"
4473 t="${t}, { \"$option\", \"$val\" }"
4480 configure_default_options="{ { NULL, NULL} }"
4482 configure_default_options="{ ${t} }"
4485 if test "$target_cpu_default2" != ""
4487 if test "$target_cpu_default" != ""
4489 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
4491 target_cpu_default=$target_cpu_default2
4496 i[34567]86-*-* | x86_64-*-*)
4497 if test x$enable_as_accelerator = xyes; then
4498 extra_programs="mkoffload\$(exeext)"