OSDN Git Service

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