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 gcc_AC_NEED_DECLARATIONS(bcopy bzero bcmp \
450 index rindex getenv atol sbrk abort atof getcwd getwd \
451 strsignal putc_unlocked fputs_unlocked strstr environ)
453 gcc_AC_NEED_DECLARATIONS(malloc realloc calloc free, [
459 gcc_AC_NEED_DECLARATIONS(getrlimit setrlimit getrusage, [
460 #include <sys/types.h>
461 #ifdef HAVE_SYS_RESOURCE_H
462 #include <sys/resource.h>
466 # mkdir takes a single argument on some systems.
467 gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
477 build_install_headers_dir=install-headers-tar
482 host_truncate_target=
485 # Decode the host machine, then the target machine.
486 # For the host machine, we save the xm_file variable as host_xm_file;
487 # then we decode the target machine and forget everything else
488 # that came from the host machine.
489 for machine in $build $host $target; do
503 # Set this to force installation and use of collect2.
505 # Set this to override the default target model.
507 # Set this to control how the header file directory is installed.
508 install_headers_dir=install-headers-tar
509 # Set this to a non-empty list of args to pass to cpp if the target
510 # wants its .md file passed through cpp.
512 # Set this if directory names should be truncated to 14 characters.
514 # Set this if gdb needs a dir command with `dirname $out_file`
515 gdb_needs_out_file_path=
516 # Set this if the build machine requires executables to have a
519 # Set this to control which thread package will be used.
521 # Reinitialize these from the flag values every loop pass, since some
522 # configure entries modify them.
524 gnu_ld="$gnu_ld_flag"
525 enable_threads=$enable_threads_flag
527 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
528 # updated in each machine entry.
530 cpu_type=`echo $machine | sed 's/-.*$//'`
569 tm_file=${cpu_type}/${cpu_type}.h
570 xm_file=${cpu_type}/xm-${cpu_type}.h
571 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h;
573 tm_p_file=${cpu_type}/${cpu_type}-protos.h;
575 # On a.out targets, we need to use collect2.
582 # Common parts for linux-gnu and openbsd systems
585 xm_defines="HAVE_ATEXIT POSIX BSTRING"
588 tm_file=${cpu_type}/openbsd.h
589 tmake_file="t-libc-ok t-openbsd"
590 # avoid surprises, always provide an xm-openbsd file
591 xm_file=${cpu_type}/xm-openbsd.h
592 # don't depend on processor x-fragments as well
594 if test x$enable_threads = xyes; then
596 tmake_file="${tmake_file} t-openbsd-thread"
602 # Support site-specific machine types.
604 cpu_type=`echo $machine | sed -e 's/-.*//'`
605 rest=`echo $machine | sed -e "s/$cpu_type-//"`
606 xm_file=${cpu_type}/xm-$rest.h
607 tm_file=${cpu_type}/$rest.h
608 if test -f $srcdir/config/${cpu_type}/x-$rest; \
609 then xmake_file=${cpu_type}/x-$rest; \
612 if test -f $srcdir/config/${cpu_type}/t-$rest; \
613 then tmake_file=${cpu_type}/t-$rest; \
619 a29k-*-bsd* | a29k-*-sym1*)
620 tm_file="${tm_file} a29k/unix.h"
622 xmake_file=a29k/x-unix
625 a29k-*-udi | a29k-*-coff)
626 tm_file="${tm_file} dbxcoff.h a29k/udi.h"
627 tmake_file=a29k/t-a29kbare
630 tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
631 tmake_file=a29k/t-vx29k
632 extra_parts="crtbegin.o crtend.o"
633 thread_file='vxworks'
635 a29k-*-*) # Default a29k environment.
639 tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"
641 # GAS + IEEE_CONFORMANT+IEEE (no inexact);
642 #target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT|MASK_IEEE"
644 # GAS + IEEE_CONFORMANT
645 target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
647 xm_file="alpha/xm-alpha-interix.h xm-interix.h"
648 xmake_file="x-interix alpha/t-pe"
649 tmake_file="alpha/t-alpha alpha/t-interix alpha/t-ieee"
650 if test x$enable_threads = xyes ; then
653 if test x$stabs = xyes ; then
654 tm_file="${tm_file} dbxcoff.h"
656 #prefix='$$INTERIX_ROOT'/usr/contrib
657 #local_prefix='$$INTERIX_ROOT'/usr/contrib
659 alpha*-*-linux-gnuecoff*)
660 tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
661 target_cpu_default="MASK_GAS"
662 tmake_file="alpha/t-alpha alpha/t-ieee"
667 alpha*-*-linux-gnulibc1*)
668 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
669 target_cpu_default="MASK_GAS"
670 tmake_file="t-linux t-linux-gnulibc1 alpha/t-alpha alpha/t-linux alpha/t-crtbe alpha/t-ieee"
671 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
674 if test x$enable_threads = xyes; then
679 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
680 target_cpu_default="MASK_GAS"
681 tmake_file="t-linux alpha/t-linux alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
682 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
685 if test x$enable_threads = xyes; then
690 tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
691 target_cpu_default="MASK_GAS"
692 tmake_file="alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
693 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
699 # default x-alpha is only appropriate for dec-osf.
700 target_cpu_default="MASK_GAS"
701 tmake_file="alpha/t-alpha alpha/t-ieee"
705 if test x$stabs = xyes
707 tm_file="${tm_file} dbx.h"
709 if test x$gas != xyes
711 extra_passes="mips-tfile mips-tdump"
714 tmake_file="alpha/t-alpha alpha/t-ieee"
717 tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
722 tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
725 tm_file="${tm_file} alpha/osf.h"
726 # Some versions of OSF4 (specifically X4.0-9 296.7) have
727 # a broken tar, so we use cpio instead.
728 install_headers_dir=install-headers-cpio
731 tm_file="${tm_file} alpha/osf.h alpha/osf5.h"
736 *-*-osf4.0[b-z] | *-*-osf4.[1-9]* | *-*-osf5*)
738 target_cpu_default=MASK_SUPPORT_ARCH
743 tm_file="${tm_file} dbx.h alpha/vxworks.h"
744 tmake_file="alpha/t-alpha alpha/t-ieee"
747 extra_passes="mips-tfile mips-tdump"
750 thread_file='vxworks'
753 tm_file="${tm_file} alpha/alpha32.h alpha/win-nt.h winnt/win-nt.h"
754 xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
755 tmake_file="t-libc-ok alpha/t-alpha alpha/t-ieee"
756 xmake_file=winnt/x-winnt
757 extra_host_objs=oldnames.o
758 extra_gcc_objs="spawnv.o oldnames.o"
759 if test x$gnu_ld != xyes
761 extra_programs=ld.exe
763 if test x$enable_threads = xyes; then
769 xm_file="${xm_file} alpha/xm-vms.h"
770 tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
773 extra_parts="crtinit.o crtfini.o"
775 arm-*-coff* | armel-*-coff*)
777 tmake_file=arm/t-arm-coff
781 tmake_file=arm/t-arm-coff
782 thread_file='vxworks'
785 arm-*-riscix1.[01]*) # Acorn RISC machine (early versions)
787 tm_file=arm/riscix1-1.h
790 arm-*-riscix*) # Acorn RISC machine
793 tm_file=arm/rix-gas.h
797 xmake_file=arm/x-riscix
798 tmake_file=arm/t-riscix
801 arm-semi-aout | armel-semi-aout)
803 tmake_file=arm/t-semi
805 arm-semi-aof | armel-semi-aof)
806 tm_file=arm/semiaof.h
807 tmake_file=arm/t-semiaof
811 tmake_file="t-netbsd arm/t-netbsd"
814 arm*-*-linux-gnuaout*) # ARM GNU/Linux with a.out
817 tm_file=arm/linux-aout.h
818 tmake_file=arm/t-linux
821 arm*-*-linux-gnuoldld*) # ARM GNU/Linux with old ELF linker
822 xm_file=arm/xm-linux.h
824 tm_file="arm/linux-oldld.h arm/linux-elf.h"
827 tm_file="arm/linux-elf26.h $tm_file"
830 tmake_file="t-linux arm/t-linux"
831 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
833 case x${enable_threads} in
834 x | xyes | xpthreads | xposix)
839 arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
840 xm_file=arm/xm-linux.h
842 tm_file="arm/linux-elf.h"
845 tm_file="arm/linux-elf26.h $tm_file"
848 tmake_file="t-linux arm/t-linux"
849 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
851 case x${enable_threads} in
852 x | xyes | xpthreads | xposix)
857 arm*-*-uclinux*) # ARM ucLinux
858 tm_file=arm/uclinux-elf.h
859 tmake_file=arm/t-arm-elf
863 tmake_file=arm/t-arm-aout
866 tm_file=arm/ecos-elf.h
867 tmake_file=arm/t-arm-elf
870 tm_file=arm/unknown-elf.h
871 tmake_file=arm/t-arm-elf
874 tm_file=arm/conix-elf.h
875 tmake_file=arm/t-arm-elf
878 tm_file=arm/unknown-elf-oabi.h
879 tmake_file=arm/t-arm-elf
888 c1-convex-*) # Convex C1
892 c2-convex-*) # Convex C2
905 target_cpu_default=16
912 clipper-intergraph-clix*)
913 tm_file="${tm_file} svr3.h clipper/clix.h"
914 xm_file=clipper/xm-clix.h
915 xmake_file=clipper/x-clix
916 extra_headers=va-clipper.h
917 extra_parts="crtbegin.o crtend.o"
918 install_headers_dir=install-headers-cpio
926 tm_file="fr30/fr30.h"
927 tmake_file=fr30/t-fr30
928 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
930 # This hasn't been upgraded to GCC 2.
931 # fx80-alliant-*) # Alliant FX/80
937 target_cpu_default="(MASK_PA_11 | MASK_GAS | MASK_JUMP_IN_DELAY)"
938 tm_file="${tm_file} pa/elf.h linux.h pa/pa-linux.h"
939 tmake_file="t-linux pa/t-linux"
940 extra_parts="crtbegin.o crtend.o"
943 if test x$enable_threads = xyes; then
948 target_cpu_default="MASK_PA_11"
949 tmake_file=pa/t-openbsd
952 target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
953 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
954 xm_file=pa/xm-papro.h
958 target_cpu_default="MASK_PA_11"
959 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
963 target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
964 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
965 xm_file=pa/xm-papro.h
969 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
973 tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
974 target_cpu_default="MASK_PA_11"
978 tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
982 tm_file="pa/pa-oldas.h ${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux7.h"
983 xm_file=pa/xm-pahpux.h
984 xmake_file=pa/x-pa-hpux
987 tm_file="${tm_file} pa/gas.h"
989 install_headers_dir=install-headers-cpio
993 hppa1.0-*-hpux8.0[0-2]*)
995 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
996 xm_file=pa/xm-pahpux.h
997 xmake_file=pa/x-pa-hpux
1000 tm_file="${tm_file} pa/pa-gas.h"
1002 tm_file="pa/pa-oldas.h ${tm_file}"
1004 install_headers_dir=install-headers-cpio
1008 hppa1.1-*-hpux8.0[0-2]*)
1010 target_cpu_default="MASK_PA_11"
1011 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1012 xm_file=pa/xm-pahpux.h
1013 xmake_file=pa/x-pa-hpux
1014 if test x$gas = xyes
1016 tm_file="${tm_file} pa/pa-gas.h"
1018 tm_file="pa/pa-oldas.h ${tm_file}"
1020 install_headers_dir=install-headers-cpio
1024 target_cpu_default="MASK_PA_11"
1025 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1026 xm_file=pa/xm-pahpux.h
1027 xmake_file=pa/x-pa-hpux
1028 if test x$gas = xyes
1030 tm_file="${tm_file} pa/pa-gas.h"
1032 install_headers_dir=install-headers-cpio
1036 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1037 xm_file=pa/xm-pahpux.h
1038 xmake_file=pa/x-pa-hpux
1039 if test x$gas = xyes
1041 tm_file="${tm_file} pa/pa-gas.h"
1043 install_headers_dir=install-headers-cpio
1046 hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
1047 target_cpu_default="MASK_PA_11"
1048 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
1050 xm_file=pa/xm-pahpux.h
1051 xmake_file=pa/x-pa-hpux
1053 if test x$gas = xyes
1055 tm_file="${tm_file} pa/pa-gas.h"
1057 if test x$enable_threads = x; then
1058 enable_threads=$have_pthread_h
1060 if test x$enable_threads = xyes; then
1062 tmake_file="${tmake_file} pa/t-dce-thr"
1064 install_headers_dir=install-headers-cpio
1068 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
1070 xm_file=pa/xm-pahpux.h
1071 xmake_file=pa/x-pa-hpux
1073 if test x$gas = xyes
1075 tm_file="${tm_file} pa/pa-gas.h"
1077 if test x$enable_threads = x; then
1078 enable_threads=$have_pthread_h
1080 if test x$enable_threads = xyes; then
1082 tmake_file="${tmake_file} pa/t-dce-thr"
1084 install_headers_dir=install-headers-cpio
1087 hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
1088 target_cpu_default="MASK_PA_11"
1089 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
1091 xm_file=pa/xm-pahpux.h
1092 xmake_file=pa/x-pa-hpux
1094 if test x$gas = xyes
1096 tm_file="${tm_file} pa/pa-gas.h"
1098 # if test x$enable_threads = x; then
1099 # enable_threads=$have_pthread_h
1101 # if test x$enable_threads = xyes; then
1103 # tmake_file="${tmake_file} pa/t-dce-thr"
1105 install_headers_dir=install-headers-cpio
1109 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
1111 xm_file=pa/xm-pahpux.h
1112 xmake_file=pa/x-pa-hpux
1113 if test x$gas = xyes
1115 tm_file="${tm_file} pa/pa-gas.h"
1117 # if test x$enable_threads = x; then
1118 # enable_threads=$have_pthread_h
1120 # if test x$enable_threads = xyes; then
1122 # tmake_file="${tmake_file} pa/t-dce-thr"
1124 install_headers_dir=install-headers-cpio
1127 hppa1.1-*-hpux* | hppa2*-*-hpux*)
1128 target_cpu_default="MASK_PA_11"
1129 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1130 xm_file=pa/xm-pahpux.h
1131 xmake_file=pa/x-pa-hpux
1132 if test x$gas = xyes
1134 tm_file="${tm_file} pa/pa-gas.h"
1136 install_headers_dir=install-headers-cpio
1140 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1141 xm_file=pa/xm-pahpux.h
1142 xmake_file=pa/x-pa-hpux
1143 if test x$gas = xyes
1145 tm_file="${tm_file} pa/pa-gas.h"
1147 install_headers_dir=install-headers-cpio
1150 hppa1.1-*-hiux* | hppa2*-*-hiux*)
1151 target_cpu_default="MASK_PA_11"
1152 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1153 xm_file=pa/xm-pahpux.h
1154 xmake_file=pa/x-pa-hpux
1155 if test x$gas = xyes
1157 tm_file="${tm_file} pa/pa-gas.h"
1159 install_headers_dir=install-headers-cpio
1163 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1164 xm_file=pa/xm-pahpux.h
1165 xmake_file=pa/x-pa-hpux
1166 if test x$gas = xyes
1168 tm_file="${tm_file} pa/pa-gas.h"
1170 install_headers_dir=install-headers-cpio
1174 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h"
1175 target_cpu_default="MASK_PA_11"
1179 tm_file="${tm_file} pa/pa-mpeix.h"
1180 xm_file=pa/xm-pampeix.h
1181 xmake_file=pa/x-pa-mpeix
1182 echo "You must use gas. Assuming it is already installed."
1183 install_headers_dir=install-headers-tar
1186 i370-*-opened*) # IBM 360/370/390 Architecture
1187 xm_file=i370/xm-oe.h
1189 xmake_file=i370/x-oe
1190 tmake_file=i370/t-oe
1193 xm_file=i370/xm-mvs.h
1195 tmake_file=i370/t-mvs
1198 xm_file="xm-linux.h i370/xm-linux.h"
1200 tm_file="i370/linux.h ${tm_file}"
1201 tmake_file="t-linux i370/t-linux"
1202 # broken_install=yes
1203 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1204 # extra_parts="crtbegin.o crtend.o"
1208 if test x$enable_threads = xyes; then
1215 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
1216 tm_file=i386/i386elf.h
1217 tmake_file=i386/t-i386elf
1221 i[34567]86-ibm-aix*) # IBM PS/2 running AIX
1223 if test x$gas = xyes
1225 tm_file=i386/aix386.h
1226 extra_parts="crtbegin.o crtend.o"
1227 tmake_file=i386/t-crtstuff
1229 tm_file=i386/aix386ng.h
1232 xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
1234 xmake_file=i386/x-aix
1237 i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4
1239 xm_file="xm-alloca.h ${xm_file}"
1240 xm_defines="USG POSIX SMALL_ARG_MAX"
1241 xmake_file=i386/x-ncr3000
1242 if test x$stabs = xyes -a x$gas = xyes
1244 tm_file=i386/sysv4gdb.h
1246 tm_file=i386/sysv4.h
1248 extra_parts="crtbegin.o crtend.o"
1249 tmake_file=i386/t-crtpic
1255 xm_file=i386/xm-next.h
1256 tmake_file=i386/t-next
1257 xmake_file=i386/x-next
1258 extra_objs=nextstep.o
1259 extra_parts="crtbegin.o crtend.o"
1260 if test x$enable_threads = xyes; then
1265 i[34567]86-sequent-bsd*) # 80386 from Sequent
1268 if test x$gas = xyes
1270 tm_file=i386/seq-gas.h
1272 tm_file=i386/sequent.h
1276 i[34567]86-sequent-ptx1*)
1278 xm_defines="USG SVR3"
1279 xmake_file=i386/x-sysv3
1280 tm_file=i386/seq-sysv3.h
1281 tmake_file=i386/t-crtstuff
1282 extra_parts="crtbegin.o crtend.o"
1283 install_headers_dir=install-headers-cpio
1286 i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
1288 xm_defines="USG SVR3"
1289 xmake_file=i386/x-sysv3
1290 tm_file=i386/seq2-sysv3.h
1291 tmake_file=i386/t-crtstuff
1292 extra_parts="crtbegin.o crtend.o"
1293 install_headers_dir=install-headers-cpio
1296 i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
1298 xm_file="xm-alloca.h ${xm_file}"
1299 xm_defines="USG POSIX SMALL_ARG_MAX"
1301 tm_file=i386/ptx4-i.h
1303 extra_parts="crtbegin.o crtend.o"
1304 install_headers_dir=install-headers-cpio
1306 i386-sun-sunos*) # Sun i386 roadrunner
1312 i[34567]86-wrs-vxworks*)
1314 tm_file=i386/vxi386.h
1315 tmake_file=i386/t-i386bare
1316 thread_file='vxworks'
1321 tm_file=i386/i386-aout.h
1322 tmake_file=i386/t-i386bare
1325 i[34567]86-*-beospe*)
1327 xm_file=i386/xm-beos.h
1328 xm_defines="USE_C_ALLOCA"
1329 tmake_file=i386/t-beos
1330 tm_file=i386/beos-pe.h
1331 xmake_file=i386/x-beos
1335 i[34567]86-*-beoself* | i[34567]86-*-beos*)
1337 xm_file=i386/xm-beos.h
1338 tmake_file='i386/t-beos i386/t-crtpic'
1339 tm_file=i386/beos-elf.h
1340 xmake_file=i386/x-beos
1342 extra_parts='crtbegin.o crtend.o'
1345 i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
1347 tm_file=i386/bsd386.h
1348 # tmake_file=t-libc-ok
1353 tm_file=i386/386bsd.h
1354 # tmake_file=t-libc-ok
1355 # Next line turned off because both 386BSD and BSD/386 use GNU ld.
1359 i[34567]86-*-freebsdelf*)
1361 tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
1362 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1363 tmake_file=t-freebsd
1367 case x${enable_threads} in
1368 xyes | xpthreads | xposix)
1370 tmake_file="${tmake_file} t-freebsd-thread"
1375 i[34567]86-*-freebsd*)
1377 tm_file="i386/freebsd.h i386/perform.h"
1378 tmake_file=t-freebsd
1381 i[34567]86-*-netbsd*)
1383 tm_file=i386/netbsd.h
1388 i[34567]86-*-openbsd*)
1390 # we need collect2 until our bug is fixed...
1396 tm_file=i386/i386-coff.h
1397 tmake_file=i386/t-i386bare
1400 i[34567]86-*-isc*) # 80386 running ISC system
1402 xm_file="${xm_file} i386/xm-isc.h"
1403 xm_defines="USG SVR3"
1406 i[34567]86-*-isc[34]*)
1408 xmake_file=i386/x-isc3
1411 xmake_file=i386/x-isc
1414 if test x$gas = xyes -a x$stabs = xyes
1416 tm_file=i386/iscdbx.h
1417 tmake_file=i386/t-svr3dbx
1418 extra_parts="svr3.ifile svr3z.ifile"
1420 tm_file=i386/isccoff.h
1421 tmake_file=i386/t-crtstuff
1422 extra_parts="crtbegin.o crtend.o"
1424 install_headers_dir=install-headers-cpio
1427 i[34567]86-*-linux-gnuoldld*) # Intel 80386's running GNU/Linux
1428 changequote([,])dnl # with a.out format using
1430 xmake_file=x-linux-aout
1431 tmake_file="t-linux-aout i386/t-crtstuff"
1432 tm_file=i386/linux-oldld.h
1437 i[34567]86-*-linux-gnuaout*) # Intel 80386's running GNU/Linux
1438 changequote([,])dnl # with a.out format
1439 xmake_file=x-linux-aout
1440 tmake_file="t-linux-aout i386/t-crtstuff"
1441 tm_file=i386/linux-aout.h
1446 i[34567]86-*-linux-gnulibc1) # Intel 80386's running GNU/Linux
1447 changequote([,])dnl # with ELF format using the
1448 # GNU/Linux C library 5
1450 tm_file=i386/linux.h
1451 tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
1452 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1455 if test x$enable_threads = xyes; then
1456 thread_file='single'
1460 i[34567]86-*-linux-gnu*) # Intel 80386's running GNU/Linux
1461 changequote([,])dnl # with ELF format using glibc 2
1462 # aka GNU/Linux C library 6
1464 tm_file=i386/linux.h
1465 tmake_file="t-linux i386/t-crtstuff"
1466 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1469 if test x$enable_threads = xyes; then
1479 i[34567]86-go32-msdos | i[34567]86-*-go32*)
1481 echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
1485 i[34567]86-pc-msdosdjgpp*)
1487 xm_file=i386/xm-djgpp.h
1488 tm_file=i386/djgpp.h
1489 tmake_file=i386/t-djgpp
1490 xmake_file=i386/x-djgpp
1494 case $host in *pc-msdosdjgpp*)
1500 i[34567]86-moss-msdos* | i[34567]86-*-moss*)
1503 tmake_file=t-libc-ok
1508 i[34567]86-*-lynxos*)
1510 if test x$gas = xyes
1514 tm_file=i386/lynx-ng.h
1516 xm_file=i386/xm-lynx.h
1517 tmake_file=i386/t-i386bare
1524 # tmake_file=t-libc-ok
1528 i[34567]86-*-osfrose*) # 386 using OSF/rose
1530 if test x$elf = xyes
1532 tm_file=i386/osfelf.h
1535 tm_file=i386/osfrose.h
1538 xm_file="i386/xm-osf.h ${xm_file}"
1539 xmake_file=i386/x-osfrose
1540 tmake_file=i386/t-osf
1541 extra_objs=halfpic.o
1544 i[34567]86-go32-rtems*)
1547 xm_file=i386/xm-go32.h
1548 tm_file=i386/go32-rtems.h
1549 tmake_file="i386/t-go32 t-rtems"
1552 i[34567]86-*-rtemscoff*)
1555 tm_file=i386/rtems.h
1556 tmake_file="i386/t-i386bare t-rtems"
1559 i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
1562 tm_file=i386/rtemself.h
1563 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
1564 tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
1567 i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
1569 xm_file="xm-alloca.h ${xm_file} i386/xm-sco5.h"
1570 xm_defines="USG SVR3"
1571 xmake_file=i386/x-sco5
1572 install_headers_dir=install-headers-cpio
1574 if test x$gas = xyes
1576 tm_file="i386/sco5gas.h ${tm_file}"
1577 tmake_file=i386/t-sco5gas
1579 tmake_file=i386/t-sco5
1581 extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
1584 i[34567]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system
1586 xm_file="${xm_file} i386/xm-sco.h"
1587 xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX"
1588 xmake_file=i386/x-sco4
1589 install_headers_dir=install-headers-cpio
1590 if test x$stabs = xyes
1592 tm_file=i386/sco4dbx.h
1593 tmake_file=i386/t-svr3dbx
1594 extra_parts="svr3.ifile svr3z.rfile"
1597 tmake_file=i386/t-crtstuff
1598 extra_parts="crtbegin.o crtend.o"
1600 # The default EAFS filesystem supports long file names.
1601 # Truncating the target makes $host != $target which
1602 # makes gcc think it is doing a cross-compile.
1603 # truncate_target=yes
1606 i[34567]86-*-sco*) # 80386 running SCO system
1608 xm_file=i386/xm-sco.h
1609 xmake_file=i386/x-sco
1610 install_headers_dir=install-headers-cpio
1611 if test x$stabs = xyes
1613 tm_file=i386/scodbx.h
1614 tmake_file=i386/t-svr3dbx
1615 extra_parts="svr3.ifile svr3z.rfile"
1618 extra_parts="crtbegin.o crtend.o"
1619 tmake_file=i386/t-crtstuff
1624 i[34567]86-*-solaris2*)
1626 xm_file="xm-alloca.h ${xm_file}"
1627 xm_defines="USG POSIX SMALL_ARG_MAX"
1629 if test x$gas = xyes; then
1630 # Only needed if gas does not support -s
1631 tm_file="i386/sol2gas.h ${tm_file}"
1633 tmake_file=i386/t-sol2
1634 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
1636 if test x${enable_threads} = x; then
1637 enable_threads=$have_pthread_h
1638 if test x${enable_threads} = x; then
1639 enable_threads=$have_thread_h
1642 if test x${enable_threads} = xyes; then
1643 if test x${have_pthread_h} = xyes; then
1646 thread_file='solaris'
1651 i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
1653 xm_file="xm-alloca.h ${xm_file}"
1654 xm_defines="USG POSIX"
1655 tm_file=i386/sysv5.h
1656 if test x$stabs = xyes
1658 tm_file="${tm_file} dbx.h"
1660 tmake_file=i386/t-crtpic
1662 extra_parts="crtbegin.o crtend.o"
1663 if test x$enable_threads = xyes; then
1668 i[34567]86-*-sysv4*) # Intel 80386's running system V.4
1670 xm_file="xm-alloca.h ${xm_file}"
1671 xm_defines="USG POSIX SMALL_ARG_MAX"
1672 tm_file=i386/sysv4.h
1673 if test x$stabs = xyes
1675 tm_file="${tm_file} dbx.h"
1677 tmake_file=i386/t-crtpic
1679 extra_parts="crtbegin.o crtend.o"
1682 i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit
1684 xm_file="xm-alloca.h ${xm_file}"
1685 xm_defines="USG POSIX"
1687 tmake_file="i386/t-crtpic i386/t-udk"
1689 extra_parts="crtbegin.o crtend.o"
1690 install_headers_dir=install-headers-cpio
1693 i[34567]86-*-osf1*) # Intel 80386's running OSF/1 1.3+
1696 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h i386/xm-osf1elf.h"
1697 xm_defines="USE_C_ALLOCA SMALL_ARG_MAX"
1698 if test x$stabs = xyes
1700 tm_file=i386/osf1elfgdb.h
1702 tm_file=i386/osf1elf.h
1704 tmake_file=i386/t-osf1elf
1705 xmake_file=i386/x-osf1elf
1706 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
1709 i[34567]86-*-sysv*) # Intel 80386's running system V
1711 xm_defines="USG SVR3"
1712 xmake_file=i386/x-sysv3
1713 if test x$gas = xyes
1715 if test x$stabs = xyes
1717 tm_file=i386/svr3dbx.h
1718 tmake_file=i386/t-svr3dbx
1719 extra_parts="svr3.ifile svr3z.rfile"
1721 tm_file=i386/svr3gas.h
1722 extra_parts="crtbegin.o crtend.o"
1723 tmake_file=i386/t-crtstuff
1726 tm_file=i386/sysv3.h
1727 extra_parts="crtbegin.o crtend.o"
1728 tmake_file=i386/t-crtstuff
1731 i386-*-vsta) # Intel 80386's running VSTa kernel
1732 xm_file="${xm_file} i386/xm-vsta.h"
1734 tmake_file=i386/t-vsta
1735 xmake_file=i386/x-vsta
1740 xm_file="${xm_file} i386/xm-cygwin.h"
1741 tmake_file=i386/t-cygwin
1742 tm_file=i386/win32.h
1743 xmake_file=i386/x-cygwin
1745 if test x$enable_threads = xyes; then
1751 i[34567]86-*-pe | i[34567]86-*-cygwin*)
1753 xm_file="${xm_file} i386/xm-cygwin.h"
1754 tmake_file=i386/t-cygwin
1755 tm_file=i386/cygwin.h
1756 xmake_file=i386/x-cygwin
1758 if test x$enable_threads = xyes; then
1764 i[34567]86-*-mingw32*)
1766 tm_file=i386/mingw32.h
1767 xm_file="${xm_file} i386/xm-mingw32.h"
1768 tmake_file="i386/t-cygwin i386/t-mingw32"
1770 xmake_file=i386/x-cygwin
1771 if test x$enable_threads = xyes; then
1778 *minwg32crt* | *mingw32*)
1779 tm_file="${tm_file} i386/crtdll.h"
1787 xm_file="${xm_file} i386/xm-uwin.h"
1788 xm_defines="USG NO_STAB_H"
1789 tmake_file="i386/t-cygwin i386/t-uwin"
1791 xmake_file=i386/x-cygwin
1792 if test x$enable_threads = xyes; then
1798 i[34567]86-*-interix*)
1800 tm_file="i386/i386-interix.h interix.h"
1801 xm_file="i386/xm-i386-interix.h xm-interix.h"
1803 tmake_file="i386/t-interix"
1804 extra_objs=interix.o
1805 xmake_file=x-interix
1806 if test x$enable_threads = xyes ; then
1809 if test x$stabs = xyes ; then
1810 tm_file="${tm_file} dbxcoff.h"
1814 i[34567]86-*-winnt3*)
1816 tm_file=i386/win-nt.h
1817 out_file=i386/i386.c
1818 xm_file="xm-winnt.h ${xm_file}"
1819 xmake_file=winnt/x-winnt
1820 tmake_file=i386/t-winnt
1821 extra_host_objs="winnt.o oldnames.o"
1822 extra_gcc_objs="spawnv.o oldnames.o"
1823 if test x$gnu_ld != xyes
1825 extra_programs=ld.exe
1827 if test x$enable_threads = xyes; then
1832 i[34567]86-dg-dgux*)
1834 xm_file="xm-alloca.h ${xm_file}"
1835 xm_defines="USG POSIX"
1836 out_file=i386/dgux.c
1838 tmake_file=i386/t-dgux
1839 xmake_file=i386/x-dgux
1840 install_headers_dir=install-headers-cpio
1842 i860-alliant-*) # Alliant FX/2800
1843 tm_file="${tm_file} svr4.h i860/sysv4.h i860/fx2800.h"
1844 xm_file="${xm_file}"
1845 xmake_file=i860/x-fx2800
1846 tmake_file=i860/t-fx2800
1847 extra_parts="crtbegin.o crtend.o"
1850 tm_file="${tm_file} i860/bsd.h"
1851 if test x$gas = xyes
1853 tm_file="${tm_file} i860/bsd-gas.h"
1858 tm_file="${tm_file} i860/mach.h"
1859 tmake_file=t-libc-ok
1861 i860-*-osf*) # Intel Paragon XP/S, OSF/1AD
1862 tm_file="${tm_file} svr3.h i860/paragon.h"
1863 xm_defines="USG SVR3"
1867 tm_file="${tm_file} svr3.h i860/sysv3.h"
1868 xm_defines="USG SVR3"
1869 xmake_file=i860/x-sysv3
1870 extra_parts="crtbegin.o crtend.o"
1873 tm_file="${tm_file} svr4.h i860/sysv4.h"
1874 xm_defines="USG SVR3"
1875 xmake_file=i860/x-sysv4
1877 extra_parts="crtbegin.o crtend.o"
1879 i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
1880 tm_file="${tm_file} i960/vx960.h"
1881 tmake_file=i960/t-vxworks960
1883 thread_file='vxworks'
1885 i960-wrs-vxworks5* | i960-wrs-vxworks)
1886 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
1887 tmake_file=i960/t-vxworks960
1889 thread_file='vxworks'
1892 tm_file="${tm_file} i960/vx960.h"
1893 tmake_file=i960/t-vxworks960
1895 thread_file='vxworks'
1898 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1899 tmake_file=i960/t-960bare
1903 tmake_file="i960/t-960bare t-rtems"
1904 tm_file="${tm_file} dbxcoff.h i960/rtems.h"
1907 i960-*-*) # Default i960 environment.
1912 tmake_file="ia64/t-ia64"
1913 target_cpu_default="0"
1914 if test x$gas = xyes
1916 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1918 if test x$gnu_ld = xyes
1920 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1924 tm_file=ia64/linux.h
1925 tmake_file="t-linux ia64/t-ia64"
1926 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1927 if test x$enable_threads = xyes; then
1932 extra_parts="crtinit.o crtfini.o"
1934 m68000-convergent-sysv*)
1936 xm_file="m68k/xm-3b1.h ${xm_file}"
1939 extra_headers=math-68881.h
1941 m68000-hp-bsd*) # HP 9000/200 running BSD
1942 tm_file=m68k/hp2bsd.h
1943 xmake_file=m68k/x-hp2bsd
1945 extra_headers=math-68881.h
1947 m68000-hp-hpux*) # HP 9000 series 300
1948 xm_file="xm-alloca.h ${xm_file}"
1950 if test x$gas = xyes
1952 xmake_file=m68k/x-hp320g
1953 tm_file=m68k/hp310g.h
1955 xmake_file=m68k/x-hp320
1956 tm_file=m68k/hp310.h
1958 install_headers_dir=install-headers-cpio
1960 extra_headers=math-68881.h
1965 extra_headers=math-68881.h
1968 tm_file=m68k/sun2o4.h
1970 extra_headers=math-68881.h
1973 xm_file="m68k/xm-3b1.h ${xm_file}"
1975 if test x$gas = xyes
1982 extra_headers=math-68881.h
1984 m68k-apple-aux*) # Apple Macintosh running A/UX
1985 xm_defines="USG AUX"
1986 tmake_file=m68k/t-aux
1987 install_headers_dir=install-headers-cpio
1988 extra_headers=math-68881.h
1989 extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
1991 if test "$gnu_ld" = yes
1993 tm_file="${tm_file} m68k/auxgld.h"
1995 tm_file="${tm_file} m68k/auxld.h"
1997 if test "$gas" = yes
1999 tm_file="${tm_file} m68k/auxgas.h"
2001 tm_file="${tm_file} m68k/auxas.h"
2003 tm_file="${tm_file} m68k/a-ux.h"
2007 tm_file=m68k/apollo68.h
2008 xmake_file=m68k/x-apollo68
2010 extra_headers=math-68881.h
2013 m68k-altos-sysv*) # Altos 3068
2014 if test x$gas = xyes
2016 tm_file=m68k/altos3068.h
2019 echo "The Altos is supported only with the GNU assembler" 1>&2
2022 extra_headers=math-68881.h
2024 m68k-bull-sysv*) # Bull DPX/2
2025 if test x$gas = xyes
2027 if test x$stabs = xyes
2029 tm_file=m68k/dpx2cdbx.h
2031 tm_file=m68k/dpx2g.h
2036 xm_file="xm-alloca.h ${xm_file}"
2038 xmake_file=m68k/x-dpx2
2040 extra_headers=math-68881.h
2042 m68k-atari-sysv4*) # Atari variant of V.4.
2043 tm_file=m68k/atari.h
2044 xm_file="xm-alloca.h ${xm_file}"
2045 xm_defines="USG FULL_PROTOTYPES"
2047 extra_parts="crtbegin.o crtend.o"
2048 extra_headers=math-68881.h
2051 m68k-motorola-sysv*)
2052 tm_file=m68k/mot3300.h
2053 xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
2054 if test x$gas = xyes
2056 xmake_file=m68k/x-mot3300-gas
2057 if test x$gnu_ld = xyes
2059 tmake_file=m68k/t-mot3300-gald
2061 tmake_file=m68k/t-mot3300-gas
2065 xmake_file=m68k/x-mot3300
2066 if test x$gnu_ld = xyes
2068 tmake_file=m68k/t-mot3300-gld
2070 tmake_file=m68k/t-mot3300
2074 gdb_needs_out_file_path=yes
2075 extra_parts="crt0.o mcrt0.o"
2076 extra_headers=math-68881.h
2079 m68k-ncr-sysv*) # NCR Tower 32 SVR3
2080 tm_file=m68k/tower-as.h
2081 xm_defines="USG SVR3"
2082 xmake_file=m68k/x-tower
2083 extra_parts="crtbegin.o crtend.o"
2084 extra_headers=math-68881.h
2087 tm_file=m68k/plexus.h
2088 xm_file="xm-alloca.h m68k/xm-plexus.h ${xm_file}"
2091 extra_headers=math-68881.h
2095 xm_file="xm-alloca.h ${xm_file}"
2097 extra_headers=math-68881.h
2100 xm_file="xm-alloca.h m68k/xm-crds.h ${xm_file}"
2101 xm_defines="USG unos"
2102 xmake_file=m68k/x-crds
2105 extra_headers=math-68881.h
2107 m68k-cbm-sysv4*) # Commodore variant of V.4.
2109 xm_file="xm-alloca.h ${xm_file}"
2110 xm_defines="USG FULL_PROTOTYPES"
2111 xmake_file=m68k/x-amix
2113 extra_parts="crtbegin.o crtend.o"
2114 extra_headers=math-68881.h
2118 tm_file=m68k/ccur-GAS.h
2119 xmake_file=m68k/x-ccur
2120 extra_headers=math-68881.h
2124 m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd
2125 tm_file=m68k/hp3bsd44.h
2126 xmake_file=m68k/x-hp3bsd44
2128 extra_headers=math-68881.h
2131 m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix
2132 tm_file=m68k/hp3bsd.h
2134 extra_headers=math-68881.h
2138 if test x$with_fp = xno
2140 tm_file=m68k/isi-nfp.h
2146 extra_headers=math-68881.h
2148 m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
2149 xm_file="xm-alloca.h ${xm_file}"
2151 if test x$gas = xyes
2153 xmake_file=m68k/x-hp320g
2154 tm_file=m68k/hp320g.h
2156 xmake_file=m68k/x-hp320
2157 tm_file=m68k/hpux7.h
2159 install_headers_dir=install-headers-cpio
2161 extra_headers=math-68881.h
2164 m68k-hp-hpux*) # HP 9000 series 300
2165 xm_file="xm-alloca.h ${xm_file}"
2167 if test x$gas = xyes
2169 xmake_file=m68k/x-hp320g
2170 tm_file=m68k/hp320g.h
2172 xmake_file=m68k/x-hp320
2173 tm_file=m68k/hp320.h
2175 install_headers_dir=install-headers-cpio
2177 extra_headers=math-68881.h
2181 tm_file=m68k/sun3mach.h
2183 extra_headers=math-68881.h
2187 if test x$gas = xyes
2189 tm_file=m68k/news3gas.h
2191 tm_file=m68k/news3.h
2194 extra_headers=math-68881.h
2197 m68k-sony-bsd* | m68k-sony-newsos*)
2198 if test x$gas = xyes
2200 tm_file=m68k/newsgas.h
2205 extra_headers=math-68881.h
2208 m68k-next-nextstep2*)
2209 tm_file=m68k/next21.h
2210 xm_file="m68k/xm-next.h ${xm_file}"
2211 tmake_file=m68k/t-next
2212 xmake_file=m68k/x-next
2213 extra_objs=nextstep.o
2214 extra_headers=math-68881.h
2219 m68k-next-nextstep[34]*)
2222 xm_file="m68k/xm-next.h ${xm_file}"
2223 tmake_file=m68k/t-next
2224 xmake_file=m68k/x-next
2225 extra_objs=nextstep.o
2226 extra_parts="crtbegin.o crtend.o"
2227 extra_headers=math-68881.h
2229 if test x$enable_threads = xyes; then
2234 if test x$with_fp = xno
2236 tm_file=m68k/sun3n3.h
2238 tm_file=m68k/sun3o3.h
2242 extra_headers=math-68881.h
2244 m68k-sun-sunos*) # For SunOS 4 (the default).
2245 if test x$with_fp = xno
2247 tm_file=m68k/sun3n.h
2253 extra_headers=math-68881.h
2256 tm_file=m68k/vxm68k.h
2257 tmake_file=m68k/t-vxworks68
2258 extra_headers=math-68881.h
2259 thread_file='vxworks'
2263 tmake_file=m68k/t-m68kbare
2264 tm_file="m68k/m68k-aout.h libgloss.h"
2265 extra_headers=math-68881.h
2269 tmake_file=m68k/t-m68kbare
2270 tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
2271 extra_headers=math-68881.h
2274 m68020-*-elf* | m68k-*-elf*)
2275 tm_file="m68k/m68020-elf.h"
2276 xm_file=m68k/xm-m68kv.h
2277 tmake_file=m68k/t-m68kelf
2278 header_files=math-68881.h
2281 if test x$gas = xyes
2285 tm_file=m68k/lynx-ng.h
2287 xm_file=m68k/xm-lynx.h
2289 tmake_file=m68k/t-lynx
2290 extra_headers=math-68881.h
2294 tm_file=m68k/netbsd.h
2301 # we need collect2 until our bug is fixed...
2304 m68k-*-sysv3*) # Motorola m68k's running system V.3
2305 xm_file="xm-alloca.h ${xm_file}"
2307 xmake_file=m68k/x-m68kv
2308 extra_parts="crtbegin.o crtend.o"
2309 extra_headers=math-68881.h
2312 m68k-*-sysv4*) # Motorola m68k's running system V.4
2313 tm_file=m68k/m68kv4.h
2314 xm_file="xm-alloca.h ${xm_file}"
2317 extra_parts="crtbegin.o crtend.o"
2318 extra_headers=math-68881.h
2321 m68k-*-linux-gnuaout*) # Motorola m68k's running GNU/Linux
2324 tm_file=m68k/linux-aout.h
2325 tmake_file="t-linux-aout m68k/t-linux-aout"
2326 extra_headers=math-68881.h
2330 m68k-*-linux-gnulibc1) # Motorola m68k's running GNU/Linux
2331 # with ELF format using the
2332 # GNU/Linux C library 5
2334 tm_file=m68k/linux.h
2335 tmake_file="t-linux t-linux-gnulibc1 m68k/t-linux"
2336 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2337 extra_headers=math-68881.h
2341 m68k-*-linux-gnu*) # Motorola m68k's running GNU/Linux
2342 # with ELF format using glibc 2
2343 # aka the GNU/Linux C library 6.
2345 tm_file=m68k/linux.h
2346 tmake_file="t-linux m68k/t-linux"
2347 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2348 extra_headers=math-68881.h
2351 if test x$enable_threads = xyes; then
2356 tmake_file=m68k/t-m68kbare
2357 tm_file=m68k/m68k-psos.h
2358 extra_headers=math-68881.h
2362 tmake_file="m68k/t-m68kbare t-rtems"
2363 tm_file=m68k/rtems.h
2364 extra_headers=math-68881.h
2367 m68k-*-rtemself*|m68k-*-rtems*)
2368 tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
2369 tm_file=m68k/rtemself.h
2370 extra_headers=math-68881.h
2376 tm_file=m88k/dguxbcs.h
2377 tmake_file=m88k/t-dguxbcs
2381 tmake_file=m88k/t-dgux
2384 extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
2385 xmake_file=m88k/x-dgux
2386 if test x$gas = xyes
2388 tmake_file=m88k/t-dgux-gas
2391 m88k-dolphin-sysv3*)
2392 tm_file=m88k/dolph.h
2393 extra_parts="crtbegin.o crtend.o"
2394 xm_file="m88k/xm-sysv3.h ${xm_file}"
2395 xmake_file=m88k/x-dolph
2396 if test x$gas = xyes
2398 tmake_file=m88k/t-m88k-gas
2401 m88k-tektronix-sysv3)
2402 tm_file=m88k/tekXD88.h
2403 extra_parts="crtbegin.o crtend.o"
2404 xm_file="m88k/xm-sysv3.h ${xm_file}"
2405 xmake_file=m88k/x-tekXD88
2406 if test x$gas = xyes
2408 tmake_file=m88k/t-m88k-gas
2412 tm_file=m88k/m88k-aout.h
2415 tm_file=m88k/m88k-coff.h
2416 tmake_file=m88k/t-bug
2420 extra_parts="crtbegin.o crtend.o"
2421 if test x$gas = xyes
2423 tmake_file=m88k/t-luna-gas
2425 tmake_file=m88k/t-luna
2429 tmake_file="${tmake_file} m88k/t-luna-gas"
2432 tm_file=m88k/sysv3.h
2433 extra_parts="crtbegin.o crtend.o"
2434 xm_file="m88k/xm-sysv3.h ${xm_file}"
2435 xmake_file=m88k/x-sysv3
2436 if test x$gas = xyes
2438 tmake_file=m88k/t-m88k-gas
2442 tm_file=m88k/sysv4.h
2443 extra_parts="crtbegin.o crtend.o"
2444 xmake_file=m88k/x-sysv4
2445 tmake_file=m88k/t-sysv4
2448 tm_file=mcore/mcore-elf.h
2449 tmake_file=mcore/t-mcore
2452 tm_file=mcore/mcore-pe.h
2453 tmake_file=mcore/t-mcore-pe
2455 mips-sgi-irix6*) # SGI System V.4., IRIX 6
2456 if test "x$gnu_ld" = xyes
2458 tm_file="mips/iris6.h mips/iris6gld.h"
2460 tm_file=mips/iris6.h
2462 tmake_file=mips/t-iris6
2463 xm_file=mips/xm-iris6.h
2464 xmake_file=mips/x-iris6
2465 # if test x$enable_threads = xyes; then
2466 # thread_file='irix'
2470 tm_file="mips/elf.h mips/vxworks.h"
2471 tmake_file=mips/t-ecoff
2474 extra_parts="crtbegin.o crtend.o"
2475 thread_file='vxworks'
2477 mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
2478 tm_file="mips/iris6.h mips/cross64.h"
2480 xm_file="mips/xm-iris5.h"
2481 xmake_file=mips/x-iris
2482 tmake_file=mips/t-cross64
2483 # See comment in mips/iris[56].h files.
2485 # if test x$enable_threads = xyes; then
2486 # thread_file='irix'
2490 if test x$gas = xyes
2492 if test x$stabs = xyes
2494 tm_file=mips/iris5gdb.h
2496 tm_file="mips/sni-svr4.h mips/sni-gas.h"
2499 tm_file=mips/sni-svr4.h
2502 xmake_file=mips/x-sni-svr4
2503 tmake_file=mips/t-mips-gas
2504 if test x$gnu_ld != xyes
2509 mips-sgi-irix5*) # SGI System V.4., IRIX 5
2510 if test x$gas = xyes
2512 tm_file="mips/iris5.h mips/iris5gas.h"
2513 if test x$stabs = xyes
2515 tm_file="${tm_file} dbx.h"
2518 tm_file=mips/iris5.h
2521 xm_file="mips/xm-iris5.h"
2522 xmake_file=mips/x-iris
2523 # mips-tfile doesn't work yet
2524 tmake_file=mips/t-mips-gas
2525 # See comment in mips/iris5.h file.
2527 # if test x$enable_threads = xyes; then
2528 # thread_file='irix'
2531 mips-sgi-irix4loser*) # Mostly like a MIPS.
2532 tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
2533 if test x$stabs = xyes; then
2534 tm_file="${tm_file} dbx.h"
2537 xmake_file=mips/x-iris
2538 if test x$gas = xyes
2540 tmake_file=mips/t-mips-gas
2542 extra_passes="mips-tfile mips-tdump"
2544 if test x$gnu_ld != xyes
2548 # if test x$enable_threads = xyes; then
2549 # thread_file='irix'
2552 mips-sgi-irix4*) # Mostly like a MIPS.
2553 tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
2554 if test x$stabs = xyes; then
2555 tm_file="${tm_file} dbx.h"
2558 xmake_file=mips/x-iris
2559 if test x$gas = xyes
2561 tmake_file=mips/t-mips-gas
2563 extra_passes="mips-tfile mips-tdump"
2565 if test x$gnu_ld != xyes
2569 # if test x$enable_threads = xyes; then
2570 # thread_file='irix'
2573 mips-sgi-*) # Mostly like a MIPS.
2574 tm_file="mips/iris3.h ${tm_file}"
2575 if test x$stabs = xyes; then
2576 tm_file="${tm_file} dbx.h"
2579 xmake_file=mips/x-iris3
2580 if test x$gas = xyes
2582 tmake_file=mips/t-mips-gas
2584 extra_passes="mips-tfile mips-tdump"
2586 if test x$gnu_ld != xyes
2591 mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose.
2592 tm_file="mips/osfrose.h ${tm_file}"
2593 xmake_file=mips/x-osfrose
2594 tmake_file=mips/t-osfrose
2595 extra_objs=halfpic.o
2598 mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL
2599 tm_file=mips/dec-osf1.h
2600 if test x$stabs = xyes; then
2601 tm_file="${tm_file} dbx.h"
2603 xmake_file=mips/x-dec-osf1
2604 if test x$gas = xyes
2606 tmake_file=mips/t-mips-gas
2608 tmake_file=mips/t-ultrix
2609 extra_passes="mips-tfile mips-tdump"
2611 if test x$gnu_ld != xyes
2616 mips-dec-bsd*) # Decstation running 4.4 BSD
2617 tm_file=mips/dec-bsd.h
2618 if test x$gas = xyes
2620 tmake_file=mips/t-mips-gas
2622 tmake_file=mips/t-ultrix
2623 extra_passes="mips-tfile mips-tdump"
2625 if test x$gnu_ld != xyes
2630 mipsel-*-netbsd* | mips-dec-netbsd*) # Decstation running NetBSD
2631 tm_file=mips/netbsd.h
2632 # On NetBSD, the headers are already okay, except for math.h.
2635 mips*-*-linux*) # Linux MIPS, either endian.
2638 mipsel-*) tm_file="mips/elfl.h mips/linux.h" ;;
2639 *) tm_file="mips/elf.h mips/linux.h" ;;
2641 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2644 if test x$enable_threads = xyes; then
2648 mips*el-*-openbsd*) # mips little endian
2649 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2651 mips*-*-openbsd*) # mips big endian
2652 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2653 tm_file="mips/openbsd-be.h ${tm_file}"
2655 mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
2656 tm_file="mips/news4.h ${tm_file}"
2657 if test x$stabs = xyes; then
2658 tm_file="${tm_file} dbx.h"
2660 if test x$gas = xyes
2662 tmake_file=mips/t-mips-gas
2664 extra_passes="mips-tfile mips-tdump"
2666 if test x$gnu_ld != xyes
2670 xmake_file=mips/x-sony
2672 mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0.
2673 # That is based on svr4.
2674 # t-svr4 is not right because this system doesn't use ELF.
2675 tm_file="mips/news5.h ${tm_file}"
2676 if test x$stabs = xyes; then
2677 tm_file="${tm_file} dbx.h"
2680 if test x$gas = xyes
2682 tmake_file=mips/t-mips-gas
2684 extra_passes="mips-tfile mips-tdump"
2686 if test x$gnu_ld != xyes
2691 mips-tandem-sysv4*) # Tandem S2 running NonStop UX
2692 tm_file="mips/svr4-5.h mips/svr4-t.h"
2693 if test x$stabs = xyes; then
2694 tm_file="${tm_file} dbx.h"
2697 xmake_file=mips/x-sysv
2698 if test x$gas = xyes
2700 tmake_file=mips/t-mips-gas
2701 extra_parts="crtbegin.o crtend.o"
2703 tmake_file=mips/t-mips
2704 extra_passes="mips-tfile mips-tdump"
2706 if test x$gnu_ld != xyes
2711 mips-*-ultrix* | mips-dec-mach3) # Decstation.
2712 tm_file="mips/ultrix.h ${tm_file}"
2713 if test x$stabs = xyes; then
2714 tm_file="${tm_file} dbx.h"
2716 xmake_file=mips/x-ultrix
2717 if test x$gas = xyes
2719 tmake_file=mips/t-mips-gas
2721 tmake_file=mips/t-ultrix
2722 extra_passes="mips-tfile mips-tdump"
2724 if test x$gnu_ld != xyes
2730 mips-*-riscos[56789]bsd*)
2732 tm_file=mips/bsd-5.h # MIPS BSD 4.3, RISC-OS 5.0
2733 if test x$stabs = xyes; then
2734 tm_file="${tm_file} dbx.h"
2736 if test x$gas = xyes
2738 tmake_file=mips/t-bsd-gas
2740 tmake_file=mips/t-bsd
2741 extra_passes="mips-tfile mips-tdump"
2743 if test x$gnu_ld != xyes
2749 mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
2751 tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
2752 if test x$stabs = xyes; then
2753 tm_file="${tm_file} dbx.h"
2755 if test x$gas = xyes
2757 tmake_file=mips/t-bsd-gas
2759 tmake_file=mips/t-bsd
2760 extra_passes="mips-tfile mips-tdump"
2762 if test x$gnu_ld != xyes
2768 mips-*-riscos[56789]sysv4*)
2770 tm_file=mips/svr4-5.h # MIPS System V.4., RISC-OS 5.0
2771 if test x$stabs = xyes; then
2772 tm_file="${tm_file} dbx.h"
2774 xmake_file=mips/x-sysv
2775 if test x$gas = xyes
2777 tmake_file=mips/t-svr4-gas
2779 tmake_file=mips/t-svr4
2780 extra_passes="mips-tfile mips-tdump"
2782 if test x$gnu_ld != xyes
2788 mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
2790 tm_file="mips/svr4-4.h ${tm_file}"
2791 if test x$stabs = xyes; then
2792 tm_file="${tm_file} dbx.h"
2795 xmake_file=mips/x-sysv
2796 if test x$gas = xyes
2798 tmake_file=mips/t-svr4-gas
2800 tmake_file=mips/t-svr4
2801 extra_passes="mips-tfile mips-tdump"
2803 if test x$gnu_ld != xyes
2809 mips-*-riscos[56789]sysv*)
2811 tm_file=mips/svr3-5.h # MIPS System V.3, RISC-OS 5.0
2812 if test x$stabs = xyes; then
2813 tm_file="${tm_file} dbx.h"
2816 xmake_file=mips/x-sysv
2817 if test x$gas = xyes
2819 tmake_file=mips/t-svr3-gas
2821 tmake_file=mips/t-svr3
2822 extra_passes="mips-tfile mips-tdump"
2824 if test x$gnu_ld != xyes
2829 mips-*-sysv* | mips-*-riscos*sysv*)
2830 tm_file="mips/svr3-4.h ${tm_file}"
2831 if test x$stabs = xyes; then
2832 tm_file="${tm_file} dbx.h"
2835 xmake_file=mips/x-sysv
2836 if test x$gas = xyes
2838 tmake_file=mips/t-svr3-gas
2840 tmake_file=mips/t-svr3
2841 extra_passes="mips-tfile mips-tdump"
2843 if test x$gnu_ld != xyes
2849 mips-*-riscos[56789]*) # Default MIPS RISC-OS 5.0.
2851 tm_file=mips/mips-5.h
2852 if test x$stabs = xyes; then
2853 tm_file="${tm_file} dbx.h"
2855 if test x$gas = xyes
2857 tmake_file=mips/t-mips-gas
2859 extra_passes="mips-tfile mips-tdump"
2861 if test x$gnu_ld != xyes
2869 tm_file=mips/ecoffl.h
2870 if test x$stabs = xyes; then
2871 tm_file="${tm_file} dbx.h"
2873 tmake_file=mips/t-ecoff
2876 tm_file="gofast.h mips/ecoff.h"
2877 if test x$stabs = xyes; then
2878 tm_file="${tm_file} dbx.h"
2880 tmake_file=mips/t-ecoff
2883 tm_file="mips/elfl.h"
2884 tmake_file=mips/t-elf
2887 tm_file="mips/elf.h"
2888 tmake_file=mips/t-elf
2891 tm_file="mips/elfl64.h"
2892 tmake_file=mips/t-elf
2894 mips64orionel-*-elf*)
2895 tm_file="mips/elforion.h mips/elfl64.h"
2896 tmake_file=mips/t-elf
2899 tm_file="mips/elf64.h"
2900 tmake_file=mips/t-elf
2903 tm_file="mips/elforion.h mips/elf64.h"
2904 tmake_file=mips/t-elf
2906 mips64orion-*-rtems*)
2907 tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
2908 tmake_file="mips/t-elf t-rtems"
2911 tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
2912 tmake_file=mips/t-r3900
2915 tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
2916 tmake_file=mips/t-r3900
2918 mips-*-*) # Default MIPS RISC-OS 4.0.
2919 if test x$stabs = xyes; then
2920 tm_file="${tm_file} dbx.h"
2922 if test x$gas = xyes
2924 tmake_file=mips/t-mips-gas
2926 extra_passes="mips-tfile mips-tdump"
2928 if test x$gnu_ld != xyes
2936 tm_file="mn10200/mn10200.h"
2937 if test x$stabs = xyes
2939 tm_file="${tm_file} dbx.h"
2945 tm_file="mn10300/mn10300.h"
2946 if test x$stabs = xyes
2948 tm_file="${tm_file} dbx.h"
2953 tm_file=ns32k/encore.h
2957 tm_file=ns32k/sequent.h
2961 tm_file=ns32k/tek6100.h
2965 tm_file=ns32k/tek6200.h
2968 # This has not been updated to GCC 2.
2971 # xmake_file=ns32k/x-genix
2972 # tm_file=ns32k/genix.h
2976 tm_file=ns32k/merlin.h
2980 tm_file=ns32k/pc532-mach.h
2984 tm_file=ns32k/pc532-min.h
2985 xm_file="ns32k/xm-pc532-min.h ${xm-file}"
2990 tm_file=ns32k/netbsd.h
2991 xm_file="ns32k/xm-netbsd.h ${xm_file}"
2992 # On NetBSD, the headers are already okay, except for math.h.
2997 tm_file="${tm_file} pdp11/2bsd.h"
3006 # This has not been updated to GCC 2.
3009 # xmake_file=pyr/x-pyr
3014 tm_file="svr4.h pj/linux.h ${tm_file}"
3019 tm_file="svr4.h pj/pjl.h ${tm_file}"
3026 xmake_file=romp/x-mach
3033 tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
3037 tm_file=rs6000/beos.h
3038 xm_file=rs6000/xm-beos.h
3039 tmake_file=rs6000/t-beos
3040 xmake_file=rs6000/x-beos
3043 tm_file=rs6000/sysv4.h
3044 xm_file="rs6000/xm-sysv4.h"
3045 xm_defines="USG POSIX"
3046 extra_headers=ppc-asm.h
3047 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3048 xmake_file=rs6000/x-sysv4
3051 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabiaix.h"
3052 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3053 extra_headers=ppc-asm.h
3056 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
3057 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3058 extra_headers=ppc-asm.h
3061 tm_file="rs6000/sysv4.h"
3062 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3063 extra_headers=ppc-asm.h
3066 tm_file="rs6000/sysv4.h rs6000/eabi.h"
3067 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3068 extra_headers=ppc-asm.h
3071 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h"
3072 tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
3073 extra_headers=ppc-asm.h
3075 powerpc-*-linux-gnulibc1)
3076 tm_file="rs6000/sysv4.h rs6000/linux.h"
3077 xm_file=rs6000/xm-sysv4.h
3078 out_file=rs6000/rs6000.c
3079 tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
3081 extra_headers=ppc-asm.h
3082 if test x$enable_threads = xyes; then
3086 powerpc-*-linux-gnu*)
3087 tm_file="rs6000/sysv4.h rs6000/linux.h"
3088 xm_file="rs6000/xm-sysv4.h"
3089 xm_defines="USG ${xm_defines}"
3090 out_file=rs6000/rs6000.c
3091 tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
3093 extra_headers=ppc-asm.h
3094 if test x$enable_threads = xyes; then
3098 powerpc-wrs-vxworks*)
3100 xm_file="rs6000/xm-sysv4.h"
3101 xm_defines="USG POSIX"
3102 tm_file="rs6000/sysv4.h rs6000/vxppc.h"
3103 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3104 extra_headers=ppc-asm.h
3105 thread_file='vxworks'
3107 powerpcle-wrs-vxworks*)
3109 xm_file="rs6000/xm-sysv4.h"
3110 xm_defines="USG POSIX"
3111 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
3112 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3113 extra_headers=ppc-asm.h
3114 thread_file='vxworks'
3117 tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
3118 xm_file="rs6000/xm-sysv4.h"
3119 xm_defines="USG POSIX"
3120 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3121 xmake_file=rs6000/x-sysv4
3122 extra_headers=ppc-asm.h
3125 tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
3126 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3127 extra_headers=ppc-asm.h
3129 powerpcle-*-eabisim*)
3130 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
3131 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3132 extra_headers=ppc-asm.h
3135 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
3136 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3137 extra_headers=ppc-asm.h
3139 powerpcle-*-solaris2*)
3140 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/sol2.h"
3141 xm_file="rs6000/xm-sysv4.h"
3142 xm_defines="USG POSIX"
3143 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3144 xmake_file=rs6000/x-sysv4
3145 extra_headers=ppc-asm.h
3148 rs6000-ibm-aix3.[01]*)
3150 tm_file=rs6000/aix31.h
3151 xmake_file=rs6000/x-aix31
3156 rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
3158 tm_file=rs6000/aix3newas.h
3159 if test x$host != x$target
3161 tmake_file=rs6000/t-xnewas
3163 tmake_file=rs6000/t-newas
3169 rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
3171 tm_file=rs6000/aix41.h
3172 if test x$host != x$target
3174 tmake_file=rs6000/t-xnewas
3176 tmake_file=rs6000/t-newas
3178 if test "$gnu_ld" = yes
3180 xmake_file=rs6000/x-aix41-gld
3182 tmake_file="rs6000/t-newas rs6000/t-aix41"
3184 xmake_file=rs6000/x-aix41
3189 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
3191 tm_file=rs6000/aix43.h
3192 tmake_file=rs6000/t-aix43
3193 xmake_file=rs6000/x-aix41
3198 rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
3200 tm_file=rs6000/aix43.h
3201 tmake_file=rs6000/t-aix43
3202 xmake_file=rs6000/x-aix41
3215 tm_file=rs6000/mach.h
3216 xm_file="${xm_file} rs6000/xm-mach.h"
3217 xmake_file=rs6000/x-mach
3221 tm_file=rs6000/lynx.h
3222 xm_file=rs6000/xm-lynx.h
3223 tmake_file=rs6000/t-rs6000
3224 xmake_file=rs6000/x-lynx
3232 tmake_file="sh/t-sh t-rtems"
3233 tm_file=sh/rtemself.h
3237 tmake_file="sh/t-sh t-rtems"
3246 xm_file="xm-alloca.h ${xm_file}"
3249 sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
3250 tm_file=sparc/vxsparc.h
3251 tmake_file=sparc/t-vxsparc
3253 thread_file='vxworks'
3256 tmake_file=sparc/t-sparcbare
3257 tm_file="sparc/aout.h libgloss.h"
3260 tm_file=sparc/netbsd.h
3265 # we need collect2 until our bug is fixed...
3273 tmake_file=sparc/t-elf
3274 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3278 sparc-*-linux-gnuaout*) # Sparc's running GNU/Linux, a.out
3279 xm_file="${xm_file} sparc/xm-linux.h"
3280 tm_file=sparc/linux-aout.h
3284 sparc-*-linux-gnulibc1*) # Sparc's running GNU/Linux, libc5
3285 xm_file="${xm_file} sparc/xm-linux.h"
3287 tm_file=sparc/linux.h
3288 tmake_file="t-linux t-linux-gnulibc1"
3289 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3293 sparc-*-linux-gnu*) # Sparc's running GNU/Linux, libc6
3294 xm_file="${xm_file} sparc/xm-linux.h"
3296 tm_file=sparc/linux.h
3297 tmake_file="t-linux"
3298 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3300 if test x$enable_threads = xyes; then
3306 if test x$gas = xyes
3308 tm_file=sparc/lynx.h
3310 tm_file=sparc/lynx-ng.h
3312 xm_file=sparc/xm-lynx.h
3313 tmake_file=sparc/t-sunos41
3317 tmake_file="sparc/t-sparcbare t-rtems"
3318 tm_file=sparc/rtems.h
3320 sparc-*-rtems*|sparc-*-rtemself*)
3321 tm_file="sparc/rtemself.h"
3322 tmake_file="sparc/t-elf t-rtems"
3323 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3327 sparcv9-*-solaris2*)
3328 if test x$gnu_ld = xyes
3330 tm_file=sparc/sol2-64.h
3332 tm_file=sparc/sol2-sld-64.h
3334 xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
3335 xm_defines="USG POSIX"
3336 tmake_file="sparc/t-sol2 sparc/t-sol2-64"
3337 xmake_file=sparc/x-sysv4
3338 extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
3340 if test x${enable_threads} = x ; then
3341 enable_threads=$have_pthread_h
3342 if test x${enable_threads} = x ; then
3343 enable_threads=$have_thread_h
3346 if test x${enable_threads} = xyes ; then
3347 if test x${have_pthread_h} = xyes ; then
3350 thread_file='solaris'
3354 sparc-hal-solaris2*)
3355 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3356 xm_defines="USG POSIX"
3357 tm_file="sparc/sol2.h sparc/hal.h"
3358 tmake_file="sparc/t-halos sparc/t-sol2"
3359 xmake_file=sparc/x-sysv4
3360 extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
3369 thread_file='solaris'
3372 if test x$gnu_ld = xyes
3374 tm_file=sparc/sol2.h
3376 tm_file=sparc/sol2-sld.h
3378 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3379 xm_defines="USG POSIX"
3380 tmake_file=sparc/t-sol2
3381 xmake_file=sparc/x-sysv4
3382 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
3385 *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
3388 if test x$gnu_ld = xyes
3390 tm_file=sparc/sol2-64.h
3392 tm_file=sparc/sol2-sld-64.h
3394 tmake_file="$tmake_file sparc/t-sol2-64"
3407 if test x${enable_threads} = x; then
3408 enable_threads=$have_pthread_h
3409 if test x${enable_threads} = x; then
3410 enable_threads=$have_thread_h
3413 if test x${enable_threads} = xyes; then
3414 if test x${have_pthread_h} = xyes; then
3417 thread_file='solaris'
3422 tm_file=sparc/sunos4.h
3423 tmake_file=sparc/t-sunos40
3427 tm_file=sparc/sunos4.h
3428 tmake_file=sparc/t-sunos41
3430 if test x$gas = xyes; then
3431 tm_file="${tm_file} sparc/sun4gas.h"
3435 tm_file=sparc/sun4o3.h
3439 tm_file=sparc/sysv4.h
3440 xm_file="sparc/xm-sysv4.h"
3441 xm_defines="USG POSIX"
3443 xmake_file=sparc/x-sysv4
3444 extra_parts="crtbegin.o crtend.o"
3447 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3448 xm_defines="USG POSIX"
3449 tm_file=sparc/vxsim.h
3450 tmake_file=sparc/t-vxsparc
3451 xmake_file=sparc/x-sysv4
3454 tm_file="sparc/splet.h libgloss.h"
3455 tmake_file=sparc/t-splet
3458 tm_file="sparc/litecoff.h libgloss.h"
3459 tmake_file=sparc/t-sparclite
3462 tm_file="sparc/lite.h aoutos.h libgloss.h"
3463 tmake_file=sparc/t-sparclite
3466 tm_file="sparc/liteelf.h"
3467 tmake_file=sparc/t-sparclite
3468 extra_parts="crtbegin.o crtend.o"
3471 tm_file="sparc/sp86x-aout.h aoutos.h libgloss.h"
3472 tmake_file=sparc/t-sp86x
3475 tm_file="sparc/sp86x-elf.h"
3476 tmake_file=sparc/t-sp86x
3477 extra_parts="crtbegin.o crtend.o"
3480 tmake_file=sparc/t-sp64
3481 tm_file=sparc/sp64-aout.h
3484 tmake_file=sparc/t-sp64
3485 tm_file=sparc/sp64-elf.h
3486 extra_parts="crtbegin.o crtend.o"
3488 sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
3489 tmake_file="t-linux sparc/t-linux64"
3490 xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
3491 tm_file=sparc/linux64.h
3493 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3495 if test x$enable_threads = xyes; then
3500 # This hasn't been upgraded to GCC 2.
3501 # tahoe-harris-*) # Harris tahoe, using COFF.
3502 # tm_file=tahoe/harris.h
3504 # tahoe-*-bsd*) # tahoe running BSD
3509 *** The Thumb targets have been depreciated. The equivalent
3510 *** ARM based toolchain can now generated Thumb instructions
3511 *** when the -mthumb switch is given to the compiler.])
3513 # This hasn't been upgraded to GCC 2.
3520 tm_file="v850/rtems.h"
3521 xm_file="v850/xm-v850.h"
3522 tmake_file="v850/t-v850 t-rtems"
3523 if test x$stabs = xyes
3525 tm_file="${tm_file} dbx.h"
3530 target_cpu_default="TARGET_CPU_generic"
3532 tm_file="v850/v850.h"
3533 xm_file="v850/xm-v850.h"
3534 tmake_file=v850/t-v850
3535 if test x$stabs = xyes
3537 tm_file="${tm_file} dbx.h"
3541 vax-*-bsd*) # vaxen running BSD
3545 vax-*-sysv*) # vaxen running system V
3546 tm_file="${tm_file} vax/vaxv.h"
3551 tm_file="${tm_file} netbsd.h vax/netbsd.h"
3557 tmake_file="${tmake_file} vax/t-openbsd"
3559 vax-*-ultrix*) # vaxen running ultrix
3560 tm_file="${tm_file} vax/ultrix.h"
3564 vax-*-vms*) # vaxen running VMS
3565 xm_file=vax/xm-vms.h
3569 vax-*-*) # vax default entry
3573 xm_file="${xm_file} xm-svr3"
3577 echo "Configuration $machine not supported" 1>&2
3584 ;; # Existing GNU/Linux systems do not use the GNU setup.
3586 # On the GNU system, the setup is just about the same on
3587 # each different CPU. The specific machines that GNU
3588 # supports are matched above and just set $cpu_type.
3589 xm_file="xm-gnu.h ${xm_file}"
3590 tm_file=${cpu_type}/gnu.h
3591 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
3592 # GNU always uses ELF.
3594 # GNU tools are the only tools.
3597 xmake_file=x-linux # These details are the same as Linux.
3598 tmake_file=t-gnu # These are not.
3601 xmake_try_sysv=x-sysv
3602 install_headers_dir=install-headers-cpio
3605 install_headers_dir=install-headers-cpio
3609 # Distinguish i[34567]86
3610 # Also, do not run mips-tfile on MIPS if using gas.
3611 # Process --with-cpu= for PowerPC/rs6000
3612 target_cpu_default2=
3615 target_cpu_default2=1
3618 case $target_alias in
3620 target_cpu_default2=4
3623 target_cpu_default2=2
3627 i686-*-* | i786-*-*)
3628 target_cpu_default2=3
3635 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
3638 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
3641 target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
3644 target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
3647 target_cpu_default2="MASK_CPU_EV5"
3651 if test x$gas = xyes
3653 if test "$target_cpu_default2" = ""
3655 target_cpu_default2="MASK_GAS"
3657 target_cpu_default2="${target_cpu_default2}|MASK_GAS"
3662 case "x$with_cpu" in
3665 target_cpu_default2="TARGET_CPU_generic"
3668 # Distinguish cores, and major variants
3669 # arm7m doesn't exist, but D & I don't affect code
3671 xarm[23678] | xarm250 | xarm[67][01]0 \
3672 | xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
3673 | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
3674 | xstrongarm | xstrongarm110 | xstrongarm1100)
3676 target_cpu_default2="TARGET_CPU_$with_cpu"
3680 echo "--with-cpu must be passed a value" 1>&2
3685 if test x$pass2done = xyes
3687 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3694 mips*-*-ecoff* | mips*-*-elf*)
3695 if test x$gas = xyes
3697 if test x$gnu_ld = xyes
3699 target_cpu_default2=20
3701 target_cpu_default2=16
3706 if test x$gas = xyes
3708 target_cpu_default2=16
3711 powerpc*-*-* | rs6000-*-*)
3712 case "x$with_cpu" in
3716 xcommon | xpower | xpower2 | xpowerpc | xrios \
3717 | xrios1 | xrios2 | xrsc | xrsc1 \
3718 | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
3719 | xec603e | x740 | x750 | x401 \
3720 | x403 | x505 | x801 | x821 | x823 | x860)
3721 target_cpu_default2="\"$with_cpu\""
3725 echo "--with-cpu must be passed a value" 1>&2
3730 if test x$pass2done = xyes
3732 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3739 case ".$with_cpu" in
3741 target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
3743 .supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
3744 target_cpu_default2="TARGET_CPU_$with_cpu"
3747 if test x$pass2done = xyes
3749 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3757 if test "$target_cpu_default2" != ""
3759 if test "$target_cpu_default" != ""
3761 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
3763 target_cpu_default=$target_cpu_default2
3767 # No need for collect2 if we have the GNU linker.
3768 # Actually, there is now; GNU ld doesn't handle the EH info or
3769 # collecting for shared libraries.
3776 # Save data on machine being used to compile GCC in build_xm_file.
3777 # Save data on host machine in vars host_xm_file and host_xmake_file.
3778 if test x$pass1done = x
3780 if test x"$xm_file" = x
3781 then build_xm_file=$cpu_type/xm-$cpu_type.h
3782 else build_xm_file=$xm_file
3784 build_xm_defines=$xm_defines
3785 build_install_headers_dir=$install_headers_dir
3786 build_exeext=$exeext
3789 if test x$pass2done = x
3791 if test x"$xm_file" = x
3792 then host_xm_file=$cpu_type/xm-$cpu_type.h
3793 else host_xm_file=$xm_file
3795 host_xm_defines=$xm_defines
3796 if test x"$xmake_file" = x
3797 then xmake_file=$cpu_type/x-$cpu_type
3799 host_xmake_file="$xmake_file"
3800 host_truncate_target=$truncate_target
3801 host_extra_gcc_objs=$extra_gcc_objs
3802 host_extra_objs=$extra_host_objs
3809 extra_objs="${host_extra_objs} ${extra_objs}"
3811 # Default the target-machine variables that were not explicitly set.
3812 if test x"$tm_file" = x
3813 then tm_file=$cpu_type/$cpu_type.h; fi
3815 if test x$extra_headers = x
3816 then extra_headers=; fi
3818 if test x"$xm_file" = x
3819 then xm_file=$cpu_type/xm-$cpu_type.h; fi
3821 if test x$md_file = x
3822 then md_file=$cpu_type/$cpu_type.md; fi
3824 if test x$out_file = x
3825 then out_file=$cpu_type/$cpu_type.c; fi
3827 if test x"$tmake_file" = x
3828 then tmake_file=$cpu_type/t-$cpu_type
3831 if test x"$dwarf2" = xyes
3832 then tm_file="$tm_file tm-dwarf2.h"
3835 if test x$float_format = x
3836 then float_format=i64
3839 if test $float_format = none
3840 then float_h_file=Makefile.in
3841 else float_h_file=float-$float_format.h
3844 # Handle cpp installation.
3845 if test x$enable_cpp != xno
3847 tmake_file="$tmake_file t-install-cpp"
3850 # Say what files are being used for the output code and MD file.
3851 echo "Using \`$srcdir/config/$out_file' to output insns."
3852 echo "Using \`$srcdir/config/$md_file' as machine description file."
3855 for f in $tm_file; do
3858 if test $count = ax; then
3859 echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
3861 echo "Using the following target machine macro files:"
3862 for f in $tm_file; do
3863 echo " $srcdir/config/$f"
3868 for f in $host_xm_file; do
3871 if test $count = ax; then
3872 echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
3874 echo "Using the following host machine macro files:"
3875 for f in $host_xm_file; do
3876 echo " $srcdir/config/$f"
3880 if test "$host_xm_file" != "$build_xm_file"; then
3882 for f in $build_xm_file; do
3885 if test $count = ax; then
3886 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
3888 echo "Using the following build machine macro files:"
3889 for f in $build_xm_file; do
3890 echo " $srcdir/config/$f"
3895 if test x$thread_file = x; then
3896 if test x$target_thread_file != x; then
3897 thread_file=$target_thread_file
3899 thread_file='single'
3903 # Set up the header files.
3904 # $links is the list of header files to create.
3905 # $vars is the list of shell variables with file names to include.
3906 # auto-host.h is the file containing items generated by autoconf and is
3907 # the first file included by config.h.
3909 host_xm_file="auto-host.h gansidecl.h ${host_xm_file} hwint.h"
3911 # If host=build, it is correct to have hconfig include auto-host.h
3912 # as well. If host!=build, we are in error and need to do more
3913 # work to find out the build config parameters.
3914 if test x$host = x$build
3916 build_xm_file="auto-host.h gansidecl.h ${build_xm_file} hwint.h"
3918 # We create a subdir, then run autoconf in the subdir.
3919 # To prevent recursion we set host and build for the new
3920 # invocation of configure to the build for this invocation
3927 /*) realsrcdir=${srcdir};;
3928 *) realsrcdir=../${srcdir};;
3930 CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
3931 --target=$target --host=$build --build=$build
3933 # We just finished tests for the build machine, so rename
3934 # the file auto-build.h in the gcc directory.
3935 mv auto-host.h ../auto-build.h
3938 build_xm_file="auto-build.h gansidecl.h ${build_xm_file} hwint.h"
3941 xm_file="gansidecl.h ${xm_file}"
3942 tm_file="gansidecl.h ${tm_file}"
3944 vars="host_xm_file tm_file tm_p_file xm_file build_xm_file"
3945 links="config.h tm.h tm_p.h tconfig.h hconfig.h"
3946 defines="host_xm_defines null_defines null_defines xm_defines build_xm_defines"
3949 if test -f config.status; then mv -f config.status config.bak; fi
3952 while test -n "$vars"
3954 set $vars; var=$1; shift; vars=$*
3955 set $links; link=$1; shift; links=$*
3956 set $defines; define=$1; shift; defines=$*
3959 # Make sure the file is created, even if it is empty.
3962 # Define TARGET_CPU_DEFAULT if the system wants one.
3963 # This substitutes for lots of *.h files.
3964 if test "$target_cpu_default" != "" -a $link = tm.h
3966 echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
3969 for file in `eval echo '$'$var`; do
3974 echo '#ifdef IN_GCC' >>$link
3977 echo "#include \"$file\"" >>$link
3982 echo '#endif' >>$link
3987 for def in `eval echo '$'$define`; do
3988 echo "#ifndef $def" >>$link
3989 echo "#define $def" >>$link
3990 echo "#endif" >>$link
3994 # Truncate the target if necessary
3995 if test x$host_truncate_target != x; then
3996 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
3999 # Get the version trigger filename from the toplevel
4000 if test "${with_gcc_version_trigger+set}" = set; then
4001 gcc_version_trigger=$with_gcc_version_trigger
4003 gcc_version_trigger=${srcdir}/version.c
4006 gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
4009 # Internationalization
4011 VERSION="$gcc_version"
4012 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",
4013 [Define to the name of the distribution.])
4014 AC_DEFINE_UNQUOTED(VERSION, "$VERSION",
4015 [Define to the version of the distribution.])
4021 # NLS support is still experimental, so disable it by default for now.
4023 [ --enable-nls use Native Language Support (disabled by default)],
4027 XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
4029 # Windows32 Registry support for specifying GCC installation paths.
4030 AC_ARG_ENABLE(win32-registry,
4031 [ --disable-win32-registry
4032 Disable lookup of installation paths in the
4033 Registry on Windows hosts.
4034 --enable-win32-registry Enable registry lookup (default).
4035 --enable-win32-registry=KEY
4036 Use KEY instead of GCC version as the last portion
4037 of the registry key.],,)
4039 AC_MSG_CHECKING(whether windows registry support is requested)
4040 if test x$enable_win32_registry != xno; then
4041 AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
4042 [Define to 1 if installation paths should be looked up in Windows32
4043 Registry. Ignored on non windows32 hosts.])
4049 # Check if user specified a different registry key.
4050 case x${enable_win32_registry} in
4053 gcc_cv_win32_registry_key="$VERSION"
4056 # no registry lookup.
4057 gcc_cv_win32_registry_key=''
4060 # user-specified key.
4061 gcc_cv_win32_registry_key="$enable_win32_registry"
4065 if test x$enable_win32_registry != xno; then
4066 AC_MSG_CHECKING(registry key on windows hosts)
4067 AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key",
4068 [Define to be the last portion of registry key on windows hosts.])
4069 AC_MSG_RESULT($gcc_cv_win32_registry_key)
4072 # Get an absolute path to the GCC top-level source directory
4078 # Conditionalize the makefile for this host machine.
4079 # Make-host contains the concatenation of all host makefile fragments
4080 # [there can be more than one]. This file is built by configure.frag.
4081 host_overrides=Make-host
4082 dep_host_xmake_file=
4083 for f in .. ${host_xmake_file}
4085 if test -f ${srcdir}/config/$f
4087 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
4091 # Conditionalize the makefile for this target machine.
4092 # Make-target contains the concatenation of all host makefile fragments
4093 # [there can be more than one]. This file is built by configure.frag.
4094 target_overrides=Make-target
4096 for f in .. ${tmake_file}
4098 if test -f ${srcdir}/config/$f
4100 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
4104 # If the host doesn't support symlinks, modify CC in
4105 # FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
4106 # Otherwise, we can use "CC=$(CC)".
4108 if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
4110 cc_set_by_configure="\$(CC)"
4111 quoted_cc_set_by_configure="\$(CC)"
4112 stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
4115 if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
4117 symbolic_link="cp -p"
4121 cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
4122 quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
4123 stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
4127 out_object_file=`basename $out_file .c`.o
4130 for f in $tm_file; do
4133 tm_file_list="${tm_file_list} $f" ;;
4134 *) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
4139 for f in $host_xm_file; do
4141 auto-host.h | gansidecl.h | hwint.h )
4142 host_xm_file_list="${host_xm_file_list} $f" ;;
4143 *) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
4148 for f in $build_xm_file; do
4150 auto-build.h | auto-host.h | gansidecl.h | hwint.h )
4151 build_xm_file_list="${build_xm_file_list} $f" ;;
4152 *) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
4156 # Define macro CROSS_COMPILE in compilation
4157 # if this is a cross-compiler.
4158 # Also use all.cross instead of all.internal
4159 # and add cross-make to Makefile.
4160 cross_overrides="/dev/null"
4161 if test x$host != x$target
4163 cross_defines="CROSS=-DCROSS_COMPILE"
4164 cross_overrides="${topdir}/cross-make"
4167 # When building gcc with a cross-compiler, we need to fix a few things.
4168 # This must come after cross-make as we want all.build to override
4170 build_overrides="/dev/null"
4171 if test x$build != x$host
4173 build_overrides="${topdir}/build-make"
4176 # Expand extra_headers to include complete path.
4177 # This substitutes for lots of t-* files.
4179 if test "x$extra_headers" = x
4182 # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
4183 for file in $extra_headers;
4185 extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
4189 if test x$use_collect2 = xno; then
4193 # Add a definition of USE_COLLECT2 if system wants one.
4194 # Also tell toplev.c what to do.
4195 # This substitutes for lots of t-* files.
4196 if test x$use_collect2 = x
4201 will_use_collect2="collect2"
4202 maybe_use_collect2="-DUSE_COLLECT2"
4206 # Set MD_DEPS if the real md file is in md.pre-cpp.
4207 # Set MD_CPP to the cpp to pass the md file through. Md files use ';'
4208 # for line oriented comments, so we must always use a GNU cpp. If
4209 # building gcc with a cross compiler, use the cross compiler just
4210 # built. Otherwise, we can use the cpp just built.
4212 if test "x$md_cppflags" = x
4214 md_file_sub=$srcdir/config/$md_file
4219 # If we have gas in the build tree, make a link to it.
4220 if test -f ../gas/Makefile; then
4221 rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
4224 # If we have nm in the build tree, make a link to it.
4225 if test -f ../binutils/Makefile; then
4226 rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
4229 # If we have ld in the build tree, make a link to it.
4230 if test -f ../ld/Makefile; then
4231 # if test x$use_collect2 = x; then
4232 # rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
4234 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
4238 # Figure out what assembler alignment features are present.
4239 AC_MSG_CHECKING(assembler alignment features)
4241 gcc_cv_as_alignment_features=
4242 gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
4243 if test -x "$DEFAULT_ASSEMBLER"; then
4244 gcc_cv_as="$DEFAULT_ASSEMBLER"
4245 elif test -x "$AS"; then
4247 elif test -x as$host_exeext; then
4248 # Build using assembler in the current directory.
4249 gcc_cv_as=./as$host_exeext
4250 elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
4251 # Single tree build which includes gas.
4252 for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
4255 gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
4257 if test x$gcc_cv_gas_version != x; then
4262 gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
4263 gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
4265 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
4266 # Gas version 2.6 and later support for .balign and .p2align.
4267 # bytes to skip when using .p2align.
4268 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
4269 gcc_cv_as_alignment_features=".balign and .p2align"
4270 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4272 # Gas version 2.8 and later support specifying the maximum
4273 # bytes to skip when using .p2align.
4274 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
4275 gcc_cv_as_alignment_features=".p2align including maximum skip"
4276 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4279 elif test x$host = x$target; then
4281 # Search the same directories that the installed compiler will
4282 # search. Else we may find the wrong assembler and lose. If we
4283 # do not find a suitable assembler binary, then try the user's
4286 # Also note we have to check MD_EXEC_PREFIX before checking the
4287 # user's path. Unfortunately, there is no good way to get at the
4288 # value of MD_EXEC_PREFIX here. So we do a brute force search
4289 # through all the known MD_EXEC_PREFIX values. Ugh. This needs
4290 # to be fixed as part of the make/configure rewrite too.
4292 if test "x$exec_prefix" = xNONE; then
4293 if test "x$prefix" = xNONE; then
4294 test_prefix=/usr/local
4299 test_prefix=$exec_prefix
4302 # If the loop below does not find an assembler, then use whatever
4303 # one we can find in the users's path.
4307 test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
4308 $test_prefix/lib/gcc-lib/$target \
4309 /usr/lib/gcc/$target/$gcc_version \
4310 /usr/lib/gcc/$target \
4311 $test_prefix/$target/bin/$target/$gcc_version \
4312 $test_prefix/$target/bin \
4317 /bsd43/usr/lib/cmplrs/cc \
4318 /usr/cross64/usr/bin \
4319 /usr/lib/cmplrs/cc \
4320 /sysv/usr/lib/cmplrs/cc \
4321 /svr4/usr/lib/cmplrs/cc \
4324 for dir in $test_dirs; do
4325 if test -f $dir/as$host_exeext; then
4326 gcc_cv_as=$dir/as$host_exeext
4331 if test x$gcc_cv_as != x; then
4332 # Check if we have .balign and .p2align
4333 echo ".balign 4" > conftest.s
4334 echo ".p2align 2" >> conftest.s
4335 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4336 gcc_cv_as_alignment_features=".balign and .p2align"
4337 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4339 rm -f conftest.s conftest.o
4340 # Check if specifying the maximum bytes to skip when
4341 # using .p2align is supported.
4342 echo ".p2align 4,,7" > conftest.s
4343 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4344 gcc_cv_as_alignment_features=".p2align including maximum skip"
4345 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4347 rm -f conftest.s conftest.o
4349 AC_MSG_RESULT($gcc_cv_as_alignment_features)
4351 AC_MSG_CHECKING(assembler subsection support)
4352 gcc_cv_as_subsections=
4353 if test x$gcc_cv_as != x; then
4354 # Check if we have .subsection
4355 echo ".subsection 1" > conftest.s
4356 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4357 gcc_cv_as_subsections=".subsection"
4358 if test -x nm$host_exeext; then
4359 gcc_cv_nm=./nm$host_exeext
4360 elif test x$host = x$target; then
4362 gcc_cv_nm=nm$host_exeext
4364 if test x$gcc_cv_nm != x; then
4365 cat > conftest.s <<EOF
4366 conftest_label1: .word 0
4368 conftest_label2: .word 0
4371 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4372 $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
4373 $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
4374 if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
4377 gcc_cv_as_subsections="working .subsection -1"
4378 AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1,
4379 [Define if your assembler supports .subsection and .subsection -1 starts
4380 emitting at the beginning of your section.])
4385 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4387 AC_MSG_RESULT($gcc_cv_as_subsections)
4389 AC_MSG_CHECKING(assembler weak support)
4391 if test x$gcc_cv_as != x; then
4392 # Check if we have .weak
4393 echo " .weak foobar" > conftest.s
4394 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4395 AC_DEFINE(HAVE_GAS_WEAK, 1,
4396 [Define if your assembler supports .weak.])
4397 gcc_cv_as_weak="yes"
4399 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4401 AC_MSG_RESULT($gcc_cv_as_weak)
4403 AC_MSG_CHECKING(assembler hidden support)
4405 if test x$gcc_cv_as != x; then
4406 # Check if we have .hidden
4407 echo " .hidden foobar" > conftest.s
4408 echo "foobar:" >> conftest.s
4409 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4410 AC_DEFINE(HAVE_GAS_HIDDEN, 1,
4411 [Define if your assembler supports .hidden.])
4412 gcc_cv_as_hidden="yes"
4414 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4416 AC_MSG_RESULT($gcc_cv_as_hidden)
4420 AC_CACHE_CHECK([assembler .register pseudo-op support],
4421 gcc_cv_as_register_pseudo_op, [
4422 gcc_cv_as_register_pseudo_op=unknown
4423 if test x$gcc_cv_as != x; then
4424 # Check if we have .register
4425 echo ".register %g2, #scratch" > conftest.s
4426 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4427 gcc_cv_as_register_pseudo_op=yes
4429 gcc_cv_as_register_pseudo_op=no
4431 rm -f conftest.s conftest.o
4434 if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
4435 AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
4436 [Define if your assembler supports .register.])
4441 AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
4442 gcc_cv_as_flags64, [
4443 if test -n "$gcc_cv_as"; then
4444 echo ".xword foo" > conftest.s
4445 gcc_cv_as_flags64=no
4446 for flag in "-xarch=v9" "-64 -Av9"; do
4447 if $gcc_cv_as $flag -o conftest.o conftest.s \
4448 > /dev/null 2>&1; then
4449 gcc_cv_as_flags64=$flag
4453 rm -f conftest.s conftest.o
4455 if test "$gas" = yes; then
4456 gcc_cv_as_flags64="-64 -Av9"
4458 gcc_cv_as_flags64="-xarch=v9"
4462 if test "x$gcc_cv_as_flags64" = xno; then
4464 tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
4465 dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
4468 AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64",
4469 [Define if the assembler supports 64bit sparc.])
4472 *) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
4476 if test "x$gcc_cv_as_flags64" != xno; then
4477 AC_CACHE_CHECK([for assembler offsetable %lo() support],
4478 gcc_cv_as_offsetable_lo10, [
4479 gcc_cv_as_offsetable_lo10=unknown
4480 if test "x$gcc_cv_as" != x; then
4481 # Check if assembler has offsetable %lo()
4482 echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
4483 echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
4484 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
4486 $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
4487 > /dev/null 2>&1; then
4488 if cmp conftest.o conftest1.o > /dev/null 2>&1; then
4489 gcc_cv_as_offsetable_lo10=no
4491 gcc_cv_as_offsetable_lo10=yes
4494 gcc_cv_as_offsetable_lo10=no
4496 rm -f conftest.s conftest.o conftest1.s conftest1.o
4499 if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
4500 AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
4501 [Define if your assembler supports offsetable %lo().])
4509 AC_MSG_CHECKING(assembler instructions)
4510 gcc_cv_as_instructions=
4511 if test x$gcc_cv_as != x; then
4512 set "filds fists" "filds mem; fists mem"
4515 echo "$2" > conftest.s
4516 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4517 gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
4518 AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$1" | tr '[a-z ]' '[A-Z_]'`)
4522 rm -f conftest.s conftest.o
4524 AC_MSG_RESULT($gcc_cv_as_instructions)
4528 # Figure out what language subdirectories are present.
4529 # Look if the user specified --enable-languages="..."; if not, use
4530 # the environment variable $LANGUAGES if defined. $LANGUAGES might
4532 if test x"${enable_languages+set}" != xset; then
4533 if test x"${LANGUAGES+set}" = xset; then
4534 enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
4536 enable_languages=all
4540 for lang in ${srcdir}/*/config-lang.in ..
4544 # The odd quoting in the next line works around
4545 # an apparent bug in bash 1.12 on linux.
4547 ${srcdir}/[*]/config-lang.in) ;;
4549 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
4550 if test "x$lang_alias" = x
4552 echo "$lang doesn't set \$language." 1>&2
4555 if test x"${enable_languages}" = xall; then
4558 case "${enable_languages}" in
4559 ${lang_alias} | "${lang_alias},"* | *",${lang_alias},"* | *",${lang_alias}" )
4567 if test x"${add_this_lang}" = xyes; then
4569 ${srcdir}/ada/config-lang.in)
4570 if test x$gnat = xyes ; then
4571 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4575 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4584 # Make gthr-default.h if we have a thread file.
4586 if test $thread_file != single; then
4587 rm -f gthr-default.h
4588 echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
4589 gthread_flags=-DHAVE_GTHR_DEFAULT
4591 AC_SUBST(gthread_flags)
4593 # Find out what GC implementation we want, or may, use.
4595 [ --with-gc={simple,page} Choose the garbage collection mechanism to use
4596 with the compiler.],
4602 AC_MSG_ERROR([$withval is an invalid option to --with-gc])
4605 [if test $ac_cv_func_mmap_anywhere = yes \
4606 || test $ac_cv_func_valloc = yes; then
4612 echo "Using $GGC for garbage collection."
4614 # Build a new-abi (c++) system
4615 AC_ARG_ENABLE(new-gxx-abi,
4616 [ --enable-new-gxx-abi
4617 select the new abi for g++. You must select an ABI
4618 at configuration time, so that the correct runtime
4619 support is built. You cannot mix ABIs.],
4620 [AC_DEFINE(ENABLE_NEW_GXX_ABI, 1,
4621 [Define if you want to always select the new-abi for g++.])
4622 GXX_ABI_FLAG='-fnew-abi'
4623 echo "Building a new-abi g++ compiler."
4625 AC_SUBST(GXX_ABI_FLAG)
4627 # Build a new-libstdc++ system (ie libstdc++-v3)
4628 AC_MSG_CHECKING([for libstdc++ to install])
4629 AC_ARG_ENABLE(libstdcxx-v3,
4630 [ --enable-libstdcxx-v3
4631 enable libstdc++-v3 for building and installation],
4632 [enable_libstdcxx_v3=yes], [enable_libstdcxx_v3=no])
4634 if test x$enable_libstdcxx_v3 = xyes; then
4641 AC_DEFINE_UNQUOTED(ENABLE_STD_NAMESPACE, $ac_esn,
4642 [Define to 1 if you want to enable namespaces (-fhonor-std) by default.])
4644 # Make empty files to contain the specs and options for each language.
4645 # Then add #include lines to for a compiler that has specs and/or options.
4650 rm -f specs.h options.h gencheck.h
4651 touch specs.h options.h gencheck.h
4652 for subdir in . $subdirs
4654 if test -f $srcdir/$subdir/lang-specs.h; then
4655 echo "#include \"$subdir/lang-specs.h\"" >>specs.h
4656 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
4658 if test -f $srcdir/$subdir/lang-options.h; then
4659 echo "#include \"$subdir/lang-options.h\"" >>options.h
4660 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
4662 if test -f $srcdir/$subdir/$subdir-tree.def; then
4663 echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
4664 lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
4668 # These (without "all_") are set in each config-lang.in.
4669 # `language' must be a single word so is spelled singularly.
4675 all_outputs='Makefile intl/Makefile po/Makefile.in fixinc/Makefile gccbug'
4676 # List of language makefile fragments.
4681 # Add the language fragments.
4682 # Languages are added via two mechanisms. Some information must be
4683 # recorded in makefile variables, these are defined in config-lang.in.
4684 # We accumulate them and plug them into the main Makefile.
4685 # The other mechanism is a set of hooks for each of the main targets
4686 # like `clean', `install', etc.
4688 language_fragments="Make-lang"
4689 language_hooks="Make-hooks"
4692 for s in .. $subdirs
4704 . ${srcdir}/$s/config-lang.in
4705 if test "x$language" = x
4707 echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
4710 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
4711 all_languages="$all_languages $language"
4712 if test "x$boot_language" = xyes
4714 all_boot_languages="$all_boot_languages $language"
4716 all_compilers="$all_compilers $compilers"
4717 all_stagestuff="$all_stagestuff $stagestuff"
4718 all_diff_excludes="$all_diff_excludes $diff_excludes"
4719 all_headers="$all_headers $headers"
4720 all_outputs="$all_outputs $outputs"
4721 if test x$outputs = x
4723 oldstyle_subdirs="$oldstyle_subdirs $s"
4725 all_lib2funcs="$all_lib2funcs $lib2funcs"
4729 # Since we can't use `::' targets, we link each language in
4730 # with a set of hooks, reached indirectly via lang.${target}.
4734 target_list="all.build all.cross start.encap rest.encap \
4736 install-normal install-common install-info install-man \
4738 mostlyclean clean distclean extraclean maintainer-clean \
4739 stage1 stage2 stage3 stage4"
4740 for t in $target_list
4743 for lang in .. $all_languages
4745 if test $lang != ".."; then
4749 echo "lang.$t: $x" >> Make-hooks
4752 # If we're not building in srcdir, create .gdbinit.
4754 if test ! -f Makefile.in; then
4755 echo "dir ." > .gdbinit
4756 echo "dir ${srcdir}" >> .gdbinit
4757 if test x$gdb_needs_out_file_path = xyes
4759 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
4761 if test "x$subdirs" != x; then
4764 echo "dir ${srcdir}/$s" >> .gdbinit
4767 echo "source ${srcdir}/.gdbinit" >> .gdbinit
4770 # Define variables host_canonical and build_canonical
4771 # because some Cygnus local changes in the Makefile depend on them.
4772 build_canonical=${build}
4773 host_canonical=${host}
4775 if test "${host}" != "${target}" ; then
4776 target_subdir=${target}/
4778 AC_SUBST(build_canonical)
4779 AC_SUBST(host_canonical)
4780 AC_SUBST(target_subdir)
4782 # If this is using newlib, then define inhibit_libc in
4783 # LIBGCC2_CFLAGS. This will cause __eprintf to be left out of
4784 # libgcc.a, but that's OK because newib should have its own version of
4787 if test x$with_newlib = xyes; then
4788 inhibit_libc=-Dinhibit_libc
4790 AC_SUBST(inhibit_libc)
4792 # If $(exec_prefix) exists and is not the same as $(prefix), then compute an
4793 # absolute path for gcc_tooldir based on inserting the number of up-directory
4794 # movements required to get from $(exec_prefix) to $(prefix) into the basic
4795 # $(libsubdir)/@(unlibsubdir) based path.
4796 # Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
4797 # make and thus we'd get different behavior depending on where we built the
4799 if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
4800 gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
4802 changequote(<<, >>)dnl
4803 # An explanation of the sed strings:
4804 # -e 's|^\$(prefix)||' matches and eliminates 'prefix' from 'exec_prefix'
4805 # -e 's|/$||' match a trailing forward slash and eliminates it
4806 # -e 's|^[^/]|/|' forces the string to start with a forward slash (*)
4807 # -e 's|/[^/]*|../|g' replaces each occurance of /<directory> with ../
4809 # (*) Note this pattern overwrites the first character of the string
4810 # with a forward slash if one is not already present. This is not a
4811 # problem because the exact names of the sub-directories concerned is
4812 # unimportant, just the number of them matters.
4814 # The practical upshot of these patterns is like this:
4816 # prefix exec_prefix result
4817 # ------ ----------- ------
4819 # /foo/ /foo/bar ../
4820 # /foo /foo/bar/ ../
4821 # /foo/ /foo/bar/ ../
4822 # /foo /foo/bar/ugg ../../
4825 gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
4826 changequote([, ])dnl
4828 AC_SUBST(gcc_tooldir)
4831 # Nothing to do for FLOAT_H, float_format already handled.
4835 # Process the language and host/target makefile fragments.
4836 ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
4838 # Substitute configuration variables
4840 AC_SUBST(all_boot_languages)
4841 AC_SUBST(all_compilers)
4842 AC_SUBST(all_diff_excludes)
4843 AC_SUBST(all_headers)
4844 AC_SUBST(all_lang_makefiles)
4845 AC_SUBST(all_languages)
4846 AC_SUBST(all_lib2funcs)
4847 AC_SUBST(all_stagestuff)
4848 AC_SUBST(build_exeext)
4849 AC_SUBST(build_install_headers_dir)
4850 AC_SUBST(build_xm_file_list)
4851 AC_SUBST(cc_set_by_configure)
4852 AC_SUBST(quoted_cc_set_by_configure)
4853 AC_SUBST(cpp_install_dir)
4854 AC_SUBST(dep_host_xmake_file)
4855 AC_SUBST(dep_tmake_file)
4856 AC_SUBST(extra_c_flags)
4857 AC_SUBST(extra_c_objs)
4858 AC_SUBST(extra_cpp_objs)
4859 AC_SUBST(extra_cxx_objs)
4860 AC_SUBST(extra_headers_list)
4861 AC_SUBST(extra_objs)
4862 AC_SUBST(extra_parts)
4863 AC_SUBST(extra_passes)
4864 AC_SUBST(extra_programs)
4865 AC_SUBST(float_h_file)
4866 AC_SUBST(gcc_gxx_include_dir)
4867 AC_SUBST(gcc_version)
4868 AC_SUBST(gcc_version_trigger)
4869 AC_SUBST(host_exeext)
4870 AC_SUBST(host_extra_gcc_objs)
4871 AC_SUBST(host_xm_file_list)
4873 AC_SUBST(lang_options_files)
4874 AC_SUBST(lang_specs_files)
4875 AC_SUBST(lang_tree_files)
4876 AC_SUBST(local_prefix)
4877 AC_SUBST(maybe_use_collect2)
4879 AC_SUBST(objc_boehm_gc)
4881 AC_SUBST(out_object_file)
4882 AC_SUBST(stage_prefix_set_by_configure)
4883 AC_SUBST(symbolic_link)
4884 AC_SUBST(thread_file)
4885 AC_SUBST(tm_file_list)
4886 AC_SUBST(will_use_collect2)
4889 AC_SUBST_FILE(target_overrides)
4890 AC_SUBST_FILE(host_overrides)
4891 AC_SUBST(cross_defines)
4892 AC_SUBST_FILE(cross_overrides)
4893 AC_SUBST_FILE(build_overrides)
4894 AC_SUBST_FILE(language_fragments)
4895 AC_SUBST_FILE(language_hooks)
4897 # Echo that links are built
4898 if test x$host = x$target
4906 if test x$host != x$build
4908 str3=" on a $build system"
4911 if test "x$str2" != x || test "x$str3" != x
4916 echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
4918 if test "x$str2" != x || test "x$str3" != x
4920 echo " ${str2}${str3}." 1>&2
4923 # Truncate the target if necessary
4924 if test x$host_truncate_target != x; then
4925 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
4928 # Configure the subdirectories
4929 # AC_CONFIG_SUBDIRS($subdirs)
4931 # Create the Makefile
4932 # and configure language subdirectories
4933 AC_OUTPUT($all_outputs,
4935 . $srcdir/configure.lang
4936 case x$CONFIG_HEADERS in
4937 xauto-host.h:config.in)
4940 # If the host supports symlinks, point stage[1234] at ../stage[1234] so
4941 # bootstrapping and the installation procedure can still use
4942 # CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
4943 # FLAGS_TO_PASS has been modified to solve the problem there.
4944 # This is virtually a duplicate of what happens in configure.lang; we do
4945 # an extra check to make sure this only happens if ln -s can be used.
4946 if test "$symbolic_link" = "ln -s"; then
4947 for d in .. ${subdirs} ; do
4948 if test $d != ..; then
4951 for t in stage1 stage2 stage3 stage4 include
4954 $symbolic_link ../$t $t 2>/dev/null
4960 # Avoid having to add intl to our include paths.
4961 if test -f intl/libintl.h; then
4962 echo creating libintl.h
4963 echo '#include "intl/libintl.h"' >libintl.h
4970 target_alias='${target_alias}'
4972 subdirs='${subdirs}'
4973 oldstyle_subdirs='${oldstyle_subdirs}'
4974 symbolic_link='${symbolic_link}'
4975 program_transform_set='${program_transform_set}'
4976 program_transform_name='${program_transform_name}'
4977 dep_host_xmake_file='${dep_host_xmake_file}'
4978 host_xmake_file='${host_xmake_file}'
4979 dep_tmake_file='${dep_tmake_file}'
4980 tmake_file='${tmake_file}'
4981 thread_file='${thread_file}'
4982 gcc_version='${gcc_version}'
4983 gcc_version_trigger='${gcc_version_trigger}'
4984 local_prefix='${local_prefix}'
4985 build_install_headers_dir='${build_install_headers_dir}'
4986 build_exeext='${build_exeext}'
4987 host_exeext='${host_exeext}'
4988 out_file='${out_file}'
4989 gdb_needs_out_file_path='${gdb_needs_out_file_path}'
4990 SET_MAKE='${SET_MAKE}'
4991 target_list='${target_list}'
4992 target_overrides='${target_overrides}'
4993 host_overrides='${host_overrides}'
4994 cross_defines='${cross_defines}'
4995 cross_overrides='${cross_overrides}'
4996 build_overrides='${build_overrides}'
4997 cpp_install_dir='${cpp_install_dir}'