OSDN Git Service

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