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
326 # If the native compiler is GCC, we can enable warnings even in stage1.
327 # That's useful for people building cross-compilers, or just running a
329 if test "x$GCC" = "xyes"; then
330 stage1_warn_cflags='$(WARN_CFLAGS)'
332 stage1_warn_cflags=""
334 AC_SUBST(stage1_warn_cflags)
338 AC_MSG_CHECKING([whether a default assembler was specified])
339 if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
340 if test x"$gas_flag" = x"no"; then
341 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
343 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
349 AC_MSG_CHECKING([whether a default linker was specified])
350 if test x"${DEFAULT_LINKER+set}" = x"set"; then
351 if test x"$gnu_ld_flag" = x"no"; then
352 AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
354 AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
360 # Find some useful tools
374 AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h \
375 fcntl.h unistd.h stab.h sys/file.h sys/time.h \
376 sys/resource.h sys/param.h sys/times.h sys/stat.h \
379 # Check for thread headers.
380 AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
381 AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
383 # See if GNAT has been installed
384 AC_CHECK_PROG(gnat, gnatbind, yes, no)
386 # See if the stage1 system preprocessor understands the ANSI C
387 # preprocessor stringification operator.
390 # Use <inttypes.h> only if it exists,
391 # doesn't clash with <sys/types.h>, and declares intmax_t.
392 AC_MSG_CHECKING(for inttypes.h)
393 AC_CACHE_VAL(gcc_cv_header_inttypes_h,
395 [#include <sys/types.h>
396 #include <inttypes.h>],
398 [gcc_cv_header_inttypes_h=yes],
399 gcc_cv_header_inttypes_h=no)])
400 AC_MSG_RESULT($gcc_cv_header_inttypes_h)
401 if test $gcc_cv_header_inttypes_h = yes; then
402 AC_DEFINE(HAVE_INTTYPES_H, 1,
403 [Define if you have a working <inttypes.h> header file.])
407 # Determine if enumerated bitfields are unsigned. ISO C says they can
408 # be either signed or unsigned.
410 AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
411 [AC_TRY_RUN(#include <stdlib.h>
412 enum t { BLAH = 128 } ;
413 struct s_t { enum t member : 8; } s ;
417 if (s.member < 0) exit(1);
420 }, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
421 if test $gcc_cv_enum_bf_unsigned = yes; then
422 AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
423 [Define if enumerated bitfields are treated as unsigned values.])
426 AC_CHECK_FUNCS(strtoul bsearch putenv popen bcopy bzero bcmp \
427 index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
428 sysconf isascii gettimeofday strsignal putc_unlocked fputc_unlocked \
429 fputs_unlocked getrusage valloc)
431 # Make sure wchar_t is available
432 #AC_CHECK_TYPE(wchar_t, unsigned int)
434 gcc_AC_FUNC_VFPRINTF_DOPRNT
435 gcc_AC_FUNC_PRINTF_PTR
439 # Under some versions of uwin, vfork is notoriously buggy and the test
440 # can hang configure; on other versions, vfork exists just as a stub.
441 # FIXME: This should be removed once vfork in uwin's runtime is fixed.
442 ac_cv_func_vfork_works=no
446 AC_FUNC_MMAP_ANYWHERE
449 # We will need to find libiberty.h and ansidecl.h
450 saved_CFLAGS="$CFLAGS"
451 CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include"
452 gcc_AC_NEED_DECLARATIONS(bcopy bzero bcmp \
453 index rindex getenv atol sbrk abort atof getcwd getwd \
454 strsignal putc_unlocked fputs_unlocked strstr environ \
455 malloc realloc calloc free, [
456 #include "gansidecl.h"
457 #include "system.h"])
459 gcc_AC_NEED_DECLARATIONS(getrlimit setrlimit getrusage, [
460 #include "gansidecl.h"
462 #ifdef HAVE_SYS_RESOURCE_H
463 #include <sys/resource.h>
467 # Restore CFLAGS from before the gcc_AC_NEED_DECLARATIONS tests.
468 CFLAGS="$saved_CFLAGS"
470 # mkdir takes a single argument on some systems.
471 gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
481 build_install_headers_dir=install-headers-tar
486 host_truncate_target=
489 # Decode the host machine, then the target machine.
490 # For the host machine, we save the xm_file variable as host_xm_file;
491 # then we decode the target machine and forget everything else
492 # that came from the host machine.
493 for machine in $build $host $target; do
507 # Set this to force installation and use of collect2.
509 # Set this to override the default target model.
511 # Set this to control how the header file directory is installed.
512 install_headers_dir=install-headers-tar
513 # Set this to a non-empty list of args to pass to cpp if the target
514 # wants its .md file passed through cpp.
516 # Set this if directory names should be truncated to 14 characters.
518 # Set this if gdb needs a dir command with `dirname $out_file`
519 gdb_needs_out_file_path=
520 # Set this if the build machine requires executables to have a
523 # Set this to control which thread package will be used.
525 # Reinitialize these from the flag values every loop pass, since some
526 # configure entries modify them.
528 gnu_ld="$gnu_ld_flag"
529 enable_threads=$enable_threads_flag
531 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
532 # updated in each machine entry.
534 cpu_type=`echo $machine | sed 's/-.*$//'`
573 tm_file=${cpu_type}/${cpu_type}.h
574 xm_file=${cpu_type}/xm-${cpu_type}.h
575 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h;
577 tm_p_file=${cpu_type}/${cpu_type}-protos.h;
579 # On a.out targets, we need to use collect2.
586 # Common parts for linux-gnu and openbsd systems
589 xm_defines="HAVE_ATEXIT POSIX BSTRING"
592 tm_file=${cpu_type}/openbsd.h
593 tmake_file="t-libc-ok t-openbsd"
594 # avoid surprises, always provide an xm-openbsd file
595 xm_file=${cpu_type}/xm-openbsd.h
596 # don't depend on processor x-fragments as well
598 if test x$enable_threads = xyes; then
600 tmake_file="${tmake_file} t-openbsd-thread"
606 # Support site-specific machine types.
608 cpu_type=`echo $machine | sed -e 's/-.*//'`
609 rest=`echo $machine | sed -e "s/$cpu_type-//"`
610 xm_file=${cpu_type}/xm-$rest.h
611 tm_file=${cpu_type}/$rest.h
612 if test -f $srcdir/config/${cpu_type}/x-$rest; \
613 then xmake_file=${cpu_type}/x-$rest; \
616 if test -f $srcdir/config/${cpu_type}/t-$rest; \
617 then tmake_file=${cpu_type}/t-$rest; \
623 a29k-*-bsd* | a29k-*-sym1*)
624 tm_file="${tm_file} a29k/unix.h"
626 xmake_file=a29k/x-unix
629 a29k-*-udi | a29k-*-coff)
630 tm_file="${tm_file} dbxcoff.h a29k/udi.h"
631 tmake_file=a29k/t-a29kbare
634 tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
635 tmake_file=a29k/t-vx29k
636 extra_parts="crtbegin.o crtend.o"
637 thread_file='vxworks'
639 a29k-*-*) # Default a29k environment.
643 tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"
645 # GAS + IEEE_CONFORMANT+IEEE (no inexact);
646 #target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT|MASK_IEEE"
648 # GAS + IEEE_CONFORMANT
649 target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
651 xm_file="alpha/xm-alpha-interix.h xm-interix.h"
652 xmake_file="x-interix alpha/t-pe"
653 tmake_file="alpha/t-alpha alpha/t-interix alpha/t-ieee"
654 if test x$enable_threads = xyes ; then
657 if test x$stabs = xyes ; then
658 tm_file="${tm_file} dbxcoff.h"
660 #prefix='$$INTERIX_ROOT'/usr/contrib
661 #local_prefix='$$INTERIX_ROOT'/usr/contrib
663 alpha*-*-linux-gnuecoff*)
664 tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
665 target_cpu_default="MASK_GAS"
666 tmake_file="alpha/t-alpha alpha/t-ieee"
671 alpha*-*-linux-gnulibc1*)
672 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
673 target_cpu_default="MASK_GAS"
674 tmake_file="t-linux t-linux-gnulibc1 alpha/t-alpha alpha/t-linux alpha/t-crtbe alpha/t-ieee"
675 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
678 if test x$enable_threads = xyes; then
683 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
684 target_cpu_default="MASK_GAS"
685 tmake_file="t-linux alpha/t-linux alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
686 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
689 if test x$enable_threads = xyes; then
694 tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
695 target_cpu_default="MASK_GAS"
696 tmake_file="alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
697 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
703 # default x-alpha is only appropriate for dec-osf.
704 target_cpu_default="MASK_GAS"
705 tmake_file="alpha/t-alpha alpha/t-ieee"
709 if test x$stabs = xyes
711 tm_file="${tm_file} dbx.h"
713 if test x$gas != xyes
715 extra_passes="mips-tfile mips-tdump"
718 tmake_file="alpha/t-alpha alpha/t-ieee"
721 tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
726 tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
729 tm_file="${tm_file} alpha/osf.h"
730 # Some versions of OSF4 (specifically X4.0-9 296.7) have
731 # a broken tar, so we use cpio instead.
732 install_headers_dir=install-headers-cpio
735 tm_file="${tm_file} alpha/osf.h alpha/osf5.h"
740 *-*-osf4.0[b-z] | *-*-osf4.[1-9]* | *-*-osf5*)
742 target_cpu_default=MASK_SUPPORT_ARCH
747 tm_file="${tm_file} dbx.h alpha/vxworks.h"
748 tmake_file="alpha/t-alpha alpha/t-ieee"
751 extra_passes="mips-tfile mips-tdump"
754 thread_file='vxworks'
757 tm_file="${tm_file} alpha/alpha32.h alpha/win-nt.h winnt/win-nt.h"
758 xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
759 tmake_file="t-libc-ok alpha/t-alpha alpha/t-ieee"
760 xmake_file=winnt/x-winnt
761 extra_host_objs=oldnames.o
762 extra_gcc_objs="spawnv.o oldnames.o"
763 if test x$gnu_ld != xyes
765 extra_programs=ld.exe
767 if test x$enable_threads = xyes; then
773 xm_file="${xm_file} alpha/xm-vms.h"
774 tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
777 extra_parts="crtinit.o crtfini.o"
779 arm-*-coff* | armel-*-coff*)
781 tmake_file=arm/t-arm-coff
785 tmake_file=arm/t-arm-coff
786 thread_file='vxworks'
789 arm-*-riscix1.[01]*) # Acorn RISC machine (early versions)
791 tm_file=arm/riscix1-1.h
794 arm-*-riscix*) # Acorn RISC machine
797 tm_file=arm/rix-gas.h
801 xmake_file=arm/x-riscix
802 tmake_file=arm/t-riscix
805 arm-semi-aout | armel-semi-aout)
807 tmake_file=arm/t-semi
809 arm-semi-aof | armel-semi-aof)
810 tm_file=arm/semiaof.h
811 tmake_file=arm/t-semiaof
815 tmake_file="t-netbsd arm/t-netbsd"
818 arm*-*-linux-gnuaout*) # ARM GNU/Linux with a.out
821 tm_file=arm/linux-aout.h
822 tmake_file=arm/t-linux
825 arm*-*-linux-gnuoldld*) # ARM GNU/Linux with old ELF linker
826 xm_file=arm/xm-linux.h
828 tm_file="arm/linux-oldld.h arm/linux-elf.h"
831 tm_file="arm/linux-elf26.h $tm_file"
834 tmake_file="t-linux arm/t-linux"
835 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
837 case x${enable_threads} in
838 x | xyes | xpthreads | xposix)
843 arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
844 xm_file=arm/xm-linux.h
846 tm_file="arm/linux-elf.h"
849 tm_file="arm/linux-elf26.h $tm_file"
852 tmake_file="t-linux arm/t-linux"
853 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
855 case x${enable_threads} in
856 x | xyes | xpthreads | xposix)
861 arm*-*-uclinux*) # ARM ucLinux
862 tm_file=arm/uclinux-elf.h
863 tmake_file=arm/t-arm-elf
867 tmake_file=arm/t-arm-aout
870 tm_file=arm/ecos-elf.h
871 tmake_file=arm/t-arm-elf
874 tm_file=arm/unknown-elf.h
875 tmake_file=arm/t-arm-elf
878 tm_file=arm/conix-elf.h
879 tmake_file=arm/t-arm-elf
882 tm_file=arm/unknown-elf-oabi.h
883 tmake_file=arm/t-arm-elf
892 c1-convex-*) # Convex C1
896 c2-convex-*) # Convex C2
909 target_cpu_default=16
916 clipper-intergraph-clix*)
917 tm_file="${tm_file} svr3.h clipper/clix.h"
918 xm_file=clipper/xm-clix.h
919 xmake_file=clipper/x-clix
920 extra_headers=va-clipper.h
921 extra_parts="crtbegin.o crtend.o"
922 install_headers_dir=install-headers-cpio
930 tm_file="fr30/fr30.h"
931 tmake_file=fr30/t-fr30
932 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
934 # This hasn't been upgraded to GCC 2.
935 # fx80-alliant-*) # Alliant FX/80
941 target_cpu_default="(MASK_PA_11 | MASK_GAS | MASK_JUMP_IN_DELAY)"
942 tm_file="${tm_file} pa/elf.h linux.h pa/pa-linux.h"
943 tmake_file="t-linux pa/t-linux"
944 extra_parts="crtbegin.o crtend.o"
947 if test x$enable_threads = xyes; then
952 target_cpu_default="MASK_PA_11"
953 tmake_file=pa/t-openbsd
956 target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
957 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
958 xm_file=pa/xm-papro.h
962 target_cpu_default="MASK_PA_11"
963 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
967 target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
968 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
969 xm_file=pa/xm-papro.h
973 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
977 tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
978 target_cpu_default="MASK_PA_11"
982 tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
986 tm_file="pa/pa-oldas.h ${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux7.h"
987 xm_file=pa/xm-pahpux.h
988 xmake_file=pa/x-pa-hpux
991 tm_file="${tm_file} pa/gas.h"
993 install_headers_dir=install-headers-cpio
997 hppa1.0-*-hpux8.0[0-2]*)
999 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1000 xm_file=pa/xm-pahpux.h
1001 xmake_file=pa/x-pa-hpux
1002 if test x$gas = xyes
1004 tm_file="${tm_file} pa/pa-gas.h"
1006 tm_file="pa/pa-oldas.h ${tm_file}"
1008 install_headers_dir=install-headers-cpio
1012 hppa1.1-*-hpux8.0[0-2]*)
1014 target_cpu_default="MASK_PA_11"
1015 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1016 xm_file=pa/xm-pahpux.h
1017 xmake_file=pa/x-pa-hpux
1018 if test x$gas = xyes
1020 tm_file="${tm_file} pa/pa-gas.h"
1022 tm_file="pa/pa-oldas.h ${tm_file}"
1024 install_headers_dir=install-headers-cpio
1028 target_cpu_default="MASK_PA_11"
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 install_headers_dir=install-headers-cpio
1040 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1041 xm_file=pa/xm-pahpux.h
1042 xmake_file=pa/x-pa-hpux
1043 if test x$gas = xyes
1045 tm_file="${tm_file} pa/pa-gas.h"
1047 install_headers_dir=install-headers-cpio
1050 hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
1051 target_cpu_default="MASK_PA_11"
1052 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
1054 xm_file=pa/xm-pahpux.h
1055 xmake_file=pa/x-pa-hpux
1057 if test x$gas = xyes
1059 tm_file="${tm_file} pa/pa-gas.h"
1061 if test x$enable_threads = x; then
1062 enable_threads=$have_pthread_h
1064 if test x$enable_threads = xyes; then
1066 tmake_file="${tmake_file} pa/t-dce-thr"
1068 install_headers_dir=install-headers-cpio
1072 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
1074 xm_file=pa/xm-pahpux.h
1075 xmake_file=pa/x-pa-hpux
1077 if test x$gas = xyes
1079 tm_file="${tm_file} pa/pa-gas.h"
1081 if test x$enable_threads = x; then
1082 enable_threads=$have_pthread_h
1084 if test x$enable_threads = xyes; then
1086 tmake_file="${tmake_file} pa/t-dce-thr"
1088 install_headers_dir=install-headers-cpio
1091 hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
1092 target_cpu_default="MASK_PA_11"
1093 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
1095 xm_file=pa/xm-pahpux.h
1096 xmake_file=pa/x-pa-hpux
1098 if test x$gas = xyes
1100 tm_file="${tm_file} pa/pa-gas.h"
1102 # if test x$enable_threads = x; then
1103 # enable_threads=$have_pthread_h
1105 # if test x$enable_threads = xyes; then
1107 # tmake_file="${tmake_file} pa/t-dce-thr"
1109 install_headers_dir=install-headers-cpio
1113 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
1115 xm_file=pa/xm-pahpux.h
1116 xmake_file=pa/x-pa-hpux
1117 if test x$gas = xyes
1119 tm_file="${tm_file} pa/pa-gas.h"
1121 # if test x$enable_threads = x; then
1122 # enable_threads=$have_pthread_h
1124 # if test x$enable_threads = xyes; then
1126 # tmake_file="${tmake_file} pa/t-dce-thr"
1128 install_headers_dir=install-headers-cpio
1131 hppa1.1-*-hpux* | hppa2*-*-hpux*)
1132 target_cpu_default="MASK_PA_11"
1133 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1134 xm_file=pa/xm-pahpux.h
1135 xmake_file=pa/x-pa-hpux
1136 if test x$gas = xyes
1138 tm_file="${tm_file} pa/pa-gas.h"
1140 install_headers_dir=install-headers-cpio
1144 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1145 xm_file=pa/xm-pahpux.h
1146 xmake_file=pa/x-pa-hpux
1147 if test x$gas = xyes
1149 tm_file="${tm_file} pa/pa-gas.h"
1151 install_headers_dir=install-headers-cpio
1154 hppa1.1-*-hiux* | hppa2*-*-hiux*)
1155 target_cpu_default="MASK_PA_11"
1156 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1157 xm_file=pa/xm-pahpux.h
1158 xmake_file=pa/x-pa-hpux
1159 if test x$gas = xyes
1161 tm_file="${tm_file} pa/pa-gas.h"
1163 install_headers_dir=install-headers-cpio
1167 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1168 xm_file=pa/xm-pahpux.h
1169 xmake_file=pa/x-pa-hpux
1170 if test x$gas = xyes
1172 tm_file="${tm_file} pa/pa-gas.h"
1174 install_headers_dir=install-headers-cpio
1178 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h"
1179 target_cpu_default="MASK_PA_11"
1183 tm_file="${tm_file} pa/pa-mpeix.h"
1184 xm_file=pa/xm-pampeix.h
1185 xmake_file=pa/x-pa-mpeix
1186 echo "You must use gas. Assuming it is already installed."
1187 install_headers_dir=install-headers-tar
1190 i370-*-opened*) # IBM 360/370/390 Architecture
1191 xm_file=i370/xm-oe.h
1193 xmake_file=i370/x-oe
1194 tmake_file=i370/t-oe
1197 xm_file=i370/xm-mvs.h
1199 tmake_file=i370/t-mvs
1202 xm_file="xm-linux.h i370/xm-linux.h"
1204 tm_file="i370/linux.h ${tm_file}"
1205 tmake_file="t-linux i370/t-linux"
1206 # broken_install=yes
1207 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1208 # extra_parts="crtbegin.o crtend.o"
1212 if test x$enable_threads = xyes; then
1219 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
1220 tm_file=i386/i386elf.h
1221 tmake_file=i386/t-i386elf
1225 i[34567]86-ibm-aix*) # IBM PS/2 running AIX
1227 if test x$gas = xyes
1229 tm_file=i386/aix386.h
1230 extra_parts="crtbegin.o crtend.o"
1231 tmake_file=i386/t-crtstuff
1233 tm_file=i386/aix386ng.h
1236 xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
1238 xmake_file=i386/x-aix
1241 i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4
1243 xm_file="xm-alloca.h ${xm_file}"
1244 xm_defines="USG POSIX SMALL_ARG_MAX"
1245 xmake_file=i386/x-ncr3000
1246 if test x$stabs = xyes -a x$gas = xyes
1248 tm_file=i386/sysv4gdb.h
1250 tm_file=i386/sysv4.h
1252 extra_parts="crtbegin.o crtend.o"
1253 tmake_file=i386/t-crtpic
1259 xm_file=i386/xm-next.h
1260 tmake_file=i386/t-next
1261 xmake_file=i386/x-next
1262 extra_objs=nextstep.o
1263 extra_parts="crtbegin.o crtend.o"
1264 if test x$enable_threads = xyes; then
1269 i[34567]86-sequent-bsd*) # 80386 from Sequent
1272 if test x$gas = xyes
1274 tm_file=i386/seq-gas.h
1276 tm_file=i386/sequent.h
1280 i[34567]86-sequent-ptx1*)
1282 xm_defines="USG SVR3"
1283 xmake_file=i386/x-sysv3
1284 tm_file=i386/seq-sysv3.h
1285 tmake_file=i386/t-crtstuff
1286 extra_parts="crtbegin.o crtend.o"
1287 install_headers_dir=install-headers-cpio
1290 i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
1292 xm_defines="USG SVR3"
1293 xmake_file=i386/x-sysv3
1294 tm_file=i386/seq2-sysv3.h
1295 tmake_file=i386/t-crtstuff
1296 extra_parts="crtbegin.o crtend.o"
1297 install_headers_dir=install-headers-cpio
1300 i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
1302 xm_file="xm-alloca.h ${xm_file}"
1303 xm_defines="USG POSIX SMALL_ARG_MAX"
1305 tm_file=i386/ptx4-i.h
1307 extra_parts="crtbegin.o crtend.o"
1308 install_headers_dir=install-headers-cpio
1310 i386-sun-sunos*) # Sun i386 roadrunner
1316 i[34567]86-wrs-vxworks*)
1318 tm_file=i386/vxi386.h
1319 tmake_file=i386/t-i386bare
1320 thread_file='vxworks'
1325 tm_file=i386/i386-aout.h
1326 tmake_file=i386/t-i386bare
1329 i[34567]86-*-beospe*)
1331 xm_file=i386/xm-beos.h
1332 xm_defines="USE_C_ALLOCA"
1333 tmake_file=i386/t-beos
1334 tm_file=i386/beos-pe.h
1335 xmake_file=i386/x-beos
1339 i[34567]86-*-beoself* | i[34567]86-*-beos*)
1341 xm_file=i386/xm-beos.h
1342 tmake_file='i386/t-beos i386/t-crtpic'
1343 tm_file=i386/beos-elf.h
1344 xmake_file=i386/x-beos
1346 extra_parts='crtbegin.o crtend.o'
1349 i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
1351 tm_file=i386/bsd386.h
1352 # tmake_file=t-libc-ok
1357 tm_file=i386/386bsd.h
1358 # tmake_file=t-libc-ok
1359 # Next line turned off because both 386BSD and BSD/386 use GNU ld.
1363 i[34567]86-*-freebsdelf*)
1365 tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
1366 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1367 tmake_file=t-freebsd
1371 case x${enable_threads} in
1372 xyes | xpthreads | xposix)
1374 tmake_file="${tmake_file} t-freebsd-thread"
1379 i[34567]86-*-freebsd*)
1381 tm_file="i386/freebsd.h i386/perform.h"
1382 tmake_file=t-freebsd
1385 i[34567]86-*-netbsd*)
1387 tm_file=i386/netbsd.h
1392 i[34567]86-*-openbsd*)
1394 # we need collect2 until our bug is fixed...
1400 tm_file=i386/i386-coff.h
1401 tmake_file=i386/t-i386bare
1404 i[34567]86-*-isc*) # 80386 running ISC system
1406 xm_file="${xm_file} i386/xm-isc.h"
1407 xm_defines="USG SVR3"
1410 i[34567]86-*-isc[34]*)
1412 xmake_file=i386/x-isc3
1415 xmake_file=i386/x-isc
1418 if test x$gas = xyes -a x$stabs = xyes
1420 tm_file=i386/iscdbx.h
1421 tmake_file=i386/t-svr3dbx
1422 extra_parts="svr3.ifile svr3z.ifile"
1424 tm_file=i386/isccoff.h
1425 tmake_file=i386/t-crtstuff
1426 extra_parts="crtbegin.o crtend.o"
1428 install_headers_dir=install-headers-cpio
1431 i[34567]86-*-linux-gnuoldld*) # Intel 80386's running GNU/Linux
1432 changequote([,])dnl # with a.out format using
1434 xmake_file=x-linux-aout
1435 tmake_file="t-linux-aout i386/t-crtstuff"
1436 tm_file=i386/linux-oldld.h
1441 i[34567]86-*-linux-gnuaout*) # Intel 80386's running GNU/Linux
1442 changequote([,])dnl # with a.out format
1443 xmake_file=x-linux-aout
1444 tmake_file="t-linux-aout i386/t-crtstuff"
1445 tm_file=i386/linux-aout.h
1450 i[34567]86-*-linux-gnulibc1) # Intel 80386's running GNU/Linux
1451 changequote([,])dnl # with ELF format using the
1452 # GNU/Linux C library 5
1454 tm_file=i386/linux.h
1455 tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
1456 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1459 if test x$enable_threads = xyes; then
1460 thread_file='single'
1464 i[34567]86-*-linux-gnu*) # Intel 80386's running GNU/Linux
1465 changequote([,])dnl # with ELF format using glibc 2
1466 # aka GNU/Linux C library 6
1468 tm_file=i386/linux.h
1469 tmake_file="t-linux i386/t-crtstuff"
1470 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1473 if test x$enable_threads = xyes; then
1483 i[34567]86-go32-msdos | i[34567]86-*-go32*)
1485 echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
1489 i[34567]86-pc-msdosdjgpp*)
1491 xm_file=i386/xm-djgpp.h
1492 tm_file=i386/djgpp.h
1493 tmake_file=i386/t-djgpp
1494 xmake_file=i386/x-djgpp
1498 case $host in *pc-msdosdjgpp*)
1504 i[34567]86-moss-msdos* | i[34567]86-*-moss*)
1507 tmake_file=t-libc-ok
1512 i[34567]86-*-lynxos*)
1514 if test x$gas = xyes
1518 tm_file=i386/lynx-ng.h
1520 xm_file=i386/xm-lynx.h
1521 tmake_file=i386/t-i386bare
1528 # tmake_file=t-libc-ok
1532 i[34567]86-*-osfrose*) # 386 using OSF/rose
1534 if test x$elf = xyes
1536 tm_file=i386/osfelf.h
1539 tm_file=i386/osfrose.h
1542 xm_file="i386/xm-osf.h ${xm_file}"
1543 xmake_file=i386/x-osfrose
1544 tmake_file=i386/t-osf
1545 extra_objs=halfpic.o
1548 i[34567]86-go32-rtems*)
1551 xm_file=i386/xm-go32.h
1552 tm_file=i386/go32-rtems.h
1553 tmake_file="i386/t-go32 t-rtems"
1556 i[34567]86-*-rtemscoff*)
1559 tm_file=i386/rtems.h
1560 tmake_file="i386/t-i386bare t-rtems"
1563 i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
1566 tm_file=i386/rtemself.h
1567 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
1568 tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
1571 i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
1573 xm_file="xm-alloca.h ${xm_file} i386/xm-sco5.h"
1574 xm_defines="USG SVR3"
1575 xmake_file=i386/x-sco5
1576 install_headers_dir=install-headers-cpio
1578 if test x$gas = xyes
1580 tm_file="i386/sco5gas.h ${tm_file}"
1581 tmake_file=i386/t-sco5gas
1583 tmake_file=i386/t-sco5
1585 extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
1588 i[34567]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system
1590 xm_file="${xm_file} i386/xm-sco.h"
1591 xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX"
1592 xmake_file=i386/x-sco4
1593 install_headers_dir=install-headers-cpio
1594 if test x$stabs = xyes
1596 tm_file=i386/sco4dbx.h
1597 tmake_file=i386/t-svr3dbx
1598 extra_parts="svr3.ifile svr3z.rfile"
1601 tmake_file=i386/t-crtstuff
1602 extra_parts="crtbegin.o crtend.o"
1604 # The default EAFS filesystem supports long file names.
1605 # Truncating the target makes $host != $target which
1606 # makes gcc think it is doing a cross-compile.
1607 # truncate_target=yes
1610 i[34567]86-*-sco*) # 80386 running SCO system
1612 xm_file=i386/xm-sco.h
1613 xmake_file=i386/x-sco
1614 install_headers_dir=install-headers-cpio
1615 if test x$stabs = xyes
1617 tm_file=i386/scodbx.h
1618 tmake_file=i386/t-svr3dbx
1619 extra_parts="svr3.ifile svr3z.rfile"
1622 extra_parts="crtbegin.o crtend.o"
1623 tmake_file=i386/t-crtstuff
1628 i[34567]86-*-solaris2*)
1630 xm_file="xm-alloca.h ${xm_file}"
1631 xm_defines="USG POSIX SMALL_ARG_MAX"
1633 if test x$gas = xyes; then
1634 # Only needed if gas does not support -s
1635 tm_file="i386/sol2gas.h ${tm_file}"
1637 tmake_file=i386/t-sol2
1638 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
1640 if test x${enable_threads} = x; then
1641 enable_threads=$have_pthread_h
1642 if test x${enable_threads} = x; then
1643 enable_threads=$have_thread_h
1646 if test x${enable_threads} = xyes; then
1647 if test x${have_pthread_h} = xyes; then
1650 thread_file='solaris'
1655 i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
1657 xm_file="xm-alloca.h ${xm_file}"
1658 xm_defines="USG POSIX"
1659 tm_file=i386/sysv5.h
1660 if test x$stabs = xyes
1662 tm_file="${tm_file} dbx.h"
1664 tmake_file=i386/t-crtpic
1666 extra_parts="crtbegin.o crtend.o"
1667 if test x$enable_threads = xyes; then
1672 i[34567]86-*-sysv4*) # Intel 80386's running system V.4
1674 xm_file="xm-alloca.h ${xm_file}"
1675 xm_defines="USG POSIX SMALL_ARG_MAX"
1676 tm_file=i386/sysv4.h
1677 if test x$stabs = xyes
1679 tm_file="${tm_file} dbx.h"
1681 tmake_file=i386/t-crtpic
1683 extra_parts="crtbegin.o crtend.o"
1686 i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit
1688 xm_file="xm-alloca.h ${xm_file}"
1689 xm_defines="USG POSIX"
1691 tmake_file="i386/t-crtpic i386/t-udk"
1693 extra_parts="crtbegin.o crtend.o"
1694 install_headers_dir=install-headers-cpio
1697 i[34567]86-*-osf1*) # Intel 80386's running OSF/1 1.3+
1700 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h i386/xm-osf1elf.h"
1701 xm_defines="USE_C_ALLOCA SMALL_ARG_MAX"
1702 if test x$stabs = xyes
1704 tm_file=i386/osf1elfgdb.h
1706 tm_file=i386/osf1elf.h
1708 tmake_file=i386/t-osf1elf
1709 xmake_file=i386/x-osf1elf
1710 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
1713 i[34567]86-*-sysv*) # Intel 80386's running system V
1715 xm_defines="USG SVR3"
1716 xmake_file=i386/x-sysv3
1717 if test x$gas = xyes
1719 if test x$stabs = xyes
1721 tm_file=i386/svr3dbx.h
1722 tmake_file=i386/t-svr3dbx
1723 extra_parts="svr3.ifile svr3z.rfile"
1725 tm_file=i386/svr3gas.h
1726 extra_parts="crtbegin.o crtend.o"
1727 tmake_file=i386/t-crtstuff
1730 tm_file=i386/sysv3.h
1731 extra_parts="crtbegin.o crtend.o"
1732 tmake_file=i386/t-crtstuff
1735 i386-*-vsta) # Intel 80386's running VSTa kernel
1736 xm_file="${xm_file} i386/xm-vsta.h"
1738 tmake_file=i386/t-vsta
1739 xmake_file=i386/x-vsta
1744 xm_file="${xm_file} i386/xm-cygwin.h"
1745 tmake_file=i386/t-cygwin
1746 tm_file=i386/win32.h
1747 xmake_file=i386/x-cygwin
1749 if test x$enable_threads = xyes; then
1755 i[34567]86-*-pe | i[34567]86-*-cygwin*)
1757 xm_file="${xm_file} i386/xm-cygwin.h"
1758 tmake_file=i386/t-cygwin
1759 tm_file=i386/cygwin.h
1760 xmake_file=i386/x-cygwin
1762 if test x$enable_threads = xyes; then
1768 i[34567]86-*-mingw32*)
1770 tm_file=i386/mingw32.h
1771 xm_file="${xm_file} i386/xm-mingw32.h"
1772 tmake_file="i386/t-cygwin i386/t-mingw32"
1774 xmake_file=i386/x-cygwin
1775 if test x$enable_threads = xyes; then
1782 *minwg32crt* | *mingw32*)
1783 tm_file="${tm_file} i386/crtdll.h"
1791 xm_file="${xm_file} i386/xm-uwin.h"
1792 xm_defines="USG NO_STAB_H"
1793 tmake_file="i386/t-cygwin i386/t-uwin"
1795 xmake_file=i386/x-cygwin
1796 if test x$enable_threads = xyes; then
1802 i[34567]86-*-interix*)
1804 tm_file="i386/i386-interix.h interix.h"
1805 xm_file="i386/xm-i386-interix.h xm-interix.h"
1807 tmake_file="i386/t-interix"
1808 extra_objs=interix.o
1809 xmake_file=x-interix
1810 if test x$enable_threads = xyes ; then
1813 if test x$stabs = xyes ; then
1814 tm_file="${tm_file} dbxcoff.h"
1818 i[34567]86-*-winnt3*)
1820 tm_file=i386/win-nt.h
1821 out_file=i386/i386.c
1822 xm_file="xm-winnt.h ${xm_file}"
1823 xmake_file=winnt/x-winnt
1824 tmake_file=i386/t-winnt
1825 extra_host_objs="winnt.o oldnames.o"
1826 extra_gcc_objs="spawnv.o oldnames.o"
1827 if test x$gnu_ld != xyes
1829 extra_programs=ld.exe
1831 if test x$enable_threads = xyes; then
1836 i[34567]86-dg-dgux*)
1838 xm_file="xm-alloca.h ${xm_file}"
1839 xm_defines="USG POSIX"
1840 out_file=i386/dgux.c
1842 tmake_file=i386/t-dgux
1843 xmake_file=i386/x-dgux
1844 install_headers_dir=install-headers-cpio
1846 i860-alliant-*) # Alliant FX/2800
1847 tm_file="${tm_file} svr4.h i860/sysv4.h i860/fx2800.h"
1848 xm_file="${xm_file}"
1849 xmake_file=i860/x-fx2800
1850 tmake_file=i860/t-fx2800
1851 extra_parts="crtbegin.o crtend.o"
1854 tm_file="${tm_file} i860/bsd.h"
1855 if test x$gas = xyes
1857 tm_file="${tm_file} i860/bsd-gas.h"
1862 tm_file="${tm_file} i860/mach.h"
1863 tmake_file=t-libc-ok
1865 i860-*-osf*) # Intel Paragon XP/S, OSF/1AD
1866 tm_file="${tm_file} svr3.h i860/paragon.h"
1867 xm_defines="USG SVR3"
1871 tm_file="${tm_file} svr3.h i860/sysv3.h"
1872 xm_defines="USG SVR3"
1873 xmake_file=i860/x-sysv3
1874 extra_parts="crtbegin.o crtend.o"
1877 tm_file="${tm_file} svr4.h i860/sysv4.h"
1878 xm_defines="USG SVR3"
1879 xmake_file=i860/x-sysv4
1881 extra_parts="crtbegin.o crtend.o"
1883 i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
1884 tm_file="${tm_file} i960/vx960.h"
1885 tmake_file=i960/t-vxworks960
1887 thread_file='vxworks'
1889 i960-wrs-vxworks5* | i960-wrs-vxworks)
1890 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
1891 tmake_file=i960/t-vxworks960
1893 thread_file='vxworks'
1896 tm_file="${tm_file} i960/vx960.h"
1897 tmake_file=i960/t-vxworks960
1899 thread_file='vxworks'
1902 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1903 tmake_file=i960/t-960bare
1907 tmake_file="i960/t-960bare t-rtems"
1908 tm_file="${tm_file} dbxcoff.h i960/rtems.h"
1911 i960-*-*) # Default i960 environment.
1916 tmake_file="ia64/t-ia64"
1917 target_cpu_default="0"
1918 if test x$gas = xyes
1920 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1922 if test x$gnu_ld = xyes
1924 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1928 tm_file=ia64/linux.h
1929 tmake_file="t-linux ia64/t-ia64"
1930 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1931 if test x$enable_threads = xyes; then
1936 extra_parts="crtinit.o crtfini.o"
1938 m68000-convergent-sysv*)
1940 xm_file="m68k/xm-3b1.h ${xm_file}"
1943 extra_headers=math-68881.h
1945 m68000-hp-bsd*) # HP 9000/200 running BSD
1946 tm_file=m68k/hp2bsd.h
1947 xmake_file=m68k/x-hp2bsd
1949 extra_headers=math-68881.h
1951 m68000-hp-hpux*) # HP 9000 series 300
1952 xm_file="xm-alloca.h ${xm_file}"
1954 if test x$gas = xyes
1956 xmake_file=m68k/x-hp320g
1957 tm_file=m68k/hp310g.h
1959 xmake_file=m68k/x-hp320
1960 tm_file=m68k/hp310.h
1962 install_headers_dir=install-headers-cpio
1964 extra_headers=math-68881.h
1969 extra_headers=math-68881.h
1972 tm_file=m68k/sun2o4.h
1974 extra_headers=math-68881.h
1977 xm_file="m68k/xm-3b1.h ${xm_file}"
1979 if test x$gas = xyes
1986 extra_headers=math-68881.h
1988 m68k-apple-aux*) # Apple Macintosh running A/UX
1989 xm_defines="USG AUX"
1990 tmake_file=m68k/t-aux
1991 install_headers_dir=install-headers-cpio
1992 extra_headers=math-68881.h
1993 extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
1995 if test "$gnu_ld" = yes
1997 tm_file="${tm_file} m68k/auxgld.h"
1999 tm_file="${tm_file} m68k/auxld.h"
2001 if test "$gas" = yes
2003 tm_file="${tm_file} m68k/auxgas.h"
2005 tm_file="${tm_file} m68k/auxas.h"
2007 tm_file="${tm_file} m68k/a-ux.h"
2011 tm_file=m68k/apollo68.h
2012 xmake_file=m68k/x-apollo68
2014 extra_headers=math-68881.h
2017 m68k-altos-sysv*) # Altos 3068
2018 if test x$gas = xyes
2020 tm_file=m68k/altos3068.h
2023 echo "The Altos is supported only with the GNU assembler" 1>&2
2026 extra_headers=math-68881.h
2028 m68k-bull-sysv*) # Bull DPX/2
2029 if test x$gas = xyes
2031 if test x$stabs = xyes
2033 tm_file=m68k/dpx2cdbx.h
2035 tm_file=m68k/dpx2g.h
2040 xm_file="xm-alloca.h ${xm_file}"
2042 xmake_file=m68k/x-dpx2
2044 extra_headers=math-68881.h
2046 m68k-atari-sysv4*) # Atari variant of V.4.
2047 tm_file=m68k/atari.h
2048 xm_file="xm-alloca.h ${xm_file}"
2049 xm_defines="USG FULL_PROTOTYPES"
2051 extra_parts="crtbegin.o crtend.o"
2052 extra_headers=math-68881.h
2055 m68k-motorola-sysv*)
2056 tm_file=m68k/mot3300.h
2057 xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
2058 if test x$gas = xyes
2060 xmake_file=m68k/x-mot3300-gas
2061 if test x$gnu_ld = xyes
2063 tmake_file=m68k/t-mot3300-gald
2065 tmake_file=m68k/t-mot3300-gas
2069 xmake_file=m68k/x-mot3300
2070 if test x$gnu_ld = xyes
2072 tmake_file=m68k/t-mot3300-gld
2074 tmake_file=m68k/t-mot3300
2078 gdb_needs_out_file_path=yes
2079 extra_parts="crt0.o mcrt0.o"
2080 extra_headers=math-68881.h
2083 m68k-ncr-sysv*) # NCR Tower 32 SVR3
2084 tm_file=m68k/tower-as.h
2085 xm_defines="USG SVR3"
2086 xmake_file=m68k/x-tower
2087 extra_parts="crtbegin.o crtend.o"
2088 extra_headers=math-68881.h
2091 tm_file=m68k/plexus.h
2092 xm_file="xm-alloca.h m68k/xm-plexus.h ${xm_file}"
2095 extra_headers=math-68881.h
2099 xm_file="xm-alloca.h ${xm_file}"
2101 extra_headers=math-68881.h
2104 xm_file="xm-alloca.h m68k/xm-crds.h ${xm_file}"
2105 xm_defines="USG unos"
2106 xmake_file=m68k/x-crds
2109 extra_headers=math-68881.h
2111 m68k-cbm-sysv4*) # Commodore variant of V.4.
2113 xm_file="xm-alloca.h ${xm_file}"
2114 xm_defines="USG FULL_PROTOTYPES"
2115 xmake_file=m68k/x-amix
2117 extra_parts="crtbegin.o crtend.o"
2118 extra_headers=math-68881.h
2122 tm_file=m68k/ccur-GAS.h
2123 xmake_file=m68k/x-ccur
2124 extra_headers=math-68881.h
2128 m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd
2129 tm_file=m68k/hp3bsd44.h
2130 xmake_file=m68k/x-hp3bsd44
2132 extra_headers=math-68881.h
2135 m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix
2136 tm_file=m68k/hp3bsd.h
2138 extra_headers=math-68881.h
2142 if test x$with_fp = xno
2144 tm_file=m68k/isi-nfp.h
2150 extra_headers=math-68881.h
2152 m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
2153 xm_file="xm-alloca.h ${xm_file}"
2155 if test x$gas = xyes
2157 xmake_file=m68k/x-hp320g
2158 tm_file=m68k/hp320g.h
2160 xmake_file=m68k/x-hp320
2161 tm_file=m68k/hpux7.h
2163 install_headers_dir=install-headers-cpio
2165 extra_headers=math-68881.h
2168 m68k-hp-hpux*) # HP 9000 series 300
2169 xm_file="xm-alloca.h ${xm_file}"
2171 if test x$gas = xyes
2173 xmake_file=m68k/x-hp320g
2174 tm_file=m68k/hp320g.h
2176 xmake_file=m68k/x-hp320
2177 tm_file=m68k/hp320.h
2179 install_headers_dir=install-headers-cpio
2181 extra_headers=math-68881.h
2185 tm_file=m68k/sun3mach.h
2187 extra_headers=math-68881.h
2191 if test x$gas = xyes
2193 tm_file=m68k/news3gas.h
2195 tm_file=m68k/news3.h
2198 extra_headers=math-68881.h
2201 m68k-sony-bsd* | m68k-sony-newsos*)
2202 if test x$gas = xyes
2204 tm_file=m68k/newsgas.h
2209 extra_headers=math-68881.h
2212 m68k-next-nextstep2*)
2213 tm_file=m68k/next21.h
2214 xm_file="m68k/xm-next.h ${xm_file}"
2215 tmake_file=m68k/t-next
2216 xmake_file=m68k/x-next
2217 extra_objs=nextstep.o
2218 extra_headers=math-68881.h
2223 m68k-next-nextstep[34]*)
2226 xm_file="m68k/xm-next.h ${xm_file}"
2227 tmake_file=m68k/t-next
2228 xmake_file=m68k/x-next
2229 extra_objs=nextstep.o
2230 extra_parts="crtbegin.o crtend.o"
2231 extra_headers=math-68881.h
2233 if test x$enable_threads = xyes; then
2238 if test x$with_fp = xno
2240 tm_file=m68k/sun3n3.h
2242 tm_file=m68k/sun3o3.h
2246 extra_headers=math-68881.h
2248 m68k-sun-sunos*) # For SunOS 4 (the default).
2249 if test x$with_fp = xno
2251 tm_file=m68k/sun3n.h
2257 extra_headers=math-68881.h
2260 tm_file=m68k/vxm68k.h
2261 tmake_file=m68k/t-vxworks68
2262 extra_headers=math-68881.h
2263 thread_file='vxworks'
2267 tmake_file=m68k/t-m68kbare
2268 tm_file="m68k/m68k-aout.h libgloss.h"
2269 extra_headers=math-68881.h
2273 tmake_file=m68k/t-m68kbare
2274 tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
2275 extra_headers=math-68881.h
2278 m68020-*-elf* | m68k-*-elf*)
2279 tm_file="m68k/m68020-elf.h"
2280 xm_file=m68k/xm-m68kv.h
2281 tmake_file=m68k/t-m68kelf
2282 header_files=math-68881.h
2285 if test x$gas = xyes
2289 tm_file=m68k/lynx-ng.h
2291 xm_file=m68k/xm-lynx.h
2293 tmake_file=m68k/t-lynx
2294 extra_headers=math-68881.h
2298 tm_file=m68k/netbsd.h
2305 # we need collect2 until our bug is fixed...
2308 m68k-*-sysv3*) # Motorola m68k's running system V.3
2309 xm_file="xm-alloca.h ${xm_file}"
2311 xmake_file=m68k/x-m68kv
2312 extra_parts="crtbegin.o crtend.o"
2313 extra_headers=math-68881.h
2316 m68k-*-sysv4*) # Motorola m68k's running system V.4
2317 tm_file=m68k/m68kv4.h
2318 xm_file="xm-alloca.h ${xm_file}"
2321 extra_parts="crtbegin.o crtend.o"
2322 extra_headers=math-68881.h
2325 m68k-*-linux-gnuaout*) # Motorola m68k's running GNU/Linux
2328 tm_file=m68k/linux-aout.h
2329 tmake_file="t-linux-aout m68k/t-linux-aout"
2330 extra_headers=math-68881.h
2334 m68k-*-linux-gnulibc1) # Motorola m68k's running GNU/Linux
2335 # with ELF format using the
2336 # GNU/Linux C library 5
2338 tm_file=m68k/linux.h
2339 tmake_file="t-linux t-linux-gnulibc1 m68k/t-linux"
2340 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2341 extra_headers=math-68881.h
2345 m68k-*-linux-gnu*) # Motorola m68k's running GNU/Linux
2346 # with ELF format using glibc 2
2347 # aka the GNU/Linux C library 6.
2349 tm_file=m68k/linux.h
2350 tmake_file="t-linux m68k/t-linux"
2351 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2352 extra_headers=math-68881.h
2355 if test x$enable_threads = xyes; then
2360 tmake_file=m68k/t-m68kbare
2361 tm_file=m68k/m68k-psos.h
2362 extra_headers=math-68881.h
2366 tmake_file="m68k/t-m68kbare t-rtems"
2367 tm_file=m68k/rtems.h
2368 extra_headers=math-68881.h
2371 m68k-*-rtemself*|m68k-*-rtems*)
2372 tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
2373 tm_file=m68k/rtemself.h
2374 extra_headers=math-68881.h
2380 tm_file=m88k/dguxbcs.h
2381 tmake_file=m88k/t-dguxbcs
2385 tmake_file=m88k/t-dgux
2388 extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
2389 xmake_file=m88k/x-dgux
2390 if test x$gas = xyes
2392 tmake_file=m88k/t-dgux-gas
2395 m88k-dolphin-sysv3*)
2396 tm_file=m88k/dolph.h
2397 extra_parts="crtbegin.o crtend.o"
2398 xm_file="m88k/xm-sysv3.h ${xm_file}"
2399 xmake_file=m88k/x-dolph
2400 if test x$gas = xyes
2402 tmake_file=m88k/t-m88k-gas
2405 m88k-tektronix-sysv3)
2406 tm_file=m88k/tekXD88.h
2407 extra_parts="crtbegin.o crtend.o"
2408 xm_file="m88k/xm-sysv3.h ${xm_file}"
2409 xmake_file=m88k/x-tekXD88
2410 if test x$gas = xyes
2412 tmake_file=m88k/t-m88k-gas
2416 tm_file=m88k/m88k-aout.h
2419 tm_file=m88k/m88k-coff.h
2420 tmake_file=m88k/t-bug
2424 extra_parts="crtbegin.o crtend.o"
2425 if test x$gas = xyes
2427 tmake_file=m88k/t-luna-gas
2429 tmake_file=m88k/t-luna
2433 tmake_file="${tmake_file} m88k/t-luna-gas"
2436 tm_file=m88k/sysv3.h
2437 extra_parts="crtbegin.o crtend.o"
2438 xm_file="m88k/xm-sysv3.h ${xm_file}"
2439 xmake_file=m88k/x-sysv3
2440 if test x$gas = xyes
2442 tmake_file=m88k/t-m88k-gas
2446 tm_file=m88k/sysv4.h
2447 extra_parts="crtbegin.o crtend.o"
2448 xmake_file=m88k/x-sysv4
2449 tmake_file=m88k/t-sysv4
2452 tm_file=mcore/mcore-elf.h
2453 tmake_file=mcore/t-mcore
2456 tm_file=mcore/mcore-pe.h
2457 tmake_file=mcore/t-mcore-pe
2459 mips-sgi-irix6*) # SGI System V.4., IRIX 6
2460 if test "x$gnu_ld" = xyes
2462 tm_file="mips/iris6.h mips/iris6gld.h"
2464 tm_file=mips/iris6.h
2466 tmake_file=mips/t-iris6
2467 xm_file=mips/xm-iris6.h
2468 xmake_file=mips/x-iris6
2469 # if test x$enable_threads = xyes; then
2470 # thread_file='irix'
2474 tm_file="mips/elf.h mips/vxworks.h"
2475 tmake_file=mips/t-ecoff
2478 extra_parts="crtbegin.o crtend.o"
2479 thread_file='vxworks'
2481 mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
2482 tm_file="mips/iris6.h mips/cross64.h"
2484 xm_file="mips/xm-iris5.h"
2485 xmake_file=mips/x-iris
2486 tmake_file=mips/t-cross64
2487 # See comment in mips/iris[56].h files.
2489 # if test x$enable_threads = xyes; then
2490 # thread_file='irix'
2494 if test x$gas = xyes
2496 if test x$stabs = xyes
2498 tm_file=mips/iris5gdb.h
2500 tm_file="mips/sni-svr4.h mips/sni-gas.h"
2503 tm_file=mips/sni-svr4.h
2506 xmake_file=mips/x-sni-svr4
2507 tmake_file=mips/t-mips-gas
2508 if test x$gnu_ld != xyes
2513 mips-sgi-irix5*) # SGI System V.4., IRIX 5
2514 if test x$gas = xyes
2516 tm_file="mips/iris5.h mips/iris5gas.h"
2517 if test x$stabs = xyes
2519 tm_file="${tm_file} dbx.h"
2522 tm_file=mips/iris5.h
2525 xm_file="mips/xm-iris5.h"
2526 xmake_file=mips/x-iris
2527 # mips-tfile doesn't work yet
2528 tmake_file=mips/t-mips-gas
2529 # See comment in mips/iris5.h file.
2531 # if test x$enable_threads = xyes; then
2532 # thread_file='irix'
2535 mips-sgi-irix4loser*) # Mostly like a MIPS.
2536 tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
2537 if test x$stabs = xyes; then
2538 tm_file="${tm_file} dbx.h"
2541 xmake_file=mips/x-iris
2542 if test x$gas = xyes
2544 tmake_file=mips/t-mips-gas
2546 extra_passes="mips-tfile mips-tdump"
2548 if test x$gnu_ld != xyes
2552 # if test x$enable_threads = xyes; then
2553 # thread_file='irix'
2556 mips-sgi-irix4*) # Mostly like a MIPS.
2557 tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
2558 if test x$stabs = xyes; then
2559 tm_file="${tm_file} dbx.h"
2562 xmake_file=mips/x-iris
2563 if test x$gas = xyes
2565 tmake_file=mips/t-mips-gas
2567 extra_passes="mips-tfile mips-tdump"
2569 if test x$gnu_ld != xyes
2573 # if test x$enable_threads = xyes; then
2574 # thread_file='irix'
2577 mips-sgi-*) # Mostly like a MIPS.
2578 tm_file="mips/iris3.h ${tm_file}"
2579 if test x$stabs = xyes; then
2580 tm_file="${tm_file} dbx.h"
2583 xmake_file=mips/x-iris3
2584 if test x$gas = xyes
2586 tmake_file=mips/t-mips-gas
2588 extra_passes="mips-tfile mips-tdump"
2590 if test x$gnu_ld != xyes
2595 mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose.
2596 tm_file="mips/osfrose.h ${tm_file}"
2597 xmake_file=mips/x-osfrose
2598 tmake_file=mips/t-osfrose
2599 extra_objs=halfpic.o
2602 mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL
2603 tm_file=mips/dec-osf1.h
2604 if test x$stabs = xyes; then
2605 tm_file="${tm_file} dbx.h"
2607 xmake_file=mips/x-dec-osf1
2608 if test x$gas = xyes
2610 tmake_file=mips/t-mips-gas
2612 tmake_file=mips/t-ultrix
2613 extra_passes="mips-tfile mips-tdump"
2615 if test x$gnu_ld != xyes
2620 mips-dec-bsd*) # Decstation running 4.4 BSD
2621 tm_file=mips/dec-bsd.h
2622 if test x$gas = xyes
2624 tmake_file=mips/t-mips-gas
2626 tmake_file=mips/t-ultrix
2627 extra_passes="mips-tfile mips-tdump"
2629 if test x$gnu_ld != xyes
2634 mipsel-*-netbsd* | mips-dec-netbsd*) # Decstation running NetBSD
2635 tm_file=mips/netbsd.h
2636 # On NetBSD, the headers are already okay, except for math.h.
2639 mips*-*-linux*) # Linux MIPS, either endian.
2642 mipsel-*) tm_file="mips/elfl.h mips/linux.h" ;;
2643 *) tm_file="mips/elf.h mips/linux.h" ;;
2645 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2648 if test x$enable_threads = xyes; then
2652 mips*el-*-openbsd*) # mips little endian
2653 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2655 mips*-*-openbsd*) # mips big endian
2656 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2657 tm_file="mips/openbsd-be.h ${tm_file}"
2659 mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
2660 tm_file="mips/news4.h ${tm_file}"
2661 if test x$stabs = xyes; then
2662 tm_file="${tm_file} dbx.h"
2664 if test x$gas = xyes
2666 tmake_file=mips/t-mips-gas
2668 extra_passes="mips-tfile mips-tdump"
2670 if test x$gnu_ld != xyes
2674 xmake_file=mips/x-sony
2676 mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0.
2677 # That is based on svr4.
2678 # t-svr4 is not right because this system doesn't use ELF.
2679 tm_file="mips/news5.h ${tm_file}"
2680 if test x$stabs = xyes; then
2681 tm_file="${tm_file} dbx.h"
2684 if test x$gas = xyes
2686 tmake_file=mips/t-mips-gas
2688 extra_passes="mips-tfile mips-tdump"
2690 if test x$gnu_ld != xyes
2695 mips-tandem-sysv4*) # Tandem S2 running NonStop UX
2696 tm_file="mips/svr4-5.h mips/svr4-t.h"
2697 if test x$stabs = xyes; then
2698 tm_file="${tm_file} dbx.h"
2701 xmake_file=mips/x-sysv
2702 if test x$gas = xyes
2704 tmake_file=mips/t-mips-gas
2705 extra_parts="crtbegin.o crtend.o"
2707 tmake_file=mips/t-mips
2708 extra_passes="mips-tfile mips-tdump"
2710 if test x$gnu_ld != xyes
2715 mips-*-ultrix* | mips-dec-mach3) # Decstation.
2716 tm_file="mips/ultrix.h ${tm_file}"
2717 if test x$stabs = xyes; then
2718 tm_file="${tm_file} dbx.h"
2720 xmake_file=mips/x-ultrix
2721 if test x$gas = xyes
2723 tmake_file=mips/t-mips-gas
2725 tmake_file=mips/t-ultrix
2726 extra_passes="mips-tfile mips-tdump"
2728 if test x$gnu_ld != xyes
2734 mips-*-riscos[56789]bsd*)
2736 tm_file=mips/bsd-5.h # MIPS BSD 4.3, RISC-OS 5.0
2737 if test x$stabs = xyes; then
2738 tm_file="${tm_file} dbx.h"
2740 if test x$gas = xyes
2742 tmake_file=mips/t-bsd-gas
2744 tmake_file=mips/t-bsd
2745 extra_passes="mips-tfile mips-tdump"
2747 if test x$gnu_ld != xyes
2753 mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
2755 tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
2756 if test x$stabs = xyes; then
2757 tm_file="${tm_file} dbx.h"
2759 if test x$gas = xyes
2761 tmake_file=mips/t-bsd-gas
2763 tmake_file=mips/t-bsd
2764 extra_passes="mips-tfile mips-tdump"
2766 if test x$gnu_ld != xyes
2772 mips-*-riscos[56789]sysv4*)
2774 tm_file=mips/svr4-5.h # MIPS System V.4., RISC-OS 5.0
2775 if test x$stabs = xyes; then
2776 tm_file="${tm_file} dbx.h"
2778 xmake_file=mips/x-sysv
2779 if test x$gas = xyes
2781 tmake_file=mips/t-svr4-gas
2783 tmake_file=mips/t-svr4
2784 extra_passes="mips-tfile mips-tdump"
2786 if test x$gnu_ld != xyes
2792 mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
2794 tm_file="mips/svr4-4.h ${tm_file}"
2795 if test x$stabs = xyes; then
2796 tm_file="${tm_file} dbx.h"
2799 xmake_file=mips/x-sysv
2800 if test x$gas = xyes
2802 tmake_file=mips/t-svr4-gas
2804 tmake_file=mips/t-svr4
2805 extra_passes="mips-tfile mips-tdump"
2807 if test x$gnu_ld != xyes
2813 mips-*-riscos[56789]sysv*)
2815 tm_file=mips/svr3-5.h # MIPS System V.3, RISC-OS 5.0
2816 if test x$stabs = xyes; then
2817 tm_file="${tm_file} dbx.h"
2820 xmake_file=mips/x-sysv
2821 if test x$gas = xyes
2823 tmake_file=mips/t-svr3-gas
2825 tmake_file=mips/t-svr3
2826 extra_passes="mips-tfile mips-tdump"
2828 if test x$gnu_ld != xyes
2833 mips-*-sysv* | mips-*-riscos*sysv*)
2834 tm_file="mips/svr3-4.h ${tm_file}"
2835 if test x$stabs = xyes; then
2836 tm_file="${tm_file} dbx.h"
2839 xmake_file=mips/x-sysv
2840 if test x$gas = xyes
2842 tmake_file=mips/t-svr3-gas
2844 tmake_file=mips/t-svr3
2845 extra_passes="mips-tfile mips-tdump"
2847 if test x$gnu_ld != xyes
2853 mips-*-riscos[56789]*) # Default MIPS RISC-OS 5.0.
2855 tm_file=mips/mips-5.h
2856 if test x$stabs = xyes; then
2857 tm_file="${tm_file} dbx.h"
2859 if test x$gas = xyes
2861 tmake_file=mips/t-mips-gas
2863 extra_passes="mips-tfile mips-tdump"
2865 if test x$gnu_ld != xyes
2873 tm_file=mips/ecoffl.h
2874 if test x$stabs = xyes; then
2875 tm_file="${tm_file} dbx.h"
2877 tmake_file=mips/t-ecoff
2880 tm_file="gofast.h mips/ecoff.h"
2881 if test x$stabs = xyes; then
2882 tm_file="${tm_file} dbx.h"
2884 tmake_file=mips/t-ecoff
2887 tm_file="mips/elfl.h"
2888 tmake_file=mips/t-elf
2891 tm_file="mips/elf.h"
2892 tmake_file=mips/t-elf
2895 tm_file="mips/elfl64.h"
2896 tmake_file=mips/t-elf
2898 mips64orionel-*-elf*)
2899 tm_file="mips/elforion.h mips/elfl64.h"
2900 tmake_file=mips/t-elf
2903 tm_file="mips/elf64.h"
2904 tmake_file=mips/t-elf
2907 tm_file="mips/elforion.h mips/elf64.h"
2908 tmake_file=mips/t-elf
2910 mips64orion-*-rtems*)
2911 tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
2912 tmake_file="mips/t-elf t-rtems"
2915 tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
2916 tmake_file=mips/t-r3900
2919 tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
2920 tmake_file=mips/t-r3900
2922 mips-*-*) # Default MIPS RISC-OS 4.0.
2923 if test x$stabs = xyes; then
2924 tm_file="${tm_file} dbx.h"
2926 if test x$gas = xyes
2928 tmake_file=mips/t-mips-gas
2930 extra_passes="mips-tfile mips-tdump"
2932 if test x$gnu_ld != xyes
2940 tm_file="mn10200/mn10200.h"
2941 if test x$stabs = xyes
2943 tm_file="${tm_file} dbx.h"
2949 tm_file="mn10300/mn10300.h"
2950 if test x$stabs = xyes
2952 tm_file="${tm_file} dbx.h"
2957 tm_file=ns32k/encore.h
2961 tm_file=ns32k/sequent.h
2965 tm_file=ns32k/tek6100.h
2969 tm_file=ns32k/tek6200.h
2972 # This has not been updated to GCC 2.
2975 # xmake_file=ns32k/x-genix
2976 # tm_file=ns32k/genix.h
2980 tm_file=ns32k/merlin.h
2984 tm_file=ns32k/pc532-mach.h
2988 tm_file=ns32k/pc532-min.h
2989 xm_file="ns32k/xm-pc532-min.h ${xm-file}"
2994 tm_file=ns32k/netbsd.h
2995 xm_file="ns32k/xm-netbsd.h ${xm_file}"
2996 # On NetBSD, the headers are already okay, except for math.h.
3001 tm_file="${tm_file} pdp11/2bsd.h"
3010 # This has not been updated to GCC 2.
3013 # xmake_file=pyr/x-pyr
3018 tm_file="svr4.h pj/linux.h ${tm_file}"
3023 tm_file="svr4.h pj/pjl.h ${tm_file}"
3030 xmake_file=romp/x-mach
3037 tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
3041 tm_file=rs6000/beos.h
3042 xm_file=rs6000/xm-beos.h
3043 tmake_file=rs6000/t-beos
3044 xmake_file=rs6000/x-beos
3047 tm_file=rs6000/sysv4.h
3048 xm_file="rs6000/xm-sysv4.h"
3049 xm_defines="USG POSIX"
3050 extra_headers=ppc-asm.h
3051 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3052 xmake_file=rs6000/x-sysv4
3055 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabiaix.h"
3056 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3057 extra_headers=ppc-asm.h
3060 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
3061 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3062 extra_headers=ppc-asm.h
3065 tm_file="rs6000/sysv4.h"
3066 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3067 extra_headers=ppc-asm.h
3070 tm_file="rs6000/sysv4.h rs6000/eabi.h"
3071 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3072 extra_headers=ppc-asm.h
3075 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h"
3076 tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
3077 extra_headers=ppc-asm.h
3079 powerpc-*-linux-gnulibc1)
3080 tm_file="rs6000/sysv4.h rs6000/linux.h"
3081 xm_file=rs6000/xm-sysv4.h
3082 out_file=rs6000/rs6000.c
3083 tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
3085 extra_headers=ppc-asm.h
3086 if test x$enable_threads = xyes; then
3090 powerpc-*-linux-gnu*)
3091 tm_file="rs6000/sysv4.h rs6000/linux.h"
3092 xm_file="rs6000/xm-sysv4.h"
3093 xm_defines="USG ${xm_defines}"
3094 out_file=rs6000/rs6000.c
3095 tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
3097 extra_headers=ppc-asm.h
3098 if test x$enable_threads = xyes; then
3102 powerpc-wrs-vxworks*)
3104 xm_file="rs6000/xm-sysv4.h"
3105 xm_defines="USG POSIX"
3106 tm_file="rs6000/sysv4.h rs6000/vxppc.h"
3107 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3108 extra_headers=ppc-asm.h
3109 thread_file='vxworks'
3111 powerpcle-wrs-vxworks*)
3113 xm_file="rs6000/xm-sysv4.h"
3114 xm_defines="USG POSIX"
3115 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
3116 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3117 extra_headers=ppc-asm.h
3118 thread_file='vxworks'
3121 tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
3122 xm_file="rs6000/xm-sysv4.h"
3123 xm_defines="USG POSIX"
3124 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3125 xmake_file=rs6000/x-sysv4
3126 extra_headers=ppc-asm.h
3129 tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
3130 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3131 extra_headers=ppc-asm.h
3133 powerpcle-*-eabisim*)
3134 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
3135 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3136 extra_headers=ppc-asm.h
3139 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
3140 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3141 extra_headers=ppc-asm.h
3143 powerpcle-*-solaris2*)
3144 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/sol2.h"
3145 xm_file="rs6000/xm-sysv4.h"
3146 xm_defines="USG POSIX"
3147 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3148 xmake_file=rs6000/x-sysv4
3149 extra_headers=ppc-asm.h
3152 rs6000-ibm-aix3.[01]*)
3154 tm_file=rs6000/aix31.h
3155 xmake_file=rs6000/x-aix31
3160 rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
3162 tm_file=rs6000/aix3newas.h
3163 if test x$host != x$target
3165 tmake_file=rs6000/t-xnewas
3167 tmake_file=rs6000/t-newas
3173 rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
3175 tm_file=rs6000/aix41.h
3176 if test x$host != x$target
3178 tmake_file=rs6000/t-xnewas
3180 tmake_file=rs6000/t-newas
3182 if test "$gnu_ld" = yes
3184 xmake_file=rs6000/x-aix41-gld
3186 tmake_file="rs6000/t-newas rs6000/t-aix41"
3188 xmake_file=rs6000/x-aix41
3193 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
3195 tm_file=rs6000/aix43.h
3196 tmake_file=rs6000/t-aix43
3197 xmake_file=rs6000/x-aix41
3202 rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
3204 tm_file=rs6000/aix43.h
3205 tmake_file=rs6000/t-aix43
3206 xmake_file=rs6000/x-aix41
3219 tm_file=rs6000/mach.h
3220 xm_file="${xm_file} rs6000/xm-mach.h"
3221 xmake_file=rs6000/x-mach
3225 tm_file=rs6000/lynx.h
3226 xm_file=rs6000/xm-lynx.h
3227 tmake_file=rs6000/t-rs6000
3228 xmake_file=rs6000/x-lynx
3236 tmake_file="sh/t-sh t-rtems"
3237 tm_file=sh/rtemself.h
3241 tmake_file="sh/t-sh t-rtems"
3250 xm_file="xm-alloca.h ${xm_file}"
3253 sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
3254 tm_file=sparc/vxsparc.h
3255 tmake_file=sparc/t-vxsparc
3257 thread_file='vxworks'
3260 tmake_file=sparc/t-sparcbare
3261 tm_file="sparc/aout.h libgloss.h"
3264 tm_file=sparc/netbsd.h
3269 # we need collect2 until our bug is fixed...
3277 tmake_file=sparc/t-elf
3278 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3282 sparc-*-linux-gnuaout*) # Sparc's running GNU/Linux, a.out
3283 xm_file="${xm_file} sparc/xm-linux.h"
3284 tm_file=sparc/linux-aout.h
3288 sparc-*-linux-gnulibc1*) # Sparc's running GNU/Linux, libc5
3289 xm_file="${xm_file} sparc/xm-linux.h"
3291 tm_file=sparc/linux.h
3292 tmake_file="t-linux t-linux-gnulibc1"
3293 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3297 sparc-*-linux-gnu*) # Sparc's running GNU/Linux, libc6
3298 xm_file="${xm_file} sparc/xm-linux.h"
3300 tm_file=sparc/linux.h
3301 tmake_file="t-linux"
3302 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3304 if test x$enable_threads = xyes; then
3310 if test x$gas = xyes
3312 tm_file=sparc/lynx.h
3314 tm_file=sparc/lynx-ng.h
3316 xm_file=sparc/xm-lynx.h
3317 tmake_file=sparc/t-sunos41
3321 tmake_file="sparc/t-sparcbare t-rtems"
3322 tm_file=sparc/rtems.h
3324 sparc-*-rtems*|sparc-*-rtemself*)
3325 tm_file="sparc/rtemself.h"
3326 tmake_file="sparc/t-elf t-rtems"
3327 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3331 sparcv9-*-solaris2*)
3332 if test x$gnu_ld = xyes
3334 tm_file=sparc/sol2-64.h
3336 tm_file=sparc/sol2-sld-64.h
3338 xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
3339 xm_defines="USG POSIX"
3340 tmake_file="sparc/t-sol2 sparc/t-sol2-64"
3341 xmake_file=sparc/x-sysv4
3342 extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
3344 if test x${enable_threads} = x ; then
3345 enable_threads=$have_pthread_h
3346 if test x${enable_threads} = x ; then
3347 enable_threads=$have_thread_h
3350 if test x${enable_threads} = xyes ; then
3351 if test x${have_pthread_h} = xyes ; then
3354 thread_file='solaris'
3358 sparc-hal-solaris2*)
3359 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3360 xm_defines="USG POSIX"
3361 tm_file="sparc/sol2.h sparc/hal.h"
3362 tmake_file="sparc/t-halos sparc/t-sol2"
3363 xmake_file=sparc/x-sysv4
3364 extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
3373 thread_file='solaris'
3376 if test x$gnu_ld = xyes
3378 tm_file=sparc/sol2.h
3380 tm_file=sparc/sol2-sld.h
3382 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3383 xm_defines="USG POSIX"
3384 tmake_file=sparc/t-sol2
3385 xmake_file=sparc/x-sysv4
3386 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
3389 *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
3392 if test x$gnu_ld = xyes
3394 tm_file=sparc/sol2-64.h
3396 tm_file=sparc/sol2-sld-64.h
3398 tmake_file="$tmake_file sparc/t-sol2-64"
3411 if test x${enable_threads} = x; then
3412 enable_threads=$have_pthread_h
3413 if test x${enable_threads} = x; then
3414 enable_threads=$have_thread_h
3417 if test x${enable_threads} = xyes; then
3418 if test x${have_pthread_h} = xyes; then
3421 thread_file='solaris'
3426 tm_file=sparc/sunos4.h
3427 tmake_file=sparc/t-sunos40
3431 tm_file=sparc/sunos4.h
3432 tmake_file=sparc/t-sunos41
3434 if test x$gas = xyes; then
3435 tm_file="${tm_file} sparc/sun4gas.h"
3439 tm_file=sparc/sun4o3.h
3443 tm_file=sparc/sysv4.h
3444 xm_file="sparc/xm-sysv4.h"
3445 xm_defines="USG POSIX"
3447 xmake_file=sparc/x-sysv4
3448 extra_parts="crtbegin.o crtend.o"
3451 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3452 xm_defines="USG POSIX"
3453 tm_file=sparc/vxsim.h
3454 tmake_file=sparc/t-vxsparc
3455 xmake_file=sparc/x-sysv4
3458 tm_file="sparc/splet.h libgloss.h"
3459 tmake_file=sparc/t-splet
3462 tm_file="sparc/litecoff.h libgloss.h"
3463 tmake_file=sparc/t-sparclite
3466 tm_file="sparc/lite.h aoutos.h libgloss.h"
3467 tmake_file=sparc/t-sparclite
3470 tm_file="sparc/liteelf.h"
3471 tmake_file=sparc/t-sparclite
3472 extra_parts="crtbegin.o crtend.o"
3475 tm_file="sparc/sp86x-aout.h aoutos.h libgloss.h"
3476 tmake_file=sparc/t-sp86x
3479 tm_file="sparc/sp86x-elf.h"
3480 tmake_file=sparc/t-sp86x
3481 extra_parts="crtbegin.o crtend.o"
3484 tmake_file=sparc/t-sp64
3485 tm_file=sparc/sp64-aout.h
3488 tmake_file=sparc/t-sp64
3489 tm_file=sparc/sp64-elf.h
3490 extra_parts="crtbegin.o crtend.o"
3492 sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
3493 tmake_file="t-linux sparc/t-linux64"
3494 xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
3495 tm_file=sparc/linux64.h
3497 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3499 if test x$enable_threads = xyes; then
3504 # This hasn't been upgraded to GCC 2.
3505 # tahoe-harris-*) # Harris tahoe, using COFF.
3506 # tm_file=tahoe/harris.h
3508 # tahoe-*-bsd*) # tahoe running BSD
3513 *** The Thumb targets have been depreciated. The equivalent
3514 *** ARM based toolchain can now generated Thumb instructions
3515 *** when the -mthumb switch is given to the compiler.])
3517 # This hasn't been upgraded to GCC 2.
3524 tm_file="v850/rtems.h"
3525 xm_file="v850/xm-v850.h"
3526 tmake_file="v850/t-v850 t-rtems"
3527 if test x$stabs = xyes
3529 tm_file="${tm_file} dbx.h"
3534 target_cpu_default="TARGET_CPU_generic"
3536 tm_file="v850/v850.h"
3537 xm_file="v850/xm-v850.h"
3538 tmake_file=v850/t-v850
3539 if test x$stabs = xyes
3541 tm_file="${tm_file} dbx.h"
3545 vax-*-bsd*) # vaxen running BSD
3549 vax-*-sysv*) # vaxen running system V
3550 tm_file="${tm_file} vax/vaxv.h"
3555 tm_file="${tm_file} netbsd.h vax/netbsd.h"
3561 tmake_file="${tmake_file} vax/t-openbsd"
3563 vax-*-ultrix*) # vaxen running ultrix
3564 tm_file="${tm_file} vax/ultrix.h"
3568 vax-*-vms*) # vaxen running VMS
3569 xm_file=vax/xm-vms.h
3573 vax-*-*) # vax default entry
3577 xm_file="${xm_file} xm-svr3"
3581 echo "Configuration $machine not supported" 1>&2
3588 ;; # Existing GNU/Linux systems do not use the GNU setup.
3590 # On the GNU system, the setup is just about the same on
3591 # each different CPU. The specific machines that GNU
3592 # supports are matched above and just set $cpu_type.
3593 xm_file="xm-gnu.h ${xm_file}"
3594 tm_file=${cpu_type}/gnu.h
3595 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
3596 # GNU always uses ELF.
3598 # GNU tools are the only tools.
3601 xmake_file=x-linux # These details are the same as Linux.
3602 tmake_file=t-gnu # These are not.
3605 xmake_try_sysv=x-sysv
3606 install_headers_dir=install-headers-cpio
3609 install_headers_dir=install-headers-cpio
3613 # Distinguish i[34567]86
3614 # Also, do not run mips-tfile on MIPS if using gas.
3615 # Process --with-cpu= for PowerPC/rs6000
3616 target_cpu_default2=
3619 target_cpu_default2=1
3622 case $target_alias in
3624 target_cpu_default2=4
3627 target_cpu_default2=2
3631 i686-*-* | i786-*-*)
3632 target_cpu_default2=3
3639 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
3642 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
3645 target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
3648 target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
3651 target_cpu_default2="MASK_CPU_EV5"
3655 if test x$gas = xyes
3657 if test "$target_cpu_default2" = ""
3659 target_cpu_default2="MASK_GAS"
3661 target_cpu_default2="${target_cpu_default2}|MASK_GAS"
3666 case "x$with_cpu" in
3669 target_cpu_default2="TARGET_CPU_generic"
3672 # Distinguish cores, and major variants
3673 # arm7m doesn't exist, but D & I don't affect code
3675 xarm[23678] | xarm250 | xarm[67][01]0 \
3676 | xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
3677 | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
3678 | xstrongarm | xstrongarm110 | xstrongarm1100)
3680 target_cpu_default2="TARGET_CPU_$with_cpu"
3684 echo "--with-cpu must be passed a value" 1>&2
3689 if test x$pass2done = xyes
3691 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3698 mips*-*-ecoff* | mips*-*-elf*)
3699 if test x$gas = xyes
3701 if test x$gnu_ld = xyes
3703 target_cpu_default2=20
3705 target_cpu_default2=16
3710 if test x$gas = xyes
3712 target_cpu_default2=16
3715 powerpc*-*-* | rs6000-*-*)
3716 case "x$with_cpu" in
3720 xcommon | xpower | xpower2 | xpowerpc | xrios \
3721 | xrios1 | xrios2 | xrsc | xrsc1 \
3722 | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
3723 | xec603e | x740 | x750 | x401 \
3724 | x403 | x505 | x801 | x821 | x823 | x860)
3725 target_cpu_default2="\"$with_cpu\""
3729 echo "--with-cpu must be passed a value" 1>&2
3734 if test x$pass2done = xyes
3736 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3743 case ".$with_cpu" in
3745 target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
3747 .supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
3748 target_cpu_default2="TARGET_CPU_$with_cpu"
3751 if test x$pass2done = xyes
3753 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3761 if test "$target_cpu_default2" != ""
3763 if test "$target_cpu_default" != ""
3765 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
3767 target_cpu_default=$target_cpu_default2
3771 # No need for collect2 if we have the GNU linker.
3772 # Actually, there is now; GNU ld doesn't handle the EH info or
3773 # collecting for shared libraries.
3780 # Save data on machine being used to compile GCC in build_xm_file.
3781 # Save data on host machine in vars host_xm_file and host_xmake_file.
3782 if test x$pass1done = x
3784 if test x"$xm_file" = x
3785 then build_xm_file=$cpu_type/xm-$cpu_type.h
3786 else build_xm_file=$xm_file
3788 build_xm_defines=$xm_defines
3789 build_install_headers_dir=$install_headers_dir
3790 build_exeext=$exeext
3793 if test x$pass2done = x
3795 if test x"$xm_file" = x
3796 then host_xm_file=$cpu_type/xm-$cpu_type.h
3797 else host_xm_file=$xm_file
3799 host_xm_defines=$xm_defines
3800 if test x"$xmake_file" = x
3801 then xmake_file=$cpu_type/x-$cpu_type
3803 host_xmake_file="$xmake_file"
3804 host_truncate_target=$truncate_target
3805 host_extra_gcc_objs=$extra_gcc_objs
3806 host_extra_objs=$extra_host_objs
3813 extra_objs="${host_extra_objs} ${extra_objs}"
3815 # Default the target-machine variables that were not explicitly set.
3816 if test x"$tm_file" = x
3817 then tm_file=$cpu_type/$cpu_type.h; fi
3819 if test x$extra_headers = x
3820 then extra_headers=; fi
3822 if test x"$xm_file" = x
3823 then xm_file=$cpu_type/xm-$cpu_type.h; fi
3825 if test x$md_file = x
3826 then md_file=$cpu_type/$cpu_type.md; fi
3828 if test x$out_file = x
3829 then out_file=$cpu_type/$cpu_type.c; fi
3831 if test x"$tmake_file" = x
3832 then tmake_file=$cpu_type/t-$cpu_type
3835 if test x"$dwarf2" = xyes
3836 then tm_file="$tm_file tm-dwarf2.h"
3839 if test x$float_format = x
3840 then float_format=i64
3843 if test $float_format = none
3844 then float_h_file=Makefile.in
3845 else float_h_file=float-$float_format.h
3848 # Handle cpp installation.
3849 if test x$enable_cpp != xno
3851 tmake_file="$tmake_file t-install-cpp"
3854 # Say what files are being used for the output code and MD file.
3855 echo "Using \`$srcdir/config/$out_file' to output insns."
3856 echo "Using \`$srcdir/config/$md_file' as machine description file."
3859 for f in $tm_file; do
3862 if test $count = ax; then
3863 echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
3865 echo "Using the following target machine macro files:"
3866 for f in $tm_file; do
3867 echo " $srcdir/config/$f"
3872 for f in $host_xm_file; do
3875 if test $count = ax; then
3876 echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
3878 echo "Using the following host machine macro files:"
3879 for f in $host_xm_file; do
3880 echo " $srcdir/config/$f"
3884 if test "$host_xm_file" != "$build_xm_file"; then
3886 for f in $build_xm_file; do
3889 if test $count = ax; then
3890 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
3892 echo "Using the following build machine macro files:"
3893 for f in $build_xm_file; do
3894 echo " $srcdir/config/$f"
3899 if test x$thread_file = x; then
3900 if test x$target_thread_file != x; then
3901 thread_file=$target_thread_file
3903 thread_file='single'
3907 # Set up the header files.
3908 # $links is the list of header files to create.
3909 # $vars is the list of shell variables with file names to include.
3910 # auto-host.h is the file containing items generated by autoconf and is
3911 # the first file included by config.h.
3913 host_xm_file="auto-host.h gansidecl.h ${host_xm_file} hwint.h"
3915 # If host=build, it is correct to have hconfig include auto-host.h
3916 # as well. If host!=build, we are in error and need to do more
3917 # work to find out the build config parameters.
3918 if test x$host = x$build
3920 build_xm_file="auto-host.h gansidecl.h ${build_xm_file} hwint.h"
3922 # We create a subdir, then run autoconf in the subdir.
3923 # To prevent recursion we set host and build for the new
3924 # invocation of configure to the build for this invocation
3931 /*) realsrcdir=${srcdir};;
3932 *) realsrcdir=../${srcdir};;
3934 CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
3935 --target=$target --host=$build --build=$build
3937 # We just finished tests for the build machine, so rename
3938 # the file auto-build.h in the gcc directory.
3939 mv auto-host.h ../auto-build.h
3942 build_xm_file="auto-build.h gansidecl.h ${build_xm_file} hwint.h"
3945 xm_file="gansidecl.h ${xm_file}"
3946 tm_file="gansidecl.h ${tm_file}"
3948 vars="host_xm_file tm_file tm_p_file xm_file build_xm_file"
3949 links="config.h tm.h tm_p.h tconfig.h hconfig.h"
3950 defines="host_xm_defines null_defines null_defines xm_defines build_xm_defines"
3953 if test -f config.status; then mv -f config.status config.bak; fi
3956 while test -n "$vars"
3958 set $vars; var=$1; shift; vars=$*
3959 set $links; link=$1; shift; links=$*
3960 set $defines; define=$1; shift; defines=$*
3963 # Make sure the file is created, even if it is empty.
3966 # Define TARGET_CPU_DEFAULT if the system wants one.
3967 # This substitutes for lots of *.h files.
3968 if test "$target_cpu_default" != "" -a $link = tm.h
3970 echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
3973 for file in `eval echo '$'$var`; do
3978 echo '#ifdef IN_GCC' >>$link
3981 echo "#include \"$file\"" >>$link
3986 echo '#endif' >>$link
3991 for def in `eval echo '$'$define`; do
3992 echo "#ifndef $def" >>$link
3993 echo "#define $def" >>$link
3994 echo "#endif" >>$link
3998 # Truncate the target if necessary
3999 if test x$host_truncate_target != x; then
4000 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
4003 # Get the version trigger filename from the toplevel
4004 if test "${with_gcc_version_trigger+set}" = set; then
4005 gcc_version_trigger=$with_gcc_version_trigger
4007 gcc_version_trigger=${srcdir}/version.c
4010 gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
4013 # Internationalization
4015 VERSION="$gcc_version"
4016 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",
4017 [Define to the name of the distribution.])
4018 AC_DEFINE_UNQUOTED(VERSION, "$VERSION",
4019 [Define to the version of the distribution.])
4025 # NLS support is still experimental, so disable it by default for now.
4027 [ --enable-nls use Native Language Support (disabled by default)],
4031 XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
4033 # Windows32 Registry support for specifying GCC installation paths.
4034 AC_ARG_ENABLE(win32-registry,
4035 [ --disable-win32-registry
4036 Disable lookup of installation paths in the
4037 Registry on Windows hosts.
4038 --enable-win32-registry Enable registry lookup (default).
4039 --enable-win32-registry=KEY
4040 Use KEY instead of GCC version as the last portion
4041 of the registry key.],,)
4043 AC_MSG_CHECKING(whether windows registry support is requested)
4044 if test x$enable_win32_registry != xno; then
4045 AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
4046 [Define to 1 if installation paths should be looked up in Windows32
4047 Registry. Ignored on non windows32 hosts.])
4053 # Check if user specified a different registry key.
4054 case x${enable_win32_registry} in
4057 gcc_cv_win32_registry_key="$VERSION"
4060 # no registry lookup.
4061 gcc_cv_win32_registry_key=''
4064 # user-specified key.
4065 gcc_cv_win32_registry_key="$enable_win32_registry"
4069 if test x$enable_win32_registry != xno; then
4070 AC_MSG_CHECKING(registry key on windows hosts)
4071 AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key",
4072 [Define to be the last portion of registry key on windows hosts.])
4073 AC_MSG_RESULT($gcc_cv_win32_registry_key)
4076 # Get an absolute path to the GCC top-level source directory
4082 # Conditionalize the makefile for this host machine.
4083 # Make-host contains the concatenation of all host makefile fragments
4084 # [there can be more than one]. This file is built by configure.frag.
4085 host_overrides=Make-host
4086 dep_host_xmake_file=
4087 for f in .. ${host_xmake_file}
4089 if test -f ${srcdir}/config/$f
4091 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
4095 # Conditionalize the makefile for this target machine.
4096 # Make-target contains the concatenation of all host makefile fragments
4097 # [there can be more than one]. This file is built by configure.frag.
4098 target_overrides=Make-target
4100 for f in .. ${tmake_file}
4102 if test -f ${srcdir}/config/$f
4104 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
4108 # If the host doesn't support symlinks, modify CC in
4109 # FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
4110 # Otherwise, we can use "CC=$(CC)".
4112 if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
4114 cc_set_by_configure="\$(CC)"
4115 quoted_cc_set_by_configure="\$(CC)"
4116 stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
4119 if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
4121 symbolic_link="cp -p"
4125 cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
4126 quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
4127 stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
4131 out_object_file=`basename $out_file .c`.o
4134 for f in $tm_file; do
4137 tm_file_list="${tm_file_list} $f" ;;
4138 *) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
4143 for f in $host_xm_file; do
4145 auto-host.h | gansidecl.h | hwint.h )
4146 host_xm_file_list="${host_xm_file_list} $f" ;;
4147 *) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
4152 for f in $build_xm_file; do
4154 auto-build.h | auto-host.h | gansidecl.h | hwint.h )
4155 build_xm_file_list="${build_xm_file_list} $f" ;;
4156 *) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
4160 # Define macro CROSS_COMPILE in compilation
4161 # if this is a cross-compiler.
4162 # Also use all.cross instead of all.internal
4163 # and add cross-make to Makefile.
4164 cross_overrides="/dev/null"
4165 if test x$host != x$target
4167 cross_defines="CROSS=-DCROSS_COMPILE"
4168 cross_overrides="${topdir}/cross-make"
4171 # When building gcc with a cross-compiler, we need to fix a few things.
4172 # This must come after cross-make as we want all.build to override
4174 build_overrides="/dev/null"
4175 if test x$build != x$host
4177 build_overrides="${topdir}/build-make"
4180 # Expand extra_headers to include complete path.
4181 # This substitutes for lots of t-* files.
4183 if test "x$extra_headers" = x
4186 # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
4187 for file in $extra_headers;
4189 extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
4193 if test x$use_collect2 = xno; then
4197 # Add a definition of USE_COLLECT2 if system wants one.
4198 # Also tell toplev.c what to do.
4199 # This substitutes for lots of t-* files.
4200 if test x$use_collect2 = x
4205 will_use_collect2="collect2"
4206 maybe_use_collect2="-DUSE_COLLECT2"
4210 # Set MD_DEPS if the real md file is in md.pre-cpp.
4211 # Set MD_CPP to the cpp to pass the md file through. Md files use ';'
4212 # for line oriented comments, so we must always use a GNU cpp. If
4213 # building gcc with a cross compiler, use the cross compiler just
4214 # built. Otherwise, we can use the cpp just built.
4216 if test "x$md_cppflags" = x
4218 md_file_sub=$srcdir/config/$md_file
4223 # If we have gas in the build tree, make a link to it.
4224 if test -f ../gas/Makefile; then
4225 rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
4228 # If we have nm in the build tree, make a link to it.
4229 if test -f ../binutils/Makefile; then
4230 rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
4233 # If we have ld in the build tree, make a link to it.
4234 if test -f ../ld/Makefile; then
4235 # if test x$use_collect2 = x; then
4236 # rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
4238 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
4242 # Figure out what assembler alignment features are present.
4243 AC_MSG_CHECKING(assembler alignment features)
4245 gcc_cv_as_alignment_features=
4246 gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
4247 if test -x "$DEFAULT_ASSEMBLER"; then
4248 gcc_cv_as="$DEFAULT_ASSEMBLER"
4249 elif test -x "$AS"; then
4251 elif test -x as$host_exeext; then
4252 # Build using assembler in the current directory.
4253 gcc_cv_as=./as$host_exeext
4254 elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
4255 # Single tree build which includes gas.
4256 for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
4259 gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
4261 if test x$gcc_cv_gas_version != x; then
4266 gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
4267 gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
4269 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
4270 # Gas version 2.6 and later support for .balign and .p2align.
4271 # bytes to skip when using .p2align.
4272 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
4273 gcc_cv_as_alignment_features=".balign and .p2align"
4274 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4276 # Gas version 2.8 and later support specifying the maximum
4277 # bytes to skip when using .p2align.
4278 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
4279 gcc_cv_as_alignment_features=".p2align including maximum skip"
4280 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4283 elif test x$host = x$target; then
4285 # Search the same directories that the installed compiler will
4286 # search. Else we may find the wrong assembler and lose. If we
4287 # do not find a suitable assembler binary, then try the user's
4290 # Also note we have to check MD_EXEC_PREFIX before checking the
4291 # user's path. Unfortunately, there is no good way to get at the
4292 # value of MD_EXEC_PREFIX here. So we do a brute force search
4293 # through all the known MD_EXEC_PREFIX values. Ugh. This needs
4294 # to be fixed as part of the make/configure rewrite too.
4296 if test "x$exec_prefix" = xNONE; then
4297 if test "x$prefix" = xNONE; then
4298 test_prefix=/usr/local
4303 test_prefix=$exec_prefix
4306 # If the loop below does not find an assembler, then use whatever
4307 # one we can find in the users's path.
4311 test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
4312 $test_prefix/lib/gcc-lib/$target \
4313 /usr/lib/gcc/$target/$gcc_version \
4314 /usr/lib/gcc/$target \
4315 $test_prefix/$target/bin/$target/$gcc_version \
4316 $test_prefix/$target/bin \
4321 /bsd43/usr/lib/cmplrs/cc \
4322 /usr/cross64/usr/bin \
4323 /usr/lib/cmplrs/cc \
4324 /sysv/usr/lib/cmplrs/cc \
4325 /svr4/usr/lib/cmplrs/cc \
4328 for dir in $test_dirs; do
4329 if test -f $dir/as$host_exeext; then
4330 gcc_cv_as=$dir/as$host_exeext
4335 if test x$gcc_cv_as != x; then
4336 # Check if we have .balign and .p2align
4337 echo ".balign 4" > conftest.s
4338 echo ".p2align 2" >> conftest.s
4339 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4340 gcc_cv_as_alignment_features=".balign and .p2align"
4341 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4343 rm -f conftest.s conftest.o
4344 # Check if specifying the maximum bytes to skip when
4345 # using .p2align is supported.
4346 echo ".p2align 4,,7" > conftest.s
4347 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4348 gcc_cv_as_alignment_features=".p2align including maximum skip"
4349 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4351 rm -f conftest.s conftest.o
4353 AC_MSG_RESULT($gcc_cv_as_alignment_features)
4355 AC_MSG_CHECKING(assembler subsection support)
4356 gcc_cv_as_subsections=
4357 if test x$gcc_cv_as != x; then
4358 # Check if we have .subsection
4359 echo ".subsection 1" > conftest.s
4360 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4361 gcc_cv_as_subsections=".subsection"
4362 if test -x nm$host_exeext; then
4363 gcc_cv_nm=./nm$host_exeext
4364 elif test x$host = x$target; then
4366 gcc_cv_nm=nm$host_exeext
4368 if test x$gcc_cv_nm != x; then
4369 cat > conftest.s <<EOF
4370 conftest_label1: .word 0
4372 conftest_label2: .word 0
4375 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4376 $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
4377 $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
4378 if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
4381 gcc_cv_as_subsections="working .subsection -1"
4382 AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1,
4383 [Define if your assembler supports .subsection and .subsection -1 starts
4384 emitting at the beginning of your section.])
4389 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4391 AC_MSG_RESULT($gcc_cv_as_subsections)
4393 AC_MSG_CHECKING(assembler weak support)
4395 if test x$gcc_cv_as != x; then
4396 # Check if we have .weak
4397 echo " .weak foobar" > conftest.s
4398 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4399 AC_DEFINE(HAVE_GAS_WEAK, 1,
4400 [Define if your assembler supports .weak.])
4401 gcc_cv_as_weak="yes"
4403 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4405 AC_MSG_RESULT($gcc_cv_as_weak)
4407 AC_MSG_CHECKING(assembler hidden support)
4409 if test x$gcc_cv_as != x; then
4410 # Check if we have .hidden
4411 echo " .hidden foobar" > conftest.s
4412 echo "foobar:" >> conftest.s
4413 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4414 AC_DEFINE(HAVE_GAS_HIDDEN, 1,
4415 [Define if your assembler supports .hidden.])
4416 gcc_cv_as_hidden="yes"
4418 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4420 AC_MSG_RESULT($gcc_cv_as_hidden)
4424 AC_CACHE_CHECK([assembler .register pseudo-op support],
4425 gcc_cv_as_register_pseudo_op, [
4426 gcc_cv_as_register_pseudo_op=unknown
4427 if test x$gcc_cv_as != x; then
4428 # Check if we have .register
4429 echo ".register %g2, #scratch" > conftest.s
4430 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4431 gcc_cv_as_register_pseudo_op=yes
4433 gcc_cv_as_register_pseudo_op=no
4435 rm -f conftest.s conftest.o
4438 if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
4439 AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
4440 [Define if your assembler supports .register.])
4445 AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
4446 gcc_cv_as_flags64, [
4447 if test -n "$gcc_cv_as"; then
4448 echo ".xword foo" > conftest.s
4449 gcc_cv_as_flags64=no
4450 for flag in "-xarch=v9" "-64 -Av9"; do
4451 if $gcc_cv_as $flag -o conftest.o conftest.s \
4452 > /dev/null 2>&1; then
4453 gcc_cv_as_flags64=$flag
4457 rm -f conftest.s conftest.o
4459 if test "$gas" = yes; then
4460 gcc_cv_as_flags64="-64 -Av9"
4462 gcc_cv_as_flags64="-xarch=v9"
4466 if test "x$gcc_cv_as_flags64" = xno; then
4468 tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
4469 dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
4472 AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64",
4473 [Define if the assembler supports 64bit sparc.])
4476 *) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
4480 if test "x$gcc_cv_as_flags64" != xno; then
4481 AC_CACHE_CHECK([for assembler offsetable %lo() support],
4482 gcc_cv_as_offsetable_lo10, [
4483 gcc_cv_as_offsetable_lo10=unknown
4484 if test "x$gcc_cv_as" != x; then
4485 # Check if assembler has offsetable %lo()
4486 echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
4487 echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
4488 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
4490 $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
4491 > /dev/null 2>&1; then
4492 if cmp conftest.o conftest1.o > /dev/null 2>&1; then
4493 gcc_cv_as_offsetable_lo10=no
4495 gcc_cv_as_offsetable_lo10=yes
4498 gcc_cv_as_offsetable_lo10=no
4500 rm -f conftest.s conftest.o conftest1.s conftest1.o
4503 if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
4504 AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
4505 [Define if your assembler supports offsetable %lo().])
4513 AC_MSG_CHECKING(assembler instructions)
4514 gcc_cv_as_instructions=
4515 if test x$gcc_cv_as != x; then
4516 set "filds fists" "filds mem; fists mem"
4519 echo "$2" > conftest.s
4520 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4521 gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
4522 AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$1" | tr '[a-z ]' '[A-Z_]'`)
4526 rm -f conftest.s conftest.o
4528 AC_MSG_RESULT($gcc_cv_as_instructions)
4532 # Figure out what language subdirectories are present.
4533 # Look if the user specified --enable-languages="..."; if not, use
4534 # the environment variable $LANGUAGES if defined. $LANGUAGES might
4536 if test x"${enable_languages+set}" != xset; then
4537 if test x"${LANGUAGES+set}" = xset; then
4538 enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
4540 enable_languages=all
4544 for lang in ${srcdir}/*/config-lang.in ..
4548 # The odd quoting in the next line works around
4549 # an apparent bug in bash 1.12 on linux.
4551 ${srcdir}/[*]/config-lang.in) ;;
4553 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
4554 if test "x$lang_alias" = x
4556 echo "$lang doesn't set \$language." 1>&2
4559 if test x"${enable_languages}" = xall; then
4562 case "${enable_languages}" in
4563 ${lang_alias} | "${lang_alias},"* | *",${lang_alias},"* | *",${lang_alias}" )
4571 if test x"${add_this_lang}" = xyes; then
4573 ${srcdir}/ada/config-lang.in)
4574 if test x$gnat = xyes ; then
4575 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4579 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4588 # Make gthr-default.h if we have a thread file.
4590 if test $thread_file != single; then
4591 rm -f gthr-default.h
4592 echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
4593 gthread_flags=-DHAVE_GTHR_DEFAULT
4595 AC_SUBST(gthread_flags)
4597 # Find out what GC implementation we want, or may, use.
4599 [ --with-gc={simple,page} Choose the garbage collection mechanism to use
4600 with the compiler.],
4606 AC_MSG_ERROR([$withval is an invalid option to --with-gc])
4609 [if test $ac_cv_func_mmap_anywhere = yes \
4610 || test $ac_cv_func_valloc = yes; then
4616 echo "Using $GGC for garbage collection."
4618 # Build a new-abi (c++) system
4619 AC_ARG_ENABLE(new-gxx-abi,
4620 [ --enable-new-gxx-abi
4621 select the new abi for g++. You must select an ABI
4622 at configuration time, so that the correct runtime
4623 support is built. You cannot mix ABIs.],
4624 [AC_DEFINE(ENABLE_NEW_GXX_ABI, 1,
4625 [Define if you want to always select the new-abi for g++.])
4626 GXX_ABI_FLAG='-fnew-abi'
4627 echo "Building a new-abi g++ compiler."
4629 AC_SUBST(GXX_ABI_FLAG)
4631 # Build a new-libstdc++ system (ie libstdc++-v3)
4632 AC_MSG_CHECKING([for libstdc++ to install])
4633 AC_ARG_ENABLE(libstdcxx-v3,
4634 [ --enable-libstdcxx-v3
4635 enable libstdc++-v3 for building and installation],
4636 [enable_libstdcxx_v3=yes], [enable_libstdcxx_v3=no])
4638 if test x$enable_libstdcxx_v3 = xyes; then
4645 AC_DEFINE_UNQUOTED(ENABLE_STD_NAMESPACE, $ac_esn,
4646 [Define to 1 if you want to enable namespaces (-fhonor-std) by default.])
4648 # Make empty files to contain the specs and options for each language.
4649 # Then add #include lines to for a compiler that has specs and/or options.
4654 rm -f specs.h options.h gencheck.h
4655 touch specs.h options.h gencheck.h
4656 for subdir in . $subdirs
4658 if test -f $srcdir/$subdir/lang-specs.h; then
4659 echo "#include \"$subdir/lang-specs.h\"" >>specs.h
4660 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
4662 if test -f $srcdir/$subdir/lang-options.h; then
4663 echo "#include \"$subdir/lang-options.h\"" >>options.h
4664 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
4666 if test -f $srcdir/$subdir/$subdir-tree.def; then
4667 echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
4668 lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
4672 # These (without "all_") are set in each config-lang.in.
4673 # `language' must be a single word so is spelled singularly.
4679 all_outputs='Makefile intl/Makefile po/Makefile.in fixinc/Makefile gccbug'
4680 # List of language makefile fragments.
4685 # Add the language fragments.
4686 # Languages are added via two mechanisms. Some information must be
4687 # recorded in makefile variables, these are defined in config-lang.in.
4688 # We accumulate them and plug them into the main Makefile.
4689 # The other mechanism is a set of hooks for each of the main targets
4690 # like `clean', `install', etc.
4692 language_fragments="Make-lang"
4693 language_hooks="Make-hooks"
4696 for s in .. $subdirs
4708 . ${srcdir}/$s/config-lang.in
4709 if test "x$language" = x
4711 echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
4714 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
4715 all_languages="$all_languages $language"
4716 if test "x$boot_language" = xyes
4718 all_boot_languages="$all_boot_languages $language"
4720 all_compilers="$all_compilers $compilers"
4721 all_stagestuff="$all_stagestuff $stagestuff"
4722 all_diff_excludes="$all_diff_excludes $diff_excludes"
4723 all_headers="$all_headers $headers"
4724 all_outputs="$all_outputs $outputs"
4725 if test x$outputs = x
4727 oldstyle_subdirs="$oldstyle_subdirs $s"
4729 all_lib2funcs="$all_lib2funcs $lib2funcs"
4733 # Since we can't use `::' targets, we link each language in
4734 # with a set of hooks, reached indirectly via lang.${target}.
4738 target_list="all.build all.cross start.encap rest.encap \
4740 install-normal install-common install-info install-man \
4742 mostlyclean clean distclean extraclean maintainer-clean \
4743 stage1 stage2 stage3 stage4"
4744 for t in $target_list
4747 for lang in .. $all_languages
4749 if test $lang != ".."; then
4753 echo "lang.$t: $x" >> Make-hooks
4756 # If we're not building in srcdir, create .gdbinit.
4758 if test ! -f Makefile.in; then
4759 echo "dir ." > .gdbinit
4760 echo "dir ${srcdir}" >> .gdbinit
4761 if test x$gdb_needs_out_file_path = xyes
4763 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
4765 if test "x$subdirs" != x; then
4768 echo "dir ${srcdir}/$s" >> .gdbinit
4771 echo "source ${srcdir}/.gdbinit" >> .gdbinit
4774 # Define variables host_canonical and build_canonical
4775 # because some Cygnus local changes in the Makefile depend on them.
4776 build_canonical=${build}
4777 host_canonical=${host}
4779 if test "${host}" != "${target}" ; then
4780 target_subdir=${target}/
4782 AC_SUBST(build_canonical)
4783 AC_SUBST(host_canonical)
4784 AC_SUBST(target_subdir)
4786 # If this is using newlib, then define inhibit_libc in
4787 # LIBGCC2_CFLAGS. This will cause __eprintf to be left out of
4788 # libgcc.a, but that's OK because newib should have its own version of
4791 if test x$with_newlib = xyes; then
4792 inhibit_libc=-Dinhibit_libc
4794 AC_SUBST(inhibit_libc)
4796 # If $(exec_prefix) exists and is not the same as $(prefix), then compute an
4797 # absolute path for gcc_tooldir based on inserting the number of up-directory
4798 # movements required to get from $(exec_prefix) to $(prefix) into the basic
4799 # $(libsubdir)/@(unlibsubdir) based path.
4800 # Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
4801 # make and thus we'd get different behavior depending on where we built the
4803 if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
4804 gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
4806 changequote(<<, >>)dnl
4807 # An explanation of the sed strings:
4808 # -e 's|^\$(prefix)||' matches and eliminates 'prefix' from 'exec_prefix'
4809 # -e 's|/$||' match a trailing forward slash and eliminates it
4810 # -e 's|^[^/]|/|' forces the string to start with a forward slash (*)
4811 # -e 's|/[^/]*|../|g' replaces each occurance of /<directory> with ../
4813 # (*) Note this pattern overwrites the first character of the string
4814 # with a forward slash if one is not already present. This is not a
4815 # problem because the exact names of the sub-directories concerned is
4816 # unimportant, just the number of them matters.
4818 # The practical upshot of these patterns is like this:
4820 # prefix exec_prefix result
4821 # ------ ----------- ------
4823 # /foo/ /foo/bar ../
4824 # /foo /foo/bar/ ../
4825 # /foo/ /foo/bar/ ../
4826 # /foo /foo/bar/ugg ../../
4829 gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
4830 changequote([, ])dnl
4832 AC_SUBST(gcc_tooldir)
4835 # Nothing to do for FLOAT_H, float_format already handled.
4839 # Process the language and host/target makefile fragments.
4840 ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
4842 # Substitute configuration variables
4844 AC_SUBST(all_boot_languages)
4845 AC_SUBST(all_compilers)
4846 AC_SUBST(all_diff_excludes)
4847 AC_SUBST(all_headers)
4848 AC_SUBST(all_lang_makefiles)
4849 AC_SUBST(all_languages)
4850 AC_SUBST(all_lib2funcs)
4851 AC_SUBST(all_stagestuff)
4852 AC_SUBST(build_exeext)
4853 AC_SUBST(build_install_headers_dir)
4854 AC_SUBST(build_xm_file_list)
4855 AC_SUBST(cc_set_by_configure)
4856 AC_SUBST(quoted_cc_set_by_configure)
4857 AC_SUBST(cpp_install_dir)
4858 AC_SUBST(dep_host_xmake_file)
4859 AC_SUBST(dep_tmake_file)
4860 AC_SUBST(extra_c_flags)
4861 AC_SUBST(extra_c_objs)
4862 AC_SUBST(extra_cpp_objs)
4863 AC_SUBST(extra_cxx_objs)
4864 AC_SUBST(extra_headers_list)
4865 AC_SUBST(extra_objs)
4866 AC_SUBST(extra_parts)
4867 AC_SUBST(extra_passes)
4868 AC_SUBST(extra_programs)
4869 AC_SUBST(float_h_file)
4870 AC_SUBST(gcc_gxx_include_dir)
4871 AC_SUBST(gcc_version)
4872 AC_SUBST(gcc_version_trigger)
4873 AC_SUBST(host_exeext)
4874 AC_SUBST(host_extra_gcc_objs)
4875 AC_SUBST(host_xm_file_list)
4877 AC_SUBST(lang_options_files)
4878 AC_SUBST(lang_specs_files)
4879 AC_SUBST(lang_tree_files)
4880 AC_SUBST(local_prefix)
4881 AC_SUBST(maybe_use_collect2)
4883 AC_SUBST(objc_boehm_gc)
4885 AC_SUBST(out_object_file)
4886 AC_SUBST(stage_prefix_set_by_configure)
4887 AC_SUBST(symbolic_link)
4888 AC_SUBST(thread_file)
4889 AC_SUBST(tm_file_list)
4890 AC_SUBST(will_use_collect2)
4893 AC_SUBST_FILE(target_overrides)
4894 AC_SUBST_FILE(host_overrides)
4895 AC_SUBST(cross_defines)
4896 AC_SUBST_FILE(cross_overrides)
4897 AC_SUBST_FILE(build_overrides)
4898 AC_SUBST_FILE(language_fragments)
4899 AC_SUBST_FILE(language_hooks)
4901 # Echo that links are built
4902 if test x$host = x$target
4910 if test x$host != x$build
4912 str3=" on a $build system"
4915 if test "x$str2" != x || test "x$str3" != x
4920 echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
4922 if test "x$str2" != x || test "x$str3" != x
4924 echo " ${str2}${str3}." 1>&2
4927 # Truncate the target if necessary
4928 if test x$host_truncate_target != x; then
4929 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
4932 # Configure the subdirectories
4933 # AC_CONFIG_SUBDIRS($subdirs)
4935 # Create the Makefile
4936 # and configure language subdirectories
4937 AC_OUTPUT($all_outputs,
4939 . $srcdir/configure.lang
4940 case x$CONFIG_HEADERS in
4941 xauto-host.h:config.in)
4944 # If the host supports symlinks, point stage[1234] at ../stage[1234] so
4945 # bootstrapping and the installation procedure can still use
4946 # CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
4947 # FLAGS_TO_PASS has been modified to solve the problem there.
4948 # This is virtually a duplicate of what happens in configure.lang; we do
4949 # an extra check to make sure this only happens if ln -s can be used.
4950 if test "$symbolic_link" = "ln -s"; then
4951 for d in .. ${subdirs} ; do
4952 if test $d != ..; then
4955 for t in stage1 stage2 stage3 stage4 include
4958 $symbolic_link ../$t $t 2>/dev/null
4964 # Avoid having to add intl to our include paths.
4965 if test -f intl/libintl.h; then
4966 echo creating libintl.h
4967 echo '#include "intl/libintl.h"' >libintl.h
4974 target_alias='${target_alias}'
4976 subdirs='${subdirs}'
4977 oldstyle_subdirs='${oldstyle_subdirs}'
4978 symbolic_link='${symbolic_link}'
4979 program_transform_set='${program_transform_set}'
4980 program_transform_name='${program_transform_name}'
4981 dep_host_xmake_file='${dep_host_xmake_file}'
4982 host_xmake_file='${host_xmake_file}'
4983 dep_tmake_file='${dep_tmake_file}'
4984 tmake_file='${tmake_file}'
4985 thread_file='${thread_file}'
4986 gcc_version='${gcc_version}'
4987 gcc_version_trigger='${gcc_version_trigger}'
4988 local_prefix='${local_prefix}'
4989 build_install_headers_dir='${build_install_headers_dir}'
4990 build_exeext='${build_exeext}'
4991 host_exeext='${host_exeext}'
4992 out_file='${out_file}'
4993 gdb_needs_out_file_path='${gdb_needs_out_file_path}'
4994 SET_MAKE='${SET_MAKE}'
4995 target_list='${target_list}'
4996 target_overrides='${target_overrides}'
4997 host_overrides='${host_overrides}'
4998 cross_defines='${cross_defines}'
4999 cross_overrides='${cross_overrides}'
5000 build_overrides='${build_overrides}'
5001 cpp_install_dir='${cpp_install_dir}'