OSDN Git Service

* configure.in (mips-wrs-vxworks): New target.
[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 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_INIT(tree.c)
25 AC_CONFIG_HEADER(auto-config.h:config.in)
26
27 remove=rm
28 hard_link=ln
29 symbolic_link='ln -s'
30 copy=cp
31
32 # Check for additional parameters
33
34 # With GNU ld
35 AC_ARG_WITH(gnu-ld,
36 [  --with-gnu-ld           arrange to work with GNU ld.],
37 gnu_ld="$with_gnu_ld",
38 gnu_ld=no)
39
40 # With GNU as
41 AC_ARG_WITH(gnu-as,
42 [  --with-gnu-as           arrange to work with GNU as.],
43 gas="$with_gnu_as",
44 gas=no)
45
46 # With stabs
47 AC_ARG_WITH(stabs,
48 [  --with-stabs            arrange to use stabs instead of host debug format.],
49 stabs="$with_stabs",
50 stabs=no)
51
52 # With ELF
53 AC_ARG_WITH(elf,
54 [  --with-elf              arrange to use ELF instead of host debug format.],
55 elf="$with_elf",
56 elf=no)
57
58 # Specify the local prefix
59 AC_ARG_WITH(local-prefix,
60 [  --with-local-prefix=DIR specifies directory to put local include.],
61 local_prefix=$with_local_prefix,
62 local_prefix=/usr/local)
63
64 # Default local prefix if it is empty
65 if [[ x$local_prefix = x ]]; then
66         local_prefix=/usr/local
67 fi
68
69 # Specify the g++ header file directory
70 AC_ARG_WITH(gxx-include-dir,
71 [  --with-gxx-include-dir=DIR
72                           specifies directory to put g++ header files.],
73 gxx_include_dir=$with_gxx_include_dir,
74 gxx_include_dir='${prefix}/include/g++')
75
76 # Default g++ header file directory if it is empty
77 if [[ x$gxx_include_dir = x ]]; then
78         gxx_include_dir='${prefix}/include/g++'
79 fi
80
81 # Enable use of cpplib for C.
82 AC_ARG_ENABLE(c-cpplib,
83 [  --enable-c-cpplib       Use cpplib for C.],
84 if [[[ x$enable_c_cpplib != xno ]]]; then
85   extra_c_objs="${extra_c_objs} cpplib.o cppexp.o cpphash.o cpperror.o"
86   extra_c_flags=-DUSE_CPPLIB=1
87 fi)
88   
89 # Enable Haifa scheduler.
90 AC_ARG_ENABLE(haifa,
91 [  --enable-haifa          Use the experimental scheduler.
92   --disable-haifa         Don't use the experimental scheduler for the
93                           targets which normally enable it.])
94
95 # Enable threads
96 # Pass with no value to take the default
97 # Pass with a value to specify a thread package
98 AC_ARG_ENABLE(threads,
99 [  --enable-threads        enable thread usage for target GCC.
100   --enable-threads=LIB    use LIB thread package for target GCC.],
101 if [[[ x$enable_threads = xno ]]]; then
102         enable_threads=''
103 fi,
104 enable_threads='')
105
106 # Check if a valid thread package
107 case x${enable_threads} in
108         x | xno)
109                 # No threads
110                 target_thread_file='single'
111                 ;;
112         xyes)
113                 # default
114                 target_thread_file=''
115                 ;;
116         xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
117         xsolaris | xwin32 | xdce | xvxworks)
118                 target_thread_file=$enable_threads
119                 ;;
120         *)
121                 echo "$enable_threads is an unknown thread package" 1>&2
122                 exit 1
123                 ;;
124 esac
125
126 # Determine the host, build, and target systems
127 AC_CANONICAL_SYSTEM
128
129 # Find the native compiler
130 AC_PROG_CC
131 AC_PROG_MAKE_SET
132
133 # Find some useful tools
134 AC_PROG_AWK
135 AC_PROG_LEX
136 GCC_PROG_LN
137 GCC_PROG_LN_S
138 AC_PROG_RANLIB
139 AC_PROG_YACC
140 EGCS_PROG_INSTALL
141
142 AC_HEADER_STDC
143 AC_HEADER_TIME
144 AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h fcntl.h unistd.h sys/file.h sys/time.h sys/resource.h sys/param.h sys/times.h varargs.h sys/varargs.h)
145
146 # Check for thread headers.
147 AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
148 AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
149
150 # See if the system preprocessor understands the ANSI C preprocessor
151 # stringification operator.
152 AC_MSG_CHECKING(whether cpp understands the stringify operator)
153 AC_CACHE_VAL(gcc_cv_c_have_stringify,
154 [AC_TRY_COMPILE(,
155 [#define S(x)   #x
156 char *test = S(foo);],
157 gcc_cv_c_have_stringify=yes, gcc_cv_c_have_stringify=no)])
158 AC_MSG_RESULT($gcc_cv_c_have_stringify)
159 if test $gcc_cv_c_have_stringify = yes; then
160   AC_DEFINE(HAVE_CPP_STRINGIFY)
161 fi
162
163 # Use <inttypes.h> only if it exists,
164 # doesn't clash with <sys/types.h>, and declares intmax_t.
165 AC_MSG_CHECKING(for inttypes.h)
166 AC_CACHE_VAL(gcc_cv_header_inttypes_h,
167 [AC_TRY_COMPILE(
168   [#include <sys/types.h>
169 #include <inttypes.h>],
170   [intmax_t i = -1;],
171   [AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H)
172    gcc_cv_header_inttypes_h=yes],
173   gcc_cv_header_inttypes_h=no)])
174 AC_MSG_RESULT($gcc_cv_header_inttypes_h)
175
176 AC_CHECK_FUNCS(strtoul bsearch strerror putenv popen vprintf bcopy bzero bcmp \
177         index rindex kill getrlimit setrlimit atoll atoq sysconf)
178
179 GCC_FUNC_PRINTF_PTR
180
181 GCC_NEED_DECLARATIONS(malloc realloc calloc free bcopy bzero bcmp \
182         index rindex getenv atol sbrk abort)
183
184 AC_DECL_SYS_SIGLIST
185
186 # File extensions
187 manext='.1'
188 objext='.o'
189 AC_SUBST(manext)
190 AC_SUBST(objext)
191
192 build_xm_file=
193 build_xm_defines=
194 build_install_headers_dir=install-headers-tar
195 build_exeext=
196 host_xm_file=
197 host_xm_defines=
198 host_xmake_file=
199 host_truncate_target=
200 host_exeext=
201
202 # Decode the host machine, then the target machine.
203 # For the host machine, we save the xm_file variable as host_xm_file;
204 # then we decode the target machine and forget everything else
205 # that came from the host machine.
206 for machine in $build $host $target; do
207
208         out_file=
209         xmake_file=
210         tmake_file=
211         extra_headers=
212         extra_passes=
213         extra_parts=
214         extra_programs=
215         extra_objs=
216         extra_host_objs=
217         extra_gcc_objs=
218         xm_defines=
219         float_format=
220         # Set this to force installation and use of collect2.
221         use_collect2=
222         # Set this to override the default target model.
223         target_cpu_default=
224         # Set this to control which fixincludes program to use.
225         fixincludes=fixincludes
226         # Set this to control how the header file directory is installed.
227         install_headers_dir=install-headers-tar
228         # Set this to a non-empty list of args to pass to cpp if the target
229         # wants its .md file passed through cpp.
230         md_cppflags=
231         # Set this if directory names should be truncated to 14 characters.
232         truncate_target=
233         # Set this if gdb needs a dir command with `dirname $out_file`
234         gdb_needs_out_file_path=
235         # Set this if the build machine requires executables to have a
236         # file name suffix.
237         exeext=
238         # Set this to control which thread package will be used.
239         thread_file=
240
241         # Set default cpu_type, tm_file and xm_file so it can be updated in
242         # each machine entry.
243         cpu_type=`echo $machine | sed 's/-.*$//'`
244         case $machine in
245         alpha*-*-*)
246                 cpu_type=alpha
247                 ;;
248         arm*-*-*)
249                 cpu_type=arm
250                 ;;
251         c*-convex-*)
252                 cpu_type=convex
253                 ;;
254         i[[34567]]86-*-*)
255                 cpu_type=i386
256                 ;;
257         hppa*-*-*)
258                 cpu_type=pa
259                 ;;
260         m68000-*-*)
261                 cpu_type=m68k
262                 ;;
263         mips*-*-*)
264                 cpu_type=mips
265                 ;;
266         powerpc*-*-*)
267                 cpu_type=rs6000
268                 ;;
269         pyramid-*-*)
270                 cpu_type=pyr
271                 ;;
272         sparc*-*-*)
273                 cpu_type=sparc
274                 ;;
275         esac
276
277         tm_file=${cpu_type}/${cpu_type}.h
278         xm_file=${cpu_type}/xm-${cpu_type}.h
279         
280         # Set the default macros to define for GNU/Linux systems.
281         case $machine in
282         *-*-linux-gnu*)
283                 xm_defines="HAVE_ATEXIT POSIX NO_STAB_H BSTRING"
284                 ;;
285         esac
286
287         case $machine in
288         # Support site-specific machine types.
289         *local*)
290                 cpu_type=`echo $machine | sed -e 's/-.*//'`
291                 rest=`echo $machine | sed -e "s/$cpu_type-//"`
292                 xm_file=${cpu_type}/xm-$rest.h
293                 tm_file=${cpu_type}/$rest.h
294                 if [[ -f $srcdir/config/${cpu_type}/x-$rest ]] ; \
295                 then xmake_file=${cpu_type}/x-$rest; \
296                 else true; \
297                 fi
298                 if [[ -f $srcdir/config/${cpu_type}/t-$rest ]] ; \
299                 then tmake_file=${cpu_type}/t-$rest; \
300                 else true; \
301                 fi
302                 ;;
303         1750a-*-*)
304                 ;;
305         a29k-*-bsd* | a29k-*-sym1*)
306                 tm_file="${tm_file} a29k/unix.h"
307                 xm_defines=USG
308                 xmake_file=a29k/x-unix
309                 use_collect2=yes
310                 ;;
311         a29k-*-udi | a29k-*-coff)
312                 tm_file="${tm_file} dbxcoff.h a29k/udi.h"
313                 tmake_file=a29k/t-a29kbare
314                 ;;
315         a29k-wrs-vxworks*)
316                 tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
317                 tmake_file=a29k/t-vx29k
318                 extra_parts="crtbegin.o crtend.o"
319                 thread_file='vxworks'
320                 ;;
321         a29k-*-*)                       # Default a29k environment.
322                 use_collect2=yes
323                 ;;
324         alpha*-*-linux-gnuecoff*)
325                 tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
326                 xm_defines=USE_BFD
327                 target_cpu_default="MASK_GAS"
328                 gas=no
329                 xmake_file=none
330                 gas=yes gnu_ld=yes
331                 ;;
332         alpha*-*-linux-gnulibc1*)
333                 tm_file="${tm_file} alpha/elf.h alpha/linux-elf.h alpha/linux.h"
334                 xm_defines=USE_BFD
335                 target_cpu_default="MASK_GAS"
336                 tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux"
337                 xmake_file=none
338                 gas=yes gnu_ld=yes
339                 if [[ x$enable_threads = xyes ]]; then
340                         thread_file='posix'
341                 fi
342                 ;;
343         alpha*-*-linux-gnu*)
344                 tm_file="${tm_file} alpha/elf.h alpha/linux-elf.h alpha/linux.h"
345                 xm_defines=USE_BFD
346                 target_cpu_default="MASK_GAS"
347                 tmake_file="t-linux alpha/t-linux"
348                 xmake_file=none
349                 fixincludes=Makefile.in
350                 gas=yes gnu_ld=yes
351                 if [[ x$enable_threads = xyes ]]; then
352                         thread_file='posix'
353                 fi
354                 ;;
355         alpha*-dec-osf*)
356                 if [[ x$stabs = xyes ]]
357                 then
358                         tm_file="${tm_file} dbx.h"
359                 fi
360                 if [[ x$gas != xyes ]]
361                 then
362                         extra_passes="mips-tfile mips-tdump"
363                 fi
364                 use_collect2=yes
365                 case $machine in
366                   *-*-osf1.2)
367                     tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
368                     ;;
369                   *-*-osf[[23]]*)
370                     tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
371                     ;;
372                   *-*-osf4*)
373                     tm_file="${tm_file} alpha/osf.h"
374                     # Some versions of OSF4 (specifically X4.0-9 296.7) have
375                     # a broken tar, so we use cpio instead.
376                     install_headers_dir=install-headers-cpio
377                     ;;
378                   *-*-osf*)
379                     tm_file="${tm_file} alpha/osf.h"
380                     ;;
381                 esac
382                 case $machine in
383                   *-*-osf4.0[[b-z]] | *-*-osf4.[[1-9]]*)
384                     target_cpu_default=MASK_SUPPORT_ARCH
385                     ;;
386                 esac
387                 ;;
388         alpha*-*-winnt*)
389                 tm_file="${tm_file} alpha/win-nt.h"
390                 xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
391                 tmake_file=t-libc-ok
392                 xmake_file=winnt/x-winnt
393                 extra_host_objs=oldnames.o
394                 extra_gcc_objs="spawnv.o oldnames.o"
395                 fixincludes=fixinc.winnt
396                 if [[ x$gnu_ld != xyes ]]
397                 then
398                         extra_programs=ld.exe
399                 fi
400                 if [[ x$enable_threads = xyes ]]; then
401                         thread_file='win32'
402                 fi
403                 ;;
404         alpha*-dec-vms*)
405                 tm_file=alpha/vms.h
406                 xm_file="${xm_file} alpha/xm-vms.h"
407                 tmake_file=alpha/t-vms
408                 fixincludes=Makefile.in
409                 ;;
410         arc-*-elf*)
411                 extra_parts="crtinit.o crtfini.o"
412                 ;;
413         arm-*-coff* | armel-*-coff*)
414                 tm_file=arm/coff.h
415                 tmake_file=arm/t-bare
416                 ;;
417         arm-*-riscix1.[[01]]*)          # Acorn RISC machine (early versions)
418                 tm_file=arm/riscix1-1.h
419                 use_collect2=yes
420                 ;;
421         arm-*-riscix*)                  # Acorn RISC machine
422                 if [[ x$gas = xyes ]]
423                 then
424                     tm_file=arm/rix-gas.h
425                 else
426                     tm_file=arm/riscix.h
427                 fi
428                 xmake_file=arm/x-riscix
429                 tmake_file=arm/t-riscix
430                 use_collect2=yes
431                 ;;
432         arm-semi-aout | armel-semi-aout)
433                 tm_file=arm/semi.h
434                 tmake_file=arm/t-semi
435                 fixincludes=Makefile.in # There is nothing to fix
436                 ;;
437         arm-semi-aof | armel-semi-aof)
438                 tm_file=arm/semiaof.h
439                 tmake_file=arm/t-semiaof
440                 fixincludes=Makefile.in # There is nothing to fix
441                 ;;
442         arm-*-netbsd*)
443                 tm_file=arm/netbsd.h
444                 xm_file="xm-siglist.h ${xm_file}"
445                 tmake_file="t-netbsd arm/t-netbsd"
446                 # On NetBSD, the headers are already okay, except for math.h.
447                 fixincludes=fixinc.math
448                 ;;
449         arm-*-linux-gnuaout*)           # ARM GNU/Linux
450                 cpu_type=arm
451                 xmake_file=x-linux
452                 tm_file=arm/linux-gas.h
453                 tmake_file=arm/t-linux
454                 fixincludes=Makefile.in
455                 gnu_ld=yes
456                 ;;
457         arm-*-aout)
458                 tm_file=arm/aout.h
459                 tmake_file=arm/t-bare
460                 ;;
461         c1-convex-*)                    # Convex C1
462                 target_cpu_default=1
463                 use_collect2=yes
464                 fixincludes=Makefile.in
465                 ;;
466         c2-convex-*)                    # Convex C2
467                 target_cpu_default=2
468                 use_collect2=yes
469                 fixincludes=Makefile.in
470                 ;;
471         c32-convex-*)
472                 target_cpu_default=4
473                 use_collect2=yes
474                 fixincludes=Makefile.in
475                 ;;
476         c34-convex-*)
477                 target_cpu_default=8
478                 use_collect2=yes
479                 fixincludes=Makefile.in
480                 ;;
481         c38-convex-*)
482                 target_cpu_default=16           
483                 use_collect2=yes
484                 fixincludes=Makefile.in
485                 ;;
486         clipper-intergraph-clix*)
487                 tm_file="${tm_file} svr3.h clipper/clix.h"
488                 xm_file=clipper/xm-clix.h
489                 xmake_file=clipper/x-clix
490                 extra_headers=va-clipper.h
491                 extra_parts="crtbegin.o crtend.o"
492                 install_headers_dir=install-headers-cpio
493                 ;;
494         dsp16xx-*)
495                 ;;
496         elxsi-elxsi-*)
497                 use_collect2=yes
498                 ;;
499 # This hasn't been upgraded to GCC 2.
500 #       fx80-alliant-*)                 # Alliant FX/80
501 #               ;;
502         h8300-*-*)
503                 float_format=i32
504                 ;;
505         hppa1.1-*-pro*)
506                 tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
507                 xm_file=pa/xm-papro.h
508                 tmake_file=pa/t-pro
509                 ;;
510         hppa1.1-*-osf*)
511                 target_cpu_default=1
512                 tm_file="${tm_file} pa/pa-osf.h"
513                 use_collect2=yes
514                 fixincludes=Makefile.in
515                 ;;
516         hppa1.1-*-rtems*)
517                 tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h pa/rtems.h"
518                 xm_file=pa/xm-papro.h
519                 tmake_file=pa/t-pro
520                 ;;
521         hppa1.0-*-osf*)
522                 tm_file="${tm_file} pa/pa-osf.h"
523                 use_collect2=yes
524                 fixincludes=Makefile.in
525                 ;;
526         hppa1.1-*-bsd*)
527                 target_cpu_default=1
528                 use_collect2=yes
529                 fixincludes=Makefile.in
530                 ;;
531         hppa1.0-*-bsd*)
532                 use_collect2=yes
533                 fixincludes=Makefile.in
534                 ;;
535         hppa1.0-*-hpux7*)
536                 tm_file="pa/pa-oldas.h ${tm_file} pa/pa-hpux7.h"
537                 xm_file=pa/xm-pahpux.h
538                 xmake_file=pa/x-pa-hpux
539                 if [[ x$gas = xyes ]]
540                 then
541                         tm_file="${tm_file} pa/gas.h"
542                 fi
543                 install_headers_dir=install-headers-cpio
544                 use_collect2=yes
545                 ;;
546         hppa1.0-*-hpux8.0[[0-2]]*)
547                 tm_file="${tm_file} pa/pa-hpux.h"
548                 xm_file=pa/xm-pahpux.h
549                 xmake_file=pa/x-pa-hpux
550                 if [[ x$gas = xyes ]]
551                 then
552                         tm_file="${tm_file} pa/pa-gas.h"
553                 else
554                         tm_file="pa/pa-oldas.h ${tm_file}"
555                 fi
556                 install_headers_dir=install-headers-cpio
557                 use_collect2=yes
558                 ;;
559         hppa1.1-*-hpux8.0[[0-2]]*)
560                 target_cpu_default=1
561                 tm_file="${tm_file} pa/pa-hpux.h"
562                 xm_file=pa/xm-pahpux.h
563                 xmake_file=pa/x-pa-hpux
564                 if [[ x$gas = xyes ]]
565                 then
566                         tm_file="${tm_file} pa/pa-gas.h"
567                 else
568                         tm_file="pa/pa-oldas.h ${tm_file}"
569                 fi
570                 install_headers_dir=install-headers-cpio
571                 use_collect2=yes
572                 ;;
573         hppa1.1-*-hpux8*)
574                 target_cpu_default=1
575                 tm_file="${tm_file} pa/pa-hpux.h"
576                 xm_file=pa/xm-pahpux.h
577                 xmake_file=pa/x-pa-hpux
578                 if [[ x$gas = xyes ]]
579                 then
580                         tm_file="${tm_file} pa/pa-gas.h"
581                 fi
582                 install_headers_dir=install-headers-cpio
583                 use_collect2=yes
584                 ;;
585         hppa1.0-*-hpux8*)
586                 tm_file="${tm_file} pa/pa-hpux.h"
587                 xm_file=pa/xm-pahpux.h
588                 xmake_file=pa/x-pa-hpux
589                 if [[ x$gas = xyes ]]
590                 then
591                         tm_file="${tm_file} pa/pa-gas.h"
592                 fi
593                 install_headers_dir=install-headers-cpio
594                 use_collect2=yes
595                 ;;
596         hppa1.1-*-hpux10*)
597                 target_cpu_default=1
598                 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
599                 xm_file=pa/xm-pahpux.h
600                 xmake_file=pa/x-pa-hpux
601                 tmake_file=pa/t-pa
602                 if [[ x$gas = xyes ]]
603                 then
604                         tm_file="${tm_file} pa/pa-gas.h"
605                 fi
606                 if [[ x$enable_threads = x ]]; then
607                     enable_threads=$have_pthread_h
608                 fi
609                 if [[ x$enable_threads = xyes ]]; then
610                         thread_file='dce'
611                         tmake_file="${tmake_file} pa/t-dce-thr"
612                 fi
613                 install_headers_dir=install-headers-cpio
614                 use_collect2=yes
615                 ;;
616         hppa1.0-*-hpux10*)
617                 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
618                 xm_file=pa/xm-pahpux.h
619                 xmake_file=pa/x-pa-hpux
620                 if [[ x$gas = xyes ]]
621                 then
622                         tm_file="${tm_file} pa/pa-gas.h"
623                 fi
624                 if [[ x$enable_threads = x ]]; then
625                     enable_threads=$have_pthread_h
626                 fi
627                 if [[ x$enable_threads = xyes ]]; then
628                         thread_file='dce'
629                         tmake_file="${tmake_file} pa/t-dce-thr"
630                 fi
631                 install_headers_dir=install-headers-cpio
632                 use_collect2=yes
633                 ;;
634         hppa1.1-*-hpux*)
635                 target_cpu_default=1
636                 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
637                 xm_file=pa/xm-pahpux.h
638                 xmake_file=pa/x-pa-hpux
639                 if [[ x$gas = xyes ]]
640                 then
641                         tm_file="${tm_file} pa/pa-gas.h"
642                 fi
643                 install_headers_dir=install-headers-cpio
644                 use_collect2=yes
645                 ;;
646         hppa1.0-*-hpux*)
647                 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
648                 xm_file=pa/xm-pahpux.h
649                 xmake_file=pa/x-pa-hpux
650                 if [[ x$gas = xyes ]]
651                 then
652                         tm_file="${tm_file} pa/pa-gas.h"
653                 fi
654                 install_headers_dir=install-headers-cpio
655                 use_collect2=yes
656                 ;;
657         hppa1.1-*-hiux*)
658                 target_cpu_default=1
659                 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
660                 xm_file=pa/xm-pahpux.h
661                 xmake_file=pa/x-pa-hpux
662                 if [[ x$gas = xyes ]]
663                 then
664                         tm_file="${tm_file} pa/pa-gas.h"
665                 fi
666                 install_headers_dir=install-headers-cpio
667                 use_collect2=yes
668                 ;;
669         hppa1.0-*-hiux*)
670                 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
671                 xm_file=pa/xm-pahpux.h
672                 xmake_file=pa/x-pa-hpux
673                 if [[ x$gas = xyes ]]
674                 then
675                         tm_file="${tm_file} pa/pa-gas.h"
676                 fi
677                 install_headers_dir=install-headers-cpio
678                 use_collect2=yes
679                 ;;
680         hppa*-*-lites*)
681                 target_cpu_default=1
682                 use_collect2=yes
683                 fixincludes=Makefile.in
684                 ;;
685         i370-*-mvs*)
686                 ;;
687         i[[34567]]86-ibm-aix*)          # IBM PS/2 running AIX
688                 if [[ x$gas = xyes ]]
689                 then
690                         tm_file=i386/aix386.h
691                         extra_parts="crtbegin.o crtend.o"
692                         tmake_file=i386/t-crtstuff
693                 else
694                         tm_file=i386/aix386ng.h
695                         use_collect2=yes
696                 fi
697                 xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
698                 xm_defines=USG
699                 xmake_file=i386/x-aix
700                 ;;
701         i[[34567]]86-ncr-sysv4*)        # NCR 3000 - ix86 running system V.4
702                 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
703                 xm_defines="USG POSIX SMALL_ARG_MAX"
704                 xmake_file=i386/x-ncr3000
705                 if [[ x$stabs = xyes -a x$gas = xyes ]]
706                 then
707                         tm_file=i386/sysv4gdb.h
708                 else
709                         tm_file=i386/sysv4.h
710                 fi
711                 extra_parts="crtbegin.o crtend.o"
712                 tmake_file=i386/t-crtpic
713                 ;;
714         i[[34567]]86-next-*)
715                 tm_file=i386/next.h
716                 xm_file=i386/xm-next.h
717                 tmake_file=i386/t-next
718                 xmake_file=i386/x-next
719                 extra_objs=nextstep.o
720                 if [[ x$enable_threads = xyes ]]; then
721                         thread_file='mach'
722                 fi
723                 ;;
724         i[[34567]]86-sequent-bsd*)              # 80386 from Sequent
725                 use_collect2=yes
726                 if [[ x$gas = xyes ]]
727                 then
728                         tm_file=i386/seq-gas.h
729                 else
730                         tm_file=i386/sequent.h
731                 fi
732                 ;;
733         i[[34567]]86-sequent-ptx1*)
734                 xm_defines="USG SVR3"
735                 xmake_file=i386/x-sysv3
736                 tm_file=i386/seq-sysv3.h
737                 tmake_file=i386/t-crtstuff
738                 fixincludes=fixinc.ptx
739                 extra_parts="crtbegin.o crtend.o"
740                 install_headers_dir=install-headers-cpio
741                 ;;
742         i[[34567]]86-sequent-ptx2* | i[[34567]]86-sequent-sysv3*)
743                 xm_defines="USG SVR3"
744                 xmake_file=i386/x-sysv3
745                 tm_file=i386/seq2-sysv3.h
746                 tmake_file=i386/t-crtstuff
747                 extra_parts="crtbegin.o crtend.o"
748                 fixincludes=fixinc.ptx
749                 install_headers_dir=install-headers-cpio
750                 ;;
751         i[[34567]]86-sequent-ptx4* | i[[34567]]86-sequent-sysv4*)
752                 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
753                 xm_defines="USG POSIX SMALL_ARG_MAX"
754                 xmake_file=x-svr4
755                 tm_file=i386/ptx4-i.h
756                 tmake_file=t-svr4
757                 extra_parts="crtbegin.o crtend.o"
758                 fixincludes=fixinc.ptx
759                 install_headers_dir=install-headers-cpio
760                 ;;
761         i386-sun-sunos*)                # Sun i386 roadrunner
762                 xm_defines=USG
763                 tm_file=i386/sun.h
764                 use_collect2=yes
765                 ;;
766         i[[3456]]86-wrs-vxworks*)
767                 tm_file=i386/vxi386.h
768                 tmake_file=i386/t-i386bare
769                 ;;
770         i[[34567]]86-*-aout*)
771                 tm_file=i386/i386-aout.h
772                 tmake_file=i386/t-i386bare
773                 ;;
774         i[[34567]]86-*-bsdi* | i[[34567]]86-*-bsd386*)
775                 tm_file=i386/bsd386.h
776 #               tmake_file=t-libc-ok
777                 ;;
778         i[[34567]]86-*-bsd*)
779                 tm_file=i386/386bsd.h
780 #               tmake_file=t-libc-ok
781 # Next line turned off because both 386BSD and BSD/386 use GNU ld.
782 #               use_collect2=yes
783                 ;;
784         i[[34567]]86-*-freebsdelf*)
785                 tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
786                 # On FreeBSD, the headers are already ok, except for math.h.
787                 fixincludes=fixinc.math
788                 tmake_file=i386/t-freebsd
789                 gas=yes
790                 gnu_ld=yes
791                 stabs=yes
792                 ;;
793         i[[34567]]86-*-freebsd*)
794                 tm_file=i386/freebsd.h
795                 # On FreeBSD, the headers are already ok, except for math.h.
796                 fixincludes=fixinc.math
797                 tmake_file=i386/t-freebsd
798                 ;;
799         i[[34567]]86-*-netbsd*)
800                 tm_file=i386/netbsd.h
801                 # On NetBSD, the headers are already okay, except for math.h.
802                 fixincludes=fixinc.math
803                 tmake_file=t-netbsd
804                 ;;
805         i[[34567]]86-*-coff*)
806                 tm_file=i386/i386-coff.h
807                 tmake_file=i386/t-i386bare
808                 ;;
809         i[[34567]]86-*-isc*)            # 80386 running ISC system
810                 xm_file="${xm_file} i386/xm-isc.h"
811                 xm_defines="USG SVR3"
812                 case $machine in
813                   i[[34567]]86-*-isc[[34]]*)
814                     xmake_file=i386/x-isc3
815                     ;;
816                   *)
817                     xmake_file=i386/x-isc
818                     ;;
819                 esac
820                 if [[ x$gas = xyes -a x$stabs = xyes ]]
821                 then
822                         tm_file=i386/iscdbx.h
823                         tmake_file=i386/t-svr3dbx
824                         extra_parts="svr3.ifile svr3z.ifile"
825                 else
826                         tm_file=i386/isccoff.h
827                         tmake_file=i386/t-crtstuff
828                         extra_parts="crtbegin.o crtend.o"
829                 fi
830                 install_headers_dir=install-headers-cpio
831                 ;;
832         i[[34567]]86-*-linux-gnuoldld*) # Intel 80386's running GNU/Linux
833                                         # with a.out format using
834                                         # pre BFD linkers
835                 xmake_file=x-linux-aout
836                 tmake_file="t-linux-aout i386/t-crtstuff"
837                 tm_file=i386/linux-oldld.h
838                 fixincludes=Makefile.in #On Linux, the headers are ok already.
839                 gnu_ld=yes
840                 ;;
841         i[[34567]]86-*-linux-gnuaout*)  # Intel 80386's running GNU/Linux
842                                         # with a.out format
843                 xmake_file=x-linux-aout
844                 tmake_file="t-linux-aout i386/t-crtstuff"
845                 tm_file=i386/linux-aout.h
846                 fixincludes=Makefile.in #On Linux, the headers are ok already.
847                 gnu_ld=yes
848                 ;;
849         i[[34567]]86-*-linux-gnulibc1)  # Intel 80386's running GNU/Linux
850                                         # with ELF format using the
851                                         # GNU/Linux C library 5
852                 xmake_file=x-linux      
853                 tm_file=i386/linux.h    
854                 tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
855                 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
856                 fixincludes=Makefile.in #On Linux, the headers are ok already.
857                 gnu_ld=yes
858                 if [[ x$enable_threads = xyes ]]; then
859                         thread_file='single'
860                 fi
861                 ;;
862         i[[34567]]86-*-linux-gnu*)      # Intel 80386's running GNU/Linux
863                                         # with ELF format using glibc 2
864                                         # aka GNU/Linux C library 6
865                 xmake_file=x-linux
866                 tm_file=i386/linux.h
867                 tmake_file="t-linux i386/t-crtstuff"
868                 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
869                 fixincludes=Makefile.in #On Linux, the headers are ok already.
870                 gnu_ld=yes
871                 if [[ x$enable_threads = xyes ]]; then
872                         thread_file='posix'
873                 fi
874                 ;;
875         i[[34567]]86-*-gnu*)
876                 ;;
877         i[[34567]]86-go32-msdos | i[[34567]]86-*-go32*)
878                 xm_file=i386/xm-go32.h
879                 tm_file=i386/go32.h
880                 tmake_file=i386/t-go32
881                 ;;
882         i[[34567]]86-pc-msdosdjgpp*)
883                 xm_file=i386/xm-go32.h
884                 tm_file=i386/go32.h
885                 tmake_file=i386/t-go32
886                 gnu_ld=yes
887                 gas=yes
888                 ;;
889         i[[34567]]86-moss-msdos* | i[[34567]]86-*-moss*)
890                 tm_file=i386/moss.h
891                 tmake_file=t-libc-ok
892                 fixincludes=Makefile.in
893                 gnu_ld=yes
894                 gas=yes
895                 ;;
896         i[[34567]]86-*-lynxos*)
897                 if [[ x$gas = xyes ]]
898                 then
899                         tm_file=i386/lynx.h
900                 else
901                         tm_file=i386/lynx-ng.h
902                 fi
903                 xm_file=i386/xm-lynx.h
904                 tmake_file=i386/t-i386bare
905                 xmake_file=x-lynx
906                 ;;
907         i[[34567]]86-*-mach*)
908                 tm_file=i386/mach.h
909 #               tmake_file=t-libc-ok
910                 use_collect2=yes
911                 ;;
912         i[[34567]]86-*-osfrose*)                # 386 using OSF/rose
913                 if [[ x$elf = xyes ]]
914                 then
915                         tm_file=i386/osfelf.h
916                         use_collect2=
917                 else
918                         tm_file=i386/osfrose.h
919                         use_collect2=yes
920                 fi
921                 xm_file="i386/xm-osf.h ${xm_file}"
922                 xmake_file=i386/x-osfrose
923                 tmake_file=i386/t-osf
924                 extra_objs=halfpic.o
925                 ;;
926         i[[34567]]86-go32-rtems*)
927                 cpu_type=i386
928                 xm_file=i386/xm-go32.h
929                 tm_file=i386/go32-rtems.h
930                 tmake_file="i386/t-go32 t-rtems"
931                 ;;
932         i[[34567]]86-*-rtems*)
933                 cpu_type=i386
934                 tm_file=i386/rtems.h
935                 tmake_file="i386/t-i386bare t-rtems"
936                 ;;
937         i[[34567]]86-*-sco3.2v5*)       # 80386 running SCO Open Server 5
938                 xm_file="xm-siglist.h xm-alloca.h ${xm_file} i386/xm-sco5.h"
939                 xm_defines="USG SVR3"
940                 xmake_file=i386/x-sco5
941                 fixincludes=fixinc.sco
942                 install_headers_dir=install-headers-cpio
943                 tm_file=i386/sco5.h
944                 tmake_file=i386/t-sco5
945                 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
946                 ;;
947         i[[34567]]86-*-sco3.2v4*)       # 80386 running SCO 3.2v4 system
948                 xm_file="${xm_file} i386/xm-sco.h"
949                 xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX NO_SYS_SIGLIST"
950                 xmake_file=i386/x-sco4
951                 fixincludes=fixinc.sco
952                 install_headers_dir=install-headers-cpio
953                 if [[ x$stabs = xyes ]]
954                 then
955                         tm_file=i386/sco4dbx.h
956                         tmake_file=i386/t-svr3dbx
957                         extra_parts="svr3.ifile svr3z.rfile"
958                 else
959                         tm_file=i386/sco4.h
960                         tmake_file=i386/t-crtstuff
961                         extra_parts="crtbegin.o crtend.o"
962                 fi
963                 truncate_target=yes
964                 ;;
965         i[[34567]]86-*-sco*)            # 80386 running SCO system
966                 xm_file=i386/xm-sco.h
967                 xmake_file=i386/x-sco
968                 install_headers_dir=install-headers-cpio
969                 if [[ x$stabs = xyes ]]
970                 then
971                         tm_file=i386/scodbx.h
972                         tmake_file=i386/t-svr3dbx
973                         extra_parts="svr3.ifile svr3z.rfile"
974                 else
975                         tm_file=i386/sco.h
976                         extra_parts="crtbegin.o crtend.o"
977                         tmake_file=i386/t-crtstuff
978                 fi
979                 truncate_target=yes
980                 ;;
981         i[[34567]]86-*-solaris2*)
982                 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
983                 xm_defines="USG POSIX SMALL_ARG_MAX"
984                 if [[ x$stabs = xyes ]]
985                 then
986                         tm_file=i386/sol2dbg.h
987                 else
988                         tm_file=i386/sol2.h
989                 fi
990                 tmake_file=i386/t-sol2
991                 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
992                 xmake_file=x-svr4
993                 case $machine in
994                 *-*-solaris2.[[0-4]])
995                         fixincludes=fixinc.svr4;;
996                 *)
997                         fixincludes=fixinc.math;;
998                 esac
999                 if [[ x$enable_threads = xyes ]]; then
1000                         thread_file='solaris'
1001                 fi
1002                 ;;
1003        i[[34567]]86-*-sysv5*)           # Intel x86 on System V Release 5
1004                xm_file=i386/xm-sysv4.h
1005                tm_file=i386/sysv4.h
1006                if [[ x$stabs = xyes ]]
1007                then
1008                        tm_file="${tm_file} dbx.h"
1009                fi
1010                tmake_file=i386/t-crtpic
1011                xmake_file=x-svr4
1012                extra_parts="crtbegin.o crtend.o"
1013                fixincludes=Makefile.in # The headers are just fine, thank you.
1014                ;;
1015         i[[34567]]86-*-sysv4*)          # Intel 80386's running system V.4
1016                 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
1017                 xm_defines="USG POSIX SMALL_ARG_MAX"
1018                 tm_file=i386/sysv4.h
1019                 if [[ x$stabs = xyes ]]
1020                 then
1021                         tm_file="${tm_file} dbx.h"
1022                 fi
1023                 tmake_file=i386/t-crtpic
1024                 xmake_file=x-svr4
1025                 extra_parts="crtbegin.o crtend.o"
1026                 ;;
1027         i[[34567]]86-*-sysv*)           # Intel 80386's running system V
1028                 xm_defines="USG SVR3"
1029                 xmake_file=i386/x-sysv3
1030                 if [[ x$gas = xyes ]]
1031                 then
1032                         if [[ x$stabs = xyes ]]
1033                         then
1034                                 tm_file=i386/svr3dbx.h
1035                                 tmake_file=i386/t-svr3dbx
1036                                 extra_parts="svr3.ifile svr3z.rfile"
1037                         else
1038                                 tm_file=i386/svr3gas.h
1039                                 extra_parts="crtbegin.o crtend.o"
1040                                 tmake_file=i386/t-crtstuff
1041                         fi
1042                 else
1043                         tm_file=i386/sysv3.h
1044                         extra_parts="crtbegin.o crtend.o"
1045                         tmake_file=i386/t-crtstuff
1046                 fi
1047                 ;;
1048         i386-*-vsta)                    # Intel 80386's running VSTa kernel
1049                 xm_file=i386/xm-vsta.h
1050                 tm_file=i386/vsta.h
1051                 tmake_file=i386/t-vsta
1052                 xmake_file=i386/x-vsta
1053                 ;;
1054         i[[34567]]86-*-pe | i[[34567]]86-*-cygwin32)
1055                 xm_file="${xm_file} i386/xm-cygwin32.h"
1056                 tmake_file=i386/t-cygwin32
1057                 tm_file=i386/cygwin32.h
1058                 xmake_file=i386/x-cygwin32
1059                 extra_objs=winnt.o
1060                 fixincludes=Makefile.in
1061                 if [[ x$enable_threads = xyes ]]; then
1062                         thread_file='win32'
1063                 fi
1064                 exeext=.exe
1065                 ;;
1066         i[[34567]]86-*-mingw32*)
1067                 tm_file=i386/mingw32.h
1068                 xm_file="${xm_file} i386/xm-mingw32.h"
1069                 tmake_file=i386/t-cygwin32
1070                 extra_objs=winnt.o
1071                 xmake_file=i386/x-cygwin32
1072                 fixincludes=Makefile.in
1073                 if [[ x$enable_threads = xyes ]]; then
1074                         thread_file='win32'
1075                 fi
1076                 exeext=.exe
1077                 case $machine in
1078                         *mingw32msv*)
1079                                 ;;
1080                         *minwg32crt* | *mingw32*)
1081                                 tm_file="${tm_file} i386/crtdll.h"
1082                                 ;;
1083                 esac
1084                 ;;
1085         i[[34567]]86-*-winnt3*)
1086                 tm_file=i386/win-nt.h
1087                 out_file=i386/i386.c
1088                 xm_file="xm-winnt.h ${xm_file}"
1089                 xmake_file=winnt/x-winnt
1090                 tmake_file=i386/t-winnt
1091                 extra_host_objs="winnt.o oldnames.o"
1092                 extra_gcc_objs="spawnv.o oldnames.o"
1093                 fixincludes=fixinc.winnt
1094                 if [[ x$gnu_ld != xyes ]]
1095                 then
1096                         extra_programs=ld.exe
1097                 fi
1098                 if [[ x$enable_threads = xyes ]]; then
1099                         thread_file='win32'
1100                 fi
1101                 ;;
1102         i[[34567]]86-dg-dgux*)
1103                 xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
1104                 xm_defines="USG POSIX"
1105                 out_file=i386/dgux.c
1106                 tm_file=i386/dgux.h
1107                 tmake_file=i386/t-dgux
1108                 xmake_file=i386/x-dgux
1109                 fixincludes=Makefile.in # There is nothing to fix
1110                 install_headers_dir=install-headers-cpio
1111               ;;
1112         i860-alliant-*)         # Alliant FX/2800
1113                 tm_file="${tm_file} svr4.h i860/sysv4.h i860/fx2800.h"
1114                 xm_file="${xm_file}"
1115                 xmake_file=i860/x-fx2800
1116                 tmake_file=i860/t-fx2800
1117                 extra_parts="crtbegin.o crtend.o"
1118                 ;;
1119         i860-*-bsd*)
1120                 tm_file="${tm_file} i860/bsd.h"
1121                 if [[ x$gas = xyes ]]
1122                 then
1123                         tm_file="${tm_file} i860/bsd-gas.h"
1124                 fi
1125                 use_collect2=yes
1126                 ;;
1127         i860-*-mach*)
1128                 tm_file="${tm_file} i860/mach.h"
1129                 tmake_file=t-libc-ok
1130                 ;;
1131         i860-*-osf*)                    # Intel Paragon XP/S, OSF/1AD
1132                 tm_file="${tm_file} svr3.h i860/paragon.h"
1133                 xm_defines="USG SVR3"
1134                 tmake_file=t-osf
1135                 ;;
1136         i860-*-sysv3*)
1137                 tm_file="${tm_file} svr3.h i860/sysv3.h"
1138                 xm_defines="USG SVR3"
1139                 xmake_file=i860/x-sysv3
1140                 extra_parts="crtbegin.o crtend.o"
1141                 ;;
1142         i860-*-sysv4*)
1143                 tm_file="${tm_file} svr4.h i860/sysv4.h"
1144                 xm_defines="USG SVR3"
1145                 xmake_file=i860/x-sysv4
1146                 tmake_file=t-svr4
1147                 extra_parts="crtbegin.o crtend.o"
1148                 ;;
1149         i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
1150                 tm_file="${tm_file} i960/vx960.h"
1151                 tmake_file=i960/t-vxworks960
1152                 use_collect2=yes
1153                 thread_file='vxworks'
1154                 ;;
1155         i960-wrs-vxworks5* | i960-wrs-vxworks)
1156                 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
1157                 tmake_file=i960/t-vxworks960
1158                 use_collect2=yes
1159                 thread_file='vxworks'
1160                 ;;
1161         i960-wrs-vxworks*)
1162                 tm_file="${tm_file} i960/vx960.h"
1163                 tmake_file=i960/t-vxworks960
1164                 use_collect2=yes
1165                 thread_file='vxworks'
1166                 ;;
1167         i960-*-coff*)
1168                 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1169                 tmake_file=i960/t-960bare
1170                 use_collect2=yes
1171                 ;;
1172         i960-*-rtems)
1173                 tmake_file="i960/t-960bare t-rtems"
1174                 tm_file="${tm_file} dbxcoff.h i960/rtems.h"
1175                 use_collect2=yes
1176                 ;;
1177         i960-*-*)                       # Default i960 environment.
1178                 use_collect2=yes
1179                 ;;
1180         m32r-*-elf*)
1181                 extra_parts="crtinit.o crtfini.o"
1182                 ;;
1183         m68000-convergent-sysv*)
1184                 tm_file=m68k/ctix.h
1185                 xm_file="m68k/xm-3b1.h ${xm_file}"
1186                 xm_defines=USG
1187                 use_collect2=yes
1188                 extra_headers=math-68881.h
1189                 ;;
1190         m68000-hp-bsd*)                 # HP 9000/200 running BSD
1191                 tm_file=m68k/hp2bsd.h
1192                 xmake_file=m68k/x-hp2bsd
1193                 use_collect2=yes
1194                 extra_headers=math-68881.h
1195                 ;;
1196         m68000-hp-hpux*)                # HP 9000 series 300
1197                 xm_file="xm_alloca.h ${xm_file}"
1198                 xm_defines="USG NO_SYS_SIGLIST"
1199                 if [[ x$gas = xyes ]]
1200                 then
1201                         xmake_file=m68k/x-hp320g
1202                         tm_file=m68k/hp310g.h
1203                 else
1204                         xmake_file=m68k/x-hp320
1205                         tm_file=m68k/hp310.h
1206                 fi
1207                 install_headers_dir=install-headers-cpio
1208                 use_collect2=yes
1209                 extra_headers=math-68881.h
1210                 ;;
1211         m68000-sun-sunos3*)
1212                 tm_file=m68k/sun2.h
1213                 use_collect2=yes
1214                 extra_headers=math-68881.h
1215                 ;;
1216         m68000-sun-sunos4*)
1217                 tm_file=m68k/sun2o4.h
1218                 use_collect2=yes
1219                 extra_headers=math-68881.h
1220                 ;;
1221         m68000-att-sysv*)
1222                 xm_file="m68k/xm-3b1.h ${xm_file}"
1223                 xm_defines=USG
1224                 if [[ x$gas = xyes ]]
1225                 then
1226                         tm_file=m68k/3b1g.h
1227                 else
1228                         tm_file=m68k/3b1.h
1229                 fi
1230                 use_collect2=yes
1231                 extra_headers=math-68881.h
1232                 ;;
1233         m68k-apple-aux*)                # Apple Macintosh running A/UX
1234                 xm_defines="USG AUX"
1235                 tmake_file=m68k/t-aux
1236                 install_headers_dir=install-headers-cpio
1237                 extra_headers=math-68881.h
1238                 extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
1239                 tm_file=
1240                 if [[ "$gnu_ld" = yes ]]
1241                 then
1242                         tm_file="${tm_file} m68k/auxgld.h"
1243                 else
1244                         tm_file="${tm_file} m68k/auxld.h"
1245                 fi
1246                 if [[ "$gas" = yes ]]
1247                 then
1248                         tm_file="${tm_file} m68k/auxgas.h"
1249                 else
1250                         tm_file="${tm_file} m68k/auxas.h"
1251                 fi
1252                 tm_file="${tm_file} m68k/a-ux.h"
1253                 ;;
1254         m68k-apollo-*)
1255                 tm_file=m68k/apollo68.h
1256                 xmake_file=m68k/x-apollo68
1257                 use_collect2=yes
1258                 extra_headers=math-68881.h
1259                 ;;
1260         m68k-altos-sysv*)                  # Altos 3068
1261                 if [[ x$gas = xyes ]]
1262                 then
1263                         tm_file=m68k/altos3068.h
1264                         xm_defines=USG
1265                 else
1266                         echo "The Altos is supported only with the GNU assembler" 1>&2
1267                         exit 1
1268                 fi
1269                 extra_headers=math-68881.h
1270                 ;;
1271         m68k-bull-sysv*)                # Bull DPX/2
1272                 if [[ x$gas = xyes ]]
1273                 then
1274                         if [[ x$stabs = xyes ]]
1275                         then
1276                                 tm_file=m68k/dpx2cdbx.h
1277                         else
1278                                 tm_file=m68k/dpx2g.h
1279                         fi
1280                 else
1281                         tm_file=m68k/dpx2.h
1282                 fi
1283                 xm_file="xm-alloca.h ${xm_file}"
1284                 xm_defines=USG
1285                 xmake_file=m68k/x-dpx2
1286                 use_collect2=yes
1287                 extra_headers=math-68881.h
1288                 ;;
1289         m68k-atari-sysv4*)              # Atari variant of V.4.
1290                 tm_file=m68k/atari.h
1291                 xm_file="xm-alloca.h ${xm_file}"
1292                 xm_defines="USG FULL_PROTOTYPES"
1293                 tmake_file=t-svr4
1294                 extra_parts="crtbegin.o crtend.o"
1295                 extra_headers=math-68881.h
1296                 ;;
1297         m68k-motorola-sysv*)
1298                 tm_file=m68k/mot3300.h
1299                 xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
1300                 xm_defines=NO_SYS_SIGLIST
1301                 if [[ x$gas = xyes ]]
1302                 then
1303                         xmake_file=m68k/x-mot3300-gas
1304                         if [[ x$gnu_ld = xyes ]]
1305                         then
1306                                 tmake_file=m68k/t-mot3300-gald
1307                         else
1308                                 tmake_file=m68k/t-mot3300-gas
1309                                 use_collect2=yes
1310                         fi
1311                 else
1312                         xmake_file=m68k/x-mot3300
1313                         if [[ x$gnu_ld = xyes ]]
1314                         then
1315                                 tmake_file=m68k/t-mot3300-gld
1316                         else
1317                                 tmake_file=m68k/t-mot3300
1318                                 use_collect2=yes
1319                         fi
1320                 fi
1321                 gdb_needs_out_file_path=yes
1322                 extra_parts="crt0.o mcrt0.o"
1323                 extra_headers=math-68881.h
1324                 ;;
1325         m68k-ncr-sysv*)                 # NCR Tower 32 SVR3
1326                 tm_file=m68k/tower-as.h
1327                 xm_defines="USG SVR3"
1328                 xmake_file=m68k/x-tower
1329                 extra_parts="crtbegin.o crtend.o"
1330                 extra_headers=math-68881.h
1331                 ;;
1332         m68k-plexus-sysv*)
1333                 tm_file=m68k/plexus.h
1334                 xm_file="xm-alloca.h m68k/xm-plexus.h ${xm_file}"
1335                 xm_defines=USG
1336                 use_collect2=yes
1337                 extra_headers=math-68881.h
1338                 ;;
1339         m68k-tti-*)
1340                 tm_file=m68k/pbb.h
1341                 xm_file="xm-alloca.h ${xm_file}"
1342                 xm_defines=USG
1343                 extra_headers=math-68881.h
1344                 ;;
1345         m68k-crds-unos*)
1346                 xm_file="xm-alloca.h m68k/xm-crds.h ${xm_file}"
1347                 xm_defines="USG unos"
1348                 xmake_file=m68k/x-crds
1349                 tm_file=m68k/crds.h
1350                 use_collect2=yes
1351                 extra_headers=math-68881.h
1352                 ;;
1353         m68k-cbm-sysv4*)                # Commodore variant of V.4.
1354                 tm_file=m68k/amix.h
1355                 xm_file="xm-alloca.h ${xm_file}"
1356                 xm_defines="USG FULL_PROTOTYPES"
1357                 xmake_file=m68k/x-amix
1358                 tmake_file=t-svr4
1359                 extra_parts="crtbegin.o crtend.o"
1360                 extra_headers=math-68881.h
1361                 ;;
1362         m68k-ccur-rtu)
1363                 tm_file=m68k/ccur-GAS.h
1364                 xmake_file=m68k/x-ccur
1365                 extra_headers=math-68881.h
1366                 use_collect2=yes
1367                 ;;
1368         m68k-hp-bsd4.4*)                # HP 9000/3xx running 4.4bsd
1369                 tm_file=m68k/hp3bsd44.h
1370                 xmake_file=m68k/x-hp3bsd44
1371                 use_collect2=yes
1372                 extra_headers=math-68881.h
1373                 ;;
1374         m68k-hp-bsd*)                   # HP 9000/3xx running Berkeley Unix
1375                 tm_file=m68k/hp3bsd.h
1376                 use_collect2=yes
1377                 extra_headers=math-68881.h
1378                 ;;
1379         m68k-isi-bsd*)
1380                 if [[ x$with_fp = xno ]]
1381                 then
1382                         tm_file=m68k/isi-nfp.h
1383                 else
1384                         tm_file=m68k/isi.h
1385                 fi
1386                 use_collect2=yes
1387                 extra_headers=math-68881.h
1388                 ;;
1389         m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
1390                 xm_file="xm_alloca.h ${xm_file}"
1391                 xm_defines="USG NO_SYS_SIGLIST"
1392                 if [[ x$gas = xyes ]]
1393                 then
1394                         xmake_file=m68k/x-hp320g
1395                         tm_file=m68k/hp320g.h
1396                 else
1397                         xmake_file=m68k/x-hp320
1398                         tm_file=m68k/hpux7.h
1399                 fi
1400                 install_headers_dir=install-headers-cpio
1401                 use_collect2=yes
1402                 extra_headers=math-68881.h
1403                 ;;
1404         m68k-hp-hpux*)  # HP 9000 series 300
1405                 xm_file="xm_alloca.h ${xm_file}"
1406                 xm_defines="USG NO_SYS_SIGLIST"
1407                 if [[ x$gas = xyes ]]
1408                 then
1409                         xmake_file=m68k/x-hp320g
1410                         tm_file=m68k/hp320g.h
1411                 else
1412                         xmake_file=m68k/x-hp320
1413                         tm_file=m68k/hp320.h
1414                 fi
1415                 install_headers_dir=install-headers-cpio
1416                 use_collect2=yes
1417                 extra_headers=math-68881.h
1418                 ;;
1419         m68k-sun-mach*)
1420                 tm_file=m68k/sun3mach.h
1421                 use_collect2=yes
1422                 extra_headers=math-68881.h
1423                 ;;
1424         m68k-sony-newsos3*)
1425                 if [[ x$gas = xyes ]]
1426                 then
1427                         tm_file=m68k/news3gas.h
1428                 else
1429                         tm_file=m68k/news3.h
1430                 fi
1431                 use_collect2=yes
1432                 extra_headers=math-68881.h
1433                 ;;
1434         m68k-sony-bsd* | m68k-sony-newsos*)
1435                 if [[ x$gas = xyes ]]
1436                 then
1437                         tm_file=m68k/newsgas.h
1438                 else
1439                         tm_file=m68k/news.h
1440                 fi
1441                 use_collect2=yes
1442                 extra_headers=math-68881.h
1443                 ;;
1444         m68k-next-nextstep2*)
1445                 tm_file=m68k/next21.h
1446                 xm_file="m68k/xm-next.h ${xm_file}"
1447                 tmake_file=m68k/t-next
1448                 xmake_file=m68k/x-next
1449                 extra_objs=nextstep.o
1450                 extra_headers=math-68881.h
1451                 use_collect2=yes
1452                 ;;
1453         m68k-next-nextstep3*)
1454                 tm_file=m68k/next.h
1455                 xm_file="m68k/xm-next.h ${xm_file}"
1456                 tmake_file=m68k/t-next
1457                 xmake_file=m68k/x-next
1458                 extra_objs=nextstep.o
1459                 extra_headers=math-68881.h
1460                 if [[ x$enable_threads = xyes ]]; then
1461                         thread_file='mach'
1462                 fi
1463                 ;;
1464         m68k-sun-sunos3*)
1465                 if [[ x$with_fp = xno ]]
1466                 then
1467                         tm_file=m68k/sun3n3.h
1468                 else
1469                         tm_file=m68k/sun3o3.h
1470                 fi
1471                 use_collect2=yes
1472                 extra_headers=math-68881.h
1473                 ;;
1474         m68k-sun-sunos*)                        # For SunOS 4 (the default).
1475                 if [[ x$with_fp = xno ]]
1476                 then
1477                         tm_file=m68k/sun3n.h
1478                 else
1479                         tm_file=m68k/sun3.h
1480                 fi
1481                 use_collect2=yes
1482                 extra_headers=math-68881.h
1483                 ;;
1484         m68k-wrs-vxworks*)
1485                 tm_file=m68k/vxm68k.h
1486                 tmake_file=m68k/t-vxworks68
1487                 extra_headers=math-68881.h
1488                 thread_file='vxworks'
1489                 ;;
1490         m68k-*-aout*)
1491                 tmake_file=m68k/t-m68kbare
1492                 tm_file="m68k/m68k-aout.h libgloss.h"
1493                 extra_headers=math-68881.h
1494                 ;;
1495         m68k-*-coff*)
1496                 tmake_file=m68k/t-m68kbare
1497                 tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
1498                 extra_headers=math-68881.h
1499                 ;;
1500         m68k-*-lynxos*)
1501                 if [[ x$gas = xyes ]]
1502                 then
1503                         tm_file=m68k/lynx.h
1504                 else
1505                         tm_file=m68k/lynx-ng.h
1506                 fi
1507                 xm_file=m68k/xm-lynx.h
1508                 xmake_file=x-lynx
1509                 tmake_file=m68k/t-lynx
1510                 extra_headers=math-68881.h
1511                 ;;
1512         m68k-*-netbsd*)
1513                 tm_file=m68k/netbsd.h
1514                 # On NetBSD, the headers are already okay, except for math.h.
1515                 fixincludes=fixinc.math
1516                 tmake_file=t-netbsd
1517                 ;;
1518         m68k-*-sysv3*)                  # Motorola m68k's running system V.3
1519                 xm_file="xm-alloca.h ${xm_file}"
1520                 xm_defines=USG
1521                 xmake_file=m68k/x-m68kv
1522                 extra_parts="crtbegin.o crtend.o"
1523                 extra_headers=math-68881.h
1524                 ;;
1525         m68k-*-sysv4*)                  # Motorola m68k's running system V.4
1526                 tm_file=m68k/m68kv4.h
1527                 xm_file="xm-alloca.h ${xm_file}"
1528                 xm_defines=USG
1529                 tmake_file=t-svr4
1530                 extra_parts="crtbegin.o crtend.o"
1531                 extra_headers=math-68881.h
1532                 ;;
1533         m68k-*-linux-gnuaout*)          # Motorola m68k's running GNU/Linux
1534                                         # with a.out format
1535                 xmake_file=x-linux
1536                 tm_file=m68k/linux-aout.h
1537                 tmake_file="t-linux-aout m68k/t-linux-aout"
1538                 fixincludes=Makefile.in # The headers are ok already.
1539                 extra_headers=math-68881.h
1540                 gnu_ld=yes
1541                 ;;
1542         m68k-*-linux-gnulibc1)          # Motorola m68k's running GNU/Linux
1543                                         # with ELF format using the
1544                                         # GNU/Linux C library 5
1545                 xmake_file=x-linux
1546                 tm_file=m68k/linux.h
1547                 tmake_file="t-linux t-linux-gnulibc1 m68k/t-linux"
1548                 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1549                 fixincludes=Makefile.in # The headers are ok already.
1550                 extra_headers=math-68881.h
1551                 gnu_ld=yes
1552                 ;;
1553         m68k-*-linux-gnu*)              # Motorola m68k's running GNU/Linux
1554                                         # with ELF format using glibc 2
1555                                         # aka the GNU/Linux C library 6.
1556                 xmake_file=x-linux
1557                 tm_file=m68k/linux.h
1558                 tmake_file="t-linux m68k/t-linux"
1559                 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1560                 fixincludes=Makefile.in # The headers are ok already.
1561                 extra_headers=math-68881.h
1562                 gnu_ld=yes
1563                 if [[ x$enable_threads = xyes ]]; then
1564                         thread_file='posix'
1565                 fi
1566                 ;;
1567         m68k-*-psos*)
1568                 tmake_file=m68k/t-m68kbare
1569                 tm_file=m68k/m68k-psos.h
1570                 extra_headers=math-68881.h
1571                 ;;
1572         m68k-*-rtems*)
1573                 tmake_file="m68k/t-m68kbare t-rtems"
1574                 tm_file=m68k/rtems.h
1575                 extra_headers=math-68881.h
1576                 ;;
1577
1578         m88k-dg-dgux*)
1579                 case $machine in
1580                   m88k-dg-dguxbcs*)
1581                     tm_file=m88k/dguxbcs.h
1582                     tmake_file=m88k/t-dguxbcs
1583                     ;;
1584                   *)
1585                     tm_file=m88k/dgux.h
1586                     tmake_file=m88k/t-dgux
1587                     ;;
1588                 esac
1589                 extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
1590                 xmake_file=m88k/x-dgux
1591                 if [[ x$gas = xyes ]]
1592                 then
1593                         tmake_file=m88k/t-dgux-gas
1594                 fi
1595                 fixincludes=fixinc.dgux
1596                 ;;
1597         m88k-dolphin-sysv3*)
1598                 tm_file=m88k/dolph.h
1599                 extra_parts="crtbegin.o crtend.o"
1600                 xm_file="m88k/xm-sysv3.h ${xm_file}"
1601                 xmake_file=m88k/x-dolph
1602                 if [[ x$gas = xyes ]]
1603                 then
1604                         tmake_file=m88k/t-m88k-gas
1605                 fi
1606                 ;;
1607         m88k-tektronix-sysv3)
1608                 tm_file=m88k/tekXD88.h
1609                 extra_parts="crtbegin.o crtend.o"
1610                 xm_file="m88k/xm-sysv3.h ${xm_file}"
1611                 xmake_file=m88k/x-tekXD88
1612                 if [[ x$gas = xyes ]]
1613                 then
1614                         tmake_file=m88k/t-m88k-gas
1615                 fi
1616                 ;;
1617         m88k-*-aout*)
1618                 tm_file=m88k/m88k-aout.h
1619                 ;;
1620         m88k-*-coff*)
1621                 tm_file=m88k/m88k-coff.h
1622                 tmake_file=m88k/t-bug
1623                 ;;
1624         m88k-*-luna*)
1625                 tm_file=m88k/luna.h
1626                 extra_parts="crtbegin.o crtend.o"
1627                 if [[ x$gas = xyes ]]
1628                 then
1629                         tmake_file=m88k/t-luna-gas
1630                 else
1631                         tmake_file=m88k/t-luna
1632                 fi
1633                 ;;
1634         m88k-*-sysv3*)
1635                 tm_file=m88k/sysv3.h
1636                 extra_parts="crtbegin.o crtend.o"
1637                 xm_file="m88k/xm-sysv3.h ${xm_file}"
1638                 xmake_file=m88k/x-sysv3
1639                 if [[ x$gas = xyes ]]
1640                 then
1641                         tmake_file=m88k/t-m88k-gas
1642                 fi
1643                 ;;
1644         m88k-*-sysv4*)
1645                 tm_file=m88k/sysv4.h
1646                 extra_parts="crtbegin.o crtend.o"
1647                 xmake_file=m88k/x-sysv4
1648                 tmake_file=m88k/t-sysv4
1649                 ;;
1650         mips-sgi-irix6*)                # SGI System V.4., IRIX 6
1651                 tm_file=mips/iris6.h
1652                 xm_file=mips/xm-iris6.h
1653                 fixincludes=fixinc.irix
1654                 xmake_file=mips/x-iris6
1655                 tmake_file=mips/t-iris6
1656                 if [[ x$enable_threads = xyes ]]; then
1657                         thread_file='irix'
1658                 fi
1659                 ;;
1660         mips-wrs-vxworks)
1661                 tm_file="mips/elf.h libgloss.h"
1662                 tmake_file=mips/t-ecoff
1663                 gas=yes
1664                 gnu_ld=yes
1665                 extra_parts="crtbegin.o crtend.o"
1666 #               thread_file='vxworks'
1667                 ;;
1668         mips-sgi-irix5cross64)          # Irix5 host, Irix 6 target, cross64
1669                 tm_file="mips/iris6.h mips/cross64.h"
1670                 xm_defines="USG HAVE_INTTYPES_H"
1671                 fixincludes=Makefile.in
1672                 xmake_file=mips/x-iris
1673                 tmake_file=mips/t-cross64
1674                 # See comment in mips/iris[56].h files.
1675                 use_collect2=yes
1676                 if [[ x$enable_threads = xyes ]]; then
1677                         thread_file='irix'
1678                 fi
1679                 ;;
1680         mips-sni-sysv4)
1681                 if [[ x$gas = xyes ]]
1682                 then
1683                         if [[ x$stabs = xyes ]]
1684                         then
1685                                 tm_file=mips/iris5gdb.h
1686                         else
1687                                 tm_file="mips/sni-svr4.h mips/sni-gas.h"
1688                         fi
1689                 else
1690                         tm_file=mips/sni-svr4.h
1691                 fi
1692                 xm_defines=USG
1693                 xmake_file=mips/x-sni-svr4
1694                 tmake_file=mips/t-mips-gas
1695                 if [[ x$gnu_ld != xyes ]]
1696                 then
1697                         use_collect2=yes
1698                 fi
1699                 ;;
1700         mips-sgi-irix5*)                # SGI System V.4., IRIX 5
1701                 if [[ x$gas = xyes ]]
1702                 then
1703                         tm_file="mips/iris5.h mips/iris5gas.h"
1704                         if [[ x$stabs = xyes ]]
1705                         then
1706                                 tm_file="${tm_file} dbx.h"
1707                         fi
1708                 else
1709                         tm_file=mips/iris5.h
1710                 fi
1711                 xm_defines="USG HAVE_INTTYPES_H"
1712                 fixincludes=fixinc.irix
1713                 xmake_file=mips/x-iris
1714                 # mips-tfile doesn't work yet
1715                 tmake_file=mips/t-mips-gas
1716                 # See comment in mips/iris5.h file.
1717                 use_collect2=yes
1718                 if [[ x$enable_threads = xyes ]]; then
1719                         thread_file='irix'
1720                 fi
1721                 ;;
1722         mips-sgi-irix4loser*)           # Mostly like a MIPS.
1723                 tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
1724                 if [[ x$stabs = xyes ]]; then
1725                         tm_file="${tm_file} dbx.h"
1726                 fi
1727                 xm_defines=USG
1728                 xmake_file=mips/x-iris
1729                 if [[ x$gas = xyes ]]
1730                 then
1731                         tmake_file=mips/t-mips-gas
1732                 else
1733                         extra_passes="mips-tfile mips-tdump"
1734                 fi
1735                 if [[ x$gnu_ld != xyes ]]
1736                 then
1737                         use_collect2=yes
1738                 fi
1739                 if [[ x$enable_threads = xyes ]]; then
1740                         thread_file='irix'
1741                 fi
1742                 ;;
1743         mips-sgi-irix4*)                # Mostly like a MIPS.
1744                 tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
1745                 if [[ x$stabs = xyes ]]; then
1746                         tm_file="${tm_file} dbx.h"
1747                 fi
1748                 xm_defines=USG
1749                 xmake_file=mips/x-iris
1750                 if [[ x$gas = xyes ]]
1751                 then
1752                         tmake_file=mips/t-mips-gas
1753                 else
1754                         extra_passes="mips-tfile mips-tdump"
1755                 fi
1756                 if [[ x$gnu_ld != xyes ]]
1757                 then
1758                         use_collect2=yes
1759                 fi
1760                 if [[ x$enable_threads = xyes ]]; then
1761                         thread_file='irix'
1762                 fi
1763                 ;;
1764         mips-sgi-*)                     # Mostly like a MIPS.
1765                 tm_file="mips/iris3.h ${tm_file}"
1766                 if [[ x$stabs = xyes ]]; then
1767                         tm_file="${tm_file} dbx.h"
1768                 fi
1769                 xm_defines=USG
1770                 xmake_file=mips/x-iris3
1771                 if [[ x$gas = xyes ]]
1772                 then
1773                         tmake_file=mips/t-mips-gas
1774                 else
1775                         extra_passes="mips-tfile mips-tdump"
1776                 fi
1777                 if [[ x$gnu_ld != xyes ]]
1778                 then
1779                         use_collect2=yes
1780                 fi
1781                 ;;
1782         mips-dec-osfrose*)              # Decstation running OSF/1 reference port with OSF/rose.
1783                 tm_file="mips/osfrose.h ${tm_file}"
1784                 xmake_file=mips/x-osfrose
1785                 tmake_file=mips/t-osfrose
1786                 extra_objs=halfpic.o
1787                 use_collect2=yes
1788                 ;;
1789         mips-dec-osf*)                  # Decstation running OSF/1 as shipped by DIGITAL
1790                 tm_file=mips/dec-osf1.h
1791                 if [[ x$stabs = xyes ]]; then
1792                         tm_file="${tm_file} dbx.h"
1793                 fi
1794                 xmake_file=mips/x-dec-osf1
1795                 if [[ x$gas = xyes ]]
1796                 then
1797                         tmake_file=mips/t-mips-gas
1798                 else
1799                         tmake_file=mips/t-ultrix
1800                         extra_passes="mips-tfile mips-tdump"
1801                 fi
1802                 if [[ x$gnu_ld != xyes ]]
1803                 then
1804                         use_collect2=yes
1805                 fi
1806                 ;;
1807         mips-dec-bsd*)                  # Decstation running 4.4 BSD
1808               tm_file=mips/dec-bsd.h
1809               fixincludes=
1810               if [[ x$gas = xyes ]]
1811               then
1812                         tmake_file=mips/t-mips-gas
1813               else
1814                         tmake_file=mips/t-ultrix
1815                         extra_passes="mips-tfile mips-tdump"
1816               fi
1817               if [[ x$gnu_ld != xyes ]]
1818               then
1819                         use_collect2=yes
1820               fi
1821               ;;
1822         mips-dec-netbsd*)                  # Decstation running NetBSD
1823                 tm_file=mips/netbsd.h
1824                 # On NetBSD, the headers are already okay, except for math.h.
1825                 fixincludes=fixinc.math
1826                 tmake_file=t-netbsd
1827                 ;;
1828         mips-sony-bsd* | mips-sony-newsos*)     # Sony NEWS 3600 or risc/news.
1829                 tm_file="mips/news4.h ${tm_file}"
1830                 if [[ x$stabs = xyes ]]; then
1831                         tm_file="${tm_file} dbx.h"
1832                 fi
1833                 if [[ x$gas = xyes ]]
1834                 then
1835                         tmake_file=mips/t-mips-gas
1836                 else
1837                         extra_passes="mips-tfile mips-tdump"
1838                 fi
1839                 if [[ x$gnu_ld != xyes ]]
1840                 then
1841                         use_collect2=yes
1842                 fi
1843                 xmake_file=mips/x-sony
1844                 ;;
1845         mips-sony-sysv*)                # Sony NEWS 3800 with NEWSOS5.0.
1846                                         # That is based on svr4.
1847                 # t-svr4 is not right because this system doesn't use ELF.
1848                 tm_file="mips/news5.h ${tm_file}"
1849                 if [[ x$stabs = xyes ]]; then
1850                         tm_file="${tm_file} dbx.h"
1851                 fi
1852                 xm_file="xm-siglist.h ${xm_file}"
1853                 xm_defines=USG
1854                 if [[ x$gas = xyes ]]
1855                 then
1856                         tmake_file=mips/t-mips-gas
1857                 else
1858                         extra_passes="mips-tfile mips-tdump"
1859                 fi
1860                 if [[ x$gnu_ld != xyes ]]
1861                 then
1862                         use_collect2=yes
1863                 fi
1864                 ;;
1865         mips-tandem-sysv4*)             # Tandem S2 running NonStop UX
1866                 tm_file="mips/svr4-5.h mips/svr4-t.h"
1867                 if [[ x$stabs = xyes ]]; then
1868                         tm_file="${tm_file} dbx.h"
1869                 fi
1870                 xm_file="xm-siglist.h ${xm_file}"
1871                 xm_defines=USG
1872                 xmake_file=mips/x-sysv
1873                 if [[ x$gas = xyes ]]
1874                 then
1875                         tmake_file=mips/t-mips-gas
1876                         extra_parts="crtbegin.o crtend.o"
1877                 else
1878                         tmake_file=mips/t-mips
1879                         extra_passes="mips-tfile mips-tdump"
1880                 fi
1881                 if [[ x$gnu_ld != xyes ]]
1882                 then
1883                         use_collect2=yes
1884                 fi
1885                 ;;
1886         mips-*-ultrix* | mips-dec-mach3)        # Decstation.
1887                 tm_file="mips/ultrix.h ${tm_file}"
1888                 if [[ x$stabs = xyes ]]; then
1889                         tm_file="${tm_file} dbx.h"
1890                 fi
1891                 xmake_file=mips/x-ultrix
1892                 if [[ x$gas = xyes ]]
1893                 then
1894                         tmake_file=mips/t-mips-gas
1895                 else
1896                         tmake_file=mips/t-ultrix
1897                         extra_passes="mips-tfile mips-tdump"
1898                 fi
1899                 if [[ x$gnu_ld != xyes ]]
1900                 then
1901                         use_collect2=yes
1902                 fi
1903                 ;;
1904         mips-*-riscos[[56789]]bsd*)
1905                 tm_file=mips/bsd-5.h    # MIPS BSD 4.3, RISC-OS 5.0
1906                 if [[ x$stabs = xyes ]]; then
1907                         tm_file="${tm_file} dbx.h"
1908                 fi
1909                 if [[ x$gas = xyes ]]
1910                 then
1911                         tmake_file=mips/t-bsd-gas
1912                 else
1913                         tmake_file=mips/t-bsd
1914                         extra_passes="mips-tfile mips-tdump"
1915                 fi
1916                 if [[ x$gnu_ld != xyes ]]
1917                 then
1918                         use_collect2=yes
1919                 fi
1920                 ;;
1921         mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[[1234]]bsd*)
1922                 tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
1923                 if [[ x$stabs = xyes ]]; then
1924                         tm_file="${tm_file} dbx.h"
1925                 fi
1926                 if [[ x$gas = xyes ]]
1927                 then
1928                         tmake_file=mips/t-bsd-gas
1929                 else
1930                         tmake_file=mips/t-bsd
1931                         extra_passes="mips-tfile mips-tdump"
1932                 fi
1933                 if [[ x$gnu_ld != xyes ]]
1934                 then
1935                         use_collect2=yes
1936                 fi
1937                 ;;
1938         mips-*-riscos[[56789]]sysv4*)
1939                 tm_file=mips/svr4-5.h   # MIPS System V.4., RISC-OS 5.0
1940                 if [[ x$stabs = xyes ]]; then
1941                         tm_file="${tm_file} dbx.h"
1942                 fi
1943                 xm_file="xm-siglist.h ${xm_file}"
1944                 xmake_file=mips/x-sysv
1945                 if [[ x$gas = xyes ]]
1946                 then
1947                         tmake_file=mips/t-svr4-gas
1948                 else
1949                         tmake_file=mips/t-svr4
1950                         extra_passes="mips-tfile mips-tdump"
1951                 fi
1952                 if [[ x$gnu_ld != xyes ]]
1953                 then
1954                         use_collect2=yes
1955                 fi
1956                 ;;
1957         mips-*-sysv4* | mips-*-riscos[[1234]]sysv4* | mips-*-riscossysv4*)
1958                 tm_file="mips/svr4-4.h ${tm_file}"
1959                 if [[ x$stabs = xyes ]]; then
1960                         tm_file="${tm_file} dbx.h"
1961                 fi
1962                 xm_defines=USG
1963                 xmake_file=mips/x-sysv
1964                 if [[ x$gas = xyes ]]
1965                 then
1966                         tmake_file=mips/t-svr4-gas
1967                 else
1968                         tmake_file=mips/t-svr4
1969                         extra_passes="mips-tfile mips-tdump"
1970                 fi
1971                 if [[ x$gnu_ld != xyes ]]
1972                 then
1973                         use_collect2=yes
1974                 fi
1975                 ;;
1976         mips-*-riscos[[56789]]sysv*)
1977                 tm_file=mips/svr3-5.h   # MIPS System V.3, RISC-OS 5.0
1978                 if [[ x$stabs = xyes ]]; then
1979                         tm_file="${tm_file} dbx.h"
1980                 fi
1981                 xm_defines=USG
1982                 xmake_file=mips/x-sysv
1983                 if [[ x$gas = xyes ]]
1984                 then
1985                         tmake_file=mips/t-svr3-gas
1986                 else
1987                         tmake_file=mips/t-svr3
1988                         extra_passes="mips-tfile mips-tdump"
1989                 fi
1990                 if [[ x$gnu_ld != xyes ]]
1991                 then
1992                         use_collect2=yes
1993                 fi
1994                 ;;
1995         mips-*-sysv* | mips-*-riscos*sysv*)
1996                 tm_file="mips/svr3-4.h ${tm_file}"
1997                 if [[ x$stabs = xyes ]]; then
1998                         tm_file="${tm_file} dbx.h"
1999                 fi
2000                 xm_defines=USG
2001                 xmake_file=mips/x-sysv
2002                 if [[ x$gas = xyes ]]
2003                 then
2004                         tmake_file=mips/t-svr3-gas
2005                 else
2006                         tmake_file=mips/t-svr3
2007                         extra_passes="mips-tfile mips-tdump"
2008                 fi
2009                 if [[ x$gnu_ld != xyes ]]
2010                 then
2011                         use_collect2=yes
2012                 fi
2013                 ;;
2014         mips-*-riscos[[56789]]*)                # Default MIPS RISC-OS 5.0.
2015                 tm_file=mips/mips-5.h
2016                 if [[ x$stabs = xyes ]]; then
2017                         tm_file="${tm_file} dbx.h"
2018                 fi
2019                 if [[ x$gas = xyes ]]
2020                 then
2021                         tmake_file=mips/t-mips-gas
2022                 else
2023                         extra_passes="mips-tfile mips-tdump"
2024                 fi
2025                 if [[ x$gnu_ld != xyes ]]
2026                 then
2027                         use_collect2=yes
2028                 fi
2029                 ;;
2030         mips-*-gnu*)
2031                 ;;
2032         mipsel-*-ecoff*)
2033                 tm_file=mips/ecoffl.h
2034                 if [[ x$stabs = xyes ]]; then
2035                         tm_file="${tm_file} dbx.h"
2036                 fi
2037                 tmake_file=mips/t-ecoff
2038                 ;;
2039         mips-*-ecoff*)
2040                 tm_file="${tm_file} gofast.h mips/ecoff.h"
2041                 if [[ x$stabs = xyes ]]; then
2042                         tm_file="${tm_file} dbx.h"
2043                 fi
2044                 tmake_file=mips/t-ecoff
2045                 ;;
2046         mipsel-*-elf*)
2047                 tm_file="mips/elfl.h libgloss.h"
2048                 tmake_file=mips/t-ecoff
2049                 ;;
2050         mips-*-elf*)
2051                 tm_file="mips/elf.h libgloss.h"
2052                 tmake_file=mips/t-ecoff
2053                 ;;
2054         mips64el-*-elf*)
2055                 tm_file="mips/elfl64.h libgloss.h"
2056                 tmake_file=mips/t-ecoff
2057                 ;;
2058         mips64orionel-*-elf*)
2059                 tm_file="mips/elforion.h mips/elfl64.h libgloss.h"
2060                 tmake_file=mips/t-ecoff
2061                 ;;
2062         mips64-*-elf*)
2063                 tm_file="mips/elf64.h libgloss.h"
2064                 tmake_file=mips/t-ecoff
2065                 ;;
2066         mips64orion-*-elf*)
2067                 tm_file="mips/elforion.h mips/elf64.h libgloss.h"
2068                 tmake_file=mips/t-ecoff
2069                 ;;
2070         mips64orion-*-rtems*)
2071                 tm_file="mips/elforion.h mips/elfl64.h mips/rtems64.h"
2072                 tmake_file="mips/t-ecoff t-rtems"
2073                 ;;
2074         mipstx39el-*-elf*)
2075                 tm_file="mips/r3900.h mips/elfl.h mips/abi64.h libgloss.h"
2076                 tmake_file=mips/t-r3900
2077                 ;;
2078         mipstx39-*-elf*)
2079                 tm_file="mips/r3900.h mips/elf.h mips/abi64.h libgloss.h"
2080                 tmake_file=mips/t-r3900
2081                 ;;
2082         mips-*-*)                               # Default MIPS RISC-OS 4.0.
2083                 if [[ x$stabs = xyes ]]; then
2084                         tm_file="${tm_file} dbx.h"
2085                 fi
2086                 if [[ x$gas = xyes ]]
2087                 then
2088                         tmake_file=mips/t-mips-gas
2089                 else
2090                         extra_passes="mips-tfile mips-tdump"
2091                 fi
2092                 if [[ x$gnu_ld != xyes ]]
2093                 then
2094                         use_collect2=yes
2095                 fi
2096                 ;;
2097         mn10200-*-*)
2098                 cpu_type=mn10200
2099                 tm_file="mn10200/mn10200.h"
2100                 if [[ x$stabs = xyes ]]
2101                 then
2102                         tm_file="${tm_file} dbx.h"
2103                 fi
2104                 use_collect2=no
2105                 ;;
2106         mn10300-*-*)
2107                 cpu_type=mn10300
2108                 tm_file="mn10300/mn10300.h"
2109                 if [[ x$stabs = xyes ]]
2110                 then
2111                         tm_file="${tm_file} dbx.h"
2112                 fi
2113                 use_collect2=no
2114                 ;;
2115         ns32k-encore-bsd*)
2116                 tm_file=ns32k/encore.h
2117                 use_collect2=yes
2118                 ;;
2119         ns32k-sequent-bsd*)
2120                 tm_file=ns32k/sequent.h
2121                 use_collect2=yes
2122                 ;;
2123         ns32k-tek6100-bsd*)
2124                 tm_file=ns32k/tek6100.h
2125                 use_collect2=yes
2126                 ;;
2127         ns32k-tek6200-bsd*)
2128                 tm_file=ns32k/tek6200.h
2129                 use_collect2=yes
2130                 ;;
2131 # This has not been updated to GCC 2.
2132 #       ns32k-ns-genix*)
2133 #               xm_defines=USG
2134 #               xmake_file=ns32k/x-genix
2135 #               tm_file=ns32k/genix.h
2136 #               use_collect2=yes
2137 #               ;;
2138         ns32k-merlin-*)
2139                 tm_file=ns32k/merlin.h
2140                 use_collect2=yes
2141                 ;;
2142         ns32k-pc532-mach*)
2143                 tm_file=ns32k/pc532-mach.h
2144                 use_collect2=yes
2145                 ;;
2146         ns32k-pc532-minix*)
2147                 tm_file=ns32k/pc532-min.h
2148                 xm_file="ns32k/xm-pc532-min.h ${xm-file}"
2149                 xm_defines=USG
2150                 use_collect2=yes
2151                 ;;
2152         ns32k-pc532-netbsd*)
2153                 tm_file=ns32k/netbsd.h
2154                 # On NetBSD, the headers are already okay, except for math.h.
2155                 fixincludes=fixinc.math
2156                 tmake_file=t-netbsd
2157                 ;;
2158         pdp11-*-bsd)
2159                 tm_file="${tm_file} pdp11/2bsd.h"
2160                 ;;
2161         pdp11-*-*)
2162                 ;;
2163         pyramid-*-*)
2164                 cpu_type=pyr
2165                 xmake_file=pyr/x-pyr
2166                 use_collect2=yes
2167                 ;;
2168         romp-*-aos*)
2169                 use_collect2=yes
2170                 ;;
2171         romp-*-mach*)
2172                 xmake_file=romp/x-mach
2173                 use_collect2=yes
2174                 ;;
2175         powerpc-*-beos*)
2176                 cpu_type=rs6000
2177                 tm_file=rs6000/beos.h
2178                 xm_file=rs6000/xm-beos.h
2179                 tmake_file=rs6000/t-beos
2180                 xmake_file=rs6000/x-beos
2181                 ;;
2182         powerpc-*-sysv* | powerpc-*-elf*)
2183                 tm_file=rs6000/sysv4.h
2184                 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2185                 xm_defines="USG POSIX"
2186                 extra_headers=ppc-asm.h
2187                 if [[ x$gas = xyes ]]
2188                 then
2189                         tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2190                 else
2191                         tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2192                 fi
2193                 xmake_file=rs6000/x-sysv4
2194                 ;;
2195         powerpc-*-eabiaix*)
2196                 tm_file=rs6000/eabiaix.h
2197                 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2198                 fixincludes=Makefile.in
2199                 extra_headers=ppc-asm.h
2200                 ;;
2201         powerpc-*-eabisim*)
2202                 tm_file=rs6000/eabisim.h
2203                 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2204                 fixincludes=Makefile.in
2205                 extra_headers=ppc-asm.h
2206                 ;;
2207         powerpc-*-eabi*)
2208                 tm_file=rs6000/eabi.h
2209                 if [[ x$gas = xyes ]]
2210                 then
2211                         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2212                 else
2213                         tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2214                 fi
2215                 fixincludes=Makefile.in
2216                 extra_headers=ppc-asm.h
2217                 ;;
2218         powerpc-*-rtems*)
2219                 tm_file=rs6000/rtems.h
2220                 if [[ x$gas = xyes ]]
2221                 then
2222                      tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
2223                 else
2224                      tmake_file="rs6000/t-ppc t-rtems rs6000/t-ppccomm"
2225                 fi
2226                 fixincludes=Makefile.in
2227                 extra_headers=ppc-asm.h
2228                 ;;
2229         powerpc-*-linux-gnulibc1)
2230                 tm_file=rs6000/linux.h
2231                 xm_file=rs6000/xm-sysv4.h
2232                 out_file=rs6000/rs6000.c
2233                 if [[ x$gas = xyes ]]
2234                 then
2235                         tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
2236                 else
2237                         tmake_file="rs6000/t-ppc t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
2238                 fi
2239                 xmake_file=x-linux
2240                 fixincludes=Makefile.in
2241                 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2242                 extra_headers=ppc-asm.h
2243                 if [[ x$enable_threads = xyes ]]; then
2244                         thread_file='posix'
2245                 fi
2246                 ;;
2247         powerpc-*-linux-gnu*)
2248                 tm_file=rs6000/linux.h
2249                 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2250                 xm_defines="USG ${xm_defines}"
2251                 out_file=rs6000/rs6000.c
2252                 if [[ x$gas = xyes ]]
2253                 then
2254                         tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
2255                 else
2256                         tmake_file="rs6000/t-ppc t-linux rs6000/t-ppccomm"
2257                 fi
2258                 xmake_file=x-linux
2259                 fixincludes=Makefile.in
2260                 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2261                 extra_headers=ppc-asm.h
2262                 if [[ x$enable_threads = xyes ]]; then
2263                         thread_file='posix'
2264                 fi
2265                 ;;
2266         powerpc-wrs-vxworks*)
2267                 cpu_type=rs6000
2268                 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2269                 xm_defines="USG POSIX"
2270                 tm_file=rs6000/vxppc.h
2271                 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2272                 extra_headers=ppc-asm.h
2273                 thread_file='vxworks'
2274                 ;;
2275         powerpcle-*-sysv* | powerpcle-*-elf*)
2276                 tm_file=rs6000/sysv4le.h
2277                 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2278                 xm_defines="USG POSIX"
2279                 if [[ x$gas = xyes ]]
2280                 then
2281                         tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2282                 else
2283                         tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2284                 fi
2285                 xmake_file=rs6000/x-sysv4
2286                 extra_headers=ppc-asm.h
2287                 ;;
2288         powerpcle-*-eabisim*)
2289                 tm_file=rs6000/eabilesim.h
2290                 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2291                 fixincludes=Makefile.in
2292                 extra_headers=ppc-asm.h
2293                 ;;
2294         powerpcle-*-eabi*)
2295                 tm_file=rs6000/eabile.h
2296                 if [[ x$gas = xyes ]]
2297                 then
2298                         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2299                 else
2300                         tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2301                 fi
2302                 fixincludes=Makefile.in
2303                 extra_headers=ppc-asm.h
2304                 ;;
2305         powerpcle-*-winnt* )
2306                 tm_file=rs6000/win-nt.h
2307                 tmake_file=rs6000/t-winnt
2308 #               extra_objs=pe.o
2309                 fixincludes=Makefile.in
2310                 if [[ x$enable_threads = xyes ]]; then
2311                         thread_file='win32'
2312                 fi
2313                 extra_headers=ppc-asm.h
2314                 ;;
2315         powerpcle-*-pe | powerpcle-*-cygwin32)
2316                 tm_file=rs6000/cygwin32.h
2317                 xm_file="rs6000/xm-cygwin32.h ${xm_file}"
2318                 xm_defines=NO_STAB_H
2319                 tmake_file=rs6000/t-winnt
2320                 xmake_file=rs6000/x-cygwin32
2321 #               extra_objs=pe.o
2322                 fixincludes=Makefile.in
2323                 if [[ x$enable_threads = xyes ]]; then
2324                         thread_file='win32'
2325                 fi
2326                 exeext=.exe
2327                 extra_headers=ppc-asm.h
2328                 ;;
2329         powerpcle-*-solaris2*)
2330                 tm_file=rs6000/sol2.h
2331                 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2332                 xm_defines="USG POSIX"
2333                 if [[ x$gas = xyes ]]
2334                 then
2335                         tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2336                 else
2337                         tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2338                 fi
2339                 xmake_file=rs6000/x-sysv4
2340                 case $machine in
2341                 *-*-solaris2.[[0-4]])
2342                         fixincludes=fixinc.svr4;;
2343                 *)
2344                         fixincludes=fixinc.math;;
2345                 esac
2346                 extra_headers=ppc-asm.h
2347                 ;;
2348         rs6000-ibm-aix3.[[01]]*)
2349                 tm_file=rs6000/aix31.h
2350                 xmake_file=rs6000/x-aix31
2351                 use_collect2=yes
2352                 ;;
2353         rs6000-ibm-aix3.2.[[456789]]* | powerpc-ibm-aix3.2.[[456789]]*)
2354                 tm_file=rs6000/aix3newas.h
2355                 if [[ x$host != x$target ]]
2356                 then
2357                         tmake_file=rs6000/t-xnewas
2358                 else
2359                         tmake_file=rs6000/t-newas
2360                 fi
2361                 use_collect2=yes
2362                 ;;
2363         rs6000-ibm-aix[[456789]].* | powerpc-ibm-aix[[456789]].*)
2364                 tm_file=rs6000/aix41.h
2365                 if [[ x$host != x$target ]]
2366                 then
2367                         tmake_file=rs6000/t-xnewas
2368                 else
2369                         tmake_file=rs6000/t-newas
2370                 fi
2371                 xmake_file=rs6000/x-aix31
2372                 use_collect2=yes
2373                 ;;
2374         rs6000-ibm-aix*)
2375                 use_collect2=yes
2376                 ;;
2377         rs6000-bull-bosx)
2378                 use_collect2=yes
2379                 ;;
2380         rs6000-*-mach*)
2381                 tm_file=rs6000/mach.h
2382                 xm_file="${xm_file} rs6000/xm-mach.h"
2383                 xmake_file=rs6000/x-mach
2384                 use_collect2=yes
2385                 ;;
2386         rs6000-*-lynxos*)
2387                 tm_file=rs6000/lynx.h
2388                 xm_file=rs6000/xm-lynx.h
2389                 tmake_file=rs6000/t-rs6000
2390                 xmake_file=rs6000/x-lynx
2391                 use_collect2=yes
2392                 ;;
2393         sh-*-elf*)
2394                 tm_file=sh/elf.h
2395                 float_format=sh
2396                 ;;
2397         sh-*-rtems*)
2398                 tmake_file="sh/t-sh t-rtems"
2399                 tm_file=sh/rtems.h
2400                 float_format=sh
2401                 ;;
2402         sh-*-*)
2403                 float_format=sh
2404                 ;;
2405         sparc-tti-*)
2406                 tm_file=sparc/pbd.h
2407                 xm_file="xm-alloca.h ${xm_file}"
2408                 xm_defines=USG
2409                 ;;
2410         sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
2411                 tm_file=sparc/vxsparc.h
2412                 tmake_file=sparc/t-vxsparc
2413                 use_collect2=yes
2414                 thread_file='vxworks'
2415                 ;;
2416         sparc-*-aout*)
2417                 tmake_file=sparc/t-sparcbare
2418                 tm_file="sparc/aout.h libgloss.h"
2419                 ;;
2420         sparc-*-netbsd*)
2421                 tm_file=sparc/netbsd.h
2422                 # On NetBSD, the headers are already okay, except for math.h.
2423                 fixincludes=fixinc.math
2424                 tmake_file=t-netbsd
2425                 ;;
2426         sparc-*-bsd*)
2427                 tm_file=sparc/bsd.h
2428                 ;;
2429         sparc-*-elf*)
2430                 tm_file=sparc/elf.h
2431                 tmake_file=sparc/t-elf
2432                 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
2433                 #float_format=i128
2434                 float_format=i64
2435                 ;;
2436         sparc-*-linux-gnuaout*)         # Sparc's running GNU/Linux, a.out
2437                 xm_file="${xm_file} sparc/xm-linux.h"
2438                 tm_file=sparc/linux-aout.h
2439                 xmake_file=x-linux
2440                 fixincludes=Makefile.in #On Linux, the headers are ok already.
2441                 gnu_ld=yes
2442                 ;;
2443         sparc-*-linux-gnulibc1*)        # Sparc's running GNU/Linux, libc5
2444                 xm_file="${xm_file} sparc/xm-linux.h"
2445                 xmake_file=x-linux
2446                 tm_file=sparc/linux.h
2447                 tmake_file="t-linux t-linux-gnulibc1"
2448                 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2449                 fixincludes=Makefile.in #On Linux, the headers are ok already.
2450                 gnu_ld=yes
2451                 ;;
2452         sparc-*-linux-gnu*)             # Sparc's running GNU/Linux, libc6
2453                 xm_file="${xm_file} sparc/xm-linux.h"
2454                 xmake_file=x-linux
2455                 tm_file=sparc/linux.h
2456                 tmake_file="t-linux"
2457                 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2458                 fixincludes=Makefile.in #On Linux, the headers are ok already.
2459                 gnu_ld=yes
2460                 if [[ x$enable_threads = xyes ]]; then
2461                         thread_file='posix'
2462                 fi
2463                 ;;
2464         sparc-*-lynxos*)
2465                 if [[ x$gas = xyes ]]
2466                 then
2467                         tm_file=sparc/lynx.h
2468                 else
2469                         tm_file=sparc/lynx-ng.h
2470                 fi
2471                 xm_file=sparc/xm-lynx.h
2472                 tmake_file=sparc/t-sunos41
2473                 xmake_file=x-lynx
2474                 ;;
2475         sparc-*-rtems*)
2476                 tmake_file="sparc/t-sparcbare t-rtems"
2477                 tm_file=sparc/rtems.h
2478                 ;;
2479         sparc-*-solaris2*)
2480                 if [[ x$gnu_ld = xyes ]]
2481                 then
2482                         tm_file=sparc/sol2.h
2483                 else
2484                         tm_file=sparc/sol2-sld.h
2485                 fi
2486                 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
2487                 tmake_file=sparc/t-sol2
2488                 xmake_file=sparc/x-sysv4
2489                 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
2490                 case $machine in
2491                 *-*-solaris2.[[0-4]])
2492                         fixincludes=fixinc.svr4;;
2493                 *)
2494                         fixincludes=fixinc.math;;
2495                 esac
2496                 float_format=i128
2497                 if [[ x${enable_threads} = x ]]; then
2498                     enable_threads=$have_pthread_h
2499                     if [[ x${enable_threads} = x ]]; then
2500                         enable_threads=$have_thread_h
2501                     fi
2502                 fi
2503                 if [[ x${enable_threads} = xyes ]]; then
2504                     if [[ x${have_pthread_h} = xyes ]]; then
2505                         thread_file='posix'
2506                     else
2507                         thread_file='solaris'
2508                     fi
2509                 fi
2510                 ;;
2511         sparc-*-sunos4.0*)
2512                 tm_file=sparc/sunos4.h
2513                 tmake_file=sparc/t-sunos40
2514                 use_collect2=yes
2515                 ;;
2516         sparc-*-sunos4*)
2517                 tm_file=sparc/sunos4.h
2518                 tmake_file=sparc/t-sunos41
2519                 use_collect2=yes
2520                 if [[ x$gas = xyes ]]; then
2521                         tm_file="${tm_file} sparc/sun4gas.h"
2522                 fi
2523                 ;;
2524         sparc-*-sunos3*)
2525                 tm_file=sparc/sun4o3.h
2526                 use_collect2=yes
2527                 ;;
2528         sparc-*-sysv4*)
2529                 tm_file=sparc/sysv4.h
2530                 xm_file="xm-siglist.h sparc/xm-sysv4.h"
2531                 xm_defines="USG POSIX"
2532                 tmake_file=t-svr4
2533                 xmake_file=sparc/x-sysv4
2534                 extra_parts="crtbegin.o crtend.o"
2535                 ;;
2536         sparc-*-vxsim*)
2537                 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
2538                 tm_file=sparc/vxsim.h
2539                 tmake_file=sparc/t-vxsparc
2540                 xmake_file=sparc/x-sysv4
2541                 ;;
2542         sparclet-*-aout*)
2543                 tm_file="sparc/splet.h libgloss.h"
2544                 tmake_file=sparc/t-splet
2545                 ;;
2546         sparclite-*-coff*)
2547                 tm_file="sparc/litecoff.h libgloss.h"
2548                 tmake_file=sparc/t-sparclite
2549                 ;;
2550         sparclite-*-aout*)
2551                 tm_file="sparc/lite.h aoutos.h libgloss.h"
2552                 tmake_file=sparc/t-sparclite
2553                 ;;
2554         sparc64-*-aout*)
2555                 tmake_file=sparc/t-sp64
2556                 tm_file=sparc/sp64-aout.h
2557                 ;;
2558         sparc64-*-elf*)
2559                 tmake_file=sparc/t-sp64
2560                 tm_file=sparc/sp64-elf.h
2561                 extra_parts="crtbegin.o crtend.o"
2562                 ;;
2563         sparc64-*-linux*)               # 64-bit Sparc's running GNU/Linux
2564                 tmake_file=sparc/t-sp64
2565                 xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
2566                 tm_file=sparc/linux64.h
2567                 xmake_file=x-linux
2568                 fixincludes=Makefile.in # The headers are ok already.
2569                 gnu_ld=yes
2570                 ;;
2571 # This hasn't been upgraded to GCC 2.
2572 #       tahoe-harris-*)                 # Harris tahoe, using COFF.
2573 #               tm_file=tahoe/harris.h
2574 #               ;;
2575 #       tahoe-*-bsd*)                   # tahoe running BSD
2576 #               ;;
2577         thumb-*-coff* | thumbel-*-coff*)
2578                 tm_file=arm/tcoff.h
2579                 out_file=arm/thumb.c
2580                 xm_file=arm/xm-thumb.h
2581                 md_file=arm/thumb.md
2582                 tmake_file=arm/t-thumb
2583                 ;;
2584 # This hasn't been upgraded to GCC 2.
2585 #       tron-*-*)
2586 #               cpu_type=gmicro
2587 #               use_collect2=yes
2588 #               ;;
2589         v850-*-*)
2590                 cpu_type=v850
2591                 tm_file="v850/v850.h"
2592                 xm_file="v850/xm-v850.h"
2593                 if [[ x$stabs = xyes ]]
2594                 then
2595                         tm_file="${tm_file} dbx.h"
2596                 fi
2597                 use_collect2=no
2598                 ;;
2599         vax-*-bsd*)                     # vaxen running BSD
2600                 use_collect2=yes
2601                 float_format=vax
2602                 ;;
2603         vax-*-sysv*)                    # vaxen running system V
2604                 tm_file="${tm_file} vax/vaxv.h"
2605                 xm_defines=USG
2606                 float_format=vax
2607                 ;;
2608         vax-*-netbsd*)
2609                 tm_file="${tm_file} netbsd.h vax/netbsd.h"
2610                 # On NetBSD, the headers are already okay, except for math.h.
2611                 fixincludes=fixinc.math
2612                 tmake_file=t-netbsd
2613                 float_format=vax
2614                 ;;
2615         vax-*-ultrix*)                  # vaxen running ultrix
2616                 tm_file="${tm_file} vax/ultrix.h"
2617                 use_collect2=yes
2618                 float_format=vax
2619                 ;;
2620         vax-*-vms*)                     # vaxen running VMS
2621                 xm_file=vax/xm-vms.h
2622                 tm_file=vax/vms.h
2623                 float_format=vax
2624                 ;;
2625         vax-*-*)                        # vax default entry
2626                 float_format=vax
2627                 ;;
2628         we32k-att-sysv*)
2629                 xm_file="${xm_file} xm-svr3"
2630                 use_collect2=yes
2631                 ;;
2632         *)
2633                 echo "Configuration $machine not supported" 1>&2
2634                 exit 1
2635                 ;;
2636         esac
2637
2638         case $machine in
2639         *-*-linux-gnu*)
2640                 ;; # Existing GNU/Linux systems do not use the GNU setup.
2641         *-*-gnu*)
2642                 # On the GNU system, the setup is just about the same on
2643                 # each different CPU.  The specific machines that GNU
2644                 # supports are matched above and just set $cpu_type.
2645                 xm_file="xm-gnu.h ${xm_file}"
2646                 tm_file=${cpu_type}/gnu.h
2647                 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
2648                 # GNU always uses ELF.
2649                 elf=yes
2650                 # GNU tools are the only tools.
2651                 gnu_ld=yes
2652                 gas=yes
2653                 # On GNU, the headers are already okay.
2654                 fixincludes=Makefile.in
2655                 xmake_file=x-linux      # These details are the same as Linux.
2656                 tmake_file=t-gnu        # These are not.
2657                 ;;
2658         *-*-sysv4*)
2659                 fixincludes=fixinc.svr4
2660                 xmake_try_sysv=x-sysv
2661                 install_headers_dir=install-headers-cpio
2662                 ;;
2663         *-*-sysv*)
2664                 install_headers_dir=install-headers-cpio
2665                 ;;
2666         esac
2667
2668         # Distinguish i[34567]86
2669         # Also, do not run mips-tfile on MIPS if using gas.
2670         # Process --with-cpu= for PowerPC/rs6000
2671         target_cpu_default2=
2672         case $machine in
2673         i486-*-*)
2674                 target_cpu_default2=1
2675                 ;;
2676         i586-*-*)
2677                 target_cpu_default2=2
2678                 ;;
2679         i686-*-* | i786-*-*)
2680                 target_cpu_default2=3
2681                 ;;
2682         alpha*-*-*)
2683                 case $machine in
2684                         alphaev6*)
2685                                 target_cpu_default2="MASK_CPU_EV6|MASK_BXW|MASK_CIX|MASK_MAX"
2686                                 ;;
2687                         alphapca56*)
2688                                 target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
2689                                 ;;
2690                         alphaev56*)
2691                                 target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
2692                                 ;;
2693                         alphaev5*)
2694                                 target_cpu_default2="MASK_CPU_EV5"
2695                                 ;;
2696                 esac
2697                                 
2698                 if [[ x$gas = xyes ]]
2699                 then
2700                         if [[ "$target_cpu_default2" = "" ]]
2701                         then
2702                                 target_cpu_default2="MASK_GAS"
2703                         else
2704                                 target_cpu_default2="${target_cpu_default2}|MASK_GAS"
2705                         fi
2706                 fi
2707                 ;;
2708         arm*-*-*)
2709                 case "x$with_cpu" in
2710                         x)
2711                                 # The most generic
2712                                 target_cpu_default2="TARGET_CPU_generic"
2713                                 ;;
2714
2715                         # Distinguish cores, and major variants
2716                         # arm7m doesn't exist, but D & I don't affect code
2717                         xarm[23678] | xarm250 | xarm[67][01]0 \
2718                         | xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
2719                         | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
2720                         | xstrongarm | xstrongarm110)
2721                                 target_cpu_default2="TARGET_CPU_$with_cpu"
2722                                 ;;
2723
2724                         xyes | xno)
2725                                 echo "--with-cpu must be passed a value" 1>&2
2726                                 exit 1
2727                                 ;;
2728
2729                         *)
2730                                 if [[ x$pass2done = xyes ]]
2731                                 then
2732                                         echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
2733                                         exit 1
2734                                 fi
2735                                 ;;
2736                 esac
2737                 ;;
2738
2739         mips*-*-ecoff* | mips*-*-elf*)
2740                 if [[ x$gas = xyes ]]
2741                 then
2742                         if [[ x$gnu_ld = xyes ]]
2743                         then
2744                                 target_cpu_default2=20
2745                         else
2746                                 target_cpu_default2=16
2747                         fi
2748                 fi
2749                 ;;
2750         mips*-*-*)
2751                 if [[ x$gas = xyes ]]
2752                 then
2753                         target_cpu_default2=16
2754                 fi
2755                 ;;
2756         powerpc*-*-* | rs6000-*-*)
2757                 case "x$with_cpu" in
2758                         x)
2759                                 ;;
2760
2761                         xcommon | xpower | xpower2 | xpowerpc | xrios \
2762                           | xrios1 | xrios2 | xrsc | xrsc1 \
2763                           | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
2764                           | x403 | x505 | x801 | x821 | x823 | x860)
2765                                 target_cpu_default2="\"$with_cpu\""
2766                                 ;;
2767
2768                         xyes | xno)
2769                                 echo "--with-cpu must be passed a value" 1>&2
2770                                 exit 1
2771                                 ;;
2772
2773                         *)
2774                                 if [[ x$pass2done = xyes ]]
2775                                 then
2776                                         echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
2777                                         exit 1
2778                                 fi
2779                                 ;;
2780                 esac
2781                 ;;
2782         sparc*-*-*)
2783                 case ".$with_cpu" in
2784                         .)
2785                                 target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
2786                                 ;;
2787                         .supersparc | .ultrasparc | .v7 | .v8 | .v9)
2788                                 target_cpu_default2="TARGET_CPU_$with_cpu"
2789                                 ;;
2790                         *)
2791                                 if [[ x$pass2done = xyes ]]
2792                                 then
2793                                         echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
2794                                         exit 1
2795                                 fi
2796                                 ;;
2797                 esac
2798                 ;;
2799         esac
2800
2801         if [[ "$target_cpu_default2" != "" ]]
2802         then
2803                 if [[ "$target_cpu_default" != "" ]]
2804                 then
2805                         target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
2806                 else
2807                         target_cpu_default=$target_cpu_default2
2808                 fi
2809         fi
2810
2811         # No need for collect2 if we have the GNU linker.
2812         case x$gnu_ld in
2813         xyes)
2814                 use_collect2=
2815                 ;;
2816         esac
2817
2818 # Save data on machine being used to compile GCC in build_xm_file.
2819 # Save data on host machine in vars host_xm_file and host_xmake_file.
2820         if [[ x$pass1done = x ]]
2821         then
2822                 if [[ x"$xm_file" = x ]]
2823                 then build_xm_file=$cpu_type/xm-$cpu_type.h
2824                 else build_xm_file=$xm_file
2825                 fi
2826                 build_xm_defines=$xm_defines
2827                 build_install_headers_dir=$install_headers_dir
2828                 build_exeext=$exeext
2829                 pass1done=yes
2830         else
2831                 if [[ x$pass2done = x ]]
2832                 then
2833                         if [[ x"$xm_file" = x ]]
2834                         then host_xm_file=$cpu_type/xm-$cpu_type.h
2835                         else host_xm_file=$xm_file
2836                         fi
2837                         host_xm_defines=$xm_defines
2838                         if [[ x"$xmake_file" = x ]]
2839                         then xmake_file=$cpu_type/x-$cpu_type
2840                         fi
2841                         host_xmake_file="$xmake_file"
2842                         host_truncate_target=$truncate_target
2843                         host_extra_gcc_objs=$extra_gcc_objs
2844                         host_extra_objs=$extra_host_objs
2845                         host_exeext=$exeext
2846                         pass2done=yes
2847                 fi
2848         fi
2849 done
2850
2851 extra_objs="${host_extra_objs} ${extra_objs}"
2852
2853 # Default the target-machine variables that were not explicitly set.
2854 if [[ x"$tm_file" = x ]]
2855 then tm_file=$cpu_type/$cpu_type.h; fi
2856
2857 if [[ x$extra_headers = x ]]
2858 then extra_headers=; fi
2859
2860 if [[ x"$xm_file" = x ]]
2861 then xm_file=$cpu_type/xm-$cpu_type.h; fi
2862
2863 if [[ x$md_file = x ]]
2864 then md_file=$cpu_type/$cpu_type.md; fi
2865
2866 if [[ x$out_file = x ]]
2867 then out_file=$cpu_type/$cpu_type.c; fi
2868
2869 if [[ x"$tmake_file" = x ]]
2870 then tmake_file=$cpu_type/t-$cpu_type
2871 fi
2872
2873 if [[ x$float_format = x ]]
2874 then float_format=i64
2875 fi
2876
2877 if [[ x$enable_haifa = x ]]
2878 then
2879   case $target in
2880     alpha*-* | hppa1.?-* | powerpc*-* | rs6000-*)
2881       enable_haifa=yes;;
2882   esac
2883 fi
2884
2885 # Say what files are being used for the output code and MD file.
2886 echo "Using \`$srcdir/config/$out_file' to output insns."
2887 echo "Using \`$srcdir/config/$md_file' as machine description file."
2888
2889 count=a
2890 for f in $tm_file; do
2891         count=${count}x
2892 done
2893 if [[ $count = ax ]]; then
2894         echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
2895 else
2896         echo "Using the following target machine macro files:"
2897         for f in $tm_file; do
2898                 echo "  $srcdir/config/$f"
2899         done
2900 fi
2901
2902 count=a
2903 for f in $host_xm_file; do
2904         count=${count}x
2905 done
2906 if [[ $count = ax ]]; then
2907         echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
2908 else
2909         echo "Using the following host machine macro files:"
2910         for f in $host_xm_file; do
2911                 echo "  $srcdir/config/$f"
2912         done
2913 fi
2914
2915 if [[ "$host_xm_file" != "$build_xm_file" ]]; then
2916         count=a
2917         for f in $build_xm_file; do
2918                 count=${count}x
2919         done
2920         if [[ $count = ax ]]; then
2921                 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
2922         else
2923                 echo "Using the following build machine macro files:"
2924                 for f in $build_xm_file; do
2925                         echo "  $srcdir/config/$f"
2926                 done
2927         fi
2928 fi
2929
2930 if [[ x$thread_file = x ]]; then
2931         if [[ x$target_thread_file != x ]]; then
2932                 thread_file=$target_thread_file
2933         else
2934                 thread_file='single'
2935         fi
2936 fi
2937
2938 # Set up the header files.
2939 # $links is the list of header files to create.
2940 # $vars is the list of shell variables with file names to include.
2941 # auto-conf.h is the file containing items generated by autoconf and is
2942 # the first file included by config.h.
2943 null_defines=
2944 host_xm_file="auto-config.h ${host_xm_file}"
2945
2946 # If host=build, it is correct to have hconfig include auto-conf.h
2947 # as well.  If host!=build, we are in error and need to do more 
2948 # work to find out the build config parameters.
2949 if [[ x$host = x$build ]]
2950 then
2951         build_xm_file="auto-config.h ${build_xm_file}"
2952 fi
2953
2954 vars="host_xm_file tm_file xm_file build_xm_file"
2955 links="config.h tm.h tconfig.h hconfig.h"
2956 defines="host_xm_defines null_defines xm_defines build_xm_defines"
2957
2958 rm -f config.bak
2959 if [[ -f config.status ]]; then mv -f config.status config.bak; fi
2960
2961 # Make the links.
2962 while [[ -n "$vars" ]]
2963 do
2964         set $vars; var=$1; shift; vars=$*
2965         set $links; link=$1; shift; links=$*
2966         set $defines; define=$1; shift; defines=$*
2967
2968         rm -f $link
2969
2970         # Define TARGET_CPU_DEFAULT if the system wants one.
2971         # This substitutes for lots of *.h files.
2972         if [[ "$target_cpu_default" != "" -a $link = tm.h ]]
2973         then
2974                 echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
2975         fi
2976
2977         for file in `eval echo '$'$var`; do
2978                 echo "#include \"$file\"" >>$link
2979         done
2980
2981         for def in `eval echo '$'$define`; do
2982                 echo "#ifndef $def" >>$link
2983                 echo "#define $def" >>$link
2984                 echo "#endif" >>$link
2985         done
2986 done
2987
2988 # Truncate the target if necessary
2989 if [[ x$host_truncate_target != x ]]; then
2990         target=`echo $target | sed -e 's/\(..............\).*/\1/'`
2991 fi
2992
2993 # Get the version number from the toplevel
2994 version=`sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/' < ${srcdir}/version.c`
2995
2996 # Get an absolute path to the GCC top-level source directory
2997 holddir=`pwd`
2998 cd $srcdir
2999 topdir=`pwd`
3000 cd $holddir
3001
3002 # Conditionalize the makefile for this host machine.
3003 # Make-host contains the concatenation of all host makefile fragments
3004 # [there can be more than one].  This file is built by configure.frag.
3005 host_overrides=Make-host
3006 dep_host_xmake_file=
3007 for f in .. ${host_xmake_file}
3008 do
3009         if [[ -f ${srcdir}/config/$f ]]
3010         then
3011                 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
3012         fi
3013 done
3014
3015 # Conditionalize the makefile for this target machine.
3016 # Make-target contains the concatenation of all host makefile fragments
3017 # [there can be more than one].  This file is built by configure.frag.
3018 target_overrides=Make-target
3019 dep_tmake_file=
3020 for f in .. ${tmake_file}
3021 do
3022         if [[ -f ${srcdir}/config/$f ]]
3023         then
3024                 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
3025         fi
3026 done
3027
3028 # If the host doesn't support symlinks, modify CC in
3029 # FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
3030 # Otherwise, we can use "CC=$(CC)".
3031 rm -f symtest.tem
3032 if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
3033 then
3034         cc_set_by_configure="\$(CC)"
3035         stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
3036 else
3037         rm -f symtest.tem
3038         if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
3039         then
3040                 symbolic_link="cp -p"
3041         else
3042                 symbolic_link="cp"
3043         fi
3044         cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
3045         stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
3046 fi
3047 rm -f symtest.tem
3048
3049 out_object_file=`basename $out_file .c`.o
3050
3051 tm_file_list=
3052 for f in $tm_file; do
3053         tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
3054 done
3055
3056 host_xm_file_list=
3057 for f in $host_xm_file; do
3058         if test $f != "auto-config.h"; then
3059                 host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f"
3060         else
3061                 host_xm_file_list="${host_xm_file_list} auto-config.h"
3062         fi
3063 done
3064
3065 build_xm_file_list=
3066 for f in $build_xm_file; do
3067         if test $f != "auto-config.h"; then
3068                 build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f"
3069         else
3070                 build_xm_file_list="${build_xm_file_list} auto-config.h"
3071         fi
3072 done
3073
3074 # Define macro CROSS_COMPILE in compilation
3075 # if this is a cross-compiler.
3076 # Also use all.cross instead of all.internal
3077 # and add cross-make to Makefile.
3078 cross_overrides="/dev/null"
3079 if [[ x$host != x$target ]]
3080 then
3081         cross_defines="CROSS=-DCROSS_COMPILE"
3082         cross_overrides="${topdir}/cross-make"
3083 fi
3084
3085 # When building gcc with a cross-compiler, we need to fix a few things.
3086 # This must come after cross-make as we want all.build to override
3087 # all.cross.
3088 build_overrides="/dev/null"
3089 if [[ x$build != x$host ]]
3090 then
3091         build_overrides="${topdir}/build-make"
3092 fi
3093
3094 # Expand extra_headers to include complete path.
3095 # This substitutes for lots of t-* files.
3096 extra_headers_list=
3097 if [[ "x$extra_headers" = x ]]
3098 then true
3099 else
3100         # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
3101         for file in $extra_headers;
3102         do
3103                 extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
3104         done
3105 fi
3106
3107 # Add a definition of USE_COLLECT2 if system wants one.
3108 # Also tell toplev.c what to do.
3109 # This substitutes for lots of t-* files.
3110 if [[ x$use_collect2 = x ]]
3111 then
3112         will_use_collect2=
3113         maybe_use_collect2=
3114 else
3115         will_use_collect2="ld"
3116         maybe_use_collect2="-DUSE_COLLECT2"
3117 fi
3118
3119 # NEED TO CONVERT
3120 # Set MD_DEPS if the real md file is in md.pre-cpp.
3121 # Set MD_CPP to the cpp to pass the md file through.  Md files use ';'
3122 # for line oriented comments, so we must always use a GNU cpp.  If
3123 # building gcc with a cross compiler, use the cross compiler just
3124 # built.  Otherwise, we can use the cpp just built.
3125 md_file_sub=
3126 if [[ "x$md_cppflags" = x ]]
3127 then
3128         md_file_sub=$srcdir/config/$md_file
3129 else
3130         md_file=md
3131 fi
3132
3133 # If we have gas in the build tree, make a link to it.
3134 if [[ -f ../gas/Makefile ]]; then
3135         rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
3136 fi
3137
3138 # If we have ld in the build tree, make a link to it.
3139 if [[ -f ../ld/Makefile ]]; then
3140 #       if [[ x$use_collect2 = x ]]; then
3141 #               rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
3142 #       else
3143                 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
3144 #       fi
3145 fi
3146
3147 # Figure out what language subdirectories are present.
3148 subdirs=
3149 for lang in ${srcdir}/*/config-lang.in ..
3150 do
3151         case $lang in
3152         ..) ;;
3153         # The odd quoting in the next line works around
3154         # an apparent bug in bash 1.12 on linux.
3155         ${srcdir}/[[*]]/config-lang.in) ;;
3156         *) subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([[^/]]*\)/config-lang.in$,\1,'`" ;;
3157         esac
3158 done
3159
3160 # Make gthr-default.h if we have a thread file.
3161 gthread_flags=
3162 if [[ $thread_file != single ]]; then
3163     rm -f gthr-default.h
3164     echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
3165     gthread_flags=-DHAVE_GTHR_DEFAULT
3166 fi
3167 AC_SUBST(gthread_flags)
3168
3169 # Make empty files to contain the specs and options for each language.
3170 # Then add #include lines to for a compiler that has specs and/or options.
3171
3172 lang_specs_files=
3173 lang_options_files=
3174 rm -f specs.h options.h
3175 touch specs.h options.h
3176 for subdir in . $subdirs
3177 do
3178         if [[ -f $srcdir/$subdir/lang-specs.h ]]; then
3179                 echo "#include \"$subdir/lang-specs.h\"" >>specs.h
3180                 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
3181         fi
3182         if [[ -f $srcdir/$subdir/lang-options.h ]]; then
3183                 echo "#include \"$subdir/lang-options.h\"" >>options.h
3184                 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
3185         fi
3186 done
3187
3188 # These (without "all_") are set in each config-lang.in.
3189 # `language' must be a single word so is spelled singularly.
3190 all_languages=
3191 all_boot_languages=
3192 all_compilers=
3193 all_stagestuff=
3194 all_diff_excludes=
3195 all_outputs=Makefile
3196 # List of language makefile fragments.
3197 all_lang_makefiles=
3198 all_headers=
3199 all_lib2funcs=
3200
3201 # Add the language fragments.
3202 # Languages are added via two mechanisms.  Some information must be
3203 # recorded in makefile variables, these are defined in config-lang.in.
3204 # We accumulate them and plug them into the main Makefile.
3205 # The other mechanism is a set of hooks for each of the main targets
3206 # like `clean', `install', etc.
3207
3208 language_fragments="Make-lang"
3209 language_hooks="Make-hooks"
3210 oldstyle_subdirs=
3211
3212 for s in .. $subdirs
3213 do
3214         if [[ $s != ".." ]]
3215         then
3216                 language=
3217                 boot_language=
3218                 compilers=
3219                 stagestuff=
3220                 diff_excludes=
3221                 headers=
3222                 outputs=
3223                 lib2funcs=
3224                 . ${srcdir}/$s/config-lang.in
3225                 if [[ "x$language" = x ]]
3226                 then
3227                         echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
3228                         exit 1
3229                 fi
3230                 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
3231                 all_languages="$all_languages $language"
3232                 if [[ "x$boot_language" = xyes ]]
3233                 then
3234                         all_boot_languages="$all_boot_languages $language"
3235                 fi
3236                 all_compilers="$all_compilers $compilers"
3237                 all_stagestuff="$all_stagestuff $stagestuff"
3238                 all_diff_excludes="$all_diff_excludes $diff_excludes"
3239                 all_headers="$all_headers $headers"
3240                 all_outputs="$all_outputs $outputs"
3241                 if [[ x$outputs = x ]]
3242                 then
3243                         oldstyle_subdirs="$oldstyle_subdirs $s"
3244                 fi
3245                 all_lib2funcs="$all_lib2funcs $lib2funcs"
3246         fi
3247 done
3248
3249 # Since we can't use `::' targets, we link each language in
3250 # with a set of hooks, reached indirectly via lang.${target}.
3251
3252 rm -f Make-hooks
3253 touch Make-hooks
3254 target_list="all.build all.cross start.encap rest.encap \
3255         info dvi \
3256         install-normal install-common install-info install-man \
3257         uninstall distdir \
3258         mostlyclean clean distclean extraclean maintainer-clean \
3259         stage1 stage2 stage3 stage4"
3260 for t in $target_list
3261 do
3262         x=
3263         for l in .. $all_languages
3264         do
3265                 if [[ $l != ".." ]]; then
3266                         x="$x $l.$t"
3267                 fi
3268         done
3269         echo "lang.$t: $x" >> Make-hooks
3270 done
3271
3272 # If we're not building in srcdir, create .gdbinit.
3273
3274 if [[ ! -f Makefile.in ]]; then
3275         echo "dir ." > .gdbinit
3276         echo "dir ${srcdir}" >> .gdbinit
3277         if [[ x$gdb_needs_out_file_path = xyes ]]
3278         then
3279                 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
3280         fi
3281         if [[ "x$subdirs" != x ]]; then
3282                 for s in $subdirs
3283                 do
3284                         echo "dir ${srcdir}/$s" >> .gdbinit
3285                 done
3286         fi
3287         echo "source ${srcdir}/.gdbinit" >> .gdbinit
3288 fi
3289
3290 # If this is using newlib, then define inhibit_libc in
3291 # LIBGCC2_CFLAGS.  This will cause __eprintf to be left out of
3292 # libgcc.a, but that's OK because newib should have its own version of
3293 # assert.h.
3294 inhibit_libc=
3295 if [[ x$with_newlib = xyes ]]; then
3296         inhibit_libc=-Dinhibit_libc
3297 fi
3298 AC_SUBST(inhibit_libc)
3299
3300 # Override SCHED_OBJ and SCHED_CFLAGS to enable the Haifa scheduler.
3301 sched_prefix=
3302 sched_cflags=
3303 if [[ x$enable_haifa = xyes ]]; then
3304     echo "Using the Haifa scheduler."
3305     sched_prefix=haifa-
3306     sched_cflags=-DHAIFA
3307 fi
3308 AC_SUBST(sched_prefix)
3309 AC_SUBST(sched_cflags)
3310 if [[ x$enable_haifa != x ]]; then
3311     # Explicitly remove files that need to be recompiled for the Haifa scheduler.
3312     for x in genattrtab.o toplev.o loop.o unroll.o *sched.o; do
3313         if [[ -f $x ]]; then
3314             echo "Removing $x"
3315             rm -f $x
3316         fi
3317     done
3318 fi
3319
3320 # Process the language and host/target makefile fragments.
3321 ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
3322
3323 # Substitute configuration variables
3324 AC_SUBST(subdirs)
3325 AC_SUBST(all_languages)
3326 AC_SUBST(all_boot_languages)
3327 AC_SUBST(all_compilers)
3328 AC_SUBST(all_lang_makefiles)
3329 AC_SUBST(all_stagestuff)
3330 AC_SUBST(all_diff_excludes)
3331 AC_SUBST(all_lib2funcs)
3332 AC_SUBST(all_headers)
3333 AC_SUBST(extra_passes)
3334 AC_SUBST(extra_programs)
3335 AC_SUBST(extra_parts)
3336 AC_SUBST(extra_c_objs)
3337 AC_SUBST(extra_c_flags)
3338 AC_SUBST(extra_objs)
3339 AC_SUBST(host_extra_gcc_objs)
3340 AC_SUBST(extra_headers_list)
3341 AC_SUBST(dep_host_xmake_file)
3342 AC_SUBST(dep_tmake_file)
3343 AC_SUBST(out_file)
3344 AC_SUBST(out_object_file)
3345 AC_SUBST(md_file)
3346 AC_SUBST(tm_file_list)
3347 AC_SUBST(build_xm_file_list)
3348 AC_SUBST(host_xm_file_list)
3349 AC_SUBST(lang_specs_files)
3350 AC_SUBST(lang_options_files)
3351 AC_SUBST(thread_file)
3352 AC_SUBST(version)
3353 AC_SUBST(local_prefix)
3354 AC_SUBST(gxx_include_dir)
3355 AC_SUBST(fixincludes)
3356 AC_SUBST(build_install_headers_dir)
3357 AC_SUBST(build_exeext)
3358 AC_SUBST(host_exeext)
3359 AC_SUBST(float_format)
3360 AC_SUBST(will_use_collect2)
3361 AC_SUBST(maybe_use_collect2)
3362 AC_SUBST(cc_set_by_configure)
3363 AC_SUBST(stage_prefix_set_by_configure)
3364 AC_SUBST(install)
3365 AC_SUBST(symbolic_link)
3366
3367 AC_SUBST_FILE(target_overrides)
3368 AC_SUBST_FILE(host_overrides)
3369 AC_SUBST(cross_defines)
3370 AC_SUBST_FILE(cross_overrides)
3371 AC_SUBST_FILE(build_overrides)
3372 AC_SUBST_FILE(language_fragments)
3373 AC_SUBST_FILE(language_hooks)
3374
3375 # Echo that links are built
3376 if [[ x$host = x$target ]]
3377 then
3378         str1="native "
3379 else
3380         str1="cross-"
3381         str2=" from $host"
3382 fi
3383
3384 if [[ x$host != x$build ]]
3385 then
3386         str3=" on a $build system"
3387 fi
3388
3389 if [[ "x$str2" != x ]] || [[ "x$str3" != x ]]
3390 then
3391         str4=
3392 fi
3393
3394 echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
3395
3396 if [[ "x$str2" != x ]] || [[ "x$str3" != x ]]
3397 then
3398         echo " ${str2}${str3}." 1>&2
3399 fi
3400
3401 # Truncate the target if necessary
3402 if [[ x$host_truncate_target != x ]]; then
3403         target=`echo $target | sed -e 's/\(..............\).*/\1/'`
3404 fi
3405
3406 # Configure the subdirectories
3407 # AC_CONFIG_SUBDIRS($subdirs)
3408
3409 # Create the Makefile
3410 # and configure language subdirectories
3411 AC_OUTPUT($all_outputs,
3412 [
3413 . $srcdir/configure.lang
3414 case x$CONFIG_HEADERS in
3415 xauto-config.h:config.in)
3416 echo > cstamp-h ;;
3417 esac
3418 # If the host supports symlinks, point stage[1234] at ../stage[1234] so
3419 # bootstrapping and the installation procedure can still use
3420 # CC="stage1/xgcc -Bstage1/".  If the host doesn't support symlinks,
3421 # FLAGS_TO_PASS has been modified to solve the problem there.
3422 # This is virtually a duplicate of what happens in configure.lang; we do
3423 # an extra check to make sure this only happens if ln -s can be used.
3424 if [[ "$symbolic_link" = "ln -s" ]]; then
3425  for d in .. ${subdirs} ; do
3426    if [[ $d != .. ]]; then
3427         STARTDIR=`pwd`
3428         cd $d
3429         for t in stage1 stage2 stage3 stage4 include
3430         do
3431                 rm -f $t
3432                 $symbolic_link ../$t $t 2>/dev/null
3433         done
3434         cd $STARTDIR
3435    fi
3436  done
3437 else true ; fi
3438 ],
3439 [
3440 host='${host}'
3441 build='${build}'
3442 target='${target}'
3443 target_alias='${target_alias}'
3444 srcdir='${srcdir}'
3445 subdirs='${subdirs}'
3446 oldstyle_subdirs='${oldstyle_subdirs}'
3447 symbolic_link='${symbolic_link}'
3448 program_transform_set='${program_transform_set}'
3449 program_transform_name='${program_transform_name}'
3450 dep_host_xmake_file='${dep_host_xmake_file}'
3451 host_xmake_file='${host_xmake_file}'
3452 dep_tmake_file='${dep_tmake_file}'
3453 tmake_file='${tmake_file}'
3454 thread_file='${thread_file}'
3455 version='${version}'
3456 local_prefix='${local_prefix}'
3457 build_install_headers_dir='${build_install_headers_dir}'
3458 build_exeext='${build_exeext}'
3459 host_exeext='${host_exeext}'
3460 out_file='${out_file}'
3461 gdb_needs_out_file_path='${gdb_needs_out_file_path}'
3462 SET_MAKE='${SET_MAKE}'
3463 target_list='${target_list}'
3464 target_overrides='${target_overrides}'
3465 host_overrides='${host_overrides}'
3466 cross_defines='${cross_defines}'
3467 cross_overrides='${cross_overrides}'
3468 build_overrides='${build_overrides}'
3469 ])