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