]> git.ipfire.org Git - thirdparty/gcc.git/blame_incremental - gcc/configure.in
Oops, missed ChangeLog in last checkin...
[thirdparty/gcc.git] / gcc / configure.in
... / ...
CommitLineData
1# configure.in for GNU CC
2# Process this file with autoconf to generate a configuration script.
3
4# Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
5
6#This file is part of GNU CC.
7
8#GNU CC is free software; you can redistribute it and/or modify
9#it under the terms of the GNU General Public License as published by
10#the Free Software Foundation; either version 2, or (at your option)
11#any later version.
12
13#GNU CC is distributed in the hope that it will be useful,
14#but WITHOUT ANY WARRANTY; without even the implied warranty of
15#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16#GNU General Public License for more details.
17
18#You should have received a copy of the GNU General Public License
19#along with GNU CC; see the file COPYING. If not, write to
20#the Free Software Foundation, 59 Temple Place - Suite 330,
21#Boston, MA 02111-1307, USA.
22
23# Initialization and defaults
24AC_PREREQ(2.13)
25AC_INIT(tree.c)
26AC_CONFIG_HEADER(auto-host.h:config.in)
27
28remove=rm
29hard_link=ln
30symbolic_link='ln -s'
31copy=cp
32
33# Check for bogus environment variables.
34# Test if LIBRARY_PATH contains the notation for the current directory
35# since this would lead to problems installing/building glibc.
36# LIBRARY_PATH contains the current directory if one of the following
37# is true:
38# - one of the terminals (":" and ";") is the first or last sign
39# - two terminals occur directly after each other
40# - the path contains an element with a dot in it
41AC_MSG_CHECKING(LIBRARY_PATH variable)
42changequote(,)dnl
43case ${LIBRARY_PATH} in
44 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
45 library_path_setting="contains current directory"
46 ;;
47 *)
48 library_path_setting="ok"
49 ;;
50esac
51changequote([,])dnl
52AC_MSG_RESULT($library_path_setting)
53if test "$library_path_setting" != "ok"; then
54AC_MSG_ERROR([
55*** LIBRARY_PATH shouldn't contain the current directory when
56*** building gcc. Please change the environment variable
57*** and run configure again.])
58fi
59
60# Test if GCC_EXEC_PREFIX contains the notation for the current directory
61# since this would lead to problems installing/building glibc.
62# GCC_EXEC_PREFIX contains the current directory if one of the following
63# is true:
64# - one of the terminals (":" and ";") is the first or last sign
65# - two terminals occur directly after each other
66# - the path contains an element with a dot in it
67AC_MSG_CHECKING(GCC_EXEC_PREFIX variable)
68changequote(,)dnl
69case ${GCC_EXEC_PREFIX} in
70 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
71 gcc_exec_prefix_setting="contains current directory"
72 ;;
73 *)
74 gcc_exec_prefix_setting="ok"
75 ;;
76esac
77changequote([,])dnl
78AC_MSG_RESULT($gcc_exec_prefix_setting)
79if test "$gcc_exec_prefix_setting" != "ok"; then
80AC_MSG_ERROR([
81*** GCC_EXEC_PREFIX shouldn't contain the current directory when
82*** building gcc. Please change the environment variable
83*** and run configure again.])
84fi
85
86# Check for additional parameters
87
88# With GNU ld
89AC_ARG_WITH(gnu-ld,
90[ --with-gnu-ld arrange to work with GNU ld.],
91gnu_ld_flag="$with_gnu_ld",
92gnu_ld_flag=no)
93
94# With pre-defined ld
95AC_ARG_WITH(ld,
96[ --with-ld arrange to use the specified ld (full pathname).],
97DEFAULT_LINKER="$with_ld")
98if test x"${DEFAULT_LINKER+set}" = x"set"; then
99 if test ! -x "$DEFAULT_LINKER"; then
100 AC_MSG_WARN([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER])
101 elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
102 gnu_ld_flag=yes
103 fi
104 AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER",
105 [Define to enable the use of a default linker.])
106fi
107
108# With GNU as
109AC_ARG_WITH(gnu-as,
110[ --with-gnu-as arrange to work with GNU as.],
111gas_flag="$with_gnu_as",
112gas_flag=no)
113
114AC_ARG_WITH(as,
115[ --with-as arrange to use the specified as (full pathname).],
116DEFAULT_ASSEMBLER="$with_as")
117if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
118 if test ! -x "$DEFAULT_ASSEMBLER"; then
119 AC_MSG_WARN([cannot execute: $DEFAULT_ASSEMBLER: check --with-as or env. var. DEFAULT_ASSEMBLER])
120 elif $DEFAULT_ASSEMBLER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
121 gas_flag=yes
122 fi
123 AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER",
124 [Define to enable the use of a default assembler.])
125fi
126
127# With stabs
128AC_ARG_WITH(stabs,
129[ --with-stabs arrange to use stabs instead of host debug format.],
130stabs="$with_stabs",
131stabs=no)
132
133# With ELF
134AC_ARG_WITH(elf,
135[ --with-elf arrange to use ELF instead of host debug format.],
136elf="$with_elf",
137elf=no)
138
139# Specify the local prefix
140local_prefix=
141AC_ARG_WITH(local-prefix,
142[ --with-local-prefix=DIR specifies directory to put local include.],
143[case "${withval}" in
144yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
145no) ;;
146*) local_prefix=$with_local_prefix ;;
147esac])
148
149# Default local prefix if it is empty
150if test x$local_prefix = x; then
151 local_prefix=/usr/local
152fi
153
154# Don't set gcc_gxx_include_dir to gxx_include_dir since that's only
155# passed in by the toplevel make and thus we'd get different behavior
156# depending on where we built the sources.
157gcc_gxx_include_dir=
158# Specify the g++ header file directory
159AC_ARG_WITH(gxx-include-dir,
160[ --with-gxx-include-dir=DIR
161 specifies directory to put g++ header files.],
162[case "${withval}" in
163yes) AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
164no) ;;
165*) gcc_gxx_include_dir=$with_gxx_include_dir ;;
166esac])
167
168if test x${gcc_gxx_include_dir} = x; then
169 if test x${enable_version_specific_runtime_libs} = xyes; then
170 gcc_gxx_include_dir='${libsubdir}/include/g++'
171 else
172 topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
173changequote(<<, >>)dnl
174 gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
175changequote([, ])dnl
176 fi
177fi
178
179# Enable expensive internal checks
180AC_ARG_ENABLE(checking,
181[ --enable-checking[=LIST]
182 enable expensive run-time checks. With LIST,
183 enable only specific categories of checks.
184 Categories are: misc,tree,rtl,gc,gcac; default
185 is misc,tree,rtl],
186[ac_checking=
187ac_tree_checking=
188ac_rtl_checking=
189ac_gc_checking=
190ac_gc_always_collect=
191case "${enableval}" in
192yes) ac_checking=1 ; ac_tree_checking=1 ; ac_rtl_checking=1 ;;
193no) ;;
194*) IFS="${IFS= }"; ac_save_IFS="$IFS" IFS="$IFS,"
195 set fnord $enableval; shift
196 IFS="$ac_save_IFS"
197 for check
198 do
199 case $check in
200 misc) ac_checking=1 ;;
201 tree) ac_tree_checking=1 ;;
202 rtl) ac_rtl_checking=1 ;;
203 gc) ac_gc_checking=1 ;;
204 gcac) ac_gc_always_collect=1 ;;
205 *) AC_MSG_ERROR(unknown check category $check) ;;
206 esac
207 done
208 ;;
209esac
210if test x$ac_checking != x ; then
211 AC_DEFINE(ENABLE_CHECKING, 1,
212[Define if you want more run-time sanity checks. This one gets a grab
213 bag of miscellaneous but relatively cheap checks.])
214fi
215if test x$ac_tree_checking != x ; then
216 AC_DEFINE(ENABLE_TREE_CHECKING, 1,
217[Define if you want all operations on trees (the basic data
218 structure of the front ends) to be checked for dynamic type safety
219 at runtime. This is moderately expensive.])
220fi
221if test x$ac_rtl_checking != x ; then
222 AC_DEFINE(ENABLE_RTL_CHECKING, 1,
223[Define if you want all operations on RTL (the basic data structure
224 of the optimizer and back end) to be checked for dynamic type safety
225 at runtime. This is quite expensive.])
226fi
227if test x$ac_gc_checking != x ; then
228 AC_DEFINE(ENABLE_GC_CHECKING, 1,
229[Define if you want the garbage collector to do object poisoning and
230 other memory allocation checks. This is quite expensive.])
231fi
232if test x$ac_gc_always_collect != x ; then
233 AC_DEFINE(ENABLE_GC_ALWAYS_COLLECT, 1,
234[Define if you want the garbage collector to operate in maximally
235 paranoid mode, validating the entire heap and collecting garbage at
236 every opportunity. This is extremely expensive.])
237fi
238])
239
240AC_ARG_ENABLE(cpp,
241[ --disable-cpp don't provide a user-visible C preprocessor.],
242[], [enable_cpp=yes])
243
244AC_ARG_WITH(cpp_install_dir,
245[ --with-cpp-install-dir=DIR
246 install the user visible C preprocessor in DIR
247 (relative to PREFIX) as well as PREFIX/bin.],
248[if test x$withval = xyes; then
249 AC_MSG_ERROR([option --with-cpp-install-dir requires an argument])
250elif test x$withval != xno; then
251 cpp_install_dir=$withval
252fi])
253
254dnl Disable this for the moment; the library interface is changing.
255dnl # Link cpplib into the compiler proper, for C/C++/ObjC.
256dnl AC_ARG_ENABLE(c-cpplib,
257dnl [ --enable-c-cpplib link cpplib directly into C and C++ compilers
258dnl (EXPERIMENTAL) (implies --enable-cpplib).],
259dnl if test x$enable_c_cpplib != xno; then
260dnl extra_c_objs="${extra_c_objs} libcpp.a"
261dnl extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
262dnl extra_c_flags="${extra_c_flags} -DUSE_CPPLIB=1"
263dnl fi)
264
265# Enable Multibyte Characters for C/C++
266AC_ARG_ENABLE(c-mbchar,
267[ --enable-c-mbchar Enable multibyte characters for C and C++.],
268if test x$enable_c_mbchar != xno; then
269 extra_c_flags="${extra_c_flags} -DMULTIBYTE_CHARS=1"
270fi)
271
272# Enable threads
273# Pass with no value to take the default
274# Pass with a value to specify a thread package
275AC_ARG_ENABLE(threads,
276[ --enable-threads enable thread usage for target GCC.
277 --enable-threads=LIB use LIB thread package for target GCC.],
278if test x$enable_threads = xno; then
279 enable_threads=''
280fi,
281enable_threads='')
282
283enable_threads_flag=$enable_threads
284# Check if a valid thread package
285case x${enable_threads_flag} in
286 x | xno)
287 # No threads
288 target_thread_file='single'
289 ;;
290 xyes)
291 # default
292 target_thread_file=''
293 ;;
294 xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
295 xsolaris | xwin32 | xdce | xvxworks)
296 target_thread_file=$enable_threads_flag
297 ;;
298 *)
299 echo "$enable_threads is an unknown thread package" 1>&2
300 exit 1
301 ;;
302esac
303
304AC_ARG_ENABLE(objc-gc,
305[ --enable-objc-gc enable the use of Boehm's garbage collector with
306 the GNU Objective-C runtime.],
307if test x$enable_objc_gc = xno; then
308 objc_boehm_gc=''
309else
310 objc_boehm_gc=1
311fi,
312objc_boehm_gc='')
313
314AC_ARG_WITH(dwarf2,
315[ --with-dwarf2 force the default debug format to be DWARF2.],
316dwarf2="$with_dwarf2",
317dwarf2=no)
318
319# Determine the host, build, and target systems
320AC_CANONICAL_SYSTEM
321
322# Find the native compiler
323AC_PROG_CC
324gcc_AC_C_LONG_DOUBLE
325
326# If the native compiler is GCC, we can enable warnings even in stage1.
327# That's useful for people building cross-compilers, or just running a
328# quick `make'.
329if test "x$GCC" = "xyes"; then
330 stage1_warn_cflags='$(WARN_CFLAGS)'
331else
332 stage1_warn_cflags=""
333fi
334AC_SUBST(stage1_warn_cflags)
335
336AC_PROG_MAKE_SET
337
338AC_MSG_CHECKING([whether a default assembler was specified])
339if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
340 if test x"$gas_flag" = x"no"; then
341 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
342 else
343 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
344 fi
345else
346 AC_MSG_RESULT(no)
347fi
348
349AC_MSG_CHECKING([whether a default linker was specified])
350if test x"${DEFAULT_LINKER+set}" = x"set"; then
351 if test x"$gnu_ld_flag" = x"no"; then
352 AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
353 else
354 AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
355 fi
356else
357 AC_MSG_RESULT(no)
358fi
359
360# Find some useful tools
361AC_PROG_AWK
362AC_PROG_LEX
363gcc_AC_PROG_LN
364gcc_AC_PROG_LN_S
365gcc_AC_C_VOLATILE
366AC_PROG_RANLIB
367AC_PROG_YACC
368gcc_AC_PROG_INSTALL
369
370AC_HEADER_STDC
371AC_HEADER_TIME
372gcc_AC_HEADER_STRING
373AC_HEADER_SYS_WAIT
374AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h \
375 fcntl.h unistd.h stab.h sys/file.h sys/time.h \
376 sys/resource.h sys/param.h sys/times.h sys/stat.h \
377 direct.h malloc.h)
378
379# Check for thread headers.
380AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
381AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
382
383# See if GNAT has been installed
384AC_CHECK_PROG(gnat, gnatbind, yes, no)
385
386# See if the stage1 system preprocessor understands the ANSI C
387# preprocessor stringification operator.
388AC_C_STRINGIZE
389
390# Use <inttypes.h> only if it exists,
391# doesn't clash with <sys/types.h>, and declares intmax_t.
392AC_MSG_CHECKING(for inttypes.h)
393AC_CACHE_VAL(gcc_cv_header_inttypes_h,
394[AC_TRY_COMPILE(
395 [#include <sys/types.h>
396#include <inttypes.h>],
397 [intmax_t i = -1;],
398 [gcc_cv_header_inttypes_h=yes],
399 gcc_cv_header_inttypes_h=no)])
400AC_MSG_RESULT($gcc_cv_header_inttypes_h)
401if test $gcc_cv_header_inttypes_h = yes; then
402 AC_DEFINE(HAVE_INTTYPES_H, 1,
403 [Define if you have a working <inttypes.h> header file.])
404fi
405
406#
407# Determine if enumerated bitfields are unsigned. ISO C says they can
408# be either signed or unsigned.
409#
410AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
411[AC_TRY_RUN(#include <stdlib.h>
412enum t { BLAH = 128 } ;
413struct s_t { enum t member : 8; } s ;
414int main(void)
415{
416 s.member = BLAH;
417 if (s.member < 0) exit(1);
418 exit(0);
419
420}, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
421if test $gcc_cv_enum_bf_unsigned = yes; then
422 AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
423 [Define if enumerated bitfields are treated as unsigned values.])
424fi
425
426AC_CHECK_FUNCS(strtoul bsearch putenv popen bcopy bzero bcmp \
427 index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
428 sysconf isascii gettimeofday strsignal putc_unlocked fputc_unlocked \
429 fputs_unlocked getrusage valloc)
430
431# Make sure wchar_t is available
432#AC_CHECK_TYPE(wchar_t, unsigned int)
433
434gcc_AC_FUNC_VFPRINTF_DOPRNT
435gcc_AC_FUNC_PRINTF_PTR
436
437case "${host}" in
438*-*-uwin*)
439 # Under some versions of uwin, vfork is notoriously buggy and the test
440 # can hang configure; on other versions, vfork exists just as a stub.
441 # FIXME: This should be removed once vfork in uwin's runtime is fixed.
442 ac_cv_func_vfork_works=no
443 ;;
444esac
445AC_FUNC_VFORK
446AC_FUNC_MMAP_ANYWHERE
447AC_FUNC_MMAP_FILE
448
449gcc_AC_NEED_DECLARATIONS(bcopy bzero bcmp \
450 index rindex getenv atol sbrk abort atof getcwd getwd \
451 strsignal putc_unlocked fputs_unlocked strstr environ)
452
453gcc_AC_NEED_DECLARATIONS(malloc realloc calloc free, [
454#ifdef HAVE_MALLOC_H
455#include <malloc.h>
456#endif
457])
458
459gcc_AC_NEED_DECLARATIONS(getrlimit setrlimit getrusage, [
460#include <sys/types.h>
461#ifdef HAVE_SYS_RESOURCE_H
462#include <sys/resource.h>
463#endif
464])
465
466# mkdir takes a single argument on some systems.
467gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
468
469# File extensions
470manext='.1'
471objext='.o'
472AC_SUBST(manext)
473AC_SUBST(objext)
474
475build_xm_file=
476build_xm_defines=
477build_install_headers_dir=install-headers-tar
478build_exeext=
479host_xm_file=
480host_xm_defines=
481host_xmake_file=
482host_truncate_target=
483host_exeext=
484
485# Decode the host machine, then the target machine.
486# For the host machine, we save the xm_file variable as host_xm_file;
487# then we decode the target machine and forget everything else
488# that came from the host machine.
489for machine in $build $host $target; do
490
491 out_file=
492 xmake_file=
493 tmake_file=
494 extra_headers=
495 extra_passes=
496 extra_parts=
497 extra_programs=
498 extra_objs=
499 extra_host_objs=
500 extra_gcc_objs=
501 xm_defines=
502 float_format=
503 # Set this to force installation and use of collect2.
504 use_collect2=
505 # Set this to override the default target model.
506 target_cpu_default=
507 # Set this to control how the header file directory is installed.
508 install_headers_dir=install-headers-tar
509 # Set this to a non-empty list of args to pass to cpp if the target
510 # wants its .md file passed through cpp.
511 md_cppflags=
512 # Set this if directory names should be truncated to 14 characters.
513 truncate_target=
514 # Set this if gdb needs a dir command with `dirname $out_file`
515 gdb_needs_out_file_path=
516 # Set this if the build machine requires executables to have a
517 # file name suffix.
518 exeext=
519 # Set this to control which thread package will be used.
520 thread_file=
521 # Reinitialize these from the flag values every loop pass, since some
522 # configure entries modify them.
523 gas="$gas_flag"
524 gnu_ld="$gnu_ld_flag"
525 enable_threads=$enable_threads_flag
526
527 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
528 # updated in each machine entry.
529 tm_p_file=
530 cpu_type=`echo $machine | sed 's/-.*$//'`
531 case $machine in
532 alpha*-*-*)
533 cpu_type=alpha
534 ;;
535 arm*-*-*)
536 cpu_type=arm
537 ;;
538 c*-convex-*)
539 cpu_type=convex
540 ;;
541changequote(,)dnl
542 i[34567]86-*-*)
543changequote([,])dnl
544 cpu_type=i386
545 ;;
546 hppa*-*-*)
547 cpu_type=pa
548 ;;
549 m68000-*-*)
550 cpu_type=m68k
551 ;;
552 mips*-*-*)
553 cpu_type=mips
554 ;;
555 pj*-*-*)
556 cpu_type=pj
557 ;;
558 powerpc*-*-*)
559 cpu_type=rs6000
560 ;;
561 pyramid-*-*)
562 cpu_type=pyr
563 ;;
564 sparc*-*-*)
565 cpu_type=sparc
566 ;;
567 esac
568
569 tm_file=${cpu_type}/${cpu_type}.h
570 xm_file=${cpu_type}/xm-${cpu_type}.h
571 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h;
572 then
573 tm_p_file=${cpu_type}/${cpu_type}-protos.h;
574 fi
575 # On a.out targets, we need to use collect2.
576 case $machine in
577 *-*-*aout*)
578 use_collect2=yes
579 ;;
580 esac
581
582 # Common parts for linux-gnu and openbsd systems
583 case $machine in
584 *-*-linux-gnu*)
585 xm_defines="HAVE_ATEXIT POSIX BSTRING"
586 ;;
587 *-*-openbsd*)
588 tm_file=${cpu_type}/openbsd.h
589 tmake_file="t-libc-ok t-openbsd"
590 # avoid surprises, always provide an xm-openbsd file
591 xm_file=${cpu_type}/xm-openbsd.h
592 # don't depend on processor x-fragments as well
593 xmake_file=none
594 if test x$enable_threads = xyes; then
595 thread_file='posix'
596 tmake_file="${tmake_file} t-openbsd-thread"
597 fi
598 ;;
599 esac
600
601 case $machine in
602 # Support site-specific machine types.
603 *local*)
604 cpu_type=`echo $machine | sed -e 's/-.*//'`
605 rest=`echo $machine | sed -e "s/$cpu_type-//"`
606 xm_file=${cpu_type}/xm-$rest.h
607 tm_file=${cpu_type}/$rest.h
608 if test -f $srcdir/config/${cpu_type}/x-$rest; \
609 then xmake_file=${cpu_type}/x-$rest; \
610 else true; \
611 fi
612 if test -f $srcdir/config/${cpu_type}/t-$rest; \
613 then tmake_file=${cpu_type}/t-$rest; \
614 else true; \
615 fi
616 ;;
617 1750a-*-*)
618 ;;
619 a29k-*-bsd* | a29k-*-sym1*)
620 tm_file="${tm_file} a29k/unix.h"
621 xm_defines=USG
622 xmake_file=a29k/x-unix
623 use_collect2=yes
624 ;;
625 a29k-*-udi | a29k-*-coff)
626 tm_file="${tm_file} dbxcoff.h a29k/udi.h"
627 tmake_file=a29k/t-a29kbare
628 ;;
629 a29k-wrs-vxworks*)
630 tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
631 tmake_file=a29k/t-vx29k
632 extra_parts="crtbegin.o crtend.o"
633 thread_file='vxworks'
634 ;;
635 a29k-*-*) # Default a29k environment.
636 use_collect2=yes
637 ;;
638 alpha-*-interix)
639 tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"
640
641 # GAS + IEEE_CONFORMANT+IEEE (no inexact);
642 #target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT|MASK_IEEE"
643
644 # GAS + IEEE_CONFORMANT
645 target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
646
647 xm_file="alpha/xm-alpha-interix.h xm-interix.h"
648 xmake_file="x-interix alpha/t-pe"
649 tmake_file="alpha/t-alpha alpha/t-interix alpha/t-ieee"
650 if test x$enable_threads = xyes ; then
651 thread_file='posix'
652 fi
653 if test x$stabs = xyes ; then
654 tm_file="${tm_file} dbxcoff.h"
655 fi
656 #prefix='$$INTERIX_ROOT'/usr/contrib
657 #local_prefix='$$INTERIX_ROOT'/usr/contrib
658 ;;
659 alpha*-*-linux-gnuecoff*)
660 tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
661 target_cpu_default="MASK_GAS"
662 tmake_file="alpha/t-alpha alpha/t-ieee"
663 gas=no
664 xmake_file=none
665 gas=yes gnu_ld=yes
666 ;;
667 alpha*-*-linux-gnulibc1*)
668 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
669 target_cpu_default="MASK_GAS"
670 tmake_file="t-linux t-linux-gnulibc1 alpha/t-alpha alpha/t-linux alpha/t-crtbe alpha/t-ieee"
671 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
672 xmake_file=none
673 gas=yes gnu_ld=yes
674 if test x$enable_threads = xyes; then
675 thread_file='posix'
676 fi
677 ;;
678 alpha*-*-linux-gnu*)
679 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
680 target_cpu_default="MASK_GAS"
681 tmake_file="t-linux alpha/t-linux alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
682 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
683 xmake_file=none
684 gas=yes gnu_ld=yes
685 if test x$enable_threads = xyes; then
686 thread_file='posix'
687 fi
688 ;;
689 alpha*-*-netbsd*)
690 tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
691 target_cpu_default="MASK_GAS"
692 tmake_file="alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
693 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
694 xmake_file=none
695 gas=yes gnu_ld=yes
696 ;;
697
698 alpha*-*-openbsd*)
699 # default x-alpha is only appropriate for dec-osf.
700 target_cpu_default="MASK_GAS"
701 tmake_file="alpha/t-alpha alpha/t-ieee"
702 ;;
703
704 alpha*-dec-osf*)
705 if test x$stabs = xyes
706 then
707 tm_file="${tm_file} dbx.h"
708 fi
709 if test x$gas != xyes
710 then
711 extra_passes="mips-tfile mips-tdump"
712 fi
713 use_collect2=yes
714 tmake_file="alpha/t-alpha alpha/t-ieee"
715 case $machine in
716 *-*-osf1*)
717 tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
718 ;;
719changequote(,)dnl
720 *-*-osf[23]*)
721changequote([,])dnl
722 tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
723 ;;
724 *-*-osf4*)
725 tm_file="${tm_file} alpha/osf.h"
726 # Some versions of OSF4 (specifically X4.0-9 296.7) have
727 # a broken tar, so we use cpio instead.
728 install_headers_dir=install-headers-cpio
729 ;;
730 *-*-osf5*)
731 tm_file="${tm_file} alpha/osf.h alpha/osf5.h"
732 ;;
733 esac
734 case $machine in
735changequote(,)dnl
736 *-*-osf4.0[b-z] | *-*-osf4.[1-9]* | *-*-osf5*)
737changequote([,])dnl
738 target_cpu_default=MASK_SUPPORT_ARCH
739 ;;
740 esac
741 ;;
742 alpha*-*-vxworks*)
743 tm_file="${tm_file} dbx.h alpha/vxworks.h"
744 tmake_file="alpha/t-alpha alpha/t-ieee"
745 if [ x$gas != xyes ]
746 then
747 extra_passes="mips-tfile mips-tdump"
748 fi
749 use_collect2=yes
750 thread_file='vxworks'
751 ;;
752 alpha*-*-winnt*)
753 tm_file="${tm_file} alpha/alpha32.h alpha/win-nt.h winnt/win-nt.h"
754 xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
755 tmake_file="t-libc-ok alpha/t-alpha alpha/t-ieee"
756 xmake_file=winnt/x-winnt
757 extra_host_objs=oldnames.o
758 extra_gcc_objs="spawnv.o oldnames.o"
759 if test x$gnu_ld != xyes
760 then
761 extra_programs=ld.exe
762 fi
763 if test x$enable_threads = xyes; then
764 thread_file='win32'
765 fi
766 ;;
767 alpha*-dec-vms*)
768 tm_file=alpha/vms.h
769 xm_file="${xm_file} alpha/xm-vms.h"
770 tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
771 ;;
772 arc-*-elf*)
773 extra_parts="crtinit.o crtfini.o"
774 ;;
775 arm-*-coff* | armel-*-coff*)
776 tm_file=arm/coff.h
777 tmake_file=arm/t-arm-coff
778 ;;
779 arm-*-vxworks*)
780 tm_file=arm/vxarm.h
781 tmake_file=arm/t-arm-coff
782 thread_file='vxworks'
783 ;;
784changequote(,)dnl
785 arm-*-riscix1.[01]*) # Acorn RISC machine (early versions)
786changequote([,])dnl
787 tm_file=arm/riscix1-1.h
788 use_collect2=yes
789 ;;
790 arm-*-riscix*) # Acorn RISC machine
791 if test x$gas = xyes
792 then
793 tm_file=arm/rix-gas.h
794 else
795 tm_file=arm/riscix.h
796 fi
797 xmake_file=arm/x-riscix
798 tmake_file=arm/t-riscix
799 use_collect2=yes
800 ;;
801 arm-semi-aout | armel-semi-aout)
802 tm_file=arm/semi.h
803 tmake_file=arm/t-semi
804 ;;
805 arm-semi-aof | armel-semi-aof)
806 tm_file=arm/semiaof.h
807 tmake_file=arm/t-semiaof
808 ;;
809 arm*-*-netbsd*)
810 tm_file=arm/netbsd.h
811 tmake_file="t-netbsd arm/t-netbsd"
812 use_collect2=yes
813 ;;
814 arm*-*-linux-gnuaout*) # ARM GNU/Linux with a.out
815 cpu_type=arm
816 xmake_file=x-linux
817 tm_file=arm/linux-aout.h
818 tmake_file=arm/t-linux
819 gnu_ld=yes
820 ;;
821 arm*-*-linux-gnuoldld*) # ARM GNU/Linux with old ELF linker
822 xm_file=arm/xm-linux.h
823 xmake_file=x-linux
824 tm_file="arm/linux-oldld.h arm/linux-elf.h"
825 case $machine in
826 armv2*-*-*)
827 tm_file="arm/linux-elf26.h $tm_file"
828 ;;
829 esac
830 tmake_file="t-linux arm/t-linux"
831 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
832 gnu_ld=yes
833 case x${enable_threads} in
834 x | xyes | xpthreads | xposix)
835 thread_file='posix'
836 ;;
837 esac
838 ;;
839 arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
840 xm_file=arm/xm-linux.h
841 xmake_file=x-linux
842 tm_file="arm/linux-elf.h"
843 case $machine in
844 armv2*-*-*)
845 tm_file="arm/linux-elf26.h $tm_file"
846 ;;
847 esac
848 tmake_file="t-linux arm/t-linux"
849 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
850 gnu_ld=yes
851 case x${enable_threads} in
852 x | xyes | xpthreads | xposix)
853 thread_file='posix'
854 ;;
855 esac
856 ;;
857 arm*-*-uclinux*) # ARM ucLinux
858 tm_file=arm/uclinux-elf.h
859 tmake_file=arm/t-arm-elf
860 ;;
861 arm*-*-aout)
862 tm_file=arm/aout.h
863 tmake_file=arm/t-arm-aout
864 ;;
865 arm*-*-ecos-elf)
866 tm_file=arm/ecos-elf.h
867 tmake_file=arm/t-arm-elf
868 ;;
869 arm*-*-elf)
870 tm_file=arm/unknown-elf.h
871 tmake_file=arm/t-arm-elf
872 ;;
873 arm*-*-conix*)
874 tm_file=arm/conix-elf.h
875 tmake_file=arm/t-arm-elf
876 ;;
877 arm*-*-oabi)
878 tm_file=arm/unknown-elf-oabi.h
879 tmake_file=arm/t-arm-elf
880 ;;
881 arm-*-pe*)
882 tm_file=arm/pe.h
883 tmake_file=arm/t-pe
884 extra_objs="pe.o"
885 ;;
886 avr-*-*)
887 ;;
888 c1-convex-*) # Convex C1
889 target_cpu_default=1
890 use_collect2=yes
891 ;;
892 c2-convex-*) # Convex C2
893 target_cpu_default=2
894 use_collect2=yes
895 ;;
896 c32-convex-*)
897 target_cpu_default=4
898 use_collect2=yes
899 ;;
900 c34-convex-*)
901 target_cpu_default=8
902 use_collect2=yes
903 ;;
904 c38-convex-*)
905 target_cpu_default=16
906 use_collect2=yes
907 ;;
908 c4x-*)
909 cpu_type=c4x
910 tmake_file=c4x/t-c4x
911 ;;
912 clipper-intergraph-clix*)
913 tm_file="${tm_file} svr3.h clipper/clix.h"
914 xm_file=clipper/xm-clix.h
915 xmake_file=clipper/x-clix
916 extra_headers=va-clipper.h
917 extra_parts="crtbegin.o crtend.o"
918 install_headers_dir=install-headers-cpio
919 ;;
920 dsp16xx-*)
921 ;;
922 elxsi-elxsi-*)
923 use_collect2=yes
924 ;;
925 fr30-*-elf)
926 tm_file="fr30/fr30.h"
927 tmake_file=fr30/t-fr30
928 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
929 ;;
930# This hasn't been upgraded to GCC 2.
931# fx80-alliant-*) # Alliant FX/80
932# ;;
933 h8300-*-*)
934 float_format=i32
935 ;;
936 hppa*-*-linux*)
937 target_cpu_default="(MASK_PA_11 | MASK_GAS | MASK_JUMP_IN_DELAY)"
938 tm_file="${tm_file} pa/elf.h linux.h pa/pa-linux.h"
939 tmake_file="t-linux pa/t-linux"
940 extra_parts="crtbegin.o crtend.o"
941 xmake_file=none
942 gas=yes gnu_ld=yes
943 if test x$enable_threads = xyes; then
944 thread_file='posix'
945 fi
946 ;;
947 hppa*-*-openbsd*)
948 target_cpu_default="MASK_PA_11"
949 tmake_file=pa/t-openbsd
950 ;;
951 hppa1.1-*-pro*)
952 target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
953 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
954 xm_file=pa/xm-papro.h
955 tmake_file=pa/t-pro
956 ;;
957 hppa1.1-*-osf*)
958 target_cpu_default="MASK_PA_11"
959 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
960 use_collect2=yes
961 ;;
962 hppa1.1-*-rtems*)
963 target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
964 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
965 xm_file=pa/xm-papro.h
966 tmake_file=pa/t-pro
967 ;;
968 hppa1.0-*-osf*)
969 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
970 use_collect2=yes
971 ;;
972 hppa1.1-*-bsd*)
973 tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
974 target_cpu_default="MASK_PA_11"
975 use_collect2=yes
976 ;;
977 hppa1.0-*-bsd*)
978 tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
979 use_collect2=yes
980 ;;
981 hppa1.0-*-hpux7*)
982 tm_file="pa/pa-oldas.h ${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux7.h"
983 xm_file=pa/xm-pahpux.h
984 xmake_file=pa/x-pa-hpux
985 if test x$gas = xyes
986 then
987 tm_file="${tm_file} pa/gas.h"
988 fi
989 install_headers_dir=install-headers-cpio
990 use_collect2=yes
991 ;;
992changequote(,)dnl
993 hppa1.0-*-hpux8.0[0-2]*)
994changequote([,])dnl
995 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
996 xm_file=pa/xm-pahpux.h
997 xmake_file=pa/x-pa-hpux
998 if test x$gas = xyes
999 then
1000 tm_file="${tm_file} pa/pa-gas.h"
1001 else
1002 tm_file="pa/pa-oldas.h ${tm_file}"
1003 fi
1004 install_headers_dir=install-headers-cpio
1005 use_collect2=yes
1006 ;;
1007changequote(,)dnl
1008 hppa1.1-*-hpux8.0[0-2]*)
1009changequote([,])dnl
1010 target_cpu_default="MASK_PA_11"
1011 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1012 xm_file=pa/xm-pahpux.h
1013 xmake_file=pa/x-pa-hpux
1014 if test x$gas = xyes
1015 then
1016 tm_file="${tm_file} pa/pa-gas.h"
1017 else
1018 tm_file="pa/pa-oldas.h ${tm_file}"
1019 fi
1020 install_headers_dir=install-headers-cpio
1021 use_collect2=yes
1022 ;;
1023 hppa1.1-*-hpux8*)
1024 target_cpu_default="MASK_PA_11"
1025 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1026 xm_file=pa/xm-pahpux.h
1027 xmake_file=pa/x-pa-hpux
1028 if test x$gas = xyes
1029 then
1030 tm_file="${tm_file} pa/pa-gas.h"
1031 fi
1032 install_headers_dir=install-headers-cpio
1033 use_collect2=yes
1034 ;;
1035 hppa1.0-*-hpux8*)
1036 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
1037 xm_file=pa/xm-pahpux.h
1038 xmake_file=pa/x-pa-hpux
1039 if test x$gas = xyes
1040 then
1041 tm_file="${tm_file} pa/pa-gas.h"
1042 fi
1043 install_headers_dir=install-headers-cpio
1044 use_collect2=yes
1045 ;;
1046 hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
1047 target_cpu_default="MASK_PA_11"
1048 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
1049 float_format=i128
1050 xm_file=pa/xm-pahpux.h
1051 xmake_file=pa/x-pa-hpux
1052 tmake_file=pa/t-pa
1053 if test x$gas = xyes
1054 then
1055 tm_file="${tm_file} pa/pa-gas.h"
1056 fi
1057 if test x$enable_threads = x; then
1058 enable_threads=$have_pthread_h
1059 fi
1060 if test x$enable_threads = xyes; then
1061 thread_file='dce'
1062 tmake_file="${tmake_file} pa/t-dce-thr"
1063 fi
1064 install_headers_dir=install-headers-cpio
1065 use_collect2=yes
1066 ;;
1067 hppa1.0-*-hpux10*)
1068 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
1069 float_format=i128
1070 xm_file=pa/xm-pahpux.h
1071 xmake_file=pa/x-pa-hpux
1072 tmake_file=pa/t-pa
1073 if test x$gas = xyes
1074 then
1075 tm_file="${tm_file} pa/pa-gas.h"
1076 fi
1077 if test x$enable_threads = x; then
1078 enable_threads=$have_pthread_h
1079 fi
1080 if test x$enable_threads = xyes; then
1081 thread_file='dce'
1082 tmake_file="${tmake_file} pa/t-dce-thr"
1083 fi
1084 install_headers_dir=install-headers-cpio
1085 use_collect2=yes
1086 ;;
1087 hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
1088 target_cpu_default="MASK_PA_11"
1089 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
1090 float_format=i128
1091 xm_file=pa/xm-pahpux.h
1092 xmake_file=pa/x-pa-hpux
1093 tmake_file=pa/t-pa
1094 if test x$gas = xyes
1095 then
1096 tm_file="${tm_file} pa/pa-gas.h"
1097 fi
1098# if test x$enable_threads = x; then
1099# enable_threads=$have_pthread_h
1100# fi
1101# if test x$enable_threads = xyes; then
1102# thread_file='dce'
1103# tmake_file="${tmake_file} pa/t-dce-thr"
1104# fi
1105 install_headers_dir=install-headers-cpio
1106 use_collect2=yes
1107 ;;
1108 hppa1.0-*-hpux11*)
1109 tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
1110 float_format=i128
1111 xm_file=pa/xm-pahpux.h
1112 xmake_file=pa/x-pa-hpux
1113 if test x$gas = xyes
1114 then
1115 tm_file="${tm_file} pa/pa-gas.h"
1116 fi
1117# if test x$enable_threads = x; then
1118# enable_threads=$have_pthread_h
1119# fi
1120# if test x$enable_threads = xyes; then
1121# thread_file='dce'
1122# tmake_file="${tmake_file} pa/t-dce-thr"
1123# fi
1124 install_headers_dir=install-headers-cpio
1125 use_collect2=yes
1126 ;;
1127 hppa1.1-*-hpux* | hppa2*-*-hpux*)
1128 target_cpu_default="MASK_PA_11"
1129 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1130 xm_file=pa/xm-pahpux.h
1131 xmake_file=pa/x-pa-hpux
1132 if test x$gas = xyes
1133 then
1134 tm_file="${tm_file} pa/pa-gas.h"
1135 fi
1136 install_headers_dir=install-headers-cpio
1137 use_collect2=yes
1138 ;;
1139 hppa1.0-*-hpux*)
1140 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
1141 xm_file=pa/xm-pahpux.h
1142 xmake_file=pa/x-pa-hpux
1143 if test x$gas = xyes
1144 then
1145 tm_file="${tm_file} pa/pa-gas.h"
1146 fi
1147 install_headers_dir=install-headers-cpio
1148 use_collect2=yes
1149 ;;
1150 hppa1.1-*-hiux* | hppa2*-*-hiux*)
1151 target_cpu_default="MASK_PA_11"
1152 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1153 xm_file=pa/xm-pahpux.h
1154 xmake_file=pa/x-pa-hpux
1155 if test x$gas = xyes
1156 then
1157 tm_file="${tm_file} pa/pa-gas.h"
1158 fi
1159 install_headers_dir=install-headers-cpio
1160 use_collect2=yes
1161 ;;
1162 hppa1.0-*-hiux*)
1163 tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
1164 xm_file=pa/xm-pahpux.h
1165 xmake_file=pa/x-pa-hpux
1166 if test x$gas = xyes
1167 then
1168 tm_file="${tm_file} pa/pa-gas.h"
1169 fi
1170 install_headers_dir=install-headers-cpio
1171 use_collect2=yes
1172 ;;
1173 hppa*-*-lites*)
1174 tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h"
1175 target_cpu_default="MASK_PA_11"
1176 use_collect2=yes
1177 ;;
1178 hppa*-*-mpeix*)
1179 tm_file="${tm_file} pa/pa-mpeix.h"
1180 xm_file=pa/xm-pampeix.h
1181 xmake_file=pa/x-pa-mpeix
1182 echo "You must use gas. Assuming it is already installed."
1183 install_headers_dir=install-headers-tar
1184 use_collect2=yes
1185 ;;
1186 i370-*-opened*) # IBM 360/370/390 Architecture
1187 xm_file=i370/xm-oe.h
1188 tm_file=i370/oe.h
1189 xmake_file=i370/x-oe
1190 tmake_file=i370/t-oe
1191 ;;
1192 i370-*-mvs*)
1193 xm_file=i370/xm-mvs.h
1194 tm_file=i370/mvs.h
1195 tmake_file=i370/t-mvs
1196 ;;
1197 i370-*-linux*)
1198 xm_file="xm-linux.h i370/xm-linux.h"
1199 xmake_file=x-linux
1200 tm_file="i370/linux.h ${tm_file}"
1201 tmake_file="t-linux i370/t-linux"
1202 # broken_install=yes
1203 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1204 # extra_parts="crtbegin.o crtend.o"
1205 gnu_ld=yes
1206 gas=yes
1207 elf=yes
1208 if test x$enable_threads = xyes; then
1209 thread_file='posix'
1210 fi
1211 ;;
1212changequote(,)dnl
1213 i[34567]86-*-elf*)
1214changequote([,])dnl
1215 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
1216 tm_file=i386/i386elf.h
1217 tmake_file=i386/t-i386elf
1218 xmake_file=x-svr4
1219 ;;
1220changequote(,)dnl
1221 i[34567]86-ibm-aix*) # IBM PS/2 running AIX
1222changequote([,])dnl
1223 if test x$gas = xyes
1224 then
1225 tm_file=i386/aix386.h
1226 extra_parts="crtbegin.o crtend.o"
1227 tmake_file=i386/t-crtstuff
1228 else
1229 tm_file=i386/aix386ng.h
1230 use_collect2=yes
1231 fi
1232 xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
1233 xm_defines=USG
1234 xmake_file=i386/x-aix
1235 ;;
1236changequote(,)dnl
1237 i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4
1238changequote([,])dnl
1239 xm_file="xm-alloca.h ${xm_file}"
1240 xm_defines="USG POSIX SMALL_ARG_MAX"
1241 xmake_file=i386/x-ncr3000
1242 if test x$stabs = xyes -a x$gas = xyes
1243 then
1244 tm_file=i386/sysv4gdb.h
1245 else
1246 tm_file=i386/sysv4.h
1247 fi
1248 extra_parts="crtbegin.o crtend.o"
1249 tmake_file=i386/t-crtpic
1250 ;;
1251changequote(,)dnl
1252 i[34567]86-next-*)
1253changequote([,])dnl
1254 tm_file=i386/next.h
1255 xm_file=i386/xm-next.h
1256 tmake_file=i386/t-next
1257 xmake_file=i386/x-next
1258 extra_objs=nextstep.o
1259 extra_parts="crtbegin.o crtend.o"
1260 if test x$enable_threads = xyes; then
1261 thread_file='mach'
1262 fi
1263 ;;
1264changequote(,)dnl
1265 i[34567]86-sequent-bsd*) # 80386 from Sequent
1266changequote([,])dnl
1267 use_collect2=yes
1268 if test x$gas = xyes
1269 then
1270 tm_file=i386/seq-gas.h
1271 else
1272 tm_file=i386/sequent.h
1273 fi
1274 ;;
1275changequote(,)dnl
1276 i[34567]86-sequent-ptx1*)
1277changequote([,])dnl
1278 xm_defines="USG SVR3"
1279 xmake_file=i386/x-sysv3
1280 tm_file=i386/seq-sysv3.h
1281 tmake_file=i386/t-crtstuff
1282 extra_parts="crtbegin.o crtend.o"
1283 install_headers_dir=install-headers-cpio
1284 ;;
1285changequote(,)dnl
1286 i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
1287changequote([,])dnl
1288 xm_defines="USG SVR3"
1289 xmake_file=i386/x-sysv3
1290 tm_file=i386/seq2-sysv3.h
1291 tmake_file=i386/t-crtstuff
1292 extra_parts="crtbegin.o crtend.o"
1293 install_headers_dir=install-headers-cpio
1294 ;;
1295changequote(,)dnl
1296 i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
1297changequote([,])dnl
1298 xm_file="xm-alloca.h ${xm_file}"
1299 xm_defines="USG POSIX SMALL_ARG_MAX"
1300 xmake_file=x-svr4
1301 tm_file=i386/ptx4-i.h
1302 tmake_file=t-svr4
1303 extra_parts="crtbegin.o crtend.o"
1304 install_headers_dir=install-headers-cpio
1305 ;;
1306 i386-sun-sunos*) # Sun i386 roadrunner
1307 xm_defines=USG
1308 tm_file=i386/sun.h
1309 use_collect2=yes
1310 ;;
1311changequote(,)dnl
1312 i[34567]86-wrs-vxworks*)
1313changequote([,])dnl
1314 tm_file=i386/vxi386.h
1315 tmake_file=i386/t-i386bare
1316 thread_file='vxworks'
1317 ;;
1318changequote(,)dnl
1319 i[34567]86-*-aout*)
1320changequote([,])dnl
1321 tm_file=i386/i386-aout.h
1322 tmake_file=i386/t-i386bare
1323 ;;
1324changequote(,)dnl
1325 i[34567]86-*-beospe*)
1326changequote([,])dnl
1327 xm_file=i386/xm-beos.h
1328 xm_defines="USE_C_ALLOCA"
1329 tmake_file=i386/t-beos
1330 tm_file=i386/beos-pe.h
1331 xmake_file=i386/x-beos
1332 extra_objs=winnt.o
1333 ;;
1334changequote(,)dnl
1335 i[34567]86-*-beoself* | i[34567]86-*-beos*)
1336changequote([,])dnl
1337 xm_file=i386/xm-beos.h
1338 tmake_file='i386/t-beos i386/t-crtpic'
1339 tm_file=i386/beos-elf.h
1340 xmake_file=i386/x-beos
1341 extra_objs=winnt.o
1342 extra_parts='crtbegin.o crtend.o'
1343 ;;
1344changequote(,)dnl
1345 i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
1346changequote([,])dnl
1347 tm_file=i386/bsd386.h
1348# tmake_file=t-libc-ok
1349 ;;
1350changequote(,)dnl
1351 i[34567]86-*-bsd*)
1352changequote([,])dnl
1353 tm_file=i386/386bsd.h
1354# tmake_file=t-libc-ok
1355# Next line turned off because both 386BSD and BSD/386 use GNU ld.
1356# use_collect2=yes
1357 ;;
1358changequote(,)dnl
1359 i[34567]86-*-freebsdelf*)
1360changequote([,])dnl
1361 tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
1362 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1363 tmake_file=t-freebsd
1364 gas=yes
1365 gnu_ld=yes
1366 stabs=yes
1367 case x${enable_threads} in
1368 xyes | xpthreads | xposix)
1369 thread_file='posix'
1370 tmake_file="${tmake_file} t-freebsd-thread"
1371 ;;
1372 esac
1373 ;;
1374changequote(,)dnl
1375 i[34567]86-*-freebsd*)
1376changequote([,])dnl
1377 tm_file="i386/freebsd.h i386/perform.h"
1378 tmake_file=t-freebsd
1379 ;;
1380changequote(,)dnl
1381 i[34567]86-*-netbsd*)
1382changequote([,])dnl
1383 tm_file=i386/netbsd.h
1384 tmake_file=t-netbsd
1385 use_collect2=yes
1386 ;;
1387changequote(,)dnl
1388 i[34567]86-*-openbsd*)
1389changequote([,])dnl
1390 # we need collect2 until our bug is fixed...
1391 use_collect2=yes
1392 ;;
1393changequote(,)dnl
1394 i[34567]86-*-coff*)
1395changequote([,])dnl
1396 tm_file=i386/i386-coff.h
1397 tmake_file=i386/t-i386bare
1398 ;;
1399changequote(,)dnl
1400 i[34567]86-*-isc*) # 80386 running ISC system
1401changequote([,])dnl
1402 xm_file="${xm_file} i386/xm-isc.h"
1403 xm_defines="USG SVR3"
1404 case $machine in
1405changequote(,)dnl
1406 i[34567]86-*-isc[34]*)
1407changequote([,])dnl
1408 xmake_file=i386/x-isc3
1409 ;;
1410 *)
1411 xmake_file=i386/x-isc
1412 ;;
1413 esac
1414 if test x$gas = xyes -a x$stabs = xyes
1415 then
1416 tm_file=i386/iscdbx.h
1417 tmake_file=i386/t-svr3dbx
1418 extra_parts="svr3.ifile svr3z.ifile"
1419 else
1420 tm_file=i386/isccoff.h
1421 tmake_file=i386/t-crtstuff
1422 extra_parts="crtbegin.o crtend.o"
1423 fi
1424 install_headers_dir=install-headers-cpio
1425 ;;
1426changequote(,)dnl
1427 i[34567]86-*-linux-gnuoldld*) # Intel 80386's running GNU/Linux
1428changequote([,])dnl # with a.out format using
1429 # pre BFD linkers
1430 xmake_file=x-linux-aout
1431 tmake_file="t-linux-aout i386/t-crtstuff"
1432 tm_file=i386/linux-oldld.h
1433 gnu_ld=yes
1434 float_format=i386
1435 ;;
1436changequote(,)dnl
1437 i[34567]86-*-linux-gnuaout*) # Intel 80386's running GNU/Linux
1438changequote([,])dnl # with a.out format
1439 xmake_file=x-linux-aout
1440 tmake_file="t-linux-aout i386/t-crtstuff"
1441 tm_file=i386/linux-aout.h
1442 gnu_ld=yes
1443 float_format=i386
1444 ;;
1445changequote(,)dnl
1446 i[34567]86-*-linux-gnulibc1) # Intel 80386's running GNU/Linux
1447changequote([,])dnl # with ELF format using the
1448 # GNU/Linux C library 5
1449 xmake_file=x-linux
1450 tm_file=i386/linux.h
1451 tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
1452 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1453 gnu_ld=yes
1454 float_format=i386
1455 if test x$enable_threads = xyes; then
1456 thread_file='single'
1457 fi
1458 ;;
1459changequote(,)dnl
1460 i[34567]86-*-linux-gnu*) # Intel 80386's running GNU/Linux
1461changequote([,])dnl # with ELF format using glibc 2
1462 # aka GNU/Linux C library 6
1463 xmake_file=x-linux
1464 tm_file=i386/linux.h
1465 tmake_file="t-linux i386/t-crtstuff"
1466 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1467 gnu_ld=yes
1468 float_format=i386
1469 if test x$enable_threads = xyes; then
1470 thread_file='posix'
1471 fi
1472 ;;
1473changequote(,)dnl
1474 i[34567]86-*-gnu*)
1475 float_format=i386
1476changequote([,])dnl
1477 ;;
1478changequote(,)dnl
1479 i[34567]86-go32-msdos | i[34567]86-*-go32*)
1480changequote([,])dnl
1481 echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
1482 exit 1
1483 ;;
1484changequote(,)dnl
1485 i[34567]86-pc-msdosdjgpp*)
1486changequote([,])dnl
1487 xm_file=i386/xm-djgpp.h
1488 tm_file=i386/djgpp.h
1489 tmake_file=i386/t-djgpp
1490 xmake_file=i386/x-djgpp
1491 gnu_ld=yes
1492 gas=yes
1493 exeext=.exe
1494 case $host in *pc-msdosdjgpp*)
1495 target_alias=djgpp
1496 ;;
1497 esac
1498 ;;
1499changequote(,)dnl
1500 i[34567]86-moss-msdos* | i[34567]86-*-moss*)
1501changequote([,])dnl
1502 tm_file=i386/moss.h
1503 tmake_file=t-libc-ok
1504 gnu_ld=yes
1505 gas=yes
1506 ;;
1507changequote(,)dnl
1508 i[34567]86-*-lynxos*)
1509changequote([,])dnl
1510 if test x$gas = xyes
1511 then
1512 tm_file=i386/lynx.h
1513 else
1514 tm_file=i386/lynx-ng.h
1515 fi
1516 xm_file=i386/xm-lynx.h
1517 tmake_file=i386/t-i386bare
1518 xmake_file=x-lynx
1519 ;;
1520changequote(,)dnl
1521 i[34567]86-*-mach*)
1522changequote([,])dnl
1523 tm_file=i386/mach.h
1524# tmake_file=t-libc-ok
1525 use_collect2=yes
1526 ;;
1527changequote(,)dnl
1528 i[34567]86-*-osfrose*) # 386 using OSF/rose
1529changequote([,])dnl
1530 if test x$elf = xyes
1531 then
1532 tm_file=i386/osfelf.h
1533 use_collect2=
1534 else
1535 tm_file=i386/osfrose.h
1536 use_collect2=yes
1537 fi
1538 xm_file="i386/xm-osf.h ${xm_file}"
1539 xmake_file=i386/x-osfrose
1540 tmake_file=i386/t-osf
1541 extra_objs=halfpic.o
1542 ;;
1543changequote(,)dnl
1544 i[34567]86-go32-rtems*)
1545changequote([,])dnl
1546 cpu_type=i386
1547 xm_file=i386/xm-go32.h
1548 tm_file=i386/go32-rtems.h
1549 tmake_file="i386/t-go32 t-rtems"
1550 ;;
1551changequote(,)dnl
1552 i[34567]86-*-rtemscoff*)
1553changequote([,])dnl
1554 cpu_type=i386
1555 tm_file=i386/rtems.h
1556 tmake_file="i386/t-i386bare t-rtems"
1557 ;;
1558changequote(,)dnl
1559 i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
1560changequote([,])dnl
1561 cpu_type=i386
1562 tm_file=i386/rtemself.h
1563 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
1564 tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
1565 ;;
1566changequote(,)dnl
1567 i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
1568changequote([,])dnl
1569 xm_file="xm-alloca.h ${xm_file} i386/xm-sco5.h"
1570 xm_defines="USG SVR3"
1571 xmake_file=i386/x-sco5
1572 install_headers_dir=install-headers-cpio
1573 tm_file=i386/sco5.h
1574 if test x$gas = xyes
1575 then
1576 tm_file="i386/sco5gas.h ${tm_file}"
1577 tmake_file=i386/t-sco5gas
1578 else
1579 tmake_file=i386/t-sco5
1580 fi
1581 extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
1582 ;;
1583changequote(,)dnl
1584 i[34567]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system
1585changequote([,])dnl
1586 xm_file="${xm_file} i386/xm-sco.h"
1587 xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX"
1588 xmake_file=i386/x-sco4
1589 install_headers_dir=install-headers-cpio
1590 if test x$stabs = xyes
1591 then
1592 tm_file=i386/sco4dbx.h
1593 tmake_file=i386/t-svr3dbx
1594 extra_parts="svr3.ifile svr3z.rfile"
1595 else
1596 tm_file=i386/sco4.h
1597 tmake_file=i386/t-crtstuff
1598 extra_parts="crtbegin.o crtend.o"
1599 fi
1600 # The default EAFS filesystem supports long file names.
1601 # Truncating the target makes $host != $target which
1602 # makes gcc think it is doing a cross-compile.
1603 # truncate_target=yes
1604 ;;
1605changequote(,)dnl
1606 i[34567]86-*-sco*) # 80386 running SCO system
1607changequote([,])dnl
1608 xm_file=i386/xm-sco.h
1609 xmake_file=i386/x-sco
1610 install_headers_dir=install-headers-cpio
1611 if test x$stabs = xyes
1612 then
1613 tm_file=i386/scodbx.h
1614 tmake_file=i386/t-svr3dbx
1615 extra_parts="svr3.ifile svr3z.rfile"
1616 else
1617 tm_file=i386/sco.h
1618 extra_parts="crtbegin.o crtend.o"
1619 tmake_file=i386/t-crtstuff
1620 fi
1621 truncate_target=yes
1622 ;;
1623changequote(,)dnl
1624 i[34567]86-*-solaris2*)
1625changequote([,])dnl
1626 xm_file="xm-alloca.h ${xm_file}"
1627 xm_defines="USG POSIX SMALL_ARG_MAX"
1628 tm_file=i386/sol2.h
1629 if test x$gas = xyes; then
1630 # Only needed if gas does not support -s
1631 tm_file="i386/sol2gas.h ${tm_file}"
1632 fi
1633 tmake_file=i386/t-sol2
1634 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
1635 xmake_file=x-svr4
1636 if test x${enable_threads} = x; then
1637 enable_threads=$have_pthread_h
1638 if test x${enable_threads} = x; then
1639 enable_threads=$have_thread_h
1640 fi
1641 fi
1642 if test x${enable_threads} = xyes; then
1643 if test x${have_pthread_h} = xyes; then
1644 thread_file='posix'
1645 else
1646 thread_file='solaris'
1647 fi
1648 fi
1649 ;;
1650changequote(,)dnl
1651 i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
1652changequote([,])dnl
1653 xm_file="xm-alloca.h ${xm_file}"
1654 xm_defines="USG POSIX"
1655 tm_file=i386/sysv5.h
1656 if test x$stabs = xyes
1657 then
1658 tm_file="${tm_file} dbx.h"
1659 fi
1660 tmake_file=i386/t-crtpic
1661 xmake_file=x-svr4
1662 extra_parts="crtbegin.o crtend.o"
1663 if test x$enable_threads = xyes; then
1664 thread_file='posix'
1665 fi
1666 ;;
1667changequote(,)dnl
1668 i[34567]86-*-sysv4*) # Intel 80386's running system V.4
1669changequote([,])dnl
1670 xm_file="xm-alloca.h ${xm_file}"
1671 xm_defines="USG POSIX SMALL_ARG_MAX"
1672 tm_file=i386/sysv4.h
1673 if test x$stabs = xyes
1674 then
1675 tm_file="${tm_file} dbx.h"
1676 fi
1677 tmake_file=i386/t-crtpic
1678 xmake_file=x-svr4
1679 extra_parts="crtbegin.o crtend.o"
1680 ;;
1681changequote(,)dnl
1682 i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit
1683changequote([,])dnl
1684 xm_file="xm-alloca.h ${xm_file}"
1685 xm_defines="USG POSIX"
1686 tm_file=i386/udk.h
1687 tmake_file="i386/t-crtpic i386/t-udk"
1688 xmake_file=x-svr4
1689 extra_parts="crtbegin.o crtend.o"
1690 install_headers_dir=install-headers-cpio
1691 ;;
1692changequote(,)dnl
1693 i[34567]86-*-osf1*) # Intel 80386's running OSF/1 1.3+
1694changequote([,])dnl
1695 cpu_type=i386
1696 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h i386/xm-osf1elf.h"
1697 xm_defines="USE_C_ALLOCA SMALL_ARG_MAX"
1698 if test x$stabs = xyes
1699 then
1700 tm_file=i386/osf1elfgdb.h
1701 else
1702 tm_file=i386/osf1elf.h
1703 fi
1704 tmake_file=i386/t-osf1elf
1705 xmake_file=i386/x-osf1elf
1706 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
1707 ;;
1708changequote(,)dnl
1709 i[34567]86-*-sysv*) # Intel 80386's running system V
1710changequote([,])dnl
1711 xm_defines="USG SVR3"
1712 xmake_file=i386/x-sysv3
1713 if test x$gas = xyes
1714 then
1715 if test x$stabs = xyes
1716 then
1717 tm_file=i386/svr3dbx.h
1718 tmake_file=i386/t-svr3dbx
1719 extra_parts="svr3.ifile svr3z.rfile"
1720 else
1721 tm_file=i386/svr3gas.h
1722 extra_parts="crtbegin.o crtend.o"
1723 tmake_file=i386/t-crtstuff
1724 fi
1725 else
1726 tm_file=i386/sysv3.h
1727 extra_parts="crtbegin.o crtend.o"
1728 tmake_file=i386/t-crtstuff
1729 fi
1730 ;;
1731 i386-*-vsta) # Intel 80386's running VSTa kernel
1732 xm_file="${xm_file} i386/xm-vsta.h"
1733 tm_file=i386/vsta.h
1734 tmake_file=i386/t-vsta
1735 xmake_file=i386/x-vsta
1736 ;;
1737changequote(,)dnl
1738 i[34567]86-*-win32)
1739changequote([,])dnl
1740 xm_file="${xm_file} i386/xm-cygwin.h"
1741 tmake_file=i386/t-cygwin
1742 tm_file=i386/win32.h
1743 xmake_file=i386/x-cygwin
1744 extra_objs=winnt.o
1745 if test x$enable_threads = xyes; then
1746 thread_file='win32'
1747 fi
1748 exeext=.exe
1749 ;;
1750changequote(,)dnl
1751 i[34567]86-*-pe | i[34567]86-*-cygwin*)
1752changequote([,])dnl
1753 xm_file="${xm_file} i386/xm-cygwin.h"
1754 tmake_file=i386/t-cygwin
1755 tm_file=i386/cygwin.h
1756 xmake_file=i386/x-cygwin
1757 extra_objs=winnt.o
1758 if test x$enable_threads = xyes; then
1759 thread_file='win32'
1760 fi
1761 exeext=.exe
1762 ;;
1763changequote(,)dnl
1764 i[34567]86-*-mingw32*)
1765changequote([,])dnl
1766 tm_file=i386/mingw32.h
1767 xm_file="${xm_file} i386/xm-mingw32.h"
1768 tmake_file="i386/t-cygwin i386/t-mingw32"
1769 extra_objs=winnt.o
1770 xmake_file=i386/x-cygwin
1771 if test x$enable_threads = xyes; then
1772 thread_file='win32'
1773 fi
1774 exeext=.exe
1775 case $machine in
1776 *mingw32msv*)
1777 ;;
1778 *minwg32crt* | *mingw32*)
1779 tm_file="${tm_file} i386/crtdll.h"
1780 ;;
1781 esac
1782 ;;
1783changequote(,)dnl
1784 i[34567]86-*-uwin*)
1785changequote([,])dnl
1786 tm_file=i386/uwin.h
1787 xm_file="${xm_file} i386/xm-uwin.h"
1788 xm_defines="USG NO_STAB_H"
1789 tmake_file="i386/t-cygwin i386/t-uwin"
1790 extra_objs=winnt.o
1791 xmake_file=i386/x-cygwin
1792 if test x$enable_threads = xyes; then
1793 thread_file='win32'
1794 fi
1795 exeext=.exe
1796 ;;
1797changequote(,)dnl
1798 i[34567]86-*-interix*)
1799changequote([,])dnl
1800 tm_file="i386/i386-interix.h interix.h"
1801 xm_file="i386/xm-i386-interix.h xm-interix.h"
1802 xm_defines="USG"
1803 tmake_file="i386/t-interix"
1804 extra_objs=interix.o
1805 xmake_file=x-interix
1806 if test x$enable_threads = xyes ; then
1807 thread_file='posix'
1808 fi
1809 if test x$stabs = xyes ; then
1810 tm_file="${tm_file} dbxcoff.h"
1811 fi
1812 ;;
1813changequote(,)dnl
1814 i[34567]86-*-winnt3*)
1815changequote([,])dnl
1816 tm_file=i386/win-nt.h
1817 out_file=i386/i386.c
1818 xm_file="xm-winnt.h ${xm_file}"
1819 xmake_file=winnt/x-winnt
1820 tmake_file=i386/t-winnt
1821 extra_host_objs="winnt.o oldnames.o"
1822 extra_gcc_objs="spawnv.o oldnames.o"
1823 if test x$gnu_ld != xyes
1824 then
1825 extra_programs=ld.exe
1826 fi
1827 if test x$enable_threads = xyes; then
1828 thread_file='win32'
1829 fi
1830 ;;
1831changequote(,)dnl
1832 i[34567]86-dg-dgux*)
1833changequote([,])dnl
1834 xm_file="xm-alloca.h ${xm_file}"
1835 xm_defines="USG POSIX"
1836 out_file=i386/dgux.c
1837 tm_file=i386/dgux.h
1838 tmake_file=i386/t-dgux
1839 xmake_file=i386/x-dgux
1840 install_headers_dir=install-headers-cpio
1841 ;;
1842 i860-alliant-*) # Alliant FX/2800
1843 tm_file="${tm_file} svr4.h i860/sysv4.h i860/fx2800.h"
1844 xm_file="${xm_file}"
1845 xmake_file=i860/x-fx2800
1846 tmake_file=i860/t-fx2800
1847 extra_parts="crtbegin.o crtend.o"
1848 ;;
1849 i860-*-bsd*)
1850 tm_file="${tm_file} i860/bsd.h"
1851 if test x$gas = xyes
1852 then
1853 tm_file="${tm_file} i860/bsd-gas.h"
1854 fi
1855 use_collect2=yes
1856 ;;
1857 i860-*-mach*)
1858 tm_file="${tm_file} i860/mach.h"
1859 tmake_file=t-libc-ok
1860 ;;
1861 i860-*-osf*) # Intel Paragon XP/S, OSF/1AD
1862 tm_file="${tm_file} svr3.h i860/paragon.h"
1863 xm_defines="USG SVR3"
1864 tmake_file=t-osf
1865 ;;
1866 i860-*-sysv3*)
1867 tm_file="${tm_file} svr3.h i860/sysv3.h"
1868 xm_defines="USG SVR3"
1869 xmake_file=i860/x-sysv3
1870 extra_parts="crtbegin.o crtend.o"
1871 ;;
1872 i860-*-sysv4*)
1873 tm_file="${tm_file} svr4.h i860/sysv4.h"
1874 xm_defines="USG SVR3"
1875 xmake_file=i860/x-sysv4
1876 tmake_file=t-svr4
1877 extra_parts="crtbegin.o crtend.o"
1878 ;;
1879 i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
1880 tm_file="${tm_file} i960/vx960.h"
1881 tmake_file=i960/t-vxworks960
1882 use_collect2=yes
1883 thread_file='vxworks'
1884 ;;
1885 i960-wrs-vxworks5* | i960-wrs-vxworks)
1886 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
1887 tmake_file=i960/t-vxworks960
1888 use_collect2=yes
1889 thread_file='vxworks'
1890 ;;
1891 i960-wrs-vxworks*)
1892 tm_file="${tm_file} i960/vx960.h"
1893 tmake_file=i960/t-vxworks960
1894 use_collect2=yes
1895 thread_file='vxworks'
1896 ;;
1897 i960-*-coff*)
1898 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1899 tmake_file=i960/t-960bare
1900 use_collect2=yes
1901 ;;
1902 i960-*-rtems)
1903 tmake_file="i960/t-960bare t-rtems"
1904 tm_file="${tm_file} dbxcoff.h i960/rtems.h"
1905 use_collect2=yes
1906 ;;
1907 i960-*-*) # Default i960 environment.
1908 use_collect2=yes
1909 ;;
1910 ia64*-*-elf*)
1911 tm_file=ia64/elf.h
1912 tmake_file="ia64/t-ia64"
1913 target_cpu_default="0"
1914 if test x$gas = xyes
1915 then
1916 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1917 fi
1918 if test x$gnu_ld = xyes
1919 then
1920 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1921 fi
1922 ;;
1923 ia64*-*-linux*)
1924 tm_file=ia64/linux.h
1925 tmake_file="t-linux ia64/t-ia64"
1926 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1927 if test x$enable_threads = xyes; then
1928 thread_file='posix'
1929 fi
1930 ;;
1931 m32r-*-elf*)
1932 extra_parts="crtinit.o crtfini.o"
1933 ;;
1934 m68000-convergent-sysv*)
1935 tm_file=m68k/ctix.h
1936 xm_file="m68k/xm-3b1.h ${xm_file}"
1937 xm_defines=USG
1938 use_collect2=yes
1939 extra_headers=math-68881.h
1940 ;;
1941 m68000-hp-bsd*) # HP 9000/200 running BSD
1942 tm_file=m68k/hp2bsd.h
1943 xmake_file=m68k/x-hp2bsd
1944 use_collect2=yes
1945 extra_headers=math-68881.h
1946 ;;
1947 m68000-hp-hpux*) # HP 9000 series 300
1948 xm_file="xm-alloca.h ${xm_file}"
1949 xm_defines="USG"
1950 if test x$gas = xyes
1951 then
1952 xmake_file=m68k/x-hp320g
1953 tm_file=m68k/hp310g.h
1954 else
1955 xmake_file=m68k/x-hp320
1956 tm_file=m68k/hp310.h
1957 fi
1958 install_headers_dir=install-headers-cpio
1959 use_collect2=yes
1960 extra_headers=math-68881.h
1961 ;;
1962 m68000-sun-sunos3*)
1963 tm_file=m68k/sun2.h
1964 use_collect2=yes
1965 extra_headers=math-68881.h
1966 ;;
1967 m68000-sun-sunos4*)
1968 tm_file=m68k/sun2o4.h
1969 use_collect2=yes
1970 extra_headers=math-68881.h
1971 ;;
1972 m68000-att-sysv*)
1973 xm_file="m68k/xm-3b1.h ${xm_file}"
1974 xm_defines=USG
1975 if test x$gas = xyes
1976 then
1977 tm_file=m68k/3b1g.h
1978 else
1979 tm_file=m68k/3b1.h
1980 fi
1981 use_collect2=yes
1982 extra_headers=math-68881.h
1983 ;;
1984 m68k-apple-aux*) # Apple Macintosh running A/UX
1985 xm_defines="USG AUX"
1986 tmake_file=m68k/t-aux
1987 install_headers_dir=install-headers-cpio
1988 extra_headers=math-68881.h
1989 extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
1990 tm_file=
1991 if test "$gnu_ld" = yes
1992 then
1993 tm_file="${tm_file} m68k/auxgld.h"
1994 else
1995 tm_file="${tm_file} m68k/auxld.h"
1996 fi
1997 if test "$gas" = yes
1998 then
1999 tm_file="${tm_file} m68k/auxgas.h"
2000 else
2001 tm_file="${tm_file} m68k/auxas.h"
2002 fi
2003 tm_file="${tm_file} m68k/a-ux.h"
2004 float_format=m68k
2005 ;;
2006 m68k-apollo-*)
2007 tm_file=m68k/apollo68.h
2008 xmake_file=m68k/x-apollo68
2009 use_collect2=yes
2010 extra_headers=math-68881.h
2011 float_format=m68k
2012 ;;
2013 m68k-altos-sysv*) # Altos 3068
2014 if test x$gas = xyes
2015 then
2016 tm_file=m68k/altos3068.h
2017 xm_defines=USG
2018 else
2019 echo "The Altos is supported only with the GNU assembler" 1>&2
2020 exit 1
2021 fi
2022 extra_headers=math-68881.h
2023 ;;
2024 m68k-bull-sysv*) # Bull DPX/2
2025 if test x$gas = xyes
2026 then
2027 if test x$stabs = xyes
2028 then
2029 tm_file=m68k/dpx2cdbx.h
2030 else
2031 tm_file=m68k/dpx2g.h
2032 fi
2033 else
2034 tm_file=m68k/dpx2.h
2035 fi
2036 xm_file="xm-alloca.h ${xm_file}"
2037 xm_defines=USG
2038 xmake_file=m68k/x-dpx2
2039 use_collect2=yes
2040 extra_headers=math-68881.h
2041 ;;
2042 m68k-atari-sysv4*) # Atari variant of V.4.
2043 tm_file=m68k/atari.h
2044 xm_file="xm-alloca.h ${xm_file}"
2045 xm_defines="USG FULL_PROTOTYPES"
2046 tmake_file=t-svr4
2047 extra_parts="crtbegin.o crtend.o"
2048 extra_headers=math-68881.h
2049 float_format=m68k
2050 ;;
2051 m68k-motorola-sysv*)
2052 tm_file=m68k/mot3300.h
2053 xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
2054 if test x$gas = xyes
2055 then
2056 xmake_file=m68k/x-mot3300-gas
2057 if test x$gnu_ld = xyes
2058 then
2059 tmake_file=m68k/t-mot3300-gald
2060 else
2061 tmake_file=m68k/t-mot3300-gas
2062 use_collect2=yes
2063 fi
2064 else
2065 xmake_file=m68k/x-mot3300
2066 if test x$gnu_ld = xyes
2067 then
2068 tmake_file=m68k/t-mot3300-gld
2069 else
2070 tmake_file=m68k/t-mot3300
2071 use_collect2=yes
2072 fi
2073 fi
2074 gdb_needs_out_file_path=yes
2075 extra_parts="crt0.o mcrt0.o"
2076 extra_headers=math-68881.h
2077 float_format=m68k
2078 ;;
2079 m68k-ncr-sysv*) # NCR Tower 32 SVR3
2080 tm_file=m68k/tower-as.h
2081 xm_defines="USG SVR3"
2082 xmake_file=m68k/x-tower
2083 extra_parts="crtbegin.o crtend.o"
2084 extra_headers=math-68881.h
2085 ;;
2086 m68k-plexus-sysv*)
2087 tm_file=m68k/plexus.h
2088 xm_file="xm-alloca.h m68k/xm-plexus.h ${xm_file}"
2089 xm_defines=USG
2090 use_collect2=yes
2091 extra_headers=math-68881.h
2092 ;;
2093 m68k-tti-*)
2094 tm_file=m68k/pbb.h
2095 xm_file="xm-alloca.h ${xm_file}"
2096 xm_defines=USG
2097 extra_headers=math-68881.h
2098 ;;
2099 m68k-crds-unos*)
2100 xm_file="xm-alloca.h m68k/xm-crds.h ${xm_file}"
2101 xm_defines="USG unos"
2102 xmake_file=m68k/x-crds
2103 tm_file=m68k/crds.h
2104 use_collect2=yes
2105 extra_headers=math-68881.h
2106 ;;
2107 m68k-cbm-sysv4*) # Commodore variant of V.4.
2108 tm_file=m68k/amix.h
2109 xm_file="xm-alloca.h ${xm_file}"
2110 xm_defines="USG FULL_PROTOTYPES"
2111 xmake_file=m68k/x-amix
2112 tmake_file=t-svr4
2113 extra_parts="crtbegin.o crtend.o"
2114 extra_headers=math-68881.h
2115 float_format=m68k
2116 ;;
2117 m68k-ccur-rtu)
2118 tm_file=m68k/ccur-GAS.h
2119 xmake_file=m68k/x-ccur
2120 extra_headers=math-68881.h
2121 use_collect2=yes
2122 float_format=m68k
2123 ;;
2124 m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd
2125 tm_file=m68k/hp3bsd44.h
2126 xmake_file=m68k/x-hp3bsd44
2127 use_collect2=yes
2128 extra_headers=math-68881.h
2129 float_format=m68k
2130 ;;
2131 m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix
2132 tm_file=m68k/hp3bsd.h
2133 use_collect2=yes
2134 extra_headers=math-68881.h
2135 float_format=m68k
2136 ;;
2137 m68k-isi-bsd*)
2138 if test x$with_fp = xno
2139 then
2140 tm_file=m68k/isi-nfp.h
2141 else
2142 tm_file=m68k/isi.h
2143 float_format=m68k
2144 fi
2145 use_collect2=yes
2146 extra_headers=math-68881.h
2147 ;;
2148 m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
2149 xm_file="xm-alloca.h ${xm_file}"
2150 xm_defines="USG"
2151 if test x$gas = xyes
2152 then
2153 xmake_file=m68k/x-hp320g
2154 tm_file=m68k/hp320g.h
2155 else
2156 xmake_file=m68k/x-hp320
2157 tm_file=m68k/hpux7.h
2158 fi
2159 install_headers_dir=install-headers-cpio
2160 use_collect2=yes
2161 extra_headers=math-68881.h
2162 float_format=m68k
2163 ;;
2164 m68k-hp-hpux*) # HP 9000 series 300
2165 xm_file="xm-alloca.h ${xm_file}"
2166 xm_defines="USG"
2167 if test x$gas = xyes
2168 then
2169 xmake_file=m68k/x-hp320g
2170 tm_file=m68k/hp320g.h
2171 else
2172 xmake_file=m68k/x-hp320
2173 tm_file=m68k/hp320.h
2174 fi
2175 install_headers_dir=install-headers-cpio
2176 use_collect2=yes
2177 extra_headers=math-68881.h
2178 float_format=m68k
2179 ;;
2180 m68k-sun-mach*)
2181 tm_file=m68k/sun3mach.h
2182 use_collect2=yes
2183 extra_headers=math-68881.h
2184 float_format=m68k
2185 ;;
2186 m68k-sony-newsos3*)
2187 if test x$gas = xyes
2188 then
2189 tm_file=m68k/news3gas.h
2190 else
2191 tm_file=m68k/news3.h
2192 fi
2193 use_collect2=yes
2194 extra_headers=math-68881.h
2195 float_format=m68k
2196 ;;
2197 m68k-sony-bsd* | m68k-sony-newsos*)
2198 if test x$gas = xyes
2199 then
2200 tm_file=m68k/newsgas.h
2201 else
2202 tm_file=m68k/news.h
2203 fi
2204 use_collect2=yes
2205 extra_headers=math-68881.h
2206 float_format=m68k
2207 ;;
2208 m68k-next-nextstep2*)
2209 tm_file=m68k/next21.h
2210 xm_file="m68k/xm-next.h ${xm_file}"
2211 tmake_file=m68k/t-next
2212 xmake_file=m68k/x-next
2213 extra_objs=nextstep.o
2214 extra_headers=math-68881.h
2215 use_collect2=yes
2216 float_format=m68k
2217 ;;
2218changequote(,)dnl
2219 m68k-next-nextstep[34]*)
2220changequote([,])dnl
2221 tm_file=m68k/next.h
2222 xm_file="m68k/xm-next.h ${xm_file}"
2223 tmake_file=m68k/t-next
2224 xmake_file=m68k/x-next
2225 extra_objs=nextstep.o
2226 extra_parts="crtbegin.o crtend.o"
2227 extra_headers=math-68881.h
2228 float_format=m68k
2229 if test x$enable_threads = xyes; then
2230 thread_file='mach'
2231 fi
2232 ;;
2233 m68k-sun-sunos3*)
2234 if test x$with_fp = xno
2235 then
2236 tm_file=m68k/sun3n3.h
2237 else
2238 tm_file=m68k/sun3o3.h
2239 float_format=m68k
2240 fi
2241 use_collect2=yes
2242 extra_headers=math-68881.h
2243 ;;
2244 m68k-sun-sunos*) # For SunOS 4 (the default).
2245 if test x$with_fp = xno
2246 then
2247 tm_file=m68k/sun3n.h
2248 else
2249 tm_file=m68k/sun3.h
2250 float_format=m68k
2251 fi
2252 use_collect2=yes
2253 extra_headers=math-68881.h
2254 ;;
2255 m68k-wrs-vxworks*)
2256 tm_file=m68k/vxm68k.h
2257 tmake_file=m68k/t-vxworks68
2258 extra_headers=math-68881.h
2259 thread_file='vxworks'
2260 float_format=m68k
2261 ;;
2262 m68k-*-aout*)
2263 tmake_file=m68k/t-m68kbare
2264 tm_file="m68k/m68k-aout.h libgloss.h"
2265 extra_headers=math-68881.h
2266 float_format=m68k
2267 ;;
2268 m68k-*-coff*)
2269 tmake_file=m68k/t-m68kbare
2270 tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
2271 extra_headers=math-68881.h
2272 float_format=m68k
2273 ;;
2274 m68020-*-elf* | m68k-*-elf*)
2275 tm_file="m68k/m68020-elf.h"
2276 xm_file=m68k/xm-m68kv.h
2277 tmake_file=m68k/t-m68kelf
2278 header_files=math-68881.h
2279 ;;
2280 m68k-*-lynxos*)
2281 if test x$gas = xyes
2282 then
2283 tm_file=m68k/lynx.h
2284 else
2285 tm_file=m68k/lynx-ng.h
2286 fi
2287 xm_file=m68k/xm-lynx.h
2288 xmake_file=x-lynx
2289 tmake_file=m68k/t-lynx
2290 extra_headers=math-68881.h
2291 float_format=m68k
2292 ;;
2293 m68k*-*-netbsd*)
2294 tm_file=m68k/netbsd.h
2295 tmake_file=t-netbsd
2296 float_format=m68k
2297 use_collect2=yes
2298 ;;
2299 m68k*-*-openbsd*)
2300 float_format=m68k
2301 # we need collect2 until our bug is fixed...
2302 use_collect2=yes
2303 ;;
2304 m68k-*-sysv3*) # Motorola m68k's running system V.3
2305 xm_file="xm-alloca.h ${xm_file}"
2306 xm_defines=USG
2307 xmake_file=m68k/x-m68kv
2308 extra_parts="crtbegin.o crtend.o"
2309 extra_headers=math-68881.h
2310 float_format=m68k
2311 ;;
2312 m68k-*-sysv4*) # Motorola m68k's running system V.4
2313 tm_file=m68k/m68kv4.h
2314 xm_file="xm-alloca.h ${xm_file}"
2315 xm_defines=USG
2316 tmake_file=t-svr4
2317 extra_parts="crtbegin.o crtend.o"
2318 extra_headers=math-68881.h
2319 float_format=m68k
2320 ;;
2321 m68k-*-linux-gnuaout*) # Motorola m68k's running GNU/Linux
2322 # with a.out format
2323 xmake_file=x-linux
2324 tm_file=m68k/linux-aout.h
2325 tmake_file="t-linux-aout m68k/t-linux-aout"
2326 extra_headers=math-68881.h
2327 float_format=m68k
2328 gnu_ld=yes
2329 ;;
2330 m68k-*-linux-gnulibc1) # Motorola m68k's running GNU/Linux
2331 # with ELF format using the
2332 # GNU/Linux C library 5
2333 xmake_file=x-linux
2334 tm_file=m68k/linux.h
2335 tmake_file="t-linux t-linux-gnulibc1 m68k/t-linux"
2336 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2337 extra_headers=math-68881.h
2338 float_format=m68k
2339 gnu_ld=yes
2340 ;;
2341 m68k-*-linux-gnu*) # Motorola m68k's running GNU/Linux
2342 # with ELF format using glibc 2
2343 # aka the GNU/Linux C library 6.
2344 xmake_file=x-linux
2345 tm_file=m68k/linux.h
2346 tmake_file="t-linux m68k/t-linux"
2347 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2348 extra_headers=math-68881.h
2349 float_format=m68k
2350 gnu_ld=yes
2351 if test x$enable_threads = xyes; then
2352 thread_file='posix'
2353 fi
2354 ;;
2355 m68k-*-psos*)
2356 tmake_file=m68k/t-m68kbare
2357 tm_file=m68k/m68k-psos.h
2358 extra_headers=math-68881.h
2359 float_format=m68k
2360 ;;
2361 m68k-*-rtemscoff*)
2362 tmake_file="m68k/t-m68kbare t-rtems"
2363 tm_file=m68k/rtems.h
2364 extra_headers=math-68881.h
2365 float_format=m68k
2366 ;;
2367 m68k-*-rtemself*|m68k-*-rtems*)
2368 tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
2369 tm_file=m68k/rtemself.h
2370 extra_headers=math-68881.h
2371 float_format=m68k
2372 ;;
2373 m88k-dg-dgux*)
2374 case $machine in
2375 m88k-dg-dguxbcs*)
2376 tm_file=m88k/dguxbcs.h
2377 tmake_file=m88k/t-dguxbcs
2378 ;;
2379 *)
2380 tm_file=m88k/dgux.h
2381 tmake_file=m88k/t-dgux
2382 ;;
2383 esac
2384 extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
2385 xmake_file=m88k/x-dgux
2386 if test x$gas = xyes
2387 then
2388 tmake_file=m88k/t-dgux-gas
2389 fi
2390 ;;
2391 m88k-dolphin-sysv3*)
2392 tm_file=m88k/dolph.h
2393 extra_parts="crtbegin.o crtend.o"
2394 xm_file="m88k/xm-sysv3.h ${xm_file}"
2395 xmake_file=m88k/x-dolph
2396 if test x$gas = xyes
2397 then
2398 tmake_file=m88k/t-m88k-gas
2399 fi
2400 ;;
2401 m88k-tektronix-sysv3)
2402 tm_file=m88k/tekXD88.h
2403 extra_parts="crtbegin.o crtend.o"
2404 xm_file="m88k/xm-sysv3.h ${xm_file}"
2405 xmake_file=m88k/x-tekXD88
2406 if test x$gas = xyes
2407 then
2408 tmake_file=m88k/t-m88k-gas
2409 fi
2410 ;;
2411 m88k-*-aout*)
2412 tm_file=m88k/m88k-aout.h
2413 ;;
2414 m88k-*-coff*)
2415 tm_file=m88k/m88k-coff.h
2416 tmake_file=m88k/t-bug
2417 ;;
2418 m88k-*-luna*)
2419 tm_file=m88k/luna.h
2420 extra_parts="crtbegin.o crtend.o"
2421 if test x$gas = xyes
2422 then
2423 tmake_file=m88k/t-luna-gas
2424 else
2425 tmake_file=m88k/t-luna
2426 fi
2427 ;;
2428 m88k-*-openbsd*)
2429 tmake_file="${tmake_file} m88k/t-luna-gas"
2430 ;;
2431 m88k-*-sysv3*)
2432 tm_file=m88k/sysv3.h
2433 extra_parts="crtbegin.o crtend.o"
2434 xm_file="m88k/xm-sysv3.h ${xm_file}"
2435 xmake_file=m88k/x-sysv3
2436 if test x$gas = xyes
2437 then
2438 tmake_file=m88k/t-m88k-gas
2439 fi
2440 ;;
2441 m88k-*-sysv4*)
2442 tm_file=m88k/sysv4.h
2443 extra_parts="crtbegin.o crtend.o"
2444 xmake_file=m88k/x-sysv4
2445 tmake_file=m88k/t-sysv4
2446 ;;
2447 mcore-*-elf)
2448 tm_file=mcore/mcore-elf.h
2449 tmake_file=mcore/t-mcore
2450 ;;
2451 mcore-*-pe*)
2452 tm_file=mcore/mcore-pe.h
2453 tmake_file=mcore/t-mcore-pe
2454 ;;
2455 mips-sgi-irix6*) # SGI System V.4., IRIX 6
2456 if test "x$gnu_ld" = xyes
2457 then
2458 tm_file="mips/iris6.h mips/iris6gld.h"
2459 else
2460 tm_file=mips/iris6.h
2461 fi
2462 tmake_file=mips/t-iris6
2463 xm_file=mips/xm-iris6.h
2464 xmake_file=mips/x-iris6
2465# if test x$enable_threads = xyes; then
2466# thread_file='irix'
2467# fi
2468 ;;
2469 mips-wrs-vxworks)
2470 tm_file="mips/elf.h mips/vxworks.h"
2471 tmake_file=mips/t-ecoff
2472 gas=yes
2473 gnu_ld=yes
2474 extra_parts="crtbegin.o crtend.o"
2475 thread_file='vxworks'
2476 ;;
2477 mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
2478 tm_file="mips/iris6.h mips/cross64.h"
2479 xm_defines=USG
2480 xm_file="mips/xm-iris5.h"
2481 xmake_file=mips/x-iris
2482 tmake_file=mips/t-cross64
2483 # See comment in mips/iris[56].h files.
2484 use_collect2=yes
2485# if test x$enable_threads = xyes; then
2486# thread_file='irix'
2487# fi
2488 ;;
2489 mips-sni-sysv4)
2490 if test x$gas = xyes
2491 then
2492 if test x$stabs = xyes
2493 then
2494 tm_file=mips/iris5gdb.h
2495 else
2496 tm_file="mips/sni-svr4.h mips/sni-gas.h"
2497 fi
2498 else
2499 tm_file=mips/sni-svr4.h
2500 fi
2501 xm_defines=USG
2502 xmake_file=mips/x-sni-svr4
2503 tmake_file=mips/t-mips-gas
2504 if test x$gnu_ld != xyes
2505 then
2506 use_collect2=yes
2507 fi
2508 ;;
2509 mips-sgi-irix5*) # SGI System V.4., IRIX 5
2510 if test x$gas = xyes
2511 then
2512 tm_file="mips/iris5.h mips/iris5gas.h"
2513 if test x$stabs = xyes
2514 then
2515 tm_file="${tm_file} dbx.h"
2516 fi
2517 else
2518 tm_file=mips/iris5.h
2519 fi
2520 xm_defines=USG
2521 xm_file="mips/xm-iris5.h"
2522 xmake_file=mips/x-iris
2523 # mips-tfile doesn't work yet
2524 tmake_file=mips/t-mips-gas
2525 # See comment in mips/iris5.h file.
2526 use_collect2=yes
2527# if test x$enable_threads = xyes; then
2528# thread_file='irix'
2529# fi
2530 ;;
2531 mips-sgi-irix4loser*) # Mostly like a MIPS.
2532 tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
2533 if test x$stabs = xyes; then
2534 tm_file="${tm_file} dbx.h"
2535 fi
2536 xm_defines=USG
2537 xmake_file=mips/x-iris
2538 if test x$gas = xyes
2539 then
2540 tmake_file=mips/t-mips-gas
2541 else
2542 extra_passes="mips-tfile mips-tdump"
2543 fi
2544 if test x$gnu_ld != xyes
2545 then
2546 use_collect2=yes
2547 fi
2548# if test x$enable_threads = xyes; then
2549# thread_file='irix'
2550# fi
2551 ;;
2552 mips-sgi-irix4*) # Mostly like a MIPS.
2553 tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
2554 if test x$stabs = xyes; then
2555 tm_file="${tm_file} dbx.h"
2556 fi
2557 xm_defines=USG
2558 xmake_file=mips/x-iris
2559 if test x$gas = xyes
2560 then
2561 tmake_file=mips/t-mips-gas
2562 else
2563 extra_passes="mips-tfile mips-tdump"
2564 fi
2565 if test x$gnu_ld != xyes
2566 then
2567 use_collect2=yes
2568 fi
2569# if test x$enable_threads = xyes; then
2570# thread_file='irix'
2571# fi
2572 ;;
2573 mips-sgi-*) # Mostly like a MIPS.
2574 tm_file="mips/iris3.h ${tm_file}"
2575 if test x$stabs = xyes; then
2576 tm_file="${tm_file} dbx.h"
2577 fi
2578 xm_defines=USG
2579 xmake_file=mips/x-iris3
2580 if test x$gas = xyes
2581 then
2582 tmake_file=mips/t-mips-gas
2583 else
2584 extra_passes="mips-tfile mips-tdump"
2585 fi
2586 if test x$gnu_ld != xyes
2587 then
2588 use_collect2=yes
2589 fi
2590 ;;
2591 mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose.
2592 tm_file="mips/osfrose.h ${tm_file}"
2593 xmake_file=mips/x-osfrose
2594 tmake_file=mips/t-osfrose
2595 extra_objs=halfpic.o
2596 use_collect2=yes
2597 ;;
2598 mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL
2599 tm_file=mips/dec-osf1.h
2600 if test x$stabs = xyes; then
2601 tm_file="${tm_file} dbx.h"
2602 fi
2603 xmake_file=mips/x-dec-osf1
2604 if test x$gas = xyes
2605 then
2606 tmake_file=mips/t-mips-gas
2607 else
2608 tmake_file=mips/t-ultrix
2609 extra_passes="mips-tfile mips-tdump"
2610 fi
2611 if test x$gnu_ld != xyes
2612 then
2613 use_collect2=yes
2614 fi
2615 ;;
2616 mips-dec-bsd*) # Decstation running 4.4 BSD
2617 tm_file=mips/dec-bsd.h
2618 if test x$gas = xyes
2619 then
2620 tmake_file=mips/t-mips-gas
2621 else
2622 tmake_file=mips/t-ultrix
2623 extra_passes="mips-tfile mips-tdump"
2624 fi
2625 if test x$gnu_ld != xyes
2626 then
2627 use_collect2=yes
2628 fi
2629 ;;
2630 mipsel-*-netbsd* | mips-dec-netbsd*) # Decstation running NetBSD
2631 tm_file=mips/netbsd.h
2632 # On NetBSD, the headers are already okay, except for math.h.
2633 tmake_file=t-netbsd
2634 ;;
2635 mips*-*-linux*) # Linux MIPS, either endian.
2636 xmake_file=x-linux
2637 case $machine in
2638 mipsel-*) tm_file="mips/elfl.h mips/linux.h" ;;
2639 *) tm_file="mips/elf.h mips/linux.h" ;;
2640 esac
2641 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2642 gnu_ld=yes
2643 gas=yes
2644 if test x$enable_threads = xyes; then
2645 thread_file='posix'
2646 fi
2647 ;;
2648 mips*el-*-openbsd*) # mips little endian
2649 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2650 ;;
2651 mips*-*-openbsd*) # mips big endian
2652 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2653 tm_file="mips/openbsd-be.h ${tm_file}"
2654 ;;
2655 mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
2656 tm_file="mips/news4.h ${tm_file}"
2657 if test x$stabs = xyes; then
2658 tm_file="${tm_file} dbx.h"
2659 fi
2660 if test x$gas = xyes
2661 then
2662 tmake_file=mips/t-mips-gas
2663 else
2664 extra_passes="mips-tfile mips-tdump"
2665 fi
2666 if test x$gnu_ld != xyes
2667 then
2668 use_collect2=yes
2669 fi
2670 xmake_file=mips/x-sony
2671 ;;
2672 mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0.
2673 # That is based on svr4.
2674 # t-svr4 is not right because this system doesn't use ELF.
2675 tm_file="mips/news5.h ${tm_file}"
2676 if test x$stabs = xyes; then
2677 tm_file="${tm_file} dbx.h"
2678 fi
2679 xm_defines=USG
2680 if test x$gas = xyes
2681 then
2682 tmake_file=mips/t-mips-gas
2683 else
2684 extra_passes="mips-tfile mips-tdump"
2685 fi
2686 if test x$gnu_ld != xyes
2687 then
2688 use_collect2=yes
2689 fi
2690 ;;
2691 mips-tandem-sysv4*) # Tandem S2 running NonStop UX
2692 tm_file="mips/svr4-5.h mips/svr4-t.h"
2693 if test x$stabs = xyes; then
2694 tm_file="${tm_file} dbx.h"
2695 fi
2696 xm_defines=USG
2697 xmake_file=mips/x-sysv
2698 if test x$gas = xyes
2699 then
2700 tmake_file=mips/t-mips-gas
2701 extra_parts="crtbegin.o crtend.o"
2702 else
2703 tmake_file=mips/t-mips
2704 extra_passes="mips-tfile mips-tdump"
2705 fi
2706 if test x$gnu_ld != xyes
2707 then
2708 use_collect2=yes
2709 fi
2710 ;;
2711 mips-*-ultrix* | mips-dec-mach3) # Decstation.
2712 tm_file="mips/ultrix.h ${tm_file}"
2713 if test x$stabs = xyes; then
2714 tm_file="${tm_file} dbx.h"
2715 fi
2716 xmake_file=mips/x-ultrix
2717 if test x$gas = xyes
2718 then
2719 tmake_file=mips/t-mips-gas
2720 else
2721 tmake_file=mips/t-ultrix
2722 extra_passes="mips-tfile mips-tdump"
2723 fi
2724 if test x$gnu_ld != xyes
2725 then
2726 use_collect2=yes
2727 fi
2728 ;;
2729changequote(,)dnl
2730 mips-*-riscos[56789]bsd*)
2731changequote([,])dnl
2732 tm_file=mips/bsd-5.h # MIPS BSD 4.3, RISC-OS 5.0
2733 if test x$stabs = xyes; then
2734 tm_file="${tm_file} dbx.h"
2735 fi
2736 if test x$gas = xyes
2737 then
2738 tmake_file=mips/t-bsd-gas
2739 else
2740 tmake_file=mips/t-bsd
2741 extra_passes="mips-tfile mips-tdump"
2742 fi
2743 if test x$gnu_ld != xyes
2744 then
2745 use_collect2=yes
2746 fi
2747 ;;
2748changequote(,)dnl
2749 mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
2750changequote([,])dnl
2751 tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
2752 if test x$stabs = xyes; then
2753 tm_file="${tm_file} dbx.h"
2754 fi
2755 if test x$gas = xyes
2756 then
2757 tmake_file=mips/t-bsd-gas
2758 else
2759 tmake_file=mips/t-bsd
2760 extra_passes="mips-tfile mips-tdump"
2761 fi
2762 if test x$gnu_ld != xyes
2763 then
2764 use_collect2=yes
2765 fi
2766 ;;
2767changequote(,)dnl
2768 mips-*-riscos[56789]sysv4*)
2769changequote([,])dnl
2770 tm_file=mips/svr4-5.h # MIPS System V.4., RISC-OS 5.0
2771 if test x$stabs = xyes; then
2772 tm_file="${tm_file} dbx.h"
2773 fi
2774 xmake_file=mips/x-sysv
2775 if test x$gas = xyes
2776 then
2777 tmake_file=mips/t-svr4-gas
2778 else
2779 tmake_file=mips/t-svr4
2780 extra_passes="mips-tfile mips-tdump"
2781 fi
2782 if test x$gnu_ld != xyes
2783 then
2784 use_collect2=yes
2785 fi
2786 ;;
2787changequote(,)dnl
2788 mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
2789changequote([,])dnl
2790 tm_file="mips/svr4-4.h ${tm_file}"
2791 if test x$stabs = xyes; then
2792 tm_file="${tm_file} dbx.h"
2793 fi
2794 xm_defines=USG
2795 xmake_file=mips/x-sysv
2796 if test x$gas = xyes
2797 then
2798 tmake_file=mips/t-svr4-gas
2799 else
2800 tmake_file=mips/t-svr4
2801 extra_passes="mips-tfile mips-tdump"
2802 fi
2803 if test x$gnu_ld != xyes
2804 then
2805 use_collect2=yes
2806 fi
2807 ;;
2808changequote(,)dnl
2809 mips-*-riscos[56789]sysv*)
2810changequote([,])dnl
2811 tm_file=mips/svr3-5.h # MIPS System V.3, RISC-OS 5.0
2812 if test x$stabs = xyes; then
2813 tm_file="${tm_file} dbx.h"
2814 fi
2815 xm_defines=USG
2816 xmake_file=mips/x-sysv
2817 if test x$gas = xyes
2818 then
2819 tmake_file=mips/t-svr3-gas
2820 else
2821 tmake_file=mips/t-svr3
2822 extra_passes="mips-tfile mips-tdump"
2823 fi
2824 if test x$gnu_ld != xyes
2825 then
2826 use_collect2=yes
2827 fi
2828 ;;
2829 mips-*-sysv* | mips-*-riscos*sysv*)
2830 tm_file="mips/svr3-4.h ${tm_file}"
2831 if test x$stabs = xyes; then
2832 tm_file="${tm_file} dbx.h"
2833 fi
2834 xm_defines=USG
2835 xmake_file=mips/x-sysv
2836 if test x$gas = xyes
2837 then
2838 tmake_file=mips/t-svr3-gas
2839 else
2840 tmake_file=mips/t-svr3
2841 extra_passes="mips-tfile mips-tdump"
2842 fi
2843 if test x$gnu_ld != xyes
2844 then
2845 use_collect2=yes
2846 fi
2847 ;;
2848changequote(,)dnl
2849 mips-*-riscos[56789]*) # Default MIPS RISC-OS 5.0.
2850changequote([,])dnl
2851 tm_file=mips/mips-5.h
2852 if test x$stabs = xyes; then
2853 tm_file="${tm_file} dbx.h"
2854 fi
2855 if test x$gas = xyes
2856 then
2857 tmake_file=mips/t-mips-gas
2858 else
2859 extra_passes="mips-tfile mips-tdump"
2860 fi
2861 if test x$gnu_ld != xyes
2862 then
2863 use_collect2=yes
2864 fi
2865 ;;
2866 mips-*-gnu*)
2867 ;;
2868 mipsel-*-ecoff*)
2869 tm_file=mips/ecoffl.h
2870 if test x$stabs = xyes; then
2871 tm_file="${tm_file} dbx.h"
2872 fi
2873 tmake_file=mips/t-ecoff
2874 ;;
2875 mips-*-ecoff*)
2876 tm_file="gofast.h mips/ecoff.h"
2877 if test x$stabs = xyes; then
2878 tm_file="${tm_file} dbx.h"
2879 fi
2880 tmake_file=mips/t-ecoff
2881 ;;
2882 mipsel-*-elf*)
2883 tm_file="mips/elfl.h"
2884 tmake_file=mips/t-elf
2885 ;;
2886 mips-*-elf*)
2887 tm_file="mips/elf.h"
2888 tmake_file=mips/t-elf
2889 ;;
2890 mips64el-*-elf*)
2891 tm_file="mips/elfl64.h"
2892 tmake_file=mips/t-elf
2893 ;;
2894 mips64orionel-*-elf*)
2895 tm_file="mips/elforion.h mips/elfl64.h"
2896 tmake_file=mips/t-elf
2897 ;;
2898 mips64-*-elf*)
2899 tm_file="mips/elf64.h"
2900 tmake_file=mips/t-elf
2901 ;;
2902 mips64orion-*-elf*)
2903 tm_file="mips/elforion.h mips/elf64.h"
2904 tmake_file=mips/t-elf
2905 ;;
2906 mips64orion-*-rtems*)
2907 tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
2908 tmake_file="mips/t-elf t-rtems"
2909 ;;
2910 mipstx39el-*-elf*)
2911 tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
2912 tmake_file=mips/t-r3900
2913 ;;
2914 mipstx39-*-elf*)
2915 tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
2916 tmake_file=mips/t-r3900
2917 ;;
2918 mips-*-*) # Default MIPS RISC-OS 4.0.
2919 if test x$stabs = xyes; then
2920 tm_file="${tm_file} dbx.h"
2921 fi
2922 if test x$gas = xyes
2923 then
2924 tmake_file=mips/t-mips-gas
2925 else
2926 extra_passes="mips-tfile mips-tdump"
2927 fi
2928 if test x$gnu_ld != xyes
2929 then
2930 use_collect2=yes
2931 fi
2932 ;;
2933 mn10200-*-*)
2934 float_format=i32
2935 cpu_type=mn10200
2936 tm_file="mn10200/mn10200.h"
2937 if test x$stabs = xyes
2938 then
2939 tm_file="${tm_file} dbx.h"
2940 fi
2941 use_collect2=no
2942 ;;
2943 mn10300-*-*)
2944 cpu_type=mn10300
2945 tm_file="mn10300/mn10300.h"
2946 if test x$stabs = xyes
2947 then
2948 tm_file="${tm_file} dbx.h"
2949 fi
2950 use_collect2=no
2951 ;;
2952 ns32k-encore-bsd*)
2953 tm_file=ns32k/encore.h
2954 use_collect2=yes
2955 ;;
2956 ns32k-sequent-bsd*)
2957 tm_file=ns32k/sequent.h
2958 use_collect2=yes
2959 ;;
2960 ns32k-tek6100-bsd*)
2961 tm_file=ns32k/tek6100.h
2962 use_collect2=yes
2963 ;;
2964 ns32k-tek6200-bsd*)
2965 tm_file=ns32k/tek6200.h
2966 use_collect2=yes
2967 ;;
2968# This has not been updated to GCC 2.
2969# ns32k-ns-genix*)
2970# xm_defines=USG
2971# xmake_file=ns32k/x-genix
2972# tm_file=ns32k/genix.h
2973# use_collect2=yes
2974# ;;
2975 ns32k-merlin-*)
2976 tm_file=ns32k/merlin.h
2977 use_collect2=yes
2978 ;;
2979 ns32k-pc532-mach*)
2980 tm_file=ns32k/pc532-mach.h
2981 use_collect2=yes
2982 ;;
2983 ns32k-pc532-minix*)
2984 tm_file=ns32k/pc532-min.h
2985 xm_file="ns32k/xm-pc532-min.h ${xm-file}"
2986 xm_defines=USG
2987 use_collect2=yes
2988 ;;
2989 ns32k-*-netbsd*)
2990 tm_file=ns32k/netbsd.h
2991 xm_file="ns32k/xm-netbsd.h ${xm_file}"
2992 # On NetBSD, the headers are already okay, except for math.h.
2993 tmake_file=t-netbsd
2994 use_collect2=yes
2995 ;;
2996 pdp11-*-bsd)
2997 tm_file="${tm_file} pdp11/2bsd.h"
2998 ;;
2999 pdp11-*-*)
3000 ;;
3001 avr-*-*)
3002 ;;
3003 ns32k-*-openbsd*)
3004 # Nothing special
3005 ;;
3006# This has not been updated to GCC 2.
3007# pyramid-*-*)
3008# cpu_type=pyr
3009# xmake_file=pyr/x-pyr
3010# use_collect2=yes
3011# ;;
3012
3013 pj*-linux*)
3014 tm_file="svr4.h pj/linux.h ${tm_file}"
3015 ;;
3016 pj-*)
3017 ;;
3018 pjl-*)
3019 tm_file="svr4.h pj/pjl.h ${tm_file}"
3020 ;;
3021
3022 romp-*-aos*)
3023 use_collect2=yes
3024 ;;
3025 romp-*-mach*)
3026 xmake_file=romp/x-mach
3027 use_collect2=yes
3028 ;;
3029 romp-*-openbsd*)
3030 # Nothing special
3031 ;;
3032 powerpc-*-openbsd*)
3033 tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
3034 ;;
3035 powerpc-*-beos*)
3036 cpu_type=rs6000
3037 tm_file=rs6000/beos.h
3038 xm_file=rs6000/xm-beos.h
3039 tmake_file=rs6000/t-beos
3040 xmake_file=rs6000/x-beos
3041 ;;
3042 powerpc-*-sysv*)
3043 tm_file=rs6000/sysv4.h
3044 xm_file="rs6000/xm-sysv4.h"
3045 xm_defines="USG POSIX"
3046 extra_headers=ppc-asm.h
3047 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3048 xmake_file=rs6000/x-sysv4
3049 ;;
3050 powerpc-*-eabiaix*)
3051 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabiaix.h"
3052 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3053 extra_headers=ppc-asm.h
3054 ;;
3055 powerpc-*-eabisim*)
3056 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
3057 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3058 extra_headers=ppc-asm.h
3059 ;;
3060 powerpc-*-elf*)
3061 tm_file="rs6000/sysv4.h"
3062 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3063 extra_headers=ppc-asm.h
3064 ;;
3065 powerpc-*-eabi*)
3066 tm_file="rs6000/sysv4.h rs6000/eabi.h"
3067 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3068 extra_headers=ppc-asm.h
3069 ;;
3070 powerpc-*-rtems*)
3071 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h"
3072 tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
3073 extra_headers=ppc-asm.h
3074 ;;
3075 powerpc-*-linux-gnulibc1)
3076 tm_file="rs6000/sysv4.h rs6000/linux.h"
3077 xm_file=rs6000/xm-sysv4.h
3078 out_file=rs6000/rs6000.c
3079 tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
3080 xmake_file=x-linux
3081 extra_headers=ppc-asm.h
3082 if test x$enable_threads = xyes; then
3083 thread_file='posix'
3084 fi
3085 ;;
3086 powerpc-*-linux-gnu*)
3087 tm_file="rs6000/sysv4.h rs6000/linux.h"
3088 xm_file="rs6000/xm-sysv4.h"
3089 xm_defines="USG ${xm_defines}"
3090 out_file=rs6000/rs6000.c
3091 tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
3092 xmake_file=x-linux
3093 extra_headers=ppc-asm.h
3094 if test x$enable_threads = xyes; then
3095 thread_file='posix'
3096 fi
3097 ;;
3098 powerpc-wrs-vxworks*)
3099 cpu_type=rs6000
3100 xm_file="rs6000/xm-sysv4.h"
3101 xm_defines="USG POSIX"
3102 tm_file="rs6000/sysv4.h rs6000/vxppc.h"
3103 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3104 extra_headers=ppc-asm.h
3105 thread_file='vxworks'
3106 ;;
3107 powerpcle-wrs-vxworks*)
3108 cpu_type=rs6000
3109 xm_file="rs6000/xm-sysv4.h"
3110 xm_defines="USG POSIX"
3111 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
3112 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3113 extra_headers=ppc-asm.h
3114 thread_file='vxworks'
3115 ;;
3116 powerpcle-*-sysv*)
3117 tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
3118 xm_file="rs6000/xm-sysv4.h"
3119 xm_defines="USG POSIX"
3120 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3121 xmake_file=rs6000/x-sysv4
3122 extra_headers=ppc-asm.h
3123 ;;
3124 powerpcle-*-elf*)
3125 tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
3126 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3127 extra_headers=ppc-asm.h
3128 ;;
3129 powerpcle-*-eabisim*)
3130 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
3131 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3132 extra_headers=ppc-asm.h
3133 ;;
3134 powerpcle-*-eabi*)
3135 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
3136 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3137 extra_headers=ppc-asm.h
3138 ;;
3139 powerpcle-*-solaris2*)
3140 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/sol2.h"
3141 xm_file="rs6000/xm-sysv4.h"
3142 xm_defines="USG POSIX"
3143 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3144 xmake_file=rs6000/x-sysv4
3145 extra_headers=ppc-asm.h
3146 ;;
3147changequote(,)dnl
3148 rs6000-ibm-aix3.[01]*)
3149changequote([,])dnl
3150 tm_file=rs6000/aix31.h
3151 xmake_file=rs6000/x-aix31
3152 float_format=none
3153 use_collect2=yes
3154 ;;
3155changequote(,)dnl
3156 rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
3157changequote([,])dnl
3158 tm_file=rs6000/aix3newas.h
3159 if test x$host != x$target
3160 then
3161 tmake_file=rs6000/t-xnewas
3162 else
3163 tmake_file=rs6000/t-newas
3164 fi
3165 float_format=none
3166 use_collect2=yes
3167 ;;
3168changequote(,)dnl
3169 rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
3170changequote([,])dnl
3171 tm_file=rs6000/aix41.h
3172 if test x$host != x$target
3173 then
3174 tmake_file=rs6000/t-xnewas
3175 else
3176 tmake_file=rs6000/t-newas
3177 fi
3178 if test "$gnu_ld" = yes
3179 then
3180 xmake_file=rs6000/x-aix41-gld
3181 else
3182 tmake_file="rs6000/t-newas rs6000/t-aix41"
3183 fi
3184 xmake_file=rs6000/x-aix41
3185 float_format=none
3186 use_collect2=yes
3187 ;;
3188changequote(,)dnl
3189 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
3190changequote([,])dnl
3191 tm_file=rs6000/aix43.h
3192 tmake_file=rs6000/t-aix43
3193 xmake_file=rs6000/x-aix41
3194 float_format=none
3195 use_collect2=yes
3196 ;;
3197changequote(,)dnl
3198 rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
3199changequote([,])dnl
3200 tm_file=rs6000/aix43.h
3201 tmake_file=rs6000/t-aix43
3202 xmake_file=rs6000/x-aix41
3203 float_format=none
3204 use_collect2=yes
3205 ;;
3206 rs6000-ibm-aix*)
3207 float_format=none
3208 use_collect2=yes
3209 ;;
3210 rs6000-bull-bosx)
3211 float_format=none
3212 use_collect2=yes
3213 ;;
3214 rs6000-*-mach*)
3215 tm_file=rs6000/mach.h
3216 xm_file="${xm_file} rs6000/xm-mach.h"
3217 xmake_file=rs6000/x-mach
3218 use_collect2=yes
3219 ;;
3220 rs6000-*-lynxos*)
3221 tm_file=rs6000/lynx.h
3222 xm_file=rs6000/xm-lynx.h
3223 tmake_file=rs6000/t-rs6000
3224 xmake_file=rs6000/x-lynx
3225 use_collect2=yes
3226 ;;
3227 sh-*-elf*)
3228 tm_file=sh/elf.h
3229 float_format=sh
3230 ;;
3231 sh-*-rtemself*)
3232 tmake_file="sh/t-sh t-rtems"
3233 tm_file=sh/rtemself.h
3234 float_format=sh
3235 ;;
3236 sh-*-rtems*)
3237 tmake_file="sh/t-sh t-rtems"
3238 tm_file=sh/rtems.h
3239 float_format=sh
3240 ;;
3241 sh-*-*)
3242 float_format=sh
3243 ;;
3244 sparc-tti-*)
3245 tm_file=sparc/pbd.h
3246 xm_file="xm-alloca.h ${xm_file}"
3247 xm_defines=USG
3248 ;;
3249 sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
3250 tm_file=sparc/vxsparc.h
3251 tmake_file=sparc/t-vxsparc
3252 use_collect2=yes
3253 thread_file='vxworks'
3254 ;;
3255 sparc-*-aout*)
3256 tmake_file=sparc/t-sparcbare
3257 tm_file="sparc/aout.h libgloss.h"
3258 ;;
3259 sparc-*-netbsd*)
3260 tm_file=sparc/netbsd.h
3261 tmake_file=t-netbsd
3262 use_collect2=yes
3263 ;;
3264 sparc-*-openbsd*)
3265 # we need collect2 until our bug is fixed...
3266 use_collect2=yes
3267 ;;
3268 sparc-*-bsd*)
3269 tm_file=sparc/bsd.h
3270 ;;
3271 sparc-*-elf*)
3272 tm_file=sparc/elf.h
3273 tmake_file=sparc/t-elf
3274 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3275 #float_format=i128
3276 float_format=i64
3277 ;;
3278 sparc-*-linux-gnuaout*) # Sparc's running GNU/Linux, a.out
3279 xm_file="${xm_file} sparc/xm-linux.h"
3280 tm_file=sparc/linux-aout.h
3281 xmake_file=x-linux
3282 gnu_ld=yes
3283 ;;
3284 sparc-*-linux-gnulibc1*) # Sparc's running GNU/Linux, libc5
3285 xm_file="${xm_file} sparc/xm-linux.h"
3286 xmake_file=x-linux
3287 tm_file=sparc/linux.h
3288 tmake_file="t-linux t-linux-gnulibc1"
3289 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3290 gnu_ld=yes
3291 float_format=sparc
3292 ;;
3293 sparc-*-linux-gnu*) # Sparc's running GNU/Linux, libc6
3294 xm_file="${xm_file} sparc/xm-linux.h"
3295 xmake_file=x-linux
3296 tm_file=sparc/linux.h
3297 tmake_file="t-linux"
3298 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3299 gnu_ld=yes
3300 if test x$enable_threads = xyes; then
3301 thread_file='posix'
3302 fi
3303 float_format=sparc
3304 ;;
3305 sparc-*-lynxos*)
3306 if test x$gas = xyes
3307 then
3308 tm_file=sparc/lynx.h
3309 else
3310 tm_file=sparc/lynx-ng.h
3311 fi
3312 xm_file=sparc/xm-lynx.h
3313 tmake_file=sparc/t-sunos41
3314 xmake_file=x-lynx
3315 ;;
3316 sparc-*-rtemsaout*)
3317 tmake_file="sparc/t-sparcbare t-rtems"
3318 tm_file=sparc/rtems.h
3319 ;;
3320 sparc-*-rtems*|sparc-*-rtemself*)
3321 tm_file="sparc/rtemself.h"
3322 tmake_file="sparc/t-elf t-rtems"
3323 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3324 #float_format=i128
3325 float_format=i64
3326 ;;
3327 sparcv9-*-solaris2*)
3328 if test x$gnu_ld = xyes
3329 then
3330 tm_file=sparc/sol2-64.h
3331 else
3332 tm_file=sparc/sol2-sld-64.h
3333 fi
3334 xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
3335 xm_defines="USG POSIX"
3336 tmake_file="sparc/t-sol2 sparc/t-sol2-64"
3337 xmake_file=sparc/x-sysv4
3338 extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
3339 float_format=none
3340 if test x${enable_threads} = x ; then
3341 enable_threads=$have_pthread_h
3342 if test x${enable_threads} = x ; then
3343 enable_threads=$have_thread_h
3344 fi
3345 fi
3346 if test x${enable_threads} = xyes ; then
3347 if test x${have_pthread_h} = xyes ; then
3348 thread_file='posix'
3349 else
3350 thread_file='solaris'
3351 fi
3352 fi
3353 ;;
3354 sparc-hal-solaris2*)
3355 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3356 xm_defines="USG POSIX"
3357 tm_file="sparc/sol2.h sparc/hal.h"
3358 tmake_file="sparc/t-halos sparc/t-sol2"
3359 xmake_file=sparc/x-sysv4
3360 extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
3361 case $machine in
3362 *-*-solaris2.[0-4])
3363 float_format=i128
3364 ;;
3365 *)
3366 float_format=none
3367 ;;
3368 esac
3369 thread_file='solaris'
3370 ;;
3371 sparc-*-solaris2*)
3372 if test x$gnu_ld = xyes
3373 then
3374 tm_file=sparc/sol2.h
3375 else
3376 tm_file=sparc/sol2-sld.h
3377 fi
3378 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3379 xm_defines="USG POSIX"
3380 tmake_file=sparc/t-sol2
3381 xmake_file=sparc/x-sysv4
3382 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
3383 case $machine in
3384changequote(,)dnl
3385 *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
3386changequote([,])dnl
3387 *-*-solaris2*)
3388 if test x$gnu_ld = xyes
3389 then
3390 tm_file=sparc/sol2-64.h
3391 else
3392 tm_file=sparc/sol2-sld-64.h
3393 fi
3394 tmake_file="$tmake_file sparc/t-sol2-64"
3395 ;;
3396 esac
3397 case $machine in
3398changequote(,)dnl
3399 *-*-solaris2.[0-4])
3400changequote([,])dnl
3401 float_format=i128
3402 ;;
3403 *)
3404 float_format=none
3405 ;;
3406 esac
3407 if test x${enable_threads} = x; then
3408 enable_threads=$have_pthread_h
3409 if test x${enable_threads} = x; then
3410 enable_threads=$have_thread_h
3411 fi
3412 fi
3413 if test x${enable_threads} = xyes; then
3414 if test x${have_pthread_h} = xyes; then
3415 thread_file='posix'
3416 else
3417 thread_file='solaris'
3418 fi
3419 fi
3420 ;;
3421 sparc-*-sunos4.0*)
3422 tm_file=sparc/sunos4.h
3423 tmake_file=sparc/t-sunos40
3424 use_collect2=yes
3425 ;;
3426 sparc-*-sunos4*)
3427 tm_file=sparc/sunos4.h
3428 tmake_file=sparc/t-sunos41
3429 use_collect2=yes
3430 if test x$gas = xyes; then
3431 tm_file="${tm_file} sparc/sun4gas.h"
3432 fi
3433 ;;
3434 sparc-*-sunos3*)
3435 tm_file=sparc/sun4o3.h
3436 use_collect2=yes
3437 ;;
3438 sparc-*-sysv4*)
3439 tm_file=sparc/sysv4.h
3440 xm_file="sparc/xm-sysv4.h"
3441 xm_defines="USG POSIX"
3442 tmake_file=t-svr4
3443 xmake_file=sparc/x-sysv4
3444 extra_parts="crtbegin.o crtend.o"
3445 ;;
3446 sparc-*-vxsim*)
3447 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3448 xm_defines="USG POSIX"
3449 tm_file=sparc/vxsim.h
3450 tmake_file=sparc/t-vxsparc
3451 xmake_file=sparc/x-sysv4
3452 ;;
3453 sparclet-*-aout*)
3454 tm_file="sparc/splet.h libgloss.h"
3455 tmake_file=sparc/t-splet
3456 ;;
3457 sparclite-*-coff*)
3458 tm_file="sparc/litecoff.h libgloss.h"
3459 tmake_file=sparc/t-sparclite
3460 ;;
3461 sparclite-*-aout*)
3462 tm_file="sparc/lite.h aoutos.h libgloss.h"
3463 tmake_file=sparc/t-sparclite
3464 ;;
3465 sparclite-*-elf*)
3466 tm_file="sparc/liteelf.h"
3467 tmake_file=sparc/t-sparclite
3468 extra_parts="crtbegin.o crtend.o"
3469 ;;
3470 sparc86x-*-aout*)
3471 tm_file="sparc/sp86x-aout.h aoutos.h libgloss.h"
3472 tmake_file=sparc/t-sp86x
3473 ;;
3474 sparc86x-*-elf*)
3475 tm_file="sparc/sp86x-elf.h"
3476 tmake_file=sparc/t-sp86x
3477 extra_parts="crtbegin.o crtend.o"
3478 ;;
3479 sparc64-*-aout*)
3480 tmake_file=sparc/t-sp64
3481 tm_file=sparc/sp64-aout.h
3482 ;;
3483 sparc64-*-elf*)
3484 tmake_file=sparc/t-sp64
3485 tm_file=sparc/sp64-elf.h
3486 extra_parts="crtbegin.o crtend.o"
3487 ;;
3488 sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
3489 tmake_file="t-linux sparc/t-linux64"
3490 xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
3491 tm_file=sparc/linux64.h
3492 xmake_file=x-linux
3493 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3494 gnu_ld=yes
3495 if test x$enable_threads = xyes; then
3496 thread_file='posix'
3497 fi
3498 float_format=sparc
3499 ;;
3500# This hasn't been upgraded to GCC 2.
3501# tahoe-harris-*) # Harris tahoe, using COFF.
3502# tm_file=tahoe/harris.h
3503# ;;
3504# tahoe-*-bsd*) # tahoe running BSD
3505# ;;
3506
3507 thumb*-*-*)
3508 AC_MSG_ERROR([
3509*** The Thumb targets have been depreciated. The equivalent
3510*** ARM based toolchain can now generated Thumb instructions
3511*** when the -mthumb switch is given to the compiler.])
3512 ;;
3513# This hasn't been upgraded to GCC 2.
3514# tron-*-*)
3515# cpu_type=gmicro
3516# use_collect2=yes
3517# ;;
3518 v850-*-rtems*)
3519 cpu_type=v850
3520 tm_file="v850/rtems.h"
3521 xm_file="v850/xm-v850.h"
3522 tmake_file="v850/t-v850 t-rtems"
3523 if test x$stabs = xyes
3524 then
3525 tm_file="${tm_file} dbx.h"
3526 fi
3527 use_collect2=no
3528 ;;
3529 v850-*-*)
3530 target_cpu_default="TARGET_CPU_generic"
3531 cpu_type=v850
3532 tm_file="v850/v850.h"
3533 xm_file="v850/xm-v850.h"
3534 tmake_file=v850/t-v850
3535 if test x$stabs = xyes
3536 then
3537 tm_file="${tm_file} dbx.h"
3538 fi
3539 use_collect2=no
3540 ;;
3541 vax-*-bsd*) # vaxen running BSD
3542 use_collect2=yes
3543 float_format=vax
3544 ;;
3545 vax-*-sysv*) # vaxen running system V
3546 tm_file="${tm_file} vax/vaxv.h"
3547 xm_defines=USG
3548 float_format=vax
3549 ;;
3550 vax-*-netbsd*)
3551 tm_file="${tm_file} netbsd.h vax/netbsd.h"
3552 tmake_file=t-netbsd
3553 float_format=vax
3554 use_collect2=yes
3555 ;;
3556 vax-*-openbsd*)
3557 tmake_file="${tmake_file} vax/t-openbsd"
3558 ;;
3559 vax-*-ultrix*) # vaxen running ultrix
3560 tm_file="${tm_file} vax/ultrix.h"
3561 use_collect2=yes
3562 float_format=vax
3563 ;;
3564 vax-*-vms*) # vaxen running VMS
3565 xm_file=vax/xm-vms.h
3566 tm_file=vax/vms.h
3567 float_format=vax
3568 ;;
3569 vax-*-*) # vax default entry
3570 float_format=vax
3571 ;;
3572 we32k-att-sysv*)
3573 xm_file="${xm_file} xm-svr3"
3574 use_collect2=yes
3575 ;;
3576 *)
3577 echo "Configuration $machine not supported" 1>&2
3578 exit 1
3579 ;;
3580 esac
3581
3582 case $machine in
3583 *-*-linux-gnu*)
3584 ;; # Existing GNU/Linux systems do not use the GNU setup.
3585 *-*-gnu*)
3586 # On the GNU system, the setup is just about the same on
3587 # each different CPU. The specific machines that GNU
3588 # supports are matched above and just set $cpu_type.
3589 xm_file="xm-gnu.h ${xm_file}"
3590 tm_file=${cpu_type}/gnu.h
3591 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
3592 # GNU always uses ELF.
3593 elf=yes
3594 # GNU tools are the only tools.
3595 gnu_ld=yes
3596 gas=yes
3597 xmake_file=x-linux # These details are the same as Linux.
3598 tmake_file=t-gnu # These are not.
3599 ;;
3600 *-*-sysv4*)
3601 xmake_try_sysv=x-sysv
3602 install_headers_dir=install-headers-cpio
3603 ;;
3604 *-*-sysv*)
3605 install_headers_dir=install-headers-cpio
3606 ;;
3607 esac
3608
3609 # Distinguish i[34567]86
3610 # Also, do not run mips-tfile on MIPS if using gas.
3611 # Process --with-cpu= for PowerPC/rs6000
3612 target_cpu_default2=
3613 case $machine in
3614 i486-*-*)
3615 target_cpu_default2=1
3616 ;;
3617 i586-*-*)
3618 case $target_alias in
3619 k6-*)
3620 target_cpu_default2=4
3621 ;;
3622 *)
3623 target_cpu_default2=2
3624 ;;
3625 esac
3626 ;;
3627 i686-*-* | i786-*-*)
3628 target_cpu_default2=3
3629 ;;
3630 alpha*-*-*)
3631 case $machine in
3632changequote(,)dnl
3633 alphaev6[78]*)
3634changequote([,])dnl
3635 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
3636 ;;
3637 alphaev6*)
3638 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
3639 ;;
3640 alphapca56*)
3641 target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
3642 ;;
3643 alphaev56*)
3644 target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
3645 ;;
3646 alphaev5*)
3647 target_cpu_default2="MASK_CPU_EV5"
3648 ;;
3649 esac
3650
3651 if test x$gas = xyes
3652 then
3653 if test "$target_cpu_default2" = ""
3654 then
3655 target_cpu_default2="MASK_GAS"
3656 else
3657 target_cpu_default2="${target_cpu_default2}|MASK_GAS"
3658 fi
3659 fi
3660 ;;
3661 arm*-*-*)
3662 case "x$with_cpu" in
3663 x)
3664 # The most generic
3665 target_cpu_default2="TARGET_CPU_generic"
3666 ;;
3667
3668 # Distinguish cores, and major variants
3669 # arm7m doesn't exist, but D & I don't affect code
3670changequote(,)dnl
3671 xarm[23678] | xarm250 | xarm[67][01]0 \
3672 | xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
3673 | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
3674 | xstrongarm | xstrongarm110 | xstrongarm1100)
3675changequote([,])dnl
3676 target_cpu_default2="TARGET_CPU_$with_cpu"
3677 ;;
3678
3679 xyes | xno)
3680 echo "--with-cpu must be passed a value" 1>&2
3681 exit 1
3682 ;;
3683
3684 *)
3685 if test x$pass2done = xyes
3686 then
3687 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3688 exit 1
3689 fi
3690 ;;
3691 esac
3692 ;;
3693
3694 mips*-*-ecoff* | mips*-*-elf*)
3695 if test x$gas = xyes
3696 then
3697 if test x$gnu_ld = xyes
3698 then
3699 target_cpu_default2=20
3700 else
3701 target_cpu_default2=16
3702 fi
3703 fi
3704 ;;
3705 mips*-*-*)
3706 if test x$gas = xyes
3707 then
3708 target_cpu_default2=16
3709 fi
3710 ;;
3711 powerpc*-*-* | rs6000-*-*)
3712 case "x$with_cpu" in
3713 x)
3714 ;;
3715
3716 xcommon | xpower | xpower2 | xpowerpc | xrios \
3717 | xrios1 | xrios2 | xrsc | xrsc1 \
3718 | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
3719 | xec603e | x740 | x750 | x401 \
3720 | x403 | x505 | x801 | x821 | x823 | x860)
3721 target_cpu_default2="\"$with_cpu\""
3722 ;;
3723
3724 xyes | xno)
3725 echo "--with-cpu must be passed a value" 1>&2
3726 exit 1
3727 ;;
3728
3729 *)
3730 if test x$pass2done = xyes
3731 then
3732 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3733 exit 1
3734 fi
3735 ;;
3736 esac
3737 ;;
3738 sparc*-*-*)
3739 case ".$with_cpu" in
3740 .)
3741 target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
3742 ;;
3743 .supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
3744 target_cpu_default2="TARGET_CPU_$with_cpu"
3745 ;;
3746 *)
3747 if test x$pass2done = xyes
3748 then
3749 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3750 exit 1
3751 fi
3752 ;;
3753 esac
3754 ;;
3755 esac
3756
3757 if test "$target_cpu_default2" != ""
3758 then
3759 if test "$target_cpu_default" != ""
3760 then
3761 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
3762 else
3763 target_cpu_default=$target_cpu_default2
3764 fi
3765 fi
3766
3767 # No need for collect2 if we have the GNU linker.
3768 # Actually, there is now; GNU ld doesn't handle the EH info or
3769 # collecting for shared libraries.
3770 #case x$gnu_ld in
3771 #xyes)
3772 # use_collect2=
3773 # ;;
3774 #esac
3775
3776# Save data on machine being used to compile GCC in build_xm_file.
3777# Save data on host machine in vars host_xm_file and host_xmake_file.
3778 if test x$pass1done = x
3779 then
3780 if test x"$xm_file" = x
3781 then build_xm_file=$cpu_type/xm-$cpu_type.h
3782 else build_xm_file=$xm_file
3783 fi
3784 build_xm_defines=$xm_defines
3785 build_install_headers_dir=$install_headers_dir
3786 build_exeext=$exeext
3787 pass1done=yes
3788 else
3789 if test x$pass2done = x
3790 then
3791 if test x"$xm_file" = x
3792 then host_xm_file=$cpu_type/xm-$cpu_type.h
3793 else host_xm_file=$xm_file
3794 fi
3795 host_xm_defines=$xm_defines
3796 if test x"$xmake_file" = x
3797 then xmake_file=$cpu_type/x-$cpu_type
3798 fi
3799 host_xmake_file="$xmake_file"
3800 host_truncate_target=$truncate_target
3801 host_extra_gcc_objs=$extra_gcc_objs
3802 host_extra_objs=$extra_host_objs
3803 host_exeext=$exeext
3804 pass2done=yes
3805 fi
3806 fi
3807done
3808
3809extra_objs="${host_extra_objs} ${extra_objs}"
3810
3811# Default the target-machine variables that were not explicitly set.
3812if test x"$tm_file" = x
3813then tm_file=$cpu_type/$cpu_type.h; fi
3814
3815if test x$extra_headers = x
3816then extra_headers=; fi
3817
3818if test x"$xm_file" = x
3819then xm_file=$cpu_type/xm-$cpu_type.h; fi
3820
3821if test x$md_file = x
3822then md_file=$cpu_type/$cpu_type.md; fi
3823
3824if test x$out_file = x
3825then out_file=$cpu_type/$cpu_type.c; fi
3826
3827if test x"$tmake_file" = x
3828then tmake_file=$cpu_type/t-$cpu_type
3829fi
3830
3831if test x"$dwarf2" = xyes
3832then tm_file="$tm_file tm-dwarf2.h"
3833fi
3834
3835if test x$float_format = x
3836then float_format=i64
3837fi
3838
3839if test $float_format = none
3840then float_h_file=Makefile.in
3841else float_h_file=float-$float_format.h
3842fi
3843
3844# Handle cpp installation.
3845if test x$enable_cpp != xno
3846then
3847 tmake_file="$tmake_file t-install-cpp"
3848fi
3849
3850# Say what files are being used for the output code and MD file.
3851echo "Using \`$srcdir/config/$out_file' to output insns."
3852echo "Using \`$srcdir/config/$md_file' as machine description file."
3853
3854count=a
3855for f in $tm_file; do
3856 count=${count}x
3857done
3858if test $count = ax; then
3859 echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
3860else
3861 echo "Using the following target machine macro files:"
3862 for f in $tm_file; do
3863 echo " $srcdir/config/$f"
3864 done
3865fi
3866
3867count=a
3868for f in $host_xm_file; do
3869 count=${count}x
3870done
3871if test $count = ax; then
3872 echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
3873else
3874 echo "Using the following host machine macro files:"
3875 for f in $host_xm_file; do
3876 echo " $srcdir/config/$f"
3877 done
3878fi
3879
3880if test "$host_xm_file" != "$build_xm_file"; then
3881 count=a
3882 for f in $build_xm_file; do
3883 count=${count}x
3884 done
3885 if test $count = ax; then
3886 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
3887 else
3888 echo "Using the following build machine macro files:"
3889 for f in $build_xm_file; do
3890 echo " $srcdir/config/$f"
3891 done
3892 fi
3893fi
3894
3895if test x$thread_file = x; then
3896 if test x$target_thread_file != x; then
3897 thread_file=$target_thread_file
3898 else
3899 thread_file='single'
3900 fi
3901fi
3902
3903# Set up the header files.
3904# $links is the list of header files to create.
3905# $vars is the list of shell variables with file names to include.
3906# auto-host.h is the file containing items generated by autoconf and is
3907# the first file included by config.h.
3908null_defines=
3909host_xm_file="auto-host.h gansidecl.h ${host_xm_file} hwint.h"
3910
3911# If host=build, it is correct to have hconfig include auto-host.h
3912# as well. If host!=build, we are in error and need to do more
3913# work to find out the build config parameters.
3914if test x$host = x$build
3915then
3916 build_xm_file="auto-host.h gansidecl.h ${build_xm_file} hwint.h"
3917else
3918 # We create a subdir, then run autoconf in the subdir.
3919 # To prevent recursion we set host and build for the new
3920 # invocation of configure to the build for this invocation
3921 # of configure.
3922 tempdir=build.$$
3923 rm -rf $tempdir
3924 mkdir $tempdir
3925 cd $tempdir
3926 case ${srcdir} in
3927 /*) realsrcdir=${srcdir};;
3928 *) realsrcdir=../${srcdir};;
3929 esac
3930 CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
3931 --target=$target --host=$build --build=$build
3932
3933 # We just finished tests for the build machine, so rename
3934 # the file auto-build.h in the gcc directory.
3935 mv auto-host.h ../auto-build.h
3936 cd ..
3937 rm -rf $tempdir
3938 build_xm_file="auto-build.h gansidecl.h ${build_xm_file} hwint.h"
3939fi
3940
3941xm_file="gansidecl.h ${xm_file}"
3942tm_file="gansidecl.h ${tm_file}"
3943
3944vars="host_xm_file tm_file tm_p_file xm_file build_xm_file"
3945links="config.h tm.h tm_p.h tconfig.h hconfig.h"
3946defines="host_xm_defines null_defines null_defines xm_defines build_xm_defines"
3947
3948rm -f config.bak
3949if test -f config.status; then mv -f config.status config.bak; fi
3950
3951# Make the links.
3952while test -n "$vars"
3953do
3954 set $vars; var=$1; shift; vars=$*
3955 set $links; link=$1; shift; links=$*
3956 set $defines; define=$1; shift; defines=$*
3957
3958 rm -f $link
3959 # Make sure the file is created, even if it is empty.
3960 echo >$link
3961
3962 # Define TARGET_CPU_DEFAULT if the system wants one.
3963 # This substitutes for lots of *.h files.
3964 if test "$target_cpu_default" != "" -a $link = tm.h
3965 then
3966 echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
3967 fi
3968
3969 for file in `eval echo '$'$var`; do
3970 case $file in
3971 auto-config.h)
3972 ;;
3973 *)
3974 echo '#ifdef IN_GCC' >>$link
3975 ;;
3976 esac
3977 echo "#include \"$file\"" >>$link
3978 case $file in
3979 auto-config.h)
3980 ;;
3981 *)
3982 echo '#endif' >>$link
3983 ;;
3984 esac
3985 done
3986
3987 for def in `eval echo '$'$define`; do
3988 echo "#ifndef $def" >>$link
3989 echo "#define $def" >>$link
3990 echo "#endif" >>$link
3991 done
3992done
3993
3994# Truncate the target if necessary
3995if test x$host_truncate_target != x; then
3996 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
3997fi
3998
3999# Get the version trigger filename from the toplevel
4000if test "${with_gcc_version_trigger+set}" = set; then
4001 gcc_version_trigger=$with_gcc_version_trigger
4002else
4003 gcc_version_trigger=${srcdir}/version.c
4004fi
4005changequote(,)dnl
4006gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
4007changequote([,])dnl
4008
4009# Internationalization
4010PACKAGE=gcc
4011VERSION="$gcc_version"
4012AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",
4013 [Define to the name of the distribution.])
4014AC_DEFINE_UNQUOTED(VERSION, "$VERSION",
4015 [Define to the version of the distribution.])
4016AC_SUBST(PACKAGE)
4017AC_SUBST(VERSION)
4018
4019ALL_LINGUAS="en_UK"
4020
4021# NLS support is still experimental, so disable it by default for now.
4022AC_ARG_ENABLE(nls,
4023 [ --enable-nls use Native Language Support (disabled by default)],
4024 , enable_nls=no)
4025
4026AM_GNU_GETTEXT
4027XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
4028
4029# Windows32 Registry support for specifying GCC installation paths.
4030AC_ARG_ENABLE(win32-registry,
4031[ --disable-win32-registry
4032 Disable lookup of installation paths in the
4033 Registry on Windows hosts.
4034 --enable-win32-registry Enable registry lookup (default).
4035 --enable-win32-registry=KEY
4036 Use KEY instead of GCC version as the last portion
4037 of the registry key.],,)
4038
4039AC_MSG_CHECKING(whether windows registry support is requested)
4040if test x$enable_win32_registry != xno; then
4041 AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
4042[Define to 1 if installation paths should be looked up in Windows32
4043 Registry. Ignored on non windows32 hosts.])
4044 AC_MSG_RESULT(yes)
4045else
4046 AC_MSG_RESULT(no)
4047fi
4048
4049# Check if user specified a different registry key.
4050case x${enable_win32_registry} in
4051x | xyes)
4052 # default.
4053 gcc_cv_win32_registry_key="$VERSION"
4054 ;;
4055xno)
4056 # no registry lookup.
4057 gcc_cv_win32_registry_key=''
4058 ;;
4059*)
4060 # user-specified key.
4061 gcc_cv_win32_registry_key="$enable_win32_registry"
4062 ;;
4063esac
4064
4065if test x$enable_win32_registry != xno; then
4066 AC_MSG_CHECKING(registry key on windows hosts)
4067 AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key",
4068 [Define to be the last portion of registry key on windows hosts.])
4069 AC_MSG_RESULT($gcc_cv_win32_registry_key)
4070fi
4071
4072# Get an absolute path to the GCC top-level source directory
4073holddir=`pwd`
4074cd $srcdir
4075topdir=`pwd`
4076cd $holddir
4077
4078# Conditionalize the makefile for this host machine.
4079# Make-host contains the concatenation of all host makefile fragments
4080# [there can be more than one]. This file is built by configure.frag.
4081host_overrides=Make-host
4082dep_host_xmake_file=
4083for f in .. ${host_xmake_file}
4084do
4085 if test -f ${srcdir}/config/$f
4086 then
4087 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
4088 fi
4089done
4090
4091# Conditionalize the makefile for this target machine.
4092# Make-target contains the concatenation of all host makefile fragments
4093# [there can be more than one]. This file is built by configure.frag.
4094target_overrides=Make-target
4095dep_tmake_file=
4096for f in .. ${tmake_file}
4097do
4098 if test -f ${srcdir}/config/$f
4099 then
4100 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
4101 fi
4102done
4103
4104# If the host doesn't support symlinks, modify CC in
4105# FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
4106# Otherwise, we can use "CC=$(CC)".
4107rm -f symtest.tem
4108if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
4109then
4110 cc_set_by_configure="\$(CC)"
4111 quoted_cc_set_by_configure="\$(CC)"
4112 stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
4113else
4114 rm -f symtest.tem
4115 if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
4116 then
4117 symbolic_link="cp -p"
4118 else
4119 symbolic_link="cp"
4120 fi
4121 cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
4122 quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
4123 stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
4124fi
4125rm -f symtest.tem
4126
4127out_object_file=`basename $out_file .c`.o
4128
4129tm_file_list=
4130for f in $tm_file; do
4131 case $f in
4132 gansidecl.h )
4133 tm_file_list="${tm_file_list} $f" ;;
4134 *) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
4135 esac
4136done
4137
4138host_xm_file_list=
4139for f in $host_xm_file; do
4140 case $f in
4141 auto-host.h | gansidecl.h | hwint.h )
4142 host_xm_file_list="${host_xm_file_list} $f" ;;
4143 *) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
4144 esac
4145done
4146
4147build_xm_file_list=
4148for f in $build_xm_file; do
4149 case $f in
4150 auto-build.h | auto-host.h | gansidecl.h | hwint.h )
4151 build_xm_file_list="${build_xm_file_list} $f" ;;
4152 *) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
4153 esac
4154done
4155
4156# Define macro CROSS_COMPILE in compilation
4157# if this is a cross-compiler.
4158# Also use all.cross instead of all.internal
4159# and add cross-make to Makefile.
4160cross_overrides="/dev/null"
4161if test x$host != x$target
4162then
4163 cross_defines="CROSS=-DCROSS_COMPILE"
4164 cross_overrides="${topdir}/cross-make"
4165fi
4166
4167# When building gcc with a cross-compiler, we need to fix a few things.
4168# This must come after cross-make as we want all.build to override
4169# all.cross.
4170build_overrides="/dev/null"
4171if test x$build != x$host
4172then
4173 build_overrides="${topdir}/build-make"
4174fi
4175
4176# Expand extra_headers to include complete path.
4177# This substitutes for lots of t-* files.
4178extra_headers_list=
4179if test "x$extra_headers" = x
4180then true
4181else
4182 # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
4183 for file in $extra_headers;
4184 do
4185 extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
4186 done
4187fi
4188
4189if test x$use_collect2 = xno; then
4190 use_collect2=
4191fi
4192
4193# Add a definition of USE_COLLECT2 if system wants one.
4194# Also tell toplev.c what to do.
4195# This substitutes for lots of t-* files.
4196if test x$use_collect2 = x
4197then
4198 will_use_collect2=
4199 maybe_use_collect2=
4200else
4201 will_use_collect2="collect2"
4202 maybe_use_collect2="-DUSE_COLLECT2"
4203fi
4204
4205# NEED TO CONVERT
4206# Set MD_DEPS if the real md file is in md.pre-cpp.
4207# Set MD_CPP to the cpp to pass the md file through. Md files use ';'
4208# for line oriented comments, so we must always use a GNU cpp. If
4209# building gcc with a cross compiler, use the cross compiler just
4210# built. Otherwise, we can use the cpp just built.
4211md_file_sub=
4212if test "x$md_cppflags" = x
4213then
4214 md_file_sub=$srcdir/config/$md_file
4215else
4216 md_file=md
4217fi
4218
4219# If we have gas in the build tree, make a link to it.
4220if test -f ../gas/Makefile; then
4221 rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
4222fi
4223
4224# If we have nm in the build tree, make a link to it.
4225if test -f ../binutils/Makefile; then
4226 rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
4227fi
4228
4229# If we have ld in the build tree, make a link to it.
4230if test -f ../ld/Makefile; then
4231# if test x$use_collect2 = x; then
4232# rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
4233# else
4234 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
4235# fi
4236fi
4237
4238# Figure out what assembler alignment features are present.
4239AC_MSG_CHECKING(assembler alignment features)
4240gcc_cv_as=
4241gcc_cv_as_alignment_features=
4242gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
4243if test -x "$DEFAULT_ASSEMBLER"; then
4244 gcc_cv_as="$DEFAULT_ASSEMBLER"
4245elif test -x "$AS"; then
4246 gcc_cv_as="$AS"
4247elif test -x as$host_exeext; then
4248 # Build using assembler in the current directory.
4249 gcc_cv_as=./as$host_exeext
4250elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
4251 # Single tree build which includes gas.
4252 for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
4253 do
4254changequote(,)dnl
4255 gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
4256changequote([,])dnl
4257 if test x$gcc_cv_gas_version != x; then
4258 break
4259 fi
4260 done
4261changequote(,)dnl
4262 gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
4263 gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
4264changequote([,])dnl
4265 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
4266 # Gas version 2.6 and later support for .balign and .p2align.
4267 # bytes to skip when using .p2align.
4268 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 6 -o "$gcc_cv_gas_major_version" -gt 2; then
4269 gcc_cv_as_alignment_features=".balign and .p2align"
4270 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4271 fi
4272 # Gas version 2.8 and later support specifying the maximum
4273 # bytes to skip when using .p2align.
4274 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2; then
4275 gcc_cv_as_alignment_features=".p2align including maximum skip"
4276 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4277 fi
4278 fi
4279elif test x$host = x$target; then
4280 # Native build.
4281 # Search the same directories that the installed compiler will
4282 # search. Else we may find the wrong assembler and lose. If we
4283 # do not find a suitable assembler binary, then try the user's
4284 # path.
4285 #
4286 # Also note we have to check MD_EXEC_PREFIX before checking the
4287 # user's path. Unfortunately, there is no good way to get at the
4288 # value of MD_EXEC_PREFIX here. So we do a brute force search
4289 # through all the known MD_EXEC_PREFIX values. Ugh. This needs
4290 # to be fixed as part of the make/configure rewrite too.
4291
4292 if test "x$exec_prefix" = xNONE; then
4293 if test "x$prefix" = xNONE; then
4294 test_prefix=/usr/local
4295 else
4296 test_prefix=$prefix
4297 fi
4298 else
4299 test_prefix=$exec_prefix
4300 fi
4301
4302 # If the loop below does not find an assembler, then use whatever
4303 # one we can find in the users's path.
4304 # user's path.
4305 as=as$host_exeext
4306
4307 test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
4308 $test_prefix/lib/gcc-lib/$target \
4309 /usr/lib/gcc/$target/$gcc_version \
4310 /usr/lib/gcc/$target \
4311 $test_prefix/$target/bin/$target/$gcc_version \
4312 $test_prefix/$target/bin \
4313 /usr/libexec \
4314 /usr/ccs/gcc \
4315 /usr/ccs/bin \
4316 /udk/usr/ccs/bin \
4317 /bsd43/usr/lib/cmplrs/cc \
4318 /usr/cross64/usr/bin \
4319 /usr/lib/cmplrs/cc \
4320 /sysv/usr/lib/cmplrs/cc \
4321 /svr4/usr/lib/cmplrs/cc \
4322 /usr/bin"
4323
4324 for dir in $test_dirs; do
4325 if test -f $dir/as$host_exeext; then
4326 gcc_cv_as=$dir/as$host_exeext
4327 break;
4328 fi
4329 done
4330fi
4331if test x$gcc_cv_as != x; then
4332 # Check if we have .balign and .p2align
4333 echo ".balign 4" > conftest.s
4334 echo ".p2align 2" >> conftest.s
4335 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4336 gcc_cv_as_alignment_features=".balign and .p2align"
4337 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4338 fi
4339 rm -f conftest.s conftest.o
4340 # Check if specifying the maximum bytes to skip when
4341 # using .p2align is supported.
4342 echo ".p2align 4,,7" > conftest.s
4343 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4344 gcc_cv_as_alignment_features=".p2align including maximum skip"
4345 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4346 fi
4347 rm -f conftest.s conftest.o
4348fi
4349AC_MSG_RESULT($gcc_cv_as_alignment_features)
4350
4351AC_MSG_CHECKING(assembler subsection support)
4352gcc_cv_as_subsections=
4353if test x$gcc_cv_as != x; then
4354 # Check if we have .subsection
4355 echo ".subsection 1" > conftest.s
4356 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4357 gcc_cv_as_subsections=".subsection"
4358 if test -x nm$host_exeext; then
4359 gcc_cv_nm=./nm$host_exeext
4360 elif test x$host = x$target; then
4361 # Native build.
4362 gcc_cv_nm=nm$host_exeext
4363 fi
4364 if test x$gcc_cv_nm != x; then
4365 cat > conftest.s <<EOF
4366conftest_label1: .word 0
4367.subsection -1
4368conftest_label2: .word 0
4369.previous
4370EOF
4371 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4372 $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
4373 $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
4374 if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
4375 :
4376 else
4377 gcc_cv_as_subsections="working .subsection -1"
4378 AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1,
4379[Define if your assembler supports .subsection and .subsection -1 starts
4380 emitting at the beginning of your section.])
4381 fi
4382 fi
4383 fi
4384 fi
4385 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4386fi
4387AC_MSG_RESULT($gcc_cv_as_subsections)
4388
4389AC_MSG_CHECKING(assembler weak support)
4390gcc_cv_as_weak=
4391if test x$gcc_cv_as != x; then
4392 # Check if we have .weak
4393 echo " .weak foobar" > conftest.s
4394 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4395 AC_DEFINE(HAVE_GAS_WEAK, 1,
4396 [Define if your assembler supports .weak.])
4397 gcc_cv_as_weak="yes"
4398 fi
4399 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4400fi
4401AC_MSG_RESULT($gcc_cv_as_weak)
4402
4403AC_MSG_CHECKING(assembler hidden support)
4404gcc_cv_as_hidden=
4405if test x$gcc_cv_as != x; then
4406 # Check if we have .hidden
4407 echo " .hidden foobar" > conftest.s
4408 echo "foobar:" >> conftest.s
4409 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4410 AC_DEFINE(HAVE_GAS_HIDDEN, 1,
4411 [Define if your assembler supports .hidden.])
4412 gcc_cv_as_hidden="yes"
4413 fi
4414 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4415fi
4416AC_MSG_RESULT($gcc_cv_as_hidden)
4417
4418case "$target" in
4419 sparc*-*-*)
4420 AC_CACHE_CHECK([assembler .register pseudo-op support],
4421 gcc_cv_as_register_pseudo_op, [
4422 gcc_cv_as_register_pseudo_op=unknown
4423 if test x$gcc_cv_as != x; then
4424 # Check if we have .register
4425 echo ".register %g2, #scratch" > conftest.s
4426 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4427 gcc_cv_as_register_pseudo_op=yes
4428 else
4429 gcc_cv_as_register_pseudo_op=no
4430 fi
4431 rm -f conftest.s conftest.o
4432 fi
4433 ])
4434 if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
4435 AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
4436 [Define if your assembler supports .register.])
4437 fi
4438
4439 case "$tm_file" in
4440 *64*)
4441 AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
4442 gcc_cv_as_flags64, [
4443 if test -n "$gcc_cv_as"; then
4444 echo ".xword foo" > conftest.s
4445 gcc_cv_as_flags64=no
4446 for flag in "-xarch=v9" "-64 -Av9"; do
4447 if $gcc_cv_as $flag -o conftest.o conftest.s \
4448 > /dev/null 2>&1; then
4449 gcc_cv_as_flags64=$flag
4450 break
4451 fi
4452 done
4453 rm -f conftest.s conftest.o
4454 else
4455 if test "$gas" = yes; then
4456 gcc_cv_as_flags64="-64 -Av9"
4457 else
4458 gcc_cv_as_flags64="-xarch=v9"
4459 fi
4460 fi
4461 ])
4462 if test "x$gcc_cv_as_flags64" = xno; then
4463changequote(, )
4464 tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
4465 dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
4466changequote([, ])
4467 else
4468 AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64",
4469 [Define if the assembler supports 64bit sparc.])
4470 fi
4471 ;;
4472 *) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
4473 ;;
4474 esac
4475
4476 if test "x$gcc_cv_as_flags64" != xno; then
4477 AC_CACHE_CHECK([for assembler offsetable %lo() support],
4478 gcc_cv_as_offsetable_lo10, [
4479 gcc_cv_as_offsetable_lo10=unknown
4480 if test "x$gcc_cv_as" != x; then
4481 # Check if assembler has offsetable %lo()
4482 echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
4483 echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
4484 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
4485 > /dev/null 2>&1 &&
4486 $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
4487 > /dev/null 2>&1; then
4488 if cmp conftest.o conftest1.o > /dev/null 2>&1; then
4489 gcc_cv_as_offsetable_lo10=no
4490 else
4491 gcc_cv_as_offsetable_lo10=yes
4492 fi
4493 else
4494 gcc_cv_as_offsetable_lo10=no
4495 fi
4496 rm -f conftest.s conftest.o conftest1.s conftest1.o
4497 fi
4498 ])
4499 if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
4500 AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
4501 [Define if your assembler supports offsetable %lo().])
4502 fi
4503 fi
4504 ;;
4505
4506changequote(,)dnl
4507 i[34567]86-*-*)
4508changequote([,])dnl
4509 AC_MSG_CHECKING(assembler instructions)
4510 gcc_cv_as_instructions=
4511 if test x$gcc_cv_as != x; then
4512 set "filds fists" "filds mem; fists mem"
4513 while test $# -gt 0
4514 do
4515 echo "$2" > conftest.s
4516 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4517 gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
4518 AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$1" | tr '[a-z ]' '[A-Z_]'`)
4519 fi
4520 shift 2
4521 done
4522 rm -f conftest.s conftest.o
4523 fi
4524 AC_MSG_RESULT($gcc_cv_as_instructions)
4525 ;;
4526esac
4527
4528# Figure out what language subdirectories are present.
4529# Look if the user specified --enable-languages="..."; if not, use
4530# the environment variable $LANGUAGES if defined. $LANGUAGES might
4531# go away some day.
4532if test x"${enable_languages+set}" != xset; then
4533 if test x"${LANGUAGES+set}" = xset; then
4534 enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
4535 else
4536 enable_languages=all
4537 fi
4538fi
4539subdirs=
4540for lang in ${srcdir}/*/config-lang.in ..
4541do
4542 case $lang in
4543 ..) ;;
4544 # The odd quoting in the next line works around
4545 # an apparent bug in bash 1.12 on linux.
4546changequote(,)dnl
4547 ${srcdir}/[*]/config-lang.in) ;;
4548 *)
4549 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
4550 if test "x$lang_alias" = x
4551 then
4552 echo "$lang doesn't set \$language." 1>&2
4553 exit 1
4554 fi
4555 if test x"${enable_languages}" = xall; then
4556 add_this_lang=yes
4557 else
4558 case "${enable_languages}" in
4559 ${lang_alias} | "${lang_alias},"* | *",${lang_alias},"* | *",${lang_alias}" )
4560 add_this_lang=yes
4561 ;;
4562 * )
4563 add_this_lang=no
4564 ;;
4565 esac
4566 fi
4567 if test x"${add_this_lang}" = xyes; then
4568 case $lang in
4569 ${srcdir}/ada/config-lang.in)
4570 if test x$gnat = xyes ; then
4571 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4572 fi
4573 ;;
4574 *)
4575 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4576 ;;
4577 esac
4578 fi
4579 ;;
4580changequote([,])dnl
4581 esac
4582done
4583
4584# Make gthr-default.h if we have a thread file.
4585gthread_flags=
4586if test $thread_file != single; then
4587 rm -f gthr-default.h
4588 echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
4589 gthread_flags=-DHAVE_GTHR_DEFAULT
4590fi
4591AC_SUBST(gthread_flags)
4592
4593# Find out what GC implementation we want, or may, use.
4594AC_ARG_WITH(gc,
4595[ --with-gc={simple,page} Choose the garbage collection mechanism to use
4596 with the compiler.],
4597[case "$withval" in
4598 simple | page)
4599 GGC=ggc-$withval
4600 ;;
4601 *)
4602 AC_MSG_ERROR([$withval is an invalid option to --with-gc])
4603 ;;
4604esac],
4605[if test $ac_cv_func_mmap_anywhere = yes \
4606 || test $ac_cv_func_valloc = yes; then
4607 GGC=ggc-page
4608else
4609 GGC=ggc-simple
4610fi])
4611AC_SUBST(GGC)
4612echo "Using $GGC for garbage collection."
4613
4614# Build a new-abi (c++) system
4615AC_ARG_ENABLE(new-gxx-abi,
4616[ --enable-new-gxx-abi
4617 select the new abi for g++. You must select an ABI
4618 at configuration time, so that the correct runtime
4619 support is built. You cannot mix ABIs.],
4620[AC_DEFINE(ENABLE_NEW_GXX_ABI, 1,
4621 [Define if you want to always select the new-abi for g++.])
4622GXX_ABI_FLAG='-fnew-abi'
4623echo "Building a new-abi g++ compiler."
4624])
4625AC_SUBST(GXX_ABI_FLAG)
4626
4627# Build a new-libstdc++ system (ie libstdc++-v3)
4628AC_MSG_CHECKING([for libstdc++ to install])
4629AC_ARG_ENABLE(libstdcxx-v3,
4630[ --enable-libstdcxx-v3
4631 enable libstdc++-v3 for building and installation],
4632 [enable_libstdcxx_v3=yes], [enable_libstdcxx_v3=no])
4633
4634if test x$enable_libstdcxx_v3 = xyes; then
4635 AC_MSG_RESULT(v3)
4636 ac_esn=1
4637else
4638 AC_MSG_RESULT(v2)
4639 ac_esn=0
4640fi
4641AC_DEFINE_UNQUOTED(ENABLE_STD_NAMESPACE, $ac_esn,
4642 [Define to 1 if you want to enable namespaces (-fhonor-std) by default.])
4643
4644# Make empty files to contain the specs and options for each language.
4645# Then add #include lines to for a compiler that has specs and/or options.
4646
4647lang_specs_files=
4648lang_options_files=
4649lang_tree_files=
4650rm -f specs.h options.h gencheck.h
4651touch specs.h options.h gencheck.h
4652for subdir in . $subdirs
4653do
4654 if test -f $srcdir/$subdir/lang-specs.h; then
4655 echo "#include \"$subdir/lang-specs.h\"" >>specs.h
4656 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
4657 fi
4658 if test -f $srcdir/$subdir/lang-options.h; then
4659 echo "#include \"$subdir/lang-options.h\"" >>options.h
4660 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
4661 fi
4662 if test -f $srcdir/$subdir/$subdir-tree.def; then
4663 echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
4664 lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
4665 fi
4666done
4667
4668# These (without "all_") are set in each config-lang.in.
4669# `language' must be a single word so is spelled singularly.
4670all_languages=
4671all_boot_languages=
4672all_compilers=
4673all_stagestuff=
4674all_diff_excludes=
4675all_outputs='Makefile intl/Makefile po/Makefile.in fixinc/Makefile gccbug'
4676# List of language makefile fragments.
4677all_lang_makefiles=
4678all_headers=
4679all_lib2funcs=
4680
4681# Add the language fragments.
4682# Languages are added via two mechanisms. Some information must be
4683# recorded in makefile variables, these are defined in config-lang.in.
4684# We accumulate them and plug them into the main Makefile.
4685# The other mechanism is a set of hooks for each of the main targets
4686# like `clean', `install', etc.
4687
4688language_fragments="Make-lang"
4689language_hooks="Make-hooks"
4690oldstyle_subdirs=
4691
4692for s in .. $subdirs
4693do
4694 if test $s != ".."
4695 then
4696 language=
4697 boot_language=
4698 compilers=
4699 stagestuff=
4700 diff_excludes=
4701 headers=
4702 outputs=
4703 lib2funcs=
4704 . ${srcdir}/$s/config-lang.in
4705 if test "x$language" = x
4706 then
4707 echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
4708 exit 1
4709 fi
4710 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
4711 all_languages="$all_languages $language"
4712 if test "x$boot_language" = xyes
4713 then
4714 all_boot_languages="$all_boot_languages $language"
4715 fi
4716 all_compilers="$all_compilers $compilers"
4717 all_stagestuff="$all_stagestuff $stagestuff"
4718 all_diff_excludes="$all_diff_excludes $diff_excludes"
4719 all_headers="$all_headers $headers"
4720 all_outputs="$all_outputs $outputs"
4721 if test x$outputs = x
4722 then
4723 oldstyle_subdirs="$oldstyle_subdirs $s"
4724 fi
4725 all_lib2funcs="$all_lib2funcs $lib2funcs"
4726 fi
4727done
4728
4729# Since we can't use `::' targets, we link each language in
4730# with a set of hooks, reached indirectly via lang.${target}.
4731
4732rm -f Make-hooks
4733touch Make-hooks
4734target_list="all.build all.cross start.encap rest.encap \
4735 info dvi \
4736 install-normal install-common install-info install-man \
4737 uninstall distdir \
4738 mostlyclean clean distclean extraclean maintainer-clean \
4739 stage1 stage2 stage3 stage4"
4740for t in $target_list
4741do
4742 x=
4743 for lang in .. $all_languages
4744 do
4745 if test $lang != ".."; then
4746 x="$x $lang.$t"
4747 fi
4748 done
4749 echo "lang.$t: $x" >> Make-hooks
4750done
4751
4752# If we're not building in srcdir, create .gdbinit.
4753
4754if test ! -f Makefile.in; then
4755 echo "dir ." > .gdbinit
4756 echo "dir ${srcdir}" >> .gdbinit
4757 if test x$gdb_needs_out_file_path = xyes
4758 then
4759 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
4760 fi
4761 if test "x$subdirs" != x; then
4762 for s in $subdirs
4763 do
4764 echo "dir ${srcdir}/$s" >> .gdbinit
4765 done
4766 fi
4767 echo "source ${srcdir}/.gdbinit" >> .gdbinit
4768fi
4769
4770# Define variables host_canonical and build_canonical
4771# because some Cygnus local changes in the Makefile depend on them.
4772build_canonical=${build}
4773host_canonical=${host}
4774target_subdir=
4775if test "${host}" != "${target}" ; then
4776 target_subdir=${target}/
4777fi
4778AC_SUBST(build_canonical)
4779AC_SUBST(host_canonical)
4780AC_SUBST(target_subdir)
4781
4782# If this is using newlib, then define inhibit_libc in
4783# LIBGCC2_CFLAGS. This will cause __eprintf to be left out of
4784# libgcc.a, but that's OK because newib should have its own version of
4785# assert.h.
4786inhibit_libc=
4787if test x$with_newlib = xyes; then
4788 inhibit_libc=-Dinhibit_libc
4789fi
4790AC_SUBST(inhibit_libc)
4791
4792# If $(exec_prefix) exists and is not the same as $(prefix), then compute an
4793# absolute path for gcc_tooldir based on inserting the number of up-directory
4794# movements required to get from $(exec_prefix) to $(prefix) into the basic
4795# $(libsubdir)/@(unlibsubdir) based path.
4796# Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
4797# make and thus we'd get different behavior depending on where we built the
4798# sources.
4799if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
4800 gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
4801else
4802changequote(<<, >>)dnl
4803# An explanation of the sed strings:
4804# -e 's|^\$(prefix)||' matches and eliminates 'prefix' from 'exec_prefix'
4805# -e 's|/$||' match a trailing forward slash and eliminates it
4806# -e 's|^[^/]|/|' forces the string to start with a forward slash (*)
4807# -e 's|/[^/]*|../|g' replaces each occurance of /<directory> with ../
4808#
4809# (*) Note this pattern overwrites the first character of the string
4810# with a forward slash if one is not already present. This is not a
4811# problem because the exact names of the sub-directories concerned is
4812# unimportant, just the number of them matters.
4813#
4814# The practical upshot of these patterns is like this:
4815#
4816# prefix exec_prefix result
4817# ------ ----------- ------
4818# /foo /foo/bar ../
4819# /foo/ /foo/bar ../
4820# /foo /foo/bar/ ../
4821# /foo/ /foo/bar/ ../
4822# /foo /foo/bar/ugg ../../
4823#
4824 dollar='$$'
4825 gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
4826changequote([, ])dnl
4827fi
4828AC_SUBST(gcc_tooldir)
4829AC_SUBST(dollar)
4830
4831# Nothing to do for FLOAT_H, float_format already handled.
4832objdir=`pwd`
4833AC_SUBST(objdir)
4834
4835# Process the language and host/target makefile fragments.
4836${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
4837
4838# Substitute configuration variables
4839AC_SUBST(subdirs)
4840AC_SUBST(all_boot_languages)
4841AC_SUBST(all_compilers)
4842AC_SUBST(all_diff_excludes)
4843AC_SUBST(all_headers)
4844AC_SUBST(all_lang_makefiles)
4845AC_SUBST(all_languages)
4846AC_SUBST(all_lib2funcs)
4847AC_SUBST(all_stagestuff)
4848AC_SUBST(build_exeext)
4849AC_SUBST(build_install_headers_dir)
4850AC_SUBST(build_xm_file_list)
4851AC_SUBST(cc_set_by_configure)
4852AC_SUBST(quoted_cc_set_by_configure)
4853AC_SUBST(cpp_install_dir)
4854AC_SUBST(dep_host_xmake_file)
4855AC_SUBST(dep_tmake_file)
4856AC_SUBST(extra_c_flags)
4857AC_SUBST(extra_c_objs)
4858AC_SUBST(extra_cpp_objs)
4859AC_SUBST(extra_cxx_objs)
4860AC_SUBST(extra_headers_list)
4861AC_SUBST(extra_objs)
4862AC_SUBST(extra_parts)
4863AC_SUBST(extra_passes)
4864AC_SUBST(extra_programs)
4865AC_SUBST(float_h_file)
4866AC_SUBST(gcc_gxx_include_dir)
4867AC_SUBST(gcc_version)
4868AC_SUBST(gcc_version_trigger)
4869AC_SUBST(host_exeext)
4870AC_SUBST(host_extra_gcc_objs)
4871AC_SUBST(host_xm_file_list)
4872AC_SUBST(install)
4873AC_SUBST(lang_options_files)
4874AC_SUBST(lang_specs_files)
4875AC_SUBST(lang_tree_files)
4876AC_SUBST(local_prefix)
4877AC_SUBST(maybe_use_collect2)
4878AC_SUBST(md_file)
4879AC_SUBST(objc_boehm_gc)
4880AC_SUBST(out_file)
4881AC_SUBST(out_object_file)
4882AC_SUBST(stage_prefix_set_by_configure)
4883AC_SUBST(symbolic_link)
4884AC_SUBST(thread_file)
4885AC_SUBST(tm_file_list)
4886AC_SUBST(will_use_collect2)
4887
4888
4889AC_SUBST_FILE(target_overrides)
4890AC_SUBST_FILE(host_overrides)
4891AC_SUBST(cross_defines)
4892AC_SUBST_FILE(cross_overrides)
4893AC_SUBST_FILE(build_overrides)
4894AC_SUBST_FILE(language_fragments)
4895AC_SUBST_FILE(language_hooks)
4896
4897# Echo that links are built
4898if test x$host = x$target
4899then
4900 str1="native "
4901else
4902 str1="cross-"
4903 str2=" from $host"
4904fi
4905
4906if test x$host != x$build
4907then
4908 str3=" on a $build system"
4909fi
4910
4911if test "x$str2" != x || test "x$str3" != x
4912then
4913 str4=
4914fi
4915
4916echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
4917
4918if test "x$str2" != x || test "x$str3" != x
4919then
4920 echo " ${str2}${str3}." 1>&2
4921fi
4922
4923# Truncate the target if necessary
4924if test x$host_truncate_target != x; then
4925 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
4926fi
4927
4928# Configure the subdirectories
4929# AC_CONFIG_SUBDIRS($subdirs)
4930
4931# Create the Makefile
4932# and configure language subdirectories
4933AC_OUTPUT($all_outputs,
4934[
4935. $srcdir/configure.lang
4936case x$CONFIG_HEADERS in
4937xauto-host.h:config.in)
4938echo > cstamp-h ;;
4939esac
4940# If the host supports symlinks, point stage[1234] at ../stage[1234] so
4941# bootstrapping and the installation procedure can still use
4942# CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
4943# FLAGS_TO_PASS has been modified to solve the problem there.
4944# This is virtually a duplicate of what happens in configure.lang; we do
4945# an extra check to make sure this only happens if ln -s can be used.
4946if test "$symbolic_link" = "ln -s"; then
4947 for d in .. ${subdirs} ; do
4948 if test $d != ..; then
4949 STARTDIR=`pwd`
4950 cd $d
4951 for t in stage1 stage2 stage3 stage4 include
4952 do
4953 rm -f $t
4954 $symbolic_link ../$t $t 2>/dev/null
4955 done
4956 cd $STARTDIR
4957 fi
4958 done
4959else true ; fi
4960# Avoid having to add intl to our include paths.
4961if test -f intl/libintl.h; then
4962 echo creating libintl.h
4963 echo '#include "intl/libintl.h"' >libintl.h
4964fi
4965],
4966[
4967host='${host}'
4968build='${build}'
4969target='${target}'
4970target_alias='${target_alias}'
4971srcdir='${srcdir}'
4972subdirs='${subdirs}'
4973oldstyle_subdirs='${oldstyle_subdirs}'
4974symbolic_link='${symbolic_link}'
4975program_transform_set='${program_transform_set}'
4976program_transform_name='${program_transform_name}'
4977dep_host_xmake_file='${dep_host_xmake_file}'
4978host_xmake_file='${host_xmake_file}'
4979dep_tmake_file='${dep_tmake_file}'
4980tmake_file='${tmake_file}'
4981thread_file='${thread_file}'
4982gcc_version='${gcc_version}'
4983gcc_version_trigger='${gcc_version_trigger}'
4984local_prefix='${local_prefix}'
4985build_install_headers_dir='${build_install_headers_dir}'
4986build_exeext='${build_exeext}'
4987host_exeext='${host_exeext}'
4988out_file='${out_file}'
4989gdb_needs_out_file_path='${gdb_needs_out_file_path}'
4990SET_MAKE='${SET_MAKE}'
4991target_list='${target_list}'
4992target_overrides='${target_overrides}'
4993host_overrides='${host_overrides}'
4994cross_defines='${cross_defines}'
4995cross_overrides='${cross_overrides}'
4996build_overrides='${build_overrides}'
4997cpp_install_dir='${cpp_install_dir}'
4998])