OSDN Git Service

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