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