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