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