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