OSDN Git Service

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