1 # GCC target-specific configuration file.
2 # Copyright (C) 1997-2015 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.
239 # Currently there are no obsolete targets.
242 if test "x$enable_obsolete" != xyes; then
243 echo "*** Configuration ${target} is obsolete." >&2
244 echo "*** Specify --enable-obsolete to build it anyway." >&2
245 echo "*** Support will be REMOVED in the next major release of GCC," >&2
246 echo "*** unless a maintainer comes forward." >&2
251 # Unsupported targets list. Do not put an entry in this list unless
252 # it would otherwise be caught by a more permissive pattern. The list
253 # should be in alphabetical order.
255 # Avoid special cases that are not obsolete
264 | i[34567]86-go32-* \
265 | i[34567]86-*-go32* \
266 | m68k-*-uclinuxoldabi* \
267 | mips64orion*-*-rtems* \
269 | sparc-hal-solaris2* \
271 | *-*-freebsd[12] | *-*-freebsd[12].* \
272 | *-*-freebsd*aout* \
280 | *-*-solaris2.[0-9] \
281 | *-*-solaris2.[0-9].* \
285 echo "*** Configuration ${target} not supported" 1>&2
290 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
291 # updated in each machine entry. Also set default extra_headers for some
294 cpu_type=`echo ${target} | sed 's/-.*$//'`
299 tmake_file=m32c/t-m32c
300 target_has_targetm_common=no
304 extra_headers="arm_neon.h arm_acle.h"
305 c_target_objs="aarch64-c.o"
306 cxx_target_objs="aarch64-c.o"
307 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o"
308 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
309 target_has_targetm_common=yes
313 extra_options="${extra_options} g.opt"
323 extra_objs="arm-builtins.o aarch-common.o"
324 extra_headers="mmintrin.h arm_neon.h arm_acle.h"
325 target_type_format_char='%'
326 c_target_objs="arm-c.o"
327 cxx_target_objs="arm-c.o"
328 extra_options="${extra_options} arm/arm-tables.opt"
329 target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
333 c_target_objs="avr-c.o"
334 cxx_target_objs="avr-c.o"
343 extra_options="${extra_options} g.opt"
346 target_has_targetm_common=no
348 moxie*) cpu_type=moxie
349 target_has_targetm_common=no
353 extra_headers=math-68881.h
354 extra_options="${extra_options} m68k/m68k-tables.opt"
358 c_target_objs="i386-c.o"
359 cxx_target_objs="i386-c.o"
360 extra_options="${extra_options} fused-madd.opt"
361 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
362 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
363 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
364 immintrin.h x86intrin.h avxintrin.h xopintrin.h
365 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
366 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
367 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
368 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
369 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
370 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
371 shaintrin.h clflushoptintrin.h xsavecintrin.h
372 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
373 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
374 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
375 avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h mwaitxintrin.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 mwaitxintrin.h"
399 extra_headers=ia64intrin.h
400 extra_options="${extra_options} g.opt fused-madd.opt"
406 extra_options="${extra_options} g.opt"
410 extra_options="${extra_options} g.opt"
413 extra_headers=math-68881.h
414 extra_options="${extra_options} m68k/m68k-tables.opt"
418 extra_options="${extra_options} g.opt"
422 extra_headers="loongson.h"
423 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt"
427 extra_headers="nds32_intrinsic.h"
428 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"
432 extra_options="${extra_options} g.opt"
439 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"
441 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500)
445 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
448 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
452 c_target_objs="sparc-c.o"
453 cxx_target_objs="sparc-c.o"
454 extra_headers="visintrin.h"
461 extra_options="${extra_options} fused-madd.opt"
462 extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
464 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
465 sh[123456789lbe]*-*-* | sh-*-*)
467 extra_options="${extra_options} fused-madd.opt"
468 extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
475 extra_headers="c6x_intrinsics.h"
476 extra_options="${extra_options} c6x/c6x-tables.opt"
479 extra_options="${extra_options} fused-madd.opt"
489 tm_file=${cpu_type}/${cpu_type}.h
490 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
492 tm_p_file=${cpu_type}/${cpu_type}-protos.h
495 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
497 extra_modes=${cpu_type}/${cpu_type}-modes.def
499 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
501 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
506 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
509 if test "x$with_multilib_list" = xilp32; then
510 tm_file="aarch64/biarchilp32.h ${tm_file}"
512 tm_file="aarch64/biarchlp64.h ${tm_file}"
516 tm_file="aarch64/biarchilp32.h ${tm_file}"
519 tm_file="aarch64/biarchlp64.h ${tm_file}"
522 echo "Unknown ABI used in --with-abi=$with_abi"
527 if test "x$with_abi" != x; then
528 echo "This target does not support --with-abi."
531 if test "x$enable_cld" = xyes; then
532 tm_defines="${tm_defines} USE_IX86_CLD=1"
534 if test "x$enable_frame_pointer" = xyes; then
535 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
537 tm_file="vxworks-dummy.h ${tm_file}"
542 if test "x$with_multilib_list" = xmx32; then
543 tm_file="i386/biarchx32.h ${tm_file}"
545 tm_file="i386/biarch64.h ${tm_file}"
549 tm_file="i386/biarch64.h ${tm_file}"
552 tm_file="i386/biarchx32.h ${tm_file}"
555 echo "Unknown ABI used in --with-abi=$with_abi"
558 if test "x$enable_cld" = xyes; then
559 tm_defines="${tm_defines} USE_IX86_CLD=1"
561 if test "x$enable_frame_pointer" = xyes; then
562 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
564 tm_file="vxworks-dummy.h ${tm_file}"
567 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
568 tm_file="vxworks-dummy.h ${tm_file}"
570 mips*-*-* | sh*-*-* | sparc*-*-*)
571 tm_file="vxworks-dummy.h ${tm_file}"
575 # On a.out targets, we need to use collect2.
582 # Common C libraries.
583 tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
585 # 32-bit x86 processors supported by --with-arch=. Each processor
586 # MUST be separated by exactly one space.
587 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
588 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
589 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
590 pentium4 pentium4m pentiumpro prescott iamcu"
592 # 64-bit x86 processors supported by --with-arch=. Each processor
593 # MUST be separated by exactly one space.
594 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
595 bdver3 bdver4 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \
596 core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \
597 sandybridge ivybridge haswell broadwell bonnell silvermont knl x86-64 \
600 # Additional x86 processors supported by --with-cpu=. Each processor
601 # MUST be separated by exactly one space.
602 x86_cpus="generic intel"
604 # Common parts for widely ported systems.
607 tmake_file="t-darwin ${cpu_type}/t-darwin"
608 tm_file="${tm_file} darwin.h"
611 tm_file="${tm_file} darwin9.h"
614 tm_file="${tm_file} darwin9.h darwin10.h"
616 *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
617 tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
620 tm_file="${tm_file} ${cpu_type}/darwin.h"
621 tm_p_file="${tm_p_file} darwin-protos.h"
622 target_gtfiles="\$(srcdir)/config/darwin.c"
623 extra_options="${extra_options} darwin.opt"
624 c_target_objs="${c_target_objs} darwin-c.o"
625 cxx_target_objs="${cxx_target_objs} darwin-c.o"
626 fortran_target_objs="darwin-f.o"
627 target_has_targetcm=yes
628 extra_objs="darwin.o"
629 extra_gcc_objs="darwin-driver.o"
630 default_use_cxa_atexit=yes
632 case ${enable_threads} in
633 "" | yes | posix) thread_file='posix' ;;
639 tmake_file="t-slibgcc"
640 case ${enable_threads} in
645 # Let these non-posix thread selections fall through if requested
648 echo 'Unknown thread configuration for DragonFly BSD'
652 extra_options="$extra_options rpath.opt dragonfly.opt"
653 default_use_cxa_atexit=yes
657 # This is the generic ELF configuration of FreeBSD. Later
658 # machine-specific sections may refine and add to this
661 # Due to tm_file entry ordering issues that vary between cpu
662 # architectures, we only define fbsd_tm_file to allow the
663 # machine-specific section to dictate the final order of all
664 # entries of tm_file with the minor exception that components
665 # of the tm_file set here will always be of the form:
667 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
669 # The machine-specific section should not tamper with this
670 # ordering but may order all other entries of tm_file as it
671 # pleases around the provided core setting.
674 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
675 if test "$fbsd_major" = ""; then
676 echo "Specify the major version number of the targeted FreeBSD release"
677 echo "like this: --target=amd64-unknown-freebsd10.1"
680 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
681 tmake_file="t-slibgcc"
682 case ${enable_threads} in
684 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
690 echo 'Unknown thread configuration for FreeBSD'
694 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
695 extra_options="$extra_options rpath.opt freebsd.opt"
700 default_use_cxa_atexit=yes;;
704 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
705 extra_options="$extra_options gnu-user.opt"
708 case ${enable_threads} in
709 "" | yes | posix) thread_file='posix' ;;
711 tmake_file="t-slibgcc"
713 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu)
716 native_system_header_dir=/include
719 # Linux C libraries selection switch: glibc / uclibc / bionic.
720 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
723 tm_p_file="${tm_p_file} linux-protos.h"
724 tmake_file="${tmake_file} t-linux"
725 extra_objs="${extra_objs} linux.o"
726 extra_options="${extra_options} linux.opt"
731 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
734 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
737 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
740 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
743 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
745 default_use_cxa_atexit=yes
748 # Enable compilation for Android by default for *android* targets.
751 tm_defines="$tm_defines ANDROID_DEFAULT=1"
754 tm_defines="$tm_defines ANDROID_DEFAULT=0"
757 c_target_objs="${c_target_objs} glibc-c.o"
758 cxx_target_objs="${cxx_target_objs} glibc-c.o"
759 tmake_file="${tmake_file} t-glibc"
760 target_has_targetcm=yes
763 tmake_file="t-slibgcc"
767 # NetBSD 2.0 and later get POSIX threads enabled by default.
768 # Allow them to be explicitly enabled on any other version.
769 case ${enable_threads} in
772 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
774 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
780 tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
784 # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
785 # default (unless overridden by --disable-__cxa_atexit).
787 *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
788 default_use_cxa_atexit=yes
793 tmake_file="t-openbsd"
794 case ${enable_threads} in
800 *-*-openbsd2.*|*-*-openbsd3.[012])
801 tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
804 *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
805 default_use_cxa_atexit=yes
810 case ${enable_threads} in
811 "" | yes | rtems) thread_file='rtems' ;;
812 posix) thread_file='posix' ;;
815 echo 'Unknown thread configuration for RTEMS'
819 tmake_file="${tmake_file} t-rtems"
820 extra_options="${extra_options} rtems.opt"
821 default_use_cxa_atexit=yes
825 extra_options="$extra_options gnu-user.opt"
827 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
833 # i?86-*-solaris2* needs to insert headers between cpu default and
834 # Solaris 2 specific ones.
835 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
836 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
837 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
839 if test x$gnu_ld = xyes; then
840 tm_file="usegld.h ${tm_file}"
842 if test x$gas = xyes; then
843 tm_file="usegas.h ${tm_file}"
845 tm_p_file="${tm_p_file} sol2-protos.h"
846 tmake_file="${tmake_file} t-sol2 t-slibgcc"
847 c_target_objs="${c_target_objs} sol2-c.o"
848 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
849 extra_objs="sol2.o sol2-stubs.o"
850 extra_options="${extra_options} sol2.opt"
851 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
852 "":yes:* | yes:yes:* )
858 extra_options="${extra_options} vms/vms.opt"
860 tmake_file="vms/t-vms t-slibgcc"
862 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
863 tm_p_file="${tm_p_file} vms/vms-protos.h"
864 xm_file="vms/xm-vms.h"
865 c_target_objs="vms-c.o"
866 cxx_target_objs="vms-c.o"
867 fortran_target_objs="vms-f.o"
868 use_gcc_stdint=provide
869 tm_file="${tm_file} vms/vms-stdint.h"
870 if test x$gnu_ld != xyes; then
871 # Build wrappers for native case.
872 extra_programs="ld\$(exeext) ar\$(exeext)"
873 tmake_file="$tmake_file vms/t-vmsnative"
879 extra_options="${extra_options} vxworks.opt"
880 extra_objs="$extra_objs vxworks.o"
881 case ${enable_threads} in
883 "" | yes | vxworks) thread_file='vxworks' ;;
884 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
888 # Assume that newlib is being used and so __cxa_atexit is provided.
889 default_use_cxa_atexit=yes
896 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
897 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
898 tmake_file="${tmake_file} aarch64/t-aarch64"
902 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
905 aarch64_multilibs="${with_multilib_list}"
906 if test "$aarch64_multilibs" = "default"; then
907 aarch64_multilibs="lp64,ilp32"
909 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
910 for aarch64_multilib in ${aarch64_multilibs}; do
911 case ${aarch64_multilib} in
913 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
916 echo "--with-multilib-list=${aarch64_multilib} not supported."
920 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
923 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
924 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
925 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
928 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
931 aarch64_multilibs="${with_multilib_list}"
932 if test "$aarch64_multilibs" = "default"; then
933 # TODO: turn on ILP32 multilib build after its support is mature.
934 # aarch64_multilibs="lp64,ilp32"
935 aarch64_multilibs="lp64"
937 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
938 for aarch64_multilib in ${aarch64_multilibs}; do
939 case ${aarch64_multilib} in
941 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
944 echo "--with-multilib-list=${aarch64_multilib} not supported."
948 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
951 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
952 tmake_file="${tmake_file} alpha/t-linux"
953 extra_options="${extra_options} alpha/elf.opt"
956 tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
957 extra_options="${extra_options} alpha/elf.opt"
960 tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
961 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
965 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
966 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
967 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
968 # default x-alpha is only appropriate for dec-osf.
971 tm_file="${tm_file} vms/vms.h alpha/vms.h"
972 tmake_file="${tmake_file} alpha/t-vms"
975 extra_headers="arc-simd.h"
976 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
977 tmake_file="arc/t-arc-newlib arc/t-arc"
978 case x"${with_cpu}" in
979 xarc600|xarc601|xarc700)
980 target_cpu_default="TARGET_CPU_$with_cpu"
983 if test x${with_endian} = x; then
985 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
986 *) with_endian=little ;;
989 case ${with_endian} in
991 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
993 case ${with_endian} in
994 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
997 arc*-*-linux-uclibc*)
998 extra_headers="arc-simd.h"
999 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}"
1000 tmake_file="${tmake_file} arc/t-arc-uClibc arc/t-arc"
1001 tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0"
1002 tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1"
1003 case x"${with_cpu}" in
1004 xarc600|xarc601|xarc700)
1005 target_cpu_default="TARGET_CPU_$with_cpu"
1008 if test x${with_endian} = x; then
1010 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1011 *) with_endian=little ;;
1014 case ${with_endian} in
1016 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1018 case ${with_endian} in
1019 big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1023 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1024 extra_options="${extra_options} arm/vxworks.opt"
1025 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1027 arm*-*-freebsd*) # ARM FreeBSD EABI
1028 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1031 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1034 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1035 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1038 tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
1043 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1046 with_tls=${with_tls:-gnu}
1049 tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1050 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1051 tmake_file="${tmake_file} arm/t-arm"
1053 arm*-*-linux-*) # ARM GNU/Linux with ELF
1054 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"
1055 extra_options="${extra_options} linux-android.opt"
1058 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1061 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1062 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1063 # Define multilib configuration for arm-linux-androideabi.
1066 tmake_file="$tmake_file arm/t-linux-androideabi"
1069 # The EABI requires the use of __cxa_atexit.
1070 default_use_cxa_atexit=yes
1071 with_tls=${with_tls:-gnu}
1073 arm*-*-uclinux*eabi*) # ARM ucLinux
1074 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1075 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1076 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1077 # The EABI requires the use of __cxa_atexit.
1078 default_use_cxa_atexit=yes
1080 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
1083 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1085 default_use_cxa_atexit=yes
1086 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1087 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1090 tm_file="$tm_file newlib-stdint.h"
1091 tmake_file="${tmake_file} arm/t-bpabi"
1095 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1096 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1099 tm_file="${tm_file} arm/symbian.h"
1100 # We do not include t-bpabi for Symbian OS because the system
1101 # provides its own implementation of the BPABI functions.
1102 tmake_file="${tmake_file} arm/t-symbian"
1105 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
1108 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/rtems.h rtems.h newlib-stdint.h"
1109 tm_defines="${tm_defines} WITH_RTEMS"
1110 tmake_file="${tmake_file} avr/t-avr avr/t-multilib avr/t-rtems"
1111 extra_gcc_objs="driver-avr.o avr-devices.o"
1112 extra_objs="avr-devices.o avr-log.o"
1115 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1116 if test x${with_avrlibc} != xno; then
1117 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1118 tm_defines="${tm_defines} WITH_AVRLIBC"
1120 tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1122 extra_gcc_objs="driver-avr.o avr-devices.o"
1123 extra_objs="avr-devices.o avr-log.o"
1126 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1127 tmake_file=bfin/t-bfin-elf
1131 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1132 tmake_file=bfin/t-bfin-uclinux
1135 bfin*-linux-uclibc*)
1136 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"
1137 tmake_file="${tmake_file} bfin/t-bfin-linux"
1141 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1142 tmake_file="${tmake_file} bfin/t-rtems"
1145 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1150 tm_file="elfos.h ${tm_file}"
1151 tmake_file="${tmake_file} cr16/t-cr16 "
1154 crisv32-*-elf | crisv32-*-none)
1155 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1156 tmake_file="cris/t-cris"
1157 target_cpu_default=32
1159 extra_options="${extra_options} cris/elf.opt"
1162 cris-*-elf | cris-*-none)
1163 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1164 tmake_file="cris/t-cris cris/t-elfmulti"
1166 extra_options="${extra_options} cris/elf.opt"
1169 crisv32-*-linux* | cris-*-linux*)
1170 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1171 tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1172 extra_options="${extra_options} cris/linux.opt"
1175 target_cpu_default=10
1178 target_cpu_default=32
1183 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1184 tmake_file="epiphany/t-epiphany"
1185 extra_options="${extra_options} fused-madd.opt"
1186 extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
1187 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1188 extra_headers="epiphany_intrinsics.h"
1191 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1194 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1195 tmake_file=frv/t-frv
1198 tm_file="dbxelf.h elfos.h ${tm_file} \
1199 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1200 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1205 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1206 tmake_file="${tmake_file} ft32/t-ft32"
1211 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1212 tmake_file="${tmake_file} moxie/t-moxie"
1217 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1218 tmake_file="${tmake_file} moxie/t-moxie"
1221 tmake_file="${tmake_file} moxie/t-moxie"
1222 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1227 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1228 tmake_file="${tmake_file} moxie/t-moxiebox"
1231 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-rtems"
1232 tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h newlib-stdint.h"
1235 tmake_file="h8300/t-h8300"
1236 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1239 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1240 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1243 target_cpu_default="MASK_PA_11|MASK_PA_20"
1244 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1245 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1250 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
1251 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1252 pa/pa32-regs.h pa/pa32-linux.h"
1253 tmake_file="${tmake_file} pa/t-linux"
1256 target_cpu_default="MASK_PA_11"
1257 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1258 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1259 extra_options="${extra_options} openbsd.opt"
1263 hppa[12]*-*-hpux10*)
1265 hppa1.1-*-* | hppa2*-*-*)
1266 target_cpu_default="MASK_PA_11"
1269 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1270 pa/pa-hpux.h pa/pa-hpux10.h"
1271 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1274 tm_file="${tm_file} pa/pa-hpux1010.h"
1275 extra_options="${extra_options} pa/pa-hpux1010.opt"
1278 use_gcc_stdint=provide
1279 tm_file="${tm_file} hpux-stdint.h"
1280 tmake_file="t-slibgcc"
1281 case ${enable_threads} in
1283 if test x$have_pthread_h = xyes ; then
1284 tmake_file="${tmake_file} pa/t-dce-thr"
1288 tmake_file="${tmake_file} pa/t-dce-thr"
1293 if test "x$with_dwarf2" != x; then
1294 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1299 target_cpu_default="MASK_PA_11|MASK_PA_20"
1300 if test x$gnu_ld = xyes
1302 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1304 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1305 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1309 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1310 extra_options="${extra_options} pa/pa-hpux1111.opt"
1313 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1314 extra_options="${extra_options} pa/pa-hpux1131.opt"
1317 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1320 extra_options="${extra_options} pa/pa-hpux.opt \
1321 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1322 tmake_file="t-slibgcc"
1323 case x${enable_threads} in
1331 use_gcc_stdint=provide
1332 tm_file="${tm_file} hpux-stdint.h"
1336 tm_file="${tm_file} hpux-stdint.h"
1340 hppa[12]*-*-hpux11*)
1342 hppa1.1-*-* | hppa2*-*-*)
1343 target_cpu_default="MASK_PA_11"
1346 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1347 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1348 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1352 tm_file="${tm_file} pa/pa-hpux1111.h"
1353 extra_options="${extra_options} pa/pa-hpux1111.opt"
1356 tm_file="${tm_file} pa/pa-hpux1131.h"
1357 extra_options="${extra_options} pa/pa-hpux1131.opt"
1360 tmake_file="t-slibgcc"
1361 case x${enable_threads} in
1370 use_gcc_stdint=provide
1371 tm_file="${tm_file} hpux-stdint.h"
1375 tm_file="${tm_file} hpux-stdint.h"
1378 if test "x$with_dwarf2" != x; then
1379 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1383 i[34567]86-*-darwin*)
1385 # Baseline choice for a machine that allows m64 support.
1386 with_cpu=${with_cpu:-core2}
1387 tmake_file="${tmake_file} t-slibgcc"
1390 with_cpu=${with_cpu:-core2}
1391 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1392 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1394 i[34567]86-*-elfiamcu)
1395 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
1398 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1401 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1404 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1407 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"
1408 tmake_file="i386/t-i386elf t-svr4"
1410 i[34567]86-*-dragonfly*)
1411 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1412 tmake_file="${tmake_file} i386/t-crtstuff"
1414 x86_64-*-dragonfly*)
1415 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"
1416 tmake_file="${tmake_file} i386/t-crtstuff"
1418 i[34567]86-*-freebsd*)
1419 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1422 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"
1424 i[34567]86-*-netbsdelf*)
1425 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
1426 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1429 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"
1430 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1432 i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
1433 tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
1434 extra_options="${extra_options} openbsd.opt"
1435 # needed to unconfuse gdb
1436 tmake_file="${tmake_file} t-openbsd i386/t-openbsd"
1437 # we need collect2 until our bug is fixed...
1440 i[34567]86-*-openbsd*)
1441 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1442 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1443 extra_options="${extra_options} openbsd.opt"
1448 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1449 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1450 extra_options="${extra_options} openbsd.opt"
1454 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1455 # Intel 80386's running GNU/*
1456 # with ELF format using glibc 2
1457 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1459 i[34567]86-*-linux*)
1460 tm_file="${tm_file} linux.h linux-android.h"
1461 extra_options="${extra_options} linux-android.opt"
1462 # Assume modern glibc if not targeting Android nor uclibc.
1464 *-*-*android*|*-*-*uclibc*)
1467 default_gnu_indirect_function=yes
1470 if test x$enable_targets = xall; then
1471 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1472 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1473 tmake_file="${tmake_file} i386/t-linux64"
1474 x86_multilibs="${with_multilib_list}"
1475 if test "$x86_multilibs" = "default"; then
1476 x86_multilibs="m64,m32"
1478 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1479 for x86_multilib in ${x86_multilibs}; do
1480 case ${x86_multilib} in
1482 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1485 echo "--with-multilib-list=${x86_with_multilib} not supported."
1489 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1491 if test x$with_cpu = x; then
1492 if test x$with_cpu_64 = x; then
1496 case " $x86_cpus $x86_archs $x86_64_archs " in
1500 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1501 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1507 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1510 i[34567]86-*-knetbsd*-gnu)
1511 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h knetbsd-gnu.h i386/knetbsd-gnu.h"
1513 i[34567]86-*-kfreebsd*-gnu)
1514 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1516 i[34567]86-*-kopensolaris*-gnu)
1517 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1520 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1524 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
1525 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1526 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1529 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1530 extra_options="${extra_options} linux-android.opt"
1531 # Assume modern glibc if not targeting Android nor uclibc.
1533 *-*-*android*|*-*-*uclibc*)
1536 default_gnu_indirect_function=yes
1540 x86_64-*-kfreebsd*-gnu)
1541 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1543 x86_64-*-knetbsd*-gnu)
1544 tm_file="${tm_file} knetbsd-gnu.h i386/knetbsd-gnu64.h"
1547 tmake_file="${tmake_file} i386/t-linux64"
1548 x86_multilibs="${with_multilib_list}"
1549 if test "$x86_multilibs" = "default"; then
1552 x86_multilibs="mx32"
1555 x86_multilibs="m64,m32"
1559 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1560 for x86_multilib in ${x86_multilibs}; do
1561 case ${x86_multilib} in
1563 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1566 echo "--with-multilib-list=${x86_with_multilib} not supported."
1570 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1572 i[34567]86-pc-msdosdjgpp*)
1573 xm_file=i386/xm-djgpp.h
1574 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1575 native_system_header_dir=/dev/env/DJDIR/include
1576 extra_options="${extra_options} i386/djgpp.opt"
1581 i[34567]86-*-lynxos*)
1583 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1584 tmake_file="${tmake_file} t-lynx"
1585 extra_options="${extra_options} lynx.opt"
1590 i[34567]86-*-nto-qnx*)
1591 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1592 extra_options="${extra_options} i386/nto.opt"
1596 i[34567]86-*-rtems*)
1597 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"
1598 tmake_file="${tmake_file} i386/t-rtems"
1600 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1601 # Set default arch_32 to pentium4, tune_32 to generic like the other
1602 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1603 with_arch_32=${with_arch_32:-pentium4}
1604 with_tune_32=${with_tune_32:-generic}
1605 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1606 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1607 tmake_file="$tmake_file i386/t-sol2"
1609 if test x$with_cpu = x; then
1610 if test x$with_cpu_64 = x; then
1614 case " $x86_cpus $x86_archs $x86_64_archs " in
1618 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1619 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1625 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
1626 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
1629 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1630 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1633 tm_file="${tm_file} vxworks.h i386/vxworks.h"
1634 tmake_file="${tmake_file} i386/t-vxworks"
1638 i[34567]86-*-cygwin*)
1639 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"
1640 xm_file=i386/xm-cygwin.h
1641 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1642 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1643 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1644 extra_objs="winnt.o winnt-stubs.o"
1645 c_target_objs="${c_target_objs} msformat-c.o"
1646 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1647 if test x$enable_threads = xyes; then
1650 default_use_cxa_atexit=yes
1655 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"
1656 xm_file=i386/xm-cygwin.h
1657 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1658 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1659 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1660 extra_objs="winnt.o winnt-stubs.o"
1661 c_target_objs="${c_target_objs} msformat-c.o"
1662 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1663 if test x$enable_threads = xyes; then
1666 default_use_cxa_atexit=yes
1668 tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1670 i[34567]86-*-mingw* | x86_64-*-mingw*)
1671 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1672 xm_file=i386/xm-mingw32.h
1673 c_target_objs="${c_target_objs} winnt-c.o"
1674 cxx_target_objs="${cxx_target_objs} winnt-c.o"
1675 target_has_targetcm="yes"
1677 x86_64-*-* | *-w64-*)
1683 if test x$enable_threads = xposix ; then
1684 tm_file="${tm_file} i386/mingw-pthread.h"
1686 tm_file="${tm_file} i386/mingw32.h"
1687 # This makes the logic if mingw's or the w64 feature set has to be used
1690 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1691 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1692 tm_file="${tm_file} i386/mingw-w64.h"
1693 if test x$enable_targets = xall; then
1694 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1695 if test x$with_cpu = x; then
1696 if test x$with_cpu_64 = x; then
1700 case " $x86_cpus $x86_archs $x86_64_archs " in
1704 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1705 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1715 tm_file="${tm_file} i386/mingw-stdint.h"
1716 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1719 tmake_file="${tmake_file} i386/t-mingw-w64"
1722 tmake_file="${tmake_file} i386/t-mingw-w32"
1725 native_system_header_dir=/mingw/include
1726 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1727 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1730 extra_options="${extra_options} i386/mingw-w64.opt"
1735 extra_objs="winnt.o winnt-stubs.o"
1736 c_target_objs="${c_target_objs} msformat-c.o"
1737 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1740 default_use_cxa_atexit=yes
1742 case ${enable_threads} in
1752 tm_file="${tm_file} i386/crtdll.h"
1754 *mingw32msv* | *mingw*)
1758 i[34567]86-*-interix[3-9]*)
1759 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h"
1760 tmake_file="${tmake_file} i386/t-interix"
1761 extra_options="${extra_options} rpath.opt i386/interix.opt"
1762 extra_objs="winnt.o winnt-stubs.o"
1763 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1764 if test x$enable_threads = xyes ; then
1767 if test x$stabs = xyes ; then
1768 tm_file="${tm_file} dbxcoff.h"
1772 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1773 tmake_file="ia64/t-ia64"
1774 target_cpu_default="0"
1775 if test x$gas = xyes
1777 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1779 if test x$gnu_ld = xyes
1781 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1785 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1786 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1787 tmake_file="${tmake_file} ia64/t-ia64"
1790 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1791 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1792 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1795 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1796 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1797 target_cpu_default="MASK_GNU_AS"
1798 case x$enable_threads in
1804 c_target_objs="ia64-c.o"
1805 cxx_target_objs="ia64-c.o"
1806 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
1808 tm_file="${tm_file} hpux-stdint.h"
1811 tm_file="${tm_file} ia64/hpux-unix2003.h"
1816 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1817 tmake_file="${tmake_file} ia64/t-ia64"
1818 target_cpu_default="0"
1819 if test x$gas = xyes
1821 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1823 extra_options="${extra_options} ia64/vms.opt"
1826 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
1827 out_file=iq2000/iq2000.c
1828 md_file=iq2000/iq2000.md
1831 tm_file="dbxelf.h elfos.h ${tm_file}"
1832 tmake_file="${tmake_file} lm32/t-lm32"
1835 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
1836 tmake_file="${tmake_file} lm32/t-lm32"
1837 tmake_file="${tmake_file} lm32/t-rtems"
1840 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
1841 tmake_file="${tmake_file} lm32/t-lm32"
1844 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1847 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
1850 tm_file="dbxelf.h elfos.h ${tm_file} m32r/rtems.h rtems.h newlib-stdint.h"
1851 tmake_file="${tmake_file} m32r/t-m32r"
1854 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
1855 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1857 if test x$enable_threads = xyes; then
1862 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
1863 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1865 if test x$enable_threads = xyes; then
1869 m68k-*-elf* | fido-*-elf*)
1872 # Check that $with_cpu makes sense.
1877 echo "Cannot accept --with-cpu=$with_cpu"
1884 default_m68k_cpu=68020
1888 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"
1889 tm_defines="${tm_defines} MOTOROLA=1"
1890 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1891 # Add multilibs for targets other than fido.
1896 tmake_file="$tmake_file m68k/t-mlibs"
1901 default_m68k_cpu=68020
1903 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1904 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1905 tm_defines="${tm_defines} MOTOROLA=1"
1908 default_m68k_cpu=68020
1910 # needed to unconfuse gdb
1911 tm_defines="${tm_defines} OBSD_OLD_GAS"
1912 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
1913 extra_options="${extra_options} openbsd.opt"
1914 tmake_file="t-openbsd m68k/t-openbsd"
1915 # we need collect2 until our bug is fixed...
1918 m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
1919 # with uClibc, using the new GNU/Linux-style
1921 default_m68k_cpu=68020
1923 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"
1924 extra_options="${extra_options} m68k/uclinux.opt"
1925 tm_defines="${tm_defines} MOTOROLA=1"
1926 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
1928 m68k-*-linux*) # Motorola m68k's running GNU/Linux
1929 # with ELF format using glibc 2
1930 # aka the GNU/Linux C library 6.
1931 default_m68k_cpu=68020
1933 with_arch=${with_arch:-m68k}
1934 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
1935 extra_options="${extra_options} m68k/ieee.opt"
1936 tm_defines="${tm_defines} MOTOROLA=1"
1937 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
1940 default_m68k_cpu=68020
1942 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
1943 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"
1944 tm_defines="${tm_defines} MOTOROLA=1"
1947 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
1948 tmake_file=mcore/t-mcore
1952 tm_file="dbxelf.h elfos.h ${tm_file}"
1953 tmake_file=mep/t-mep
1954 c_target_objs="mep-pragma.o"
1955 cxx_target_objs="mep-pragma.o"
1956 if test -d "${srcdir}/../newlib/libc/include" &&
1957 test "x$with_headers" = x; then
1965 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1968 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1971 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
1972 tm_file="${tm_file} glibc-stdint.h"
1973 c_target_objs="${c_target_objs} microblaze-c.o"
1974 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1975 tmake_file="${tmake_file} microblaze/t-microblaze"
1976 tmake_file="${tmake_file} microblaze/t-microblaze-linux"
1978 microblaze*-*-rtems*)
1981 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1984 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1987 tm_file="${tm_file} dbxelf.h"
1988 tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
1989 c_target_objs="${c_target_objs} microblaze-c.o"
1990 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1991 tmake_file="${tmake_file} microblaze/t-microblaze"
1992 tmake_file="${tmake_file} microblaze/t-rtems"
1997 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2000 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2003 tm_file="${tm_file} dbxelf.h newlib-stdint.h"
2004 c_target_objs="${c_target_objs} microblaze-c.o"
2005 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2006 tmake_file="${tmake_file} microblaze/t-microblaze"
2008 mips*-*-netbsd*) # NetBSD/mips, either endian.
2009 target_cpu_default="MASK_ABICALLS"
2010 tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
2011 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2014 tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h"
2015 extra_options="${extra_options} linux-android.opt"
2016 tmake_file="${tmake_file} mips/t-img-linux"
2017 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2022 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"
2023 extra_options="${extra_options} linux-android.opt"
2024 tmake_file="${tmake_file} mips/t-mti-linux"
2025 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2029 mips*-*-linux*) # Linux MIPS, either endian.
2030 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"
2031 extra_options="${extra_options} linux-android.opt"
2034 default_mips_arch=mips32r6
2037 default_mips_arch=mips32r2
2040 default_mips_arch=mips32
2042 mips64el-st-linux-gnu)
2043 default_mips_abi=n32
2044 tm_file="${tm_file} mips/st.h"
2045 tmake_file="${tmake_file} mips/t-st"
2046 enable_mips_multilibs="yes"
2048 mips64octeon*-*-linux*)
2049 default_mips_abi=n32
2050 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2051 target_cpu_default=MASK_SOFT_FLOAT_ABI
2052 enable_mips_multilibs="yes"
2054 mipsisa64r6*-*-linux*)
2055 default_mips_abi=n32
2056 default_mips_arch=mips64r6
2057 enable_mips_multilibs="yes"
2059 mipsisa64r2*-*-linux*)
2060 default_mips_abi=n32
2061 default_mips_arch=mips64r2
2062 enable_mips_multilibs="yes"
2064 mips64*-*-linux* | mipsisa64*-*-linux*)
2065 default_mips_abi=n32
2066 enable_mips_multilibs="yes"
2069 if test x$enable_targets = xall; then
2070 enable_mips_multilibs="yes"
2072 if test x$enable_mips_multilibs = xyes; then
2073 tmake_file="${tmake_file} mips/t-linux64"
2077 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2078 tmake_file="mips/t-mti-elf"
2079 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2082 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2083 tmake_file="mips/t-img-elf"
2084 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2087 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2088 tmake_file="mips/t-sde"
2089 extra_options="${extra_options} mips/sde.opt"
2090 case "${with_newlib}" in
2092 # newlib / libgloss.
2095 # MIPS toolkit libraries.
2096 tm_file="$tm_file mips/sdemtk.h"
2097 tmake_file="$tmake_file mips/t-sdemtk"
2098 case ${enable_threads} in
2100 thread_file='mipssde'
2107 tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2110 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2113 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2116 tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2119 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2122 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2126 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2127 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2128 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2129 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2130 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2131 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2132 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2133 tmake_file="mips/t-isa3264"
2136 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2139 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2142 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2145 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2148 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2151 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2155 mipsisa32*-*-elfoabi*)
2156 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2157 tm_file="${tm_file} mips/elfoabi.h"
2159 mipsisa64*-*-elfoabi*)
2160 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2161 tm_file="${tm_file} mips/elfoabi.h"
2164 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2168 mipsisa64sr71k-*-elf*)
2169 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2170 tmake_file=mips/t-sr71k
2171 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2173 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2174 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2175 tmake_file="mips/t-elf mips/t-sb1"
2176 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2178 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2179 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2180 tmake_file="mips/t-elf"
2182 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2183 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2184 tmake_file="mips/t-elf"
2185 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2187 mips64-*-elf* | mips64el-*-elf*)
2188 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2189 tmake_file="mips/t-elf"
2190 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2192 mips64vr-*-elf* | mips64vrel-*-elf*)
2193 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2194 tmake_file=mips/t-vr
2195 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2197 mips64orion-*-elf* | mips64orionel-*-elf*)
2198 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2199 tmake_file="mips/t-elf"
2200 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2203 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2204 tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2207 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2208 tmake_file="${tmake_file} mips/t-vxworks"
2210 mipstx39-*-elf* | mipstx39el-*-elf*)
2211 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2212 tmake_file="mips/t-r3900"
2214 mmix-knuth-mmixware)
2215 tm_file="${tm_file} newlib-stdint.h"
2219 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2220 if test x$stabs = xyes
2222 tm_file="${tm_file} dbx.h"
2228 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2229 c_target_objs="msp430-c.o"
2230 cxx_target_objs="msp430-c.o"
2231 tmake_file="${tmake_file} msp430/t-msp430"
2234 target_cpu_default="0"
2235 tm_defines="${tm_defines}"
2236 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2237 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2240 target_cpu_default="0|MASK_BIG_ENDIAN"
2241 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2242 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2243 tmake_file="nds32/t-nds32 nds32/t-mlibs"
2246 tm_file="elfos.h ${tm_file}"
2247 tmake_file="${tmake_file} nios2/t-nios2"
2250 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2253 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2254 extra_options="${extra_options} nios2/elf.opt"
2257 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2258 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2263 tm_file="${tm_file} newlib-stdint.h"
2264 tmake_file="nvptx/t-nvptx"
2265 if test x$enable_as_accelerator = xyes; then
2266 extra_programs="${extra_programs} mkoffload\$(exeext)"
2267 tm_file="${tm_file} nvptx/offload.h"
2271 tm_file="${tm_file} newlib-stdint.h"
2274 # port not yet contributed
2275 #powerpc-*-openbsd*)
2276 # tmake_file="${tmake_file} rs6000/t-fprules"
2280 extra_options="${extra_options} rs6000/darwin.opt"
2282 *-darwin1[0-9]* | *-darwin[8-9]*)
2283 tmake_file="${tmake_file} rs6000/t-darwin8"
2284 tm_file="${tm_file} rs6000/darwin8.h"
2287 tm_file="${tm_file} rs6000/darwin7.h"
2292 tmake_file="${tmake_file} t-slibgcc"
2293 extra_headers=altivec.h
2295 powerpc64-*-darwin*)
2296 extra_options="${extra_options} ${cpu_type}/darwin.opt"
2297 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
2298 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
2299 extra_headers=altivec.h
2301 powerpc*-*-freebsd*)
2302 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
2303 extra_options="${extra_options} rs6000/sysv4.opt"
2304 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2307 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2308 tmake_file="${tmake_file} rs6000/t-freebsd64"
2309 extra_options="${extra_options} rs6000/linux64.opt"
2312 tm_file="${tm_file} rs6000/freebsd.h"
2317 tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2318 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2319 tmake_file="${tmake_file} rs6000/t-netbsd"
2320 extra_options="${extra_options} rs6000/sysv4.opt"
2323 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"
2324 extra_options="${extra_options} rs6000/sysv4.opt"
2325 tmake_file="rs6000/t-spe rs6000/t-ppccomm"
2328 powerpc-*-eabisimaltivec*)
2329 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"
2330 extra_options="${extra_options} rs6000/sysv4.opt"
2331 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2335 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"
2336 extra_options="${extra_options} rs6000/sysv4.opt"
2337 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2341 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2342 extra_options="${extra_options} rs6000/sysv4.opt"
2343 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2345 powerpc-*-eabialtivec*)
2346 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"
2347 extra_options="${extra_options} rs6000/sysv4.opt"
2348 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2351 powerpc-xilinx-eabi*)
2352 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"
2353 extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
2354 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
2358 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"
2359 extra_options="${extra_options} rs6000/sysv4.opt"
2360 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2364 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"
2365 extra_options="${extra_options} rs6000/sysv4.opt"
2366 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2369 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2370 extra_options="${extra_options} rs6000/sysv4.opt"
2371 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2372 extra_objs="$extra_objs rs6000-linux.o"
2375 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2377 case ${target}:${with_cpu} in
2378 powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2380 maybe_biarch=${cpu_is_64bit}
2381 case ${enable_targets} in
2382 *powerpc64*) maybe_biarch=yes ;;
2383 all) maybe_biarch=yes ;;
2386 powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
2387 echo "*** Configuration ${target} not supported" 1>&2
2390 powerpc*-*-linux*spe* | powerpc*-*-linux*paired*)
2394 case ${target}:${enable_targets}:${maybe_biarch} in
2395 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2396 | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2397 | powerpcle-*:*powerpc64le*:yes)
2398 if test x$cpu_is_64bit = xyes; then
2399 tm_file="${tm_file} rs6000/default64.h"
2401 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2402 tmake_file="$tmake_file rs6000/t-linux64"
2405 tmake_file="$tmake_file rs6000/t-linux64le"
2406 case ${enable_targets} in
2407 all | *powerpc64-* | *powerpc-*)
2408 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2411 case ${enable_targets} in
2412 all | *powerpc64le-* | *powerpcle-*)
2413 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2416 extra_options="${extra_options} rs6000/linux64.opt"
2419 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2420 extra_options="${extra_options} rs6000/linux64.opt"
2421 tmake_file="${tmake_file} rs6000/t-linux"
2424 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2425 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2429 powerpc*-*-linux*ppc476*)
2430 tm_file="${tm_file} rs6000/476.h"
2431 extra_options="${extra_options} rs6000/476.opt" ;;
2432 powerpc*-*-linux*altivec*)
2433 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2434 powerpc*-*-linux*spe*)
2435 tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;;
2436 powerpc*-*-linux*paired*)
2437 tm_file="${tm_file} rs6000/750cl.h" ;;
2439 if test x${enable_secureplt} = xyes; then
2440 tm_file="rs6000/secureplt.h ${tm_file}"
2443 powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
2444 tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
2445 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2446 extra_options="${extra_options} rs6000/sysv4.opt"
2447 extra_headers=ppc-asm.h
2450 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
2451 tmake_file="${tmake_file} rs6000/t-vxworksmils"
2454 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
2455 tmake_file="${tmake_file} rs6000/t-vxworksae"
2458 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
2464 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2465 tmake_file="t-lynx rs6000/t-lynx"
2466 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2472 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2473 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2474 extra_options="${extra_options} rs6000/sysv4.opt"
2476 powerpcle-*-eabisim*)
2477 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"
2478 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2479 extra_options="${extra_options} rs6000/sysv4.opt"
2483 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"
2484 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2485 extra_options="${extra_options} rs6000/sysv4.opt"
2488 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2489 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
2490 tmake_file="rs6000/t-aix43 t-slibgcc"
2491 extra_options="${extra_options} rs6000/aix64.opt"
2494 use_gcc_stdint=provide
2497 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
2498 tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
2499 extra_options="${extra_options} rs6000/aix64.opt"
2500 tmake_file="rs6000/t-aix43 t-slibgcc"
2506 rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
2507 tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
2508 tmake_file="rs6000/t-aix52 t-slibgcc"
2509 extra_options="${extra_options} rs6000/aix64.opt"
2515 rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
2516 tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
2517 tmake_file="rs6000/t-aix52 t-slibgcc"
2518 extra_options="${extra_options} rs6000/aix64.opt"
2522 extra_headers=altivec.h
2524 rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
2525 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2526 tmake_file="rs6000/t-aix52 t-slibgcc"
2527 extra_options="${extra_options} rs6000/aix64.opt"
2531 extra_headers=altivec.h
2534 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2535 target_has_targetm_common=no
2536 c_target_objs="rl78-c.o"
2537 cxx_target_objs="rl78-c.o"
2538 tmake_file="${tmake_file} rl78/t-rl78"
2541 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2542 tmake_file="${tmake_file} rx/t-rx"
2545 default_gnu_indirect_function=yes
2546 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2547 c_target_objs="${c_target_objs} s390-c.o"
2548 cxx_target_objs="${cxx_target_objs} s390-c.o"
2549 if test x$enable_targets = xall; then
2550 tmake_file="${tmake_file} s390/t-linux64"
2552 tmake_file="${tmake_file} s390/t-s390"
2555 default_gnu_indirect_function=yes
2556 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2557 tm_p_file="linux-protos.h s390/s390-protos.h"
2558 c_target_objs="${c_target_objs} s390-c.o"
2559 cxx_target_objs="${cxx_target_objs} s390-c.o"
2560 md_file=s390/s390.md
2561 extra_modes=s390/s390-modes.def
2562 out_file=s390/s390.c
2563 tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
2566 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2567 tm_p_file=s390/s390-protos.h
2568 c_target_objs="${c_target_objs} s390-c.o"
2569 cxx_target_objs="${cxx_target_objs} s390-c.o"
2570 md_file=s390/s390.md
2571 extra_modes=s390/s390-modes.def
2572 out_file=s390/s390.c
2574 extra_options="${extra_options} s390/tpf.opt"
2575 tmake_file="${tmake_file} s390/t-s390"
2577 sh-*-elf* | sh[12346l]*-*-elf* | \
2578 sh-*-linux* | sh[2346lbe]*-*-linux* | \
2579 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
2580 sh64-*-netbsd* | sh64l*-*-netbsd*)
2581 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2582 if test x${with_endian} = x; then
2584 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2585 shbe-*-* | sheb-*-*) with_endian=big,little ;;
2586 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
2587 shl* | sh64l* | sh*-*-linux* | \
2588 sh5l* | sh-superh-elf) with_endian=little,big ;;
2589 sh[1234]*-*-*) with_endian=big ;;
2590 *) with_endian=big,little ;;
2593 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2594 # First word : the default endian.
2595 # Second word: the secondary endian (optional).
2596 case ${with_endian} in
2597 big) TM_ENDIAN_CONFIG=mb ;;
2598 little) TM_ENDIAN_CONFIG=ml ;;
2599 big,little) TM_ENDIAN_CONFIG="mb ml" ;;
2600 little,big) TM_ENDIAN_CONFIG="ml mb" ;;
2601 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
2603 case ${with_endian} in
2604 little*) tm_file="sh/little.h ${tm_file}" ;;
2606 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2608 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
2609 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2611 tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h"
2612 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2615 sh*-superh-elf) if test x$with_libgloss != xno; then
2617 tm_file="${tm_file} sh/newlib.h"
2619 tm_file="${tm_file} sh/embed-elf.h"
2620 tm_file="${tm_file} sh/superh.h"
2621 extra_options="${extra_options} sh/superh.opt" ;;
2622 *) if test x$with_newlib = xyes \
2623 && test x$with_libgloss = xyes; then
2624 tm_file="${tm_file} sh/newlib.h"
2626 tm_file="${tm_file} sh/embed-elf.h" ;;
2630 # SHmedia, 32-bit ABI
2631 tmake_file="${tmake_file} sh/t-sh64"
2634 # SHmedia, 64-bit ABI
2635 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5-64"
2640 tmake_file="${tmake_file} sh/t-sh64"
2641 tm_file="${tm_file} sh/sh64.h"
2642 extra_headers="shmedia.h ushmedia.h sshmedia.h"
2645 tmake_file="${tmake_file} sh/t-sh64"
2646 tm_file="${tm_file} sh/sh64.h"
2647 if test x$with_newlib = xyes; then
2648 tm_file="${tm_file} newlib-stdint.h"
2650 extra_headers="shmedia.h ushmedia.h sshmedia.h"
2653 tm_file="${tm_file} newlib-stdint.h"
2656 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2657 case `echo ${target} | sed 's/e[lb]-/-/'` in
2658 sh64*-*-netbsd*) sh_cpu_target=sh5-64media ;;
2659 sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;;
2660 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2661 sh4a_single*) sh_cpu_target=sh4a-single ;;
2662 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2663 sh4al) sh_cpu_target=sh4al ;;
2664 sh4a*) sh_cpu_target=sh4a ;;
2665 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2666 sh4_single*) sh_cpu_target=sh4-single ;;
2667 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2668 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2669 sh3e*) sh_cpu_target=sh3e ;;
2670 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
2671 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2672 sh2a_single*) sh_cpu_target=sh2a-single ;;
2673 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2674 sh2a*) sh_cpu_target=sh2a ;;
2675 sh2e*) sh_cpu_target=sh2e ;;
2676 sh2*) sh_cpu_target=sh2 ;;
2677 *) sh_cpu_target=sh1 ;;
2679 # did the user say --without-fp ?
2680 if test x$with_fp = xno; then
2681 case ${sh_cpu_target} in
2682 sh5-*media) sh_cpu_target=${sh_cpu_target}-nofpu ;;
2684 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
2685 sh4*) sh_cpu_target=sh4-nofpu ;;
2686 sh3*) sh_cpu_target=sh3 ;;
2687 sh2a*) sh_cpu_target=sh2a-nofpu ;;
2688 sh2*) sh_cpu_target=sh2 ;;
2689 *) echo --without-fp not available for $target: ignored
2691 tm_defines="$tm_defines STRICT_NOFPU=1"
2693 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2694 case $sh_cpu_default in
2695 sh5-64media-nofpu | sh5-64media | \
2696 sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
2697 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
2698 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
2699 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
2700 sh3e | sh3 | sh2e | sh2 | sh1) ;;
2701 "") sh_cpu_default=${sh_cpu_target} ;;
2702 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
2704 sh_multilibs=${with_multilib_list}
2705 if test "$sh_multilibs" = "default" ; then
2707 sh64-superh-linux* | \
2708 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
2709 sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
2710 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2711 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
2712 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
2713 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
2715 if test x$with_fp = xno; then
2716 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`"
2719 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
2720 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
2721 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2722 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
2723 for sh_multilib in ${sh_multilibs}; do
2724 case ${sh_multilib} in
2725 m1 | m2 | m2e | m3 | m3e | \
2726 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2727 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2728 m2a | m2a-single | m2a-single-only | m2a-nofpu | \
2729 m5-64media | m5-64media-nofpu | \
2730 m5-32media | m5-32media-nofpu | \
2731 m5-compact | m5-compact-nofpu)
2732 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2733 # It is passed to MULTIILIB_OPTIONS verbatim.
2734 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2735 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2737 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2738 # It is passed the MULTILIB_EXCEPTIONS verbatim.
2739 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
2741 echo "with_multilib_list=${sh_multilib} not supported."
2746 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
2747 if test x${enable_incomplete_targets} = xyes ; then
2748 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1"
2750 tm_file="$tm_file ./sysroot-suffix.h"
2751 tmake_file="$tmake_file t-sysroot-suffix"
2754 tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
2755 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
2758 tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
2759 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
2762 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
2765 tmake_file="sparc/t-sparc sparc/t-leon"
2768 tmake_file="sparc/t-sparc sparc/t-leon3"
2771 tmake_file="sparc/t-sparc sparc/t-elf"
2776 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
2777 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
2780 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
2781 extra_options="${extra_options} sparc/long-double-switch.opt"
2784 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
2787 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
2790 tmake_file="${tmake_file} sparc/t-sparc"
2793 if test x$enable_targets = xall; then
2794 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
2795 tmake_file="${tmake_file} sparc/t-linux64"
2797 tm_file="${tm_file} sparc/linux.h"
2798 tmake_file="${tmake_file} sparc/t-linux"
2802 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2803 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2804 extra_options="${extra_options} sparc/long-double-switch.opt"
2805 tmake_file="${tmake_file} sparc/t-sparc"
2808 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
2810 sparc64-*-* | sparcv9-*-*)
2811 tm_file="sparc/default-64.h ${tm_file}"
2814 test x$with_cpu != x || with_cpu=v9
2817 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
2820 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
2821 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
2824 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
2825 extra_options="${extra_options}"
2826 tmake_file="${tmake_file} sparc/t-sparc"
2829 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
2830 extra_options="${extra_options}"
2831 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
2834 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"
2835 extra_options="${extra_options} sparc/long-double-switch.opt"
2836 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
2838 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2839 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2840 extra_options="${extra_options} sparc/long-double-switch.opt"
2841 case "x$with_cpu" in
2843 x) with_cpu=ultrasparc ;;
2844 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2846 tmake_file="${tmake_file} sparc/t-sparc"
2849 tm_file="sparc/biarch64.h ${tm_file}"
2850 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2851 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2852 extra_options="${extra_options} sparc/long-double-switch.opt"
2853 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
2856 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
2857 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
2858 extra_options="${extra_options} openbsd.opt"
2859 extra_options="${extra_options}"
2862 tmake_file="${tmake_file} sparc/t-sparc"
2865 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
2866 tmake_file="spu/t-spu-elf"
2867 native_system_header_dir=/include
2868 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
2869 extra_modes=spu/spu-modes.def
2870 c_target_objs="${c_target_objs} spu-c.o"
2871 cxx_target_objs="${cxx_target_objs} spu-c.o"
2874 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
2875 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
2876 tmake_file="c6x/t-c6x c6x/t-c6x-elf"
2880 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
2881 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
2882 tm_file="${tm_file} ./sysroot-suffix.h"
2883 tmake_file="t-sysroot-suffix t-slibgcc"
2884 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
2888 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
2889 tmake_file="${tmake_file} tilegx/t-tilegx"
2890 extra_objs="${extra_objs} mul-tables.o"
2891 c_target_objs="${c_target_objs} tilegx-c.o"
2892 cxx_target_objs="${cxx_target_objs} tilegx-c.o"
2893 extra_headers="feedback.h"
2896 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2901 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
2902 tmake_file="${tmake_file} tilepro/t-tilepro"
2903 extra_objs="${extra_objs} mul-tables.o"
2904 c_target_objs="${c_target_objs} tilepro-c.o"
2905 cxx_target_objs="${cxx_target_objs} tilepro-c.o"
2906 extra_headers="feedback.h"
2909 target_cpu_default="TARGET_CPU_generic"
2910 tm_file="dbxelf.h elfos.h v850/v850.h"
2911 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
2912 tmake_file="${tmake_file} v850/t-v850"
2913 tmake_file="${tmake_file} v850/t-rtems"
2915 c_target_objs="v850-c.o"
2916 cxx_target_objs="v850-c.o"
2921 target_cpu_default="TARGET_CPU_v850e3v5"
2924 target_cpu_default="TARGET_CPU_v850e2v3"
2927 target_cpu_default="TARGET_CPU_v850e2"
2929 v850e1-*-* | v850es-*-*)
2930 target_cpu_default="TARGET_CPU_v850e1"
2933 target_cpu_default="TARGET_CPU_v850e"
2936 target_cpu_default="TARGET_CPU_generic"
2939 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
2940 if test x$stabs = xyes
2942 tm_file="${tm_file} dbx.h"
2945 c_target_objs="v850-c.o"
2946 cxx_target_objs="v850-c.o"
2950 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
2951 extra_options="${extra_options} vax/elf.opt"
2954 tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
2955 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
2958 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
2959 extra_options="${extra_options} openbsd.opt"
2963 tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
2964 tmake_file="visium/t-visium visium/t-crtstuff"
2967 # For historical reasons, the target files omit the 'x'.
2968 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
2969 tm_p_file=stormy16/stormy16-protos.h
2970 md_file=stormy16/stormy16.md
2971 out_file=stormy16/stormy16.c
2972 extra_options=stormy16/stormy16.opt
2973 tmake_file="stormy16/t-stormy16"
2976 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
2977 extra_options="${extra_options} xtensa/elf.opt"
2980 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
2981 tmake_file="${tmake_file} xtensa/t-xtensa"
2984 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
2989 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
2990 c_target_objs="m32c-pragma.o"
2991 cxx_target_objs="m32c-pragma.o"
2994 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2995 c_target_objs="m32c-pragma.o"
2996 cxx_target_objs="m32c-pragma.o"
2999 echo "*** Configuration ${target} not supported" 1>&2
3005 i[34567]86-*-linux* | x86_64-*-linux*)
3006 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
3008 i[34567]86-*-* | x86_64-*-*)
3009 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
3011 powerpc*-*-* | rs6000-*-*)
3012 tm_file="${tm_file} rs6000/option-defaults.h"
3015 # Build mkoffload tool
3017 *-intelmic-* | *-intelmicemul-*)
3018 tmake_file="${tmake_file} i386/t-intelmic"
3019 tm_file="${tm_file} i386/intelmic-offload.h"
3023 if [ "$target_has_targetcm" = "no" ]; then
3024 c_target_objs="$c_target_objs default-c.o"
3025 cxx_target_objs="$cxx_target_objs default-c.o"
3028 if [ "$common_out_file" = "" ]; then
3029 if [ "$target_has_targetm_common" = "yes" ]; then
3030 common_out_file="$cpu_type/$cpu_type-common.c"
3032 common_out_file="default-common.c"
3036 # Support for --with-cpu and related options (and a few unrelated options,
3040 echo "--with-cpu must be passed a value" 1>&2
3045 # Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
3046 # to generic if there is no processor scheduler model for the target.
3049 arch_without_sse2=no
3050 arch_without_64bit=no
3053 if test $fbsd_major -ge 6; then
3059 arch_without_sse2=yes
3060 arch_without_64bit=yes
3065 arch_without_sse2=yes
3066 arch_without_64bit=yes
3071 arch_without_sse2=yes
3072 arch_without_64bit=yes
3075 arch_without_sse2=yes
3076 arch_without_64bit=yes
3077 case ${target_noncanonical} in
3090 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3100 i686-*-* | i786-*-*)
3101 case ${target_noncanonical} in
3126 amdfam10-*|barcelona-*)
3130 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3134 k8-*|opteron-*|athlon64-*|athlon_fx-*)
3138 athlon_xp-*|athlon_mp-*|athlon_4-*)
3141 arch_without_sse2=yes
3142 arch_without_64bit=yes
3144 athlon_tbird-*|athlon-*)
3147 arch_without_sse2=yes
3152 arch_without_sse2=yes
3157 arch_without_sse2=yes
3159 pentium3-*|pentium3m-*)
3162 arch_without_sse2=yes
3164 pentium4-*|pentium4m-*)
3203 arch_without_sse2=yes
3208 arch_without_sse2=yes
3209 arch_without_64bit=yes
3214 case ${target_noncanonical} in
3239 amdfam10-*|barcelona-*)
3243 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3247 k8-*|opteron-*|athlon_64-*)
3279 # If there is no $with_cpu option, try to infer one from ${target}.
3280 # This block sets nothing except for with_cpu.
3281 if test x$with_cpu = x ; then
3283 i[34567]86-*-elfiamcu)
3286 i[34567]86-*-*|x86_64-*-*)
3304 frv-*-*linux* | frv400-*-*linux*)
3311 case "$with_arch" in
3313 with_cpu=${default_cf_cpu}
3316 with_cpu=m${default_m68k_cpu}
3321 if test x$enable_e500_double = xyes; then
3339 with_cpu="`echo ${target} | sed 's/-.*$//'`"
3345 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3347 i[34567]86-*-*|x86_64-*-*)
3348 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3349 if test x$with_cpu_32 = x; then
3350 with_cpu_32=$with_cpu
3352 if test x$with_cpu_64 = x; then
3353 with_cpu_64=$with_cpu
3361 # Support for --with-arch and related options (and a few unrelated options,
3363 case ${with_arch} in
3365 echo "--with-arch must be passed a value" 1>&2
3370 # If there is no $with_arch option, try to infer one from ${target}.
3371 # This block sets nothing except for with_arch.
3372 if test x$with_arch = x ; then
3374 i[34567]86-*-darwin*|x86_64-*-darwin*)
3375 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3376 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3378 i[34567]86-*-elfiamcu)
3382 # --with-fpmath sets the default ISA to SSE2, which is the same
3383 # ISA supported by Pentium 4.
3384 if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3393 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3401 # Avoid overriding --with-arch-32 and --with-arch-64 values.
3403 i[34567]86-*-darwin*|x86_64-*-darwin*)
3404 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3405 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3407 i[34567]86-*-*|x86_64-*-*)
3408 if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3409 if test x$with_arch_32 = x; then
3410 with_arch_32=$with_arch
3412 if test x$with_arch_64 = x; then
3413 if test $arch_without_64bit = yes; then
3414 # Set the default 64bit arch to x86-64 if the default arch
3415 # doesn't support 64bit.
3418 with_arch_64=$with_arch
3422 elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3423 # Set the default 64bit arch to x86-64 if the default arch
3424 # doesn't support 64bit and we need 64bit ISA.
3425 with_arch_32=$with_arch
3433 # Infer a default setting for --with-float.
3434 if test x$with_float = x; then
3436 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3437 # The R5900 doesn't support 64-bit float. 32-bit float doesn't
3438 # comply with IEEE 754.
3444 # Infer a default setting for --with-fpu.
3445 if test x$with_fpu = x; then
3447 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3448 # The R5900 FPU only supports single precision.
3454 # Support --with-fpmath.
3455 if test x$with_fpmath != x; then
3457 i[34567]86-*-* | x86_64-*-*)
3458 case ${with_fpmath} in
3460 tm_file="${tm_file} i386/avxmath.h"
3463 tm_file="${tm_file} i386/ssemath.h"
3466 echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3472 echo "--with-fpmath isn't supported for $target." 1>&2
3478 # Similarly for --with-schedule.
3479 if test x$with_schedule = x; then
3482 # Override default PA8000 scheduling model.
3483 with_schedule=7100LC
3488 # Infer a default setting for --with-llsc.
3489 if test x$with_llsc = x; then
3491 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3492 # The R5900 doesn't support LL(D) and SC(D).
3496 # The kernel emulates LL and SC where necessary.
3502 # Validate and mark as valid any --with options supported
3503 # by this target. In order to use a particular --with option
3504 # you must list it in supported_defaults; validating the value
3505 # is optional. This case statement should set nothing besides
3506 # supported_defaults.
3511 supported_defaults="abi cpu arch"
3512 for which in cpu arch; do
3514 eval "val=\$with_$which"
3515 base_val=`echo $val | sed -e 's/\+.*//'`
3516 ext_val=`echo $val | sed -e 's/[a-z0-9\-]\+//'`
3518 if [ $which = arch ]; then
3519 def=aarch64-arches.def
3520 pattern=AARCH64_ARCH
3522 def=aarch64-cores.def
3523 pattern=AARCH64_CORE
3526 ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3528 # Find the base CPU or ARCH id in aarch64-cores.def or
3529 # aarch64-arches.def
3530 if [ x"$base_val" = x ] \
3531 || grep "^$pattern(\"$base_val\"," \
3532 ${srcdir}/config/aarch64/$def \
3535 if [ $which = arch ]; then
3536 base_id=`grep "^$pattern(\"$base_val\"," \
3537 ${srcdir}/config/aarch64/$def | \
3538 sed -e 's/^[^,]*,[ ]*//' | \
3540 # Extract the architecture flags from aarch64-arches.def
3541 ext_mask=`grep "^$pattern(\"$base_val\"," \
3542 ${srcdir}/config/aarch64/$def | \
3546 base_id=`grep "^$pattern(\"$base_val\"," \
3547 ${srcdir}/config/aarch64/$def | \
3548 sed -e 's/^[^,]*,[ ]*//' | \
3552 while [ x"$ext_val" != x ]
3554 ext_val=`echo $ext_val | sed -e 's/\+//'`
3555 ext=`echo $ext_val | sed -e 's/\+.*//'`
3556 base_ext=`echo $ext | sed -e 's/^no//'`
3558 if [ x"$base_ext" = x ] \
3559 || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3560 ${srcdir}/config/aarch64/aarch64-option-extensions.def \
3563 ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3564 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3565 sed -e 's/^[^,]*,[ ]*//' | \
3567 ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3568 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3569 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \
3570 sed -e 's/,.*$//' | \
3573 if [ $ext = $base_ext ]; then
3575 ext_mask="("$ext_mask") | ("$ext_on")"
3577 # Removing extension
3578 ext_mask="("$ext_mask") & ~("$ext_off")"
3583 echo "Unknown extension used in --with-$which=$val" 1>&2
3586 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3589 ext_mask="(("$ext_mask") << 6)"
3590 if [ x"$base_id" != x ]; then
3591 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3595 echo "Unknown $which used in --with-$which=$val" 1>&2
3602 supported_defaults="cpu tune"
3603 for which in cpu tune; do
3604 eval "val=\$with_$which"
3607 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3608 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3612 echo "Unknown CPU used in --with-$which=$val" 1>&2
3619 arc*-*-*) # was: arc*-*-linux-uclibc)
3620 supported_defaults="cpu"
3622 arc600|arc601|arc700)
3624 *) echo "Unknown cpu type"
3631 supported_defaults="arch cpu float tune fpu abi mode tls"
3632 for which in cpu tune; do
3633 # See if it matches any of the entries in arm-cores.def
3634 eval "val=\$with_$which"
3635 if [ x"$val" = x ] \
3636 || grep "^ARM_CORE(\"$val\"," \
3637 ${srcdir}/config/arm/arm-cores.def \
3640 new_val=`grep "^ARM_CORE(\"$val\"," \
3641 ${srcdir}/config/arm/arm-cores.def | \
3642 sed -e 's/^[^,]*,[ ]*//' | \
3644 eval "target_${which}_cname=$new_val"
3645 echo "For $val real value is $new_val"
3648 echo "Unknown CPU used in --with-$which=$val" 1>&2
3653 # See if it matches any of the entries in arm-arches.def
3654 if [ x"$with_arch" = x ] \
3655 || grep "^ARM_ARCH(\"$with_arch\"," \
3656 ${srcdir}/config/arm/arm-arches.def \
3661 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
3665 case "$with_float" in
3667 | soft | hard | softfp)
3671 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3676 # see if it matches any of the entries in arm-fpus.def
3677 if [ x"$with_fpu" = x ] \
3678 || grep "^ARM_FPU(\"$with_fpu\"," \
3679 ${srcdir}/config/arm/arm-fpus.def \
3684 echo "Unknown fpu used in --with-fpu=$with_fpu" 1>&2
3690 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
3694 echo "Unknown ABI used in --with-abi=$with_abi"
3699 case "$with_mode" in
3705 echo "Unknown mode used in --with-mode=$with_mode"
3716 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3721 if test "x$with_arch" != x && test "x$with_cpu" != x; then
3722 echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2
3726 if test "x$with_cpu" != x && test "x$with_tune" != x; then
3727 echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2
3731 # Add extra multilibs
3732 if test "x$with_multilib_list" != x; then
3733 arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
3734 for arm_multilib in ${arm_multilibs}; do
3735 case ${arm_multilib} in
3737 # Note that arm/t-aprofile is a
3738 # stand-alone make file fragment to be
3739 # used only with itself. We do not
3740 # specifically use the
3741 # TM_MULTILIB_OPTION framework because
3742 # this shorthand is more
3743 # pragmatic. Additionally it is only
3744 # designed to work without any
3745 # with-cpu, with-arch with-mode
3746 # with-fpu or with-float options.
3747 if test "x$with_arch" != x \
3748 || test "x$with_cpu" != x \
3749 || test "x$with_float" != x \
3750 || test "x$with_fpu" != x \
3751 || test "x$with_mode" != x ; then
3752 echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=aprofile" 1>&2
3755 tmake_file="${tmake_file} arm/t-aprofile"
3761 echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
3770 supported_defaults=cpu
3775 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3781 fido-*-* | m68k*-*-*)
3782 supported_defaults="arch cpu"
3783 case "$with_arch" in
3785 m68k_arch_family="$with_arch"
3788 echo "Invalid --with-arch=$with_arch" 1>&2
3793 # We always have a $with_cpu setting here.
3795 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
3796 m68k_cpu_ident=$with_cpu
3799 m68k_cpu_ident=m68020
3800 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
3803 m68k_cpu_ident=m68020
3804 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
3807 # We need the C identifier rather than the string.
3808 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
3809 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
3810 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
3811 ${srcdir}/config/m68k/m68k-devices.def`
3812 if [ x"$m68k_cpu_ident" = x ] ; then
3813 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
3816 with_cpu="mcpu=$with_cpu"
3822 supported_defaults="arch schedule"
3824 case "$with_arch" in
3825 "" | 1.0 | 1.1 | 2.0)
3829 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
3834 case "$with_schedule" in
3835 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
3839 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
3845 i[34567]86-*-* | x86_64-*-*)
3846 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
3847 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
3848 eval "val=\$with_$which"
3849 case " $x86_archs " in
3857 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
3866 if test x${val} != x; then
3867 case " $x86_64_archs " in
3872 # Allow $x86_cpus --with-cpu=/--with-tune=
3875 case " $x86_cpus " in
3880 echo "Unknown CPU given in --with-$which=$val." 1>&2
3886 echo "Unknown CPU given in --with-$which=$val." 1>&2
3899 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"
3901 case ${with_float} in
3906 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3912 "" | single | double)
3916 echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
3926 echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
3931 case ${with_fp_32} in
3936 echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
3941 case ${with_odd_spreg_32} in
3943 with_odd_spreg_32="odd-spreg"
3946 with_odd_spreg_32="no-odd-spreg"
3952 echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
3958 "" | 32 | o64 | n32 | 64 | eabi)
3962 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
3967 case ${with_divide} in
3968 "" | breaks | traps)
3972 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
3977 case ${with_llsc} in
3988 echo "Unknown llsc type used in --with-llsc" 1>&2
3993 case ${with_mips_plt} in
3998 with_mips_plt=no-plt
4003 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
4008 case ${with_synci} in
4018 echo "Unknown synci type used in --with-synci" 1>&2
4025 supported_defaults="arch nds32_lib"
4027 # process --with-arch
4028 case "${with_arch}" in
4033 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2
4038 # process --with-nds32-lib
4039 case "${with_nds32_lib}" in
4041 # the default library is newlib
4042 with_nds32_lib=newlib
4051 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
4058 supported_defaults="arch"
4059 case "$with_arch" in
4064 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
4070 powerpc*-*-* | rs6000-*-*)
4071 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
4073 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4074 eval "val=\$with_$which"
4076 default32 | default64)
4081 echo "$val only valid for --with-cpu and --with-tune." 1>&2
4085 with_which="with_$which"
4089 tm_defines="${tm_defines} CONFIG_PPC405CR"
4090 eval "with_$which=405"
4092 "" | common | native \
4093 | power | power[2345678] | power6x | powerpc | powerpc64 \
4094 | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
4095 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4096 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4097 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4098 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4099 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4103 echo "Unknown cpu used in --with-$which=$val." 1>&2
4110 "" | elfv1 | elfv2 )
4114 echo "Unknown ABI used in --with-abi=$with_abi"
4119 if test "x$with_advance_toolchain" != x; then
4120 if test -d "/opt/$with_advance_toolchain/." -a \
4121 -d "/opt/$with_advance_toolchain/bin/." -a \
4122 -d "/opt/$with_advance_toolchain/include/."; then
4124 tm_file="$tm_file ./advance-toolchain.h"
4125 (at="/opt/$with_advance_toolchain"
4126 echo "/* Use Advance Toolchain $at */"
4128 echo "#ifndef USE_AT_INCLUDE_FILES"
4129 echo "#define USE_AT_INCLUDE_FILES 1"
4132 echo "#if USE_AT_INCLUDE_FILES"
4133 echo "#undef INCLUDE_EXTRA_SPEC"
4134 echo "#define INCLUDE_EXTRA_SPEC" \
4135 "\"-isystem $at/include\""
4138 echo "#undef LINK_OS_EXTRA_SPEC32"
4139 echo "#define LINK_OS_EXTRA_SPEC32" \
4140 "\"%(link_os_new_dtags)" \
4141 "-rpath $prefix/lib -rpath $at/lib" \
4142 "-L $prefix/lib -L $at/lib\""
4144 echo "#undef LINK_OS_EXTRA_SPEC64"
4145 echo "#define LINK_OS_EXTRA_SPEC64" \
4146 "\"%(link_os_new_dtags)" \
4147 "-rpath $prefix/lib64 -rpath $at/lib64" \
4148 "-L $prefix/lib64 -L $at/lib64\""
4150 echo "#undef LINK_OS_NEW_DTAGS_SPEC"
4151 echo "#define LINK_OS_NEW_DTAGS_SPEC" \
4152 "\"--enable-new-dtags\""
4154 echo "#undef DYNAMIC_LINKER_PREFIX"
4155 echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
4157 echo "#undef MD_EXEC_PREFIX"
4158 echo "#define MD_EXEC_PREFIX \"$at/bin/\""
4160 echo "#undef MD_STARTFILE_PREFIX"
4161 echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
4162 > advance-toolchain.h
4164 echo "Unknown advance-toolchain $with_advance_toolchain"
4171 supported_defaults="arch mode tune"
4173 for which in arch tune; do
4174 eval "val=\$with_$which"
4176 "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13)
4180 echo "Unknown cpu used in --with-$which=$val." 1>&2
4186 case ${with_mode} in
4191 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4197 sh[123456ble]-*-* | sh-*-*)
4198 supported_defaults="cpu"
4199 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4200 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4203 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4205 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4208 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
4209 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4210 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4211 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4217 supported_defaults="cpu float tune"
4219 for which in cpu tune; do
4220 eval "val=\$with_$which"
4222 "" | sparc | sparcv9 | sparc64 \
4224 | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4225 | sparclite | f930 | f934 | sparclite86x \
4226 | sparclet | tsc701 \
4227 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4228 | niagara3 | niagara4)
4232 echo "Unknown cpu used in --with-$which=$val" 1>&2
4238 case ${with_float} in
4243 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4250 supported_defaults="arch tune"
4252 for which in arch tune; do
4253 eval "val=\$with_$which"
4255 "" | cell | celledp)
4259 echo "Unknown cpu used in --with-$which=$val." 1>&2
4267 supported_defaults="arch"
4269 case ${with_arch} in
4270 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4274 echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4281 supported_defaults=cpu
4283 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4287 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4294 # Set some miscellaneous flags for particular targets.
4295 target_cpu_default2=
4298 if test x"$target_cpu_cname" != x
4300 target_cpu_default2=$target_cpu_cname
4305 if test x$target_cpu_cname = x
4307 target_cpu_default2=TARGET_CPU_generic
4309 target_cpu_default2=TARGET_CPU_$target_cpu_cname
4314 if test x$gas = xyes
4316 target_cpu_default2="MASK_GAS"
4320 fido*-*-* | m68k*-*-*)
4321 target_cpu_default2=$m68k_cpu_ident
4322 tmake_file="m68k/t-opts $tmake_file"
4323 if [ x"$m68k_arch_family" != x ]; then
4324 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4328 i[34567]86-*-darwin* | x86_64-*-darwin*)
4330 i[34567]86-*-linux* | x86_64-*-linux*)
4331 tmake_file="$tmake_file i386/t-linux"
4333 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
4334 tmake_file="$tmake_file i386/t-kfreebsd"
4337 tmake_file="$tmake_file i386/t-gnu"
4339 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
4341 i[34567]86-*-cygwin* | x86_64-*-cygwin*)
4343 i[34567]86-*-mingw* | x86_64-*-mingw*)
4345 i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
4347 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
4353 if test x$gnu_ld = xyes
4355 target_cpu_default2="MASK_SPLIT_ADDRESSES"
4359 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
4362 if test x$with_arch != x; then
4363 default_mips_arch=$with_arch
4365 if test x$with_abi != x; then
4366 default_mips_abi=$with_abi
4368 case ${default_mips_arch} in
4369 mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
4370 mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
4371 mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
4372 mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
4373 mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
4374 mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
4375 mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
4376 mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
4377 mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
4378 mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
4380 case ${default_mips_abi} in
4381 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
4382 o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
4383 n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
4384 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
4385 eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
4387 tmake_file="mips/t-mips $tmake_file"
4390 powerpc*-*-* | rs6000-*-*)
4391 # FIXME: The PowerPC port uses the value set at compile time,
4392 # although it's only cosmetic.
4393 if test "x$with_cpu" != x
4395 target_cpu_default2="\\\"$with_cpu\\\""
4397 out_file=rs6000/rs6000.c
4398 c_target_objs="${c_target_objs} rs6000-c.o"
4399 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
4400 tmake_file="rs6000/t-rs6000 ${tmake_file}"
4403 sh[123456ble]*-*-* | sh-*-*)
4404 c_target_objs="${c_target_objs} sh-c.o"
4405 cxx_target_objs="${cxx_target_objs} sh-c.o"
4409 # Some standard aliases.
4414 xsparcv9 | xsparc64)
4419 if test x$with_tune = x ; then
4430 # The SPARC port checks this value at compile-time.
4431 target_cpu_default2="TARGET_CPU_$with_cpu"
4435 case "x$with_cpu" in
4438 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
4439 target_cpu_default2="TARGET_CPU_$with_cpu"
4442 target_cpu_default2="TARGET_CPU_v850e1"
4449 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"
4450 for option in $all_defaults
4452 eval "val=\$with_"`echo $option | sed s/-/_/g`
4453 if test -n "$val"; then
4454 case " $supported_defaults " in
4458 echo "This target does not support --with-$option." 2>&1
4459 echo "Valid --with options are: $supported_defaults" 2>&1
4466 t="{ \"$option\", \"$val\" }"
4468 t="${t}, { \"$option\", \"$val\" }"
4475 configure_default_options="{ { NULL, NULL} }"
4477 configure_default_options="{ ${t} }"
4480 if test "$target_cpu_default2" != ""
4482 if test "$target_cpu_default" != ""
4484 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
4486 target_cpu_default=$target_cpu_default2
4491 i[34567]86-*-* | x86_64-*-*)
4492 if test x$enable_as_accelerator = xyes; then
4493 extra_programs="mkoffload\$(exeext)"