OSDN Git Service

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