]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/configure.in
regclass.c (init_regs): Add "top_of_stack" as a garbage collection root.
[thirdparty/gcc.git] / gcc / configure.in
CommitLineData
46f18e7b
RK
1# configure.in for GNU CC
2# Process this file with autoconf to generate a configuration script.
3
4283012f 4# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
46f18e7b
RK
5
6#This file is part of GNU CC.
7
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)
11#any later version.
12
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.
17
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.
22
23# Initialization and defaults
c9a3de16 24AC_PREREQ(2.12.1)
46f18e7b 25AC_INIT(tree.c)
b7cb92ad 26AC_CONFIG_HEADER(auto-host.h:config.in)
cdcc6a01 27
46f18e7b
RK
28remove=rm
29hard_link=ln
30symbolic_link='ln -s'
31copy=cp
32
75a39864
JL
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
37# is true:
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
41AC_MSG_CHECKING(LIBRARY_PATH variable)
42changequote(,)dnl
43case ${LIBRARY_PATH} in
44 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
45 library_path_setting="contains current directory"
46 ;;
47 *)
48 library_path_setting="ok"
49 ;;
50esac
51changequote([,])dnl
52AC_MSG_RESULT($library_path_setting)
53if test "$library_path_setting" != "ok"; then
54AC_MSG_ERROR([
55*** LIBRARY_PATH shouldn't contain the current directory when
079bd08e 56*** building gcc. Please change the environment variable
75a39864
JL
57*** and run configure again.])
58fi
59
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
63# is true:
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
67AC_MSG_CHECKING(GCC_EXEC_PREFIX variable)
68changequote(,)dnl
69case ${GCC_EXEC_PREFIX} in
70 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
71 gcc_exec_prefix_setting="contains current directory"
72 ;;
73 *)
74 gcc_exec_prefix_setting="ok"
75 ;;
76esac
77changequote([,])dnl
78AC_MSG_RESULT($gcc_exec_prefix_setting)
79if test "$gcc_exec_prefix_setting" != "ok"; then
80AC_MSG_ERROR([
81*** GCC_EXEC_PREFIX shouldn't contain the current directory when
079bd08e 82*** building gcc. Please change the environment variable
75a39864
JL
83*** and run configure again.])
84fi
85
46f18e7b
RK
86# Check for additional parameters
87
88# With GNU ld
89AC_ARG_WITH(gnu-ld,
90[ --with-gnu-ld arrange to work with GNU ld.],
df6faf79
JW
91gnu_ld_flag="$with_gnu_ld",
92gnu_ld_flag=no)
46f18e7b 93
ab339d62
AO
94# With pre-defined ld
95AC_ARG_WITH(ld,
96[ --with-ld arrange to use the specified ld (full pathname).],
3ccc3a56
AO
97DEFAULT_LINKER="$with_ld")
98if 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])
e154a394 101 elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
ab339d62
AO
102 gnu_ld_flag=yes
103 fi
3ccc3a56 104 AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER")
ab339d62
AO
105fi
106
46f18e7b
RK
107# With GNU as
108AC_ARG_WITH(gnu-as,
4d8392b7 109[ --with-gnu-as arrange to work with GNU as.],
df6faf79
JW
110gas_flag="$with_gnu_as",
111gas_flag=no)
46f18e7b 112
ab339d62
AO
113AC_ARG_WITH(as,
114[ --with-as arrange to use the specified as (full pathname).],
3ccc3a56
AO
115DEFAULT_ASSEMBLER="$with_as")
116if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
117 if test ! -x "$DEFAULT_ASSEMBLER"; then
118 AC_MSG_WARN([cannot execute: $DEFAULT_ASSEMBLER: check --with-as or env. var. DEFAULT_ASSEMBLER])
e154a394 119 elif $DEFAULT_ASSEMBLER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
ab339d62
AO
120 gas_flag=yes
121 fi
3ccc3a56
AO
122 AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER")
123fi
ab339d62 124
46f18e7b
RK
125# With stabs
126AC_ARG_WITH(stabs,
127[ --with-stabs arrange to use stabs instead of host debug format.],
535b86ce 128stabs="$with_stabs",
46f18e7b
RK
129stabs=no)
130
131# With ELF
132AC_ARG_WITH(elf,
133[ --with-elf arrange to use ELF instead of host debug format.],
535b86ce 134elf="$with_elf",
46f18e7b
RK
135elf=no)
136
4d8392b7 137# Specify the local prefix
4e88d51b 138local_prefix=
4d8392b7
RK
139AC_ARG_WITH(local-prefix,
140[ --with-local-prefix=DIR specifies directory to put local include.],
4e88d51b
JM
141[case "${withval}" in
142yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
143no) ;;
144*) local_prefix=$with_local_prefix ;;
145esac])
4d8392b7
RK
146
147# Default local prefix if it is empty
75bffa71 148if test x$local_prefix = x; then
4d8392b7
RK
149 local_prefix=/usr/local
150fi
151
8f8d3278
NC
152# Don't set gcc_gxx_include_dir to gxx_include_dir since that's only
153# passed in by the toplevel make and thus we'd get different behavior
154# depending on where we built the sources.
155gcc_gxx_include_dir=
9514f0d1
RK
156# Specify the g++ header file directory
157AC_ARG_WITH(gxx-include-dir,
158[ --with-gxx-include-dir=DIR
159 specifies directory to put g++ header files.],
4e88d51b
JM
160[case "${withval}" in
161yes) AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
162no) ;;
8f8d3278 163*) gcc_gxx_include_dir=$with_gxx_include_dir ;;
4e88d51b
JM
164esac])
165
8f8d3278 166if test x${gcc_gxx_include_dir} = x; then
4e88d51b 167 if test x${enable_version_specific_runtime_libs} = xyes; then
8f8d3278 168 gcc_gxx_include_dir='${libsubdir}/include/g++'
4e88d51b 169 else
a270b446 170 topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
de82584d 171changequote(<<, >>)dnl
8f8d3278 172 gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
de82584d 173changequote([, ])dnl
4e88d51b
JM
174 fi
175fi
46f18e7b 176
a494747c
MM
177# Enable expensive internal checks
178AC_ARG_ENABLE(checking,
179[ --enable-checking enable expensive run-time checks.],
4e88d51b
JM
180[case "${enableval}" in
181yes) AC_DEFINE(ENABLE_CHECKING) ;;
182no) ;;
183*) AC_MSG_ERROR(bad value ${enableval} given for checking option) ;;
184esac])
a494747c 185
3ecc3258
ZW
186AC_ARG_ENABLE(cpp,
187[ --disable-cpp don't provide a user-visible C preprocessor.],
188[], [enable_cpp=yes])
189
190AC_ARG_WITH(cpp_install_dir,
191[ --with-cpp-install-dir=DIR
192 install the user visible C preprocessor in DIR
193 (relative to PREFIX) as well as PREFIX/bin.],
194[if test x$withval = xyes; then
195 AC_MSG_ERROR([option --with-cpp-install-dir requires an argument])
196elif test x$withval != xno; then
197 cpp_install_dir=$withval
198fi])
199
f81a440f 200# Use cpplib+cppmain for the preprocessor, but don't link it with the compiler.
e061d1ce 201cpp_main=cccp
f81a440f
ZW
202AC_ARG_ENABLE(cpplib,
203[ --enable-cpplib use cpplib for the C preprocessor.],
204if test x$enable_cpplib != xno; then
205 cpp_main=cppmain
206fi)
207
208# Link cpplib into the compiler proper, for C/C++/ObjC.
b4294351 209AC_ARG_ENABLE(c-cpplib,
f81a440f 210[ --enable-c-cpplib link cpplib directly into C and C++ compilers
3ecc3258 211 (EXPERIMENTAL) (implies --enable-cpplib).],
75bffa71 212if test x$enable_c_cpplib != xno; then
19283265
RH
213 extra_c_objs="${extra_c_objs} libcpp.a"
214 extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
8f8d3278 215 extra_c_flags="${extra_c_flags} -DUSE_CPPLIB=1"
e061d1ce 216 cpp_main=cppmain
b4294351 217fi)
f81a440f 218
76c8f855
BK
219# Disable fast fixincludes
220AC_ARG_ENABLE(fast-fixincludes,
221[ --disable-fast-fixincludes
222 Disable the new fast fixincludes.
223 Run the old fixincludes script unconditionally],
224if test x$enable_fast_fixincludes = xno ; then
225 cp $srcdir/fixincludes ./fixinc.sh
226fi)
227
c5c76735
JL
228# Enable Multibyte Characters for C/C++
229AC_ARG_ENABLE(c-mbchar,
230[ --enable-c-mbchar Enable multibyte characters for C and C++.],
231if [[[ x$enable_c_mbchar != xno ]]]; then
232 extra_c_flags=-DMULTIBYTE_CHARS=1
233fi)
234
0bbb1697
RK
235# Enable threads
236# Pass with no value to take the default
237# Pass with a value to specify a thread package
238AC_ARG_ENABLE(threads,
239[ --enable-threads enable thread usage for target GCC.
240 --enable-threads=LIB use LIB thread package for target GCC.],
75bffa71 241if test x$enable_threads = xno; then
0bbb1697
RK
242 enable_threads=''
243fi,
244enable_threads='')
245
e445171e 246enable_threads_flag=$enable_threads
0bbb1697 247# Check if a valid thread package
e445171e 248case x${enable_threads_flag} in
0bbb1697
RK
249 x | xno)
250 # No threads
a851212a 251 target_thread_file='single'
0bbb1697
RK
252 ;;
253 xyes)
254 # default
a851212a 255 target_thread_file=''
0bbb1697
RK
256 ;;
257 xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
7cc34889 258 xsolaris | xwin32 | xdce | xvxworks)
e445171e 259 target_thread_file=$enable_threads_flag
0bbb1697
RK
260 ;;
261 *)
262 echo "$enable_threads is an unknown thread package" 1>&2
263 exit 1
264 ;;
265esac
266
d8bb17c8
OP
267AC_ARG_ENABLE(objc-gc,
268[ --enable-objc-gc enable the use of Boehm's garbage collector with
269 the GNU Objective-C runtime.],
270if [[[ x$enable_objc_gc = xno ]]]; then
271 objc_boehm_gc=''
272else
273 objc_boehm_gc=1
274fi,
275objc_boehm_gc='')
276
90e6a802
RL
277AC_ARG_WITH(dwarf2,
278[ --enable-dwarf2 enable DWARF2 debugging as default.],
279dwarf2="$with_dwarf2",
280dwarf2=no)
281
46f18e7b
RK
282# Determine the host, build, and target systems
283AC_CANONICAL_SYSTEM
284
e9a25f70
JL
285# Find the native compiler
286AC_PROG_CC
04cabffc 287AC_GCC_C_LONG_DOUBLE
61842080
MM
288
289# If the native compiler is GCC, we can enable warnings even in stage1.
290# That's useful for people building cross-compilers, or just running a
291# quick `make'.
292if test "x$GCC" = "xyes"; then
293 stage1_warn_cflags='$(WARN_CFLAGS)'
294else
295 stage1_warn_cflags=""
296fi
297AC_SUBST(stage1_warn_cflags)
298
e9a25f70
JL
299AC_PROG_MAKE_SET
300
ab339d62 301AC_MSG_CHECKING([whether a default assembler was specified])
3ccc3a56 302if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
e154a394 303 if test x"$gas_flag" = x"no"; then
3ccc3a56 304 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
ab339d62 305 else
3ccc3a56 306 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
ab339d62
AO
307 fi
308else
309 AC_MSG_RESULT(no)
310fi
311
312AC_MSG_CHECKING([whether a default linker was specified])
3ccc3a56 313if test x"${DEFAULT_LINKER+set}" = x"set"; then
e154a394 314 if test x"$gnu_ld_flag" = x"no"; then
3ccc3a56 315 AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
ab339d62 316 else
3ccc3a56 317 AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
ab339d62
AO
318 fi
319else
320 AC_MSG_RESULT(no)
321fi
322
46f18e7b
RK
323# Find some useful tools
324AC_PROG_AWK
325AC_PROG_LEX
ac64120e
JW
326GCC_PROG_LN
327GCC_PROG_LN_S
e9b4fabf 328GCC_C_VOLATILE
46f18e7b
RK
329AC_PROG_RANLIB
330AC_PROG_YACC
76143254 331EGCS_PROG_INSTALL
46f18e7b 332
956d6950
JL
333AC_HEADER_STDC
334AC_HEADER_TIME
ccc7d11a 335GCC_HEADER_STRING
e9831ca0 336AC_HEADER_SYS_WAIT
03c41c05
ZW
337AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h \
338 fcntl.h unistd.h stab.h sys/file.h sys/time.h \
339 sys/resource.h sys/param.h sys/times.h sys/stat.h \
340 direct.h malloc.h)
7636d567 341
f24af81b
TT
342# Check for thread headers.
343AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
344AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
345
bcf12124
JL
346# See if GNAT has been installed
347AC_CHECK_PROG(gnat, gnatbind, yes, no)
348
76844337
RH
349# See if the system preprocessor understands the ANSI C preprocessor
350# stringification operator.
351AC_MSG_CHECKING(whether cpp understands the stringify operator)
352AC_CACHE_VAL(gcc_cv_c_have_stringify,
353[AC_TRY_COMPILE(,
354[#define S(x) #x
355char *test = S(foo);],
356gcc_cv_c_have_stringify=yes, gcc_cv_c_have_stringify=no)])
357AC_MSG_RESULT($gcc_cv_c_have_stringify)
358if test $gcc_cv_c_have_stringify = yes; then
359 AC_DEFINE(HAVE_CPP_STRINGIFY)
360fi
361
7636d567
JW
362# Use <inttypes.h> only if it exists,
363# doesn't clash with <sys/types.h>, and declares intmax_t.
364AC_MSG_CHECKING(for inttypes.h)
365AC_CACHE_VAL(gcc_cv_header_inttypes_h,
366[AC_TRY_COMPILE(
367 [#include <sys/types.h>
368#include <inttypes.h>],
369 [intmax_t i = -1;],
9da0e39b 370 [gcc_cv_header_inttypes_h=yes],
7636d567
JW
371 gcc_cv_header_inttypes_h=no)])
372AC_MSG_RESULT($gcc_cv_header_inttypes_h)
9da0e39b
AS
373if test $gcc_cv_header_inttypes_h = yes; then
374 AC_DEFINE(HAVE_INTTYPES_H)
375fi
cdcc6a01 376
76b4b31e 377AC_CHECK_FUNCS(strtoul bsearch strerror putenv popen bcopy bzero bcmp \
8f81384f 378 index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
54953b66 379 sysconf isascii gettimeofday strsignal putc_unlocked fputc_unlocked \
03c41c05 380 fputs_unlocked getrusage)
a81fb89e 381
56f48ce9
DB
382# Make sure wchar_t is available
383#AC_CHECK_TYPE(wchar_t, unsigned int)
384
76b4b31e 385GCC_FUNC_VFPRINTF_DOPRNT
f1b54f9b 386GCC_FUNC_PRINTF_PTR
b27d2bd5
MK
387
388case "${host}" in
389*-*-uwin*)
390 # Under some versions of uwin, vfork is notoriously buggy and the test
391 # can hang configure; on other versions, vfork exists just as a stub.
392 # FIXME: This should be removed once vfork in uwin's runtime is fixed.
393 ac_cv_func_vfork_works=no
394 ;;
395esac
c375c43b 396AC_FUNC_VFORK
f1b54f9b 397
c5c76735 398GCC_NEED_DECLARATIONS(bcopy bzero bcmp \
007e8d2a 399 index rindex getenv atol sbrk abort atof strerror getcwd getwd \
f36fcf57 400 strsignal putc_unlocked fputs_unlocked strstr)
cdcc6a01 401
c5c76735
JL
402GCC_NEED_DECLARATIONS(malloc realloc calloc free, [
403#ifdef HAVE_MALLOC_H
404#include <malloc.h>
405#endif
406])
407
03c41c05 408GCC_NEED_DECLARATIONS(getrlimit setrlimit getrusage, [
d2cabf16
KG
409#include <sys/types.h>
410#ifdef HAVE_SYS_RESOURCE_H
411#include <sys/resource.h>
412#endif
413])
414
e3512ac2
JL
415AC_DECL_SYS_SIGLIST
416
75923b2f
MK
417# mkdir takes a single argument on some systems.
418GCC_FUNC_MKDIR_TAKES_ONE_ARG
419
46f18e7b
RK
420# File extensions
421manext='.1'
422objext='.o'
46f18e7b
RK
423AC_SUBST(manext)
424AC_SUBST(objext)
46f18e7b
RK
425
426build_xm_file=
61536478 427build_xm_defines=
46f18e7b
RK
428build_install_headers_dir=install-headers-tar
429build_exeext=
430host_xm_file=
61536478 431host_xm_defines=
46f18e7b
RK
432host_xmake_file=
433host_truncate_target=
6e26218f 434host_exeext=
46f18e7b
RK
435
436# Decode the host machine, then the target machine.
437# For the host machine, we save the xm_file variable as host_xm_file;
438# then we decode the target machine and forget everything else
439# that came from the host machine.
440for machine in $build $host $target; do
441
442 out_file=
443 xmake_file=
444 tmake_file=
445 extra_headers=
446 extra_passes=
447 extra_parts=
448 extra_programs=
449 extra_objs=
450 extra_host_objs=
451 extra_gcc_objs=
61536478 452 xm_defines=
46f18e7b
RK
453 float_format=
454 # Set this to force installation and use of collect2.
455 use_collect2=
456 # Set this to override the default target model.
457 target_cpu_default=
46f18e7b
RK
458 # Set this to control how the header file directory is installed.
459 install_headers_dir=install-headers-tar
460 # Set this to a non-empty list of args to pass to cpp if the target
461 # wants its .md file passed through cpp.
462 md_cppflags=
463 # Set this if directory names should be truncated to 14 characters.
464 truncate_target=
465 # Set this if gdb needs a dir command with `dirname $out_file`
466 gdb_needs_out_file_path=
46f18e7b
RK
467 # Set this if the build machine requires executables to have a
468 # file name suffix.
469 exeext=
a851212a
JW
470 # Set this to control which thread package will be used.
471 thread_file=
df6faf79
JW
472 # Reinitialize these from the flag values every loop pass, since some
473 # configure entries modify them.
474 gas="$gas_flag"
475 gnu_ld="$gnu_ld_flag"
e445171e 476 enable_threads=$enable_threads_flag
46f18e7b 477
6baf1cc8
BS
478 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
479 # updated in each machine entry.
480 tm_p_file=
46f18e7b
RK
481 cpu_type=`echo $machine | sed 's/-.*$//'`
482 case $machine in
08fc0184
RK
483 alpha*-*-*)
484 cpu_type=alpha
485 ;;
46f18e7b
RK
486 arm*-*-*)
487 cpu_type=arm
488 ;;
489 c*-convex-*)
490 cpu_type=convex
491 ;;
75bffa71
ILT
492changequote(,)dnl
493 i[34567]86-*-*)
494changequote([,])dnl
46f18e7b
RK
495 cpu_type=i386
496 ;;
497 hppa*-*-*)
498 cpu_type=pa
499 ;;
500 m68000-*-*)
501 cpu_type=m68k
502 ;;
503 mips*-*-*)
504 cpu_type=mips
505 ;;
506 powerpc*-*-*)
507 cpu_type=rs6000
508 ;;
509 pyramid-*-*)
510 cpu_type=pyr
511 ;;
512 sparc*-*-*)
513 cpu_type=sparc
514 ;;
515 esac
516
517 tm_file=${cpu_type}/${cpu_type}.h
518 xm_file=${cpu_type}/xm-${cpu_type}.h
6baf1cc8
BS
519 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h;
520 then
521 tm_p_file=${cpu_type}/${cpu_type}-protos.h;
522 fi
7aae67a2
JM
523 # On a.out targets, we need to use collect2.
524 case $machine in
525 *-*-*aout*)
526 use_collect2=yes
527 ;;
528 esac
529
1b4a979b 530 # Common parts for linux-gnu and openbsd systems
61536478
JL
531 case $machine in
532 *-*-linux-gnu*)
c7391272 533 xm_defines="HAVE_ATEXIT POSIX BSTRING"
61536478 534 ;;
1b4a979b
ME
535 *-*-openbsd*)
536 tm_file=${cpu_type}/openbsd.h
1b4a979b
ME
537 tmake_file="t-libc-ok t-openbsd"
538 # avoid surprises, always provide an xm-openbsd file
539 xm_file=${cpu_type}/xm-openbsd.h
766518a0
ME
540 # don't depend on processor x-fragments as well
541 xmake_file=none
1b4a979b
ME
542 if test x$enable_threads = xyes; then
543 thread_file='posix'
544 tmake_file="${tmake_file} t-openbsd-thread"
545 fi
546 ;;
61536478
JL
547 esac
548
46f18e7b
RK
549 case $machine in
550 # Support site-specific machine types.
551 *local*)
552 cpu_type=`echo $machine | sed -e 's/-.*//'`
553 rest=`echo $machine | sed -e "s/$cpu_type-//"`
554 xm_file=${cpu_type}/xm-$rest.h
555 tm_file=${cpu_type}/$rest.h
75bffa71 556 if test -f $srcdir/config/${cpu_type}/x-$rest; \
46f18e7b
RK
557 then xmake_file=${cpu_type}/x-$rest; \
558 else true; \
559 fi
75bffa71 560 if test -f $srcdir/config/${cpu_type}/t-$rest; \
46f18e7b
RK
561 then tmake_file=${cpu_type}/t-$rest; \
562 else true; \
563 fi
564 ;;
565 1750a-*-*)
566 ;;
567 a29k-*-bsd* | a29k-*-sym1*)
568 tm_file="${tm_file} a29k/unix.h"
61536478 569 xm_defines=USG
46f18e7b
RK
570 xmake_file=a29k/x-unix
571 use_collect2=yes
572 ;;
573 a29k-*-udi | a29k-*-coff)
574 tm_file="${tm_file} dbxcoff.h a29k/udi.h"
575 tmake_file=a29k/t-a29kbare
576 ;;
7cc34889 577 a29k-wrs-vxworks*)
46f18e7b
RK
578 tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
579 tmake_file=a29k/t-vx29k
580 extra_parts="crtbegin.o crtend.o"
7cc34889 581 thread_file='vxworks'
46f18e7b
RK
582 ;;
583 a29k-*-*) # Default a29k environment.
584 use_collect2=yes
585 ;;
615c8231
DT
586 alpha-*-interix)
587 tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"
588
589 # GAS + IEEE_CONFORMANT+IEEE (no inexact);
8354da48 590 #target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT|MASK_IEEE"
615c8231 591
8354da48
JL
592 # GAS + IEEE_CONFORMANT
593 target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
615c8231
DT
594
595 xm_file="alpha/xm-alpha-interix.h xm-interix.h"
596 xmake_file="x-interix alpha/t-pe"
e345693a 597 tmake_file="alpha/t-interix alpha/t-ieee"
615c8231
DT
598 if test x$enable_threads = xyes ; then
599 thread_file='posix'
600 fi
601 if test x$stabs = xyes ; then
602 tm_file="${tm_file} dbxcoff.h"
603 fi
604 #prefix='$$INTERIX_ROOT'/usr/contrib
605 #local_prefix='$$INTERIX_ROOT'/usr/contrib
606 ;;
08fc0184 607 alpha*-*-linux-gnuecoff*)
8983c716 608 tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
61536478 609 target_cpu_default="MASK_GAS"
e345693a 610 tmake_file="alpha/t-ieee"
e71c3bb0 611 gas=no
46f18e7b 612 xmake_file=none
46f18e7b
RK
613 gas=yes gnu_ld=yes
614 ;;
704a6306 615 alpha*-*-linux-gnulibc1*)
9d654bba 616 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
61536478 617 target_cpu_default="MASK_GAS"
e345693a 618 tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux alpha/t-crtbe alpha/t-ieee"
574badbc 619 extra_parts="crtbegin.o crtend.o"
704a6306 620 xmake_file=none
704a6306 621 gas=yes gnu_ld=yes
75bffa71 622 if test x$enable_threads = xyes; then
704a6306
RH
623 thread_file='posix'
624 fi
625 ;;
08fc0184 626 alpha*-*-linux-gnu*)
9d654bba 627 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
61536478 628 target_cpu_default="MASK_GAS"
e345693a 629 tmake_file="t-linux alpha/t-linux alpha/t-crtbe alpha/t-ieee"
574badbc 630 extra_parts="crtbegin.o crtend.o"
46f18e7b 631 xmake_file=none
46f18e7b 632 gas=yes gnu_ld=yes
75bffa71 633 if test x$enable_threads = xyes; then
c811d261
RK
634 thread_file='posix'
635 fi
46f18e7b 636 ;;
9d654bba 637 alpha*-*-netbsd*)
66953094 638 tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
9d654bba 639 target_cpu_default="MASK_GAS"
e345693a 640 tmake_file="alpha/t-crtbe alpha/t-ieee"
9d654bba
RH
641 extra_parts="crtbegin.o crtend.o"
642 xmake_file=none
9d654bba
RH
643 gas=yes gnu_ld=yes
644 ;;
1b4a979b
ME
645
646 alpha*-*-openbsd*)
647 # default x-alpha is only appropriate for dec-osf.
648 target_cpu_default="MASK_GAS"
e345693a 649 tmake_file="alpha/t-ieee"
1b4a979b 650 ;;
9d654bba 651
e9a25f70 652 alpha*-dec-osf*)
75bffa71 653 if test x$stabs = xyes
dec3e070
JW
654 then
655 tm_file="${tm_file} dbx.h"
656 fi
75bffa71 657 if test x$gas != xyes
dec3e070
JW
658 then
659 extra_passes="mips-tfile mips-tdump"
660 fi
dec3e070 661 use_collect2=yes
e345693a 662 tmake_file="alpha/t-ieee"
dec3e070 663 case $machine in
6ecd4e53 664 *-*-osf1*)
b0435cf4 665 tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
e9a25f70 666 ;;
75bffa71
ILT
667changequote(,)dnl
668 *-*-osf[23]*)
669changequote([,])dnl
b0435cf4 670 tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
e9a25f70
JL
671 ;;
672 *-*-osf4*)
b0435cf4 673 tm_file="${tm_file} alpha/osf.h"
e9a25f70
JL
674 # Some versions of OSF4 (specifically X4.0-9 296.7) have
675 # a broken tar, so we use cpio instead.
dec3e070
JW
676 install_headers_dir=install-headers-cpio
677 ;;
7bc69973
JP
678 *-*-osf5*)
679 tm_file="${tm_file} alpha/osf.h"
680 ;;
dec3e070 681 esac
e9a25f70 682 case $machine in
75bffa71
ILT
683changequote(,)dnl
684 *-*-osf4.0[b-z] | *-*-osf4.[1-9]*)
685changequote([,])dnl
e9a25f70
JL
686 target_cpu_default=MASK_SUPPORT_ARCH
687 ;;
688 esac
46f18e7b 689 ;;
9ec36da5
JL
690 alpha*-*-vxworks*)
691 tm_file="${tm_file} dbx.h alpha/vxworks.h"
e345693a 692 tmake_file="alpha/t-ieee"
9ec36da5
JL
693 if [ x$gas != xyes ]
694 then
695 extra_passes="mips-tfile mips-tdump"
696 fi
697 use_collect2=yes
28897609 698 thread_file='vxworks'
9ec36da5 699 ;;
b0435cf4 700 alpha*-*-winnt*)
615c8231 701 tm_file="${tm_file} alpha/alpha32.h alpha/win-nt.h winnt/win-nt.h"
46f18e7b 702 xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
e345693a 703 tmake_file="t-libc-ok alpha/t-ieee"
46f18e7b
RK
704 xmake_file=winnt/x-winnt
705 extra_host_objs=oldnames.o
706 extra_gcc_objs="spawnv.o oldnames.o"
75bffa71 707 if test x$gnu_ld != xyes
46f18e7b
RK
708 then
709 extra_programs=ld.exe
710 fi
75bffa71 711 if test x$enable_threads = xyes; then
0bbb1697
RK
712 thread_file='win32'
713 fi
46f18e7b 714 ;;
08fc0184 715 alpha*-dec-vms*)
46f18e7b
RK
716 tm_file=alpha/vms.h
717 xm_file="${xm_file} alpha/xm-vms.h"
e345693a 718 tmake_file="alpha/t-vms alpha/t-ieee"
46f18e7b 719 ;;
66ed0683
JL
720 arc-*-elf*)
721 extra_parts="crtinit.o crtfini.o"
722 ;;
46f18e7b
RK
723 arm-*-coff* | armel-*-coff*)
724 tm_file=arm/coff.h
725 tmake_file=arm/t-bare
726 ;;
2aa0c933 727 arm-*-vxworks*)
e14db015 728 tm_file=arm/vxarm.h
2aa0c933 729 tmake_file=arm/t-bare
28897609 730 thread_file='vxworks'
2aa0c933 731 ;;
75bffa71
ILT
732changequote(,)dnl
733 arm-*-riscix1.[01]*) # Acorn RISC machine (early versions)
734changequote([,])dnl
46f18e7b
RK
735 tm_file=arm/riscix1-1.h
736 use_collect2=yes
737 ;;
738 arm-*-riscix*) # Acorn RISC machine
75bffa71 739 if test x$gas = xyes
46f18e7b
RK
740 then
741 tm_file=arm/rix-gas.h
742 else
743 tm_file=arm/riscix.h
744 fi
745 xmake_file=arm/x-riscix
746 tmake_file=arm/t-riscix
747 use_collect2=yes
748 ;;
749 arm-semi-aout | armel-semi-aout)
750 tm_file=arm/semi.h
751 tmake_file=arm/t-semi
46f18e7b
RK
752 ;;
753 arm-semi-aof | armel-semi-aof)
754 tm_file=arm/semiaof.h
755 tmake_file=arm/t-semiaof
46f18e7b 756 ;;
58600d24 757 arm*-*-netbsd*)
d23f4158 758 tm_file=arm/netbsd.h
641d4216 759 xm_file="arm/xm-netbsd.h ${xm_file}"
e9a25f70 760 tmake_file="t-netbsd arm/t-netbsd"
af0ca027 761 use_collect2=yes
d23f4158 762 ;;
b355a481 763 arm*-*-linux-gnuaout*) # ARM GNU/Linux with a.out
618d2e70 764 cpu_type=arm
618d2e70 765 xmake_file=x-linux
b355a481 766 tm_file=arm/linux-aout.h
618d2e70 767 tmake_file=arm/t-linux
618d2e70
RK
768 gnu_ld=yes
769 ;;
078e19a4 770 arm*-*-linux-gnuoldld*) # ARM GNU/Linux with old ELF linker
b355a481
NC
771 xm_file=arm/xm-linux.h
772 xmake_file=x-linux
078e19a4 773 tm_file="arm/linux-oldld.h arm/linux-elf.h"
b355a481
NC
774 case $machine in
775 armv2*-*-*)
078e19a4
PB
776 tm_file="arm/linux-elf26.h $tm_file"
777 ;;
778 esac
779 tmake_file="t-linux arm/t-linux"
780 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
781 gnu_ld=yes
782 case x${enable_threads} in
783 x | xyes | xpthreads | xposix)
784 thread_file='posix'
b355a481 785 ;;
078e19a4
PB
786 esac
787 ;;
788 arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
789 xm_file=arm/xm-linux.h
790 xmake_file=x-linux
791 tm_file="arm/linux-elf.h"
792 case $machine in
793 armv2*-*-*)
794 tm_file="arm/linux-elf26.h $tm_file"
b355a481
NC
795 ;;
796 esac
797 tmake_file="t-linux arm/t-linux"
798 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
b355a481 799 gnu_ld=yes
65120c40
SB
800 case x${enable_threads} in
801 x | xyes | xpthreads | xposix)
802 thread_file='posix'
803 ;;
804 esac
b355a481 805 ;;
483f6332
PB
806 arm*-*-uclinux*) # ARM ucLinux
807 tm_file=arm/uclinux-elf.h
808 tmake_file=arm/t-arm-elf
809 ;;
b355a481 810 arm*-*-aout)
f5967c59 811 tm_file=arm/aout.h
e9a25f70 812 tmake_file=arm/t-bare
46f18e7b 813 ;;
e6592fff
CM
814 arm*-*-ecos-elf)
815 tm_file=arm/ecos-elf.h
816 tmake_file=arm/t-elf
817 ;;
b355a481
NC
818 arm*-*-elf)
819 tm_file=arm/unknown-elf.h
820 tmake_file=arm/t-arm-elf
821 ;;
cbca921c
CM
822 arm*-*-oabi)
823 tm_file=arm/unknown-elf-oabi.h
824 tmake_file=arm/t-arm-elf
825 ;;
cb805c2d
NC
826 arm-*-pe*)
827 tm_file=arm/pe.h
828 tmake_file=arm/t-pe
829 extra_objs=pe.o
830 ;;
46f18e7b
RK
831 c1-convex-*) # Convex C1
832 target_cpu_default=1
833 use_collect2=yes
46f18e7b
RK
834 ;;
835 c2-convex-*) # Convex C2
836 target_cpu_default=2
837 use_collect2=yes
46f18e7b
RK
838 ;;
839 c32-convex-*)
840 target_cpu_default=4
841 use_collect2=yes
46f18e7b
RK
842 ;;
843 c34-convex-*)
844 target_cpu_default=8
845 use_collect2=yes
46f18e7b
RK
846 ;;
847 c38-convex-*)
848 target_cpu_default=16
849 use_collect2=yes
46f18e7b 850 ;;
62616695
MH
851 c4x-*)
852 cpu_type=c4x
853 tmake_file=c4x/t-c4x
854 ;;
46f18e7b
RK
855 clipper-intergraph-clix*)
856 tm_file="${tm_file} svr3.h clipper/clix.h"
857 xm_file=clipper/xm-clix.h
858 xmake_file=clipper/x-clix
859 extra_headers=va-clipper.h
860 extra_parts="crtbegin.o crtend.o"
861 install_headers_dir=install-headers-cpio
46f18e7b
RK
862 ;;
863 dsp16xx-*)
864 ;;
865 elxsi-elxsi-*)
866 use_collect2=yes
867 ;;
309dd885
NC
868 fr30-*-elf)
869 tm_file="fr30/fr30.h"
870 tmake_file=fr30/t-fr30
871 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
872 ;;
46f18e7b
RK
873# This hasn't been upgraded to GCC 2.
874# fx80-alliant-*) # Alliant FX/80
875# ;;
876 h8300-*-*)
877 float_format=i32
878 ;;
30f08b39
JL
879 hppa*-*-linux*)
880 target_cpu_default="(MASK_PA_11 | MASK_GAS | MASK_JUMP_IN_DELAY)"
881 tm_file="${tm_file} pa/elf.h linux.h pa/pa-linux.h"
882 tmake_file="t-linux pa/t-linux"
883 extra_parts="crtbegin.o crtend.o"
884 xmake_file=none
885 gas=yes gnu_ld=yes
886 if test x$enable_threads = xyes; then
887 thread_file='posix'
888 fi
889 ;;
1b4a979b 890 hppa*-*-openbsd*)
13ee407e 891 target_cpu_default="MASK_PA_11"
8f8d3278 892 tmake_file=pa/t-openbsd
1b4a979b 893 ;;
46f18e7b 894 hppa1.1-*-pro*)
0d381b47
JL
895 target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
896 tm_file="${tm_file} elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
46f18e7b
RK
897 xm_file=pa/xm-papro.h
898 tmake_file=pa/t-pro
899 ;;
900 hppa1.1-*-osf*)
13ee407e 901 target_cpu_default="MASK_PA_11"
0d381b47 902 tm_file="${tm_file} pa/som.h pa/pa-osf.h"
46f18e7b 903 use_collect2=yes
46f18e7b 904 ;;
dec3e070 905 hppa1.1-*-rtems*)
0d381b47
JL
906 target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
907 tm_file="${tm_file} elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
dec3e070
JW
908 xm_file=pa/xm-papro.h
909 tmake_file=pa/t-pro
910 ;;
46f18e7b 911 hppa1.0-*-osf*)
0d381b47 912 tm_file="${tm_file} pa/som.h pa/pa-osf.h"
46f18e7b 913 use_collect2=yes
46f18e7b
RK
914 ;;
915 hppa1.1-*-bsd*)
0d381b47 916 tm_file="${tm_file} pa/som.h"
13ee407e 917 target_cpu_default="MASK_PA_11"
46f18e7b 918 use_collect2=yes
46f18e7b
RK
919 ;;
920 hppa1.0-*-bsd*)
0d381b47 921 tm_file="${tm_file} pa/som.h"
46f18e7b 922 use_collect2=yes
46f18e7b
RK
923 ;;
924 hppa1.0-*-hpux7*)
0d381b47 925 tm_file="pa/pa-oldas.h ${tm_file} pa/som.h pa/pa-hpux7.h"
46f18e7b
RK
926 xm_file=pa/xm-pahpux.h
927 xmake_file=pa/x-pa-hpux
75bffa71 928 if test x$gas = xyes
46f18e7b
RK
929 then
930 tm_file="${tm_file} pa/gas.h"
931 fi
46f18e7b
RK
932 install_headers_dir=install-headers-cpio
933 use_collect2=yes
934 ;;
75bffa71
ILT
935changequote(,)dnl
936 hppa1.0-*-hpux8.0[0-2]*)
937changequote([,])dnl
0d381b47 938 tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
46f18e7b
RK
939 xm_file=pa/xm-pahpux.h
940 xmake_file=pa/x-pa-hpux
75bffa71 941 if test x$gas = xyes
46f18e7b
RK
942 then
943 tm_file="${tm_file} pa/pa-gas.h"
944 else
945 tm_file="pa/pa-oldas.h ${tm_file}"
946 fi
46f18e7b
RK
947 install_headers_dir=install-headers-cpio
948 use_collect2=yes
949 ;;
75bffa71
ILT
950changequote(,)dnl
951 hppa1.1-*-hpux8.0[0-2]*)
952changequote([,])dnl
13ee407e 953 target_cpu_default="MASK_PA_11"
0d381b47 954 tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
46f18e7b
RK
955 xm_file=pa/xm-pahpux.h
956 xmake_file=pa/x-pa-hpux
75bffa71 957 if test x$gas = xyes
46f18e7b
RK
958 then
959 tm_file="${tm_file} pa/pa-gas.h"
960 else
961 tm_file="pa/pa-oldas.h ${tm_file}"
962 fi
46f18e7b
RK
963 install_headers_dir=install-headers-cpio
964 use_collect2=yes
965 ;;
966 hppa1.1-*-hpux8*)
13ee407e 967 target_cpu_default="MASK_PA_11"
0d381b47 968 tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
46f18e7b
RK
969 xm_file=pa/xm-pahpux.h
970 xmake_file=pa/x-pa-hpux
75bffa71 971 if test x$gas = xyes
46f18e7b
RK
972 then
973 tm_file="${tm_file} pa/pa-gas.h"
974 fi
46f18e7b
RK
975 install_headers_dir=install-headers-cpio
976 use_collect2=yes
977 ;;
978 hppa1.0-*-hpux8*)
0d381b47 979 tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
46f18e7b
RK
980 xm_file=pa/xm-pahpux.h
981 xmake_file=pa/x-pa-hpux
75bffa71 982 if test x$gas = xyes
46f18e7b
RK
983 then
984 tm_file="${tm_file} pa/pa-gas.h"
985 fi
46f18e7b
RK
986 install_headers_dir=install-headers-cpio
987 use_collect2=yes
988 ;;
18cae839 989 hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
13ee407e 990 target_cpu_default="MASK_PA_11"
0d381b47 991 tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
46f18e7b
RK
992 xm_file=pa/xm-pahpux.h
993 xmake_file=pa/x-pa-hpux
f24af81b 994 tmake_file=pa/t-pa
75bffa71 995 if test x$gas = xyes
46f18e7b
RK
996 then
997 tm_file="${tm_file} pa/pa-gas.h"
998 fi
75bffa71 999 if test x$enable_threads = x; then
f24af81b
TT
1000 enable_threads=$have_pthread_h
1001 fi
75bffa71 1002 if test x$enable_threads = xyes; then
f24af81b
TT
1003 thread_file='dce'
1004 tmake_file="${tmake_file} pa/t-dce-thr"
1005 fi
46f18e7b
RK
1006 install_headers_dir=install-headers-cpio
1007 use_collect2=yes
1008 ;;
1009 hppa1.0-*-hpux10*)
0d381b47 1010 tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
46f18e7b
RK
1011 xm_file=pa/xm-pahpux.h
1012 xmake_file=pa/x-pa-hpux
661c7909 1013 tmake_file=pa/t-pa
75bffa71 1014 if test x$gas = xyes
46f18e7b
RK
1015 then
1016 tm_file="${tm_file} pa/pa-gas.h"
1017 fi
75bffa71 1018 if test x$enable_threads = x; then
d005a5a4
JL
1019 enable_threads=$have_pthread_h
1020 fi
75bffa71 1021 if test x$enable_threads = xyes; then
d005a5a4
JL
1022 thread_file='dce'
1023 tmake_file="${tmake_file} pa/t-dce-thr"
1024 fi
46f18e7b
RK
1025 install_headers_dir=install-headers-cpio
1026 use_collect2=yes
1027 ;;
fab7be4f 1028 hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
30f08b39 1029 target_cpu_default="MASK_PA_11"
0d381b47 1030 tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
fab7be4f
JL
1031 xm_file=pa/xm-pahpux.h
1032 xmake_file=pa/x-pa-hpux
1033 tmake_file=pa/t-pa
1034 if [[ x$gas = xyes ]]
1035 then
1036 tm_file="${tm_file} pa/pa-gas.h"
1037 fi
1038# if [[ x$enable_threads = x ]]; then
1039# enable_threads=$have_pthread_h
1040# fi
1041# if [[ x$enable_threads = xyes ]]; then
1042# thread_file='dce'
1043# tmake_file="${tmake_file} pa/t-dce-thr"
1044# fi
1045 install_headers_dir=install-headers-cpio
1046 use_collect2=yes
1047 ;;
1048 hppa1.0-*-hpux11*)
0d381b47 1049 tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
fab7be4f
JL
1050 xm_file=pa/xm-pahpux.h
1051 xmake_file=pa/x-pa-hpux
1052 if [[ x$gas = xyes ]]
1053 then
1054 tm_file="${tm_file} pa/pa-gas.h"
1055 fi
1056# if [[ x$enable_threads = x ]]; then
1057# enable_threads=$have_pthread_h
1058# fi
1059# if [[ x$enable_threads = xyes ]]; then
1060# thread_file='dce'
1061# tmake_file="${tmake_file} pa/t-dce-thr"
1062# fi
1063 install_headers_dir=install-headers-cpio
1064 use_collect2=yes
1065 ;;
18cae839 1066 hppa1.1-*-hpux* | hppa2*-*-hpux*)
13ee407e 1067 target_cpu_default="MASK_PA_11"
0d381b47 1068 tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
46f18e7b
RK
1069 xm_file=pa/xm-pahpux.h
1070 xmake_file=pa/x-pa-hpux
75bffa71 1071 if test x$gas = xyes
46f18e7b
RK
1072 then
1073 tm_file="${tm_file} pa/pa-gas.h"
1074 fi
46f18e7b
RK
1075 install_headers_dir=install-headers-cpio
1076 use_collect2=yes
1077 ;;
1078 hppa1.0-*-hpux*)
0d381b47 1079 tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
46f18e7b
RK
1080 xm_file=pa/xm-pahpux.h
1081 xmake_file=pa/x-pa-hpux
75bffa71 1082 if test x$gas = xyes
46f18e7b
RK
1083 then
1084 tm_file="${tm_file} pa/pa-gas.h"
1085 fi
46f18e7b
RK
1086 install_headers_dir=install-headers-cpio
1087 use_collect2=yes
1088 ;;
18cae839 1089 hppa1.1-*-hiux* | hppa2*-*-hiux*)
13ee407e 1090 target_cpu_default="MASK_PA_11"
0d381b47 1091 tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
46f18e7b
RK
1092 xm_file=pa/xm-pahpux.h
1093 xmake_file=pa/x-pa-hpux
75bffa71 1094 if test x$gas = xyes
46f18e7b
RK
1095 then
1096 tm_file="${tm_file} pa/pa-gas.h"
1097 fi
46f18e7b
RK
1098 install_headers_dir=install-headers-cpio
1099 use_collect2=yes
1100 ;;
1101 hppa1.0-*-hiux*)
0d381b47 1102 tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
46f18e7b
RK
1103 xm_file=pa/xm-pahpux.h
1104 xmake_file=pa/x-pa-hpux
75bffa71 1105 if test x$gas = xyes
46f18e7b
RK
1106 then
1107 tm_file="${tm_file} pa/pa-gas.h"
1108 fi
46f18e7b
RK
1109 install_headers_dir=install-headers-cpio
1110 use_collect2=yes
1111 ;;
1112 hppa*-*-lites*)
0d381b47 1113 tm_file="${tm_file} elfos.h pa/elf.h"
13ee407e 1114 target_cpu_default="MASK_PA_11"
46f18e7b 1115 use_collect2=yes
46f18e7b 1116 ;;
6bc2c8c8
MK
1117 hppa*-*-mpeix*)
1118 tm_file="${tm_file} pa/pa-mpeix.h"
1119 xm_file=pa/xm-pampeix.h
1120 xmake_file=pa/x-pa-mpeix
1121 echo "You must use gas. Assuming it is already installed."
1122 install_headers_dir=install-headers-tar
1123 fixincludes=Makefile.in
1124 use_collect2=yes
1125 ;;
a2b368b6
LV
1126 i370-*-opened*) # IBM 360/370/390 Architecture
1127 xm_file=i370/xm-oe.h
1128 tm_file=i370/oe.h
1129 xmake_file=i370/x-oe
1130 tmake_file=i370/t-oe
1131 fixincludes=Makefile.in # Headers are wierd, don't mess with
1132 ;;
46f18e7b 1133 i370-*-mvs*)
a2b368b6
LV
1134 xm_file=i370/xm-mvs.h
1135 tm_file=i370/mvs.h
1136 tmake_file=i370/t-mvs
1137 fixincludes=Makefile.in # Headers are wierd, don't mess with
1138 ;;
1139 i370-*-linux*)
1140 xm_file="xm-linux.h i370/xm-linux.h"
1141 xmake_file=x-linux
1142 tm_file="i370/linux.h ${tm_file}"
1143 tmake_file="t-linux i370/t-linux"
1144 fixincludes=Makefile.in # The headers are ok already.
1145 # broken_install=yes
1146 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1147 # extra_parts="crtbegin.o crtend.o"
1148 gnu_ld=yes
1149 gas=yes
1150 elf=yes
1151 if [[ x$enable_threads = xyes ]]; then
1152 thread_file='posix'
1153 fi
46f18e7b 1154 ;;
9b5c756a
JL
1155changequote(,)dnl
1156 i[34567]86-*-elf*)
1157changequote([,])dnl
1158 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
1159 tm_file=i386/i386elf.h
1160 tmake_file=i386/t-i386elf
1161 xmake_file=x-svr4
1162 ;;
75bffa71
ILT
1163changequote(,)dnl
1164 i[34567]86-ibm-aix*) # IBM PS/2 running AIX
1165changequote([,])dnl
1166 if test x$gas = xyes
46f18e7b
RK
1167 then
1168 tm_file=i386/aix386.h
1169 extra_parts="crtbegin.o crtend.o"
1170 tmake_file=i386/t-crtstuff
1171 else
1172 tm_file=i386/aix386ng.h
1173 use_collect2=yes
1174 fi
61536478
JL
1175 xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
1176 xm_defines=USG
46f18e7b 1177 xmake_file=i386/x-aix
46f18e7b 1178 ;;
75bffa71
ILT
1179changequote(,)dnl
1180 i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4
1181changequote([,])dnl
61536478
JL
1182 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
1183 xm_defines="USG POSIX SMALL_ARG_MAX"
46f18e7b 1184 xmake_file=i386/x-ncr3000
75bffa71 1185 if test x$stabs = xyes -a x$gas = xyes
46f18e7b
RK
1186 then
1187 tm_file=i386/sysv4gdb.h
1188 else
1189 tm_file=i386/sysv4.h
1190 fi
1191 extra_parts="crtbegin.o crtend.o"
1192 tmake_file=i386/t-crtpic
1193 ;;
75bffa71
ILT
1194changequote(,)dnl
1195 i[34567]86-next-*)
1196changequote([,])dnl
46f18e7b
RK
1197 tm_file=i386/next.h
1198 xm_file=i386/xm-next.h
1199 tmake_file=i386/t-next
1200 xmake_file=i386/x-next
1201 extra_objs=nextstep.o
750930c1 1202 extra_parts="crtbegin.o crtend.o"
75bffa71 1203 if test x$enable_threads = xyes; then
0bbb1697
RK
1204 thread_file='mach'
1205 fi
46f18e7b 1206 ;;
75bffa71
ILT
1207changequote(,)dnl
1208 i[34567]86-sequent-bsd*) # 80386 from Sequent
1209changequote([,])dnl
46f18e7b 1210 use_collect2=yes
75bffa71 1211 if test x$gas = xyes
46f18e7b
RK
1212 then
1213 tm_file=i386/seq-gas.h
1214 else
1215 tm_file=i386/sequent.h
1216 fi
1217 ;;
75bffa71
ILT
1218changequote(,)dnl
1219 i[34567]86-sequent-ptx1*)
1220changequote([,])dnl
61536478 1221 xm_defines="USG SVR3"
46f18e7b
RK
1222 xmake_file=i386/x-sysv3
1223 tm_file=i386/seq-sysv3.h
1224 tmake_file=i386/t-crtstuff
46f18e7b
RK
1225 extra_parts="crtbegin.o crtend.o"
1226 install_headers_dir=install-headers-cpio
46f18e7b 1227 ;;
75bffa71
ILT
1228changequote(,)dnl
1229 i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
1230changequote([,])dnl
61536478 1231 xm_defines="USG SVR3"
46f18e7b
RK
1232 xmake_file=i386/x-sysv3
1233 tm_file=i386/seq2-sysv3.h
1234 tmake_file=i386/t-crtstuff
1235 extra_parts="crtbegin.o crtend.o"
46f18e7b 1236 install_headers_dir=install-headers-cpio
46f18e7b 1237 ;;
75bffa71
ILT
1238changequote(,)dnl
1239 i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
1240changequote([,])dnl
61536478
JL
1241 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
1242 xm_defines="USG POSIX SMALL_ARG_MAX"
46f18e7b
RK
1243 xmake_file=x-svr4
1244 tm_file=i386/ptx4-i.h
1245 tmake_file=t-svr4
1246 extra_parts="crtbegin.o crtend.o"
46f18e7b 1247 install_headers_dir=install-headers-cpio
46f18e7b
RK
1248 ;;
1249 i386-sun-sunos*) # Sun i386 roadrunner
61536478 1250 xm_defines=USG
46f18e7b
RK
1251 tm_file=i386/sun.h
1252 use_collect2=yes
1253 ;;
75bffa71
ILT
1254changequote(,)dnl
1255 i[34567]86-wrs-vxworks*)
1256changequote([,])dnl
9e89df50
MS
1257 tm_file=i386/vxi386.h
1258 tmake_file=i386/t-i386bare
28897609 1259 thread_file='vxworks'
9e89df50 1260 ;;
75bffa71
ILT
1261changequote(,)dnl
1262 i[34567]86-*-aout*)
1263changequote([,])dnl
46f18e7b
RK
1264 tm_file=i386/i386-aout.h
1265 tmake_file=i386/t-i386bare
1266 ;;
75bffa71
ILT
1267changequote(,)dnl
1268 i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
1269changequote([,])dnl
46f18e7b 1270 tm_file=i386/bsd386.h
46f18e7b
RK
1271# tmake_file=t-libc-ok
1272 ;;
75bffa71
ILT
1273changequote(,)dnl
1274 i[34567]86-*-bsd*)
1275changequote([,])dnl
46f18e7b 1276 tm_file=i386/386bsd.h
46f18e7b
RK
1277# tmake_file=t-libc-ok
1278# Next line turned off because both 386BSD and BSD/386 use GNU ld.
1279# use_collect2=yes
1280 ;;
75bffa71
ILT
1281changequote(,)dnl
1282 i[34567]86-*-freebsdelf*)
1283changequote([,])dnl
d0550c9b 1284 tm_file="i386/i386.h i386/att.h svr4.h i386/freebsd-elf.h i386/perform.h"
56830143 1285 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
d0550c9b 1286 tmake_file=t-freebsd
46f18e7b
RK
1287 gas=yes
1288 gnu_ld=yes
1289 stabs=yes
46346e0e
LR
1290 case x${enable_threads} in
1291 xyes | xpthreads | xposix)
1292 thread_file='posix'
1293 tmake_file="${tmake_file} t-openbsd-thread"
1294 ;;
1295 esac
46f18e7b 1296 ;;
75bffa71
ILT
1297changequote(,)dnl
1298 i[34567]86-*-freebsd*)
1299changequote([,])dnl
46f18e7b 1300 tm_file=i386/freebsd.h
d0550c9b 1301 tmake_file=t-freebsd
46f18e7b 1302 ;;
75bffa71 1303changequote(,)dnl
1b4a979b 1304 i[34567]86-*-netbsd*)
75bffa71 1305changequote([,])dnl
46f18e7b 1306 tm_file=i386/netbsd.h
e47f44f4 1307 tmake_file=t-netbsd
af0ca027 1308 use_collect2=yes
46f18e7b 1309 ;;
1b4a979b
ME
1310changequote(,)dnl
1311 i[34567]86-*-openbsd*)
1312changequote([,])dnl
1b4a979b
ME
1313 # we need collect2 until our bug is fixed...
1314 use_collect2=yes
1315 ;;
75bffa71
ILT
1316changequote(,)dnl
1317 i[34567]86-*-coff*)
1318changequote([,])dnl
46f18e7b
RK
1319 tm_file=i386/i386-coff.h
1320 tmake_file=i386/t-i386bare
1321 ;;
75bffa71
ILT
1322changequote(,)dnl
1323 i[34567]86-*-isc*) # 80386 running ISC system
1324changequote([,])dnl
61536478
JL
1325 xm_file="${xm_file} i386/xm-isc.h"
1326 xm_defines="USG SVR3"
46f18e7b 1327 case $machine in
75bffa71
ILT
1328changequote(,)dnl
1329 i[34567]86-*-isc[34]*)
1330changequote([,])dnl
46f18e7b
RK
1331 xmake_file=i386/x-isc3
1332 ;;
1333 *)
1334 xmake_file=i386/x-isc
1335 ;;
1336 esac
75bffa71 1337 if test x$gas = xyes -a x$stabs = xyes
46f18e7b
RK
1338 then
1339 tm_file=i386/iscdbx.h
1340 tmake_file=i386/t-svr3dbx
1341 extra_parts="svr3.ifile svr3z.ifile"
1342 else
1343 tm_file=i386/isccoff.h
1344 tmake_file=i386/t-crtstuff
1345 extra_parts="crtbegin.o crtend.o"
1346 fi
1347 install_headers_dir=install-headers-cpio
46f18e7b 1348 ;;
75bffa71
ILT
1349changequote(,)dnl
1350 i[34567]86-*-linux-gnuoldld*) # Intel 80386's running GNU/Linux
1351changequote([,])dnl # with a.out format using
61536478 1352 # pre BFD linkers
46f18e7b
RK
1353 xmake_file=x-linux-aout
1354 tmake_file="t-linux-aout i386/t-crtstuff"
1355 tm_file=i386/linux-oldld.h
46f18e7b 1356 gnu_ld=yes
f906a0f0 1357 float_format=i386
46f18e7b 1358 ;;
75bffa71
ILT
1359changequote(,)dnl
1360 i[34567]86-*-linux-gnuaout*) # Intel 80386's running GNU/Linux
1361changequote([,])dnl # with a.out format
46f18e7b
RK
1362 xmake_file=x-linux-aout
1363 tmake_file="t-linux-aout i386/t-crtstuff"
1364 tm_file=i386/linux-aout.h
46f18e7b 1365 gnu_ld=yes
f906a0f0 1366 float_format=i386
46f18e7b 1367 ;;
75bffa71
ILT
1368changequote(,)dnl
1369 i[34567]86-*-linux-gnulibc1) # Intel 80386's running GNU/Linux
1370changequote([,])dnl # with ELF format using the
61536478
JL
1371 # GNU/Linux C library 5
1372 xmake_file=x-linux
1373 tm_file=i386/linux.h
78b9f8df
RK
1374 tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
1375 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
78b9f8df 1376 gnu_ld=yes
f906a0f0 1377 float_format=i386
75bffa71 1378 if test x$enable_threads = xyes; then
78b9f8df
RK
1379 thread_file='single'
1380 fi
1381 ;;
75bffa71
ILT
1382changequote(,)dnl
1383 i[34567]86-*-linux-gnu*) # Intel 80386's running GNU/Linux
1384changequote([,])dnl # with ELF format using glibc 2
61536478
JL
1385 # aka GNU/Linux C library 6
1386 xmake_file=x-linux
46f18e7b
RK
1387 tm_file=i386/linux.h
1388 tmake_file="t-linux i386/t-crtstuff"
1389 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
46f18e7b 1390 gnu_ld=yes
f906a0f0 1391 float_format=i386
75bffa71 1392 if test x$enable_threads = xyes; then
78b9f8df
RK
1393 thread_file='posix'
1394 fi
46f18e7b 1395 ;;
75bffa71
ILT
1396changequote(,)dnl
1397 i[34567]86-*-gnu*)
cd9e5e7c 1398 float_format=i386
75bffa71 1399changequote([,])dnl
61536478 1400 ;;
75bffa71
ILT
1401changequote(,)dnl
1402 i[34567]86-go32-msdos | i[34567]86-*-go32*)
1403changequote([,])dnl
77d787fa 1404 echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
866fb7cc 1405 exit 1
46f18e7b 1406 ;;
75bffa71
ILT
1407changequote(,)dnl
1408 i[34567]86-pc-msdosdjgpp*)
1409changequote([,])dnl
77d787fa
ME
1410 xm_file=i386/xm-djgpp.h
1411 tm_file=i386/djgpp.h
1412 tmake_file=i386/t-djgpp
1413 xmake_file=i386/x-djgpp
61536478
JL
1414 gnu_ld=yes
1415 gas=yes
dedcc399 1416 exeext=.exe
77d787fa 1417 case $host in *pc-msdosdjgpp*)
dedcc399
ME
1418 target_alias=djgpp
1419 ;;
1420 esac
46f18e7b 1421 ;;
75bffa71
ILT
1422changequote(,)dnl
1423 i[34567]86-moss-msdos* | i[34567]86-*-moss*)
1424changequote([,])dnl
46f18e7b
RK
1425 tm_file=i386/moss.h
1426 tmake_file=t-libc-ok
46f18e7b
RK
1427 gnu_ld=yes
1428 gas=yes
1429 ;;
75bffa71
ILT
1430changequote(,)dnl
1431 i[34567]86-*-lynxos*)
1432changequote([,])dnl
1433 if test x$gas = xyes
46f18e7b
RK
1434 then
1435 tm_file=i386/lynx.h
1436 else
1437 tm_file=i386/lynx-ng.h
1438 fi
1439 xm_file=i386/xm-lynx.h
1440 tmake_file=i386/t-i386bare
1441 xmake_file=x-lynx
1442 ;;
75bffa71
ILT
1443changequote(,)dnl
1444 i[34567]86-*-mach*)
1445changequote([,])dnl
46f18e7b
RK
1446 tm_file=i386/mach.h
1447# tmake_file=t-libc-ok
1448 use_collect2=yes
1449 ;;
75bffa71
ILT
1450changequote(,)dnl
1451 i[34567]86-*-osfrose*) # 386 using OSF/rose
1452changequote([,])dnl
1453 if test x$elf = xyes
46f18e7b
RK
1454 then
1455 tm_file=i386/osfelf.h
1456 use_collect2=
1457 else
1458 tm_file=i386/osfrose.h
1459 use_collect2=yes
1460 fi
61536478 1461 xm_file="i386/xm-osf.h ${xm_file}"
46f18e7b
RK
1462 xmake_file=i386/x-osfrose
1463 tmake_file=i386/t-osf
1464 extra_objs=halfpic.o
1465 ;;
75bffa71
ILT
1466changequote(,)dnl
1467 i[34567]86-go32-rtems*)
1468changequote([,])dnl
46f18e7b
RK
1469 cpu_type=i386
1470 xm_file=i386/xm-go32.h
1471 tm_file=i386/go32-rtems.h
1472 tmake_file="i386/t-go32 t-rtems"
1473 ;;
75bffa71 1474changequote(,)dnl
d1476635 1475 i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
75bffa71 1476changequote([,])dnl
f5963e61
JL
1477 cpu_type=i386
1478 tm_file=i386/rtemself.h
d1476635
JS
1479 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
1480 tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
f5963e61 1481 ;;
75bffa71 1482changequote(,)dnl
d1476635 1483 i[34567]86-*-rtemscoff*)
75bffa71 1484changequote([,])dnl
46f18e7b
RK
1485 cpu_type=i386
1486 tm_file=i386/rtems.h
1487 tmake_file="i386/t-i386bare t-rtems"
1488 ;;
75bffa71
ILT
1489changequote(,)dnl
1490 i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
1491changequote([,])dnl
61536478
JL
1492 xm_file="xm-siglist.h xm-alloca.h ${xm_file} i386/xm-sco5.h"
1493 xm_defines="USG SVR3"
46f18e7b 1494 xmake_file=i386/x-sco5
f6857708 1495 install_headers_dir=install-headers-cpio
46f18e7b 1496 tm_file=i386/sco5.h
75bffa71 1497 if test x$gas = xyes
f7c9c2bb
RL
1498 then
1499 tm_file="i386/sco5gas.h ${tm_file}"
1500 tmake_file=i386/t-sco5gas
1501 else
1502 tmake_file=i386/t-sco5
1503 fi
42902a72 1504 extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
46f18e7b 1505 ;;
75bffa71
ILT
1506changequote(,)dnl
1507 i[34567]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system
1508changequote([,])dnl
61536478
JL
1509 xm_file="${xm_file} i386/xm-sco.h"
1510 xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX NO_SYS_SIGLIST"
46f18e7b 1511 xmake_file=i386/x-sco4
46f18e7b 1512 install_headers_dir=install-headers-cpio
75bffa71 1513 if test x$stabs = xyes
46f18e7b
RK
1514 then
1515 tm_file=i386/sco4dbx.h
1516 tmake_file=i386/t-svr3dbx
1517 extra_parts="svr3.ifile svr3z.rfile"
1518 else
1519 tm_file=i386/sco4.h
1520 tmake_file=i386/t-crtstuff
1521 extra_parts="crtbegin.o crtend.o"
1522 fi
090164c0
WB
1523 # The default EAFS filesystem supports long file names.
1524 # Truncating the target makes $host != $target which
1525 # makes gcc think it is doing a cross-compile.
1526 # truncate_target=yes
46f18e7b 1527 ;;
75bffa71
ILT
1528changequote(,)dnl
1529 i[34567]86-*-sco*) # 80386 running SCO system
1530changequote([,])dnl
46f18e7b
RK
1531 xm_file=i386/xm-sco.h
1532 xmake_file=i386/x-sco
46f18e7b 1533 install_headers_dir=install-headers-cpio
75bffa71 1534 if test x$stabs = xyes
46f18e7b
RK
1535 then
1536 tm_file=i386/scodbx.h
1537 tmake_file=i386/t-svr3dbx
1538 extra_parts="svr3.ifile svr3z.rfile"
1539 else
1540 tm_file=i386/sco.h
1541 extra_parts="crtbegin.o crtend.o"
1542 tmake_file=i386/t-crtstuff
1543 fi
1544 truncate_target=yes
1545 ;;
75bffa71
ILT
1546changequote(,)dnl
1547 i[34567]86-*-solaris2*)
1548changequote([,])dnl
61536478
JL
1549 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
1550 xm_defines="USG POSIX SMALL_ARG_MAX"
0c723ada
AO
1551 tm_file=i386/sol2.h
1552 if test x$gas = xyes; then
1553 # Only needed if gas does not support -s
1554 tm_file="i386/sol2gas.h ${tm_file}"
46f18e7b
RK
1555 fi
1556 tmake_file=i386/t-sol2
61536478 1557 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
46f18e7b 1558 xmake_file=x-svr4
4a8021dc
AO
1559 if test x${enable_threads} = x; then
1560 enable_threads=$have_pthread_h
1561 if test x${enable_threads} = x; then
1562 enable_threads=$have_thread_h
1563 fi
1564 fi
1565 if test x${enable_threads} = xyes; then
1566 if test x${have_pthread_h} = xyes; then
1567 thread_file='posix'
1568 else
0bbb1697 1569 thread_file='solaris'
4a8021dc 1570 fi
0bbb1697 1571 fi
46f18e7b 1572 ;;
75bffa71
ILT
1573changequote(,)dnl
1574 i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
1575changequote([,])dnl
a4cbe801
RL
1576 xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
1577 xm_defines="USG POSIX"
87e11b70 1578 tm_file=i386/sysv5.h
75bffa71 1579 if test x$stabs = xyes
fe07d4c1
RL
1580 then
1581 tm_file="${tm_file} dbx.h"
1582 fi
1583 tmake_file=i386/t-crtpic
1584 xmake_file=x-svr4
1585 extra_parts="crtbegin.o crtend.o"
01e39005
RL
1586 if test x$enable_threads = xyes; then
1587 thread_file='posix'
1588 fi
fe07d4c1 1589 ;;
75bffa71
ILT
1590changequote(,)dnl
1591 i[34567]86-*-sysv4*) # Intel 80386's running system V.4
1592changequote([,])dnl
61536478
JL
1593 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
1594 xm_defines="USG POSIX SMALL_ARG_MAX"
46f18e7b 1595 tm_file=i386/sysv4.h
75bffa71 1596 if test x$stabs = xyes
46f18e7b
RK
1597 then
1598 tm_file="${tm_file} dbx.h"
1599 fi
1600 tmake_file=i386/t-crtpic
1601 xmake_file=x-svr4
1602 extra_parts="crtbegin.o crtend.o"
1603 ;;
5aaf0123
RL
1604changequote(,)dnl
1605 i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit
1606changequote([,])dnl
1607 xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
1608 xm_defines="USG POSIX"
1609 tm_file=i386/udk.h
1610 tmake_file="i386/t-crtpic i386/t-udk"
1611 xmake_file=x-svr4
1612 extra_parts="crtbegin.o crtend.o"
fd9c643f 1613 install_headers_dir=install-headers-cpio
5aaf0123 1614 ;;
75bffa71
ILT
1615changequote(,)dnl
1616 i[34567]86-*-osf1*) # Intel 80386's running OSF/1 1.3+
1617changequote([,])dnl
f5963e61
JL
1618 cpu_type=i386
1619 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h i386/xm-osf1elf.h"
1620 xm_defines="USE_C_ALLOCA SMALL_ARG_MAX"
75bffa71 1621 if test x$stabs = xyes
f5963e61
JL
1622 then
1623 tm_file=i386/osf1elfgdb.h
1624 else
1625 tm_file=i386/osf1elf.h
1626 fi
1627 tmake_file=i386/t-osf1elf
1628 xmake_file=i386/x-osf1elf
1629 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
1630 ;;
75bffa71
ILT
1631changequote(,)dnl
1632 i[34567]86-*-sysv*) # Intel 80386's running system V
1633changequote([,])dnl
61536478 1634 xm_defines="USG SVR3"
46f18e7b 1635 xmake_file=i386/x-sysv3
75bffa71 1636 if test x$gas = xyes
46f18e7b 1637 then
75bffa71 1638 if test x$stabs = xyes
46f18e7b
RK
1639 then
1640 tm_file=i386/svr3dbx.h
1641 tmake_file=i386/t-svr3dbx
1642 extra_parts="svr3.ifile svr3z.rfile"
1643 else
1644 tm_file=i386/svr3gas.h
1645 extra_parts="crtbegin.o crtend.o"
1646 tmake_file=i386/t-crtstuff
1647 fi
1648 else
1649 tm_file=i386/sysv3.h
1650 extra_parts="crtbegin.o crtend.o"
1651 tmake_file=i386/t-crtstuff
1652 fi
1653 ;;
1654 i386-*-vsta) # Intel 80386's running VSTa kernel
f5963e61 1655 xm_file="${xm_file} i386/xm-vsta.h"
46f18e7b
RK
1656 tm_file=i386/vsta.h
1657 tmake_file=i386/t-vsta
1658 xmake_file=i386/x-vsta
1659 ;;
75bffa71
ILT
1660changequote(,)dnl
1661 i[34567]86-*-win32)
1662changequote([,])dnl
cae21ae8
GN
1663 xm_file="${xm_file} i386/xm-cygwin.h"
1664 tmake_file=i386/t-cygwin
84530511 1665 tm_file=i386/win32.h
cae21ae8 1666 xmake_file=i386/x-cygwin
84530511 1667 extra_objs=winnt.o
75bffa71 1668 if test x$enable_threads = xyes; then
84530511
SC
1669 thread_file='win32'
1670 fi
1671 exeext=.exe
1672 ;;
75bffa71 1673changequote(,)dnl
cae21ae8 1674 i[34567]86-*-pe | i[34567]86-*-cygwin*)
75bffa71 1675changequote([,])dnl
cae21ae8
GN
1676 xm_file="${xm_file} i386/xm-cygwin.h"
1677 tmake_file=i386/t-cygwin
1678 tm_file=i386/cygwin.h
1679 xmake_file=i386/x-cygwin
46f18e7b 1680 extra_objs=winnt.o
75bffa71 1681 if test x$enable_threads = xyes; then
0bbb1697
RK
1682 thread_file='win32'
1683 fi
46f18e7b
RK
1684 exeext=.exe
1685 ;;
75bffa71
ILT
1686changequote(,)dnl
1687 i[34567]86-*-mingw32*)
1688changequote([,])dnl
5dfe8508
RK
1689 tm_file=i386/mingw32.h
1690 xm_file="${xm_file} i386/xm-mingw32.h"
cae21ae8 1691 tmake_file="i386/t-cygwin i386/t-mingw32"
5dfe8508 1692 extra_objs=winnt.o
cae21ae8 1693 xmake_file=i386/x-cygwin
75bffa71 1694 if test x$enable_threads = xyes; then
0bbb1697
RK
1695 thread_file='win32'
1696 fi
5dfe8508 1697 exeext=.exe
61536478
JL
1698 case $machine in
1699 *mingw32msv*)
1700 ;;
1701 *minwg32crt* | *mingw32*)
1702 tm_file="${tm_file} i386/crtdll.h"
1703 ;;
1704 esac
5dfe8508 1705 ;;
b27d2bd5
MK
1706changequote(,)dnl
1707 i[34567]86-*-uwin*)
1708changequote([,])dnl
1709 tm_file=i386/uwin.h
1710 xm_file="${xm_file} i386/xm-uwin.h"
1711 xm_defines="USG NO_STAB_H NO_SYS_SIGLIST"
1712 tmake_file="i386/t-cygwin i386/t-uwin"
1713 extra_objs=winnt.o
1714 xmake_file=i386/x-cygwin
b27d2bd5
MK
1715 if test x$enable_threads = xyes; then
1716 thread_file='win32'
1717 fi
1718 exeext=.exe
1719 ;;
052dbd9e
MK
1720changequote(,)dnl
1721 i[34567]86-*-interix*)
1722changequote([,])dnl
615c8231 1723 tm_file="i386/i386-interix.h interix.h"
97ad1d43 1724 xm_file="i386/xm-i386-interix.h xm-interix.h"
052dbd9e
MK
1725 xm_defines="USG NO_SYS_SIGLIST"
1726 tmake_file="i386/t-interix"
1727 extra_objs=interix.o
1728 xmake_file=x-interix
615c8231 1729 if test x$enable_threads = xyes ; then
052dbd9e
MK
1730 thread_file='posix'
1731 fi
615c8231 1732 if test x$stabs = xyes ; then
052dbd9e
MK
1733 tm_file="${tm_file} dbxcoff.h"
1734 fi
1735 ;;
75bffa71
ILT
1736changequote(,)dnl
1737 i[34567]86-*-winnt3*)
1738changequote([,])dnl
46f18e7b
RK
1739 tm_file=i386/win-nt.h
1740 out_file=i386/i386.c
61536478 1741 xm_file="xm-winnt.h ${xm_file}"
46f18e7b
RK
1742 xmake_file=winnt/x-winnt
1743 tmake_file=i386/t-winnt
1744 extra_host_objs="winnt.o oldnames.o"
1745 extra_gcc_objs="spawnv.o oldnames.o"
75bffa71 1746 if test x$gnu_ld != xyes
46f18e7b
RK
1747 then
1748 extra_programs=ld.exe
1749 fi
75bffa71 1750 if test x$enable_threads = xyes; then
0bbb1697
RK
1751 thread_file='win32'
1752 fi
46f18e7b 1753 ;;
75bffa71
ILT
1754changequote(,)dnl
1755 i[34567]86-dg-dgux*)
1756changequote([,])dnl
61536478
JL
1757 xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
1758 xm_defines="USG POSIX"
46f18e7b
RK
1759 out_file=i386/dgux.c
1760 tm_file=i386/dgux.h
1761 tmake_file=i386/t-dgux
1762 xmake_file=i386/x-dgux
46f18e7b
RK
1763 install_headers_dir=install-headers-cpio
1764 ;;
1765 i860-alliant-*) # Alliant FX/2800
1766 tm_file="${tm_file} svr4.h i860/sysv4.h i860/fx2800.h"
956d6950 1767 xm_file="${xm_file}"
46f18e7b
RK
1768 xmake_file=i860/x-fx2800
1769 tmake_file=i860/t-fx2800
1770 extra_parts="crtbegin.o crtend.o"
1771 ;;
1772 i860-*-bsd*)
1773 tm_file="${tm_file} i860/bsd.h"
75bffa71 1774 if test x$gas = xyes
46f18e7b
RK
1775 then
1776 tm_file="${tm_file} i860/bsd-gas.h"
1777 fi
1778 use_collect2=yes
1779 ;;
1780 i860-*-mach*)
1781 tm_file="${tm_file} i860/mach.h"
1782 tmake_file=t-libc-ok
1783 ;;
1784 i860-*-osf*) # Intel Paragon XP/S, OSF/1AD
1785 tm_file="${tm_file} svr3.h i860/paragon.h"
61536478 1786 xm_defines="USG SVR3"
46f18e7b 1787 tmake_file=t-osf
46f18e7b
RK
1788 ;;
1789 i860-*-sysv3*)
1790 tm_file="${tm_file} svr3.h i860/sysv3.h"
61536478 1791 xm_defines="USG SVR3"
46f18e7b
RK
1792 xmake_file=i860/x-sysv3
1793 extra_parts="crtbegin.o crtend.o"
1794 ;;
1795 i860-*-sysv4*)
1796 tm_file="${tm_file} svr4.h i860/sysv4.h"
61536478 1797 xm_defines="USG SVR3"
46f18e7b
RK
1798 xmake_file=i860/x-sysv4
1799 tmake_file=t-svr4
1800 extra_parts="crtbegin.o crtend.o"
1801 ;;
1802 i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
1803 tm_file="${tm_file} i960/vx960.h"
1804 tmake_file=i960/t-vxworks960
1805 use_collect2=yes
7cc34889 1806 thread_file='vxworks'
46f18e7b 1807 ;;
a0372c94 1808 i960-wrs-vxworks5* | i960-wrs-vxworks)
46f18e7b
RK
1809 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
1810 tmake_file=i960/t-vxworks960
1811 use_collect2=yes
7cc34889 1812 thread_file='vxworks'
46f18e7b
RK
1813 ;;
1814 i960-wrs-vxworks*)
1815 tm_file="${tm_file} i960/vx960.h"
1816 tmake_file=i960/t-vxworks960
1817 use_collect2=yes
7cc34889 1818 thread_file='vxworks'
46f18e7b
RK
1819 ;;
1820 i960-*-coff*)
1821 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1822 tmake_file=i960/t-960bare
1823 use_collect2=yes
1824 ;;
1825 i960-*-rtems)
1826 tmake_file="i960/t-960bare t-rtems"
1827 tm_file="${tm_file} dbxcoff.h i960/rtems.h"
1828 use_collect2=yes
1829 ;;
1830 i960-*-*) # Default i960 environment.
1831 use_collect2=yes
1832 ;;
dec3e070
JW
1833 m32r-*-elf*)
1834 extra_parts="crtinit.o crtfini.o"
1835 ;;
46f18e7b
RK
1836 m68000-convergent-sysv*)
1837 tm_file=m68k/ctix.h
61536478
JL
1838 xm_file="m68k/xm-3b1.h ${xm_file}"
1839 xm_defines=USG
46f18e7b
RK
1840 use_collect2=yes
1841 extra_headers=math-68881.h
1842 ;;
1843 m68000-hp-bsd*) # HP 9000/200 running BSD
1844 tm_file=m68k/hp2bsd.h
1845 xmake_file=m68k/x-hp2bsd
1846 use_collect2=yes
1847 extra_headers=math-68881.h
1848 ;;
1849 m68000-hp-hpux*) # HP 9000 series 300
61536478
JL
1850 xm_file="xm_alloca.h ${xm_file}"
1851 xm_defines="USG NO_SYS_SIGLIST"
75bffa71 1852 if test x$gas = xyes
46f18e7b
RK
1853 then
1854 xmake_file=m68k/x-hp320g
1855 tm_file=m68k/hp310g.h
1856 else
1857 xmake_file=m68k/x-hp320
1858 tm_file=m68k/hp310.h
1859 fi
46f18e7b
RK
1860 install_headers_dir=install-headers-cpio
1861 use_collect2=yes
1862 extra_headers=math-68881.h
1863 ;;
1864 m68000-sun-sunos3*)
1865 tm_file=m68k/sun2.h
1866 use_collect2=yes
1867 extra_headers=math-68881.h
1868 ;;
1869 m68000-sun-sunos4*)
1870 tm_file=m68k/sun2o4.h
1871 use_collect2=yes
1872 extra_headers=math-68881.h
1873 ;;
1874 m68000-att-sysv*)
61536478
JL
1875 xm_file="m68k/xm-3b1.h ${xm_file}"
1876 xm_defines=USG
75bffa71 1877 if test x$gas = xyes
46f18e7b
RK
1878 then
1879 tm_file=m68k/3b1g.h
1880 else
1881 tm_file=m68k/3b1.h
1882 fi
1883 use_collect2=yes
1884 extra_headers=math-68881.h
1885 ;;
1886 m68k-apple-aux*) # Apple Macintosh running A/UX
61536478 1887 xm_defines="USG AUX"
46f18e7b 1888 tmake_file=m68k/t-aux
46f18e7b
RK
1889 install_headers_dir=install-headers-cpio
1890 extra_headers=math-68881.h
1891 extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
1892 tm_file=
75bffa71 1893 if test "$gnu_ld" = yes
46f18e7b
RK
1894 then
1895 tm_file="${tm_file} m68k/auxgld.h"
1896 else
1897 tm_file="${tm_file} m68k/auxld.h"
1898 fi
75bffa71 1899 if test "$gas" = yes
46f18e7b
RK
1900 then
1901 tm_file="${tm_file} m68k/auxgas.h"
1902 else
1903 tm_file="${tm_file} m68k/auxas.h"
1904 fi
1905 tm_file="${tm_file} m68k/a-ux.h"
c8db55b0 1906 float_format=m68k
46f18e7b
RK
1907 ;;
1908 m68k-apollo-*)
1909 tm_file=m68k/apollo68.h
1910 xmake_file=m68k/x-apollo68
1911 use_collect2=yes
1912 extra_headers=math-68881.h
c8db55b0 1913 float_format=m68k
46f18e7b
RK
1914 ;;
1915 m68k-altos-sysv*) # Altos 3068
75bffa71 1916 if test x$gas = xyes
46f18e7b
RK
1917 then
1918 tm_file=m68k/altos3068.h
61536478 1919 xm_defines=USG
46f18e7b
RK
1920 else
1921 echo "The Altos is supported only with the GNU assembler" 1>&2
1922 exit 1
1923 fi
1924 extra_headers=math-68881.h
1925 ;;
1926 m68k-bull-sysv*) # Bull DPX/2
75bffa71 1927 if test x$gas = xyes
46f18e7b 1928 then
75bffa71 1929 if test x$stabs = xyes
46f18e7b
RK
1930 then
1931 tm_file=m68k/dpx2cdbx.h
1932 else
1933 tm_file=m68k/dpx2g.h
1934 fi
1935 else
1936 tm_file=m68k/dpx2.h
1937 fi
61536478
JL
1938 xm_file="xm-alloca.h ${xm_file}"
1939 xm_defines=USG
46f18e7b
RK
1940 xmake_file=m68k/x-dpx2
1941 use_collect2=yes
1942 extra_headers=math-68881.h
1943 ;;
1944 m68k-atari-sysv4*) # Atari variant of V.4.
1945 tm_file=m68k/atari.h
61536478
JL
1946 xm_file="xm-alloca.h ${xm_file}"
1947 xm_defines="USG FULL_PROTOTYPES"
46f18e7b
RK
1948 tmake_file=t-svr4
1949 extra_parts="crtbegin.o crtend.o"
1950 extra_headers=math-68881.h
c8db55b0 1951 float_format=m68k
46f18e7b
RK
1952 ;;
1953 m68k-motorola-sysv*)
1954 tm_file=m68k/mot3300.h
61536478
JL
1955 xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
1956 xm_defines=NO_SYS_SIGLIST
75bffa71 1957 if test x$gas = xyes
46f18e7b
RK
1958 then
1959 xmake_file=m68k/x-mot3300-gas
75bffa71 1960 if test x$gnu_ld = xyes
46f18e7b
RK
1961 then
1962 tmake_file=m68k/t-mot3300-gald
1963 else
1964 tmake_file=m68k/t-mot3300-gas
1965 use_collect2=yes
1966 fi
1967 else
1968 xmake_file=m68k/x-mot3300
75bffa71 1969 if test x$gnu_ld = xyes
46f18e7b
RK
1970 then
1971 tmake_file=m68k/t-mot3300-gld
1972 else
1973 tmake_file=m68k/t-mot3300
1974 use_collect2=yes
1975 fi
1976 fi
1977 gdb_needs_out_file_path=yes
1978 extra_parts="crt0.o mcrt0.o"
1979 extra_headers=math-68881.h
c8db55b0 1980 float_format=m68k
46f18e7b
RK
1981 ;;
1982 m68k-ncr-sysv*) # NCR Tower 32 SVR3
1983 tm_file=m68k/tower-as.h
61536478 1984 xm_defines="USG SVR3"
46f18e7b
RK
1985 xmake_file=m68k/x-tower
1986 extra_parts="crtbegin.o crtend.o"
1987 extra_headers=math-68881.h
1988 ;;
1989 m68k-plexus-sysv*)
1990 tm_file=m68k/plexus.h
61536478
JL
1991 xm_file="xm-alloca.h m68k/xm-plexus.h ${xm_file}"
1992 xm_defines=USG
46f18e7b
RK
1993 use_collect2=yes
1994 extra_headers=math-68881.h
1995 ;;
1996 m68k-tti-*)
1997 tm_file=m68k/pbb.h
61536478
JL
1998 xm_file="xm-alloca.h ${xm_file}"
1999 xm_defines=USG
46f18e7b
RK
2000 extra_headers=math-68881.h
2001 ;;
2002 m68k-crds-unos*)
61536478
JL
2003 xm_file="xm-alloca.h m68k/xm-crds.h ${xm_file}"
2004 xm_defines="USG unos"
46f18e7b
RK
2005 xmake_file=m68k/x-crds
2006 tm_file=m68k/crds.h
46f18e7b
RK
2007 use_collect2=yes
2008 extra_headers=math-68881.h
2009 ;;
2010 m68k-cbm-sysv4*) # Commodore variant of V.4.
2011 tm_file=m68k/amix.h
61536478
JL
2012 xm_file="xm-alloca.h ${xm_file}"
2013 xm_defines="USG FULL_PROTOTYPES"
46f18e7b
RK
2014 xmake_file=m68k/x-amix
2015 tmake_file=t-svr4
2016 extra_parts="crtbegin.o crtend.o"
2017 extra_headers=math-68881.h
c8db55b0 2018 float_format=m68k
46f18e7b
RK
2019 ;;
2020 m68k-ccur-rtu)
2021 tm_file=m68k/ccur-GAS.h
2022 xmake_file=m68k/x-ccur
2023 extra_headers=math-68881.h
2024 use_collect2=yes
c8db55b0 2025 float_format=m68k
46f18e7b
RK
2026 ;;
2027 m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd
2028 tm_file=m68k/hp3bsd44.h
c83fe036 2029 xmake_file=m68k/x-hp3bsd44
46f18e7b
RK
2030 use_collect2=yes
2031 extra_headers=math-68881.h
c8db55b0 2032 float_format=m68k
46f18e7b
RK
2033 ;;
2034 m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix
2035 tm_file=m68k/hp3bsd.h
2036 use_collect2=yes
2037 extra_headers=math-68881.h
c8db55b0 2038 float_format=m68k
46f18e7b
RK
2039 ;;
2040 m68k-isi-bsd*)
75bffa71 2041 if test x$with_fp = xno
46f18e7b
RK
2042 then
2043 tm_file=m68k/isi-nfp.h
2044 else
2045 tm_file=m68k/isi.h
c8db55b0 2046 float_format=m68k
46f18e7b
RK
2047 fi
2048 use_collect2=yes
2049 extra_headers=math-68881.h
2050 ;;
2051 m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
61536478
JL
2052 xm_file="xm_alloca.h ${xm_file}"
2053 xm_defines="USG NO_SYS_SIGLIST"
75bffa71 2054 if test x$gas = xyes
46f18e7b
RK
2055 then
2056 xmake_file=m68k/x-hp320g
2057 tm_file=m68k/hp320g.h
2058 else
2059 xmake_file=m68k/x-hp320
2060 tm_file=m68k/hpux7.h
2061 fi
46f18e7b
RK
2062 install_headers_dir=install-headers-cpio
2063 use_collect2=yes
2064 extra_headers=math-68881.h
c8db55b0 2065 float_format=m68k
46f18e7b
RK
2066 ;;
2067 m68k-hp-hpux*) # HP 9000 series 300
61536478
JL
2068 xm_file="xm_alloca.h ${xm_file}"
2069 xm_defines="USG NO_SYS_SIGLIST"
75bffa71 2070 if test x$gas = xyes
46f18e7b
RK
2071 then
2072 xmake_file=m68k/x-hp320g
2073 tm_file=m68k/hp320g.h
2074 else
2075 xmake_file=m68k/x-hp320
2076 tm_file=m68k/hp320.h
2077 fi
46f18e7b
RK
2078 install_headers_dir=install-headers-cpio
2079 use_collect2=yes
2080 extra_headers=math-68881.h
c8db55b0 2081 float_format=m68k
46f18e7b
RK
2082 ;;
2083 m68k-sun-mach*)
2084 tm_file=m68k/sun3mach.h
2085 use_collect2=yes
2086 extra_headers=math-68881.h
c8db55b0 2087 float_format=m68k
46f18e7b
RK
2088 ;;
2089 m68k-sony-newsos3*)
75bffa71 2090 if test x$gas = xyes
46f18e7b
RK
2091 then
2092 tm_file=m68k/news3gas.h
2093 else
2094 tm_file=m68k/news3.h
2095 fi
2096 use_collect2=yes
2097 extra_headers=math-68881.h
c8db55b0 2098 float_format=m68k
46f18e7b
RK
2099 ;;
2100 m68k-sony-bsd* | m68k-sony-newsos*)
75bffa71 2101 if test x$gas = xyes
46f18e7b
RK
2102 then
2103 tm_file=m68k/newsgas.h
2104 else
2105 tm_file=m68k/news.h
2106 fi
2107 use_collect2=yes
2108 extra_headers=math-68881.h
c8db55b0 2109 float_format=m68k
46f18e7b
RK
2110 ;;
2111 m68k-next-nextstep2*)
2112 tm_file=m68k/next21.h
61536478 2113 xm_file="m68k/xm-next.h ${xm_file}"
46f18e7b
RK
2114 tmake_file=m68k/t-next
2115 xmake_file=m68k/x-next
2116 extra_objs=nextstep.o
2117 extra_headers=math-68881.h
2118 use_collect2=yes
c8db55b0 2119 float_format=m68k
46f18e7b
RK
2120 ;;
2121 m68k-next-nextstep3*)
2122 tm_file=m68k/next.h
61536478 2123 xm_file="m68k/xm-next.h ${xm_file}"
46f18e7b
RK
2124 tmake_file=m68k/t-next
2125 xmake_file=m68k/x-next
2126 extra_objs=nextstep.o
750930c1 2127 extra_parts="crtbegin.o crtend.o"
46f18e7b 2128 extra_headers=math-68881.h
c8db55b0 2129 float_format=m68k
75bffa71 2130 if test x$enable_threads = xyes; then
0bbb1697
RK
2131 thread_file='mach'
2132 fi
46f18e7b
RK
2133 ;;
2134 m68k-sun-sunos3*)
75bffa71 2135 if test x$with_fp = xno
46f18e7b
RK
2136 then
2137 tm_file=m68k/sun3n3.h
2138 else
2139 tm_file=m68k/sun3o3.h
c8db55b0 2140 float_format=m68k
46f18e7b
RK
2141 fi
2142 use_collect2=yes
2143 extra_headers=math-68881.h
2144 ;;
2145 m68k-sun-sunos*) # For SunOS 4 (the default).
75bffa71 2146 if test x$with_fp = xno
46f18e7b
RK
2147 then
2148 tm_file=m68k/sun3n.h
2149 else
2150 tm_file=m68k/sun3.h
c8db55b0 2151 float_format=m68k
46f18e7b 2152 fi
46f18e7b
RK
2153 use_collect2=yes
2154 extra_headers=math-68881.h
2155 ;;
2156 m68k-wrs-vxworks*)
2157 tm_file=m68k/vxm68k.h
2158 tmake_file=m68k/t-vxworks68
2159 extra_headers=math-68881.h
7cc34889 2160 thread_file='vxworks'
c8db55b0 2161 float_format=m68k
46f18e7b
RK
2162 ;;
2163 m68k-*-aout*)
2164 tmake_file=m68k/t-m68kbare
2165 tm_file="m68k/m68k-aout.h libgloss.h"
2166 extra_headers=math-68881.h
c8db55b0 2167 float_format=m68k
46f18e7b
RK
2168 ;;
2169 m68k-*-coff*)
2170 tmake_file=m68k/t-m68kbare
2171 tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
2172 extra_headers=math-68881.h
c8db55b0 2173 float_format=m68k
46f18e7b 2174 ;;
d1be3be3 2175 m68020-*-elf* | m68k-*-elf*)
7aae67a2 2176 tm_file="m68k/m68020-elf.h"
d1be3be3
JW
2177 xm_file=m68k/xm-m68kv.h
2178 tmake_file=m68k/t-m68kelf
2179 header_files=math-68881.h
2180 ;;
46f18e7b 2181 m68k-*-lynxos*)
75bffa71 2182 if test x$gas = xyes
46f18e7b
RK
2183 then
2184 tm_file=m68k/lynx.h
2185 else
2186 tm_file=m68k/lynx-ng.h
2187 fi
2188 xm_file=m68k/xm-lynx.h
2189 xmake_file=x-lynx
2190 tmake_file=m68k/t-lynx
2191 extra_headers=math-68881.h
c8db55b0 2192 float_format=m68k
46f18e7b 2193 ;;
58600d24 2194 m68k*-*-netbsd*)
46f18e7b 2195 tm_file=m68k/netbsd.h
e47f44f4 2196 tmake_file=t-netbsd
c8db55b0 2197 float_format=m68k
af0ca027 2198 use_collect2=yes
46f18e7b 2199 ;;
1b4a979b
ME
2200 m68k*-*-openbsd*)
2201 float_format=m68k
2202 # we need collect2 until our bug is fixed...
2203 use_collect2=yes
2204 ;;
46f18e7b 2205 m68k-*-sysv3*) # Motorola m68k's running system V.3
61536478
JL
2206 xm_file="xm-alloca.h ${xm_file}"
2207 xm_defines=USG
46f18e7b
RK
2208 xmake_file=m68k/x-m68kv
2209 extra_parts="crtbegin.o crtend.o"
2210 extra_headers=math-68881.h
c8db55b0 2211 float_format=m68k
46f18e7b
RK
2212 ;;
2213 m68k-*-sysv4*) # Motorola m68k's running system V.4
2214 tm_file=m68k/m68kv4.h
61536478
JL
2215 xm_file="xm-alloca.h ${xm_file}"
2216 xm_defines=USG
46f18e7b
RK
2217 tmake_file=t-svr4
2218 extra_parts="crtbegin.o crtend.o"
2219 extra_headers=math-68881.h
c8db55b0 2220 float_format=m68k
46f18e7b 2221 ;;
956d6950 2222 m68k-*-linux-gnuaout*) # Motorola m68k's running GNU/Linux
61536478 2223 # with a.out format
46f18e7b
RK
2224 xmake_file=x-linux
2225 tm_file=m68k/linux-aout.h
2226 tmake_file="t-linux-aout m68k/t-linux-aout"
46f18e7b 2227 extra_headers=math-68881.h
c8db55b0 2228 float_format=m68k
46f18e7b 2229 gnu_ld=yes
46f18e7b 2230 ;;
956d6950 2231 m68k-*-linux-gnulibc1) # Motorola m68k's running GNU/Linux
61536478
JL
2232 # with ELF format using the
2233 # GNU/Linux C library 5
2234 xmake_file=x-linux
95fd3981
RK
2235 tm_file=m68k/linux.h
2236 tmake_file="t-linux t-linux-gnulibc1 m68k/t-linux"
2237 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
95fd3981 2238 extra_headers=math-68881.h
c8db55b0 2239 float_format=m68k
95fd3981
RK
2240 gnu_ld=yes
2241 ;;
956d6950 2242 m68k-*-linux-gnu*) # Motorola m68k's running GNU/Linux
61536478
JL
2243 # with ELF format using glibc 2
2244 # aka the GNU/Linux C library 6.
2245 xmake_file=x-linux
46f18e7b
RK
2246 tm_file=m68k/linux.h
2247 tmake_file="t-linux m68k/t-linux"
2248 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
46f18e7b 2249 extra_headers=math-68881.h
c8db55b0 2250 float_format=m68k
46f18e7b 2251 gnu_ld=yes
75bffa71 2252 if test x$enable_threads = xyes; then
95fd3981
RK
2253 thread_file='posix'
2254 fi
46f18e7b
RK
2255 ;;
2256 m68k-*-psos*)
2257 tmake_file=m68k/t-m68kbare
2258 tm_file=m68k/m68k-psos.h
2259 extra_headers=math-68881.h
c8db55b0 2260 float_format=m68k
46f18e7b 2261 ;;
d1476635 2262 m68k-*-rtemscoff*|m68k-*-rtems*)
46f18e7b
RK
2263 tmake_file="m68k/t-m68kbare t-rtems"
2264 tm_file=m68k/rtems.h
2265 extra_headers=math-68881.h
c8db55b0 2266 float_format=m68k
46f18e7b 2267 ;;
d1476635
JS
2268 m68k-*-rtemself*)
2269 tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
2270 tm_file=m68k/rtemself.h
2271 extra_headers=math-68881.h
2272 float_format=m68k
2273 ;;
46f18e7b
RK
2274 m88k-dg-dgux*)
2275 case $machine in
2276 m88k-dg-dguxbcs*)
2277 tm_file=m88k/dguxbcs.h
2278 tmake_file=m88k/t-dguxbcs
2279 ;;
2280 *)
2281 tm_file=m88k/dgux.h
2282 tmake_file=m88k/t-dgux
2283 ;;
2284 esac
2285 extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
46f18e7b 2286 xmake_file=m88k/x-dgux
75bffa71 2287 if test x$gas = xyes
46f18e7b
RK
2288 then
2289 tmake_file=m88k/t-dgux-gas
2290 fi
46f18e7b
RK
2291 ;;
2292 m88k-dolphin-sysv3*)
2293 tm_file=m88k/dolph.h
2294 extra_parts="crtbegin.o crtend.o"
61536478 2295 xm_file="m88k/xm-sysv3.h ${xm_file}"
46f18e7b 2296 xmake_file=m88k/x-dolph
75bffa71 2297 if test x$gas = xyes
46f18e7b
RK
2298 then
2299 tmake_file=m88k/t-m88k-gas
2300 fi
2301 ;;
2302 m88k-tektronix-sysv3)
2303 tm_file=m88k/tekXD88.h
2304 extra_parts="crtbegin.o crtend.o"
61536478 2305 xm_file="m88k/xm-sysv3.h ${xm_file}"
46f18e7b 2306 xmake_file=m88k/x-tekXD88
75bffa71 2307 if test x$gas = xyes
46f18e7b
RK
2308 then
2309 tmake_file=m88k/t-m88k-gas
2310 fi
2311 ;;
2312 m88k-*-aout*)
2313 tm_file=m88k/m88k-aout.h
2314 ;;
2315 m88k-*-coff*)
2316 tm_file=m88k/m88k-coff.h
2317 tmake_file=m88k/t-bug
2318 ;;
2319 m88k-*-luna*)
2320 tm_file=m88k/luna.h
2321 extra_parts="crtbegin.o crtend.o"
75bffa71 2322 if test x$gas = xyes
46f18e7b
RK
2323 then
2324 tmake_file=m88k/t-luna-gas
2325 else
2326 tmake_file=m88k/t-luna
2327 fi
2328 ;;
1b4a979b
ME
2329 m88k-*-openbsd*)
2330 tmake_file="${tmake_file} m88k/t-luna-gas"
2331 ;;
46f18e7b
RK
2332 m88k-*-sysv3*)
2333 tm_file=m88k/sysv3.h
2334 extra_parts="crtbegin.o crtend.o"
61536478 2335 xm_file="m88k/xm-sysv3.h ${xm_file}"
46f18e7b 2336 xmake_file=m88k/x-sysv3
75bffa71 2337 if test x$gas = xyes
46f18e7b
RK
2338 then
2339 tmake_file=m88k/t-m88k-gas
2340 fi
2341 ;;
2342 m88k-*-sysv4*)
2343 tm_file=m88k/sysv4.h
2344 extra_parts="crtbegin.o crtend.o"
2345 xmake_file=m88k/x-sysv4
2346 tmake_file=m88k/t-sysv4
2347 ;;
2348 mips-sgi-irix6*) # SGI System V.4., IRIX 6
05476613
MM
2349 if test "x$gnu_ld" = xyes
2350 then
2351 tm_file="mips/iris6.h mips/iris6gld.h"
05476613
MM
2352 else
2353 tm_file=mips/iris6.h
05476613 2354 fi
e3f5cc86 2355 tmake_file=mips/t-iris6
46f18e7b 2356 xm_file=mips/xm-iris6.h
46f18e7b 2357 xmake_file=mips/x-iris6
04069e5c 2358# if test x$enable_threads = xyes; then
6e148807 2359# thread_file='irix'
04069e5c 2360# fi
46f18e7b 2361 ;;
98bd9f0f 2362 mips-wrs-vxworks)
7aae67a2 2363 tm_file="mips/elf.h mips/vxworks.h"
98bd9f0f
DB
2364 tmake_file=mips/t-ecoff
2365 gas=yes
2366 gnu_ld=yes
2367 extra_parts="crtbegin.o crtend.o"
e9c0315e 2368 thread_file='vxworks'
98bd9f0f 2369 ;;
46f18e7b 2370 mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
61536478 2371 tm_file="mips/iris6.h mips/cross64.h"
74c55ab0
JW
2372 xm_defines=USG
2373 xm_file="mips/xm-iris5.h"
46f18e7b
RK
2374 xmake_file=mips/x-iris
2375 tmake_file=mips/t-cross64
2376 # See comment in mips/iris[56].h files.
2377 use_collect2=yes
04069e5c 2378# if test x$enable_threads = xyes; then
6e148807 2379# thread_file='irix'
04069e5c 2380# fi
46f18e7b
RK
2381 ;;
2382 mips-sni-sysv4)
75bffa71 2383 if test x$gas = xyes
46f18e7b 2384 then
75bffa71 2385 if test x$stabs = xyes
46f18e7b
RK
2386 then
2387 tm_file=mips/iris5gdb.h
2388 else
61536478 2389 tm_file="mips/sni-svr4.h mips/sni-gas.h"
46f18e7b
RK
2390 fi
2391 else
2392 tm_file=mips/sni-svr4.h
2393 fi
61536478 2394 xm_defines=USG
46f18e7b
RK
2395 xmake_file=mips/x-sni-svr4
2396 tmake_file=mips/t-mips-gas
75bffa71 2397 if test x$gnu_ld != xyes
46f18e7b
RK
2398 then
2399 use_collect2=yes
2400 fi
46f18e7b
RK
2401 ;;
2402 mips-sgi-irix5*) # SGI System V.4., IRIX 5
75bffa71 2403 if test x$gas = xyes
46f18e7b 2404 then
61536478 2405 tm_file="mips/iris5.h mips/iris5gas.h"
75bffa71 2406 if test x$stabs = xyes
46f18e7b
RK
2407 then
2408 tm_file="${tm_file} dbx.h"
2409 fi
2410 else
2411 tm_file=mips/iris5.h
2412 fi
74c55ab0
JW
2413 xm_defines=USG
2414 xm_file="mips/xm-iris5.h"
46f18e7b
RK
2415 xmake_file=mips/x-iris
2416 # mips-tfile doesn't work yet
2417 tmake_file=mips/t-mips-gas
2418 # See comment in mips/iris5.h file.
2419 use_collect2=yes
04069e5c 2420# if test x$enable_threads = xyes; then
6e148807 2421# thread_file='irix'
04069e5c 2422# fi
46f18e7b
RK
2423 ;;
2424 mips-sgi-irix4loser*) # Mostly like a MIPS.
61536478 2425 tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
75bffa71 2426 if test x$stabs = xyes; then
46f18e7b
RK
2427 tm_file="${tm_file} dbx.h"
2428 fi
61536478 2429 xm_defines=USG
46f18e7b 2430 xmake_file=mips/x-iris
75bffa71 2431 if test x$gas = xyes
46f18e7b
RK
2432 then
2433 tmake_file=mips/t-mips-gas
2434 else
2435 extra_passes="mips-tfile mips-tdump"
2436 fi
75bffa71 2437 if test x$gnu_ld != xyes
46f18e7b
RK
2438 then
2439 use_collect2=yes
2440 fi
04069e5c 2441# if test x$enable_threads = xyes; then
6e148807 2442# thread_file='irix'
04069e5c 2443# fi
46f18e7b
RK
2444 ;;
2445 mips-sgi-irix4*) # Mostly like a MIPS.
61536478 2446 tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
75bffa71 2447 if test x$stabs = xyes; then
46f18e7b
RK
2448 tm_file="${tm_file} dbx.h"
2449 fi
61536478 2450 xm_defines=USG
46f18e7b 2451 xmake_file=mips/x-iris
75bffa71 2452 if test x$gas = xyes
46f18e7b
RK
2453 then
2454 tmake_file=mips/t-mips-gas
2455 else
2456 extra_passes="mips-tfile mips-tdump"
2457 fi
75bffa71 2458 if test x$gnu_ld != xyes
46f18e7b
RK
2459 then
2460 use_collect2=yes
2461 fi
04069e5c 2462# if test x$enable_threads = xyes; then
6e148807 2463# thread_file='irix'
04069e5c 2464# fi
46f18e7b
RK
2465 ;;
2466 mips-sgi-*) # Mostly like a MIPS.
61536478 2467 tm_file="mips/iris3.h ${tm_file}"
75bffa71 2468 if test x$stabs = xyes; then
46f18e7b
RK
2469 tm_file="${tm_file} dbx.h"
2470 fi
61536478 2471 xm_defines=USG
46f18e7b 2472 xmake_file=mips/x-iris3
75bffa71 2473 if test x$gas = xyes
46f18e7b
RK
2474 then
2475 tmake_file=mips/t-mips-gas
2476 else
2477 extra_passes="mips-tfile mips-tdump"
2478 fi
75bffa71 2479 if test x$gnu_ld != xyes
46f18e7b
RK
2480 then
2481 use_collect2=yes
2482 fi
2483 ;;
2484 mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose.
61536478 2485 tm_file="mips/osfrose.h ${tm_file}"
46f18e7b
RK
2486 xmake_file=mips/x-osfrose
2487 tmake_file=mips/t-osfrose
2488 extra_objs=halfpic.o
2489 use_collect2=yes
2490 ;;
2491 mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL
2492 tm_file=mips/dec-osf1.h
75bffa71 2493 if test x$stabs = xyes; then
46f18e7b
RK
2494 tm_file="${tm_file} dbx.h"
2495 fi
2496 xmake_file=mips/x-dec-osf1
75bffa71 2497 if test x$gas = xyes
46f18e7b
RK
2498 then
2499 tmake_file=mips/t-mips-gas
2500 else
2501 tmake_file=mips/t-ultrix
2502 extra_passes="mips-tfile mips-tdump"
2503 fi
75bffa71 2504 if test x$gnu_ld != xyes
46f18e7b
RK
2505 then
2506 use_collect2=yes
2507 fi
2508 ;;
2509 mips-dec-bsd*) # Decstation running 4.4 BSD
2510 tm_file=mips/dec-bsd.h
75bffa71 2511 if test x$gas = xyes
46f18e7b
RK
2512 then
2513 tmake_file=mips/t-mips-gas
2514 else
2515 tmake_file=mips/t-ultrix
2516 extra_passes="mips-tfile mips-tdump"
2517 fi
75bffa71 2518 if test x$gnu_ld != xyes
46f18e7b
RK
2519 then
2520 use_collect2=yes
2521 fi
2522 ;;
58600d24 2523 mipsel-*-netbsd* | mips-dec-netbsd*) # Decstation running NetBSD
46f18e7b 2524 tm_file=mips/netbsd.h
be1ed94f 2525 # On NetBSD, the headers are already okay, except for math.h.
e47f44f4 2526 tmake_file=t-netbsd
46f18e7b 2527 ;;
11fa8909 2528 mips*-*-linux*) # Linux MIPS, either endian.
18cae839
RL
2529 xmake_file=x-linux
2530 xm_file="xm-siglist.h ${xm_file}"
11fa8909
RL
2531 case $machine in
2532 mipsel-*) tm_file="mips/elfl.h mips/linux.h" ;;
2533 *) tm_file="mips/elf.h mips/linux.h" ;;
2534 esac
e86e6730 2535 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
18cae839
RL
2536 gnu_ld=yes
2537 gas=yes
e86e6730
AJ
2538 if test x$enable_threads = xyes; then
2539 thread_file='posix'
2540 fi
18cae839 2541 ;;
1b4a979b
ME
2542 mips*el-*-openbsd*) # mips little endian
2543 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2544 tm_file=mips/openbsd.h
1b4a979b
ME
2545 ;;
2546 mips*-*-openbsd*) # mips big endian
2547 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2548 tm_file=mips/openbsd-be.h
1b4a979b 2549 ;;
46f18e7b 2550 mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
61536478 2551 tm_file="mips/news4.h ${tm_file}"
75bffa71 2552 if test x$stabs = xyes; then
46f18e7b
RK
2553 tm_file="${tm_file} dbx.h"
2554 fi
75bffa71 2555 if test x$gas = xyes
46f18e7b
RK
2556 then
2557 tmake_file=mips/t-mips-gas
2558 else
2559 extra_passes="mips-tfile mips-tdump"
2560 fi
75bffa71 2561 if test x$gnu_ld != xyes
46f18e7b
RK
2562 then
2563 use_collect2=yes
2564 fi
2565 xmake_file=mips/x-sony
2566 ;;
2567 mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0.
2568 # That is based on svr4.
2569 # t-svr4 is not right because this system doesn't use ELF.
61536478 2570 tm_file="mips/news5.h ${tm_file}"
75bffa71 2571 if test x$stabs = xyes; then
46f18e7b
RK
2572 tm_file="${tm_file} dbx.h"
2573 fi
61536478
JL
2574 xm_file="xm-siglist.h ${xm_file}"
2575 xm_defines=USG
75bffa71 2576 if test x$gas = xyes
46f18e7b
RK
2577 then
2578 tmake_file=mips/t-mips-gas
2579 else
2580 extra_passes="mips-tfile mips-tdump"
2581 fi
75bffa71 2582 if test x$gnu_ld != xyes
46f18e7b
RK
2583 then
2584 use_collect2=yes
2585 fi
2586 ;;
2587 mips-tandem-sysv4*) # Tandem S2 running NonStop UX
61536478 2588 tm_file="mips/svr4-5.h mips/svr4-t.h"
75bffa71 2589 if test x$stabs = xyes; then
46f18e7b
RK
2590 tm_file="${tm_file} dbx.h"
2591 fi
61536478
JL
2592 xm_file="xm-siglist.h ${xm_file}"
2593 xm_defines=USG
46f18e7b 2594 xmake_file=mips/x-sysv
75bffa71 2595 if test x$gas = xyes
46f18e7b
RK
2596 then
2597 tmake_file=mips/t-mips-gas
2598 extra_parts="crtbegin.o crtend.o"
2599 else
2600 tmake_file=mips/t-mips
2601 extra_passes="mips-tfile mips-tdump"
2602 fi
75bffa71 2603 if test x$gnu_ld != xyes
46f18e7b
RK
2604 then
2605 use_collect2=yes
2606 fi
46f18e7b
RK
2607 ;;
2608 mips-*-ultrix* | mips-dec-mach3) # Decstation.
61536478 2609 tm_file="mips/ultrix.h ${tm_file}"
75bffa71 2610 if test x$stabs = xyes; then
46f18e7b
RK
2611 tm_file="${tm_file} dbx.h"
2612 fi
2613 xmake_file=mips/x-ultrix
75bffa71 2614 if test x$gas = xyes
46f18e7b
RK
2615 then
2616 tmake_file=mips/t-mips-gas
2617 else
2618 tmake_file=mips/t-ultrix
2619 extra_passes="mips-tfile mips-tdump"
2620 fi
75bffa71 2621 if test x$gnu_ld != xyes
46f18e7b
RK
2622 then
2623 use_collect2=yes
2624 fi
2625 ;;
75bffa71
ILT
2626changequote(,)dnl
2627 mips-*-riscos[56789]bsd*)
2628changequote([,])dnl
46f18e7b 2629 tm_file=mips/bsd-5.h # MIPS BSD 4.3, RISC-OS 5.0
75bffa71 2630 if test x$stabs = xyes; then
46f18e7b
RK
2631 tm_file="${tm_file} dbx.h"
2632 fi
75bffa71 2633 if test x$gas = xyes
46f18e7b
RK
2634 then
2635 tmake_file=mips/t-bsd-gas
2636 else
2637 tmake_file=mips/t-bsd
2638 extra_passes="mips-tfile mips-tdump"
2639 fi
75bffa71 2640 if test x$gnu_ld != xyes
46f18e7b
RK
2641 then
2642 use_collect2=yes
2643 fi
46f18e7b 2644 ;;
75bffa71
ILT
2645changequote(,)dnl
2646 mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
2647changequote([,])dnl
61536478 2648 tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
75bffa71 2649 if test x$stabs = xyes; then
46f18e7b
RK
2650 tm_file="${tm_file} dbx.h"
2651 fi
75bffa71 2652 if test x$gas = xyes
46f18e7b
RK
2653 then
2654 tmake_file=mips/t-bsd-gas
2655 else
2656 tmake_file=mips/t-bsd
2657 extra_passes="mips-tfile mips-tdump"
2658 fi
75bffa71 2659 if test x$gnu_ld != xyes
46f18e7b
RK
2660 then
2661 use_collect2=yes
2662 fi
46f18e7b 2663 ;;
75bffa71
ILT
2664changequote(,)dnl
2665 mips-*-riscos[56789]sysv4*)
2666changequote([,])dnl
46f18e7b 2667 tm_file=mips/svr4-5.h # MIPS System V.4., RISC-OS 5.0
75bffa71 2668 if test x$stabs = xyes; then
46f18e7b
RK
2669 tm_file="${tm_file} dbx.h"
2670 fi
61536478 2671 xm_file="xm-siglist.h ${xm_file}"
46f18e7b 2672 xmake_file=mips/x-sysv
75bffa71 2673 if test x$gas = xyes
46f18e7b
RK
2674 then
2675 tmake_file=mips/t-svr4-gas
2676 else
2677 tmake_file=mips/t-svr4
2678 extra_passes="mips-tfile mips-tdump"
2679 fi
75bffa71 2680 if test x$gnu_ld != xyes
46f18e7b
RK
2681 then
2682 use_collect2=yes
2683 fi
46f18e7b 2684 ;;
75bffa71
ILT
2685changequote(,)dnl
2686 mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
2687changequote([,])dnl
61536478 2688 tm_file="mips/svr4-4.h ${tm_file}"
75bffa71 2689 if test x$stabs = xyes; then
46f18e7b
RK
2690 tm_file="${tm_file} dbx.h"
2691 fi
61536478 2692 xm_defines=USG
46f18e7b 2693 xmake_file=mips/x-sysv
75bffa71 2694 if test x$gas = xyes
46f18e7b
RK
2695 then
2696 tmake_file=mips/t-svr4-gas
2697 else
2698 tmake_file=mips/t-svr4
2699 extra_passes="mips-tfile mips-tdump"
2700 fi
75bffa71 2701 if test x$gnu_ld != xyes
46f18e7b
RK
2702 then
2703 use_collect2=yes
2704 fi
46f18e7b 2705 ;;
75bffa71
ILT
2706changequote(,)dnl
2707 mips-*-riscos[56789]sysv*)
2708changequote([,])dnl
46f18e7b 2709 tm_file=mips/svr3-5.h # MIPS System V.3, RISC-OS 5.0
75bffa71 2710 if test x$stabs = xyes; then
46f18e7b
RK
2711 tm_file="${tm_file} dbx.h"
2712 fi
61536478 2713 xm_defines=USG
46f18e7b 2714 xmake_file=mips/x-sysv
75bffa71 2715 if test x$gas = xyes
46f18e7b
RK
2716 then
2717 tmake_file=mips/t-svr3-gas
2718 else
2719 tmake_file=mips/t-svr3
2720 extra_passes="mips-tfile mips-tdump"
2721 fi
75bffa71 2722 if test x$gnu_ld != xyes
46f18e7b
RK
2723 then
2724 use_collect2=yes
2725 fi
46f18e7b
RK
2726 ;;
2727 mips-*-sysv* | mips-*-riscos*sysv*)
61536478 2728 tm_file="mips/svr3-4.h ${tm_file}"
75bffa71 2729 if test x$stabs = xyes; then
46f18e7b
RK
2730 tm_file="${tm_file} dbx.h"
2731 fi
61536478 2732 xm_defines=USG
46f18e7b 2733 xmake_file=mips/x-sysv
75bffa71 2734 if test x$gas = xyes
46f18e7b
RK
2735 then
2736 tmake_file=mips/t-svr3-gas
2737 else
2738 tmake_file=mips/t-svr3
2739 extra_passes="mips-tfile mips-tdump"
2740 fi
75bffa71 2741 if test x$gnu_ld != xyes
46f18e7b
RK
2742 then
2743 use_collect2=yes
2744 fi
46f18e7b 2745 ;;
75bffa71
ILT
2746changequote(,)dnl
2747 mips-*-riscos[56789]*) # Default MIPS RISC-OS 5.0.
2748changequote([,])dnl
46f18e7b 2749 tm_file=mips/mips-5.h
75bffa71 2750 if test x$stabs = xyes; then
46f18e7b
RK
2751 tm_file="${tm_file} dbx.h"
2752 fi
75bffa71 2753 if test x$gas = xyes
46f18e7b
RK
2754 then
2755 tmake_file=mips/t-mips-gas
2756 else
2757 extra_passes="mips-tfile mips-tdump"
2758 fi
75bffa71 2759 if test x$gnu_ld != xyes
46f18e7b
RK
2760 then
2761 use_collect2=yes
2762 fi
46f18e7b
RK
2763 ;;
2764 mips-*-gnu*)
2765 ;;
2766 mipsel-*-ecoff*)
2767 tm_file=mips/ecoffl.h
75bffa71 2768 if test x$stabs = xyes; then
46f18e7b
RK
2769 tm_file="${tm_file} dbx.h"
2770 fi
2771 tmake_file=mips/t-ecoff
2772 ;;
2773 mips-*-ecoff*)
1be12a4a 2774 tm_file="gofast.h mips/ecoff.h"
75bffa71 2775 if test x$stabs = xyes; then
46f18e7b
RK
2776 tm_file="${tm_file} dbx.h"
2777 fi
2778 tmake_file=mips/t-ecoff
46f18e7b
RK
2779 ;;
2780 mipsel-*-elf*)
7aae67a2 2781 tm_file="mips/elfl.h"
d8265d29 2782 tmake_file=mips/t-elf
46f18e7b
RK
2783 ;;
2784 mips-*-elf*)
d8265d29
CM
2785 tm_file="mips/elf.h"
2786 tmake_file=mips/t-elf
46f18e7b
RK
2787 ;;
2788 mips64el-*-elf*)
d8265d29
CM
2789 tm_file="mips/elfl64.h"
2790 tmake_file=mips/t-elf
46f18e7b
RK
2791 ;;
2792 mips64orionel-*-elf*)
7aae67a2 2793 tm_file="mips/elforion.h mips/elfl64.h"
d8265d29 2794 tmake_file=mips/t-elf
46f18e7b
RK
2795 ;;
2796 mips64-*-elf*)
d8265d29
CM
2797 tm_file="mips/elf64.h"
2798 tmake_file=mips/t-elf
46f18e7b
RK
2799 ;;
2800 mips64orion-*-elf*)
7aae67a2 2801 tm_file="mips/elforion.h mips/elf64.h"
d8265d29 2802 tmake_file=mips/t-elf
46f18e7b
RK
2803 ;;
2804 mips64orion-*-rtems*)
6e9856ba 2805 tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
d1476635
JS
2806 tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
2807 tmake_file="mips/t-elf t-rtems"
46f18e7b 2808 ;;
e9a25f70 2809 mipstx39el-*-elf*)
d8265d29 2810 tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
09e4daf5 2811 tmake_file=mips/t-r3900
e9a25f70
JL
2812 ;;
2813 mipstx39-*-elf*)
d8265d29 2814 tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
09e4daf5 2815 tmake_file=mips/t-r3900
e9a25f70 2816 ;;
46f18e7b 2817 mips-*-*) # Default MIPS RISC-OS 4.0.
75bffa71 2818 if test x$stabs = xyes; then
46f18e7b
RK
2819 tm_file="${tm_file} dbx.h"
2820 fi
75bffa71 2821 if test x$gas = xyes
46f18e7b
RK
2822 then
2823 tmake_file=mips/t-mips-gas
2824 else
2825 extra_passes="mips-tfile mips-tdump"
2826 fi
75bffa71 2827 if test x$gnu_ld != xyes
46f18e7b
RK
2828 then
2829 use_collect2=yes
2830 fi
2831 ;;
cef64ec4
RK
2832 mn10200-*-*)
2833 cpu_type=mn10200
2834 tm_file="mn10200/mn10200.h"
75bffa71 2835 if test x$stabs = xyes
cef64ec4
RK
2836 then
2837 tm_file="${tm_file} dbx.h"
2838 fi
2839 use_collect2=no
2840 ;;
46f18e7b
RK
2841 mn10300-*-*)
2842 cpu_type=mn10300
2843 tm_file="mn10300/mn10300.h"
75bffa71 2844 if test x$stabs = xyes
46f18e7b
RK
2845 then
2846 tm_file="${tm_file} dbx.h"
2847 fi
2848 use_collect2=no
2849 ;;
2850 ns32k-encore-bsd*)
2851 tm_file=ns32k/encore.h
2852 use_collect2=yes
2853 ;;
2854 ns32k-sequent-bsd*)
2855 tm_file=ns32k/sequent.h
2856 use_collect2=yes
2857 ;;
2858 ns32k-tek6100-bsd*)
2859 tm_file=ns32k/tek6100.h
46f18e7b
RK
2860 use_collect2=yes
2861 ;;
2862 ns32k-tek6200-bsd*)
2863 tm_file=ns32k/tek6200.h
46f18e7b
RK
2864 use_collect2=yes
2865 ;;
2866# This has not been updated to GCC 2.
2867# ns32k-ns-genix*)
61536478 2868# xm_defines=USG
46f18e7b
RK
2869# xmake_file=ns32k/x-genix
2870# tm_file=ns32k/genix.h
46f18e7b
RK
2871# use_collect2=yes
2872# ;;
2873 ns32k-merlin-*)
2874 tm_file=ns32k/merlin.h
2875 use_collect2=yes
2876 ;;
2877 ns32k-pc532-mach*)
2878 tm_file=ns32k/pc532-mach.h
2879 use_collect2=yes
2880 ;;
2881 ns32k-pc532-minix*)
2882 tm_file=ns32k/pc532-min.h
61536478
JL
2883 xm_file="ns32k/xm-pc532-min.h ${xm-file}"
2884 xm_defines=USG
46f18e7b
RK
2885 use_collect2=yes
2886 ;;
58600d24 2887 ns32k-*-netbsd*)
46f18e7b 2888 tm_file=ns32k/netbsd.h
641d4216 2889 xm_file="ns32k/xm-netbsd.h ${xm_file}"
be1ed94f 2890 # On NetBSD, the headers are already okay, except for math.h.
e47f44f4 2891 tmake_file=t-netbsd
af0ca027 2892 use_collect2=yes
46f18e7b
RK
2893 ;;
2894 pdp11-*-bsd)
2895 tm_file="${tm_file} pdp11/2bsd.h"
2896 ;;
2897 pdp11-*-*)
2898 ;;
1b4a979b
ME
2899 ns32k-*-openbsd*)
2900 # Nothing special
2901 ;;
7a3842b3
RH
2902# This has not been updated to GCC 2.
2903# pyramid-*-*)
2904# cpu_type=pyr
2905# xmake_file=pyr/x-pyr
2906# use_collect2=yes
2907# ;;
46f18e7b
RK
2908 romp-*-aos*)
2909 use_collect2=yes
2910 ;;
2911 romp-*-mach*)
2912 xmake_file=romp/x-mach
2913 use_collect2=yes
2914 ;;
1b4a979b
ME
2915 romp-*-openbsd*)
2916 # Nothing special
2917 ;;
2918 powerpc-*-openbsd*)
2919 tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
1b4a979b 2920 ;;
c55dcc7d
FF
2921 powerpc-*-beos*)
2922 cpu_type=rs6000
2923 tm_file=rs6000/beos.h
2924 xm_file=rs6000/xm-beos.h
2925 tmake_file=rs6000/t-beos
2926 xmake_file=rs6000/x-beos
2927 ;;
46f18e7b
RK
2928 powerpc-*-sysv* | powerpc-*-elf*)
2929 tm_file=rs6000/sysv4.h
61536478
JL
2930 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2931 xm_defines="USG POSIX"
46f18e7b 2932 extra_headers=ppc-asm.h
75bffa71 2933 if test x$gas = xyes
46f18e7b
RK
2934 then
2935 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2936 else
2937 tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2938 fi
2939 xmake_file=rs6000/x-sysv4
2940 ;;
2941 powerpc-*-eabiaix*)
2942 tm_file=rs6000/eabiaix.h
2943 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
46f18e7b
RK
2944 extra_headers=ppc-asm.h
2945 ;;
2946 powerpc-*-eabisim*)
2947 tm_file=rs6000/eabisim.h
2948 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
46f18e7b
RK
2949 extra_headers=ppc-asm.h
2950 ;;
2951 powerpc-*-eabi*)
2952 tm_file=rs6000/eabi.h
75bffa71 2953 if test x$gas = xyes
46f18e7b
RK
2954 then
2955 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2956 else
2957 tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2958 fi
46f18e7b
RK
2959 extra_headers=ppc-asm.h
2960 ;;
dec3e070
JW
2961 powerpc-*-rtems*)
2962 tm_file=rs6000/rtems.h
75bffa71 2963 if test x$gas = xyes
46f18e7b 2964 then
dec3e070 2965 tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
46f18e7b 2966 else
dec3e070 2967 tmake_file="rs6000/t-ppc t-rtems rs6000/t-ppccomm"
46f18e7b 2968 fi
46f18e7b
RK
2969 extra_headers=ppc-asm.h
2970 ;;
ce514f57
FS
2971 powerpc-*-linux-gnulibc1)
2972 tm_file=rs6000/linux.h
2973 xm_file=rs6000/xm-sysv4.h
2974 out_file=rs6000/rs6000.c
75bffa71 2975 if test x$gas = xyes
ce514f57
FS
2976 then
2977 tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
2978 else
2979 tmake_file="rs6000/t-ppc t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
2980 fi
2981 xmake_file=x-linux
ce514f57
FS
2982 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2983 extra_headers=ppc-asm.h
75bffa71 2984 if test x$enable_threads = xyes; then
ce514f57
FS
2985 thread_file='posix'
2986 fi
2987 ;;
844dadc7 2988 powerpc-*-linux-gnu*)
dec3e070 2989 tm_file=rs6000/linux.h
61536478
JL
2990 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2991 xm_defines="USG ${xm_defines}"
dec3e070 2992 out_file=rs6000/rs6000.c
75bffa71 2993 if test x$gas = xyes
46f18e7b 2994 then
dec3e070 2995 tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
46f18e7b 2996 else
dec3e070 2997 tmake_file="rs6000/t-ppc t-linux rs6000/t-ppccomm"
46f18e7b 2998 fi
d7308c0c 2999 xmake_file=x-linux
d7308c0c 3000 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
46f18e7b 3001 extra_headers=ppc-asm.h
75bffa71 3002 if test x$enable_threads = xyes; then
d7308c0c
RK
3003 thread_file='posix'
3004 fi
46f18e7b 3005 ;;
7cc34889 3006 powerpc-wrs-vxworks*)
46f18e7b 3007 cpu_type=rs6000
61536478
JL
3008 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
3009 xm_defines="USG POSIX"
46f18e7b
RK
3010 tm_file=rs6000/vxppc.h
3011 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3012 extra_headers=ppc-asm.h
7cc34889 3013 thread_file='vxworks'
46f18e7b
RK
3014 ;;
3015 powerpcle-*-sysv* | powerpcle-*-elf*)
3016 tm_file=rs6000/sysv4le.h
61536478
JL
3017 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
3018 xm_defines="USG POSIX"
75bffa71 3019 if test x$gas = xyes
46f18e7b
RK
3020 then
3021 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3022 else
3023 tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
3024 fi
3025 xmake_file=rs6000/x-sysv4
3026 extra_headers=ppc-asm.h
3027 ;;
3028 powerpcle-*-eabisim*)
3029 tm_file=rs6000/eabilesim.h
3030 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
46f18e7b
RK
3031 extra_headers=ppc-asm.h
3032 ;;
3033 powerpcle-*-eabi*)
3034 tm_file=rs6000/eabile.h
75bffa71 3035 if test x$gas = xyes
46f18e7b
RK
3036 then
3037 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3038 else
3039 tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
3040 fi
46f18e7b
RK
3041 extra_headers=ppc-asm.h
3042 ;;
3043 powerpcle-*-winnt* )
3044 tm_file=rs6000/win-nt.h
3045 tmake_file=rs6000/t-winnt
3046# extra_objs=pe.o
75bffa71 3047 if test x$enable_threads = xyes; then
0bbb1697
RK
3048 thread_file='win32'
3049 fi
46f18e7b
RK
3050 extra_headers=ppc-asm.h
3051 ;;
cae21ae8
GN
3052 powerpcle-*-pe | powerpcle-*-cygwin*)
3053 tm_file=rs6000/cygwin.h
3054 xm_file="rs6000/xm-cygwin.h ${xm_file}"
46f18e7b 3055 tmake_file=rs6000/t-winnt
cae21ae8 3056 xmake_file=rs6000/x-cygwin
46f18e7b 3057# extra_objs=pe.o
75bffa71 3058 if test x$enable_threads = xyes; then
0bbb1697
RK
3059 thread_file='win32'
3060 fi
46f18e7b
RK
3061 exeext=.exe
3062 extra_headers=ppc-asm.h
3063 ;;
3064 powerpcle-*-solaris2*)
3065 tm_file=rs6000/sol2.h
61536478
JL
3066 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
3067 xm_defines="USG POSIX"
75bffa71 3068 if test x$gas = xyes
46f18e7b
RK
3069 then
3070 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3071 else
3072 tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
3073 fi
3074 xmake_file=rs6000/x-sysv4
46f18e7b
RK
3075 extra_headers=ppc-asm.h
3076 ;;
75bffa71
ILT
3077changequote(,)dnl
3078 rs6000-ibm-aix3.[01]*)
3079changequote([,])dnl
46f18e7b
RK
3080 tm_file=rs6000/aix31.h
3081 xmake_file=rs6000/x-aix31
45e24d08 3082 float_format=none
46f18e7b
RK
3083 use_collect2=yes
3084 ;;
75bffa71
ILT
3085changequote(,)dnl
3086 rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
3087changequote([,])dnl
46f18e7b 3088 tm_file=rs6000/aix3newas.h
75bffa71 3089 if test x$host != x$target
46f18e7b
RK
3090 then
3091 tmake_file=rs6000/t-xnewas
3092 else
3093 tmake_file=rs6000/t-newas
3094 fi
45e24d08 3095 float_format=none
46f18e7b
RK
3096 use_collect2=yes
3097 ;;
75bffa71 3098changequote(,)dnl
05cea40f 3099 rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
75bffa71 3100changequote([,])dnl
590e30e7 3101 tm_file=rs6000/aix41.h
75bffa71 3102 if test x$host != x$target
46f18e7b
RK
3103 then
3104 tmake_file=rs6000/t-xnewas
3105 else
3106 tmake_file=rs6000/t-newas
3107 fi
590e30e7
JW
3108 if test "$gnu_ld" = yes
3109 then
3110 xmake_file=rs6000/x-aix41-gld
3111 else
69c9f0fb 3112 xmake_file=rs6000/x-aix41
590e30e7 3113 fi
45e24d08 3114 float_format=none
a260abc9
DE
3115 use_collect2=yes
3116 ;;
75bffa71 3117changequote(,)dnl
7747ddb3 3118 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
75bffa71 3119changequote([,])dnl
a260abc9 3120 tm_file=rs6000/aix43.h
75bffa71 3121 if test x$host != x$target
a260abc9
DE
3122 then
3123 tmake_file=rs6000/t-xaix43
3124 else
3125 tmake_file=rs6000/t-aix43
3126 fi
3127 xmake_file=rs6000/x-aix43
45e24d08 3128 float_format=none
a260abc9
DE
3129 use_collect2=yes
3130 ;;
75bffa71
ILT
3131changequote(,)dnl
3132 rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
3133changequote([,])dnl
a260abc9 3134 tm_file=rs6000/aix43.h
75bffa71 3135 if test x$host != x$target
a260abc9
DE
3136 then
3137 tmake_file=rs6000/t-xaix43
3138 else
3139 tmake_file=rs6000/t-aix43
3140 fi
3141 xmake_file=rs6000/x-aix43
45e24d08 3142 float_format=none
46f18e7b
RK
3143 use_collect2=yes
3144 ;;
3145 rs6000-ibm-aix*)
45e24d08 3146 float_format=none
46f18e7b
RK
3147 use_collect2=yes
3148 ;;
3149 rs6000-bull-bosx)
45e24d08 3150 float_format=none
46f18e7b
RK
3151 use_collect2=yes
3152 ;;
3153 rs6000-*-mach*)
3154 tm_file=rs6000/mach.h
61536478 3155 xm_file="${xm_file} rs6000/xm-mach.h"
46f18e7b
RK
3156 xmake_file=rs6000/x-mach
3157 use_collect2=yes
3158 ;;
3159 rs6000-*-lynxos*)
3160 tm_file=rs6000/lynx.h
3161 xm_file=rs6000/xm-lynx.h
3162 tmake_file=rs6000/t-rs6000
3163 xmake_file=rs6000/x-lynx
3164 use_collect2=yes
3165 ;;
3166 sh-*-elf*)
3167 tm_file=sh/elf.h
3168 float_format=sh
3169 ;;
b098f56d
JS
3170 sh-*-rtemself*)
3171 tmake_file="sh/t-sh t-rtems"
3172 tm_file=sh/rtemself.h
3173 float_format=sh
3174 ;;
5d84b57e
JS
3175 sh-*-rtems*)
3176 tmake_file="sh/t-sh t-rtems"
3177 tm_file=sh/rtems.h
3178 float_format=sh
3179 ;;
46f18e7b
RK
3180 sh-*-*)
3181 float_format=sh
3182 ;;
3183 sparc-tti-*)
3184 tm_file=sparc/pbd.h
61536478
JL
3185 xm_file="xm-alloca.h ${xm_file}"
3186 xm_defines=USG
46f18e7b
RK
3187 ;;
3188 sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
3189 tm_file=sparc/vxsparc.h
3190 tmake_file=sparc/t-vxsparc
3191 use_collect2=yes
7cc34889 3192 thread_file='vxworks'
46f18e7b
RK
3193 ;;
3194 sparc-*-aout*)
3195 tmake_file=sparc/t-sparcbare
3196 tm_file="sparc/aout.h libgloss.h"
3197 ;;
3198 sparc-*-netbsd*)
3199 tm_file=sparc/netbsd.h
e47f44f4 3200 tmake_file=t-netbsd
af0ca027 3201 use_collect2=yes
46f18e7b 3202 ;;
1b4a979b
ME
3203 sparc-*-openbsd*)
3204 # we need collect2 until our bug is fixed...
3205 use_collect2=yes
3206 ;;
46f18e7b
RK
3207 sparc-*-bsd*)
3208 tm_file=sparc/bsd.h
3209 ;;
ac52b80b
DE
3210 sparc-*-elf*)
3211 tm_file=sparc/elf.h
3212 tmake_file=sparc/t-elf
3213 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3214 #float_format=i128
3215 float_format=i64
3216 ;;
956d6950 3217 sparc-*-linux-gnuaout*) # Sparc's running GNU/Linux, a.out
61536478 3218 xm_file="${xm_file} sparc/xm-linux.h"
46f18e7b
RK
3219 tm_file=sparc/linux-aout.h
3220 xmake_file=x-linux
46f18e7b 3221 gnu_ld=yes
46f18e7b 3222 ;;
956d6950 3223 sparc-*-linux-gnulibc1*) # Sparc's running GNU/Linux, libc5
61536478 3224 xm_file="${xm_file} sparc/xm-linux.h"
2334126e 3225 xmake_file=x-linux
46f18e7b 3226 tm_file=sparc/linux.h
9d1ebd25 3227 tmake_file="t-linux t-linux-gnulibc1"
9ad03bc1 3228 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
9ad03bc1 3229 gnu_ld=yes
39c440fc 3230 float_format=sparc
9ad03bc1 3231 ;;
956d6950 3232 sparc-*-linux-gnu*) # Sparc's running GNU/Linux, libc6
61536478 3233 xm_file="${xm_file} sparc/xm-linux.h"
2334126e 3234 xmake_file=x-linux
9ad03bc1 3235 tm_file=sparc/linux.h
9d1ebd25 3236 tmake_file="t-linux"
9ad03bc1 3237 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
46f18e7b 3238 gnu_ld=yes
75bffa71 3239 if test x$enable_threads = xyes; then
9ad03bc1
RK
3240 thread_file='posix'
3241 fi
39c440fc 3242 float_format=sparc
46f18e7b
RK
3243 ;;
3244 sparc-*-lynxos*)
75bffa71 3245 if test x$gas = xyes
46f18e7b
RK
3246 then
3247 tm_file=sparc/lynx.h
3248 else
3249 tm_file=sparc/lynx-ng.h
3250 fi
3251 xm_file=sparc/xm-lynx.h
3252 tmake_file=sparc/t-sunos41
3253 xmake_file=x-lynx
3254 ;;
d1476635
JS
3255 sparc-*-rtems*|sparc-*-rtemself*)
3256 tm_file="sparc/rtemself.h"
3257 tmake_file="sparc/t-elf t-rtems"
3258 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3259 #float_format=i128
3260 float_format=i64
3261 ;;
3262 sparc-*-rtemsaout*)
46f18e7b
RK
3263 tmake_file="sparc/t-sparcbare t-rtems"
3264 tm_file=sparc/rtems.h
3265 ;;
d559a4db
DM
3266 sparcv9-*-solaris2*)
3267 tm_file=sparc/sol2-sld-64.h
3268 xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
3269 xm_defines="USG POSIX"
345a6161 3270 tmake_file="sparc/t-sol2 sparc/t-sol2-64"
d559a4db
DM
3271 xmake_file=sparc/x-sysv4
3272 extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
027ea2a7 3273 float_format=none
d7496fbb 3274 if test x${enable_threads} = x ; then
d559a4db 3275 enable_threads=$have_pthread_h
d7496fbb 3276 if test x${enable_threads} = x ; then
d559a4db
DM
3277 enable_threads=$have_thread_h
3278 fi
3279 fi
d7496fbb
DM
3280 if test x${enable_threads} = xyes ; then
3281 if test x${have_pthread_h} = xyes ; then
d559a4db
DM
3282 thread_file='posix'
3283 else
3284 thread_file='solaris'
3285 fi
3286 fi
3287 ;;
ab87f8c8
JL
3288 sparc-hal-solaris2*)
3289 xm_file=sparc/xm-sol2.h
3290 tm_file="sparc/sol2.h sparc/hal.h"
3291 tmake_file="sparc/t-halos sparc/t-sol2"
3292 xmake_file=sparc/x-sysv4
3293 extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
ab87f8c8
JL
3294 broken_install=yes
3295 ;;
46f18e7b 3296 sparc-*-solaris2*)
75bffa71 3297 if test x$gnu_ld = xyes
0a9bdce3
PE
3298 then
3299 tm_file=sparc/sol2.h
3300 else
3301 tm_file=sparc/sol2-sld.h
3302 fi
22ec3928
RE
3303 xm_file="xm-siglist.h sparc/xm-sysv4.h sparc/xm-sol2.h"
3304 xm_defines="USG POSIX"
46f18e7b
RK
3305 tmake_file=sparc/t-sol2
3306 xmake_file=sparc/x-sysv4
3307 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
61536478 3308 case $machine in
75bffa71
ILT
3309changequote(,)dnl
3310 *-*-solaris2.[0-4])
3311changequote([,])dnl
027ea2a7
JW
3312 float_format=i128
3313 ;;
61536478 3314 *)
027ea2a7
JW
3315 float_format=none
3316 ;;
61536478 3317 esac
75bffa71 3318 if test x${enable_threads} = x; then
f24af81b 3319 enable_threads=$have_pthread_h
75bffa71 3320 if test x${enable_threads} = x; then
f24af81b
TT
3321 enable_threads=$have_thread_h
3322 fi
3323 fi
75bffa71
ILT
3324 if test x${enable_threads} = xyes; then
3325 if test x${have_pthread_h} = xyes; then
f24af81b
TT
3326 thread_file='posix'
3327 else
0bbb1697 3328 thread_file='solaris'
f24af81b 3329 fi
0bbb1697 3330 fi
46f18e7b
RK
3331 ;;
3332 sparc-*-sunos4.0*)
3333 tm_file=sparc/sunos4.h
3334 tmake_file=sparc/t-sunos40
3335 use_collect2=yes
3336 ;;
3337 sparc-*-sunos4*)
3338 tm_file=sparc/sunos4.h
3339 tmake_file=sparc/t-sunos41
3340 use_collect2=yes
75bffa71 3341 if test x$gas = xyes; then
ca55abae
JM
3342 tm_file="${tm_file} sparc/sun4gas.h"
3343 fi
46f18e7b
RK
3344 ;;
3345 sparc-*-sunos3*)
3346 tm_file=sparc/sun4o3.h
3347 use_collect2=yes
3348 ;;
3349 sparc-*-sysv4*)
3350 tm_file=sparc/sysv4.h
61536478
JL
3351 xm_file="xm-siglist.h sparc/xm-sysv4.h"
3352 xm_defines="USG POSIX"
46f18e7b
RK
3353 tmake_file=t-svr4
3354 xmake_file=sparc/x-sysv4
3355 extra_parts="crtbegin.o crtend.o"
3356 ;;
3357 sparc-*-vxsim*)
f5963e61
JL
3358 xm_file="xm-siglist.h sparc/xm-sysv4.h sparc/xm-sol2.h"
3359 xm_defines="USG POSIX"
46f18e7b
RK
3360 tm_file=sparc/vxsim.h
3361 tmake_file=sparc/t-vxsparc
3362 xmake_file=sparc/x-sysv4
3363 ;;
3364 sparclet-*-aout*)
3365 tm_file="sparc/splet.h libgloss.h"
3366 tmake_file=sparc/t-splet
3367 ;;
3368 sparclite-*-coff*)
3369 tm_file="sparc/litecoff.h libgloss.h"
3370 tmake_file=sparc/t-sparclite
3371 ;;
3372 sparclite-*-aout*)
3373 tm_file="sparc/lite.h aoutos.h libgloss.h"
3374 tmake_file=sparc/t-sparclite
3375 ;;
28df4168
JL
3376 sparclite-*-elf*)
3377 tm_file="sparc/liteelf.h libgloss.h"
3378 tmake_file=sparc/t-sparclite
3379 extra_parts="crtbegin.o crtend.o"
3380 ;;
3381 sparc86x-*-aout*)
3382 tm_file="sparc/sp86x-aout.h aoutos.h libgloss.h"
3383 tmake_file=sparc/t-sp86x
3384 ;;
3385 sparc86x-*-elf*)
3386 tm_file="sparc/sp86x-elf.h libgloss.h"
3387 tmake_file=sparc/t-sp86x
3388 extra_parts="crtbegin.o crtend.o"
3389 ;;
46f18e7b
RK
3390 sparc64-*-aout*)
3391 tmake_file=sparc/t-sp64
3392 tm_file=sparc/sp64-aout.h
3393 ;;
3394 sparc64-*-elf*)
3395 tmake_file=sparc/t-sp64
3396 tm_file=sparc/sp64-elf.h
3397 extra_parts="crtbegin.o crtend.o"
3398 ;;
956d6950 3399 sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
345a6161 3400 tmake_file="t-linux sparc/t-linux64"
2334126e
DE
3401 xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
3402 tm_file=sparc/linux64.h
3403 xmake_file=x-linux
345a6161 3404 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2334126e 3405 gnu_ld=yes
39c440fc 3406 float_format=sparc
2334126e 3407 ;;
46f18e7b
RK
3408# This hasn't been upgraded to GCC 2.
3409# tahoe-harris-*) # Harris tahoe, using COFF.
3410# tm_file=tahoe/harris.h
3411# ;;
3412# tahoe-*-bsd*) # tahoe running BSD
3413# ;;
e98e406f
NC
3414 thumb-*-coff* | thumbel-*-coff*)
3415 tm_file=arm/tcoff.h
3416 out_file=arm/thumb.c
3417 xm_file=arm/xm-thumb.h
3418 md_file=arm/thumb.md
3419 tmake_file=arm/t-thumb
3420 ;;
c83fe036
NC
3421 thumb-*-elf* | thumbel-*-elf*)
3422 tm_file=arm/telf.h
3423 out_file=arm/thumb.c
3424 xm_file=arm/xm-thumb.h
3425 md_file=arm/thumb.md
3426 tmake_file=arm/t-thumb-elf
3427 ;;
483f6332
PB
3428 thumb-*-linux-gnu*)
3429 tm_file=arm/linux-telf.h
3430 out_file=arm/thumb.c
3431 xm_file=arm/xm-thumb.h
3432 md_file=arm/thumb.md
3433 tmake_file=arm/t-thumb-linux
3434 ;;
3435 thumb-*-uclinux*)
3436 tm_file=arm/uclinux-telf.h
3437 out_file=arm/thumb.c
3438 md_file=arm/thumb.md
3439 tmake_file=arm/t-thumb-linux
3440 xm_file=arm/xm-thumb.h
3441 ;;
28897609
MS
3442 thumb-wrs-vxworks)
3443 tm_file=arm/tcoff.h
3444 out_file=arm/thumb.c
3445 xm_file=arm/xm-thumb.h
3446 md_file=arm/thumb.md
3447 tmake_file=arm/t-thumb
3448 thread_file='vxworks'
3449 ;;
cb805c2d
NC
3450 thumb-*-pe)
3451 tm_file=arm/tpe.h
3452 out_file=arm/thumb.c
3453 xm_file=arm/xm-thumb.h
3454 md_file=arm/thumb.md
3455 tmake_file=arm/t-pe-thumb
3456 extra_objs=pe.o
3457 ;;
46f18e7b
RK
3458# This hasn't been upgraded to GCC 2.
3459# tron-*-*)
3460# cpu_type=gmicro
3461# use_collect2=yes
3462# ;;
f84271d9 3463 v850-*-*)
7a846a6c 3464 target_cpu_default="TARGET_CPU_generic"
f84271d9
JL
3465 cpu_type=v850
3466 tm_file="v850/v850.h"
3467 xm_file="v850/xm-v850.h"
62db76ee 3468 tmake_file=v850/t-v850
75bffa71 3469 if test x$stabs = xyes
f84271d9
JL
3470 then
3471 tm_file="${tm_file} dbx.h"
3472 fi
3473 use_collect2=no
3474 ;;
46f18e7b
RK
3475 vax-*-bsd*) # vaxen running BSD
3476 use_collect2=yes
3477 float_format=vax
3478 ;;
3479 vax-*-sysv*) # vaxen running system V
3480 tm_file="${tm_file} vax/vaxv.h"
61536478 3481 xm_defines=USG
46f18e7b
RK
3482 float_format=vax
3483 ;;
3484 vax-*-netbsd*)
3485 tm_file="${tm_file} netbsd.h vax/netbsd.h"
e47f44f4 3486 tmake_file=t-netbsd
46f18e7b 3487 float_format=vax
af0ca027 3488 use_collect2=yes
46f18e7b 3489 ;;
1b4a979b 3490 vax-*-openbsd*)
766518a0 3491 tmake_file="${tmake_file} vax/t-openbsd"
1b4a979b 3492 ;;
46f18e7b
RK
3493 vax-*-ultrix*) # vaxen running ultrix
3494 tm_file="${tm_file} vax/ultrix.h"
3495 use_collect2=yes
3496 float_format=vax
3497 ;;
3498 vax-*-vms*) # vaxen running VMS
3499 xm_file=vax/xm-vms.h
3500 tm_file=vax/vms.h
3501 float_format=vax
3502 ;;
3503 vax-*-*) # vax default entry
3504 float_format=vax
3505 ;;
3506 we32k-att-sysv*)
3507 xm_file="${xm_file} xm-svr3"
3508 use_collect2=yes
3509 ;;
3510 *)
3511 echo "Configuration $machine not supported" 1>&2
3512 exit 1
3513 ;;
3514 esac
3515
3516 case $machine in
3517 *-*-linux-gnu*)
61536478 3518 ;; # Existing GNU/Linux systems do not use the GNU setup.
46f18e7b
RK
3519 *-*-gnu*)
3520 # On the GNU system, the setup is just about the same on
3521 # each different CPU. The specific machines that GNU
3522 # supports are matched above and just set $cpu_type.
61536478 3523 xm_file="xm-gnu.h ${xm_file}"
46f18e7b 3524 tm_file=${cpu_type}/gnu.h
6b403743 3525 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
46f18e7b
RK
3526 # GNU always uses ELF.
3527 elf=yes
3528 # GNU tools are the only tools.
3529 gnu_ld=yes
3530 gas=yes
46f18e7b
RK
3531 xmake_file=x-linux # These details are the same as Linux.
3532 tmake_file=t-gnu # These are not.
3533 ;;
3534 *-*-sysv4*)
46f18e7b 3535 xmake_try_sysv=x-sysv
46f18e7b
RK
3536 install_headers_dir=install-headers-cpio
3537 ;;
3538 *-*-sysv*)
46f18e7b
RK
3539 install_headers_dir=install-headers-cpio
3540 ;;
3541 esac
3542
61536478 3543 # Distinguish i[34567]86
46f18e7b
RK
3544 # Also, do not run mips-tfile on MIPS if using gas.
3545 # Process --with-cpu= for PowerPC/rs6000
3546 target_cpu_default2=
3547 case $machine in
3548 i486-*-*)
3549 target_cpu_default2=1
3550 ;;
3551 i586-*-*)
83f4345f
PT
3552 case $target_alias in
3553 k6-*)
3554 target_cpu_default2=4
3555 ;;
3556 *)
3557 target_cpu_default2=2
3558 ;;
3559 esac
46f18e7b 3560 ;;
61536478 3561 i686-*-* | i786-*-*)
46f18e7b
RK
3562 target_cpu_default2=3
3563 ;;
08fc0184
RK
3564 alpha*-*-*)
3565 case $machine in
e9a25f70 3566 alphaev6*)
de4abb91 3567 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
e9a25f70
JL
3568 ;;
3569 alphapca56*)
fbb5ed67 3570 target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
e9a25f70 3571 ;;
08fc0184 3572 alphaev56*)
e9a25f70 3573 target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
08fc0184
RK
3574 ;;
3575 alphaev5*)
3576 target_cpu_default2="MASK_CPU_EV5"
3577 ;;
3578 esac
3579
75bffa71 3580 if test x$gas = xyes
46f18e7b 3581 then
75bffa71 3582 if test "$target_cpu_default2" = ""
08fc0184 3583 then
e71c3bb0 3584 target_cpu_default2="MASK_GAS"
08fc0184 3585 else
e71c3bb0 3586 target_cpu_default2="${target_cpu_default2}|MASK_GAS"
08fc0184 3587 fi
46f18e7b
RK
3588 fi
3589 ;;
956d6950
JL
3590 arm*-*-*)
3591 case "x$with_cpu" in
3592 x)
3593 # The most generic
3594 target_cpu_default2="TARGET_CPU_generic"
3595 ;;
3596
3597 # Distinguish cores, and major variants
3598 # arm7m doesn't exist, but D & I don't affect code
3599 xarm[23678] | xarm250 | xarm[67][01]0 \
3600 | xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
3601 | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
8f8d3278 3602 | xstrongarm | xstrongarm110 | xstrongarm1100)
956d6950
JL
3603 target_cpu_default2="TARGET_CPU_$with_cpu"
3604 ;;
3605
3606 xyes | xno)
3607 echo "--with-cpu must be passed a value" 1>&2
3608 exit 1
3609 ;;
3610
3611 *)
75bffa71 3612 if test x$pass2done = xyes
956d6950
JL
3613 then
3614 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3615 exit 1
3616 fi
3617 ;;
3618 esac
3619 ;;
3620
46f18e7b 3621 mips*-*-ecoff* | mips*-*-elf*)
75bffa71 3622 if test x$gas = xyes
46f18e7b 3623 then
75bffa71 3624 if test x$gnu_ld = xyes
46f18e7b
RK
3625 then
3626 target_cpu_default2=20
3627 else
3628 target_cpu_default2=16
3629 fi
3630 fi
3631 ;;
3632 mips*-*-*)
75bffa71 3633 if test x$gas = xyes
46f18e7b
RK
3634 then
3635 target_cpu_default2=16
3636 fi
3637 ;;
3638 powerpc*-*-* | rs6000-*-*)
3639 case "x$with_cpu" in
3640 x)
3641 ;;
3642
3643 xcommon | xpower | xpower2 | xpowerpc | xrios \
52cddadb
MM
3644 | xrios1 | xrios2 | xrsc | xrsc1 \
3645 | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
507ba956 3646 | xec603e | x740 | x750 | x401 \
52cddadb 3647 | x403 | x505 | x801 | x821 | x823 | x860)
f24b370a 3648 target_cpu_default2="\"$with_cpu\""
46f18e7b
RK
3649 ;;
3650
3651 xyes | xno)
3652 echo "--with-cpu must be passed a value" 1>&2
3653 exit 1
3654 ;;
3655
3656 *)
75bffa71 3657 if test x$pass2done = xyes
956d6950
JL
3658 then
3659 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3660 exit 1
3661 fi
46f18e7b
RK
3662 ;;
3663 esac
3664 ;;
3665 sparc*-*-*)
3666 case ".$with_cpu" in
3667 .)
3668 target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
3669 ;;
8947065c 3670 .supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
46f18e7b
RK
3671 target_cpu_default2="TARGET_CPU_$with_cpu"
3672 ;;
3673 *)
75bffa71 3674 if test x$pass2done = xyes
956d6950
JL
3675 then
3676 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3677 exit 1
3678 fi
46f18e7b
RK
3679 ;;
3680 esac
3681 ;;
3682 esac
3683
75bffa71 3684 if test "$target_cpu_default2" != ""
46f18e7b 3685 then
75bffa71 3686 if test "$target_cpu_default" != ""
46f18e7b
RK
3687 then
3688 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
3689 else
3690 target_cpu_default=$target_cpu_default2
3691 fi
3692 fi
3693
3694 # No need for collect2 if we have the GNU linker.
d460fb3c
JM
3695 # Actually, there is now; GNU ld doesn't handle the EH info or
3696 # collecting for shared libraries.
ca8c3b37
JM
3697 #case x$gnu_ld in
3698 #xyes)
3699 # use_collect2=
3700 # ;;
3701 #esac
46f18e7b
RK
3702
3703# Save data on machine being used to compile GCC in build_xm_file.
3704# Save data on host machine in vars host_xm_file and host_xmake_file.
75bffa71 3705 if test x$pass1done = x
46f18e7b 3706 then
75bffa71 3707 if test x"$xm_file" = x
46f18e7b
RK
3708 then build_xm_file=$cpu_type/xm-$cpu_type.h
3709 else build_xm_file=$xm_file
3710 fi
61536478 3711 build_xm_defines=$xm_defines
46f18e7b
RK
3712 build_install_headers_dir=$install_headers_dir
3713 build_exeext=$exeext
3714 pass1done=yes
3715 else
75bffa71 3716 if test x$pass2done = x
46f18e7b 3717 then
75bffa71 3718 if test x"$xm_file" = x
46f18e7b
RK
3719 then host_xm_file=$cpu_type/xm-$cpu_type.h
3720 else host_xm_file=$xm_file
3721 fi
61536478 3722 host_xm_defines=$xm_defines
75bffa71 3723 if test x"$xmake_file" = x
46f18e7b
RK
3724 then xmake_file=$cpu_type/x-$cpu_type
3725 fi
3726 host_xmake_file="$xmake_file"
3727 host_truncate_target=$truncate_target
3728 host_extra_gcc_objs=$extra_gcc_objs
3729 host_extra_objs=$extra_host_objs
6e26218f 3730 host_exeext=$exeext
46f18e7b
RK
3731 pass2done=yes
3732 fi
3733 fi
3734done
3735
3736extra_objs="${host_extra_objs} ${extra_objs}"
3737
3738# Default the target-machine variables that were not explicitly set.
75bffa71 3739if test x"$tm_file" = x
46f18e7b
RK
3740then tm_file=$cpu_type/$cpu_type.h; fi
3741
75bffa71 3742if test x$extra_headers = x
46f18e7b
RK
3743then extra_headers=; fi
3744
75bffa71 3745if test x"$xm_file" = x
46f18e7b
RK
3746then xm_file=$cpu_type/xm-$cpu_type.h; fi
3747
75bffa71 3748if test x$md_file = x
e98e406f 3749then md_file=$cpu_type/$cpu_type.md; fi
46f18e7b 3750
75bffa71 3751if test x$out_file = x
46f18e7b
RK
3752then out_file=$cpu_type/$cpu_type.c; fi
3753
75bffa71 3754if test x"$tmake_file" = x
46f18e7b
RK
3755then tmake_file=$cpu_type/t-$cpu_type
3756fi
3757
90e6a802
RL
3758if test x"$dwarf2" = xyes
3759then tm_file="tm-dwarf2.h $tm_file"
3760fi
3761
75bffa71 3762if test x$float_format = x
46f18e7b
RK
3763then float_format=i64
3764fi
3765
027ea2a7
JW
3766if test $float_format = none
3767then float_h_file=Makefile.in
3768else float_h_file=float-$float_format.h
3769fi
3770
9fc9b82a 3771# Handle cpp installation.
3ecc3258 3772if test x$enable_cpp != xno
9fc9b82a
L
3773then
3774 tmake_file="$tmake_file t-install-cpp"
3775fi
3776
46f18e7b
RK
3777# Say what files are being used for the output code and MD file.
3778echo "Using \`$srcdir/config/$out_file' to output insns."
3779echo "Using \`$srcdir/config/$md_file' as machine description file."
3780
3781count=a
3782for f in $tm_file; do
3783 count=${count}x
3784done
75bffa71 3785if test $count = ax; then
46f18e7b
RK
3786 echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
3787else
3788 echo "Using the following target machine macro files:"
3789 for f in $tm_file; do
3790 echo " $srcdir/config/$f"
3791 done
3792fi
3793
3794count=a
3795for f in $host_xm_file; do
3796 count=${count}x
3797done
75bffa71 3798if test $count = ax; then
46f18e7b
RK
3799 echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
3800else
3801 echo "Using the following host machine macro files:"
3802 for f in $host_xm_file; do
3803 echo " $srcdir/config/$f"
3804 done
3805fi
3806
75bffa71 3807if test "$host_xm_file" != "$build_xm_file"; then
46f18e7b
RK
3808 count=a
3809 for f in $build_xm_file; do
3810 count=${count}x
3811 done
75bffa71 3812 if test $count = ax; then
46f18e7b
RK
3813 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
3814 else
3815 echo "Using the following build machine macro files:"
3816 for f in $build_xm_file; do
3817 echo " $srcdir/config/$f"
3818 done
3819 fi
3820fi
3821
75bffa71
ILT
3822if test x$thread_file = x; then
3823 if test x$target_thread_file != x; then
a851212a
JW
3824 thread_file=$target_thread_file
3825 else
3826 thread_file='single'
3827 fi
46f18e7b 3828fi
46f18e7b
RK
3829
3830# Set up the header files.
3831# $links is the list of header files to create.
3832# $vars is the list of shell variables with file names to include.
b7cb92ad 3833# auto-host.h is the file containing items generated by autoconf and is
e9a25f70 3834# the first file included by config.h.
61536478 3835null_defines=
64ccbc99 3836host_xm_file="auto-host.h gansidecl.h ${host_xm_file} hwint.h"
db81d74a 3837
b7cb92ad 3838# If host=build, it is correct to have hconfig include auto-host.h
db81d74a
RH
3839# as well. If host!=build, we are in error and need to do more
3840# work to find out the build config parameters.
75bffa71 3841if test x$host = x$build
db81d74a 3842then
64ccbc99 3843 build_xm_file="auto-host.h gansidecl.h ${build_xm_file} hwint.h"
b7cb92ad
JL
3844else
3845 # We create a subdir, then run autoconf in the subdir.
3846 # To prevent recursion we set host and build for the new
3847 # invocation of configure to the build for this invocation
3848 # of configure.
3849 tempdir=build.$$
3850 rm -rf $tempdir
3851 mkdir $tempdir
3852 cd $tempdir
3853 case ${srcdir} in
3854 /*) realsrcdir=${srcdir};;
3855 *) realsrcdir=../${srcdir};;
3856 esac
fe81dd69 3857 CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
b7cb92ad
JL
3858 --target=$target --host=$build --build=$build
3859
3860 # We just finished tests for the build machine, so rename
3861 # the file auto-build.h in the gcc directory.
3862 mv auto-host.h ../auto-build.h
3863 cd ..
3864 rm -rf $tempdir
64ccbc99 3865 build_xm_file="auto-build.h gansidecl.h ${build_xm_file} hwint.h"
db81d74a
RH
3866fi
3867
0056a9b5
KG
3868xm_file="gansidecl.h ${xm_file}"
3869tm_file="gansidecl.h ${tm_file}"
3870
6baf1cc8
BS
3871vars="host_xm_file tm_file tm_p_file xm_file build_xm_file"
3872links="config.h tm.h tm_p.h tconfig.h hconfig.h"
3873defines="host_xm_defines null_defines null_defines xm_defines build_xm_defines"
46f18e7b
RK
3874
3875rm -f config.bak
75bffa71 3876if test -f config.status; then mv -f config.status config.bak; fi
46f18e7b
RK
3877
3878# Make the links.
75bffa71 3879while test -n "$vars"
46f18e7b 3880do
46f18e7b
RK
3881 set $vars; var=$1; shift; vars=$*
3882 set $links; link=$1; shift; links=$*
61536478 3883 set $defines; define=$1; shift; defines=$*
46f18e7b
RK
3884
3885 rm -f $link
6baf1cc8
BS
3886 # Make sure the file is created, even if it is empty.
3887 echo >$link
46f18e7b
RK
3888
3889 # Define TARGET_CPU_DEFAULT if the system wants one.
3890 # This substitutes for lots of *.h files.
75bffa71 3891 if test "$target_cpu_default" != "" -a $link = tm.h
46f18e7b 3892 then
8fbf199e 3893 echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
46f18e7b
RK
3894 fi
3895
3896 for file in `eval echo '$'$var`; do
ab87f8c8
JL
3897 case $file in
3898 auto-config.h)
3899 ;;
3900 *)
3901 echo '#ifdef IN_GCC' >>$link
3902 ;;
3903 esac
46f18e7b 3904 echo "#include \"$file\"" >>$link
ab87f8c8
JL
3905 case $file in
3906 auto-config.h)
3907 ;;
3908 *)
3909 echo '#endif' >>$link
3910 ;;
3911 esac
46f18e7b 3912 done
61536478
JL
3913
3914 for def in `eval echo '$'$define`; do
3915 echo "#ifndef $def" >>$link
3916 echo "#define $def" >>$link
3917 echo "#endif" >>$link
3918 done
46f18e7b
RK
3919done
3920
3921# Truncate the target if necessary
75bffa71 3922if test x$host_truncate_target != x; then
46f18e7b
RK
3923 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
3924fi
3925
f1943b77 3926# Get the version trigger filename from the toplevel
75bffa71 3927if test "${with_gcc_version_trigger+set}" = set; then
f1943b77
MH
3928 gcc_version_trigger=$with_gcc_version_trigger
3929else
3930 gcc_version_trigger=${srcdir}/version.c
3931fi
75bffa71
ILT
3932changequote(,)dnl
3933gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${gcc_version_trigger}`
3934changequote([,])dnl
46f18e7b 3935
ab87f8c8
JL
3936# Internationalization
3937PACKAGE=gcc
3938VERSION="$gcc_version"
3939AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
3940AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
3941AC_SUBST(PACKAGE)
3942AC_SUBST(VERSION)
3943
3944ALL_LINGUAS="en_UK"
3945
3946# NLS support is still experimental, so disable it by default for now.
3947AC_ARG_ENABLE(nls,
3948 [ --enable-nls use Native Language Support (disabled by default)],
3949 , enable_nls=no)
3950
3951AM_GNU_GETTEXT
3952XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
3953
f4ab28e3
MK
3954# Windows32 Registry support for specifying GCC installation paths.
3955AC_ARG_ENABLE(win32-registry,
3956[ --disable-win32-registry
3957 Disable lookup of installation paths in the
3958 Registry on Windows hosts.
3959 --enable-win32-registry Enable registry lookup (default).
3960 --enable-win32-registry=KEY
3961 Use KEY instead of GCC version as the last portion
3962 of the registry key.],,)
3963
3964AC_MSG_CHECKING(whether windows registry support is requested)
3965if test x$enable_win32_registry != xno; then
3966 AC_DEFINE(ENABLE_WIN32_REGISTRY)
3967 AC_MSG_RESULT(yes)
3968else
3969 AC_MSG_RESULT(no)
3970fi
3971
3972# Check if user specified a different registry key.
3973case x${enable_win32_registry} in
3974x | xyes)
3975 # default.
3976 gcc_cv_win32_registry_key="$VERSION"
3977 ;;
3978xno)
3979 # no registry lookup.
3980 gcc_cv_win32_registry_key=''
3981 ;;
3982*)
3983 # user-specified key.
3984 gcc_cv_win32_registry_key="$enable_win32_registry"
3985 ;;
3986esac
3987
3988if test x$enable_win32_registry != xno; then
3989 AC_MSG_CHECKING(registry key on windows hosts)
3990 AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key")
3991 AC_MSG_RESULT($gcc_cv_win32_registry_key)
3992fi
3993
7fa10b25
RK
3994# Get an absolute path to the GCC top-level source directory
3995holddir=`pwd`
3996cd $srcdir
3997topdir=`pwd`
3998cd $holddir
3999
af5e4ada 4000# Conditionalize the makefile for this host machine.
94f42018
DE
4001# Make-host contains the concatenation of all host makefile fragments
4002# [there can be more than one]. This file is built by configure.frag.
4003host_overrides=Make-host
af5e4ada 4004dep_host_xmake_file=
94f42018
DE
4005for f in .. ${host_xmake_file}
4006do
75bffa71 4007 if test -f ${srcdir}/config/$f
94f42018
DE
4008 then
4009 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
4010 fi
4011done
46f18e7b 4012
af5e4ada 4013# Conditionalize the makefile for this target machine.
94f42018
DE
4014# Make-target contains the concatenation of all host makefile fragments
4015# [there can be more than one]. This file is built by configure.frag.
4016target_overrides=Make-target
af5e4ada 4017dep_tmake_file=
94f42018
DE
4018for f in .. ${tmake_file}
4019do
75bffa71 4020 if test -f ${srcdir}/config/$f
94f42018
DE
4021 then
4022 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
4023 fi
4024done
5891b37d 4025
af5e4ada
DE
4026# If the host doesn't support symlinks, modify CC in
4027# FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
4028# Otherwise, we can use "CC=$(CC)".
4029rm -f symtest.tem
61536478 4030if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
af5e4ada
DE
4031then
4032 cc_set_by_configure="\$(CC)"
5aa82ace 4033 quoted_cc_set_by_configure="\$(CC)"
af5e4ada
DE
4034 stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
4035else
61536478
JL
4036 rm -f symtest.tem
4037 if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
4038 then
4039 symbolic_link="cp -p"
4040 else
4041 symbolic_link="cp"
4042 fi
af5e4ada 4043 cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
5aa82ace 4044 quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
af5e4ada
DE
4045 stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
4046fi
4047rm -f symtest.tem
5891b37d 4048
af5e4ada 4049out_object_file=`basename $out_file .c`.o
5891b37d 4050
af5e4ada
DE
4051tm_file_list=
4052for f in $tm_file; do
64ccbc99
KG
4053 case $f in
4054 gansidecl.h )
4055 tm_file_list="${tm_file_list} $f" ;;
4056 *) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
4057 esac
af5e4ada 4058done
46f18e7b 4059
af5e4ada
DE
4060host_xm_file_list=
4061for f in $host_xm_file; do
64ccbc99
KG
4062 case $f in
4063 auto-host.h | gansidecl.h | hwint.h )
4064 host_xm_file_list="${host_xm_file_list} $f" ;;
4065 *) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
4066 esac
af5e4ada
DE
4067done
4068
4069build_xm_file_list=
4070for f in $build_xm_file; do
64ccbc99
KG
4071 case $f in
4072 auto-build.h | auto-host.h | gansidecl.h | hwint.h )
4073 build_xm_file_list="${build_xm_file_list} $f" ;;
4074 *) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
4075 esac
af5e4ada 4076done
46f18e7b 4077
af5e4ada
DE
4078# Define macro CROSS_COMPILE in compilation
4079# if this is a cross-compiler.
4080# Also use all.cross instead of all.internal
4081# and add cross-make to Makefile.
571a8de5 4082cross_overrides="/dev/null"
75bffa71 4083if test x$host != x$target
af5e4ada
DE
4084then
4085 cross_defines="CROSS=-DCROSS_COMPILE"
4086 cross_overrides="${topdir}/cross-make"
4087fi
46f18e7b 4088
af5e4ada
DE
4089# When building gcc with a cross-compiler, we need to fix a few things.
4090# This must come after cross-make as we want all.build to override
4091# all.cross.
571a8de5 4092build_overrides="/dev/null"
75bffa71 4093if test x$build != x$host
af5e4ada
DE
4094then
4095 build_overrides="${topdir}/build-make"
4096fi
46f18e7b 4097
ae3a15bb
DE
4098# Expand extra_headers to include complete path.
4099# This substitutes for lots of t-* files.
4100extra_headers_list=
75bffa71 4101if test "x$extra_headers" = x
ae3a15bb
DE
4102then true
4103else
4104 # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
4105 for file in $extra_headers;
4106 do
4107 extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
4108 done
4109fi
4110
75bffa71 4111if test x$use_collect2 = xno; then
2ce3c6c6
JM
4112 use_collect2=
4113fi
4114
af5e4ada
DE
4115# Add a definition of USE_COLLECT2 if system wants one.
4116# Also tell toplev.c what to do.
4117# This substitutes for lots of t-* files.
75bffa71 4118if test x$use_collect2 = x
af5e4ada
DE
4119then
4120 will_use_collect2=
4121 maybe_use_collect2=
4122else
10da1131 4123 will_use_collect2="collect2"
af5e4ada
DE
4124 maybe_use_collect2="-DUSE_COLLECT2"
4125fi
4126
4127# NEED TO CONVERT
4128# Set MD_DEPS if the real md file is in md.pre-cpp.
4129# Set MD_CPP to the cpp to pass the md file through. Md files use ';'
4130# for line oriented comments, so we must always use a GNU cpp. If
4131# building gcc with a cross compiler, use the cross compiler just
4132# built. Otherwise, we can use the cpp just built.
4133md_file_sub=
75bffa71 4134if test "x$md_cppflags" = x
af5e4ada
DE
4135then
4136 md_file_sub=$srcdir/config/$md_file
4137else
4138 md_file=md
4139fi
4140
4141# If we have gas in the build tree, make a link to it.
75bffa71 4142if test -f ../gas/Makefile; then
6e26218f 4143 rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
af5e4ada
DE
4144fi
4145
4b95eb49 4146# If we have nm in the build tree, make a link to it.
75bffa71 4147if test -f ../binutils/Makefile; then
4b95eb49
JL
4148 rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
4149fi
4150
af5e4ada 4151# If we have ld in the build tree, make a link to it.
75bffa71
ILT
4152if test -f ../ld/Makefile; then
4153# if test x$use_collect2 = x; then
6e26218f 4154# rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
aa32d841 4155# else
6e26218f 4156 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
aa32d841 4157# fi
af5e4ada
DE
4158fi
4159
9e423e6d
JW
4160# Figure out what assembler alignment features are present.
4161AC_MSG_CHECKING(assembler alignment features)
4162gcc_cv_as=
4163gcc_cv_as_alignment_features=
a2f319ea 4164gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
3ccc3a56
AO
4165if test -x "$DEFAULT_ASSEMBLER"; then
4166 gcc_cv_as="$DEFAULT_ASSEMBLER"
4167elif test -x "$AS"; then
4168 gcc_cv_as="$AS"
ab339d62 4169elif test -x as$host_exeext; then
9e423e6d
JW
4170 # Build using assembler in the current directory.
4171 gcc_cv_as=./as$host_exeext
5585c1bc 4172elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
9e423e6d 4173 # Single tree build which includes gas.
a2c9d57c 4174 for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
9e423e6d 4175 do
75bffa71
ILT
4176changequote(,)dnl
4177 gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
4178changequote([,])dnl
4179 if test x$gcc_cv_gas_version != x; then
9e423e6d
JW
4180 break
4181 fi
4182 done
75bffa71
ILT
4183changequote(,)dnl
4184 gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
4185 gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
4186changequote([,])dnl
4187 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
0b9d02c6
JL
4188 # Gas version 2.6 and later support for .balign and .p2align.
4189 # bytes to skip when using .p2align.
75bffa71 4190 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
0b9d02c6
JL
4191 gcc_cv_as_alignment_features=".balign and .p2align"
4192 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4193 fi
4194 # Gas version 2.8 and later support specifying the maximum
4195 # bytes to skip when using .p2align.
75bffa71 4196 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
0b9d02c6
JL
4197 gcc_cv_as_alignment_features=".p2align including maximum skip"
4198 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4199 fi
9e423e6d 4200 fi
75bffa71 4201elif test x$host = x$target; then
9e423e6d 4202 # Native build.
779243f7
JL
4203 # Search the same directories that the installed compiler will
4204 # search. Else we may find the wrong assembler and lose. If we
4205 # do not find a suitable assembler binary, then try the user's
4206 # path.
4207 #
4208 # Also note we have to check MD_EXEC_PREFIX before checking the
4209 # user's path. Unfortunately, there is no good way to get at the
4210 # value of MD_EXEC_PREFIX here. So we do a brute force search
4211 # through all the known MD_EXEC_PREFIX values. Ugh. This needs
4212 # to be fixed as part of the make/configure rewrite too.
4213
4214 if test "x$exec_prefix" = xNONE; then
4215 if test "x$prefix" = xNONE; then
4216 test_prefix=/usr/local
4217 else
4218 test_prefix=$prefix
4219 fi
4220 else
4221 test_prefix=$exec_prefix
4222 fi
4223
4224 # If the loop below does not find an assembler, then use whatever
4225 # one we can find in the users's path.
4226 # user's path.
4227 as=as$host_exeext
4228
4229 test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
4230 $test_prefix/lib/gcc-lib/$target \
4231 /usr/lib/gcc/$target/$gcc_version \
4232 /usr/lib/gcc/$target \
4233 $test_prefix/$target/bin/$target/$gcc_version \
4234 $test_prefix/$target/bin \
4235 /usr/libexec \
4236 /usr/ccs/gcc \
4237 /usr/ccs/bin \
4238 /udk/usr/ccs/bin \
4239 /bsd43/usr/lib/cmplrs/cc \
4240 /usr/cross64/usr/bin \
4241 /usr/lib/cmplrs/cc \
4242 /sysv/usr/lib/cmplrs/cc \
4243 /svr4/usr/lib/cmplrs/cc \
4244 /usr/bin"
4245
4246 for dir in $test_dirs; do
4247 if test -f $dir/as$host_exeext; then
4248 gcc_cv_as=$dir/as$host_exeext
4249 break;
4250 fi
4251 done
9e423e6d 4252fi
75bffa71 4253if test x$gcc_cv_as != x; then
00ccc16d
JL
4254 # Check if we have .balign and .p2align
4255 echo ".balign 4" > conftest.s
4256 echo ".p2align 2" >> conftest.s
4257 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4258 gcc_cv_as_alignment_features=".balign and .p2align"
4259 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4260 fi
4261 rm -f conftest.s conftest.o
9e423e6d
JW
4262 # Check if specifying the maximum bytes to skip when
4263 # using .p2align is supported.
4264 echo ".p2align 4,,7" > conftest.s
4265 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4266 gcc_cv_as_alignment_features=".p2align including maximum skip"
4267 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4268 fi
4269 rm -f conftest.s conftest.o
4270fi
4271AC_MSG_RESULT($gcc_cv_as_alignment_features)
4272
d1accaa3
JJ
4273AC_MSG_CHECKING(assembler subsection support)
4274gcc_cv_as_subsections=
4275if test x$gcc_cv_as != x; then
4276 # Check if we have .subsection
4277 echo ".subsection 1" > conftest.s
4278 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4279 gcc_cv_as_subsections=".subsection"
4280 if test -x nm$host_exeext; then
4281 gcc_cv_nm=./nm$host_exeext
4282 elif test x$host = x$target; then
4283 # Native build.
4284 gcc_cv_nm=nm$host_exeext
4285 fi
4286 if test x$gcc_cv_nm != x; then
4287 cat > conftest.s <<EOF
4288conftest_label1: .word 0
4289.subsection -1
4290conftest_label2: .word 0
4291.previous
4292EOF
4293 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4294 $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
4295 $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
1b015bec
AO
4296 if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
4297 :
4298 else
d1accaa3
JJ
4299 gcc_cv_as_subsections="working .subsection -1"
4300 AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING)
4301 fi
4302 fi
4303 fi
4304 fi
4305 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4306fi
4307AC_MSG_RESULT($gcc_cv_as_subsections)
4308
1cb36a98
RH
4309case "$target" in
4310 sparc*-*-*)
4311 AC_MSG_CHECKING(assembler .register pseudo-op support)
4312 gcc_cv_as_register_pseudo_op=
4313 if test x$gcc_cv_as != x; then
4314 # Check if we have .register
4315 echo ".register %g2, #scratch" > conftest.s
4316 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4317 gcc_cv_as_register_pseudo_op=yes
4318 AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP)
4319 fi
4320 rm -f conftest.s conftest.o
4321 fi
4322 AC_MSG_RESULT($gcc_cv_as_register_pseudo_op)
4323
4324 AC_MSG_CHECKING([assembler offsetable %lo() support])
4325 gcc_cv_as_offsetable_lo10=
4326 if test x$gcc_cv_as != x; then
4327 # Check if assembler has offsetable %lo()
4328 echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
4329 echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
4330 gcc_cv_as_flags64="-xarch=v9"
7cfc8a78
NS
4331 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s > /dev/null 2>&1; then
4332 :
4333 else
1cb36a98 4334 gcc_cv_as_flags64="-64"
7cfc8a78
NS
4335 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s > /dev/null 2>&1; then
4336 :
4337 else
1cb36a98
RH
4338 gcc_cv_as_flags64=""
4339 fi
4340 fi
4341 if test -n "$gcc_cv_as_flags64" ; then
4342 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s > /dev/null 2>&1; then
4343 if cmp conftest.o conftest1.o > /dev/null 2>&1; then
4344 :
4345 else
4346 gcc_cv_as_offsetable_lo10=yes
4347 AC_DEFINE(HAVE_AS_OFFSETABLE_LO10)
4348 fi
4349 fi
4350 fi
4351 rm -f conftest.s conftest.o conftest1.s conftest1.o
4352 fi
4353 AC_MSG_RESULT($gcc_cv_as_offsetable_lo10)
4354 ;;
4355
4356changequote(,)dnl
4357 i[34567]86-*-*)
4358changequote([,])dnl
4359 AC_MSG_CHECKING(assembler instructions)
4360 gcc_cv_as_instructions=
4361 if test x$gcc_cv_as != x; then
53b5ce19
JW
4362 set "filds fists" "filds mem; fists mem"
4363 while test $# -gt 0
4364 do
4365 echo "$2" > conftest.s
4366 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4367 gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
4368 AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$1" | tr '[a-z ]' '[A-Z_]'`)
4369 fi
4370 shift 2
4371 done
4372 rm -f conftest.s conftest.o
1cb36a98
RH
4373 fi
4374 AC_MSG_RESULT($gcc_cv_as_instructions)
4375 ;;
4376esac
53b5ce19 4377
571a8de5 4378# Figure out what language subdirectories are present.
71205e0b
MH
4379# Look if the user specified --enable-languages="..."; if not, use
4380# the environment variable $LANGUAGES if defined. $LANGUAGES might
4381# go away some day.
4382if test x"${enable_languages+set}" != xset; then
4383 if test x"${LANGUAGES+set}" = xset; then
4384 enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
4385 else
4386 enable_languages=all
4387 fi
4388fi
571a8de5
DE
4389subdirs=
4390for lang in ${srcdir}/*/config-lang.in ..
4391do
4392 case $lang in
4393 ..) ;;
4394 # The odd quoting in the next line works around
4395 # an apparent bug in bash 1.12 on linux.
75bffa71
ILT
4396changequote(,)dnl
4397 ${srcdir}/[*]/config-lang.in) ;;
71205e0b
MH
4398 *)
4399 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
4400 if test "x$lang_alias" = x
4401 then
4402 echo "$lang doesn't set \$language." 1>&2
4403 exit 1
4404 fi
4405 if test x"${enable_languages}" = xall; then
4406 add_this_lang=yes
4407 else
4408 case "${enable_languages}" in
4409 ${lang_alias} | "${lang_alias},"* | *",${lang_alias},"* | *",${lang_alias}" )
4410 add_this_lang=yes
4411 ;;
4412 * )
4413 add_this_lang=no
4414 ;;
4415 esac
4416 fi
4417 if test x"${add_this_lang}" = xyes; then
4418 case $lang in
4419 ${srcdir}/ada/config-lang.in)
4420 if test x$gnat = xyes ; then
4421 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4422 fi
4423 ;;
4424 *)
4425 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4426 ;;
4427 esac
4428 fi
4429 ;;
75bffa71 4430changequote([,])dnl
571a8de5
DE
4431 esac
4432done
4433
f24af81b
TT
4434# Make gthr-default.h if we have a thread file.
4435gthread_flags=
75bffa71 4436if test $thread_file != single; then
f24af81b 4437 rm -f gthr-default.h
db0d1ed9 4438 echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
f24af81b
TT
4439 gthread_flags=-DHAVE_GTHR_DEFAULT
4440fi
4441AC_SUBST(gthread_flags)
4442
571a8de5
DE
4443# Make empty files to contain the specs and options for each language.
4444# Then add #include lines to for a compiler that has specs and/or options.
4445
4446lang_specs_files=
4447lang_options_files=
3103b7db
ML
4448lang_tree_files=
4449rm -f specs.h options.h gencheck.h
4450touch specs.h options.h gencheck.h
571a8de5
DE
4451for subdir in . $subdirs
4452do
75bffa71 4453 if test -f $srcdir/$subdir/lang-specs.h; then
571a8de5
DE
4454 echo "#include \"$subdir/lang-specs.h\"" >>specs.h
4455 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
4456 fi
75bffa71 4457 if test -f $srcdir/$subdir/lang-options.h; then
571a8de5
DE
4458 echo "#include \"$subdir/lang-options.h\"" >>options.h
4459 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
4460 fi
3103b7db
ML
4461 if test -f $srcdir/$subdir/$subdir-tree.def; then
4462 echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
4463 lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
4464 fi
571a8de5
DE
4465done
4466
4467# These (without "all_") are set in each config-lang.in.
4468# `language' must be a single word so is spelled singularly.
4469all_languages=
4470all_boot_languages=
4471all_compilers=
4472all_stagestuff=
4473all_diff_excludes=
9f3d1bc2 4474all_outputs='Makefile intl/Makefile po/Makefile.in fixinc/Makefile'
571a8de5
DE
4475# List of language makefile fragments.
4476all_lang_makefiles=
4477all_headers=
4478all_lib2funcs=
4479
4480# Add the language fragments.
4481# Languages are added via two mechanisms. Some information must be
4482# recorded in makefile variables, these are defined in config-lang.in.
4483# We accumulate them and plug them into the main Makefile.
4484# The other mechanism is a set of hooks for each of the main targets
4485# like `clean', `install', etc.
4486
4487language_fragments="Make-lang"
4488language_hooks="Make-hooks"
0280cf84 4489oldstyle_subdirs=
571a8de5
DE
4490
4491for s in .. $subdirs
4492do
75bffa71 4493 if test $s != ".."
571a8de5
DE
4494 then
4495 language=
4496 boot_language=
4497 compilers=
4498 stagestuff=
4499 diff_excludes=
4500 headers=
0280cf84 4501 outputs=
571a8de5
DE
4502 lib2funcs=
4503 . ${srcdir}/$s/config-lang.in
75bffa71 4504 if test "x$language" = x
571a8de5
DE
4505 then
4506 echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
4507 exit 1
4508 fi
4509 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
4510 all_languages="$all_languages $language"
75bffa71 4511 if test "x$boot_language" = xyes
571a8de5
DE
4512 then
4513 all_boot_languages="$all_boot_languages $language"
4514 fi
4515 all_compilers="$all_compilers $compilers"
4516 all_stagestuff="$all_stagestuff $stagestuff"
4517 all_diff_excludes="$all_diff_excludes $diff_excludes"
4518 all_headers="$all_headers $headers"
0280cf84 4519 all_outputs="$all_outputs $outputs"
75bffa71 4520 if test x$outputs = x
0280cf84
PB
4521 then
4522 oldstyle_subdirs="$oldstyle_subdirs $s"
4523 fi
571a8de5
DE
4524 all_lib2funcs="$all_lib2funcs $lib2funcs"
4525 fi
4526done
4527
4528# Since we can't use `::' targets, we link each language in
4529# with a set of hooks, reached indirectly via lang.${target}.
4530
4531rm -f Make-hooks
4532touch Make-hooks
4533target_list="all.build all.cross start.encap rest.encap \
4534 info dvi \
4535 install-normal install-common install-info install-man \
4536 uninstall distdir \
4537 mostlyclean clean distclean extraclean maintainer-clean \
4538 stage1 stage2 stage3 stage4"
4539for t in $target_list
4540do
4541 x=
ab87f8c8 4542 for lang in .. $all_languages
571a8de5 4543 do
ab87f8c8
JL
4544 if test $lang != ".."; then
4545 x="$x $lang.$t"
571a8de5
DE
4546 fi
4547 done
4548 echo "lang.$t: $x" >> Make-hooks
4549done
4550
296e46bd
DE
4551# If we're not building in srcdir, create .gdbinit.
4552
75bffa71 4553if test ! -f Makefile.in; then
296e46bd
DE
4554 echo "dir ." > .gdbinit
4555 echo "dir ${srcdir}" >> .gdbinit
75bffa71 4556 if test x$gdb_needs_out_file_path = xyes
296e46bd
DE
4557 then
4558 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
4559 fi
75bffa71 4560 if test "x$subdirs" != x; then
296e46bd
DE
4561 for s in $subdirs
4562 do
4563 echo "dir ${srcdir}/$s" >> .gdbinit
4564 done
4565 fi
4566 echo "source ${srcdir}/.gdbinit" >> .gdbinit
4567fi
4568
88111b26
JL
4569# Define variables host_canonical and build_canonical
4570# because some Cygnus local changes in the Makefile depend on them.
4571build_canonical=${build}
4572host_canonical=${host}
4573target_subdir=
75bffa71 4574if test "${host}" != "${target}" ; then
88111b26
JL
4575 target_subdir=${target}/
4576fi
4577AC_SUBST(build_canonical)
4578AC_SUBST(host_canonical)
4579AC_SUBST(target_subdir)
4580
dec88383
DE
4581# If this is using newlib, then define inhibit_libc in
4582# LIBGCC2_CFLAGS. This will cause __eprintf to be left out of
4583# libgcc.a, but that's OK because newib should have its own version of
4584# assert.h.
4585inhibit_libc=
75bffa71 4586if test x$with_newlib = xyes; then
dec88383
DE
4587 inhibit_libc=-Dinhibit_libc
4588fi
4589AC_SUBST(inhibit_libc)
4590
8f8d3278
NC
4591# If $(exec_prefix) exists and is not the same as $(prefix), then compute an
4592# absolute path for gcc_tooldir based on inserting the number of up-directory
4593# movements required to get from $(exec_prefix) to $(prefix) into the basic
4594# $(libsubdir)/@(unlibsubdir) based path.
82cbf8f7
JL
4595# Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
4596# make and thus we'd get different behavior depending on where we built the
4597# sources.
5949a9fc 4598if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
d062c304
JL
4599 gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
4600else
8f8d3278
NC
4601changequote(<<, >>)dnl
4602# An explanation of the sed strings:
4603# -e 's|^\$(prefix)||' matches and eliminates 'prefix' from 'exec_prefix'
4604# -e 's|/$||' match a trailing forward slash and eliminates it
4605# -e 's|^[^/]|/|' forces the string to start with a forward slash (*)
4606# -e 's|/[^/]*|../|g' replaces each occurance of /<directory> with ../
4607#
4608# (*) Note this pattern overwrites the first character of the string
4609# with a forward slash if one is not already present. This is not a
4610# problem because the exact names of the sub-directories concerned is
4611# unimportant, just the number of them matters.
4612#
4613# The practical upshot of these patterns is like this:
4614#
4615# prefix exec_prefix result
4616# ------ ----------- ------
4617# /foo /foo/bar ../
4618# /foo/ /foo/bar ../
4619# /foo /foo/bar/ ../
4620# /foo/ /foo/bar/ ../
4621# /foo /foo/bar/ugg ../../
4622#
4c112cda
NC
4623 dollar='$$'
4624 gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
8f8d3278 4625changequote([, ])dnl
d062c304
JL
4626fi
4627AC_SUBST(gcc_tooldir)
4c112cda 4628AC_SUBST(dollar)
d062c304 4629
7e717196
JL
4630# Nothing to do for FLOAT_H, float_format already handled.
4631objdir=`pwd`
4632AC_SUBST(objdir)
4633
94f42018
DE
4634# Process the language and host/target makefile fragments.
4635${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
47866ac0 4636
46f18e7b
RK
4637# Substitute configuration variables
4638AC_SUBST(subdirs)
46f18e7b
RK
4639AC_SUBST(all_boot_languages)
4640AC_SUBST(all_compilers)
46f18e7b 4641AC_SUBST(all_diff_excludes)
46f18e7b 4642AC_SUBST(all_headers)
9f3d1bc2
BK
4643AC_SUBST(all_lang_makefiles)
4644AC_SUBST(all_languages)
4645AC_SUBST(all_lib2funcs)
4646AC_SUBST(all_stagestuff)
4647AC_SUBST(build_exeext)
4648AC_SUBST(build_install_headers_dir)
4649AC_SUBST(build_xm_file_list)
4650AC_SUBST(cc_set_by_configure)
5aa82ace 4651AC_SUBST(quoted_cc_set_by_configure)
9f3d1bc2 4652AC_SUBST(cpp_install_dir)
e061d1ce 4653AC_SUBST(cpp_main)
9f3d1bc2
BK
4654AC_SUBST(dep_host_xmake_file)
4655AC_SUBST(dep_tmake_file)
4656AC_SUBST(extra_c_flags)
b4294351 4657AC_SUBST(extra_c_objs)
56f48ce9 4658AC_SUBST(extra_cpp_objs)
9f3d1bc2
BK
4659AC_SUBST(extra_cxx_objs)
4660AC_SUBST(extra_headers_list)
46f18e7b 4661AC_SUBST(extra_objs)
9f3d1bc2
BK
4662AC_SUBST(extra_parts)
4663AC_SUBST(extra_passes)
4664AC_SUBST(extra_programs)
4665AC_SUBST(fixinc_defs)
4666AC_SUBST(float_h_file)
4667AC_SUBST(gcc_gxx_include_dir)
4668AC_SUBST(gcc_version)
4669AC_SUBST(gcc_version_trigger)
4670AC_SUBST(host_exeext)
46f18e7b 4671AC_SUBST(host_extra_gcc_objs)
46f18e7b 4672AC_SUBST(host_xm_file_list)
9f3d1bc2 4673AC_SUBST(install)
46f18e7b 4674AC_SUBST(lang_options_files)
9f3d1bc2 4675AC_SUBST(lang_specs_files)
3103b7db 4676AC_SUBST(lang_tree_files)
46f18e7b 4677AC_SUBST(local_prefix)
46f18e7b 4678AC_SUBST(maybe_use_collect2)
9f3d1bc2
BK
4679AC_SUBST(md_file)
4680AC_SUBST(objc_boehm_gc)
4681AC_SUBST(out_file)
4682AC_SUBST(out_object_file)
46f18e7b 4683AC_SUBST(stage_prefix_set_by_configure)
e9a25f70 4684AC_SUBST(symbolic_link)
9f3d1bc2
BK
4685AC_SUBST(thread_file)
4686AC_SUBST(tm_file_list)
4687AC_SUBST(will_use_collect2)
9fc9b82a 4688
46f18e7b
RK
4689
4690AC_SUBST_FILE(target_overrides)
4691AC_SUBST_FILE(host_overrides)
4692AC_SUBST(cross_defines)
4693AC_SUBST_FILE(cross_overrides)
4694AC_SUBST_FILE(build_overrides)
4695AC_SUBST_FILE(language_fragments)
4696AC_SUBST_FILE(language_hooks)
4697
4698# Echo that links are built
75bffa71 4699if test x$host = x$target
46f18e7b
RK
4700then
4701 str1="native "
4702else
4703 str1="cross-"
4704 str2=" from $host"
4705fi
4706
75bffa71 4707if test x$host != x$build
46f18e7b
RK
4708then
4709 str3=" on a $build system"
4710fi
4711
75bffa71 4712if test "x$str2" != x || test "x$str3" != x
46f18e7b
RK
4713then
4714 str4=
4715fi
4716
4717echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
4718
75bffa71 4719if test "x$str2" != x || test "x$str3" != x
46f18e7b
RK
4720then
4721 echo " ${str2}${str3}." 1>&2
4722fi
4723
61536478 4724# Truncate the target if necessary
75bffa71 4725if test x$host_truncate_target != x; then
61536478
JL
4726 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
4727fi
4728
46f18e7b
RK
4729# Configure the subdirectories
4730# AC_CONFIG_SUBDIRS($subdirs)
4731
4732# Create the Makefile
5891b37d 4733# and configure language subdirectories
0280cf84 4734AC_OUTPUT($all_outputs,
cdcc6a01
DE
4735[
4736. $srcdir/configure.lang
4737case x$CONFIG_HEADERS in
b7cb92ad 4738xauto-host.h:config.in)
818b66cc 4739echo > cstamp-h ;;
cdcc6a01 4740esac
93cf819d
BK
4741# If the host supports symlinks, point stage[1234] at ../stage[1234] so
4742# bootstrapping and the installation procedure can still use
4743# CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
4744# FLAGS_TO_PASS has been modified to solve the problem there.
4745# This is virtually a duplicate of what happens in configure.lang; we do
4746# an extra check to make sure this only happens if ln -s can be used.
75bffa71 4747if test "$symbolic_link" = "ln -s"; then
93cf819d 4748 for d in .. ${subdirs} ; do
75bffa71 4749 if test $d != ..; then
4e8a434e
BK
4750 STARTDIR=`pwd`
4751 cd $d
4752 for t in stage1 stage2 stage3 stage4 include
4753 do
4754 rm -f $t
4755 $symbolic_link ../$t $t 2>/dev/null
4756 done
4757 cd $STARTDIR
93cf819d
BK
4758 fi
4759 done
4760else true ; fi
ab87f8c8
JL
4761# Avoid having to add intl to our include paths.
4762if test -f intl/libintl.h; then
4763 echo creating libintl.h
4764 echo '#include "intl/libintl.h"' >libintl.h
4765fi
cdcc6a01
DE
4766],
4767[
5891b37d
RK
4768host='${host}'
4769build='${build}'
4770target='${target}'
52060267 4771target_alias='${target_alias}'
5891b37d
RK
4772srcdir='${srcdir}'
4773subdirs='${subdirs}'
296e46bd 4774oldstyle_subdirs='${oldstyle_subdirs}'
5891b37d
RK
4775symbolic_link='${symbolic_link}'
4776program_transform_set='${program_transform_set}'
4777program_transform_name='${program_transform_name}'
5891b37d
RK
4778dep_host_xmake_file='${dep_host_xmake_file}'
4779host_xmake_file='${host_xmake_file}'
4780dep_tmake_file='${dep_tmake_file}'
4781tmake_file='${tmake_file}'
0bbb1697 4782thread_file='${thread_file}'
f1943b77
MH
4783gcc_version='${gcc_version}'
4784gcc_version_trigger='${gcc_version_trigger}'
5891b37d 4785local_prefix='${local_prefix}'
5891b37d 4786build_install_headers_dir='${build_install_headers_dir}'
a204adc6 4787build_exeext='${build_exeext}'
6e26218f 4788host_exeext='${host_exeext}'
7ed46111 4789out_file='${out_file}'
5891b37d
RK
4790gdb_needs_out_file_path='${gdb_needs_out_file_path}'
4791SET_MAKE='${SET_MAKE}'
5891b37d 4792target_list='${target_list}'
5891b37d
RK
4793target_overrides='${target_overrides}'
4794host_overrides='${host_overrides}'
4795cross_defines='${cross_defines}'
4796cross_overrides='${cross_overrides}'
4797build_overrides='${build_overrides}'
9fc9b82a 4798cpp_install_dir='${cpp_install_dir}'
cdcc6a01 4799])