1 # configure.in for GNU CC
2 # Process this file with autoconf to generate a configuration script.
4 # Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
6 #This file is part of GNU CC.
8 #GNU CC is free software; you can redistribute it and/or modify
9 #it under the terms of the GNU General Public License as published by
10 #the Free Software Foundation; either version 2, or (at your option)
13 #GNU CC is distributed in the hope that it will be useful,
14 #but WITHOUT ANY WARRANTY; without even the implied warranty of
15 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 #GNU General Public License for more details.
18 #You should have received a copy of the GNU General Public License
19 #along with GNU CC; see the file COPYING. If not, write to
20 #the Free Software Foundation, 59 Temple Place - Suite 330,
21 #Boston, MA 02111-1307, USA.
23 # Initialization and defaults
26 AC_CONFIG_HEADER(auto-host.h:config.in)
33 # Check for bogus environment variables.
34 # Test if LIBRARY_PATH contains the notation for the current directory
35 # since this would lead to problems installing/building glibc.
36 # LIBRARY_PATH contains the current directory if one of the following
38 # - one of the terminals (":" and ";") is the first or last sign
39 # - two terminals occur directly after each other
40 # - the path contains an element with a dot in it
41 AC_MSG_CHECKING(LIBRARY_PATH variable)
43 case ${LIBRARY_PATH} in
44 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
45 library_path_setting="contains current directory"
48 library_path_setting="ok"
52 AC_MSG_RESULT($library_path_setting)
53 if test "$library_path_setting" != "ok"; then
55 *** LIBRARY_PATH shouldn't contain the current directory when
56 *** building gcc. Please change the environment variable
57 *** and run configure again.])
60 # Test if GCC_EXEC_PREFIX contains the notation for the current directory
61 # since this would lead to problems installing/building glibc.
62 # GCC_EXEC_PREFIX contains the current directory if one of the following
64 # - one of the terminals (":" and ";") is the first or last sign
65 # - two terminals occur directly after each other
66 # - the path contains an element with a dot in it
67 AC_MSG_CHECKING(GCC_EXEC_PREFIX variable)
69 case ${GCC_EXEC_PREFIX} in
70 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
71 gcc_exec_prefix_setting="contains current directory"
74 gcc_exec_prefix_setting="ok"
78 AC_MSG_RESULT($gcc_exec_prefix_setting)
79 if test "$gcc_exec_prefix_setting" != "ok"; then
81 *** GCC_EXEC_PREFIX shouldn't contain the current directory when
82 *** building gcc. Please change the environment variable
83 *** and run configure again.])
86 # Check for additional parameters
90 [ --with-gnu-ld arrange to work with GNU ld.],
91 gnu_ld_flag="$with_gnu_ld",
96 [ --with-ld arrange to use the specified ld (full pathname).],
97 DEFAULT_LINKER="$with_ld")
98 if test x"${DEFAULT_LINKER+set}" = x"set"; then
99 if test ! -x "$DEFAULT_LINKER"; then
100 AC_MSG_WARN([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER])
101 elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
104 AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER",
105 [Define to enable the use of a default linker.])
110 [ --with-gnu-as arrange to work with GNU as.],
111 gas_flag="$with_gnu_as",
115 [ --with-as arrange to use the specified as (full pathname).],
116 DEFAULT_ASSEMBLER="$with_as")
117 if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
118 if test ! -x "$DEFAULT_ASSEMBLER"; then
119 AC_MSG_WARN([cannot execute: $DEFAULT_ASSEMBLER: check --with-as or env. var. DEFAULT_ASSEMBLER])
120 elif $DEFAULT_ASSEMBLER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
123 AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER",
124 [Define to enable the use of a default assembler.])
129 [ --with-stabs arrange to use stabs instead of host debug format.],
135 [ --with-elf arrange to use ELF instead of host debug format.],
139 # Specify the local prefix
141 AC_ARG_WITH(local-prefix,
142 [ --with-local-prefix=DIR specifies directory to put local include.],
143 [case "${withval}" in
144 yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
146 *) local_prefix=$with_local_prefix ;;
149 # Default local prefix if it is empty
150 if test x$local_prefix = x; then
151 local_prefix=/usr/local
154 # Don't set gcc_gxx_include_dir to gxx_include_dir since that's only
155 # passed in by the toplevel make and thus we'd get different behavior
156 # depending on where we built the sources.
158 # Specify the g++ header file directory
159 AC_ARG_WITH(gxx-include-dir,
160 [ --with-gxx-include-dir=DIR
161 specifies directory to put g++ header files.],
162 [case "${withval}" in
163 yes) AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
165 *) gcc_gxx_include_dir=$with_gxx_include_dir ;;
168 if test x${gcc_gxx_include_dir} = x; then
169 if test x${enable_version_specific_runtime_libs} = xyes; then
170 gcc_gxx_include_dir='${libsubdir}/include/g++'
172 topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
173 changequote(<<, >>)dnl
174 gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
179 # Enable expensive internal checks
180 AC_ARG_ENABLE(checking,
181 [ --enable-checking[=LIST]
182 enable expensive run-time checks. With LIST,
183 enable only specific categories of checks.
184 Categories are: misc,tree,rtl,gc,gcac; default
190 ac_gc_always_collect=
191 case "${enableval}" in
192 yes) ac_checking=1 ; ac_tree_checking=1 ; ac_rtl_checking=1 ;;
194 *) IFS="${IFS= }"; ac_save_IFS="$IFS" IFS="$IFS,"
195 set fnord $enableval; shift
200 misc) ac_checking=1 ;;
201 tree) ac_tree_checking=1 ;;
202 rtl) ac_rtl_checking=1 ;;
203 gc) ac_gc_checking=1 ;;
204 gcac) ac_gc_always_collect=1 ;;
205 *) AC_MSG_ERROR(unknown check category $check) ;;
210 if test x$ac_checking != x ; then
211 AC_DEFINE(ENABLE_CHECKING, 1,
212 [Define if you want more run-time sanity checks. This one gets a grab
213 bag of miscellaneous but relatively cheap checks.])
215 if test x$ac_tree_checking != x ; then
216 AC_DEFINE(ENABLE_TREE_CHECKING, 1,
217 [Define if you want all operations on trees (the basic data
218 structure of the front ends) to be checked for dynamic type safety
219 at runtime. This is moderately expensive.])
221 if test x$ac_rtl_checking != x ; then
222 AC_DEFINE(ENABLE_RTL_CHECKING, 1,
223 [Define if you want all operations on RTL (the basic data structure
224 of the optimizer and back end) to be checked for dynamic type safety
225 at runtime. This is quite expensive.])
227 if test x$ac_gc_checking != x ; then
228 AC_DEFINE(ENABLE_GC_CHECKING, 1,
229 [Define if you want the garbage collector to do object poisoning and
230 other memory allocation checks. This is quite expensive.])
232 if test x$ac_gc_always_collect != x ; then
233 AC_DEFINE(ENABLE_GC_ALWAYS_COLLECT, 1,
234 [Define if you want the garbage collector to operate in maximally
235 paranoid mode, validating the entire heap and collecting garbage at
236 every opportunity. This is extremely expensive.])
241 [ --disable-cpp don't provide a user-visible C preprocessor.],
242 [], [enable_cpp=yes])
244 AC_ARG_WITH(cpp_install_dir,
245 [ --with-cpp-install-dir=DIR
246 install the user visible C preprocessor in DIR
247 (relative to PREFIX) as well as PREFIX/bin.],
248 [if test x$withval = xyes; then
249 AC_MSG_ERROR([option --with-cpp-install-dir requires an argument])
250 elif test x$withval != xno; then
251 cpp_install_dir=$withval
254 dnl Disable this for the moment; the library interface is changing.
255 dnl # Link cpplib into the compiler proper, for C/C++/ObjC.
256 dnl AC_ARG_ENABLE(c-cpplib,
257 dnl [ --enable-c-cpplib link cpplib directly into C and C++ compilers
258 dnl (EXPERIMENTAL) (implies --enable-cpplib).],
259 dnl if test x$enable_c_cpplib != xno; then
260 dnl extra_c_objs="${extra_c_objs} libcpp.a"
261 dnl extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
262 dnl extra_c_flags="${extra_c_flags} -DUSE_CPPLIB=1"
265 # Enable Multibyte Characters for C/C++
266 AC_ARG_ENABLE(c-mbchar,
267 [ --enable-c-mbchar Enable multibyte characters for C and C++.],
268 if test x$enable_c_mbchar != xno; then
269 extra_c_flags="${extra_c_flags} -DMULTIBYTE_CHARS=1"
273 # Pass with no value to take the default
274 # Pass with a value to specify a thread package
275 AC_ARG_ENABLE(threads,
276 [ --enable-threads enable thread usage for target GCC.
277 --enable-threads=LIB use LIB thread package for target GCC.],
278 if test x$enable_threads = xno; then
283 enable_threads_flag=$enable_threads
284 # Check if a valid thread package
285 case x${enable_threads_flag} in
288 target_thread_file='single'
292 target_thread_file=''
294 xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
295 xsolaris | xwin32 | xdce | xvxworks)
296 target_thread_file=$enable_threads_flag
299 echo "$enable_threads is an unknown thread package" 1>&2
304 AC_ARG_ENABLE(objc-gc,
305 [ --enable-objc-gc enable the use of Boehm's garbage collector with
306 the GNU Objective-C runtime.],
307 if test x$enable_objc_gc = xno; then
315 [ --with-dwarf2 force the default debug format to be DWARF2.],
316 dwarf2="$with_dwarf2",
319 # Determine the host, build, and target systems
322 # Find the native compiler
325 AC_SUBST(NO_MINUS_C_MINUS_O)
329 # If the native compiler is GCC, we can enable warnings even in stage1.
330 # That's useful for people building cross-compilers, or just running a
332 if test "x$GCC" = "xyes"; then
333 stage1_warn_cflags='$(WARN_CFLAGS)'
335 stage1_warn_cflags=""
337 AC_SUBST(stage1_warn_cflags)
341 AC_MSG_CHECKING([whether a default assembler was specified])
342 if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
343 if test x"$gas_flag" = x"no"; then
344 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
346 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
352 AC_MSG_CHECKING([whether a default linker was specified])
353 if test x"${DEFAULT_LINKER+set}" = x"set"; then
354 if test x"$gnu_ld_flag" = x"no"; then
355 AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
357 AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
363 # Find some useful tools
377 AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h \
378 fcntl.h unistd.h stab.h sys/file.h sys/time.h \
379 sys/resource.h sys/param.h sys/times.h sys/stat.h \
382 # Check for thread headers.
383 AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
384 AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
386 # See if GNAT has been installed
387 AC_CHECK_PROG(gnat, gnatbind, yes, no)
389 # Do we have a single-tree copy of texinfo?
390 if test -f $srcdir/../texinfo/Makefile.in; then
391 MAKEINFO='$(objdir)/../texinfo/makeinfo/makeinfo'
392 gcc_cv_prog_makeinfo_modern=yes
393 AC_MSG_RESULT([Using makeinfo from the unified source tree.])
395 # See if makeinfo has been installed and is modern enough
396 # that we can use it.
397 gcc_AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
398 [GNU texinfo.* \([0-9][0-9.]*\)],
399 [3.1[2-9] | 3.[2-9][0-9] | 4.* | 1.6[89] | 1.7[0-9]])
402 if test $gcc_cv_prog_makeinfo_modern = no; then
404 *** Makeinfo is missing or too old.
405 *** Info documentation will not be built or installed.])
409 BUILD_INFO=info AC_SUBST(BUILD_INFO)
410 INSTALL_INFO=install-info AC_SUBST(INSTALL_INFO)
413 # See if the stage1 system preprocessor understands the ANSI C
414 # preprocessor stringification operator.
417 # Use <inttypes.h> only if it exists,
418 # doesn't clash with <sys/types.h>, and declares intmax_t.
419 AC_MSG_CHECKING(for inttypes.h)
420 AC_CACHE_VAL(gcc_cv_header_inttypes_h,
422 [#include <sys/types.h>
423 #include <inttypes.h>],
425 [gcc_cv_header_inttypes_h=yes],
426 gcc_cv_header_inttypes_h=no)])
427 AC_MSG_RESULT($gcc_cv_header_inttypes_h)
428 if test $gcc_cv_header_inttypes_h = yes; then
429 AC_DEFINE(HAVE_INTTYPES_H, 1,
430 [Define if you have a working <inttypes.h> header file.])
434 # Determine if enumerated bitfields are unsigned. ISO C says they can
435 # be either signed or unsigned.
437 AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
438 [AC_TRY_RUN(#include <stdlib.h>
439 enum t { BLAH = 128 } ;
440 struct s_t { enum t member : 8; } s ;
444 if (s.member < 0) exit(1);
447 }, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
448 if test $gcc_cv_enum_bf_unsigned = yes; then
449 AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
450 [Define if enumerated bitfields are treated as unsigned values.])
453 AC_CHECK_FUNCS(strtoul bsearch putenv popen bcopy bzero bcmp \
454 index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
455 sysconf isascii gettimeofday strsignal putc_unlocked fputc_unlocked \
456 fputs_unlocked getrusage valloc)
458 # Make sure wchar_t is available
459 #AC_CHECK_TYPE(wchar_t, unsigned int)
461 gcc_AC_FUNC_VFPRINTF_DOPRNT
462 gcc_AC_FUNC_PRINTF_PTR
466 # Under some versions of uwin, vfork is notoriously buggy and the test
467 # can hang configure; on other versions, vfork exists just as a stub.
468 # FIXME: This should be removed once vfork in uwin's runtime is fixed.
469 ac_cv_func_vfork_works=no
473 AC_FUNC_MMAP_ANYWHERE
476 # We will need to find libiberty.h and ansidecl.h
477 saved_CFLAGS="$CFLAGS"
478 CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include"
479 gcc_AC_NEED_DECLARATIONS(bcopy bzero bcmp \
480 index rindex getenv atol sbrk abort atof getcwd getwd \
481 strsignal putc_unlocked fputs_unlocked strstr environ \
482 malloc realloc calloc free, [
483 #include "gansidecl.h"
484 #include "system.h"])
486 gcc_AC_NEED_DECLARATIONS(getrlimit setrlimit getrusage, [
487 #include "gansidecl.h"
489 #ifdef HAVE_SYS_RESOURCE_H
490 #include <sys/resource.h>
494 # Restore CFLAGS from before the gcc_AC_NEED_DECLARATIONS tests.
495 CFLAGS="$saved_CFLAGS"
497 # mkdir takes a single argument on some systems.
498 gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
508 build_install_headers_dir=install-headers-tar
513 host_truncate_target=
516 # Decode the host machine, then the target machine.
517 # For the host machine, we save the xm_file variable as host_xm_file;
518 # then we decode the target machine and forget everything else
519 # that came from the host machine.
520 for machine in $build $host $target; do
534 # Set this to force installation and use of collect2.
536 # Set this to override the default target model.
538 # Set this to control how the header file directory is installed.
539 install_headers_dir=install-headers-tar
540 # Set this to a non-empty list of args to pass to cpp if the target
541 # wants its .md file passed through cpp.
543 # Set this if directory names should be truncated to 14 characters.
545 # Set this if gdb needs a dir command with `dirname $out_file`
546 gdb_needs_out_file_path=
547 # Set this if the build machine requires executables to have a
550 # Set this to control which thread package will be used.
552 # Reinitialize these from the flag values every loop pass, since some
553 # configure entries modify them.
555 gnu_ld="$gnu_ld_flag"
556 enable_threads=$enable_threads_flag
558 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
559 # updated in each machine entry.
561 cpu_type=`echo $machine | sed 's/-.*$//'`
600 tm_file=${cpu_type}/${cpu_type}.h
601 xm_file=${cpu_type}/xm-${cpu_type}.h
602 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h;
604 tm_p_file=${cpu_type}/${cpu_type}-protos.h;
606 # On a.out targets, we need to use collect2.
613 # Common parts for linux-gnu and openbsd systems
616 xm_defines="HAVE_ATEXIT POSIX BSTRING"
619 tm_file=${cpu_type}/openbsd.h
620 tmake_file="t-libc-ok t-openbsd"
621 # avoid surprises, always provide an xm-openbsd file
622 xm_file=${cpu_type}/xm-openbsd.h
623 # don't depend on processor x-fragments as well
625 if test x$enable_threads = xyes; then
627 tmake_file="${tmake_file} t-openbsd-thread"
633 # Support site-specific machine types.
635 cpu_type=`echo $machine | sed -e 's/-.*//'`
636 rest=`echo $machine | sed -e "s/$cpu_type-//"`
637 xm_file=${cpu_type}/xm-$rest.h
638 tm_file=${cpu_type}/$rest.h
639 if test -f $srcdir/config/${cpu_type}/x-$rest; \
640 then xmake_file=${cpu_type}/x-$rest; \
643 if test -f $srcdir/config/${cpu_type}/t-$rest; \
644 then tmake_file=${cpu_type}/t-$rest; \
650 a29k-*-bsd* | a29k-*-sym1*)
651 tm_file="${tm_file} a29k/unix.h"
653 xmake_file=a29k/x-unix
656 a29k-*-udi | a29k-*-coff)
657 tm_file="${tm_file} dbxcoff.h a29k/udi.h"
658 tmake_file=a29k/t-a29kbare
661 tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
662 tmake_file=a29k/t-vx29k
663 extra_parts="crtbegin.o crtend.o"
664 thread_file='vxworks'
666 a29k-*-*) # Default a29k environment.
670 tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"
672 # GAS + IEEE_CONFORMANT+IEEE (no inexact);
673 #target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT|MASK_IEEE"
675 # GAS + IEEE_CONFORMANT
676 target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
678 xm_file="alpha/xm-alpha-interix.h xm-interix.h"
679 xmake_file="x-interix alpha/t-pe"
680 tmake_file="alpha/t-alpha alpha/t-interix alpha/t-ieee"
681 if test x$enable_threads = xyes ; then
684 if test x$stabs = xyes ; then
685 tm_file="${tm_file} dbxcoff.h"
687 #prefix='$$INTERIX_ROOT'/usr/contrib
688 #local_prefix='$$INTERIX_ROOT'/usr/contrib
690 alpha*-*-linux-gnuecoff*)
691 tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
692 target_cpu_default="MASK_GAS"
693 tmake_file="alpha/t-alpha alpha/t-ieee"
698 alpha*-*-linux-gnulibc1*)
699 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
700 target_cpu_default="MASK_GAS"
701 tmake_file="t-linux t-linux-gnulibc1 alpha/t-alpha alpha/t-crtbe alpha/t-ieee"
702 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
705 if test x$enable_threads = xyes; then
710 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
711 target_cpu_default="MASK_GAS"
712 tmake_file="t-linux alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
713 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
716 if test x$enable_threads = xyes; then
721 tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
722 target_cpu_default="MASK_GAS"
723 tmake_file="alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
724 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
730 # default x-alpha is only appropriate for dec-osf.
731 target_cpu_default="MASK_GAS"
732 tmake_file="alpha/t-alpha alpha/t-ieee"
736 if test x$stabs = xyes
738 tm_file="${tm_file} dbx.h"
740 if test x$gas != xyes
742 extra_passes="mips-tfile mips-tdump"
745 tmake_file="alpha/t-alpha alpha/t-ieee"
748 tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
753 tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
756 tm_file="${tm_file} alpha/osf.h"
757 # Some versions of OSF4 (specifically X4.0-9 296.7) have
758 # a broken tar, so we use cpio instead.
759 install_headers_dir=install-headers-cpio
762 tm_file="${tm_file} alpha/osf.h alpha/osf5.h"
767 *-*-osf4.0[b-z] | *-*-osf4.[1-9]* | *-*-osf5*)
769 target_cpu_default=MASK_SUPPORT_ARCH
774 tm_file="${tm_file} dbx.h alpha/vxworks.h"
775 tmake_file="alpha/t-alpha alpha/t-ieee"
778 extra_passes="mips-tfile mips-tdump"
781 thread_file='vxworks'
784 tm_file="${tm_file} alpha/alpha32.h alpha/win-nt.h winnt/win-nt.h"
785 xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
786 tmake_file="t-libc-ok alpha/t-alpha alpha/t-ieee"
787 xmake_file=winnt/x-winnt
788 extra_host_objs=oldnames.o
789 extra_gcc_objs="spawnv.o oldnames.o"
790 if test x$gnu_ld != xyes
792 extra_programs=ld.exe
794 if test x$enable_threads = xyes; then
800 xm_file="${xm_file} alpha/xm-vms.h"
801 tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
804 extra_parts="crtinit.o crtfini.o"
806 arm-*-coff* | armel-*-coff*)
808 tmake_file=arm/t-arm-coff
812 tmake_file=arm/t-arm-coff
813 thread_file='vxworks'
816 arm-*-riscix1.[01]*) # Acorn RISC machine (early versions)
818 tm_file=arm/riscix1-1.h
821 arm-*-riscix*) # Acorn RISC machine
824 tm_file=arm/rix-gas.h
828 xmake_file=arm/x-riscix
829 tmake_file=arm/t-riscix
832 arm-semi-aout | armel-semi-aout)
834 tmake_file=arm/t-semi
836 arm-semi-aof | armel-semi-aof)
837 tm_file=arm/semiaof.h
838 tmake_file=arm/t-semiaof
842 tmake_file="t-netbsd arm/t-netbsd"
845 arm*-*-linux-gnuaout*) # ARM GNU/Linux with a.out
848 tm_file=arm/linux-aout.h
849 tmake_file=arm/t-linux
852 arm*-*-linux-gnuoldld*) # ARM GNU/Linux with old ELF linker
853 xm_file=arm/xm-linux.h
855 tm_file="arm/linux-oldld.h arm/linux-elf.h"
858 tm_file="arm/linux-elf26.h $tm_file"
861 tmake_file="t-linux arm/t-linux"
862 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
864 case x${enable_threads} in
865 x | xyes | xpthreads | xposix)
870 arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
871 xm_file=arm/xm-linux.h
873 tm_file="arm/linux-elf.h"
876 tm_file="arm/linux-elf26.h $tm_file"
879 tmake_file="t-linux arm/t-linux"
880 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
882 case x${enable_threads} in
883 x | xyes | xpthreads | xposix)
888 arm*-*-uclinux*) # ARM ucLinux
889 tm_file=arm/uclinux-elf.h
890 tmake_file=arm/t-arm-elf
894 tmake_file=arm/t-arm-aout
897 tm_file=arm/ecos-elf.h
898 tmake_file=arm/t-arm-elf
901 tm_file=arm/unknown-elf.h
902 tmake_file=arm/t-arm-elf
905 tm_file=arm/conix-elf.h
906 tmake_file=arm/t-arm-elf
909 tm_file=arm/unknown-elf-oabi.h
910 tmake_file=arm/t-arm-elf
919 c1-convex-*) # Convex C1
923 c2-convex-*) # Convex C2
936 target_cpu_default=16
943 clipper-intergraph-clix*)
944 tm_file="${tm_file} svr3.h clipper/clix.h"
945 xm_file=clipper/xm-clix.h
946 xmake_file=clipper/x-clix
947 extra_headers=va-clipper.h
948 extra_parts="crtbegin.o crtend.o"
949 install_headers_dir=install-headers-cpio
960 tm_file="fr30/fr30.h"
961 tmake_file=fr30/t-fr30
962 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
964 # This hasn't been upgraded to GCC 2.
965 # fx80-alliant-*) # Alliant FX/80
971 target_cpu_default="(MASK_PA_11 | MASK_GAS | MASK_JUMP_IN_DELAY)"
972 tm_file="${tm_file} pa/elf.h linux.h pa/pa-linux.h"
973 tmake_file="t-linux pa/t-linux"
974 extra_parts="crtbegin.o crtend.o"
977 if test x$enable_threads = xyes; then
982 target_cpu_default="MASK_PA_11"
983 tmake_file=pa/t-openbsd
986 target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
987 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
988 xm_file=pa/xm-papro.h
992 target_cpu_default="MASK_PA_11"
993 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
997 target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
998 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
999 xm_file=pa/xm-papro.h
1003 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
1007 tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
1008 target_cpu_default="MASK_PA_11"
1012 tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
1016 tm_file="pa/pa-oldas.h ${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux7.h"
1017 xm_file=pa/xm-pahpux.h
1018 xmake_file=pa/x-pa-hpux
1019 if test x$gas = xyes
1021 tm_file="${tm_file} pa/gas.h"
1023 install_headers_dir=install-headers-cpio
1027 hppa1.0-*-hpux8.0[0-2]*)
1029 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1030 xm_file=pa/xm-pahpux.h
1031 xmake_file=pa/x-pa-hpux
1032 if test x$gas = xyes
1034 tm_file="${tm_file} pa/pa-gas.h"
1036 tm_file="pa/pa-oldas.h ${tm_file}"
1038 install_headers_dir=install-headers-cpio
1042 hppa1.1-*-hpux8.0[0-2]*)
1044 target_cpu_default="MASK_PA_11"
1045 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1046 xm_file=pa/xm-pahpux.h
1047 xmake_file=pa/x-pa-hpux
1048 if test x$gas = xyes
1050 tm_file="${tm_file} pa/pa-gas.h"
1052 tm_file="pa/pa-oldas.h ${tm_file}"
1054 install_headers_dir=install-headers-cpio
1058 target_cpu_default="MASK_PA_11"
1059 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1060 xm_file=pa/xm-pahpux.h
1061 xmake_file=pa/x-pa-hpux
1062 if test x$gas = xyes
1064 tm_file="${tm_file} pa/pa-gas.h"
1066 install_headers_dir=install-headers-cpio
1070 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1071 xm_file=pa/xm-pahpux.h
1072 xmake_file=pa/x-pa-hpux
1073 if test x$gas = xyes
1075 tm_file="${tm_file} pa/pa-gas.h"
1077 install_headers_dir=install-headers-cpio
1080 hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
1081 target_cpu_default="MASK_PA_11"
1082 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
1084 xm_file=pa/xm-pahpux.h
1085 xmake_file=pa/x-pa-hpux
1087 if test x$gas = xyes
1089 tm_file="${tm_file} pa/pa-gas.h"
1091 if test x$enable_threads = x; then
1092 enable_threads=$have_pthread_h
1094 if test x$enable_threads = xyes; then
1096 tmake_file="${tmake_file} pa/t-dce-thr"
1098 install_headers_dir=install-headers-cpio
1102 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
1104 xm_file=pa/xm-pahpux.h
1105 xmake_file=pa/x-pa-hpux
1107 if test x$gas = xyes
1109 tm_file="${tm_file} pa/pa-gas.h"
1111 if test x$enable_threads = x; then
1112 enable_threads=$have_pthread_h
1114 if test x$enable_threads = xyes; then
1116 tmake_file="${tmake_file} pa/t-dce-thr"
1118 install_headers_dir=install-headers-cpio
1122 target_cpu_default="MASK_PA_11"
1123 xm_file=pa/xm-pa64hpux.h
1124 xmake_file=pa/x-pa-hpux
1126 tm_file="pa/pa64-start.h ${tm_file} pa/pa64-regs.h pa/long_double.h pa/elf.h pa/pa-hpux.h pa/pa-hpux11.h pa/pa-64.h"
1128 tmake_file=pa/t-pa64
1129 target_cpu_default="(MASK_PA_11|MASK_PA_20)"
1131 if [[ x$gas = xyes ]]
1133 tm_file="${tm_file} pa/pa-gas.h"
1135 # if [[ x$enable_threads = x ]]; then
1136 # enable_threads=$have_pthread_h
1138 # if [[ x$enable_threads = xyes ]]; then
1140 # tmake_file="${tmake_file} pa/t-dce-thr"
1142 install_headers_dir=install-headers-cpio
1145 hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
1146 target_cpu_default="MASK_PA_11"
1147 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
1149 xm_file=pa/xm-pahpux.h
1150 xmake_file=pa/x-pa-hpux
1152 if test x$gas = xyes
1154 tm_file="${tm_file} pa/pa-gas.h"
1156 # if test x$enable_threads = x; then
1157 # enable_threads=$have_pthread_h
1159 # if test x$enable_threads = xyes; then
1161 # tmake_file="${tmake_file} pa/t-dce-thr"
1163 install_headers_dir=install-headers-cpio
1167 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
1169 xm_file=pa/xm-pahpux.h
1170 xmake_file=pa/x-pa-hpux
1171 if test x$gas = xyes
1173 tm_file="${tm_file} pa/pa-gas.h"
1175 # if test x$enable_threads = x; then
1176 # enable_threads=$have_pthread_h
1178 # if test x$enable_threads = xyes; then
1180 # tmake_file="${tmake_file} pa/t-dce-thr"
1182 install_headers_dir=install-headers-cpio
1185 hppa1.1-*-hpux* | hppa2*-*-hpux*)
1186 target_cpu_default="MASK_PA_11"
1187 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1188 xm_file=pa/xm-pahpux.h
1189 xmake_file=pa/x-pa-hpux
1190 if test x$gas = xyes
1192 tm_file="${tm_file} pa/pa-gas.h"
1194 install_headers_dir=install-headers-cpio
1198 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1199 xm_file=pa/xm-pahpux.h
1200 xmake_file=pa/x-pa-hpux
1201 if test x$gas = xyes
1203 tm_file="${tm_file} pa/pa-gas.h"
1205 install_headers_dir=install-headers-cpio
1208 hppa1.1-*-hiux* | hppa2*-*-hiux*)
1209 target_cpu_default="MASK_PA_11"
1210 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1211 xm_file=pa/xm-pahpux.h
1212 xmake_file=pa/x-pa-hpux
1213 if test x$gas = xyes
1215 tm_file="${tm_file} pa/pa-gas.h"
1217 install_headers_dir=install-headers-cpio
1221 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1222 xm_file=pa/xm-pahpux.h
1223 xmake_file=pa/x-pa-hpux
1224 if test x$gas = xyes
1226 tm_file="${tm_file} pa/pa-gas.h"
1228 install_headers_dir=install-headers-cpio
1232 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h"
1233 target_cpu_default="MASK_PA_11"
1237 tm_file="${tm_file} pa/pa-mpeix.h"
1238 xm_file=pa/xm-pampeix.h
1239 xmake_file=pa/x-pa-mpeix
1240 echo "You must use gas. Assuming it is already installed."
1241 install_headers_dir=install-headers-tar
1244 i370-*-opened*) # IBM 360/370/390 Architecture
1245 xm_file=i370/xm-oe.h
1247 xmake_file=i370/x-oe
1248 tmake_file=i370/t-oe
1251 xm_file=i370/xm-mvs.h
1253 tmake_file=i370/t-mvs
1256 xm_file="xm-linux.h i370/xm-linux.h"
1258 tm_file="i370/linux.h ${tm_file}"
1259 tmake_file="t-linux i370/t-linux"
1260 # broken_install=yes
1261 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1262 # extra_parts="crtbegin.o crtend.o"
1266 if test x$enable_threads = xyes; then
1273 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
1274 tm_file=i386/i386elf.h
1275 tmake_file=i386/t-i386elf
1279 i[34567]86-ibm-aix*) # IBM PS/2 running AIX
1281 if test x$gas = xyes
1283 tm_file=i386/aix386.h
1284 extra_parts="crtbegin.o crtend.o"
1285 tmake_file=i386/t-crtstuff
1287 tm_file=i386/aix386ng.h
1290 xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
1292 xmake_file=i386/x-aix
1295 i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4
1297 xm_file="xm-alloca.h ${xm_file}"
1298 xm_defines="USG POSIX SMALL_ARG_MAX"
1299 xmake_file=i386/x-ncr3000
1300 if test x$stabs = xyes -a x$gas = xyes
1302 tm_file=i386/sysv4gdb.h
1304 tm_file=i386/sysv4.h
1306 extra_parts="crtbegin.o crtend.o"
1307 tmake_file=i386/t-crtpic
1313 xm_file=i386/xm-next.h
1314 tmake_file=i386/t-next
1315 xmake_file=i386/x-next
1316 extra_objs=nextstep.o
1317 extra_parts="crtbegin.o crtend.o"
1318 if test x$enable_threads = xyes; then
1323 i[34567]86-sequent-bsd*) # 80386 from Sequent
1326 if test x$gas = xyes
1328 tm_file=i386/seq-gas.h
1330 tm_file=i386/sequent.h
1334 i[34567]86-sequent-ptx1*)
1336 xm_defines="USG SVR3"
1337 xmake_file=i386/x-sysv3
1338 tm_file=i386/seq-sysv3.h
1339 tmake_file=i386/t-crtstuff
1340 extra_parts="crtbegin.o crtend.o"
1341 install_headers_dir=install-headers-cpio
1344 i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
1346 xm_defines="USG SVR3"
1347 xmake_file=i386/x-sysv3
1348 tm_file=i386/seq2-sysv3.h
1349 tmake_file=i386/t-crtstuff
1350 extra_parts="crtbegin.o crtend.o"
1351 install_headers_dir=install-headers-cpio
1354 i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
1356 xm_file="xm-alloca.h ${xm_file}"
1357 xm_defines="USG POSIX SMALL_ARG_MAX"
1359 tm_file=i386/ptx4-i.h
1361 extra_parts="crtbegin.o crtend.o"
1362 install_headers_dir=install-headers-cpio
1364 i386-sun-sunos*) # Sun i386 roadrunner
1370 i[34567]86-wrs-vxworks*)
1372 tm_file=i386/vxi386.h
1373 tmake_file=i386/t-i386bare
1374 thread_file='vxworks'
1379 tm_file=i386/i386-aout.h
1380 tmake_file=i386/t-i386bare
1383 i[34567]86-*-beospe*)
1385 xm_file=i386/xm-beos.h
1386 xm_defines="USE_C_ALLOCA"
1387 tmake_file=i386/t-beos
1388 tm_file=i386/beos-pe.h
1389 xmake_file=i386/x-beos
1393 i[34567]86-*-beoself* | i[34567]86-*-beos*)
1395 xm_file=i386/xm-beos.h
1396 tmake_file='i386/t-beos i386/t-crtpic'
1397 tm_file=i386/beos-elf.h
1398 xmake_file=i386/x-beos
1400 extra_parts='crtbegin.o crtend.o'
1403 i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
1405 tm_file=i386/bsd386.h
1406 # tmake_file=t-libc-ok
1411 tm_file=i386/386bsd.h
1412 # tmake_file=t-libc-ok
1413 # Next line turned off because both 386BSD and BSD/386 use GNU ld.
1417 i[34567]86-*-freebsdelf*)
1419 tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
1420 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1421 tmake_file=t-freebsd
1425 case x${enable_threads} in
1426 xyes | xpthreads | xposix)
1428 tmake_file="${tmake_file} t-freebsd-thread"
1433 i[34567]86-*-freebsd*)
1435 tm_file="i386/freebsd.h i386/perform.h"
1436 tmake_file=t-freebsd
1439 i[34567]86-*-netbsd*)
1441 tm_file=i386/netbsd.h
1446 i[34567]86-*-openbsd*)
1448 # we need collect2 until our bug is fixed...
1454 tm_file=i386/i386-coff.h
1455 tmake_file=i386/t-i386bare
1458 i[34567]86-*-isc*) # 80386 running ISC system
1460 xm_file="${xm_file} i386/xm-isc.h"
1461 xm_defines="USG SVR3"
1464 i[34567]86-*-isc[34]*)
1466 xmake_file=i386/x-isc3
1469 xmake_file=i386/x-isc
1472 if test x$gas = xyes -a x$stabs = xyes
1474 tm_file=i386/iscdbx.h
1475 tmake_file=i386/t-svr3dbx
1476 extra_parts="svr3.ifile svr3z.ifile"
1478 tm_file=i386/isccoff.h
1479 tmake_file=i386/t-crtstuff
1480 extra_parts="crtbegin.o crtend.o"
1482 tmake_file="$tmake_file i386/t-i386bare"
1483 install_headers_dir=install-headers-cpio
1486 i[34567]86-*-linux-gnuoldld*) # Intel 80386's running GNU/Linux
1487 changequote([,])dnl # with a.out format using
1489 xmake_file=x-linux-aout
1490 tmake_file="t-linux-aout i386/t-crtstuff"
1491 tm_file=i386/linux-oldld.h
1496 i[34567]86-*-linux-gnuaout*) # Intel 80386's running GNU/Linux
1497 changequote([,])dnl # with a.out format
1498 xmake_file=x-linux-aout
1499 tmake_file="t-linux-aout i386/t-crtstuff"
1500 tm_file=i386/linux-aout.h
1505 i[34567]86-*-linux-gnulibc1) # Intel 80386's running GNU/Linux
1506 changequote([,])dnl # with ELF format using the
1507 # GNU/Linux C library 5
1509 tm_file=i386/linux.h
1510 tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
1511 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1514 if test x$enable_threads = xyes; then
1515 thread_file='single'
1519 i[34567]86-*-linux-gnu*) # Intel 80386's running GNU/Linux
1520 changequote([,])dnl # with ELF format using glibc 2
1521 # aka GNU/Linux C library 6
1523 tm_file=i386/linux.h
1524 tmake_file="t-linux i386/t-crtstuff"
1525 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1528 if test x$enable_threads = xyes; then
1538 i[34567]86-go32-msdos | i[34567]86-*-go32*)
1540 echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
1544 i[34567]86-pc-msdosdjgpp*)
1546 xm_file=i386/xm-djgpp.h
1547 tm_file=i386/djgpp.h
1548 tmake_file=i386/t-djgpp
1549 xmake_file=i386/x-djgpp
1553 case $host in *pc-msdosdjgpp*)
1559 i[34567]86-moss-msdos* | i[34567]86-*-moss*)
1562 tmake_file=t-libc-ok
1567 i[34567]86-*-lynxos*)
1569 if test x$gas = xyes
1573 tm_file=i386/lynx-ng.h
1575 xm_file=i386/xm-lynx.h
1576 tmake_file=i386/t-i386bare
1583 # tmake_file=t-libc-ok
1587 i[34567]86-*-osfrose*) # 386 using OSF/rose
1589 if test x$elf = xyes
1591 tm_file=i386/osfelf.h
1594 tm_file=i386/osfrose.h
1597 xm_file="i386/xm-osf.h ${xm_file}"
1598 xmake_file=i386/x-osfrose
1599 tmake_file=i386/t-osf
1600 extra_objs=halfpic.o
1603 i[34567]86-go32-rtems*)
1606 xm_file=i386/xm-go32.h
1607 tm_file=i386/go32-rtems.h
1608 tmake_file="i386/t-go32 t-rtems"
1611 i[34567]86-*-rtemscoff*)
1614 tm_file=i386/rtems.h
1615 tmake_file="i386/t-i386bare t-rtems"
1618 i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
1621 tm_file=i386/rtemself.h
1622 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
1623 tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
1626 i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
1628 xm_file="xm-alloca.h ${xm_file} i386/xm-sco5.h"
1629 xm_defines="USG SVR3"
1630 xmake_file=i386/x-sco5
1631 install_headers_dir=install-headers-cpio
1633 if test x$gas = xyes
1635 tm_file="i386/sco5gas.h ${tm_file}"
1636 tmake_file=i386/t-sco5gas
1638 tmake_file=i386/t-sco5
1640 tmake_file="$tmake_file i386/t-i386bare"
1641 extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
1644 i[34567]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system
1646 xm_file="${xm_file} i386/xm-sco.h"
1647 xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX"
1648 xmake_file=i386/x-sco4
1649 install_headers_dir=install-headers-cpio
1650 if test x$stabs = xyes
1652 tm_file=i386/sco4dbx.h
1653 tmake_file=i386/t-svr3dbx
1654 extra_parts="svr3.ifile svr3z.rfile"
1657 tmake_file=i386/t-crtstuff
1658 extra_parts="crtbegin.o crtend.o"
1660 tmake_file="$tmake_file i386/t-i386bare"
1661 # The default EAFS filesystem supports long file names.
1662 # Truncating the target makes $host != $target which
1663 # makes gcc think it is doing a cross-compile.
1664 # truncate_target=yes
1667 i[34567]86-*-sco*) # 80386 running SCO system
1669 xm_file=i386/xm-sco.h
1670 xmake_file=i386/x-sco
1671 install_headers_dir=install-headers-cpio
1672 if test x$stabs = xyes
1674 tm_file=i386/scodbx.h
1675 tmake_file=i386/t-svr3dbx
1676 extra_parts="svr3.ifile svr3z.rfile"
1679 extra_parts="crtbegin.o crtend.o"
1680 tmake_file=i386/t-crtstuff
1682 tmake_file="$tmake_file i386/t-i386bare"
1686 i[34567]86-*-solaris2*)
1688 xm_file="xm-alloca.h ${xm_file}"
1689 xm_defines="USG POSIX SMALL_ARG_MAX"
1691 if test x$gas = xyes; then
1692 # Only needed if gas does not support -s
1693 tm_file="i386/sol2gas.h ${tm_file}"
1695 tmake_file="i386/t-i386bare i386/t-sol2"
1696 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
1698 if test x${enable_threads} = x; then
1699 enable_threads=$have_pthread_h
1700 if test x${enable_threads} = x; then
1701 enable_threads=$have_thread_h
1704 if test x${enable_threads} = xyes; then
1705 if test x${have_pthread_h} = xyes; then
1708 thread_file='solaris'
1713 i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
1715 xm_file="xm-alloca.h ${xm_file}"
1716 xm_defines="USG POSIX"
1717 tm_file=i386/sysv5.h
1718 if test x$stabs = xyes
1720 tm_file="${tm_file} dbx.h"
1722 tmake_file="i386/t-i386bare i386/t-crtpic"
1724 extra_parts="crtbegin.o crtend.o"
1725 if test x$enable_threads = xyes; then
1730 i[34567]86-*-sysv4*) # Intel 80386's running system V.4
1732 xm_file="xm-alloca.h ${xm_file}"
1733 xm_defines="USG POSIX SMALL_ARG_MAX"
1734 tm_file=i386/sysv4.h
1735 if test x$stabs = xyes
1737 tm_file="${tm_file} dbx.h"
1739 tmake_file="i386/t-i386bare i386/t-crtpic"
1741 extra_parts="crtbegin.o crtend.o"
1744 i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit
1746 xm_file="xm-alloca.h ${xm_file}"
1747 xm_defines="USG POSIX"
1749 tmake_file="i386/t-i386bare i386/t-crtpic i386/t-udk"
1751 extra_parts="crtbegin.o crtend.o"
1752 install_headers_dir=install-headers-cpio
1755 i[34567]86-*-osf1*) # Intel 80386's running OSF/1 1.3+
1758 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h i386/xm-osf1elf.h"
1759 xm_defines="USE_C_ALLOCA SMALL_ARG_MAX"
1760 if test x$stabs = xyes
1762 tm_file=i386/osf1elfgdb.h
1764 tm_file=i386/osf1elf.h
1766 tmake_file=i386/t-osf1elf
1767 xmake_file=i386/x-osf1elf
1768 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
1771 i[34567]86-*-sysv*) # Intel 80386's running system V
1773 xm_defines="USG SVR3"
1774 xmake_file=i386/x-sysv3
1775 if test x$gas = xyes
1777 if test x$stabs = xyes
1779 tm_file=i386/svr3dbx.h
1780 tmake_file=i386/t-svr3dbx
1781 extra_parts="svr3.ifile svr3z.rfile"
1783 tm_file=i386/svr3gas.h
1784 extra_parts="crtbegin.o crtend.o"
1785 tmake_file=i386/t-crtstuff
1788 tm_file=i386/sysv3.h
1789 extra_parts="crtbegin.o crtend.o"
1790 tmake_file=i386/t-crtstuff
1792 tmake_file="$tmake_file i386/t-crtpic"
1794 i386-*-vsta) # Intel 80386's running VSTa kernel
1795 xm_file="${xm_file} i386/xm-vsta.h"
1797 tmake_file=i386/t-vsta
1798 xmake_file=i386/x-vsta
1803 xm_file="${xm_file} i386/xm-cygwin.h"
1804 tmake_file=i386/t-cygwin
1805 tm_file=i386/win32.h
1806 xmake_file=i386/x-cygwin
1808 if test x$enable_threads = xyes; then
1814 i[34567]86-*-pe | i[34567]86-*-cygwin*)
1816 xm_file="${xm_file} i386/xm-cygwin.h"
1817 tmake_file=i386/t-cygwin
1818 tm_file=i386/cygwin.h
1819 xmake_file=i386/x-cygwin
1821 if test x$enable_threads = xyes; then
1827 i[34567]86-*-mingw32*)
1829 tm_file=i386/mingw32.h
1830 xm_file="${xm_file} i386/xm-mingw32.h"
1831 tmake_file="i386/t-cygwin i386/t-mingw32"
1833 xmake_file=i386/x-cygwin
1834 if test x$enable_threads = xyes; then
1841 *minwg32crt* | *mingw32*)
1842 tm_file="${tm_file} i386/crtdll.h"
1850 xm_file="${xm_file} i386/xm-uwin.h"
1851 xm_defines="USG NO_STAB_H"
1852 tmake_file="i386/t-cygwin i386/t-uwin"
1854 xmake_file=i386/x-cygwin
1855 if test x$enable_threads = xyes; then
1861 i[34567]86-*-interix*)
1863 tm_file="i386/i386-interix.h interix.h"
1864 xm_file="i386/xm-i386-interix.h xm-interix.h"
1866 tmake_file="i386/t-interix"
1867 extra_objs=interix.o
1868 xmake_file=x-interix
1869 if test x$enable_threads = xyes ; then
1872 if test x$stabs = xyes ; then
1873 tm_file="${tm_file} dbxcoff.h"
1877 i[34567]86-*-winnt3*)
1879 tm_file=i386/win-nt.h
1880 out_file=i386/i386.c
1881 xm_file="xm-winnt.h ${xm_file}"
1882 xmake_file=winnt/x-winnt
1883 tmake_file=i386/t-winnt
1884 extra_host_objs="winnt.o oldnames.o"
1885 extra_gcc_objs="spawnv.o oldnames.o"
1886 if test x$gnu_ld != xyes
1888 extra_programs=ld.exe
1890 if test x$enable_threads = xyes; then
1895 i[34567]86-dg-dgux*)
1897 xm_file="xm-alloca.h ${xm_file}"
1898 xm_defines="USG POSIX"
1899 out_file=i386/dgux.c
1901 tmake_file=i386/t-dgux
1902 xmake_file=i386/x-dgux
1903 install_headers_dir=install-headers-cpio
1905 i860-alliant-*) # Alliant FX/2800
1906 tm_file="${tm_file} svr4.h i860/sysv4.h i860/fx2800.h"
1907 xm_file="${xm_file}"
1908 xmake_file=i860/x-fx2800
1909 tmake_file=i860/t-fx2800
1910 extra_parts="crtbegin.o crtend.o"
1913 tm_file="${tm_file} i860/bsd.h"
1914 if test x$gas = xyes
1916 tm_file="${tm_file} i860/bsd-gas.h"
1921 tm_file="${tm_file} i860/mach.h"
1922 tmake_file=t-libc-ok
1924 i860-*-osf*) # Intel Paragon XP/S, OSF/1AD
1925 tm_file="${tm_file} svr3.h i860/paragon.h"
1926 xm_defines="USG SVR3"
1930 tm_file="${tm_file} svr3.h i860/sysv3.h"
1931 xm_defines="USG SVR3"
1932 xmake_file=i860/x-sysv3
1933 extra_parts="crtbegin.o crtend.o"
1936 tm_file="${tm_file} svr4.h i860/sysv4.h"
1937 xm_defines="USG SVR3"
1938 xmake_file=i860/x-sysv4
1940 extra_parts="crtbegin.o crtend.o"
1942 i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
1943 tm_file="${tm_file} i960/vx960.h"
1944 tmake_file=i960/t-vxworks960
1946 thread_file='vxworks'
1948 i960-wrs-vxworks5* | i960-wrs-vxworks)
1949 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
1950 tmake_file=i960/t-vxworks960
1952 thread_file='vxworks'
1955 tm_file="${tm_file} i960/vx960.h"
1956 tmake_file=i960/t-vxworks960
1958 thread_file='vxworks'
1961 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1962 tmake_file=i960/t-960bare
1966 tmake_file="i960/t-960bare t-rtems"
1967 tm_file="${tm_file} dbxcoff.h i960/rtems.h"
1970 i960-*-*) # Default i960 environment.
1975 tmake_file="ia64/t-ia64"
1976 target_cpu_default="0"
1977 if test x$gas = xyes
1979 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1981 if test x$gnu_ld = xyes
1983 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1987 tm_file=ia64/linux.h
1988 tmake_file="t-linux ia64/t-ia64"
1989 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1990 if test x$enable_threads = xyes; then
1995 extra_parts="crtinit.o crtfini.o"
1997 m68000-convergent-sysv*)
1999 xm_file="m68k/xm-3b1.h ${xm_file}"
2002 extra_headers=math-68881.h
2004 m68000-hp-bsd*) # HP 9000/200 running BSD
2005 tm_file=m68k/hp2bsd.h
2006 xmake_file=m68k/x-hp2bsd
2008 extra_headers=math-68881.h
2010 m68000-hp-hpux*) # HP 9000 series 300
2011 xm_file="xm-alloca.h ${xm_file}"
2013 if test x$gas = xyes
2015 xmake_file=m68k/x-hp320g
2016 tm_file=m68k/hp310g.h
2018 xmake_file=m68k/x-hp320
2019 tm_file=m68k/hp310.h
2021 install_headers_dir=install-headers-cpio
2023 extra_headers=math-68881.h
2028 extra_headers=math-68881.h
2031 tm_file=m68k/sun2o4.h
2033 extra_headers=math-68881.h
2036 xm_file="m68k/xm-3b1.h ${xm_file}"
2038 if test x$gas = xyes
2045 extra_headers=math-68881.h
2047 m68k-apple-aux*) # Apple Macintosh running A/UX
2048 xm_defines="USG AUX"
2049 tmake_file=m68k/t-aux
2050 install_headers_dir=install-headers-cpio
2051 extra_headers=math-68881.h
2052 extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
2054 if test "$gnu_ld" = yes
2056 tm_file="${tm_file} m68k/auxgld.h"
2058 tm_file="${tm_file} m68k/auxld.h"
2060 if test "$gas" = yes
2062 tm_file="${tm_file} m68k/auxgas.h"
2064 tm_file="${tm_file} m68k/auxas.h"
2066 tm_file="${tm_file} m68k/a-ux.h"
2070 tm_file=m68k/apollo68.h
2071 xmake_file=m68k/x-apollo68
2073 extra_headers=math-68881.h
2076 m68k-altos-sysv*) # Altos 3068
2077 if test x$gas = xyes
2079 tm_file=m68k/altos3068.h
2082 echo "The Altos is supported only with the GNU assembler" 1>&2
2085 extra_headers=math-68881.h
2087 m68k-bull-sysv*) # Bull DPX/2
2088 if test x$gas = xyes
2090 if test x$stabs = xyes
2092 tm_file=m68k/dpx2cdbx.h
2094 tm_file=m68k/dpx2g.h
2099 xm_file="xm-alloca.h ${xm_file}"
2101 xmake_file=m68k/x-dpx2
2103 extra_headers=math-68881.h
2105 m68k-atari-sysv4*) # Atari variant of V.4.
2106 tm_file=m68k/atari.h
2107 xm_file="xm-alloca.h ${xm_file}"
2108 xm_defines="USG FULL_PROTOTYPES"
2110 extra_parts="crtbegin.o crtend.o"
2111 extra_headers=math-68881.h
2114 m68k-motorola-sysv*)
2115 tm_file=m68k/mot3300.h
2116 xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
2117 if test x$gas = xyes
2119 xmake_file=m68k/x-mot3300-gas
2120 if test x$gnu_ld = xyes
2122 tmake_file=m68k/t-mot3300-gald
2124 tmake_file=m68k/t-mot3300-gas
2128 xmake_file=m68k/x-mot3300
2129 if test x$gnu_ld = xyes
2131 tmake_file=m68k/t-mot3300-gld
2133 tmake_file=m68k/t-mot3300
2137 gdb_needs_out_file_path=yes
2138 extra_parts="crt0.o mcrt0.o"
2139 extra_headers=math-68881.h
2142 m68k-ncr-sysv*) # NCR Tower 32 SVR3
2143 tm_file=m68k/tower-as.h
2144 xm_defines="USG SVR3"
2145 xmake_file=m68k/x-tower
2146 extra_parts="crtbegin.o crtend.o"
2147 extra_headers=math-68881.h
2150 tm_file=m68k/plexus.h
2151 xm_file="xm-alloca.h m68k/xm-plexus.h ${xm_file}"
2154 extra_headers=math-68881.h
2158 xm_file="xm-alloca.h ${xm_file}"
2160 extra_headers=math-68881.h
2163 xm_file="xm-alloca.h m68k/xm-crds.h ${xm_file}"
2164 xm_defines="USG unos"
2165 xmake_file=m68k/x-crds
2168 extra_headers=math-68881.h
2170 m68k-cbm-sysv4*) # Commodore variant of V.4.
2172 xm_file="xm-alloca.h ${xm_file}"
2173 xm_defines="USG FULL_PROTOTYPES"
2174 xmake_file=m68k/x-amix
2176 extra_parts="crtbegin.o crtend.o"
2177 extra_headers=math-68881.h
2181 tm_file=m68k/ccur-GAS.h
2182 xmake_file=m68k/x-ccur
2183 extra_headers=math-68881.h
2187 m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd
2188 tm_file=m68k/hp3bsd44.h
2189 xmake_file=m68k/x-hp3bsd44
2191 extra_headers=math-68881.h
2194 m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix
2195 tm_file=m68k/hp3bsd.h
2197 extra_headers=math-68881.h
2201 if test x$with_fp = xno
2203 tm_file=m68k/isi-nfp.h
2209 extra_headers=math-68881.h
2211 m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
2212 xm_file="xm-alloca.h ${xm_file}"
2214 if test x$gas = xyes
2216 xmake_file=m68k/x-hp320g
2217 tm_file=m68k/hp320g.h
2219 xmake_file=m68k/x-hp320
2220 tm_file=m68k/hpux7.h
2222 install_headers_dir=install-headers-cpio
2224 extra_headers=math-68881.h
2227 m68k-hp-hpux*) # HP 9000 series 300
2228 xm_file="xm-alloca.h ${xm_file}"
2230 if test x$gas = xyes
2232 xmake_file=m68k/x-hp320g
2233 tm_file=m68k/hp320g.h
2235 xmake_file=m68k/x-hp320
2236 tm_file=m68k/hp320.h
2238 install_headers_dir=install-headers-cpio
2240 extra_headers=math-68881.h
2244 tm_file=m68k/sun3mach.h
2246 extra_headers=math-68881.h
2250 if test x$gas = xyes
2252 tm_file=m68k/news3gas.h
2254 tm_file=m68k/news3.h
2257 extra_headers=math-68881.h
2260 m68k-sony-bsd* | m68k-sony-newsos*)
2261 if test x$gas = xyes
2263 tm_file=m68k/newsgas.h
2268 extra_headers=math-68881.h
2271 m68k-next-nextstep2*)
2272 tm_file=m68k/next21.h
2273 xm_file="m68k/xm-next.h ${xm_file}"
2274 tmake_file=m68k/t-next
2275 xmake_file=m68k/x-next
2276 extra_objs=nextstep.o
2277 extra_headers=math-68881.h
2282 m68k-next-nextstep[34]*)
2285 xm_file="m68k/xm-next.h ${xm_file}"
2286 tmake_file=m68k/t-next
2287 xmake_file=m68k/x-next
2288 extra_objs=nextstep.o
2289 extra_parts="crtbegin.o crtend.o"
2290 extra_headers=math-68881.h
2292 if test x$enable_threads = xyes; then
2297 if test x$with_fp = xno
2299 tm_file=m68k/sun3n3.h
2301 tm_file=m68k/sun3o3.h
2305 extra_headers=math-68881.h
2307 m68k-sun-sunos*) # For SunOS 4 (the default).
2308 if test x$with_fp = xno
2310 tm_file=m68k/sun3n.h
2316 extra_headers=math-68881.h
2319 tm_file=m68k/vxm68k.h
2320 tmake_file=m68k/t-vxworks68
2321 extra_headers=math-68881.h
2322 thread_file='vxworks'
2326 tmake_file=m68k/t-m68kbare
2327 tm_file="m68k/m68k-aout.h libgloss.h"
2328 extra_headers=math-68881.h
2332 tmake_file=m68k/t-m68kbare
2333 tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
2334 extra_headers=math-68881.h
2337 m68020-*-elf* | m68k-*-elf*)
2338 tm_file="m68k/m68020-elf.h"
2339 xm_file=m68k/xm-m68kv.h
2340 tmake_file=m68k/t-m68kelf
2341 header_files=math-68881.h
2344 if test x$gas = xyes
2348 tm_file=m68k/lynx-ng.h
2350 xm_file=m68k/xm-lynx.h
2352 tmake_file=m68k/t-lynx
2353 extra_headers=math-68881.h
2357 tm_file=m68k/netbsd.h
2364 # we need collect2 until our bug is fixed...
2367 m68k-*-sysv3*) # Motorola m68k's running system V.3
2368 xm_file="xm-alloca.h ${xm_file}"
2370 xmake_file=m68k/x-m68kv
2371 extra_parts="crtbegin.o crtend.o"
2372 extra_headers=math-68881.h
2375 m68k-*-sysv4*) # Motorola m68k's running system V.4
2376 tm_file=m68k/m68kv4.h
2377 xm_file="xm-alloca.h ${xm_file}"
2380 extra_parts="crtbegin.o crtend.o"
2381 extra_headers=math-68881.h
2384 m68k-*-linux-gnuaout*) # Motorola m68k's running GNU/Linux
2387 tm_file=m68k/linux-aout.h
2388 tmake_file="t-linux-aout m68k/t-linux-aout"
2389 extra_headers=math-68881.h
2393 m68k-*-linux-gnulibc1) # Motorola m68k's running GNU/Linux
2394 # with ELF format using the
2395 # GNU/Linux C library 5
2397 tm_file=m68k/linux.h
2398 tmake_file="t-linux t-linux-gnulibc1 m68k/t-linux"
2399 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2400 extra_headers=math-68881.h
2404 m68k-*-linux-gnu*) # Motorola m68k's running GNU/Linux
2405 # with ELF format using glibc 2
2406 # aka the GNU/Linux C library 6.
2408 tm_file=m68k/linux.h
2409 tmake_file="t-linux m68k/t-linux"
2410 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2411 extra_headers=math-68881.h
2414 if test x$enable_threads = xyes; then
2419 tmake_file=m68k/t-m68kbare
2420 tm_file=m68k/m68k-psos.h
2421 extra_headers=math-68881.h
2425 tmake_file="m68k/t-m68kbare t-rtems"
2426 tm_file=m68k/rtems.h
2427 extra_headers=math-68881.h
2430 m68k-*-rtemself*|m68k-*-rtems*)
2431 tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
2432 tm_file=m68k/rtemself.h
2433 extra_headers=math-68881.h
2439 tm_file=m88k/dguxbcs.h
2440 tmake_file=m88k/t-dguxbcs
2444 tmake_file=m88k/t-dgux
2447 extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
2448 xmake_file=m88k/x-dgux
2449 if test x$gas = xyes
2451 tmake_file=m88k/t-dgux-gas
2454 m88k-dolphin-sysv3*)
2455 tm_file=m88k/dolph.h
2456 extra_parts="crtbegin.o crtend.o"
2457 xm_file="m88k/xm-sysv3.h ${xm_file}"
2458 xmake_file=m88k/x-dolph
2459 if test x$gas = xyes
2461 tmake_file=m88k/t-m88k-gas
2464 m88k-tektronix-sysv3)
2465 tm_file=m88k/tekXD88.h
2466 extra_parts="crtbegin.o crtend.o"
2467 xm_file="m88k/xm-sysv3.h ${xm_file}"
2468 xmake_file=m88k/x-tekXD88
2469 if test x$gas = xyes
2471 tmake_file=m88k/t-m88k-gas
2475 tm_file=m88k/m88k-aout.h
2478 tm_file=m88k/m88k-coff.h
2479 tmake_file=m88k/t-bug
2483 extra_parts="crtbegin.o crtend.o"
2484 if test x$gas = xyes
2486 tmake_file=m88k/t-luna-gas
2488 tmake_file=m88k/t-luna
2492 tmake_file="${tmake_file} m88k/t-luna-gas"
2495 tm_file=m88k/sysv3.h
2496 extra_parts="crtbegin.o crtend.o"
2497 xm_file="m88k/xm-sysv3.h ${xm_file}"
2498 xmake_file=m88k/x-sysv3
2499 if test x$gas = xyes
2501 tmake_file=m88k/t-m88k-gas
2505 tm_file=m88k/sysv4.h
2506 extra_parts="crtbegin.o crtend.o"
2507 xmake_file=m88k/x-sysv4
2508 tmake_file=m88k/t-sysv4
2511 tm_file=mcore/mcore-elf.h
2512 tmake_file=mcore/t-mcore
2515 tm_file=mcore/mcore-pe.h
2516 tmake_file=mcore/t-mcore-pe
2518 mips-sgi-irix6*) # SGI System V.4., IRIX 6
2519 if test "x$gnu_ld" = xyes
2521 tm_file="mips/iris6.h mips/iris6gld.h"
2523 tm_file=mips/iris6.h
2525 tmake_file=mips/t-iris6
2526 xm_file=mips/xm-iris6.h
2527 xmake_file=mips/x-iris6
2528 # if test x$enable_threads = xyes; then
2529 # thread_file='irix'
2533 tm_file="mips/elf.h mips/vxworks.h"
2534 tmake_file=mips/t-ecoff
2537 extra_parts="crtbegin.o crtend.o"
2538 thread_file='vxworks'
2540 mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
2541 tm_file="mips/iris6.h mips/cross64.h"
2543 xm_file="mips/xm-iris5.h"
2544 xmake_file=mips/x-iris
2545 tmake_file=mips/t-cross64
2546 # See comment in mips/iris[56].h files.
2548 # if test x$enable_threads = xyes; then
2549 # thread_file='irix'
2553 if test x$gas = xyes
2555 if test x$stabs = xyes
2557 tm_file=mips/iris5gdb.h
2559 tm_file="mips/sni-svr4.h mips/sni-gas.h"
2562 tm_file=mips/sni-svr4.h
2565 xmake_file=mips/x-sni-svr4
2566 tmake_file=mips/t-mips-gas
2567 if test x$gnu_ld != xyes
2572 mips-sgi-irix5*) # SGI System V.4., IRIX 5
2573 if test x$gas = xyes
2575 tm_file="mips/iris5.h mips/iris5gas.h"
2576 if test x$stabs = xyes
2578 tm_file="${tm_file} dbx.h"
2581 tm_file=mips/iris5.h
2584 xm_file="mips/xm-iris5.h"
2585 xmake_file=mips/x-iris
2586 # mips-tfile doesn't work yet
2587 tmake_file=mips/t-mips-gas
2588 # See comment in mips/iris5.h file.
2590 # if test x$enable_threads = xyes; then
2591 # thread_file='irix'
2594 mips-sgi-irix4loser*) # Mostly like a MIPS.
2595 tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
2596 if test x$stabs = xyes; then
2597 tm_file="${tm_file} dbx.h"
2600 xmake_file=mips/x-iris
2601 if test x$gas = xyes
2603 tmake_file=mips/t-mips-gas
2605 extra_passes="mips-tfile mips-tdump"
2607 if test x$gnu_ld != xyes
2611 # if test x$enable_threads = xyes; then
2612 # thread_file='irix'
2615 mips-sgi-irix4*) # Mostly like a MIPS.
2616 tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
2617 if test x$stabs = xyes; then
2618 tm_file="${tm_file} dbx.h"
2621 xmake_file=mips/x-iris
2622 if test x$gas = xyes
2624 tmake_file=mips/t-mips-gas
2626 extra_passes="mips-tfile mips-tdump"
2628 if test x$gnu_ld != xyes
2632 # if test x$enable_threads = xyes; then
2633 # thread_file='irix'
2636 mips-sgi-*) # Mostly like a MIPS.
2637 tm_file="mips/iris3.h ${tm_file}"
2638 if test x$stabs = xyes; then
2639 tm_file="${tm_file} dbx.h"
2642 xmake_file=mips/x-iris3
2643 if test x$gas = xyes
2645 tmake_file=mips/t-mips-gas
2647 extra_passes="mips-tfile mips-tdump"
2649 if test x$gnu_ld != xyes
2654 mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose.
2655 tm_file="mips/osfrose.h ${tm_file}"
2656 xmake_file=mips/x-osfrose
2657 tmake_file=mips/t-osfrose
2658 extra_objs=halfpic.o
2661 mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL
2662 tm_file=mips/dec-osf1.h
2663 if test x$stabs = xyes; then
2664 tm_file="${tm_file} dbx.h"
2666 xmake_file=mips/x-dec-osf1
2667 if test x$gas = xyes
2669 tmake_file=mips/t-mips-gas
2671 tmake_file=mips/t-ultrix
2672 extra_passes="mips-tfile mips-tdump"
2674 if test x$gnu_ld != xyes
2679 mips-dec-bsd*) # Decstation running 4.4 BSD
2680 tm_file=mips/dec-bsd.h
2681 if test x$gas = xyes
2683 tmake_file=mips/t-mips-gas
2685 tmake_file=mips/t-ultrix
2686 extra_passes="mips-tfile mips-tdump"
2688 if test x$gnu_ld != xyes
2693 mipsel-*-netbsd* | mips-dec-netbsd*) # Decstation running NetBSD
2694 tm_file=mips/netbsd.h
2695 # On NetBSD, the headers are already okay, except for math.h.
2698 mips*-*-linux*) # Linux MIPS, either endian.
2701 mipsel-*) tm_file="mips/elfl.h mips/linux.h" ;;
2702 *) tm_file="mips/elf.h mips/linux.h" ;;
2704 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2707 if test x$enable_threads = xyes; then
2711 mips*el-*-openbsd*) # mips little endian
2712 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2714 mips*-*-openbsd*) # mips big endian
2715 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2716 tm_file="mips/openbsd-be.h ${tm_file}"
2718 mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
2719 tm_file="mips/news4.h ${tm_file}"
2720 if test x$stabs = xyes; then
2721 tm_file="${tm_file} dbx.h"
2723 if test x$gas = xyes
2725 tmake_file=mips/t-mips-gas
2727 extra_passes="mips-tfile mips-tdump"
2729 if test x$gnu_ld != xyes
2733 xmake_file=mips/x-sony
2735 mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0.
2736 # That is based on svr4.
2737 # t-svr4 is not right because this system doesn't use ELF.
2738 tm_file="mips/news5.h ${tm_file}"
2739 if test x$stabs = xyes; then
2740 tm_file="${tm_file} dbx.h"
2743 if test x$gas = xyes
2745 tmake_file=mips/t-mips-gas
2747 extra_passes="mips-tfile mips-tdump"
2749 if test x$gnu_ld != xyes
2754 mips-tandem-sysv4*) # Tandem S2 running NonStop UX
2755 tm_file="mips/svr4-5.h mips/svr4-t.h"
2756 if test x$stabs = xyes; then
2757 tm_file="${tm_file} dbx.h"
2760 xmake_file=mips/x-sysv
2761 if test x$gas = xyes
2763 tmake_file=mips/t-mips-gas
2764 extra_parts="crtbegin.o crtend.o"
2766 tmake_file=mips/t-mips
2767 extra_passes="mips-tfile mips-tdump"
2769 if test x$gnu_ld != xyes
2774 mips-*-ultrix* | mips-dec-mach3) # Decstation.
2775 tm_file="mips/ultrix.h ${tm_file}"
2776 if test x$stabs = xyes; then
2777 tm_file="${tm_file} dbx.h"
2779 xmake_file=mips/x-ultrix
2780 if test x$gas = xyes
2782 tmake_file=mips/t-mips-gas
2784 tmake_file=mips/t-ultrix
2785 extra_passes="mips-tfile mips-tdump"
2787 if test x$gnu_ld != xyes
2793 mips-*-riscos[56789]bsd*)
2795 tm_file=mips/bsd-5.h # MIPS BSD 4.3, RISC-OS 5.0
2796 if test x$stabs = xyes; then
2797 tm_file="${tm_file} dbx.h"
2799 if test x$gas = xyes
2801 tmake_file=mips/t-bsd-gas
2803 tmake_file=mips/t-bsd
2804 extra_passes="mips-tfile mips-tdump"
2806 if test x$gnu_ld != xyes
2812 mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
2814 tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
2815 if test x$stabs = xyes; then
2816 tm_file="${tm_file} dbx.h"
2818 if test x$gas = xyes
2820 tmake_file=mips/t-bsd-gas
2822 tmake_file=mips/t-bsd
2823 extra_passes="mips-tfile mips-tdump"
2825 if test x$gnu_ld != xyes
2831 mips-*-riscos[56789]sysv4*)
2833 tm_file=mips/svr4-5.h # MIPS System V.4., RISC-OS 5.0
2834 if test x$stabs = xyes; then
2835 tm_file="${tm_file} dbx.h"
2837 xmake_file=mips/x-sysv
2838 if test x$gas = xyes
2840 tmake_file=mips/t-svr4-gas
2842 tmake_file=mips/t-svr4
2843 extra_passes="mips-tfile mips-tdump"
2845 if test x$gnu_ld != xyes
2851 mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
2853 tm_file="mips/svr4-4.h ${tm_file}"
2854 if test x$stabs = xyes; then
2855 tm_file="${tm_file} dbx.h"
2858 xmake_file=mips/x-sysv
2859 if test x$gas = xyes
2861 tmake_file=mips/t-svr4-gas
2863 tmake_file=mips/t-svr4
2864 extra_passes="mips-tfile mips-tdump"
2866 if test x$gnu_ld != xyes
2872 mips-*-riscos[56789]sysv*)
2874 tm_file=mips/svr3-5.h # MIPS System V.3, RISC-OS 5.0
2875 if test x$stabs = xyes; then
2876 tm_file="${tm_file} dbx.h"
2879 xmake_file=mips/x-sysv
2880 if test x$gas = xyes
2882 tmake_file=mips/t-svr3-gas
2884 tmake_file=mips/t-svr3
2885 extra_passes="mips-tfile mips-tdump"
2887 if test x$gnu_ld != xyes
2892 mips-*-sysv* | mips-*-riscos*sysv*)
2893 tm_file="mips/svr3-4.h ${tm_file}"
2894 if test x$stabs = xyes; then
2895 tm_file="${tm_file} dbx.h"
2898 xmake_file=mips/x-sysv
2899 if test x$gas = xyes
2901 tmake_file=mips/t-svr3-gas
2903 tmake_file=mips/t-svr3
2904 extra_passes="mips-tfile mips-tdump"
2906 if test x$gnu_ld != xyes
2912 mips-*-riscos[56789]*) # Default MIPS RISC-OS 5.0.
2914 tm_file=mips/mips-5.h
2915 if test x$stabs = xyes; then
2916 tm_file="${tm_file} dbx.h"
2918 if test x$gas = xyes
2920 tmake_file=mips/t-mips-gas
2922 extra_passes="mips-tfile mips-tdump"
2924 if test x$gnu_ld != xyes
2932 tm_file=mips/ecoffl.h
2933 if test x$stabs = xyes; then
2934 tm_file="${tm_file} dbx.h"
2936 tmake_file=mips/t-ecoff
2939 tm_file="gofast.h mips/ecoff.h"
2940 if test x$stabs = xyes; then
2941 tm_file="${tm_file} dbx.h"
2943 tmake_file=mips/t-ecoff
2946 tm_file="mips/elfl.h"
2947 tmake_file=mips/t-elf
2950 tm_file="mips/elf.h"
2951 tmake_file=mips/t-elf
2954 tm_file="mips/elfl64.h"
2955 tmake_file=mips/t-elf
2957 mips64orionel-*-elf*)
2958 tm_file="mips/elforion.h mips/elfl64.h"
2959 tmake_file=mips/t-elf
2962 tm_file="mips/elf64.h"
2963 tmake_file=mips/t-elf
2966 tm_file="mips/elforion.h mips/elf64.h"
2967 tmake_file=mips/t-elf
2969 mips64orion-*-rtems*)
2970 tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
2971 tmake_file="mips/t-elf t-rtems"
2974 tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
2975 tmake_file=mips/t-r3900
2978 tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
2979 tmake_file=mips/t-r3900
2981 mips-*-*) # Default MIPS RISC-OS 4.0.
2982 if test x$stabs = xyes; then
2983 tm_file="${tm_file} dbx.h"
2985 if test x$gas = xyes
2987 tmake_file=mips/t-mips-gas
2989 extra_passes="mips-tfile mips-tdump"
2991 if test x$gnu_ld != xyes
2999 tm_file="mn10200/mn10200.h"
3000 if test x$stabs = xyes
3002 tm_file="${tm_file} dbx.h"
3008 tm_file="mn10300/mn10300.h"
3009 if test x$stabs = xyes
3011 tm_file="${tm_file} dbx.h"
3016 tm_file=ns32k/encore.h
3020 tm_file=ns32k/sequent.h
3024 tm_file=ns32k/tek6100.h
3028 tm_file=ns32k/tek6200.h
3031 # This has not been updated to GCC 2.
3034 # xmake_file=ns32k/x-genix
3035 # tm_file=ns32k/genix.h
3039 tm_file=ns32k/merlin.h
3043 tm_file=ns32k/pc532-mach.h
3047 tm_file=ns32k/pc532-min.h
3048 xm_file="ns32k/xm-pc532-min.h ${xm-file}"
3053 tm_file=ns32k/netbsd.h
3054 xm_file="ns32k/xm-netbsd.h ${xm_file}"
3055 # On NetBSD, the headers are already okay, except for math.h.
3060 tm_file="${tm_file} pdp11/2bsd.h"
3069 # This has not been updated to GCC 2.
3072 # xmake_file=pyr/x-pyr
3077 tm_file="svr4.h pj/linux.h ${tm_file}"
3082 tm_file="svr4.h pj/pjl.h ${tm_file}"
3089 xmake_file=romp/x-mach
3096 tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
3100 tm_file=rs6000/beos.h
3101 xm_file=rs6000/xm-beos.h
3102 tmake_file=rs6000/t-beos
3103 xmake_file=rs6000/x-beos
3106 tm_file=rs6000/sysv4.h
3107 xm_file="rs6000/xm-sysv4.h"
3108 xm_defines="USG POSIX"
3109 extra_headers=ppc-asm.h
3110 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3111 xmake_file=rs6000/x-sysv4
3114 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabiaix.h"
3115 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3116 extra_headers=ppc-asm.h
3119 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
3120 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3121 extra_headers=ppc-asm.h
3124 tm_file="rs6000/sysv4.h"
3125 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3126 extra_headers=ppc-asm.h
3129 tm_file="rs6000/sysv4.h rs6000/eabi.h"
3130 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3131 extra_headers=ppc-asm.h
3134 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h"
3135 tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
3136 extra_headers=ppc-asm.h
3138 powerpc-*-linux-gnulibc1)
3139 tm_file="rs6000/sysv4.h rs6000/linux.h"
3140 xm_file=rs6000/xm-sysv4.h
3141 out_file=rs6000/rs6000.c
3142 tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
3144 extra_headers=ppc-asm.h
3145 if test x$enable_threads = xyes; then
3149 powerpc-*-linux-gnu*)
3150 tm_file="rs6000/sysv4.h rs6000/linux.h"
3151 xm_file="rs6000/xm-sysv4.h"
3152 xm_defines="USG ${xm_defines}"
3153 out_file=rs6000/rs6000.c
3154 tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
3156 extra_headers=ppc-asm.h
3157 if test x$enable_threads = xyes; then
3161 powerpc-wrs-vxworks*)
3163 xm_file="rs6000/xm-sysv4.h"
3164 xm_defines="USG POSIX"
3165 tm_file="rs6000/sysv4.h rs6000/vxppc.h"
3166 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3167 extra_headers=ppc-asm.h
3168 thread_file='vxworks'
3170 powerpcle-wrs-vxworks*)
3172 xm_file="rs6000/xm-sysv4.h"
3173 xm_defines="USG POSIX"
3174 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
3175 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3176 extra_headers=ppc-asm.h
3177 thread_file='vxworks'
3180 tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
3181 xm_file="rs6000/xm-sysv4.h"
3182 xm_defines="USG POSIX"
3183 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3184 xmake_file=rs6000/x-sysv4
3185 extra_headers=ppc-asm.h
3188 tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
3189 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3190 extra_headers=ppc-asm.h
3192 powerpcle-*-eabisim*)
3193 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
3194 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3195 extra_headers=ppc-asm.h
3198 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
3199 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3200 extra_headers=ppc-asm.h
3202 powerpcle-*-solaris2*)
3203 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/sol2.h"
3204 xm_file="rs6000/xm-sysv4.h"
3205 xm_defines="USG POSIX"
3206 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3207 xmake_file=rs6000/x-sysv4
3208 extra_headers=ppc-asm.h
3211 rs6000-ibm-aix3.[01]*)
3213 tm_file=rs6000/aix31.h
3214 xmake_file=rs6000/x-aix31
3219 rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
3221 tm_file=rs6000/aix3newas.h
3222 if test x$host != x$target
3224 tmake_file=rs6000/t-xnewas
3226 tmake_file=rs6000/t-newas
3232 rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
3234 tm_file=rs6000/aix41.h
3235 if test x$host != x$target
3237 tmake_file=rs6000/t-xnewas
3239 tmake_file=rs6000/t-newas
3241 if test "$gnu_ld" = yes
3243 xmake_file=rs6000/x-aix41-gld
3245 tmake_file="rs6000/t-newas rs6000/t-aix41"
3247 xmake_file=rs6000/x-aix41
3252 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
3254 tm_file=rs6000/aix43.h
3255 tmake_file=rs6000/t-aix43
3256 xmake_file=rs6000/x-aix41
3261 rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
3263 tm_file=rs6000/aix43.h
3264 tmake_file=rs6000/t-aix43
3265 xmake_file=rs6000/x-aix41
3278 tm_file=rs6000/mach.h
3279 xm_file="${xm_file} rs6000/xm-mach.h"
3280 xmake_file=rs6000/x-mach
3284 tm_file=rs6000/lynx.h
3285 xm_file=rs6000/xm-lynx.h
3286 tmake_file=rs6000/t-rs6000
3287 xmake_file=rs6000/x-lynx
3295 tmake_file="sh/t-sh t-rtems"
3296 tm_file=sh/rtemself.h
3300 tmake_file="sh/t-sh t-rtems"
3309 xm_file="xm-alloca.h ${xm_file}"
3312 sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
3313 tm_file=sparc/vxsparc.h
3314 tmake_file=sparc/t-vxsparc
3316 thread_file='vxworks'
3319 tmake_file=sparc/t-sparcbare
3320 tm_file="sparc/aout.h libgloss.h"
3323 tm_file=sparc/netbsd.h
3328 # we need collect2 until our bug is fixed...
3336 tmake_file=sparc/t-elf
3337 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3341 sparc-*-linux-gnuaout*) # Sparc's running GNU/Linux, a.out
3342 xm_file="${xm_file} sparc/xm-linux.h"
3343 tm_file=sparc/linux-aout.h
3347 sparc-*-linux-gnulibc1*) # Sparc's running GNU/Linux, libc5
3348 xm_file="${xm_file} sparc/xm-linux.h"
3350 tm_file=sparc/linux.h
3351 tmake_file="t-linux t-linux-gnulibc1"
3352 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3356 sparc-*-linux-gnu*) # Sparc's running GNU/Linux, libc6
3357 xm_file="${xm_file} sparc/xm-linux.h"
3359 tm_file=sparc/linux.h
3360 tmake_file="t-linux"
3361 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3363 if test x$enable_threads = xyes; then
3369 if test x$gas = xyes
3371 tm_file=sparc/lynx.h
3373 tm_file=sparc/lynx-ng.h
3375 xm_file=sparc/xm-lynx.h
3376 tmake_file=sparc/t-sunos41
3380 tmake_file="sparc/t-sparcbare t-rtems"
3381 tm_file=sparc/rtems.h
3383 sparc-*-rtems*|sparc-*-rtemself*)
3384 tm_file="sparc/rtemself.h"
3385 tmake_file="sparc/t-elf t-rtems"
3386 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3390 sparcv9-*-solaris2*)
3391 if test x$gnu_ld = xyes
3393 tm_file=sparc/sol2-64.h
3395 tm_file=sparc/sol2-sld-64.h
3397 xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
3398 xm_defines="USG POSIX"
3399 tmake_file="sparc/t-sol2 sparc/t-sol2-64"
3400 xmake_file=sparc/x-sysv4
3401 extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
3403 if test x${enable_threads} = x ; then
3404 enable_threads=$have_pthread_h
3405 if test x${enable_threads} = x ; then
3406 enable_threads=$have_thread_h
3409 if test x${enable_threads} = xyes ; then
3410 if test x${have_pthread_h} = xyes ; then
3413 thread_file='solaris'
3417 sparc-hal-solaris2*)
3418 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3419 xm_defines="USG POSIX"
3420 tm_file="sparc/sol2.h sparc/hal.h"
3421 tmake_file="sparc/t-halos sparc/t-sol2"
3422 xmake_file=sparc/x-sysv4
3423 extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
3434 thread_file='solaris'
3437 if test x$gnu_ld = xyes
3439 tm_file=sparc/sol2.h
3441 tm_file=sparc/sol2-sld.h
3443 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3444 xm_defines="USG POSIX"
3445 tmake_file=sparc/t-sol2
3446 xmake_file=sparc/x-sysv4
3447 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
3450 *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
3453 if test x$gnu_ld = xyes
3455 tm_file=sparc/sol2-64.h
3457 tm_file=sparc/sol2-sld-64.h
3459 tmake_file="$tmake_file sparc/t-sol2-64"
3472 if test x${enable_threads} = x; then
3473 enable_threads=$have_pthread_h
3474 if test x${enable_threads} = x; then
3475 enable_threads=$have_thread_h
3478 if test x${enable_threads} = xyes; then
3479 if test x${have_pthread_h} = xyes; then
3482 thread_file='solaris'
3487 tm_file=sparc/sunos4.h
3488 tmake_file=sparc/t-sunos40
3492 tm_file=sparc/sunos4.h
3493 tmake_file=sparc/t-sunos41
3495 if test x$gas = xyes; then
3496 tm_file="${tm_file} sparc/sun4gas.h"
3500 tm_file=sparc/sun4o3.h
3504 tm_file=sparc/sysv4.h
3505 xm_file="sparc/xm-sysv4.h"
3506 xm_defines="USG POSIX"
3508 xmake_file=sparc/x-sysv4
3509 extra_parts="crtbegin.o crtend.o"
3512 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3513 xm_defines="USG POSIX"
3514 tm_file=sparc/vxsim.h
3515 tmake_file=sparc/t-vxsparc
3516 xmake_file=sparc/x-sysv4
3519 tm_file="sparc/splet.h libgloss.h"
3520 tmake_file=sparc/t-splet
3523 tm_file="sparc/litecoff.h libgloss.h"
3524 tmake_file=sparc/t-sparclite
3527 tm_file="sparc/lite.h aoutos.h libgloss.h"
3528 tmake_file=sparc/t-sparclite
3531 tm_file="sparc/liteelf.h"
3532 tmake_file=sparc/t-sparclite
3533 extra_parts="crtbegin.o crtend.o"
3536 tm_file="sparc/sp86x-aout.h aoutos.h libgloss.h"
3537 tmake_file=sparc/t-sp86x
3540 tm_file="sparc/sp86x-elf.h"
3541 tmake_file=sparc/t-sp86x
3542 extra_parts="crtbegin.o crtend.o"
3545 tmake_file=sparc/t-sp64
3546 tm_file=sparc/sp64-aout.h
3549 tmake_file=sparc/t-sp64
3550 tm_file=sparc/sp64-elf.h
3551 extra_parts="crtbegin.o crtend.o"
3553 sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
3554 tmake_file="t-linux sparc/t-linux64"
3555 xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
3556 tm_file=sparc/linux64.h
3558 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3560 if test x$enable_threads = xyes; then
3565 # This hasn't been upgraded to GCC 2.
3566 # tahoe-harris-*) # Harris tahoe, using COFF.
3567 # tm_file=tahoe/harris.h
3569 # tahoe-*-bsd*) # tahoe running BSD
3574 *** The Thumb targets have been depreciated. The equivalent
3575 *** ARM based toolchain can now generated Thumb instructions
3576 *** when the -mthumb switch is given to the compiler.])
3578 # This hasn't been upgraded to GCC 2.
3585 tm_file="v850/rtems.h"
3586 xm_file="v850/xm-v850.h"
3587 tmake_file="v850/t-v850 t-rtems"
3588 if test x$stabs = xyes
3590 tm_file="${tm_file} dbx.h"
3595 target_cpu_default="TARGET_CPU_generic"
3597 tm_file="v850/v850.h"
3598 xm_file="v850/xm-v850.h"
3599 tmake_file=v850/t-v850
3600 if test x$stabs = xyes
3602 tm_file="${tm_file} dbx.h"
3606 vax-*-bsd*) # vaxen running BSD
3610 vax-*-sysv*) # vaxen running system V
3611 tm_file="${tm_file} vax/vaxv.h"
3616 tm_file="${tm_file} netbsd.h vax/netbsd.h"
3622 tmake_file="${tmake_file} vax/t-openbsd"
3624 vax-*-ultrix*) # vaxen running ultrix
3625 tm_file="${tm_file} vax/ultrix.h"
3629 vax-*-vms*) # vaxen running VMS
3630 xm_file=vax/xm-vms.h
3634 vax-*-*) # vax default entry
3638 xm_file="${xm_file} xm-svr3"
3642 echo "Configuration $machine not supported" 1>&2
3649 ;; # Existing GNU/Linux systems do not use the GNU setup.
3651 # On the GNU system, the setup is just about the same on
3652 # each different CPU. The specific machines that GNU
3653 # supports are matched above and just set $cpu_type.
3654 xm_file="xm-gnu.h ${xm_file}"
3655 tm_file=${cpu_type}/gnu.h
3656 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
3657 # GNU always uses ELF.
3659 # GNU tools are the only tools.
3662 xmake_file=x-linux # These details are the same as Linux.
3663 tmake_file=t-gnu # These are not.
3666 xmake_try_sysv=x-sysv
3667 install_headers_dir=install-headers-cpio
3670 install_headers_dir=install-headers-cpio
3674 # Distinguish i[34567]86
3675 # Also, do not run mips-tfile on MIPS if using gas.
3676 # Process --with-cpu= for PowerPC/rs6000
3677 target_cpu_default2=
3680 target_cpu_default2=1
3683 case $target_alias in
3685 target_cpu_default2=4
3688 target_cpu_default2=2
3692 i686-*-* | i786-*-*)
3693 target_cpu_default2=3
3700 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
3703 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
3706 target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
3709 target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
3712 target_cpu_default2="MASK_CPU_EV5"
3716 if test x$gas = xyes
3718 if test "$target_cpu_default2" = ""
3720 target_cpu_default2="MASK_GAS"
3722 target_cpu_default2="${target_cpu_default2}|MASK_GAS"
3727 case "x$with_cpu" in
3730 target_cpu_default2="TARGET_CPU_generic"
3733 # Distinguish cores, and major variants
3734 # arm7m doesn't exist, but D & I don't affect code
3736 xarm[23678] | xarm250 | xarm[67][01]0 \
3737 | xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
3738 | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
3739 | xstrongarm | xstrongarm110 | xstrongarm1100)
3741 target_cpu_default2="TARGET_CPU_$with_cpu"
3745 echo "--with-cpu must be passed a value" 1>&2
3750 if test x$pass2done = xyes
3752 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3759 mips*-*-ecoff* | mips*-*-elf*)
3760 if test x$gas = xyes
3762 if test x$gnu_ld = xyes
3764 target_cpu_default2="MASK_GAS|MASK_SPLIT_ADDR"
3766 target_cpu_default2="MASK_GAS"
3771 if test x$gas = xyes
3773 target_cpu_default2="MASK_GAS"
3776 powerpc*-*-* | rs6000-*-*)
3777 case "x$with_cpu" in
3781 xcommon | xpower | xpower2 | xpowerpc | xrios \
3782 | xrios1 | xrios2 | xrsc | xrsc1 \
3783 | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
3784 | xec603e | x740 | x750 | x401 \
3785 | x403 | x505 | x801 | x821 | x823 | x860)
3786 target_cpu_default2="\"$with_cpu\""
3790 echo "--with-cpu must be passed a value" 1>&2
3795 if test x$pass2done = xyes
3797 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3804 case ".$with_cpu" in
3806 target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
3808 .supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
3809 target_cpu_default2="TARGET_CPU_$with_cpu"
3812 if test x$pass2done = xyes
3814 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3822 if test "$target_cpu_default2" != ""
3824 if test "$target_cpu_default" != ""
3826 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
3828 target_cpu_default=$target_cpu_default2
3832 # No need for collect2 if we have the GNU linker.
3833 # Actually, there is now; GNU ld doesn't handle the EH info or
3834 # collecting for shared libraries.
3841 # Save data on machine being used to compile GCC in build_xm_file.
3842 # Save data on host machine in vars host_xm_file and host_xmake_file.
3843 if test x$pass1done = x
3845 if test x"$xm_file" = x
3846 then build_xm_file=$cpu_type/xm-$cpu_type.h
3847 else build_xm_file=$xm_file
3849 build_xm_defines=$xm_defines
3850 build_install_headers_dir=$install_headers_dir
3851 build_exeext=$exeext
3854 if test x$pass2done = x
3856 if test x"$xm_file" = x
3857 then host_xm_file=$cpu_type/xm-$cpu_type.h
3858 else host_xm_file=$xm_file
3860 host_xm_defines=$xm_defines
3861 if test x"$xmake_file" = x
3862 then xmake_file=$cpu_type/x-$cpu_type
3864 host_xmake_file="$xmake_file"
3865 host_truncate_target=$truncate_target
3866 host_extra_gcc_objs=$extra_gcc_objs
3867 host_extra_objs=$extra_host_objs
3874 extra_objs="${host_extra_objs} ${extra_objs}"
3876 # Default the target-machine variables that were not explicitly set.
3877 if test x"$tm_file" = x
3878 then tm_file=$cpu_type/$cpu_type.h; fi
3880 if test x$extra_headers = x
3881 then extra_headers=; fi
3883 if test x"$xm_file" = x
3884 then xm_file=$cpu_type/xm-$cpu_type.h; fi
3886 if test x$md_file = x
3887 then md_file=$cpu_type/$cpu_type.md; fi
3889 if test x$out_file = x
3890 then out_file=$cpu_type/$cpu_type.c; fi
3892 if test x"$tmake_file" = x
3893 then tmake_file=$cpu_type/t-$cpu_type
3896 if test x"$dwarf2" = xyes
3897 then tm_file="$tm_file tm-dwarf2.h"
3900 if test x$float_format = x
3901 then float_format=i64
3904 if test $float_format = none
3905 then float_h_file=Makefile.in
3906 else float_h_file=float-$float_format.h
3909 # Handle cpp installation.
3910 if test x$enable_cpp != xno
3912 tmake_file="$tmake_file t-install-cpp"
3915 # Say what files are being used for the output code and MD file.
3916 echo "Using \`$srcdir/config/$out_file' to output insns."
3917 echo "Using \`$srcdir/config/$md_file' as machine description file."
3920 for f in $tm_file; do
3923 if test $count = ax; then
3924 echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
3926 echo "Using the following target machine macro files:"
3927 for f in $tm_file; do
3928 echo " $srcdir/config/$f"
3933 for f in $host_xm_file; do
3936 if test $count = ax; then
3937 echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
3939 echo "Using the following host machine macro files:"
3940 for f in $host_xm_file; do
3941 echo " $srcdir/config/$f"
3945 if test "$host_xm_file" != "$build_xm_file"; then
3947 for f in $build_xm_file; do
3950 if test $count = ax; then
3951 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
3953 echo "Using the following build machine macro files:"
3954 for f in $build_xm_file; do
3955 echo " $srcdir/config/$f"
3960 if test x$thread_file = x; then
3961 if test x$target_thread_file != x; then
3962 thread_file=$target_thread_file
3964 thread_file='single'
3968 # Set up the header files.
3969 # $links is the list of header files to create.
3970 # $vars is the list of shell variables with file names to include.
3971 # auto-host.h is the file containing items generated by autoconf and is
3972 # the first file included by config.h.
3974 host_xm_file="auto-host.h gansidecl.h ${host_xm_file} hwint.h"
3976 # If host=build, it is correct to have hconfig include auto-host.h
3977 # as well. If host!=build, we are in error and need to do more
3978 # work to find out the build config parameters.
3979 if test x$host = x$build
3981 build_xm_file="auto-host.h gansidecl.h ${build_xm_file} hwint.h"
3983 # We create a subdir, then run autoconf in the subdir.
3984 # To prevent recursion we set host and build for the new
3985 # invocation of configure to the build for this invocation
3992 /*) realsrcdir=${srcdir};;
3993 *) realsrcdir=../${srcdir};;
3995 CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
3996 --target=$target --host=$build --build=$build
3998 # We just finished tests for the build machine, so rename
3999 # the file auto-build.h in the gcc directory.
4000 mv auto-host.h ../auto-build.h
4003 build_xm_file="auto-build.h gansidecl.h ${build_xm_file} hwint.h"
4006 xm_file="gansidecl.h ${xm_file}"
4007 tm_file="gansidecl.h ${tm_file}"
4009 vars="host_xm_file tm_file tm_p_file xm_file build_xm_file"
4010 links="config.h tm.h tm_p.h tconfig.h hconfig.h"
4011 defines="host_xm_defines null_defines null_defines xm_defines build_xm_defines"
4014 if test -f config.status; then mv -f config.status config.bak; fi
4017 while test -n "$vars"
4019 set $vars; var=$1; shift; vars=$*
4020 set $links; link=$1; shift; links=$*
4021 set $defines; define=$1; shift; defines=$*
4024 # Make sure the file is created, even if it is empty.
4027 # Define TARGET_CPU_DEFAULT if the system wants one.
4028 # This substitutes for lots of *.h files.
4029 if test "$target_cpu_default" != "" -a $link = tm.h
4031 echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
4034 for file in `eval echo '$'$var`; do
4039 echo '#ifdef IN_GCC' >>$link
4042 echo "#include \"$file\"" >>$link
4047 echo '#endif' >>$link
4052 for def in `eval echo '$'$define`; do
4053 echo "#ifndef $def" >>$link
4054 echo "#define $def" >>$link
4055 echo "#endif" >>$link
4059 # Truncate the target if necessary
4060 if test x$host_truncate_target != x; then
4061 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
4064 # Get the version trigger filename from the toplevel
4065 if test "${with_gcc_version_trigger+set}" = set; then
4066 gcc_version_trigger=$with_gcc_version_trigger
4068 gcc_version_trigger=${srcdir}/version.c
4071 gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
4074 # Internationalization
4076 VERSION="$gcc_version"
4077 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",
4078 [Define to the name of the distribution.])
4079 AC_DEFINE_UNQUOTED(VERSION, "$VERSION",
4080 [Define to the version of the distribution.])
4086 # NLS support is still experimental, so disable it by default for now.
4088 [ --enable-nls use Native Language Support (disabled by default)],
4092 XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
4094 # Windows32 Registry support for specifying GCC installation paths.
4095 AC_ARG_ENABLE(win32-registry,
4096 [ --disable-win32-registry
4097 Disable lookup of installation paths in the
4098 Registry on Windows hosts.
4099 --enable-win32-registry Enable registry lookup (default).
4100 --enable-win32-registry=KEY
4101 Use KEY instead of GCC version as the last portion
4102 of the registry key.],,)
4104 AC_MSG_CHECKING(whether windows registry support is requested)
4105 if test x$enable_win32_registry != xno; then
4106 AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
4107 [Define to 1 if installation paths should be looked up in Windows32
4108 Registry. Ignored on non windows32 hosts.])
4114 # Check if user specified a different registry key.
4115 case x${enable_win32_registry} in
4118 gcc_cv_win32_registry_key="$VERSION"
4121 # no registry lookup.
4122 gcc_cv_win32_registry_key=''
4125 # user-specified key.
4126 gcc_cv_win32_registry_key="$enable_win32_registry"
4130 if test x$enable_win32_registry != xno; then
4131 AC_MSG_CHECKING(registry key on windows hosts)
4132 AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key",
4133 [Define to be the last portion of registry key on windows hosts.])
4134 AC_MSG_RESULT($gcc_cv_win32_registry_key)
4137 # Get an absolute path to the GCC top-level source directory
4143 # Conditionalize the makefile for this host machine.
4144 # Make-host contains the concatenation of all host makefile fragments
4145 # [there can be more than one]. This file is built by configure.frag.
4146 host_overrides=Make-host
4147 dep_host_xmake_file=
4148 for f in .. ${host_xmake_file}
4150 if test -f ${srcdir}/config/$f
4152 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
4156 # Conditionalize the makefile for this target machine.
4157 # Make-target contains the concatenation of all host makefile fragments
4158 # [there can be more than one]. This file is built by configure.frag.
4159 target_overrides=Make-target
4161 for f in .. ${tmake_file}
4163 if test -f ${srcdir}/config/$f
4165 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
4169 # If the host doesn't support symlinks, modify CC in
4170 # FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
4171 # Otherwise, we can use "CC=$(CC)".
4173 if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
4175 cc_set_by_configure="\$(CC)"
4176 quoted_cc_set_by_configure="\$(CC)"
4177 stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
4180 if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
4182 symbolic_link="cp -p"
4186 cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
4187 quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
4188 stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
4192 out_object_file=`basename $out_file .c`.o
4195 for f in $tm_file; do
4198 tm_file_list="${tm_file_list} $f" ;;
4199 *) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
4204 for f in $host_xm_file; do
4206 auto-host.h | gansidecl.h | hwint.h )
4207 host_xm_file_list="${host_xm_file_list} $f" ;;
4208 *) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
4213 for f in $build_xm_file; do
4215 auto-build.h | auto-host.h | gansidecl.h | hwint.h )
4216 build_xm_file_list="${build_xm_file_list} $f" ;;
4217 *) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
4221 # Define macro CROSS_COMPILE in compilation
4222 # if this is a cross-compiler.
4223 # Also use all.cross instead of all.internal
4224 # and add cross-make to Makefile.
4225 cross_overrides="/dev/null"
4226 if test x$host != x$target
4228 cross_defines="CROSS=-DCROSS_COMPILE"
4229 cross_overrides="${topdir}/cross-make"
4232 # When building gcc with a cross-compiler, we need to fix a few things.
4233 # This must come after cross-make as we want all.build to override
4235 build_overrides="/dev/null"
4236 if test x$build != x$host
4238 build_overrides="${topdir}/build-make"
4241 # Expand extra_headers to include complete path.
4242 # This substitutes for lots of t-* files.
4244 if test "x$extra_headers" = x
4247 # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
4248 for file in $extra_headers;
4250 extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
4254 if test x$use_collect2 = xno; then
4258 # Add a definition of USE_COLLECT2 if system wants one.
4259 # Also tell toplev.c what to do.
4260 # This substitutes for lots of t-* files.
4261 if test x$use_collect2 = x
4266 will_use_collect2="collect2"
4267 maybe_use_collect2="-DUSE_COLLECT2"
4271 # Set MD_DEPS if the real md file is in md.pre-cpp.
4272 # Set MD_CPP to the cpp to pass the md file through. Md files use ';'
4273 # for line oriented comments, so we must always use a GNU cpp. If
4274 # building gcc with a cross compiler, use the cross compiler just
4275 # built. Otherwise, we can use the cpp just built.
4277 if test "x$md_cppflags" = x
4279 md_file_sub=$srcdir/config/$md_file
4284 # If we have gas in the build tree, make a link to it.
4285 if test -f ../gas/Makefile; then
4286 rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
4289 # If we have nm in the build tree, make a link to it.
4290 if test -f ../binutils/Makefile; then
4291 rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
4294 # If we have ld in the build tree, make a link to it.
4295 if test -f ../ld/Makefile; then
4296 # if test x$use_collect2 = x; then
4297 # rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
4299 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
4303 # Figure out what assembler alignment features are present.
4304 AC_MSG_CHECKING(assembler alignment features)
4306 gcc_cv_as_alignment_features=
4307 gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
4308 if test -x "$DEFAULT_ASSEMBLER"; then
4309 gcc_cv_as="$DEFAULT_ASSEMBLER"
4310 elif test -x "$AS"; then
4312 elif test -x as$host_exeext; then
4313 # Build using assembler in the current directory.
4314 gcc_cv_as=./as$host_exeext
4315 elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
4316 # Single tree build which includes gas.
4317 for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
4320 gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
4322 if test x$gcc_cv_gas_version != x; then
4327 gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
4328 gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
4330 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
4331 # Gas version 2.6 and later support for .balign and .p2align.
4332 # bytes to skip when using .p2align.
4333 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 6 -o "$gcc_cv_gas_major_version" -gt 2; then
4334 gcc_cv_as_alignment_features=".balign and .p2align"
4335 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4337 # Gas version 2.8 and later support specifying the maximum
4338 # bytes to skip when using .p2align.
4339 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2; then
4340 gcc_cv_as_alignment_features=".p2align including maximum skip"
4341 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4344 elif test x$host = x$target; then
4346 # Search the same directories that the installed compiler will
4347 # search. Else we may find the wrong assembler and lose. If we
4348 # do not find a suitable assembler binary, then try the user's
4351 # Also note we have to check MD_EXEC_PREFIX before checking the
4352 # user's path. Unfortunately, there is no good way to get at the
4353 # value of MD_EXEC_PREFIX here. So we do a brute force search
4354 # through all the known MD_EXEC_PREFIX values. Ugh. This needs
4355 # to be fixed as part of the make/configure rewrite too.
4357 if test "x$exec_prefix" = xNONE; then
4358 if test "x$prefix" = xNONE; then
4359 test_prefix=/usr/local
4364 test_prefix=$exec_prefix
4367 # If the loop below does not find an assembler, then use whatever
4368 # one we can find in the users's path.
4372 test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
4373 $test_prefix/lib/gcc-lib/$target \
4374 /usr/lib/gcc/$target/$gcc_version \
4375 /usr/lib/gcc/$target \
4376 $test_prefix/$target/bin/$target/$gcc_version \
4377 $test_prefix/$target/bin \
4382 /bsd43/usr/lib/cmplrs/cc \
4383 /usr/cross64/usr/bin \
4384 /usr/lib/cmplrs/cc \
4385 /sysv/usr/lib/cmplrs/cc \
4386 /svr4/usr/lib/cmplrs/cc \
4389 for dir in $test_dirs; do
4390 if test -f $dir/as$host_exeext; then
4391 gcc_cv_as=$dir/as$host_exeext
4396 if test x$gcc_cv_as != x; then
4397 # Check if we have .balign and .p2align
4398 echo ".balign 4" > conftest.s
4399 echo ".p2align 2" >> conftest.s
4400 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4401 gcc_cv_as_alignment_features=".balign and .p2align"
4402 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4404 rm -f conftest.s conftest.o
4405 # Check if specifying the maximum bytes to skip when
4406 # using .p2align is supported.
4407 echo ".p2align 4,,7" > conftest.s
4408 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4409 gcc_cv_as_alignment_features=".p2align including maximum skip"
4410 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4412 rm -f conftest.s conftest.o
4414 AC_MSG_RESULT($gcc_cv_as_alignment_features)
4416 AC_MSG_CHECKING(assembler subsection support)
4417 gcc_cv_as_subsections=
4418 if test x$gcc_cv_as != x; then
4419 # Check if we have .subsection
4420 echo ".subsection 1" > conftest.s
4421 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4422 gcc_cv_as_subsections=".subsection"
4423 if test -x nm$host_exeext; then
4424 gcc_cv_nm=./nm$host_exeext
4425 elif test x$host = x$target; then
4427 gcc_cv_nm=nm$host_exeext
4429 if test x$gcc_cv_nm != x; then
4430 cat > conftest.s <<EOF
4431 conftest_label1: .word 0
4433 conftest_label2: .word 0
4436 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4437 $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
4438 $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
4439 if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
4442 gcc_cv_as_subsections="working .subsection -1"
4443 AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1,
4444 [Define if your assembler supports .subsection and .subsection -1 starts
4445 emitting at the beginning of your section.])
4450 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4452 AC_MSG_RESULT($gcc_cv_as_subsections)
4454 AC_MSG_CHECKING(assembler weak support)
4456 if test x$gcc_cv_as != x; then
4457 # Check if we have .weak
4458 echo " .weak foobar" > conftest.s
4459 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4460 AC_DEFINE(HAVE_GAS_WEAK, 1,
4461 [Define if your assembler supports .weak.])
4462 gcc_cv_as_weak="yes"
4464 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4466 AC_MSG_RESULT($gcc_cv_as_weak)
4468 AC_MSG_CHECKING(assembler hidden support)
4470 if test x$gcc_cv_as != x; then
4471 # Check if we have .hidden
4472 echo " .hidden foobar" > conftest.s
4473 echo "foobar:" >> conftest.s
4474 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4475 AC_DEFINE(HAVE_GAS_HIDDEN, 1,
4476 [Define if your assembler supports .hidden.])
4477 gcc_cv_as_hidden="yes"
4479 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4481 AC_MSG_RESULT($gcc_cv_as_hidden)
4485 AC_CACHE_CHECK([assembler .register pseudo-op support],
4486 gcc_cv_as_register_pseudo_op, [
4487 gcc_cv_as_register_pseudo_op=unknown
4488 if test x$gcc_cv_as != x; then
4489 # Check if we have .register
4490 echo ".register %g2, #scratch" > conftest.s
4491 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4492 gcc_cv_as_register_pseudo_op=yes
4494 gcc_cv_as_register_pseudo_op=no
4496 rm -f conftest.s conftest.o
4499 if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
4500 AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
4501 [Define if your assembler supports .register.])
4506 AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
4507 gcc_cv_as_flags64, [
4508 if test -n "$gcc_cv_as"; then
4509 echo ".xword foo" > conftest.s
4510 gcc_cv_as_flags64=no
4511 for flag in "-xarch=v9" "-64 -Av9"; do
4512 if $gcc_cv_as $flag -o conftest.o conftest.s \
4513 > /dev/null 2>&1; then
4514 gcc_cv_as_flags64=$flag
4518 rm -f conftest.s conftest.o
4520 if test "$gas" = yes; then
4521 gcc_cv_as_flags64="-64 -Av9"
4523 gcc_cv_as_flags64="-xarch=v9"
4527 if test "x$gcc_cv_as_flags64" = xno; then
4529 tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
4530 dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
4533 AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64",
4534 [Define if the assembler supports 64bit sparc.])
4537 *) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
4541 if test "x$gcc_cv_as_flags64" != xno; then
4542 AC_CACHE_CHECK([for assembler offsetable %lo() support],
4543 gcc_cv_as_offsetable_lo10, [
4544 gcc_cv_as_offsetable_lo10=unknown
4545 if test "x$gcc_cv_as" != x; then
4546 # Check if assembler has offsetable %lo()
4547 echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
4548 echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
4549 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
4551 $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
4552 > /dev/null 2>&1; then
4553 if cmp conftest.o conftest1.o > /dev/null 2>&1; then
4554 gcc_cv_as_offsetable_lo10=no
4556 gcc_cv_as_offsetable_lo10=yes
4559 gcc_cv_as_offsetable_lo10=no
4561 rm -f conftest.s conftest.o conftest1.s conftest1.o
4564 if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
4565 AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
4566 [Define if your assembler supports offsetable %lo().])
4574 AC_MSG_CHECKING(assembler instructions)
4575 gcc_cv_as_instructions=
4576 if test x$gcc_cv_as != x; then
4577 set "filds fists" "filds mem; fists mem"
4580 echo "$2" > conftest.s
4581 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4582 gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
4583 AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$1" | tr '[a-z ]' '[A-Z_]'`)
4587 rm -f conftest.s conftest.o
4589 AC_MSG_RESULT($gcc_cv_as_instructions)
4593 # Figure out what language subdirectories are present.
4594 # Look if the user specified --enable-languages="..."; if not, use
4595 # the environment variable $LANGUAGES if defined. $LANGUAGES might
4597 if test x"${enable_languages+set}" != xset; then
4598 if test x"${LANGUAGES+set}" = xset; then
4599 enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
4601 enable_languages=all
4605 for lang in ${srcdir}/*/config-lang.in ..
4609 # The odd quoting in the next line works around
4610 # an apparent bug in bash 1.12 on linux.
4612 ${srcdir}/[*]/config-lang.in) ;;
4614 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
4615 if test "x$lang_alias" = x
4617 echo "$lang doesn't set \$language." 1>&2
4620 if test x"${enable_languages}" = xall; then
4623 case "${enable_languages}" in
4624 ${lang_alias} | "${lang_alias},"* | *",${lang_alias},"* | *",${lang_alias}" )
4632 if test x"${add_this_lang}" = xyes; then
4634 ${srcdir}/ada/config-lang.in)
4635 if test x$gnat = xyes ; then
4636 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4640 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4649 # Make gthr-default.h if we have a thread file.
4651 if test $thread_file != single; then
4652 rm -f gthr-default.h
4653 echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
4654 gthread_flags=-DHAVE_GTHR_DEFAULT
4656 AC_SUBST(gthread_flags)
4658 # Find out what GC implementation we want, or may, use.
4660 [ --with-gc={simple,page} Choose the garbage collection mechanism to use
4661 with the compiler.],
4667 AC_MSG_ERROR([$withval is an invalid option to --with-gc])
4670 [if test $ac_cv_func_mmap_anywhere = yes \
4671 || test $ac_cv_func_valloc = yes; then
4677 echo "Using $GGC for garbage collection."
4679 # Build a new-abi (c++) system
4680 AC_ARG_ENABLE(new-gxx-abi,
4681 [ --enable-new-gxx-abi
4682 select the new abi for g++. You must select an ABI
4683 at configuration time, so that the correct runtime
4684 support is built. You cannot mix ABIs.],
4685 [AC_DEFINE(ENABLE_NEW_GXX_ABI, 1,
4686 [Define if you want to always select the new-abi for g++.])
4687 GXX_ABI_FLAG='-fnew-abi'
4688 echo "Building a new-abi g++ compiler."
4690 AC_SUBST(GXX_ABI_FLAG)
4692 # Build a new-libstdc++ system (ie libstdc++-v3)
4693 AC_MSG_CHECKING([for libstdc++ to install])
4694 AC_ARG_ENABLE(libstdcxx-v3,
4695 [ --enable-libstdcxx-v3
4696 enable libstdc++-v3 for building and installation],
4697 [enable_libstdcxx_v3=yes], [enable_libstdcxx_v3=no])
4699 if test x$enable_libstdcxx_v3 = xyes; then
4706 AC_DEFINE_UNQUOTED(ENABLE_STD_NAMESPACE, $ac_esn,
4707 [Define to 1 if you want to enable namespaces (-fhonor-std) by default.])
4709 # Make empty files to contain the specs and options for each language.
4710 # Then add #include lines to for a compiler that has specs and/or options.
4715 rm -f specs.h options.h gencheck.h
4716 touch specs.h options.h gencheck.h
4717 for subdir in . $subdirs
4719 if test -f $srcdir/$subdir/lang-specs.h; then
4720 echo "#include \"$subdir/lang-specs.h\"" >>specs.h
4721 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
4723 if test -f $srcdir/$subdir/lang-options.h; then
4724 echo "#include \"$subdir/lang-options.h\"" >>options.h
4725 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
4727 if test -f $srcdir/$subdir/$subdir-tree.def; then
4728 echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
4729 lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
4733 # These (without "all_") are set in each config-lang.in.
4734 # `language' must be a single word so is spelled singularly.
4740 all_outputs='Makefile intl/Makefile po/Makefile.in fixinc/Makefile gccbug mklibgcc'
4741 # List of language makefile fragments.
4746 # Add the language fragments.
4747 # Languages are added via two mechanisms. Some information must be
4748 # recorded in makefile variables, these are defined in config-lang.in.
4749 # We accumulate them and plug them into the main Makefile.
4750 # The other mechanism is a set of hooks for each of the main targets
4751 # like `clean', `install', etc.
4753 language_fragments="Make-lang"
4754 language_hooks="Make-hooks"
4757 for s in .. $subdirs
4769 . ${srcdir}/$s/config-lang.in
4770 if test "x$language" = x
4772 echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
4775 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
4776 all_languages="$all_languages $language"
4777 if test "x$boot_language" = xyes
4779 all_boot_languages="$all_boot_languages $language"
4781 all_compilers="$all_compilers $compilers"
4782 all_stagestuff="$all_stagestuff $stagestuff"
4783 all_diff_excludes="$all_diff_excludes $diff_excludes"
4784 all_headers="$all_headers $headers"
4785 all_outputs="$all_outputs $outputs"
4786 if test x$outputs = x
4788 oldstyle_subdirs="$oldstyle_subdirs $s"
4790 all_lib2funcs="$all_lib2funcs $lib2funcs"
4794 # Since we can't use `::' targets, we link each language in
4795 # with a set of hooks, reached indirectly via lang.${target}.
4799 target_list="all.build all.cross start.encap rest.encap \
4801 install-normal install-common install-info install-man \
4803 mostlyclean clean distclean extraclean maintainer-clean \
4804 stage1 stage2 stage3 stage4"
4805 for t in $target_list
4808 for lang in .. $all_languages
4810 if test $lang != ".."; then
4814 echo "lang.$t: $x" >> Make-hooks
4817 # If we're not building in srcdir, create .gdbinit.
4819 if test ! -f Makefile.in; then
4820 echo "dir ." > .gdbinit
4821 echo "dir ${srcdir}" >> .gdbinit
4822 if test x$gdb_needs_out_file_path = xyes
4824 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
4826 if test "x$subdirs" != x; then
4829 echo "dir ${srcdir}/$s" >> .gdbinit
4832 echo "source ${srcdir}/.gdbinit" >> .gdbinit
4835 # Define variables host_canonical and build_canonical
4836 # because some Cygnus local changes in the Makefile depend on them.
4837 build_canonical=${build}
4838 host_canonical=${host}
4840 if test "${host}" != "${target}" ; then
4841 target_subdir=${target}/
4843 AC_SUBST(build_canonical)
4844 AC_SUBST(host_canonical)
4845 AC_SUBST(target_subdir)
4847 # If this is using newlib, then define inhibit_libc in
4848 # LIBGCC2_CFLAGS. This will cause __eprintf to be left out of
4849 # libgcc.a, but that's OK because newib should have its own version of
4852 if test x$with_newlib = xyes; then
4853 inhibit_libc=-Dinhibit_libc
4855 AC_SUBST(inhibit_libc)
4857 # If $(exec_prefix) exists and is not the same as $(prefix), then compute an
4858 # absolute path for gcc_tooldir based on inserting the number of up-directory
4859 # movements required to get from $(exec_prefix) to $(prefix) into the basic
4860 # $(libsubdir)/@(unlibsubdir) based path.
4861 # Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
4862 # make and thus we'd get different behavior depending on where we built the
4864 if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
4865 gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
4867 changequote(<<, >>)dnl
4868 # An explanation of the sed strings:
4869 # -e 's|^\$(prefix)||' matches and eliminates 'prefix' from 'exec_prefix'
4870 # -e 's|/$||' match a trailing forward slash and eliminates it
4871 # -e 's|^[^/]|/|' forces the string to start with a forward slash (*)
4872 # -e 's|/[^/]*|../|g' replaces each occurance of /<directory> with ../
4874 # (*) Note this pattern overwrites the first character of the string
4875 # with a forward slash if one is not already present. This is not a
4876 # problem because the exact names of the sub-directories concerned is
4877 # unimportant, just the number of them matters.
4879 # The practical upshot of these patterns is like this:
4881 # prefix exec_prefix result
4882 # ------ ----------- ------
4884 # /foo/ /foo/bar ../
4885 # /foo /foo/bar/ ../
4886 # /foo/ /foo/bar/ ../
4887 # /foo /foo/bar/ugg ../../
4890 gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
4891 changequote([, ])dnl
4893 AC_SUBST(gcc_tooldir)
4896 # Nothing to do for FLOAT_H, float_format already handled.
4900 # Process the language and host/target makefile fragments.
4901 ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
4903 # Substitute configuration variables
4905 AC_SUBST(all_boot_languages)
4906 AC_SUBST(all_compilers)
4907 AC_SUBST(all_diff_excludes)
4908 AC_SUBST(all_headers)
4909 AC_SUBST(all_lang_makefiles)
4910 AC_SUBST(all_languages)
4911 AC_SUBST(all_lib2funcs)
4912 AC_SUBST(all_stagestuff)
4913 AC_SUBST(build_exeext)
4914 AC_SUBST(build_install_headers_dir)
4915 AC_SUBST(build_xm_file_list)
4916 AC_SUBST(cc_set_by_configure)
4917 AC_SUBST(quoted_cc_set_by_configure)
4918 AC_SUBST(cpp_install_dir)
4919 AC_SUBST(dep_host_xmake_file)
4920 AC_SUBST(dep_tmake_file)
4921 AC_SUBST(extra_c_flags)
4922 AC_SUBST(extra_c_objs)
4923 AC_SUBST(extra_cpp_objs)
4924 AC_SUBST(extra_cxx_objs)
4925 AC_SUBST(extra_headers_list)
4926 AC_SUBST(extra_objs)
4927 AC_SUBST(extra_parts)
4928 AC_SUBST(extra_passes)
4929 AC_SUBST(extra_programs)
4930 AC_SUBST(float_h_file)
4931 AC_SUBST(gcc_gxx_include_dir)
4932 AC_SUBST(gcc_version)
4933 AC_SUBST(gcc_version_trigger)
4934 AC_SUBST(host_exeext)
4935 AC_SUBST(host_extra_gcc_objs)
4936 AC_SUBST(host_xm_file_list)
4938 AC_SUBST(lang_options_files)
4939 AC_SUBST(lang_specs_files)
4940 AC_SUBST(lang_tree_files)
4941 AC_SUBST(local_prefix)
4942 AC_SUBST(maybe_use_collect2)
4944 AC_SUBST(objc_boehm_gc)
4946 AC_SUBST(out_object_file)
4947 AC_SUBST(stage_prefix_set_by_configure)
4948 AC_SUBST(symbolic_link)
4949 AC_SUBST(thread_file)
4950 AC_SUBST(tm_file_list)
4951 AC_SUBST(will_use_collect2)
4954 AC_SUBST_FILE(target_overrides)
4955 AC_SUBST_FILE(host_overrides)
4956 AC_SUBST(cross_defines)
4957 AC_SUBST_FILE(cross_overrides)
4958 AC_SUBST_FILE(build_overrides)
4959 AC_SUBST_FILE(language_fragments)
4960 AC_SUBST_FILE(language_hooks)
4962 # Echo that links are built
4963 if test x$host = x$target
4971 if test x$host != x$build
4973 str3=" on a $build system"
4976 if test "x$str2" != x || test "x$str3" != x
4981 echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
4983 if test "x$str2" != x || test "x$str3" != x
4985 echo " ${str2}${str3}." 1>&2
4988 # Truncate the target if necessary
4989 if test x$host_truncate_target != x; then
4990 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
4993 # Configure the subdirectories
4994 # AC_CONFIG_SUBDIRS($subdirs)
4996 # Create the Makefile
4997 # and configure language subdirectories
4998 AC_OUTPUT($all_outputs,
5000 . $srcdir/configure.lang
5001 case x$CONFIG_HEADERS in
5002 xauto-host.h:config.in)
5005 # If the host supports symlinks, point stage[1234] at ../stage[1234] so
5006 # bootstrapping and the installation procedure can still use
5007 # CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
5008 # FLAGS_TO_PASS has been modified to solve the problem there.
5009 # This is virtually a duplicate of what happens in configure.lang; we do
5010 # an extra check to make sure this only happens if ln -s can be used.
5011 if test "$symbolic_link" = "ln -s"; then
5012 for d in .. ${subdirs} ; do
5013 if test $d != ..; then
5016 for t in stage1 stage2 stage3 stage4 include
5019 $symbolic_link ../$t $t 2>/dev/null
5025 # Avoid having to add intl to our include paths.
5026 if test -f intl/libintl.h; then
5027 echo creating libintl.h
5028 echo '#include "intl/libintl.h"' >libintl.h
5035 target_alias='${target_alias}'
5037 subdirs='${subdirs}'
5038 oldstyle_subdirs='${oldstyle_subdirs}'
5039 symbolic_link='${symbolic_link}'
5040 program_transform_set='${program_transform_set}'
5041 program_transform_name='${program_transform_name}'
5042 dep_host_xmake_file='${dep_host_xmake_file}'
5043 host_xmake_file='${host_xmake_file}'
5044 dep_tmake_file='${dep_tmake_file}'
5045 tmake_file='${tmake_file}'
5046 thread_file='${thread_file}'
5047 gcc_version='${gcc_version}'
5048 gcc_version_trigger='${gcc_version_trigger}'
5049 local_prefix='${local_prefix}'
5050 build_install_headers_dir='${build_install_headers_dir}'
5051 build_exeext='${build_exeext}'
5052 host_exeext='${host_exeext}'
5053 out_file='${out_file}'
5054 gdb_needs_out_file_path='${gdb_needs_out_file_path}'
5055 SET_MAKE='${SET_MAKE}'
5056 target_list='${target_list}'
5057 target_overrides='${target_overrides}'
5058 host_overrides='${host_overrides}'
5059 cross_defines='${cross_defines}'
5060 cross_overrides='${cross_overrides}'
5061 build_overrides='${build_overrides}'
5062 cpp_install_dir='${cpp_install_dir}'