1 # GCC target-specific configuration file.
2 # Copyright (C) 1997-2019 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 # tm_d_file A list of headers with definitions of target hook
90 # macros for the D compiler.
92 # out_file The name of the machine description C support
93 # file, if different from "$cpu_type/$cpu_type.c".
95 # common_out_file The name of the source file for code shared between
96 # the compiler proper and the driver.
98 # md_file The name of the machine-description file, if
99 # different from "$cpu_type/$cpu_type.md".
101 # tmake_file A list of machine-description-specific
102 # makefile-fragments, if different from
103 # "$cpu_type/t-$cpu_type".
105 # extra_modes The name of the file containing a list of extra
106 # machine modes, if necessary and different from
107 # "$cpu_type/$cpu_type-modes.def".
109 # extra_objs List of extra objects that should be linked into
110 # the compiler proper (cc1, cc1obj, cc1plus)
111 # depending on target.
113 # extra_gcc_objs List of extra objects that should be linked into
114 # the compiler driver (gcc) depending on target.
116 # extra_headers List of used header files from the directory
117 # config/${cpu_type}.
119 # user_headers_inc_next_pre
120 # List of header file names of internal gcc header
121 # files, which should be prefixed by an include_next.
122 # user_headers_inc_next_post
123 # List of header file names of internal gcc header
124 # files, which should be postfixed by an include_next.
125 # use_gcc_tgmath If set, add tgmath.h to the list of used header
128 # use_gcc_stdint If "wrap", install a version of stdint.h that
129 # wraps the system's copy for hosted compilations;
130 # if "provide", provide a version of systems without
131 # such a system header; otherwise "none", do not
132 # provide such a header at all.
134 # extra_programs List of extra executables compiled for this target
135 # machine, used when linking.
137 # extra_options List of target-dependent .opt files.
139 # c_target_objs List of extra target-dependent objects that be
140 # linked into the C compiler only.
142 # cxx_target_objs List of extra target-dependent objects that be
143 # linked into the C++ compiler only.
145 # d_target_objs List of extra target-dependent objects that be
146 # linked into the D compiler only.
148 # fortran_target_objs List of extra target-dependent objects that be
149 # linked into the fortran compiler only.
151 # target_gtfiles List of extra source files with type information.
153 # xm_defines List of macros to define when compiling for the
156 # xm_file List of files to include when compiling for the
159 # use_collect2 Set to yes or no, depending on whether collect2
162 # target_cpu_default Set to override the default target model.
164 # gdb_needs_out_file_path
165 # Set to yes if gdb needs a dir command with
166 # `dirname $out_file`.
168 # thread_file Set to control which thread package to use.
170 # gas Set to yes or no depending on whether the target
171 # system normally uses GNU as.
173 # configure_default_options
174 # Set to an initializer for configure_default_options
175 # in configargs.h, based on --with-cpu et cetera.
177 # native_system_header_dir
178 # Where system header files are found for this
179 # target. This defaults to /usr/include. If
180 # the --with-sysroot configure option or the
181 # --sysroot command line option is used this
182 # will be relative to the sysroot.
183 # target_type_format_char
184 # The default character to be used for formatting
186 # .type symbol_name, ${t_t_f_c}<property>
189 # The following variables are used in each case-construct to build up the
190 # outgoing variables:
192 # gnu_ld Set to yes or no depending on whether the target
193 # system normally uses GNU ld.
195 # target_has_targetcm Set to yes or no depending on whether the target
196 # has its own definition of targetcm.
198 # target_has_targetm_common Set to yes or no depending on whether the
199 # target has its own definition of targetm_common.
201 # target_has_targetdm Set to yes or no depending on whether the target
202 # has its own definition of targetdm.
208 user_headers_inc_next_pre=
209 user_headers_inc_next_post=
220 target_has_targetcm=no
221 target_has_targetm_common=yes
222 target_has_targetdm=no
225 # Set this to force installation and use of collect2.
227 # Set this to override the default target model.
229 # Set this if gdb needs a dir command with `dirname $out_file`
230 gdb_needs_out_file_path=
231 # Set this to control which thread package will be used.
233 # Reinitialize these from the flag values every loop pass, since some
234 # configure entries modify them.
236 gnu_ld="$gnu_ld_flag"
237 default_use_cxa_atexit=no
238 default_gnu_indirect_function=no
241 native_system_header_dir=/usr/include
242 target_type_format_char='@'
244 # Don't carry these over build->host->target. Please.
248 # Obsolete configurations.
253 if test "x$enable_obsolete" != xyes; then
254 echo "*** Configuration ${target} is obsolete." >&2
255 echo "*** Specify --enable-obsolete to build it anyway." >&2
256 echo "*** Support will be REMOVED in the next major release of GCC," >&2
257 echo "*** unless a maintainer comes forward." >&2
262 # Unsupported targets list. Do not put an entry in this list unless
263 # it would otherwise be caught by a more permissive pattern. The list
264 # should be in alphabetical order.
266 # Avoid special cases that are not obsolete
275 | i[34567]86-go32-* \
276 | i[34567]86-*-go32* \
277 | m68k-*-uclinuxoldabi* \
278 | mips64orion*-*-rtems* \
280 | powerpc*-*-linux*paired* \
282 | sparc-hal-solaris2* \
284 | *-*-freebsd[12] | *-*-freebsd[1234].* \
285 | *-*-freebsd*aout* \
293 | *-*-solaris2.[0-9] \
294 | *-*-solaris2.[0-9].* \
299 echo "*** Configuration ${target} not supported" 1>&2
304 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
305 # updated in each machine entry. Also set default extra_headers for some
308 cpu_type=`echo ${target} | sed 's/-.*$//'`
313 tmake_file=m32c/t-m32c
314 target_has_targetm_common=no
318 extra_headers="arm_fp16.h arm_neon.h arm_acle.h"
319 c_target_objs="aarch64-c.o"
320 cxx_target_objs="aarch64-c.o"
321 d_target_objs="aarch64-d.o"
322 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o aarch64-speculation.o falkor-tag-collision-avoidance.o aarch64-bti-insert.o"
323 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
324 target_has_targetm_common=yes
328 extra_options="${extra_options} g.opt"
339 c_target_objs="arc-c.o"
340 cxx_target_objs="arc-c.o"
341 extra_options="${extra_options} arc/arc-tables.opt g.opt"
342 extra_headers="arc-simd.h"
346 extra_objs="arm-builtins.o aarch-common.o"
347 extra_headers="mmintrin.h arm_neon.h arm_acle.h arm_fp16.h arm_cmse.h"
348 target_type_format_char='%'
349 c_target_objs="arm-c.o"
350 cxx_target_objs="arm-c.o"
351 d_target_objs="arm-d.o"
352 extra_options="${extra_options} arm/arm-tables.opt"
353 target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
357 c_target_objs="avr-c.o"
358 cxx_target_objs="avr-c.o"
367 extra_options="${extra_options} g.opt"
370 target_has_targetm_common=no
372 moxie*) cpu_type=moxie
373 target_has_targetm_common=no
377 extra_headers=math-68881.h
378 extra_options="${extra_options} m68k/m68k-tables.opt"
382 c_target_objs="i386-c.o"
383 cxx_target_objs="i386-c.o"
384 d_target_objs="i386-d.o"
385 extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o i386-features.o"
386 target_gtfiles="\$(srcdir)/config/i386/i386-builtins.c \$(srcdir)/config/i386/i386-expand.c \$(srcdir)/config/i386/i386-options.c"
387 extra_options="${extra_options} fused-madd.opt"
388 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
389 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
390 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
391 immintrin.h x86intrin.h avxintrin.h xopintrin.h
392 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
393 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
394 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
395 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
396 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
397 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
398 shaintrin.h clflushoptintrin.h xsavecintrin.h
399 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
400 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
401 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
402 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
403 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
404 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
405 gfniintrin.h cet.h avx512vbmi2intrin.h
406 avx512vbmi2vlintrin.h avx512vnniintrin.h
407 avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h
408 avx512vpopcntdqvlintrin.h avx512bitalgintrin.h
409 pconfigintrin.h wbnoinvdintrin.h movdirintrin.h
410 waitpkgintrin.h cldemoteintrin.h avx512bf16vlintrin.h avx512bf16intrin.h
411 enqcmdintrin.h avx512vp2intersectintrin.h avx512vp2intersectvlintrin.h"
415 c_target_objs="i386-c.o"
416 cxx_target_objs="i386-c.o"
417 d_target_objs="i386-d.o"
418 extra_options="${extra_options} fused-madd.opt"
419 extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o i386-features.o"
420 target_gtfiles="\$(srcdir)/config/i386/i386-builtins.c \$(srcdir)/config/i386/i386-expand.c \$(srcdir)/config/i386/i386-options.c"
421 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
422 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
423 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
424 immintrin.h x86intrin.h avxintrin.h xopintrin.h
425 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
426 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
427 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
428 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
429 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
430 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
431 shaintrin.h clflushoptintrin.h xsavecintrin.h
432 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
433 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
434 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
435 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
436 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
437 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
438 gfniintrin.h cet.h avx512vbmi2intrin.h
439 avx512vbmi2vlintrin.h avx512vnniintrin.h
440 avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h
441 avx512vpopcntdqvlintrin.h avx512bitalgintrin.h
442 pconfigintrin.h wbnoinvdintrin.h movdirintrin.h
443 waitpkgintrin.h cldemoteintrin.h avx512bf16vlintrin.h avx512bf16intrin.h
444 enqcmdintrin.h avx512vp2intersectintrin.h avx512vp2intersectvlintrin.h"
447 extra_headers=ia64intrin.h
448 extra_options="${extra_options} g.opt fused-madd.opt"
454 extra_options="${extra_options} g.opt"
458 extra_options="${extra_options} g.opt"
461 extra_headers=math-68881.h
462 extra_options="${extra_options} m68k/m68k-tables.opt"
466 extra_options="${extra_options} g.opt"
470 d_target_objs="mips-d.o"
471 extra_headers="loongson.h loongson-mmiintrin.h msa.h"
472 extra_objs="frame-header-opt.o"
473 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt"
477 extra_headers="nds32_intrinsic.h nds32_isr.h nds32_init.inc"
480 extra_options="${extra_options} nds32/nds32-linux.opt"
483 extra_options="${extra_options} nds32/nds32-elf.opt"
488 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 nds32-relax-opt.o nds32-utils.o"
492 extra_options="${extra_options} g.opt"
502 extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o rs6000-call.o"
503 extra_headers="ppc-asm.h altivec.h htmintrin.h htmxlintrin.h"
504 extra_headers="${extra_headers} bmi2intrin.h bmiintrin.h"
505 extra_headers="${extra_headers} xmmintrin.h mm_malloc.h emmintrin.h"
506 extra_headers="${extra_headers} mmintrin.h x86intrin.h"
507 extra_headers="${extra_headers} pmmintrin.h tmmintrin.h smmintrin.h"
508 extra_headers="${extra_headers} ppu_intrinsics.h spu2vmx.h vec_types.h si2vmx.h"
509 extra_headers="${extra_headers} amo.h"
511 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500|xfuture)
515 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
516 target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
523 extra_objs="riscv-builtins.o riscv-c.o"
524 d_target_objs="riscv-d.o"
527 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
528 extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o rs6000-call.o"
529 target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
533 c_target_objs="sparc-c.o"
534 cxx_target_objs="sparc-c.o"
535 d_target_objs="sparc-d.o"
536 extra_headers="visintrin.h"
543 d_target_objs="s390-d.o"
544 extra_options="${extra_options} fused-madd.opt"
545 extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
547 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
548 sh[123456789lbe]*-*-* | sh-*-*)
550 extra_options="${extra_options} fused-madd.opt"
551 extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
558 extra_headers="c6x_intrinsics.h"
559 extra_options="${extra_options} c6x/c6x-tables.opt"
562 extra_options="${extra_options} fused-madd.opt"
572 tm_file=${cpu_type}/${cpu_type}.h
573 tm_d_file=${cpu_type}/${cpu_type}.h
574 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
576 tm_p_file=${cpu_type}/${cpu_type}-protos.h
577 tm_d_file="${tm_d_file} ${cpu_type}/${cpu_type}-protos.h"
581 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
583 extra_modes=${cpu_type}/${cpu_type}-modes.def
585 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
587 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
592 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
595 if test "x$with_multilib_list" = xilp32; then
596 tm_file="aarch64/biarchilp32.h ${tm_file}"
598 tm_file="aarch64/biarchlp64.h ${tm_file}"
602 tm_file="aarch64/biarchilp32.h ${tm_file}"
605 tm_file="aarch64/biarchlp64.h ${tm_file}"
608 echo "Unknown ABI used in --with-abi=$with_abi"
613 if test "x$with_abi" != x; then
614 echo "This target does not support --with-abi."
621 if test "x$with_multilib_list" = xmx32; then
622 tm_file="i386/biarchx32.h ${tm_file}"
624 tm_file="i386/biarch64.h ${tm_file}"
628 tm_file="i386/biarch64.h ${tm_file}"
631 tm_file="i386/biarchx32.h ${tm_file}"
634 echo "Unknown ABI used in --with-abi=$with_abi"
639 tm_p_file="arm/arm-flags.h ${tm_p_file} arm/aarch-common-protos.h"
643 # On a.out targets, we need to use collect2.
650 # Common C libraries.
651 tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
653 # 32-bit x86 processors supported by --with-arch=. Each processor
654 # MUST be separated by exactly one space.
655 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
656 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
657 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
658 pentium4 pentium4m pentiumpro prescott lakemont"
660 # 64-bit x86 processors supported by --with-arch=. Each processor
661 # MUST be separated by exactly one space.
662 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
663 bdver3 bdver4 znver1 znver2 btver1 btver2 k8 k8-sse3 opteron \
664 opteron-sse3 nocona core2 corei7 corei7-avx core-avx-i core-avx2 atom \
665 slm nehalem westmere sandybridge ivybridge haswell broadwell bonnell \
666 silvermont knl knm skylake-avx512 cannonlake icelake-client icelake-server \
667 skylake goldmont goldmont-plus tremont cascadelake tigerlake cooperlake x86-64 \
670 # Additional x86 processors supported by --with-cpu=. Each processor
671 # MUST be separated by exactly one space.
672 x86_cpus="generic intel"
674 # Common parts for widely ported systems.
677 tmake_file="t-darwin "
678 tm_file="${tm_file} darwin.h"
681 tm_file="${tm_file} darwin9.h"
684 tm_file="${tm_file} darwin9.h darwin10.h"
686 *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
687 tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
690 tm_file="${tm_file} ${cpu_type}/darwin.h"
691 tm_p_file="${tm_p_file} darwin-protos.h"
692 target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.c"
693 extra_options="${extra_options} darwin.opt"
694 c_target_objs="${c_target_objs} darwin-c.o"
695 cxx_target_objs="${cxx_target_objs} darwin-c.o"
696 fortran_target_objs="darwin-f.o"
697 target_has_targetcm=yes
698 extra_objs="${extra_objs} darwin.o"
699 extra_gcc_objs="darwin-driver.o"
700 default_use_cxa_atexit=yes
702 case ${enable_threads} in
703 "" | yes | posix) thread_file='posix' ;;
709 tmake_file="t-slibgcc"
710 case ${enable_threads} in
715 # Let these non-posix thread selections fall through if requested
718 echo 'Unknown thread configuration for DragonFly BSD'
722 extra_options="$extra_options rpath.opt dragonfly.opt"
723 default_use_cxa_atexit=yes
727 # This is the generic ELF configuration of FreeBSD. Later
728 # machine-specific sections may refine and add to this
731 # Due to tm_file entry ordering issues that vary between cpu
732 # architectures, we only define fbsd_tm_file to allow the
733 # machine-specific section to dictate the final order of all
734 # entries of tm_file with the minor exception that components
735 # of the tm_file set here will always be of the form:
737 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
739 # The machine-specific section should not tamper with this
740 # ordering but may order all other entries of tm_file as it
741 # pleases around the provided core setting.
744 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
745 if test "$fbsd_major" = ""; then
746 echo "Specify the major version number of the targeted FreeBSD release"
747 echo "like this: --target=amd64-unknown-freebsd10.1"
750 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
751 tmake_file="t-slibgcc"
752 case ${enable_threads} in
754 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
760 echo 'Unknown thread configuration for FreeBSD'
764 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
765 extra_options="$extra_options rpath.opt freebsd.opt"
770 default_use_cxa_atexit=yes;;
775 native_system_header_dir=/include
777 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
778 extra_options="$extra_options gnu-user.opt"
781 case ${enable_threads} in
782 "" | yes | posix) thread_file='posix' ;;
784 tmake_file="t-slibgcc"
786 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu)
789 native_system_header_dir=/include
792 # Linux C libraries selection switch: glibc / uclibc / bionic.
793 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
796 tm_p_file="${tm_p_file} linux-protos.h"
797 tmake_file="${tmake_file} t-linux"
798 extra_objs="${extra_objs} linux.o"
799 extra_options="${extra_options} linux.opt"
804 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
807 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
810 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
813 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
816 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
818 default_use_cxa_atexit=yes
821 # Enable compilation for Android by default for *android* targets.
824 tm_defines="$tm_defines ANDROID_DEFAULT=1"
827 tm_defines="$tm_defines ANDROID_DEFAULT=0"
830 c_target_objs="${c_target_objs} glibc-c.o"
831 cxx_target_objs="${cxx_target_objs} glibc-c.o"
832 d_target_objs="${d_target_objs} glibc-d.o"
833 tmake_file="${tmake_file} t-glibc"
834 target_has_targetcm=yes
835 target_has_targetdm=yes
838 tm_p_file="${tm_p_file} netbsd-protos.h"
839 tmake_file="t-netbsd t-slibgcc"
840 extra_objs="${extra_objs} netbsd.o"
841 d_target_objs="${d_target_objs} netbsd-d.o"
845 case ${enable_threads} in
846 "" | yes | posix) thread_file='posix' ;;
848 nbsd_tm_file="netbsd.h netbsd-stdint.h netbsd-elf.h"
849 default_use_cxa_atexit=yes
850 target_has_targetdm=yes
852 arm*-* | i[34567]86-* | powerpc*-* | sparc*-* | x86_64-*)
853 default_gnu_indirect_function=yes
858 tmake_file="t-openbsd"
859 case ${enable_threads} in
865 *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
866 default_use_cxa_atexit=yes
873 default_use_cxa_atexit=yes
876 case ${enable_threads} in
877 "" | yes | rtems) thread_file='rtems' ;;
878 posix) thread_file='posix' ;;
881 echo 'Unknown thread configuration for RTEMS'
885 tmake_file="${tmake_file} t-rtems"
886 extra_options="${extra_options} rtems.opt"
887 default_use_cxa_atexit=yes
891 extra_options="$extra_options gnu-user.opt"
893 case ${enable_threads} in
894 "" | yes | posix) thread_file='posix' ;;
896 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
902 # i?86-*-solaris2* needs to insert headers between cpu default and
903 # Solaris 2 specific ones.
904 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
905 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
906 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
908 *-*-solaris2.1[1-9]*)
909 # __cxa_atexit was introduced in Solaris 11.4.
910 default_use_cxa_atexit=yes
914 if test x$gnu_ld = xyes; then
915 tm_file="usegld.h ${tm_file}"
917 if test x$gas = xyes; then
918 tm_file="usegas.h ${tm_file}"
920 tm_p_file="${tm_p_file} sol2-protos.h"
921 tmake_file="${tmake_file} t-sol2 t-slibgcc"
922 c_target_objs="${c_target_objs} sol2-c.o"
923 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
924 d_target_objs="${d_target_objs} sol2-d.o"
925 extra_objs="${extra_objs} sol2.o sol2-stubs.o"
926 extra_options="${extra_options} sol2.opt"
927 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
928 "":yes:* | yes:yes:* )
932 target_has_targetdm=yes
935 extra_options="${extra_options} vms/vms.opt"
937 tmake_file="vms/t-vms t-slibgcc"
939 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
940 tm_p_file="${tm_p_file} vms/vms-protos.h"
941 xm_file="vms/xm-vms.h"
942 c_target_objs="vms-c.o"
943 cxx_target_objs="vms-c.o"
944 fortran_target_objs="vms-f.o"
945 use_gcc_stdint=provide
946 tm_file="${tm_file} vms/vms-stdint.h"
947 if test x$gnu_ld != xyes; then
948 # Build wrappers for native case.
949 extra_programs="ld\$(exeext) ar\$(exeext)"
950 tmake_file="$tmake_file vms/t-vmsnative"
956 extra_options="${extra_options} vxworks.opt"
957 extra_objs="$extra_objs vxworks.o"
958 use_gcc_stdint=provide
959 tm_file="${tm_file} vxworks-stdint.h"
960 case ${enable_threads} in
962 "" | yes | vxworks) thread_file='vxworks' ;;
963 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
967 tm_defines="$tm_defines TARGET_VXWORKS7=1"
972 tm_defines="$tm_defines TARGET_VXWORKS64=1"
977 # Assume that newlib is being used and so __cxa_atexit is provided.
978 default_use_cxa_atexit=yes
984 aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
985 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
986 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-elf-raw.h"
987 tmake_file="${tmake_file} aarch64/t-aarch64"
993 tm_file="${tm_file} fuchsia.h"
996 tm_file="${tm_file} rtems.h aarch64/rtems.h"
1001 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1004 aarch64_multilibs="${with_multilib_list}"
1005 if test "$aarch64_multilibs" = "default"; then
1006 aarch64_multilibs="lp64,ilp32"
1008 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
1009 for aarch64_multilib in ${aarch64_multilibs}; do
1010 case ${aarch64_multilib} in
1012 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
1015 echo "--with-multilib-list=${aarch64_multilib} not supported."
1019 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1021 aarch64*-*-freebsd*)
1022 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file}"
1023 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-freebsd.h"
1024 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd"
1025 tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1"
1028 tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file}"
1029 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-netbsd.h"
1030 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-netbsd"
1031 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1034 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
1035 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-linux.h"
1036 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
1037 tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1"
1040 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1043 aarch64_multilibs="${with_multilib_list}"
1044 if test "$aarch64_multilibs" = "default"; then
1045 # TODO: turn on ILP32 multilib build after its support is mature.
1046 # aarch64_multilibs="lp64,ilp32"
1047 aarch64_multilibs="lp64"
1049 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
1050 for aarch64_multilib in ${aarch64_multilibs}; do
1051 case ${aarch64_multilib} in
1053 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
1056 echo "--with-multilib-list=${aarch64_multilib} not supported."
1060 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1063 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
1064 tmake_file="${tmake_file} alpha/t-linux alpha/t-alpha"
1065 extra_options="${extra_options} alpha/elf.opt"
1068 tm_file="elfos.h ${tm_file} ${nbsd_tm_file} alpha/elf.h alpha/netbsd.h"
1069 tmake_file="${tmake_file} alpha/t-alpha"
1070 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
1074 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
1075 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
1076 tmake_file="${tmake_file} alpha/t-alpha"
1077 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
1078 # default x-alpha is only appropriate for dec-osf.
1081 tm_file="${tm_file} vms/vms.h alpha/vms.h"
1082 tmake_file="${tmake_file} alpha/t-vms alpha/t-alpha"
1085 tm_file="arc/arc-arch.h dbxelf.h elfos.h newlib-stdint.h arc/elf.h ${tm_file}"
1086 tmake_file="arc/t-multilib arc/t-arc"
1087 extra_gcc_objs="driver-arc.o"
1088 if test "x$with_cpu" != x; then
1089 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
1091 if test x${with_endian} = x; then
1093 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1094 *) with_endian=little ;;
1097 case ${with_endian} in
1099 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1101 case ${with_endian} in
1102 big*) tm_file="arc/big.h ${tm_file}"
1106 tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arc/linux.h ${tm_file}"
1107 tmake_file="${tmake_file} arc/t-multilib-linux arc/t-arc"
1108 extra_gcc_objs="driver-arc.o"
1109 if test "x$with_cpu" != x; then
1110 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
1112 if test x${with_endian} = x; then
1114 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1115 *) with_endian=little ;;
1118 case ${with_endian} in
1120 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1122 case ${with_endian} in
1123 big*) tm_file="arc/big.h ${tm_file}"
1125 # Force .init_array support. The configure script cannot always
1126 # automatically detect that GAS supports it, yet we require it.
1127 gcc_cv_initfini_array=yes
1129 arm-wrs-vxworks|arm-wrs-vxworks7)
1130 extra_options="${extra_options} arm/vxworks.opt"
1131 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1134 # VxWorks7 on ARM adheres to the ARM Base Platform ABI
1135 tmake_file="${tmake_file} arm/t-bpabi"
1136 tm_file="arm/bpabi.h ${tm_file}"
1137 # The BPABI long long divmod functions return a 128-bit value in
1139 need_64bit_hwint=yes
1140 default_use_cxa_atexit=yes
1144 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1145 target_cpu_cname="arm8"
1147 arm*-*-freebsd*) # ARM FreeBSD EABI
1148 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1151 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1154 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1155 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1158 target_cpu_cname="arm1176jzf-s"
1159 if test $fbsd_major -ge 11; then
1160 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1164 target_cpu_cname="generic-armv7-a"
1165 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1168 target_cpu_cname="arm9"
1171 with_tls=${with_tls:-gnu}
1174 target_cpu_cname="strongarm"
1175 tmake_file="${tmake_file} arm/t-arm"
1176 tm_file="dbxelf.h elfos.h ${nbsd_tm_file} arm/elf.h"
1177 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1179 arm*eb-*) tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" ;;
1182 arm*-*-netbsdelf-*eabi*)
1183 tm_file="$tm_file arm/bpabi.h arm/netbsd-elf.h arm/netbsd-eabi.h"
1184 tmake_file="$tmake_file arm/t-bpabi arm/t-netbsdeabi"
1187 tm_file="$tm_file arm/netbsd-elf.h"
1188 tmake_file="$tmake_file arm/t-netbsd"
1191 tm_file="${tm_file} arm/aout.h arm/arm.h"
1193 arm*-*-netbsdelf-*eabihf*)
1194 # Hard-float requires at least Arm v5te
1195 target_cpu_cname="arm10e"
1196 tm_defines="${tm_defines} TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD"
1200 armv6*) target_cpu_cname="arm1176jzf-s";;
1201 armv7*) target_cpu_cname="generic-armv7-a";;
1204 arm*-*-linux-*) # ARM GNU/Linux with ELF
1205 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"
1206 extra_options="${extra_options} linux-android.opt"
1209 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1212 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1213 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h arm/arm.h"
1214 # Generation of floating-point instructions requires at least ARMv5te.
1215 if [ "$with_float" = "hard" -o "$with_float" = "softfp" ] ; then
1216 target_cpu_cname="arm10e"
1218 target_cpu_cname="arm10tdmi"
1220 # Define multilib configuration for arm-linux-androideabi.
1223 tmake_file="$tmake_file arm/t-linux-androideabi"
1226 # The EABI requires the use of __cxa_atexit.
1227 default_use_cxa_atexit=yes
1228 with_tls=${with_tls:-gnu}
1230 arm*-*-uclinux*eabi*) # ARM ucLinux
1231 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1232 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1233 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h arm/arm.h"
1234 target_cpu_cname="arm7tdmi"
1235 # The EABI requires the use of __cxa_atexit.
1236 default_use_cxa_atexit=yes
1239 tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1240 tm_file="${tm_file} newlib-stdint.h phoenix.h"
1241 tm_file="${tm_file} arm/aout.h arm/arm.h"
1242 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix"
1243 target_cpu_cname="arm7tdmi"
1245 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*)
1248 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1250 default_use_cxa_atexit=yes
1251 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1252 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1253 target_cpu_cname="arm7tdmi"
1256 tm_file="$tm_file newlib-stdint.h"
1257 tmake_file="${tmake_file} arm/t-bpabi"
1261 tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h"
1262 tmake_file="${tmake_file} arm/t-bpabi arm/t-fuchsia"
1263 target_cpu_cname="generic-armv7-a"
1266 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1267 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1270 tm_file="${tm_file} arm/symbian.h"
1271 # We do not include t-bpabi for Symbian OS because the system
1272 # provides its own implementation of the BPABI functions.
1273 tmake_file="${tmake_file} arm/t-symbian"
1274 target_cpu_cname="arm10tdmi"
1277 tm_file="${tm_file} arm/aout.h arm/arm.h"
1280 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1281 if test x${with_avrlibc} != xno; then
1282 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1283 tm_defines="${tm_defines} WITH_AVRLIBC"
1285 tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1287 extra_gcc_objs="driver-avr.o avr-devices.o"
1288 extra_objs="avr-devices.o avr-log.o"
1291 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1292 tmake_file=bfin/t-bfin-elf
1296 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1297 tmake_file=bfin/t-bfin-uclinux
1300 bfin*-linux-uclibc*)
1301 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"
1302 tmake_file="${tmake_file} bfin/t-bfin-linux"
1306 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1307 tmake_file="${tmake_file} bfin/t-rtems"
1310 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1315 tm_file="elfos.h ${tm_file} newlib-stdint.h"
1316 tmake_file="${tmake_file} cr16/t-cr16 "
1319 crisv32-*-elf | crisv32-*-none)
1320 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1321 tmake_file="cris/t-cris"
1322 target_cpu_default=32
1324 extra_options="${extra_options} cris/elf.opt"
1327 cris-*-elf | cris-*-none)
1328 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1329 tmake_file="cris/t-cris cris/t-elfmulti"
1331 extra_options="${extra_options} cris/elf.opt"
1334 crisv32-*-linux* | cris-*-linux*)
1335 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1336 tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1337 extra_options="${extra_options} cris/linux.opt"
1340 target_cpu_default=10
1343 target_cpu_default=32
1348 if test x${with_endian} != x; then
1349 case ${with_endian} in
1352 echo "with_endian=${with_endian} not supported."
1357 if test x${with_float} != x; then
1358 case ${with_float} in
1361 "Unknown floating point type used in --with-float=$with_float"
1366 tm_file="csky/csky.h"
1367 md_file="csky/csky.md"
1368 out_file="csky/csky.c"
1369 tm_p_file="${tm_p_file} csky/csky-protos.h"
1370 extra_options="${extra_options} csky/csky_tables.opt"
1372 if test x${enable_tpf_debug} = xyes; then
1373 tm_defines="${tm_defines} ENABLE_TPF_DEBUG"
1378 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} csky/csky-elf.h"
1379 tmake_file="csky/t-csky csky/t-csky-elf"
1380 default_use_cxa_atexit=no
1383 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} csky/csky-linux-elf.h"
1384 tmake_file="${tmake_file} csky/t-csky csky/t-csky-linux"
1386 if test "x${enable_multilib}" = xyes ; then
1387 tm_file="$tm_file ./sysroot-suffix.h"
1388 tmake_file="${tmake_file} csky/t-sysroot-suffix"
1393 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
1394 # Force .init_array support. The configure script cannot always
1395 # automatically detect that GAS supports it, yet we require it.
1396 gcc_cv_initfini_array=yes
1398 csky-*-linux-uclibc*)
1399 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
1400 default_use_cxa_atexit=no
1403 echo "Unknown target $target"
1409 echo "Unknown target $target"
1414 epiphany-*-elf | epiphany-*-rtems*)
1415 tm_file="${tm_file} dbxelf.h elfos.h"
1416 tmake_file="${tmake_file} epiphany/t-epiphany"
1419 tm_file="${tm_file} rtems.h epiphany/rtems.h newlib-stdint.h"
1422 tm_file="${tm_file} newlib-stdint.h"
1425 extra_options="${extra_options} fused-madd.opt"
1426 extra_objs="${extra_objs} mode-switch-use.o resolve-sw-modes.o"
1427 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1428 extra_headers="epiphany_intrinsics.h"
1431 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1434 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1435 tmake_file=frv/t-frv
1438 tm_file="dbxelf.h elfos.h ${tm_file} \
1439 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1440 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1445 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1446 tmake_file="${tmake_file} ft32/t-ft32"
1449 tm_file="elfos.h gcn/gcn-hsa.h gcn/gcn.h newlib-stdint.h"
1450 tmake_file="gcn/t-gcn-hsa"
1451 native_system_header_dir=/include
1452 extra_modes=gcn/gcn-modes.def
1453 extra_objs="${extra_objs} gcn-tree.o"
1454 extra_gcc_objs="driver-gcn.o"
1456 x86_64*-*-linux-gnu )
1457 if test "$ac_cv_search_dlopen" != no; then
1458 extra_programs="${extra_programs} gcn-run\$(exeext)"
1462 if test x$enable_as_accelerator = xyes; then
1463 extra_programs="${extra_programs} mkoffload\$(exeext)"
1464 tm_file="${tm_file} gcn/offload.h"
1466 # Force .init_array support.
1467 gcc_cv_initfini_array=yes
1473 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1474 tmake_file="${tmake_file} moxie/t-moxie"
1479 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1480 tmake_file="${tmake_file} moxie/t-moxie"
1483 tmake_file="${tmake_file} moxie/t-moxie"
1484 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1489 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1490 tmake_file="${tmake_file} moxie/t-moxiebox"
1493 tmake_file="h8300/t-h8300"
1494 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1497 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1498 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1501 target_cpu_default="MASK_PA_11|MASK_PA_20"
1502 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1503 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1505 tmake_file="${tmake_file} pa/t-pa pa/t-linux"
1506 d_target_objs="${d_target_objs} pa-d.o"
1510 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS|MASK_CALLER_COPIES"
1511 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1512 pa/pa32-regs.h pa/pa32-linux.h"
1513 tmake_file="${tmake_file} pa/t-pa pa/t-linux"
1514 d_target_objs="${d_target_objs} pa-d.o"
1517 target_cpu_default="MASK_PA_11"
1518 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1519 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1520 extra_options="${extra_options} openbsd.opt"
1521 tmake_file="pa/t-pa"
1522 d_target_objs="${d_target_objs} pa-d.o"
1527 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
1528 tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file} \
1529 pa/pa-netbsd.h pa/pa32-regs.h pa/pa32-netbsd.h"
1530 tmake_file="${tmake_file}"
1531 tm_defines="${tm_defines} CHAR_FAST8=1 SHORT_FAST16=1"
1532 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1534 hppa[12]*-*-hpux10*)
1536 hppa1.1-*-* | hppa2*-*-*)
1537 target_cpu_default="MASK_PA_11"
1540 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1541 pa/pa-hpux.h pa/pa-hpux10.h"
1542 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1545 tm_file="${tm_file} pa/pa-hpux1010.h"
1546 extra_options="${extra_options} pa/pa-hpux1010.opt"
1549 use_gcc_stdint=provide
1550 tm_file="${tm_file} hpux-stdint.h"
1551 tmake_file="pa/t-pa t-slibgcc"
1552 d_target_objs="${d_target_objs} pa-d.o"
1553 case ${enable_threads} in
1555 if test x$have_pthread_h = xyes ; then
1556 tmake_file="${tmake_file} pa/t-dce-thr"
1560 tmake_file="${tmake_file} pa/t-dce-thr"
1565 if test "x$with_dwarf2" != x; then
1566 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1571 target_cpu_default="MASK_PA_11|MASK_PA_20"
1572 if test x$gnu_ld = xyes
1574 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1576 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1577 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1581 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1582 extra_options="${extra_options} pa/pa-hpux1111.opt"
1585 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1586 extra_options="${extra_options} pa/pa-hpux1131.opt"
1589 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1592 extra_options="${extra_options} pa/pa-hpux.opt \
1593 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1594 tmake_file="pa/t-pa t-slibgcc"
1595 d_target_objs="${d_target_objs} pa-d.o"
1596 case x${enable_threads} in
1604 use_gcc_stdint=provide
1605 tm_file="${tm_file} hpux-stdint.h"
1609 tm_file="${tm_file} hpux-stdint.h"
1613 hppa[12]*-*-hpux11*)
1615 hppa1.1-*-* | hppa2*-*-*)
1616 target_cpu_default="MASK_PA_11"
1619 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1620 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1621 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1625 tm_file="${tm_file} pa/pa-hpux1111.h"
1626 extra_options="${extra_options} pa/pa-hpux1111.opt"
1629 tm_file="${tm_file} pa/pa-hpux1131.h"
1630 extra_options="${extra_options} pa/pa-hpux1131.opt"
1633 tmake_file="pa/t-pa t-slibgcc"
1634 d_target_objs="${d_target_objs} pa-d.o"
1635 case x${enable_threads} in
1644 use_gcc_stdint=provide
1645 tm_file="${tm_file} hpux-stdint.h"
1649 tm_file="${tm_file} hpux-stdint.h"
1652 if test "x$with_dwarf2" != x; then
1653 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1657 i[34567]86-*-darwin1[89]*)
1658 echo "Error: 32bit target is not supported after Darwin17" 1>&2
1660 i[34567]86-*-darwin*)
1662 # Baseline choice for a machine that allows m64 support.
1663 with_cpu=${with_cpu:-core2}
1664 tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch t-slibgcc"
1665 tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h"
1667 x86_64-*-darwin1[89]* | x86_64-*-darwin2[01]*)
1669 with_cpu=${with_cpu:-core2}
1670 tmake_file="${tmake_file} t-slibgcc"
1673 with_cpu=${with_cpu:-core2}
1674 tmake_file="${tmake_file} ${cpu_type}/t-darwin64-biarch t-slibgcc"
1675 tm_file="${tm_file} ${cpu_type}/darwin64-biarch.h"
1677 i[34567]86-*-elfiamcu)
1678 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
1681 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1684 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1687 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/rtemself.h rtems.h"
1690 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1693 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"
1694 tmake_file="i386/t-i386elf t-svr4"
1696 i[34567]86-*-dragonfly*)
1697 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1698 tmake_file="${tmake_file} i386/t-crtstuff"
1700 x86_64-*-dragonfly*)
1701 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"
1702 tmake_file="${tmake_file} i386/t-crtstuff"
1704 i[34567]86-*-freebsd*)
1705 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1708 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"
1710 i[34567]86-*-netbsdelf*)
1711 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${nbsd_tm_file} i386/netbsd-elf.h"
1712 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1715 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${nbsd_tm_file} i386/x86-64.h i386/netbsd64.h"
1716 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1718 i[34567]86-*-openbsd*)
1719 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1720 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1721 extra_options="${extra_options} openbsd.opt"
1726 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1727 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1728 extra_options="${extra_options} openbsd.opt"
1732 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1733 # Intel 80386's running GNU/*
1734 # with ELF format using glibc 2
1735 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1737 i[34567]86-*-linux*)
1738 tm_file="${tm_file} linux.h linux-android.h"
1739 extra_options="${extra_options} linux-android.opt"
1740 if test x$enable_targets = xall; then
1741 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1742 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1743 tmake_file="${tmake_file} i386/t-linux64"
1744 x86_multilibs="${with_multilib_list}"
1745 if test "$x86_multilibs" = "default"; then
1746 x86_multilibs="m64,m32"
1748 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1749 for x86_multilib in ${x86_multilibs}; do
1750 case ${x86_multilib} in
1752 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1755 echo "--with-multilib-list=${x86_with_multilib} not supported."
1759 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1761 if test x$with_cpu = x; then
1762 if test x$with_cpu_64 = x; then
1766 case " $x86_cpus $x86_archs $x86_64_archs " in
1770 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1771 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1777 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1780 i[34567]86-*-kfreebsd*-gnu)
1781 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1783 i[34567]86-*-kopensolaris*-gnu)
1784 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1787 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1791 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
1792 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1793 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1796 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1797 extra_options="${extra_options} linux-android.opt"
1799 x86_64-*-kfreebsd*-gnu)
1800 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1803 tmake_file="${tmake_file} i386/t-linux64"
1804 x86_multilibs="${with_multilib_list}"
1805 if test "$x86_multilibs" = "default"; then
1808 x86_multilibs="mx32"
1811 x86_multilibs="m64,m32"
1815 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1816 for x86_multilib in ${x86_multilibs}; do
1817 case ${x86_multilib} in
1819 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1822 echo "--with-multilib-list=${x86_with_multilib} not supported."
1826 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1828 i[34567]86-pc-msdosdjgpp*)
1829 xm_file=i386/xm-djgpp.h
1830 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1831 native_system_header_dir=/dev/env/DJDIR/include
1832 extra_options="${extra_options} i386/djgpp.opt"
1837 i[34567]86-*-lynxos*)
1839 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1840 tmake_file="${tmake_file} t-lynx"
1841 extra_options="${extra_options} lynx.opt"
1846 i[34567]86-*-nto-qnx*)
1847 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1848 extra_options="${extra_options} i386/nto.opt"
1852 i[34567]86-*-rtems*)
1853 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"
1854 tmake_file="${tmake_file} i386/t-rtems"
1856 i[34567]86-*-solaris2* | x86_64-*-solaris2*)
1857 # Set default arch_32 to pentium4, tune_32 to generic like the other
1858 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1859 with_arch_32=${with_arch_32:-pentium4}
1860 with_tune_32=${with_tune_32:-generic}
1861 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1862 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1863 tmake_file="$tmake_file i386/t-sol2"
1865 if test x$with_cpu = x; then
1866 if test x$with_cpu_64 = x; then
1870 case " $x86_cpus $x86_archs $x86_64_archs " in
1874 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1875 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1881 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae|i[4567]86-wrs-vxworks7|x86_64-wrs-vxworks7)
1882 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h"
1886 tm_file="${tm_file} i386/x86-64.h"
1889 tm_file="${tm_file} vx-common.h"
1892 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1893 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1896 tm_file="${tm_file} vxworks.h i386/vxworks.h"
1897 tmake_file="${tmake_file} i386/t-vxworks"
1901 i[34567]86-*-cygwin*)
1902 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"
1903 xm_file=i386/xm-cygwin.h
1904 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1905 target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
1906 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1907 extra_objs="${extra_objs} winnt.o winnt-stubs.o"
1908 c_target_objs="${c_target_objs} msformat-c.o"
1909 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1910 if test x$enable_threads = xyes; then
1913 default_use_cxa_atexit=yes
1918 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"
1919 xm_file=i386/xm-cygwin.h
1920 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1921 target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
1922 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1923 extra_objs="${extra_objs} winnt.o winnt-stubs.o"
1924 c_target_objs="${c_target_objs} msformat-c.o"
1925 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1926 if test x$enable_threads = xyes; then
1929 default_use_cxa_atexit=yes
1931 tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1933 i[34567]86-*-mingw* | x86_64-*-mingw*)
1934 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1935 xm_file=i386/xm-mingw32.h
1936 c_target_objs="${c_target_objs} winnt-c.o"
1937 cxx_target_objs="${cxx_target_objs} winnt-c.o"
1938 target_has_targetcm="yes"
1940 x86_64-*-* | *-w64-*)
1946 if test x$enable_threads = xposix ; then
1947 tm_file="${tm_file} i386/mingw-pthread.h"
1949 tm_file="${tm_file} i386/mingw32.h"
1950 # This makes the logic if mingw's or the w64 feature set has to be used
1953 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1954 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1955 tm_file="${tm_file} i386/mingw-w64.h"
1956 if test x$enable_targets = xall; then
1957 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1958 if test x$with_cpu = x; then
1959 if test x$with_cpu_64 = x; then
1963 case " $x86_cpus $x86_archs $x86_64_archs " in
1967 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1968 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1978 tm_file="${tm_file} i386/mingw-stdint.h"
1979 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1982 tmake_file="${tmake_file} i386/t-mingw-w64"
1985 tmake_file="${tmake_file} i386/t-mingw-w32"
1988 native_system_header_dir=/mingw/include
1989 target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
1990 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1993 extra_options="${extra_options} i386/mingw-w64.opt"
1998 extra_objs="${extra_objs} winnt.o winnt-stubs.o"
1999 c_target_objs="${c_target_objs} msformat-c.o"
2000 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
2003 default_use_cxa_atexit=yes
2005 case ${enable_threads} in
2015 tm_file="${tm_file} i386/crtdll.h"
2017 *mingw32msv* | *mingw*)
2022 tmake_file="${tmake_file} i386/t-x86_64-elf"
2023 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h fuchsia.h"
2026 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
2027 tmake_file="ia64/t-ia64"
2028 target_cpu_default="0"
2029 if test x$gas = xyes
2031 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
2033 if test x$gnu_ld = xyes
2035 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
2039 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
2040 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
2041 tmake_file="${tmake_file} ia64/t-ia64"
2044 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
2045 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
2046 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
2049 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
2050 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
2051 target_cpu_default="MASK_GNU_AS"
2052 case x$enable_threads in
2058 c_target_objs="ia64-c.o"
2059 cxx_target_objs="ia64-c.o"
2060 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
2062 tm_file="${tm_file} hpux-stdint.h"
2065 tm_file="${tm_file} ia64/hpux-unix2003.h"
2070 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
2071 tmake_file="${tmake_file} ia64/t-ia64"
2072 target_cpu_default="0"
2073 if test x$gas = xyes
2075 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
2077 extra_options="${extra_options} ia64/vms.opt"
2080 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
2081 out_file=iq2000/iq2000.c
2082 md_file=iq2000/iq2000.md
2085 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
2086 tmake_file="${tmake_file} lm32/t-lm32"
2089 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
2090 tmake_file="${tmake_file} lm32/t-lm32"
2091 tmake_file="${tmake_file} lm32/t-rtems"
2094 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
2095 tmake_file="${tmake_file} lm32/t-lm32"
2098 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2101 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
2104 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
2105 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
2107 if test x$enable_threads = xyes; then
2112 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
2113 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
2115 if test x$enable_threads = xyes; then
2119 m68k-*-elf* | fido-*-elf*)
2122 # Check that $with_cpu makes sense.
2127 echo "Cannot accept --with-cpu=$with_cpu"
2134 default_m68k_cpu=68020
2138 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"
2139 tm_defines="${tm_defines} MOTOROLA=1"
2140 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
2141 # Add multilibs for targets other than fido.
2146 tmake_file="$tmake_file m68k/t-mlibs"
2151 default_m68k_cpu=68020
2153 tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file} m68k/netbsd-elf.h"
2154 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2155 tm_defines="${tm_defines} MOTOROLA=1 CHAR_FAST8=1 SHORT_FAST16=1"
2158 default_m68k_cpu=68020
2160 # needed to unconfuse gdb
2161 tm_defines="${tm_defines} OBSD_OLD_GAS"
2162 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
2163 extra_options="${extra_options} openbsd.opt"
2164 tmake_file="t-openbsd m68k/t-openbsd"
2165 # we need collect2 until our bug is fixed...
2168 m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
2169 # with uClibc, using the new GNU/Linux-style
2171 default_m68k_cpu=68020
2173 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"
2174 extra_options="${extra_options} m68k/uclinux.opt"
2175 tm_defines="${tm_defines} MOTOROLA=1"
2176 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
2178 m68k-*-linux*) # Motorola m68k's running GNU/Linux
2179 # with ELF format using glibc 2
2180 # aka the GNU/Linux C library 6.
2181 default_m68k_cpu=68020
2183 with_arch=${with_arch:-m68k}
2184 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
2185 extra_options="${extra_options} m68k/ieee.opt"
2186 tm_defines="${tm_defines} MOTOROLA=1"
2187 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
2190 default_m68k_cpu=68020
2192 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
2193 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"
2194 tm_defines="${tm_defines} MOTOROLA=1"
2197 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
2198 tmake_file=mcore/t-mcore
2204 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2207 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2210 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
2211 tm_file="${tm_file} glibc-stdint.h"
2212 c_target_objs="${c_target_objs} microblaze-c.o"
2213 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2214 tmake_file="${tmake_file} microblaze/t-microblaze"
2215 tmake_file="${tmake_file} microblaze/t-microblaze-linux"
2217 microblaze*-*-rtems*)
2220 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2223 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2226 tm_file="${tm_file} dbxelf.h"
2227 tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
2228 c_target_objs="${c_target_objs} microblaze-c.o"
2229 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2230 tmake_file="${tmake_file} microblaze/t-microblaze"
2231 tmake_file="${tmake_file} microblaze/t-rtems"
2236 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2239 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2242 tm_file="${tm_file} dbxelf.h newlib-stdint.h"
2243 c_target_objs="${c_target_objs} microblaze-c.o"
2244 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2245 tmake_file="${tmake_file} microblaze/t-microblaze"
2248 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} riscv/linux.h"
2249 case "x${enable_multilib}" in
2251 xyes) tmake_file="${tmake_file} riscv/t-linux-multilib" ;;
2252 *) echo "Unknown value for enable_multilib"; exit 1
2254 tmake_file="${tmake_file} riscv/t-riscv riscv/t-linux"
2257 # Force .init_array support. The configure script cannot always
2258 # automatically detect that GAS supports it, yet we require it.
2259 gcc_cv_initfini_array=yes
2261 riscv*-*-elf* | riscv*-*-rtems*)
2262 tm_file="elfos.h newlib-stdint.h ${tm_file} riscv/elf.h"
2265 tm_file="${tm_file} rtems.h riscv/rtems.h"
2266 tmake_file="${tmake_file} riscv/t-rtems"
2269 case "x${enable_multilib}" in
2271 xyes) tmake_file="${tmake_file} riscv/t-elf-multilib" ;;
2272 *) echo "Unknown value for enable_multilib"; exit 1
2275 tmake_file="${tmake_file} riscv/t-riscv"
2278 # Force .init_array support. The configure script cannot always
2279 # automatically detect that GAS supports it, yet we require it.
2280 gcc_cv_initfini_array=yes
2283 tm_file="${tm_file} elfos.h ${fbsd_tm_file} riscv/freebsd.h"
2284 tmake_file="${tmake_file} riscv/t-riscv"
2287 # Force .init_array support. The configure script cannot always
2288 # automatically detect that GAS supports it, yet we require it.
2289 gcc_cv_initfini_array=yes
2291 mips*-*-netbsd*) # NetBSD/mips, either endian.
2292 target_cpu_default="MASK_ABICALLS"
2293 tm_file="elfos.h ${tm_file} mips/elf.h ${nbsd_tm_file} mips/netbsd.h"
2294 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2297 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"
2298 extra_options="${extra_options} linux-android.opt"
2299 tmake_file="${tmake_file} mips/t-img-linux"
2300 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2301 with_arch_32="mips32r6"
2302 with_arch_64="mips64r6"
2307 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"
2308 extra_options="${extra_options} linux-android.opt"
2309 tmake_file="${tmake_file} mips/t-mti-linux"
2310 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2311 with_arch_32="mips32r2"
2312 with_arch_64="mips64r2"
2316 mips*-*-linux*) # Linux MIPS, either endian.
2317 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"
2318 extra_options="${extra_options} linux-android.opt"
2321 default_mips_arch=mips32r6
2324 default_mips_arch=mips32r2
2327 default_mips_arch=mips32
2329 mips64el-st-linux-gnu)
2330 default_mips_abi=n32
2331 tm_file="${tm_file} mips/st.h"
2332 tmake_file="${tmake_file} mips/t-st"
2333 enable_mips_multilibs="yes"
2335 mips64octeon*-*-linux*)
2336 default_mips_abi=n32
2337 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2338 target_cpu_default=MASK_SOFT_FLOAT_ABI
2339 enable_mips_multilibs="yes"
2341 mipsisa64r6*-*-linux*)
2342 default_mips_abi=n32
2343 default_mips_arch=mips64r6
2344 enable_mips_multilibs="yes"
2346 mipsisa64r2*-*-linux*)
2347 default_mips_abi=n32
2348 default_mips_arch=mips64r2
2349 enable_mips_multilibs="yes"
2351 mips64*-*-linux* | mipsisa64*-*-linux*)
2352 default_mips_abi=n32
2353 enable_mips_multilibs="yes"
2356 if test x$enable_targets = xall; then
2357 enable_mips_multilibs="yes"
2359 if test x$enable_mips_multilibs = xyes; then
2360 tmake_file="${tmake_file} mips/t-linux64"
2364 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2365 tmake_file="mips/t-mti-elf"
2366 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2367 with_arch_32="mips32r2"
2368 with_arch_64="mips64r2"
2371 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2372 tmake_file="mips/t-img-elf"
2373 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2374 with_arch_32="mips32r6"
2375 with_arch_64="mips64r6"
2378 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2379 tmake_file="mips/t-sde"
2380 extra_options="${extra_options} mips/sde.opt"
2381 case "${with_newlib}" in
2383 # newlib / libgloss.
2386 # MIPS toolkit libraries.
2387 tm_file="$tm_file mips/sdemtk.h"
2388 tmake_file="$tmake_file mips/t-sdemtk"
2389 case ${enable_threads} in
2391 thread_file='mipssde'
2398 tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2401 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2404 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2407 tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2410 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2413 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2417 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2418 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2419 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2420 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2421 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2422 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2423 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2424 tmake_file="mips/t-isa3264"
2427 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2430 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2433 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2436 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2439 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2442 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2446 mipsisa32*-*-elfoabi*)
2447 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2448 tm_file="${tm_file} mips/elfoabi.h"
2450 mipsisa64*-*-elfoabi*)
2451 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2452 tm_file="${tm_file} mips/elfoabi.h"
2455 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2459 mipsisa64sr71k-*-elf*)
2460 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2461 tmake_file=mips/t-sr71k
2462 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2464 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2465 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2466 tmake_file="mips/t-elf mips/t-sb1"
2467 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2469 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2470 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2471 tmake_file="mips/t-elf"
2473 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2474 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2475 tmake_file="mips/t-elf"
2476 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2478 mips64-*-elf* | mips64el-*-elf*)
2479 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2480 tmake_file="mips/t-elf"
2481 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2483 mips64vr-*-elf* | mips64vrel-*-elf*)
2484 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2485 tmake_file=mips/t-vr
2486 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2488 mips64orion-*-elf* | mips64orionel-*-elf*)
2489 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2490 tmake_file="mips/t-elf"
2491 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2494 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2495 tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2498 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2499 tmake_file="${tmake_file} mips/t-vxworks"
2501 mipstx39-*-elf* | mipstx39el-*-elf*)
2502 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2503 tmake_file="mips/t-r3900"
2505 mmix-knuth-mmixware)
2506 tm_file="${tm_file} newlib-stdint.h"
2510 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2511 if test x$stabs = xyes
2513 tm_file="${tm_file} dbx.h"
2519 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2520 c_target_objs="msp430-c.o"
2521 cxx_target_objs="msp430-c.o"
2522 tmake_file="${tmake_file} msp430/t-msp430"
2523 extra_objs="${extra_objs} msp430-devices.o"
2524 extra_gcc_objs="driver-msp430.o msp430-devices.o"
2525 # Enable .init_array unless it has been explicitly disabled.
2526 # The MSP430 EABI mandates the use of .init_array, and the Newlib CRT
2527 # code since mid-2019 expects it.
2528 if test x${disable_initfini_array} != xyes; then
2529 gcc_cv_initfini_array=yes
2533 target_cpu_default="0"
2534 tm_defines="${tm_defines}"
2539 target_cpu_default="${target_cpu_default}|MASK_BIG_ENDIAN"
2540 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2545 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} nds32/elf.h nds32/nds32_intrinsic.h"
2546 tmake_file="nds32/t-nds32 nds32/t-elf"
2549 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h nds32/linux.h nds32/nds32_intrinsic.h"
2550 tmake_file="${tmake_file} nds32/t-nds32 nds32/t-linux"
2551 gcc_cv_initfini_array=yes
2555 # Handle --enable-default-relax setting.
2556 if test x${enable_default_relax} = xyes; then
2557 tm_defines="${tm_defines} TARGET_DEFAULT_RELAX=1"
2559 # Handle --with-ext-dsp
2560 if test x${with_ext_dsp} = xyes; then
2561 tm_defines="${tm_defines} TARGET_DEFAULT_EXT_DSP=1"
2565 tm_file="elfos.h ${tm_file}"
2566 tmake_file="${tmake_file} nios2/t-nios2"
2569 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2572 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2573 extra_options="${extra_options} nios2/elf.opt"
2576 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2577 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2582 tm_file="${tm_file} newlib-stdint.h"
2584 tmake_file="nvptx/t-nvptx"
2585 if test x$enable_as_accelerator = xyes; then
2586 extra_programs="${extra_programs} mkoffload\$(exeext)"
2587 tm_file="${tm_file} nvptx/offload.h"
2591 tm_file="elfos.h ${tm_file}"
2592 tmake_file="${tmake_file} or1k/t-or1k"
2593 # Force .init_array support. The configure script cannot always
2594 # automatically detect that GAS supports it, yet we require it.
2595 gcc_cv_initfini_array=yes
2597 # Handle --with-multilib-list=...
2598 or1k_multilibs="${with_multilib_list}"
2599 if test "$or1k_multilibs" = "default"; then
2600 or1k_multilibs="mcmov,msoft-mul,msoft-div"
2602 or1k_multilibs=`echo $or1k_multilibs | sed -e 's/,/ /g'`
2603 for or1k_multilib in ${or1k_multilibs}; do
2604 case ${or1k_multilib} in
2605 mcmov | msext | msfimm | \
2607 mhard-float | mdouble-float | munordered-float | msoft-float | \
2608 mhard-div | mhard-mul | \
2609 msoft-div | msoft-mul )
2610 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${or1k_multilib}"
2613 echo "--with-multilib-list=${with_multilib_list} not supported."
2617 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
2621 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h"
2622 tm_file="${tm_file} or1k/linux.h"
2625 tm_file="${tm_file} newlib-stdint.h or1k/elf.h"
2626 extra_options="${extra_options} or1k/elf.opt"
2629 tm_file="${tm_file} newlib-stdint.h or1k/rtems.h rtems.h"
2630 tmake_file="${tmake_file} or1k/t-rtems"
2635 tm_file="${tm_file} newlib-stdint.h"
2638 # port not yet contributed
2639 #powerpc-*-openbsd*)
2640 # tmake_file="${tmake_file} rs6000/t-fprules"
2644 extra_options="${extra_options} ${cpu_type}/darwin.opt"
2646 *-darwin1[0-9]* | *-darwin9*)
2647 tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch"
2648 tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h"
2651 tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch"
2652 tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h"
2653 tm_file="${tm_file} ${cpu_type}/darwin8.h"
2656 tm_file="${tm_file} ${cpu_type}/darwin7.h"
2659 # Earlier - ingle arch, with 32b only
2660 # OS X 10.0, the first edition is Darwin4
2663 tmake_file="${tmake_file} t-slibgcc"
2665 powerpc64-*-darwin*)
2666 extra_options="${extra_options} ${cpu_type}/darwin.opt"
2667 tmake_file="${tmake_file} ${cpu_type}/t-darwin64-biarch t-slibgcc"
2668 tm_file="${tm_file} ${cpu_type}/darwin64-biarch.h"
2670 powerpc*-*-freebsd*)
2671 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h ${fbsd_tm_file} rs6000/sysv4.h"
2672 extra_options="${extra_options} rs6000/sysv4.opt"
2673 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2676 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2677 tmake_file="${tmake_file} rs6000/t-freebsd64"
2678 extra_options="${extra_options} rs6000/linux64.opt"
2681 tm_file="${tm_file} rs6000/freebsd.h"
2686 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h ${nbsd_tm_file} freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2687 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2688 tmake_file="${tmake_file} rs6000/t-netbsd"
2689 extra_options="${extra_options} rs6000/sysv4.opt"
2691 powerpc-*-eabisimaltivec*)
2692 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h"
2693 extra_options="${extra_options} rs6000/sysv4.opt"
2694 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2698 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
2699 extra_options="${extra_options} rs6000/sysv4.opt"
2700 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2704 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2705 extra_options="${extra_options} rs6000/sysv4.opt"
2706 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2708 powerpc-*-eabialtivec*)
2709 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
2710 extra_options="${extra_options} rs6000/sysv4.opt"
2711 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2715 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h"
2716 extra_options="${extra_options} rs6000/sysv4.opt"
2717 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2721 tm_file="rs6000/biarch64.h ${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/rtems.h rtems.h"
2722 extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
2723 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2726 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h freebsd-spec.h rs6000/sysv4.h"
2727 extra_options="${extra_options} rs6000/sysv4.opt"
2728 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2729 extra_objs="$extra_objs rs6000-linux.o"
2732 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2734 case ${target}:${with_cpu} in
2735 powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2737 maybe_biarch=${cpu_is_64bit}
2738 case ${enable_targets} in
2739 *powerpc64*) maybe_biarch=yes ;;
2740 all) maybe_biarch=yes ;;
2742 case ${target}:${enable_targets}:${maybe_biarch} in
2743 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2744 | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2745 | powerpcle-*:*powerpc64le*:yes)
2746 if test x$cpu_is_64bit = xyes; then
2747 tm_file="${tm_file} rs6000/default64.h"
2749 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2750 tmake_file="$tmake_file rs6000/t-linux64"
2753 tmake_file="$tmake_file rs6000/t-linux64le"
2754 case ${enable_targets} in
2755 all | *powerpc64-* | *powerpc-*)
2756 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2759 case ${enable_targets} in
2760 all | *powerpc64le-* | *powerpcle-*)
2761 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2764 extra_options="${extra_options} rs6000/linux64.opt"
2767 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2768 extra_options="${extra_options} rs6000/linux64.opt"
2769 tmake_file="${tmake_file} rs6000/t-linux"
2772 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2773 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2777 powerpc*-*-linux*ppc476*)
2778 tm_file="${tm_file} rs6000/476.h"
2779 extra_options="${extra_options} rs6000/476.opt" ;;
2780 powerpc*-*-linux*altivec*)
2781 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2785 enable_secureplt=yes ;;
2787 if test x${enable_secureplt} = xyes; then
2788 tm_file="rs6000/secureplt.h ${tm_file}"
2791 powerpc-wrs-vxworks*)
2792 tm_file="${tm_file} elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2793 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2794 extra_options="${extra_options} rs6000/sysv4.opt"
2795 extra_headers=ppc-asm.h
2798 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksmils.h"
2799 tmake_file="${tmake_file} rs6000/t-vxworksmils"
2802 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksae.h"
2803 tmake_file="${tmake_file} rs6000/t-vxworksae"
2806 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h"
2812 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2813 tmake_file="t-lynx rs6000/t-lynx"
2814 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2820 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2821 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2822 extra_options="${extra_options} rs6000/sysv4.opt"
2824 powerpcle-*-eabisim*)
2825 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
2826 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2827 extra_options="${extra_options} rs6000/sysv4.opt"
2831 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
2832 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2833 extra_options="${extra_options} rs6000/sysv4.opt"
2837 tm_file="elfos.h newlib-stdint.h ${tm_file}"
2838 tmake_file="${tmake_file} pru/t-pru"
2839 extra_objs="pru-pragma.o pru-passes.o"
2842 rs6000-ibm-aix6.* | powerpc-ibm-aix6.*)
2843 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2844 tmake_file="rs6000/t-aix52 t-slibgcc"
2845 extra_options="${extra_options} rs6000/aix64.opt"
2849 default_use_cxa_atexit=yes
2851 rs6000-ibm-aix7.1.* | powerpc-ibm-aix7.1.*)
2852 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h"
2853 tmake_file="rs6000/t-aix52 t-slibgcc"
2854 extra_options="${extra_options} rs6000/aix64.opt"
2858 default_use_cxa_atexit=yes
2860 rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*)
2861 tm_file="${tm_file} rs6000/aix.h rs6000/aix72.h rs6000/xcoff.h rs6000/aix-stdint.h"
2862 tmake_file="rs6000/t-aix52 t-slibgcc"
2863 extra_options="${extra_options} rs6000/aix64.opt"
2867 default_use_cxa_atexit=yes
2870 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2871 target_has_targetm_common=no
2872 c_target_objs="rl78-c.o"
2873 cxx_target_objs="rl78-c.o"
2874 tmake_file="${tmake_file} rl78/t-rl78"
2877 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2878 tmake_file="${tmake_file} rx/t-rx"
2879 extra_options="${extra_options} rx/elf.opt"
2882 tm_file="elfos.h linux.h glibc-stdint.h rx/linux.h ../../libgcc/config/rx/rx-abi.h"
2883 tmake_file="${tmake_file} rx/t-linux"
2886 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2887 c_target_objs="${c_target_objs} s390-c.o"
2888 cxx_target_objs="${cxx_target_objs} s390-c.o"
2889 if test x$enable_targets = xall; then
2890 tmake_file="${tmake_file} s390/t-linux64"
2892 tmake_file="${tmake_file} s390/t-s390"
2895 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2896 tm_p_file="linux-protos.h s390/s390-protos.h"
2897 c_target_objs="${c_target_objs} s390-c.o"
2898 cxx_target_objs="${cxx_target_objs} s390-c.o"
2899 md_file=s390/s390.md
2900 extra_modes=s390/s390-modes.def
2901 out_file=s390/s390.c
2902 tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
2905 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2906 tm_p_file=s390/s390-protos.h
2907 c_target_objs="${c_target_objs} s390-c.o"
2908 cxx_target_objs="${cxx_target_objs} s390-c.o"
2909 md_file=s390/s390.md
2910 extra_modes=s390/s390-modes.def
2911 out_file=s390/s390.c
2913 extra_options="${extra_options} s390/tpf.opt"
2914 tmake_file="${tmake_file} s390/t-s390"
2916 sh-*-elf* | sh[12346l]*-*-elf* | \
2917 sh-*-linux* | sh[2346lbe]*-*-linux* | \
2918 sh-*-netbsdelf* | shl*-*-netbsdelf*)
2919 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2920 if test x${with_endian} = x; then
2922 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2923 shbe-*-* | sheb-*-*) with_endian=big,little ;;
2924 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
2925 shl* | sh*-*-linux* | \
2926 sh-superh-elf) with_endian=little,big ;;
2927 sh[1234]*-*-*) with_endian=big ;;
2928 *) with_endian=big,little ;;
2931 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2932 # First word : the default endian.
2933 # Second word: the secondary endian (optional).
2934 case ${with_endian} in
2935 big) TM_ENDIAN_CONFIG=mb ;;
2936 little) TM_ENDIAN_CONFIG=ml ;;
2937 big,little) TM_ENDIAN_CONFIG="mb ml" ;;
2938 little,big) TM_ENDIAN_CONFIG="ml mb" ;;
2939 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
2941 case ${with_endian} in
2942 little*) tm_file="sh/little.h ${tm_file}" ;;
2944 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2946 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
2947 if test x$enable_fdpic = xyes; then
2948 tm_defines="$tm_defines FDPIC_DEFAULT=1"
2950 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2952 tm_file="${tm_file} ${nbsd_tm_file} sh/netbsd-elf.h"
2953 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2956 sh*-superh-elf) if test x$with_libgloss != xno; then
2958 tm_file="${tm_file} sh/newlib.h"
2960 tm_file="${tm_file} sh/embed-elf.h"
2961 tm_file="${tm_file} sh/superh.h"
2962 extra_options="${extra_options} sh/superh.opt" ;;
2963 *) if test x$with_newlib = xyes \
2964 && test x$with_libgloss = xyes; then
2965 tm_file="${tm_file} sh/newlib.h"
2967 tm_file="${tm_file} sh/embed-elf.h" ;;
2973 tm_file="${tm_file} newlib-stdint.h"
2976 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2977 case `echo ${target} | sed 's/e[lb]-/-/'` in
2978 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2979 sh4a_single*) sh_cpu_target=sh4a-single ;;
2980 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2981 sh4al) sh_cpu_target=sh4al ;;
2982 sh4a*) sh_cpu_target=sh4a ;;
2983 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2984 sh4_single*) sh_cpu_target=sh4-single ;;
2985 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2986 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2987 sh3e*) sh_cpu_target=sh3e ;;
2988 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
2989 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2990 sh2a_single*) sh_cpu_target=sh2a-single ;;
2991 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2992 sh2a*) sh_cpu_target=sh2a ;;
2993 sh2e*) sh_cpu_target=sh2e ;;
2994 sh2*) sh_cpu_target=sh2 ;;
2995 *) sh_cpu_target=sh1 ;;
2997 # did the user say --without-fp ?
2998 if test x$with_fp = xno; then
2999 case ${sh_cpu_target} in
3001 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
3002 sh4*) sh_cpu_target=sh4-nofpu ;;
3003 sh3*) sh_cpu_target=sh3 ;;
3004 sh2a*) sh_cpu_target=sh2a-nofpu ;;
3005 sh2*) sh_cpu_target=sh2 ;;
3006 *) echo --without-fp not available for $target: ignored
3008 tm_defines="$tm_defines STRICT_NOFPU=1"
3010 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
3011 case $sh_cpu_default in
3012 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
3013 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
3014 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
3015 sh3e | sh3 | sh2e | sh2 | sh1) ;;
3016 "") sh_cpu_default=${sh_cpu_target} ;;
3017 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
3019 sh_multilibs=${with_multilib_list}
3020 if test "$sh_multilibs" = "default" ; then
3022 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
3023 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
3024 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
3025 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
3026 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
3028 if test x$with_fp = xno; then
3029 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`"
3032 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
3033 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
3034 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
3035 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
3036 for sh_multilib in ${sh_multilibs}; do
3037 case ${sh_multilib} in
3038 m1 | m2 | m2e | m3 | m3e | \
3039 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
3040 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
3041 m2a | m2a-single | m2a-single-only | m2a-nofpu)
3042 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
3043 # It is passed to MULTIILIB_OPTIONS verbatim.
3044 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
3045 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
3047 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
3048 # It is passed the MULTILIB_EXCEPTIONS verbatim.
3049 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
3051 echo "with_multilib_list=${sh_multilib} not supported."
3056 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
3057 if test x${enable_incomplete_targets} = xyes ; then
3058 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1"
3060 tm_file="$tm_file ./sysroot-suffix.h"
3061 tmake_file="$tmake_file t-sysroot-suffix"
3064 tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
3065 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
3068 tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
3069 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
3072 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
3075 tmake_file="sparc/t-sparc sparc/t-leon"
3078 tmake_file="sparc/t-sparc sparc/t-leon3"
3081 tmake_file="sparc/t-sparc sparc/t-elf"
3086 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
3087 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
3090 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
3091 extra_options="${extra_options} sparc/long-double-switch.opt"
3094 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
3097 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
3100 tmake_file="${tmake_file} sparc/t-sparc"
3103 if test x$enable_targets = xall; then
3104 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
3105 tmake_file="${tmake_file} sparc/t-linux64"
3107 tm_file="${tm_file} sparc/linux.h"
3108 tmake_file="${tmake_file} sparc/t-linux"
3112 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h ${nbsd_tm_file} sparc/netbsd-elf.h"
3113 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
3114 extra_options="${extra_options} sparc/long-double-switch.opt"
3115 tmake_file="${tmake_file} sparc/t-sparc"
3118 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
3120 sparc64-*-* | sparcv9-*-*)
3121 tm_file="sparc/default64.h ${tm_file}"
3124 test x$with_cpu != x || with_cpu=v9
3127 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
3130 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
3131 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
3134 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
3135 extra_options="${extra_options}"
3136 tmake_file="${tmake_file} sparc/t-sparc"
3139 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
3140 extra_options="${extra_options}"
3141 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
3144 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
3145 extra_options="${extra_options} sparc/long-double-switch.opt"
3146 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
3148 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
3149 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
3150 extra_options="${extra_options} sparc/long-double-switch.opt"
3151 case "x$with_cpu" in
3153 x) with_cpu=ultrasparc ;;
3154 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
3156 tmake_file="${tmake_file} sparc/t-sparc"
3159 tm_file="sparc/biarch64.h ${tm_file}"
3160 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h ${nbsd_tm_file} sparc/netbsd-elf.h"
3161 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
3162 extra_options="${extra_options} sparc/long-double-switch.opt"
3163 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
3166 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
3167 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
3168 extra_options="${extra_options} openbsd.opt"
3169 extra_options="${extra_options}"
3172 tmake_file="${tmake_file} sparc/t-sparc"
3175 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
3176 tmake_file="spu/t-spu-elf"
3177 native_system_header_dir=/include
3178 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
3179 extra_modes=spu/spu-modes.def
3180 c_target_objs="${c_target_objs} spu-c.o"
3181 cxx_target_objs="${cxx_target_objs} spu-c.o"
3184 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
3185 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
3186 tmake_file="c6x/t-c6x c6x/t-c6x-elf"
3190 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
3191 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
3192 tm_file="${tm_file} ./sysroot-suffix.h"
3193 tmake_file="t-sysroot-suffix t-slibgcc"
3194 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
3198 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
3199 tmake_file="${tmake_file} tilegx/t-tilegx"
3200 extra_objs="${extra_objs} mul-tables.o"
3201 c_target_objs="${c_target_objs} tilegx-c.o"
3202 cxx_target_objs="${cxx_target_objs} tilegx-c.o"
3203 extra_headers="feedback.h"
3206 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
3211 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
3212 tmake_file="${tmake_file} tilepro/t-tilepro"
3213 extra_objs="${extra_objs} mul-tables.o"
3214 c_target_objs="${c_target_objs} tilepro-c.o"
3215 cxx_target_objs="${cxx_target_objs} tilepro-c.o"
3216 extra_headers="feedback.h"
3219 target_cpu_default="TARGET_CPU_generic"
3220 tm_file="dbxelf.h elfos.h v850/v850.h"
3221 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
3222 tmake_file="${tmake_file} v850/t-v850"
3223 tmake_file="${tmake_file} v850/t-rtems"
3225 c_target_objs="v850-c.o"
3226 cxx_target_objs="v850-c.o"
3231 target_cpu_default="TARGET_CPU_v850e3v5"
3234 target_cpu_default="TARGET_CPU_v850e2v3"
3237 target_cpu_default="TARGET_CPU_v850e2"
3239 v850e1-*-* | v850es-*-*)
3240 target_cpu_default="TARGET_CPU_v850e1"
3243 target_cpu_default="TARGET_CPU_v850e"
3246 target_cpu_default="TARGET_CPU_generic"
3249 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
3250 if test x$stabs = xyes
3252 tm_file="${tm_file} dbx.h"
3255 c_target_objs="v850-c.o"
3256 cxx_target_objs="v850-c.o"
3260 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
3261 extra_options="${extra_options} vax/elf.opt"
3264 tm_file="${tm_file} elfos.h ${nbsd_tm_file} vax/elf.h vax/netbsd-elf.h"
3265 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
3266 tm_defines="${tm_defines} CHAR_FAST8=1 SHORT_FAST16=1"
3269 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
3270 extra_options="${extra_options} openbsd.opt"
3274 tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
3275 tmake_file="visium/t-visium visium/t-crtstuff"
3278 # For historical reasons, the target files omit the 'x'.
3279 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
3280 tm_p_file=stormy16/stormy16-protos.h
3281 tm_d_file="elfos.h stormy16/stormy16.h"
3282 md_file=stormy16/stormy16.md
3283 out_file=stormy16/stormy16.c
3284 extra_options=stormy16/stormy16.opt
3285 tmake_file="stormy16/t-stormy16"
3288 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
3289 extra_options="${extra_options} xtensa/elf.opt"
3292 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
3293 tmake_file="${tmake_file} xtensa/t-xtensa"
3296 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h"
3297 tmake_file="${tmake_file} xtensa/t-xtensa"
3298 extra_options="${extra_options} xtensa/uclinux.opt"
3301 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
3306 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
3307 c_target_objs="m32c-pragma.o"
3308 cxx_target_objs="m32c-pragma.o"
3311 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
3312 c_target_objs="m32c-pragma.o"
3313 cxx_target_objs="m32c-pragma.o"
3316 echo "*** Configuration ${target} not supported" 1>&2
3322 i[34567]86-*-linux* | x86_64-*-linux*)
3323 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
3325 i[34567]86-*-* | x86_64-*-*)
3326 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
3328 powerpc*-*-* | rs6000-*-*)
3329 tm_file="${tm_file} ${cpu_type}/option-defaults.h"
3335 tmake_file="${tmake_file} t-musl"
3338 tmake_file="${tmake_file} t-uclibc"
3342 # Assume the existence of indirect function support and allow the use of the
3343 # resolver attribute.
3345 *-*-linux*android*|*-*-linux*uclibc*|*-*-linux*musl*)
3349 aarch64*-* | arm*-* | i[34567]86-* | powerpc*-* | s390*-* | sparc*-* | x86_64-*)
3350 default_gnu_indirect_function=yes
3356 # Build mkoffload tool
3358 *-intelmic-* | *-intelmicemul-*)
3359 tmake_file="${tmake_file} i386/t-intelmic"
3360 tm_file="${tm_file} i386/intelmic-offload.h"
3364 if [ "$target_has_targetcm" = "no" ]; then
3365 c_target_objs="$c_target_objs default-c.o"
3366 cxx_target_objs="$cxx_target_objs default-c.o"
3369 if [ "$common_out_file" = "" ]; then
3370 if [ "$target_has_targetm_common" = "yes" ]; then
3371 common_out_file="$cpu_type/$cpu_type-common.c"
3373 common_out_file="default-common.c"
3377 if [ "$target_has_targetdm" = "no" ]; then
3378 d_target_objs="$d_target_objs default-d.o"
3381 # Support for --with-cpu and related options (and a few unrelated options,
3385 echo "--with-cpu must be passed a value" 1>&2
3390 # Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
3391 # to generic if there is no processor scheduler model for the target.
3394 arch_without_sse2=no
3395 arch_without_64bit=no
3398 if test $fbsd_major -ge 6; then
3404 arch_without_sse2=yes
3405 arch_without_64bit=yes
3410 arch_without_sse2=yes
3411 arch_without_64bit=yes
3416 arch_without_sse2=yes
3417 arch_without_64bit=yes
3422 arch_without_sse2=yes
3423 arch_without_64bit=yes
3426 arch_without_sse2=yes
3427 arch_without_64bit=yes
3428 case ${target_noncanonical} in
3441 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3451 i686-*-* | i786-*-*)
3452 case ${target_noncanonical} in
3485 amdfam10-*|barcelona-*)
3489 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3493 k8-*|opteron-*|athlon64-*|athlon_fx-*)
3497 athlon_xp-*|athlon_mp-*|athlon_4-*)
3500 arch_without_sse2=yes
3501 arch_without_64bit=yes
3503 athlon_tbird-*|athlon-*)
3506 arch_without_sse2=yes
3511 arch_without_sse2=yes
3516 arch_without_sse2=yes
3518 pentium3-*|pentium3m-*)
3521 arch_without_sse2=yes
3523 pentium4-*|pentium4m-*)
3562 arch_without_sse2=yes
3567 arch_without_sse2=yes
3568 arch_without_64bit=yes
3573 case ${target_noncanonical} in
3606 amdfam10-*|barcelona-*)
3610 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3614 k8-*|opteron-*|athlon_64-*)
3646 # If there is no $with_cpu option, try to infer one from ${target}.
3647 # This block sets nothing except for with_cpu.
3648 if test x$with_cpu = x ; then
3650 i[34567]86-*-elfiamcu)
3653 i[34567]86-*-*|x86_64-*-*)
3671 frv-*-*linux* | frv400-*-*linux*)
3678 case "$with_arch" in
3680 with_cpu=${default_cf_cpu}
3683 with_cpu=m${default_m68k_cpu}
3699 with_cpu="`echo ${target} | sed 's/-.*$//'`"
3708 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3710 i[34567]86-*-*|x86_64-*-*)
3711 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3712 if test x$with_cpu_32 = x; then
3713 with_cpu_32=$with_cpu
3715 if test x$with_cpu_64 = x; then
3716 with_cpu_64=$with_cpu
3724 # Support for --with-arch and related options (and a few unrelated options,
3726 case ${with_arch} in
3728 echo "--with-arch must be passed a value" 1>&2
3733 # If there is no $with_arch option, try to infer one from ${target}.
3734 # This block sets nothing except for with_arch.
3735 if test x$with_arch = x ; then
3737 i[34567]86-*-darwin*|x86_64-*-darwin*)
3738 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3739 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3741 i[34567]86-*-elfiamcu)
3745 # --with-fpmath sets the default ISA to SSE2, which is the same
3746 # ISA supported by Pentium 4.
3747 if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3756 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3764 # Avoid overriding --with-arch-32 and --with-arch-64 values.
3766 i[34567]86-*-darwin*|x86_64-*-darwin*)
3767 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3768 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3770 i[34567]86-*-*|x86_64-*-*)
3771 if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3772 if test x$with_arch_32 = x; then
3773 with_arch_32=$with_arch
3775 if test x$with_arch_64 = x; then
3776 if test $arch_without_64bit = yes; then
3777 # Set the default 64bit arch to x86-64 if the default arch
3778 # doesn't support 64bit.
3781 with_arch_64=$with_arch
3785 elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3786 # Set the default 64bit arch to x86-64 if the default arch
3787 # doesn't support 64bit and we need 64bit ISA.
3788 with_arch_32=$with_arch
3796 # Infer a default setting for --with-float.
3797 if test x$with_float = x; then
3799 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3800 # The R5900 doesn't support 64-bit float. 32-bit float doesn't
3801 # comply with IEEE 754.
3807 # Infer a default setting for --with-fpu.
3808 if test x$with_fpu = x; then
3810 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3811 # The R5900 FPU only supports single precision.
3817 # Support --with-fpmath.
3818 if test x$with_fpmath != x; then
3820 i[34567]86-*-* | x86_64-*-*)
3821 case ${with_fpmath} in
3823 tm_file="${tm_file} i386/avxmath.h"
3826 tm_file="${tm_file} i386/ssemath.h"
3829 echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3835 echo "--with-fpmath isn't supported for $target." 1>&2
3841 # Similarly for --with-schedule.
3842 if test x$with_schedule = x; then
3845 # Override default PA8000 scheduling model.
3846 with_schedule=7100LC
3851 # Infer a default setting for --with-llsc.
3852 if test x$with_llsc = x; then
3855 # The kernel emulates LL and SC where necessary.
3858 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3859 # The R5900 doesn't support LL(D) and SC(D).
3865 # Validate and mark as valid any --with options supported
3866 # by this target. In order to use a particular --with option
3867 # you must list it in supported_defaults; validating the value
3868 # is optional. This case statement should set nothing besides
3869 # supported_defaults.
3874 supported_defaults="abi cpu arch"
3875 for which in cpu arch; do
3877 eval "val=\$with_$which"
3878 base_val=`echo $val | sed -e 's/\+.*//'`
3879 ext_val=`echo $val | sed -e 's/[a-z0-9.-]\+//'`
3881 if [ $which = arch ]; then
3882 def=aarch64-arches.def
3883 pattern=AARCH64_ARCH
3885 def=aarch64-cores.def
3886 pattern=AARCH64_CORE
3889 ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3891 # Find the base CPU or ARCH id in aarch64-cores.def or
3892 # aarch64-arches.def
3893 if [ x"$base_val" = x ] \
3894 || grep "^$pattern(\"$base_val\"," \
3895 ${srcdir}/config/aarch64/$def \
3898 if [ $which = arch ]; then
3899 base_id=`grep "^$pattern(\"$base_val\"," \
3900 ${srcdir}/config/aarch64/$def | \
3901 sed -e 's/^[^,]*,[ ]*//' | \
3903 # Extract the architecture flags from aarch64-arches.def
3904 ext_mask=`grep "^$pattern(\"$base_val\"," \
3905 ${srcdir}/config/aarch64/$def | \
3909 base_id=`grep "^$pattern(\"$base_val\"," \
3910 ${srcdir}/config/aarch64/$def | \
3911 sed -e 's/^[^,]*,[ ]*//' | \
3915 # Use the pre-processor to strip flatten the options.
3916 # This makes the format less rigid than if we use
3917 # grep and sed directly here.
3918 opt_macro="AARCH64_OPT_EXTENSION(A, B, C, D, E, F)=A, B, C, D, E, F"
3919 options_parsed="`$ac_cv_prog_CPP -D"$opt_macro" -x c \
3920 ${srcdir}/config/aarch64/aarch64-option-extensions.def`"
3922 # Match one element inside AARCH64_OPT_EXTENSION, we
3923 # consume anything that's not a ,.
3924 elem="[ ]*\([^,]\+\)[ ]*"
3926 # Repeat the pattern for the number of entries in the
3927 # AARCH64_OPT_EXTENSION, currently 6 times.
3928 sed_patt="^$elem,$elem,$elem,$elem,$elem,$elem"
3930 while [ x"$ext_val" != x ]
3932 ext_val=`echo $ext_val | sed -e 's/\+//'`
3933 ext=`echo $ext_val | sed -e 's/\+.*//'`
3934 base_ext=`echo $ext | sed -e 's/^no//'`
3935 opt_line=`echo -e "$options_parsed" | \
3936 grep "^\"$base_ext\""`
3938 if [ x"$base_ext" = x ] \
3939 || [[ -n $opt_line ]]; then
3941 # These regexp extract the elements based on
3942 # their group match index in the regexp.
3943 ext_canon=`echo -e "$opt_line" | \
3944 sed -e "s/$sed_patt/\2/"`
3945 ext_on=`echo -e "$opt_line" | \
3946 sed -e "s/$sed_patt/\3/"`
3947 ext_off=`echo -e "$opt_line" | \
3948 sed -e "s/$sed_patt/\4/"`
3950 if [ $ext = $base_ext ]; then
3952 ext_mask="("$ext_mask") | ("$ext_on" | "$ext_canon")"
3954 # Removing extension
3955 ext_mask="("$ext_mask") & ~("$ext_off" | "$ext_canon")"
3960 echo "Unknown extension used in --with-$which=$val" 1>&2
3963 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3966 ext_mask="(("$ext_mask") << 6)"
3967 if [ x"$base_id" != x ]; then
3968 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3972 echo "Unknown $which used in --with-$which=$val" 1>&2
3979 supported_defaults="cpu tune"
3980 for which in cpu tune; do
3981 eval "val=\$with_$which"
3984 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3985 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3989 echo "Unknown CPU used in --with-$which=$val" 1>&2
3997 supported_defaults="cpu"
3999 if [ x"$with_cpu" = x ] \
4000 || grep "^ARC_CPU ($with_cpu," \
4001 ${srcdir}/config/arc/arc-cpus.def \
4006 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4012 supported_defaults="cpu endian float"
4016 supported_defaults="arch cpu float tune fpu abi mode tls"
4017 for which in cpu tune arch; do
4018 # See if it matches a supported value
4019 eval "val=\$with_$which"
4020 if [ x"$val" != x ]; then
4021 cpu=`awk -f ${srcdir}/config/arm/parsecpu.awk \
4022 -v cmd="chk$which $val" \
4023 ${srcdir}/config/arm/arm-cpus.in`
4024 if [ "$cpu" = "error" ]; then
4025 echo "Unknown target in --with-$which=$val" 1>&2
4029 eval "target_${which}_cname=$new_val"
4030 echo "For $val real value is $new_val"
4035 case "$with_float" in
4037 | soft | hard | softfp)
4041 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4046 # see if --with-fpu matches any of the supported FPUs
4047 if [ x"$with_fpu" != x ] ; then
4049 fpu=`awk -f ${srcdir}/config/arm/parsecpu.awk \
4050 -v cmd="chkfpu $val" \
4051 ${srcdir}/config/arm/arm-cpus.in`
4052 if [ "$fpu" = "error" ]
4054 echo "Unknown target in --with-fpu=$val" 1>&2
4061 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
4065 echo "Unknown ABI used in --with-abi=$with_abi"
4070 case "$with_mode" in
4076 echo "Unknown mode used in --with-mode=$with_mode"
4087 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
4092 if test "x$with_arch" != x && test "x$with_cpu" != x; then
4093 echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2
4097 if test "x$with_cpu" != x && test "x$with_tune" != x; then
4098 echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2
4102 # Add extra multilibs
4103 if test "x$with_multilib_list" != x; then
4105 arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
4106 if test "x${arm_multilibs}" != xdefault ; then
4107 for arm_multilib in ${arm_multilibs}; do
4108 case ${arm_multilib} in
4110 tmake_profile_file="arm/t-multilib"
4113 ml=`echo "X$arm_multilib" | sed '1s,^X@,,'`
4114 if test -f "${srcdir}/config/arm/${ml}"; then
4115 tmake_file="${tmake_file} arm/${ml}"
4117 echo "Error: ${ml} does not exist in ${srcdir}/config/arm" >&2
4122 echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
4129 if test "x${tmake_profile_file}" != x ; then
4130 # arm/t-aprofile and arm/t-rmprofile are only
4131 # designed to work without any with-cpu,
4132 # with-arch, with-mode, with-fpu or with-float
4134 if test "x$with_arch" != x \
4135 || test "x$with_cpu" != x \
4136 || test "x$with_float" != x \
4137 || test "x$with_fpu" != x \
4138 || test "x$with_mode" != x ; then
4139 echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2
4141 elif test "x$ml" != x ; then
4142 echo "Error: You cannot use builtin multilib profiles along with custom ones" 1>&2
4145 # But pass the default value for float-abi
4146 # through to the multilib selector
4148 tmake_file="${tmake_file} ${tmake_profile_file}"
4149 TM_MULTILIB_CONFIG="$with_multilib_list"
4152 target_cpu_cname=${target_cpu_cname:-arm7tdmi}
4153 with_cpu=${with_cpu:-$target_cpu_cname}
4157 supported_defaults=cpu
4162 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4168 fido-*-* | m68k*-*-*)
4169 supported_defaults="arch cpu"
4170 case "$with_arch" in
4172 m68k_arch_family="$with_arch"
4175 echo "Invalid --with-arch=$with_arch" 1>&2
4180 # We always have a $with_cpu setting here.
4182 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
4183 m68k_cpu_ident=$with_cpu
4186 m68k_cpu_ident=m68020
4187 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
4190 m68k_cpu_ident=m68020
4191 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
4194 # We need the C identifier rather than the string.
4195 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
4196 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
4197 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
4198 ${srcdir}/config/m68k/m68k-devices.def`
4199 if [ x"$m68k_cpu_ident" = x ] ; then
4200 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
4203 with_cpu="mcpu=$with_cpu"
4209 supported_defaults="arch tune"
4211 for which in arch tune; do
4212 eval "val=\$with_$which"
4214 "" | carrizo | fiji | gfx900 | gfx906 )
4218 echo "Unknown cpu used in --with-$which=$val." 1>&2
4223 [ "x$with_arch" = x ] && with_arch=fiji
4227 supported_defaults="arch schedule"
4229 case "$with_arch" in
4230 "" | 1.0 | 1.1 | 2.0)
4234 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
4239 case "$with_schedule" in
4240 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
4244 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
4250 i[34567]86-*-* | x86_64-*-*)
4251 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
4252 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4253 eval "val=\$with_$which"
4254 case " $x86_archs " in
4262 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
4271 if test x${val} != x; then
4272 case " $x86_64_archs " in
4277 # Allow $x86_cpus --with-cpu=/--with-tune=
4280 case " $x86_cpus " in
4285 echo "Unknown CPU given in --with-$which=$val." 1>&2
4291 echo "Unknown CPU given in --with-$which=$val." 1>&2
4304 supported_defaults="abi arch tune riscv_attribute"
4307 riscv-* | riscv32*) xlen=32 ;;
4308 riscv64*) xlen=64 ;;
4309 *) echo "Unsupported RISC-V target ${target}" 1>&2; exit 1 ;;
4312 case "${with_riscv_attribute}" in
4314 tm_defines="${tm_defines} TARGET_RISCV_ATTRIBUTE=1"
4317 tm_defines="${tm_defines} TARGET_RISCV_ATTRIBUTE=0"
4322 tm_defines="${tm_defines} TARGET_RISCV_ATTRIBUTE=1"
4325 tm_defines="${tm_defines} TARGET_RISCV_ATTRIBUTE=0"
4330 echo "--with-riscv-attribute=${with_riscv_attribute} is not supported. The argument must begin with yes, no or default." 1>&2
4336 # Infer arch from --with-arch, --target, and --with-abi.
4337 case "${with_arch}" in
4338 rv32e* | rv32i* | rv32g* | rv64i* | rv64g*)
4342 # Infer XLEN, but otherwise assume GC.
4343 case "${with_abi}" in
4344 ilp32e) with_arch="rv32e" ;;
4345 ilp32 | ilp32f | ilp32d) with_arch="rv32gc" ;;
4346 lp64 | lp64f | lp64d) with_arch="rv64gc" ;;
4347 *) with_arch="rv${xlen}gc" ;;
4351 echo "--with-arch=${with_arch} is not supported. The argument must begin with rv32e, rv32i, rv32g, rv64i, or rv64g." 1>&2
4356 # Make sure --with-abi is valid. If it was not specified,
4357 # pick a default based on the ISA, preferring soft-float
4358 # unless the D extension is present.
4359 case "${with_abi}" in
4360 ilp32 | ilp32e | ilp32f | ilp32d | lp64 | lp64f | lp64d)
4363 case "${with_arch}" in
4364 rv32*d* | rv32g*) with_abi=ilp32d ;;
4365 rv32e*) with_abi=ilp32e ;;
4366 rv32*) with_abi=ilp32 ;;
4367 rv64*d* | rv64g*) with_abi=lp64d ;;
4368 rv64*) with_abi=lp64 ;;
4372 echo "--with-abi=${with_abi} is not supported" 1>&2
4377 # Make sure ABI and ISA are compatible.
4378 case "${with_abi},${with_arch}" in
4379 ilp32,rv32* | ilp32e,rv32e* \
4380 | ilp32f,rv32*f* | ilp32f,rv32g* \
4381 | ilp32d,rv32*d* | ilp32d,rv32g* \
4383 | lp64f,rv64*f* | lp64f,rv64g* \
4384 | lp64d,rv64*d* | lp64d,rv64g*)
4387 echo "--with-abi=${with_abi} is not supported for ISA ${with_arch}" 1>&2
4392 # Handle --with-multilib-list.
4393 if test "x${with_multilib_list}" != xdefault; then
4394 tm_file="${tm_file} riscv/withmultilib.h"
4395 tmake_file="${tmake_file} riscv/t-withmultilib"
4397 case ${with_multilib_list} in
4398 ilp32 | ilp32f | ilp32d \
4399 | lp64 | lp64f | lp64d )
4400 TM_MULTILIB_CONFIG="${with_arch},${with_multilib_list}"
4403 echo "--with-multilib-list=${with_multilib_list} not supported."
4407 # Define macros to select the default multilib.
4408 case ${with_arch} in
4410 tm_defines="${tm_defines} TARGET_MLIB_ARCH=1"
4413 tm_defines="${tm_defines} TARGET_MLIB_ARCH=2"
4416 echo "unsupported --with-arch for --with-multilib-list"
4421 tm_defines="${tm_defines} TARGET_MLIB_ABI=1"
4424 tm_defines="${tm_defines} TARGET_MLIB_ABI=2"
4427 tm_defines="${tm_defines} TARGET_MLIB_ABI=3"
4430 tm_defines="${tm_defines} TARGET_MLIB_ABI=4"
4433 tm_defines="${tm_defines} TARGET_MLIB_ABI=5"
4436 tm_defines="${tm_defines} TARGET_MLIB_ABI=6"
4439 echo "unsupported --with-abi for --with-multilib"
4446 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 lxc1-sxc1 madd4"
4448 case ${with_float} in
4453 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4459 "" | single | double)
4463 echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
4473 echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
4478 case ${with_fp_32} in
4483 echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
4488 case ${with_odd_spreg_32} in
4490 with_odd_spreg_32="odd-spreg"
4493 with_odd_spreg_32="no-odd-spreg"
4499 echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
4505 "" | 32 | o64 | n32 | 64 | eabi)
4509 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
4514 case ${with_divide} in
4515 "" | breaks | traps)
4519 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
4524 case ${with_llsc} in
4535 echo "Unknown llsc type used in --with-llsc" 1>&2
4540 case ${with_mips_plt} in
4545 with_mips_plt=no-plt
4550 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
4555 case ${with_synci} in
4565 echo "Unknown synci type used in --with-synci" 1>&2
4570 case ${with_lxc1_sxc1} in
4572 with_lxc1_sxc1=lxc1-sxc1
4575 with_lxc1_sxc1=no-lxc1-sxc1
4580 echo "Unknown lxc1-sxc1 type used in --with-lxc1-sxc1" 1>&2
4585 case ${with_madd4} in
4595 echo "Unknown madd4 type used in --with-madd4" 1>&2
4602 supported_defaults="arch cpu nds32_lib float fpu_config"
4604 # process --with-arch
4605 case "${with_arch}" in
4607 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=0"
4611 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=0"
4614 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=1"
4617 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=2"
4621 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v2j v3 v3m v3f v3s" 1>&2
4626 case "${with_cpu}" in
4630 n6 | n7 |n8 | e8 | s8 | n9 | n10 | d10 | n12 | n13 | n15)
4634 echo "Cannot accept --with-cpu=$with_cpu, available values are: n6 n7 n8 e8 s8 n9 n10 d10 n12 n13 n15" 1>&2
4639 # process --with-nds32-lib
4640 case "${with_nds32_lib}" in
4644 with_nds32_lib=ulibc
4647 with_nds32_lib=glibc
4650 with_nds32_lib=newlib
4651 tm_defines="${tm_defines} TARGET_DEFAULT_CTOR_DTOR=1"
4657 tm_defines="${tm_defines} TARGET_DEFAULT_CTOR_DTOR=1"
4661 # for the arch=v3f or arch=v3s under mculib toolchain,
4662 # we would like to set -fno-math-errno as default
4663 case "${with_arch}" in
4665 tm_defines="${tm_defines} TARGET_DEFAULT_NO_MATH_ERRNO=1"
4673 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib glibc uclibc" 1>&2
4678 # process --with-float
4679 case "${with_float}" in
4684 echo "Cannot accept --with-float=$with_float, available values are: soft hard" 1>&2
4689 # process --with-config-fpu
4690 case "${with_config_fpu}" in
4695 echo "Cannot accept --with-config-fpu=$with_config_fpu, available values from 0 to 7" 1>&2
4703 supported_defaults="arch"
4704 case "$with_arch" in
4709 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
4715 powerpc*-*-* | rs6000-*-*)
4716 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
4718 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4719 eval "val=\$with_$which"
4721 default32 | default64)
4726 echo "$val only valid for --with-cpu and --with-tune." 1>&2
4730 with_which="with_$which"
4734 tm_defines="${tm_defines} CONFIG_PPC405CR"
4735 eval "with_$which=405"
4737 "" | common | native \
4738 | power[3456789] | power5+ | power6x \
4739 | powerpc | powerpc64 | powerpc64le \
4741 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4742 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4743 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4744 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4745 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4749 echo "Unknown cpu used in --with-$which=$val." 1>&2
4756 "" | elfv1 | elfv2 )
4760 echo "Unknown ABI used in --with-abi=$with_abi"
4765 if test "x$with_advance_toolchain" != x; then
4766 if test -d "/opt/$with_advance_toolchain/." -a \
4767 -d "/opt/$with_advance_toolchain/bin/." -a \
4768 -d "/opt/$with_advance_toolchain/include/."; then
4770 tm_file="$tm_file ./advance-toolchain.h"
4771 (at="/opt/$with_advance_toolchain"
4772 echo "/* Use Advance Toolchain $at */"
4774 echo "#undef LINK_OS_EXTRA_SPEC32"
4775 echo "#define LINK_OS_EXTRA_SPEC32" \
4776 "\"%(link_os_new_dtags)" \
4777 "-rpath $prefix/lib -rpath $at/lib" \
4778 "-L $prefix/lib -L $at/lib\""
4780 echo "#undef LINK_OS_EXTRA_SPEC64"
4781 echo "#define LINK_OS_EXTRA_SPEC64" \
4782 "\"%(link_os_new_dtags)" \
4783 "-rpath $prefix/lib64 -rpath $at/lib64" \
4784 "-L $prefix/lib64 -L $at/lib64\""
4786 echo "#undef LINK_OS_NEW_DTAGS_SPEC"
4787 echo "#define LINK_OS_NEW_DTAGS_SPEC" \
4788 "\"--enable-new-dtags\""
4790 echo "#undef DYNAMIC_LINKER_PREFIX"
4791 echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
4793 echo "#undef MD_EXEC_PREFIX"
4794 echo "#define MD_EXEC_PREFIX \"$at/bin/\""
4796 echo "#undef MD_STARTFILE_PREFIX"
4797 echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
4798 > advance-toolchain.h
4800 echo "Unknown advance-toolchain $with_advance_toolchain"
4805 # Set up the default long double format if the user changed it.
4806 if test x$with_long_double_format = xieee; then
4807 tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=1"
4809 elif test x$with_long_double_format = xibm; then
4810 tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=0"
4815 supported_defaults="arch mode tune"
4817 for which in arch tune; do
4818 eval "val=\$with_$which"
4820 "" | native | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | z14 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11 | arch12 | arch13 )
4824 echo "Unknown cpu used in --with-$which=$val." 1>&2
4830 case ${with_mode} in
4835 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4841 sh[123456ble]*-*-* | sh-*-*)
4842 supported_defaults="cpu"
4843 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4844 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4847 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4849 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4852 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
4853 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4854 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4855 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4861 supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64"
4863 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4864 eval "val=\$with_$which"
4866 "" | sparc | sparcv9 | sparc64 \
4868 | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4869 | sparclite | f930 | f934 | sparclite86x \
4870 | sparclet | tsc701 \
4871 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4872 | niagara3 | niagara4 | niagara7 | m8)
4876 echo "Unknown cpu used in --with-$which=$val" 1>&2
4882 case ${with_float} in
4887 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4894 supported_defaults="arch tune"
4896 for which in arch tune; do
4897 eval "val=\$with_$which"
4899 "" | cell | celledp)
4903 echo "Unknown cpu used in --with-$which=$val." 1>&2
4911 supported_defaults="arch"
4913 case ${with_arch} in
4914 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4918 echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4925 supported_defaults=cpu
4927 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4931 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4937 supported_defaults="cpu"
4941 *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4948 # Targets for which there is at least one VxWorks port should include
4949 # vxworks-dummy.h to allow safe references to various TARGET_VXWORKS kinds
4950 # of markers from other files in the port, including the vxworks*.h files to
4951 # distinguish VxWorks variants such as VxWorks 7 or 64).
4954 arm*-*-* | i[34567]86-*-* | mips*-*-* | powerpc*-*-* | sh*-*-* \
4955 | sparc*-*-* | x86_64-*-*)
4956 tm_file="vxworks-dummy.h ${tm_file}"
4960 # Set some miscellaneous flags for particular targets.
4961 target_cpu_default2=
4964 if test x"$target_cpu_cname" != x
4966 target_cpu_default2=$target_cpu_cname
4971 if test x$with_cpu = x
4973 echo "Don't know the target cpu" 1>&2
4976 target_cpu_default2="\\\"$with_cpu\\\""
4981 if test x$gas = xyes
4983 target_cpu_default2="MASK_GAS"
4987 fido*-*-* | m68k*-*-*)
4988 target_cpu_default2=$m68k_cpu_ident
4989 tmake_file="m68k/t-opts $tmake_file"
4990 if [ x"$m68k_arch_family" != x ]; then
4991 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4995 i[34567]86-*-darwin* | x86_64-*-darwin*)
4997 i[34567]86-*-linux* | x86_64-*-linux*)
4998 extra_objs="${extra_objs} cet.o"
4999 tmake_file="$tmake_file i386/t-linux i386/t-cet"
5001 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
5002 tmake_file="$tmake_file i386/t-kfreebsd"
5005 tmake_file="$tmake_file i386/t-gnu"
5007 i[34567]86-*-msdosdjgpp*)
5008 tmake_file="${tmake_file} i386/t-djgpp"
5010 i[34567]86-*-solaris2* | x86_64-*-solaris2*)
5012 i[34567]86-*-cygwin* | x86_64-*-cygwin*)
5014 i[34567]86-*-mingw* | x86_64-*-mingw*)
5016 i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
5018 i[34567]86-*-freebsd*)
5021 tmake_file="${tmake_file} i386/t-freebsd64"
5027 if test x$gnu_ld = xyes
5029 target_cpu_default2="MASK_SPLIT_ADDRESSES"
5033 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
5036 if test x$with_arch != x; then
5037 default_mips_arch=$with_arch
5039 if test x$with_abi != x; then
5040 default_mips_abi=$with_abi
5042 case ${default_mips_arch} in
5043 mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
5044 mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
5045 mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
5046 mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
5047 mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
5048 mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
5049 mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
5050 mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
5051 mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
5052 mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
5054 case ${default_mips_abi} in
5055 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
5056 o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
5057 n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
5058 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
5059 eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
5061 tmake_file="mips/t-mips $tmake_file"
5064 powerpc*-*-* | rs6000-*-*)
5065 # FIXME: The PowerPC port uses the value set at compile time,
5066 # although it's only cosmetic.
5067 if test "x$with_cpu" != x
5069 target_cpu_default2="\\\"$with_cpu\\\""
5071 out_file="${cpu_type}/${cpu_type}.c"
5072 c_target_objs="${c_target_objs} ${cpu_type}-c.o"
5073 cxx_target_objs="${cxx_target_objs} ${cpu_type}-c.o"
5074 d_target_objs="${d_target_objs} ${cpu_type}-d.o"
5075 tmake_file="${cpu_type}/t-${cpu_type} ${tmake_file}"
5078 sh[123456ble]*-*-* | sh-*-*)
5079 c_target_objs="${c_target_objs} sh-c.o"
5080 cxx_target_objs="${cxx_target_objs} sh-c.o"
5084 # Some standard aliases.
5089 xsparcv9 | xsparc64)
5094 if test x$with_tune = x ; then
5105 # The SPARC port checks this value at compile-time.
5106 target_cpu_default2="TARGET_CPU_$with_cpu"
5110 case "x$with_cpu" in
5113 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
5114 target_cpu_default2="TARGET_CPU_$with_cpu"
5117 target_cpu_default2="TARGET_CPU_v850e1"
5122 target_cpu_default2="TARGET_CPU_$with_cpu"
5127 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 lxc1-sxc1 madd4"
5128 for option in $all_defaults
5130 eval "val=\$with_"`echo $option | sed s/-/_/g`
5131 if test -n "$val"; then
5132 case " $supported_defaults " in
5136 echo "This target does not support --with-$option." 2>&1
5137 echo "Valid --with options are: $supported_defaults" 2>&1
5144 t="{ \"$option\", \"$val\" }"
5146 t="${t}, { \"$option\", \"$val\" }"
5153 configure_default_options="{ { NULL, NULL} }"
5155 configure_default_options="{ ${t} }"
5158 if test "$target_cpu_default2" != ""
5160 if test "$target_cpu_default" != ""
5162 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
5164 target_cpu_default=$target_cpu_default2
5169 i[34567]86-*-* | x86_64-*-*)
5170 if test x$enable_as_accelerator = xyes; then
5171 extra_programs="mkoffload\$(exeext)"