OSDN Git Service

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