Makefile.in (clean): Remove libgcc directory.
[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 mipsel-*) tm_file="mips/elfl.h mips/linux.h" ;;
2748 *) tm_file="mips/elf.h mips/linux.h" ;;
2749 esac
2750 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2751 gnu_ld=yes
2752 gas=yes
2753 if test x$enable_threads = xyes; then
2754 thread_file='posix'
2755 fi
2756 ;;
2757 mips*el-*-openbsd*) # mips little endian
2758 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2759 ;;
2760 mips*-*-openbsd*) # mips big endian
2761 target_cpu_default="MASK_GAS|MASK_ABICALLS"
2762 tm_file="mips/openbsd-be.h ${tm_file}"
2763 ;;
2764 mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
2765 tm_file="mips/news4.h ${tm_file}"
2766 if test x$stabs = xyes; then
2767 tm_file="${tm_file} dbx.h"
2768 fi
2769 if test x$gas = xyes
2770 then
2771 tmake_file=mips/t-mips-gas
2772 else
2773 extra_passes="mips-tfile mips-tdump"
2774 fi
2775 if test x$gnu_ld != xyes
2776 then
2777 use_collect2=yes
2778 fi
2779 xmake_file=mips/x-sony
2780 ;;
2781 mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0.
2782 # That is based on svr4.
2783 # t-svr4 is not right because this system doesn't use ELF.
2784 tm_file="mips/news5.h ${tm_file}"
2785 if test x$stabs = xyes; then
2786 tm_file="${tm_file} dbx.h"
2787 fi
2788 xm_defines=USG
2789 if test x$gas = xyes
2790 then
2791 tmake_file=mips/t-mips-gas
2792 else
2793 extra_passes="mips-tfile mips-tdump"
2794 fi
2795 if test x$gnu_ld != xyes
2796 then
2797 use_collect2=yes
2798 fi
2799 ;;
2800 mips-tandem-sysv4*) # Tandem S2 running NonStop UX
2801 tm_file="mips/svr4-5.h mips/svr4-t.h"
2802 if test x$stabs = xyes; then
2803 tm_file="${tm_file} dbx.h"
2804 fi
2805 xm_defines=USG
2806 xmake_file=mips/x-sysv
2807 if test x$gas = xyes
2808 then
2809 tmake_file=mips/t-mips-gas
2810 extra_parts="crtbegin.o crtend.o"
2811 else
2812 tmake_file=mips/t-mips
2813 extra_passes="mips-tfile mips-tdump"
2814 fi
2815 if test x$gnu_ld != xyes
2816 then
2817 use_collect2=yes
2818 fi
2819 ;;
2820 mips-*-ultrix* | mips-dec-mach3) # Decstation.
2821 tm_file="mips/ultrix.h ${tm_file}"
2822 if test x$stabs = xyes; then
2823 tm_file="${tm_file} dbx.h"
2824 fi
2825 xmake_file=mips/x-ultrix
2826 if test x$gas = xyes
2827 then
2828 tmake_file=mips/t-mips-gas
2829 else
2830 tmake_file=mips/t-ultrix
2831 extra_passes="mips-tfile mips-tdump"
2832 fi
2833 if test x$gnu_ld != xyes
2834 then
2835 use_collect2=yes
2836 fi
2837 ;;
2838 changequote(,)dnl
2839 mips-*-riscos[56789]bsd*)
2840 changequote([,])dnl
2841 tm_file=mips/bsd-5.h # MIPS BSD 4.3, RISC-OS 5.0
2842 if test x$stabs = xyes; then
2843 tm_file="${tm_file} dbx.h"
2844 fi
2845 if test x$gas = xyes
2846 then
2847 tmake_file=mips/t-bsd-gas
2848 else
2849 tmake_file=mips/t-bsd
2850 extra_passes="mips-tfile mips-tdump"
2851 fi
2852 if test x$gnu_ld != xyes
2853 then
2854 use_collect2=yes
2855 fi
2856 ;;
2857 changequote(,)dnl
2858 mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
2859 changequote([,])dnl
2860 tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
2861 if test x$stabs = xyes; then
2862 tm_file="${tm_file} dbx.h"
2863 fi
2864 if test x$gas = xyes
2865 then
2866 tmake_file=mips/t-bsd-gas
2867 else
2868 tmake_file=mips/t-bsd
2869 extra_passes="mips-tfile mips-tdump"
2870 fi
2871 if test x$gnu_ld != xyes
2872 then
2873 use_collect2=yes
2874 fi
2875 ;;
2876 changequote(,)dnl
2877 mips-*-riscos[56789]sysv4*)
2878 changequote([,])dnl
2879 tm_file=mips/svr4-5.h # MIPS System V.4., RISC-OS 5.0
2880 if test x$stabs = xyes; then
2881 tm_file="${tm_file} dbx.h"
2882 fi
2883 xmake_file=mips/x-sysv
2884 if test x$gas = xyes
2885 then
2886 tmake_file=mips/t-svr4-gas
2887 else
2888 tmake_file=mips/t-svr4
2889 extra_passes="mips-tfile mips-tdump"
2890 fi
2891 if test x$gnu_ld != xyes
2892 then
2893 use_collect2=yes
2894 fi
2895 ;;
2896 changequote(,)dnl
2897 mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
2898 changequote([,])dnl
2899 tm_file="mips/svr4-4.h ${tm_file}"
2900 if test x$stabs = xyes; then
2901 tm_file="${tm_file} dbx.h"
2902 fi
2903 xm_defines=USG
2904 xmake_file=mips/x-sysv
2905 if test x$gas = xyes
2906 then
2907 tmake_file=mips/t-svr4-gas
2908 else
2909 tmake_file=mips/t-svr4
2910 extra_passes="mips-tfile mips-tdump"
2911 fi
2912 if test x$gnu_ld != xyes
2913 then
2914 use_collect2=yes
2915 fi
2916 ;;
2917 changequote(,)dnl
2918 mips-*-riscos[56789]sysv*)
2919 changequote([,])dnl
2920 tm_file=mips/svr3-5.h # MIPS System V.3, RISC-OS 5.0
2921 if test x$stabs = xyes; then
2922 tm_file="${tm_file} dbx.h"
2923 fi
2924 xm_defines=USG
2925 xmake_file=mips/x-sysv
2926 if test x$gas = xyes
2927 then
2928 tmake_file=mips/t-svr3-gas
2929 else
2930 tmake_file=mips/t-svr3
2931 extra_passes="mips-tfile mips-tdump"
2932 fi
2933 if test x$gnu_ld != xyes
2934 then
2935 use_collect2=yes
2936 fi
2937 ;;
2938 mips-*-sysv* | mips-*-riscos*sysv*)
2939 tm_file="mips/svr3-4.h ${tm_file}"
2940 if test x$stabs = xyes; then
2941 tm_file="${tm_file} dbx.h"
2942 fi
2943 xm_defines=USG
2944 xmake_file=mips/x-sysv
2945 if test x$gas = xyes
2946 then
2947 tmake_file=mips/t-svr3-gas
2948 else
2949 tmake_file=mips/t-svr3
2950 extra_passes="mips-tfile mips-tdump"
2951 fi
2952 if test x$gnu_ld != xyes
2953 then
2954 use_collect2=yes
2955 fi
2956 ;;
2957 changequote(,)dnl
2958 mips-*-riscos[56789]*) # Default MIPS RISC-OS 5.0.
2959 changequote([,])dnl
2960 tm_file=mips/mips-5.h
2961 if test x$stabs = xyes; then
2962 tm_file="${tm_file} dbx.h"
2963 fi
2964 if test x$gas = xyes
2965 then
2966 tmake_file=mips/t-mips-gas
2967 else
2968 extra_passes="mips-tfile mips-tdump"
2969 fi
2970 if test x$gnu_ld != xyes
2971 then
2972 use_collect2=yes
2973 fi
2974 ;;
2975 mips-*-gnu*)
2976 ;;
2977 mipsel-*-ecoff*)
2978 tm_file=mips/ecoffl.h
2979 if test x$stabs = xyes; then
2980 tm_file="${tm_file} dbx.h"
2981 fi
2982 tmake_file=mips/t-ecoff
2983 ;;
2984 mips-*-ecoff*)
2985 tm_file="gofast.h mips/ecoff.h"
2986 if test x$stabs = xyes; then
2987 tm_file="${tm_file} dbx.h"
2988 fi
2989 tmake_file=mips/t-ecoff
2990 ;;
2991 mipsel-*-elf*)
2992 tm_file="mips/elfl.h"
2993 tmake_file=mips/t-elf
2994 ;;
2995 mips-*-elf*)
2996 tm_file="mips/elf.h"
2997 tmake_file=mips/t-elf
2998 ;;
2999 mips64el-*-elf*)
3000 tm_file="mips/elfl64.h"
3001 tmake_file=mips/t-elf
3002 ;;
3003 mips64orionel-*-elf*)
3004 tm_file="mips/elforion.h mips/elfl64.h"
3005 tmake_file=mips/t-elf
3006 ;;
3007 mips64-*-elf*)
3008 tm_file="mips/elf64.h"
3009 tmake_file=mips/t-elf
3010 ;;
3011 mips64orion-*-elf*)
3012 tm_file="mips/elforion.h mips/elf64.h"
3013 tmake_file=mips/t-elf
3014 ;;
3015 mips64orion-*-rtems*)
3016 tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
3017 tmake_file="mips/t-elf t-rtems"
3018 ;;
3019 mipstx39el-*-elf*)
3020 tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
3021 tmake_file=mips/t-r3900
3022 ;;
3023 mipstx39-*-elf*)
3024 tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
3025 tmake_file=mips/t-r3900
3026 ;;
3027 mips-*-*) # Default MIPS RISC-OS 4.0.
3028 if test x$stabs = xyes; then
3029 tm_file="${tm_file} dbx.h"
3030 fi
3031 if test x$gas = xyes
3032 then
3033 tmake_file=mips/t-mips-gas
3034 else
3035 extra_passes="mips-tfile mips-tdump"
3036 fi
3037 if test x$gnu_ld != xyes
3038 then
3039 use_collect2=yes
3040 fi
3041 ;;
3042 mn10200-*-*)
3043 float_format=i32
3044 cpu_type=mn10200
3045 tm_file="mn10200/mn10200.h"
3046 if test x$stabs = xyes
3047 then
3048 tm_file="${tm_file} dbx.h"
3049 fi
3050 use_collect2=no
3051 ;;
3052 mn10300-*-*)
3053 cpu_type=mn10300
3054 tm_file="mn10300/mn10300.h"
3055 if test x$stabs = xyes
3056 then
3057 tm_file="${tm_file} dbx.h"
3058 fi
3059 use_collect2=no
3060 ;;
3061 ns32k-encore-bsd*)
3062 tm_file=ns32k/encore.h
3063 use_collect2=yes
3064 ;;
3065 ns32k-sequent-bsd*)
3066 tm_file=ns32k/sequent.h
3067 use_collect2=yes
3068 ;;
3069 ns32k-tek6100-bsd*)
3070 tm_file=ns32k/tek6100.h
3071 use_collect2=yes
3072 ;;
3073 ns32k-tek6200-bsd*)
3074 tm_file=ns32k/tek6200.h
3075 use_collect2=yes
3076 ;;
3077 # This has not been updated to GCC 2.
3078 # ns32k-ns-genix*)
3079 # xm_defines=USG
3080 # xmake_file=ns32k/x-genix
3081 # tm_file=ns32k/genix.h
3082 # use_collect2=yes
3083 # ;;
3084 ns32k-merlin-*)
3085 tm_file=ns32k/merlin.h
3086 use_collect2=yes
3087 ;;
3088 ns32k-pc532-mach*)
3089 tm_file=ns32k/pc532-mach.h
3090 use_collect2=yes
3091 ;;
3092 ns32k-pc532-minix*)
3093 tm_file=ns32k/pc532-min.h
3094 xm_file="ns32k/xm-pc532-min.h ${xm-file}"
3095 xm_defines=USG
3096 use_collect2=yes
3097 ;;
3098 ns32k-*-netbsd*)
3099 tm_file=ns32k/netbsd.h
3100 xm_file="ns32k/xm-netbsd.h ${xm_file}"
3101 # On NetBSD, the headers are already okay, except for math.h.
3102 tmake_file=t-netbsd
3103 use_collect2=yes
3104 ;;
3105 pdp11-*-bsd)
3106 tm_file="${tm_file} pdp11/2bsd.h"
3107 ;;
3108 pdp11-*-*)
3109 ;;
3110 avr-*-*)
3111 ;;
3112 ns32k-*-openbsd*)
3113 # Nothing special
3114 ;;
3115 # This has not been updated to GCC 2.
3116 # pyramid-*-*)
3117 # cpu_type=pyr
3118 # xmake_file=pyr/x-pyr
3119 # use_collect2=yes
3120 # ;;
3121
3122 pj*-linux*)
3123 tm_file="svr4.h pj/linux.h ${tm_file}"
3124 ;;
3125 pj-*)
3126 ;;
3127 pjl-*)
3128 tm_file="svr4.h pj/pjl.h ${tm_file}"
3129 ;;
3130
3131 romp-*-aos*)
3132 use_collect2=yes
3133 ;;
3134 romp-*-mach*)
3135 xmake_file=romp/x-mach
3136 use_collect2=yes
3137 ;;
3138 romp-*-openbsd*)
3139 # Nothing special
3140 ;;
3141 powerpc-*-openbsd*)
3142 tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
3143 ;;
3144 powerpc-*-beos*)
3145 cpu_type=rs6000
3146 tm_file=rs6000/beos.h
3147 xm_file=rs6000/xm-beos.h
3148 tmake_file=rs6000/t-beos
3149 xmake_file=rs6000/x-beos
3150 ;;
3151 powerpc-*-sysv*)
3152 tm_file=rs6000/sysv4.h
3153 xm_file="rs6000/xm-sysv4.h"
3154 xm_defines="USG POSIX"
3155 extra_headers=ppc-asm.h
3156 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3157 xmake_file=rs6000/x-sysv4
3158 ;;
3159 powerpc-*-eabiaix*)
3160 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabiaix.h"
3161 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3162 extra_headers=ppc-asm.h
3163 ;;
3164 powerpc-*-eabisim*)
3165 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
3166 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3167 extra_headers=ppc-asm.h
3168 ;;
3169 powerpc-*-elf*)
3170 tm_file="rs6000/sysv4.h"
3171 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3172 extra_headers=ppc-asm.h
3173 ;;
3174 powerpc-*-eabi*)
3175 tm_file="rs6000/sysv4.h rs6000/eabi.h"
3176 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3177 extra_headers=ppc-asm.h
3178 ;;
3179 powerpc-*-rtems*)
3180 tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h"
3181 tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
3182 extra_headers=ppc-asm.h
3183 ;;
3184 powerpc-*-linux-gnulibc1)
3185 tm_file="rs6000/sysv4.h rs6000/linux.h"
3186 xm_file=rs6000/xm-sysv4.h
3187 out_file=rs6000/rs6000.c
3188 tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
3189 xmake_file=x-linux
3190 extra_headers=ppc-asm.h
3191 if test x$enable_threads = xyes; then
3192 thread_file='posix'
3193 fi
3194 ;;
3195 powerpc-*-linux-gnu*)
3196 tm_file="rs6000/sysv4.h rs6000/linux.h"
3197 xm_file="rs6000/xm-sysv4.h"
3198 xm_defines="USG ${xm_defines}"
3199 out_file=rs6000/rs6000.c
3200 tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
3201 xmake_file=x-linux
3202 extra_headers=ppc-asm.h
3203 if test x$enable_threads = xyes; then
3204 thread_file='posix'
3205 fi
3206 ;;
3207 powerpc-wrs-vxworks*)
3208 cpu_type=rs6000
3209 xm_file="rs6000/xm-sysv4.h"
3210 xm_defines="USG POSIX"
3211 tm_file="rs6000/sysv4.h rs6000/vxppc.h"
3212 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3213 extra_headers=ppc-asm.h
3214 thread_file='vxworks'
3215 ;;
3216 powerpcle-wrs-vxworks*)
3217 cpu_type=rs6000
3218 xm_file="rs6000/xm-sysv4.h"
3219 xm_defines="USG POSIX"
3220 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
3221 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3222 extra_headers=ppc-asm.h
3223 thread_file='vxworks'
3224 ;;
3225 powerpcle-*-sysv*)
3226 tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
3227 xm_file="rs6000/xm-sysv4.h"
3228 xm_defines="USG POSIX"
3229 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3230 xmake_file=rs6000/x-sysv4
3231 extra_headers=ppc-asm.h
3232 ;;
3233 powerpcle-*-elf*)
3234 tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
3235 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3236 extra_headers=ppc-asm.h
3237 ;;
3238 powerpcle-*-eabisim*)
3239 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
3240 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3241 extra_headers=ppc-asm.h
3242 ;;
3243 powerpcle-*-eabi*)
3244 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
3245 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
3246 extra_headers=ppc-asm.h
3247 ;;
3248 powerpcle-*-solaris2*)
3249 tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/sol2.h"
3250 xm_file="rs6000/xm-sysv4.h"
3251 xm_defines="USG POSIX"
3252 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
3253 xmake_file=rs6000/x-sysv4
3254 extra_headers=ppc-asm.h
3255 ;;
3256 changequote(,)dnl
3257 rs6000-ibm-aix3.[01]*)
3258 changequote([,])dnl
3259 tm_file=rs6000/aix31.h
3260 xmake_file=rs6000/x-aix31
3261 float_format=none
3262 use_collect2=yes
3263 ;;
3264 changequote(,)dnl
3265 rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
3266 changequote([,])dnl
3267 tm_file=rs6000/aix3newas.h
3268 if test x$host != x$target
3269 then
3270 tmake_file=rs6000/t-xnewas
3271 else
3272 tmake_file=rs6000/t-newas
3273 fi
3274 float_format=none
3275 use_collect2=yes
3276 ;;
3277 changequote(,)dnl
3278 rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
3279 changequote([,])dnl
3280 tm_file=rs6000/aix41.h
3281 if test x$host != x$target
3282 then
3283 tmake_file=rs6000/t-xnewas
3284 else
3285 tmake_file=rs6000/t-newas
3286 fi
3287 if test "$gnu_ld" = yes
3288 then
3289 xmake_file=rs6000/x-aix41-gld
3290 else
3291 tmake_file="rs6000/t-newas rs6000/t-aix41"
3292 fi
3293 xmake_file=rs6000/x-aix41
3294 float_format=none
3295 use_collect2=yes
3296 ;;
3297 changequote(,)dnl
3298 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
3299 changequote([,])dnl
3300 tm_file=rs6000/aix43.h
3301 tmake_file=rs6000/t-aix43
3302 xmake_file=rs6000/x-aix41
3303 float_format=none
3304 use_collect2=yes
3305 ;;
3306 changequote(,)dnl
3307 rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
3308 changequote([,])dnl
3309 tm_file=rs6000/aix43.h
3310 tmake_file=rs6000/t-aix43
3311 xmake_file=rs6000/x-aix41
3312 float_format=none
3313 use_collect2=yes
3314 ;;
3315 rs6000-ibm-aix*)
3316 float_format=none
3317 use_collect2=yes
3318 ;;
3319 rs6000-bull-bosx)
3320 float_format=none
3321 use_collect2=yes
3322 ;;
3323 rs6000-*-mach*)
3324 tm_file=rs6000/mach.h
3325 xm_file="${xm_file} rs6000/xm-mach.h"
3326 xmake_file=rs6000/x-mach
3327 use_collect2=yes
3328 ;;
3329 rs6000-*-lynxos*)
3330 tm_file=rs6000/lynx.h
3331 xm_file=rs6000/xm-lynx.h
3332 tmake_file=rs6000/t-rs6000
3333 xmake_file=rs6000/x-lynx
3334 use_collect2=yes
3335 ;;
3336 sh-*-elf*)
3337 tm_file=sh/elf.h
3338 float_format=sh
3339 ;;
3340 sh-*-rtemself*)
3341 tmake_file="sh/t-sh t-rtems"
3342 tm_file=sh/rtemself.h
3343 float_format=sh
3344 ;;
3345 sh-*-rtems*)
3346 tmake_file="sh/t-sh t-rtems"
3347 tm_file=sh/rtems.h
3348 float_format=sh
3349 ;;
3350 sh-*-*)
3351 float_format=sh
3352 ;;
3353 sparc-tti-*)
3354 tm_file=sparc/pbd.h
3355 xm_file="xm-alloca.h ${xm_file}"
3356 xm_defines=USG
3357 ;;
3358 sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
3359 tm_file=sparc/vxsparc.h
3360 tmake_file=sparc/t-vxsparc
3361 use_collect2=yes
3362 thread_file='vxworks'
3363 ;;
3364 sparc-*-aout*)
3365 tmake_file=sparc/t-sparcbare
3366 tm_file="sparc/aout.h libgloss.h"
3367 ;;
3368 sparc-*-netbsd*)
3369 tm_file=sparc/netbsd.h
3370 tmake_file=t-netbsd
3371 use_collect2=yes
3372 ;;
3373 sparc-*-openbsd*)
3374 # we need collect2 until our bug is fixed...
3375 use_collect2=yes
3376 ;;
3377 sparc-*-bsd*)
3378 tm_file=sparc/bsd.h
3379 ;;
3380 sparc-*-elf*)
3381 tm_file=sparc/elf.h
3382 tmake_file=sparc/t-elf
3383 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3384 #float_format=i128
3385 float_format=i64
3386 ;;
3387 sparc-*-linux-gnuaout*) # Sparc's running GNU/Linux, a.out
3388 xm_file="${xm_file} sparc/xm-linux.h"
3389 tm_file=sparc/linux-aout.h
3390 xmake_file=x-linux
3391 gnu_ld=yes
3392 ;;
3393 sparc-*-linux-gnulibc1*) # Sparc's running GNU/Linux, libc5
3394 xm_file="${xm_file} sparc/xm-linux.h"
3395 xmake_file=x-linux
3396 tm_file=sparc/linux.h
3397 tmake_file="t-linux t-linux-gnulibc1"
3398 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3399 gnu_ld=yes
3400 float_format=sparc
3401 ;;
3402 sparc-*-linux-gnu*) # Sparc's running GNU/Linux, libc6
3403 xm_file="${xm_file} sparc/xm-linux.h"
3404 xmake_file=x-linux
3405 tm_file=sparc/linux.h
3406 tmake_file="t-linux"
3407 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3408 gnu_ld=yes
3409 if test x$enable_threads = xyes; then
3410 thread_file='posix'
3411 fi
3412 float_format=sparc
3413 ;;
3414 sparc-*-lynxos*)
3415 if test x$gas = xyes
3416 then
3417 tm_file=sparc/lynx.h
3418 else
3419 tm_file=sparc/lynx-ng.h
3420 fi
3421 xm_file=sparc/xm-lynx.h
3422 tmake_file=sparc/t-sunos41
3423 xmake_file=x-lynx
3424 ;;
3425 sparc-*-rtemsaout*)
3426 tmake_file="sparc/t-sparcbare t-rtems"
3427 tm_file=sparc/rtems.h
3428 ;;
3429 sparc-*-rtems*|sparc-*-rtemself*)
3430 tm_file="sparc/rtemself.h"
3431 tmake_file="sparc/t-elf t-rtems"
3432 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
3433 #float_format=i128
3434 float_format=i64
3435 ;;
3436 sparcv9-*-solaris2*)
3437 if test x$gnu_ld = xyes
3438 then
3439 tm_file=sparc/sol2-64.h
3440 else
3441 tm_file=sparc/sol2-sld-64.h
3442 fi
3443 xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
3444 xm_defines="USG POSIX"
3445 tmake_file="sparc/t-sol2 sparc/t-sol2-64"
3446 xmake_file=sparc/x-sysv4
3447 extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
3448 float_format=none
3449 if test x${enable_threads} = x ; then
3450 enable_threads=$have_pthread_h
3451 if test x${enable_threads} = x ; then
3452 enable_threads=$have_thread_h
3453 fi
3454 fi
3455 if test x${enable_threads} = xyes ; then
3456 if test x${have_pthread_h} = xyes ; then
3457 thread_file='posix'
3458 else
3459 thread_file='solaris'
3460 fi
3461 fi
3462 ;;
3463 sparc-hal-solaris2*)
3464 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3465 xm_defines="USG POSIX"
3466 tm_file="sparc/sol2.h sparc/hal.h"
3467 tmake_file="sparc/t-halos sparc/t-sol2"
3468 xmake_file=sparc/x-sysv4
3469 extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
3470 case $machine in
3471 changequote(,)dnl
3472 *-*-solaris2.[0-4])
3473 changequote([,])dnl
3474 float_format=i128
3475 ;;
3476 *)
3477 float_format=none
3478 ;;
3479 esac
3480 thread_file='solaris'
3481 ;;
3482 sparc-*-solaris2*)
3483 if test x$gnu_ld = xyes
3484 then
3485 tm_file=sparc/sol2.h
3486 else
3487 tm_file=sparc/sol2-sld.h
3488 fi
3489 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3490 xm_defines="USG POSIX"
3491 tmake_file=sparc/t-sol2
3492 xmake_file=sparc/x-sysv4
3493 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
3494 case $machine in
3495 changequote(,)dnl
3496 *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
3497 changequote([,])dnl
3498 *-*-solaris2*)
3499 if test x$gnu_ld = xyes
3500 then
3501 tm_file=sparc/sol2-64.h
3502 else
3503 tm_file=sparc/sol2-sld-64.h
3504 fi
3505 tmake_file="$tmake_file sparc/t-sol2-64"
3506 ;;
3507 esac
3508 case $machine in
3509 changequote(,)dnl
3510 *-*-solaris2.[0-4])
3511 changequote([,])dnl
3512 float_format=i128
3513 ;;
3514 *)
3515 float_format=none
3516 ;;
3517 esac
3518 if test x${enable_threads} = x; then
3519 enable_threads=$have_pthread_h
3520 if test x${enable_threads} = x; then
3521 enable_threads=$have_thread_h
3522 fi
3523 fi
3524 if test x${enable_threads} = xyes; then
3525 if test x${have_pthread_h} = xyes; then
3526 thread_file='posix'
3527 else
3528 thread_file='solaris'
3529 fi
3530 fi
3531 ;;
3532 sparc-*-sunos4.0*)
3533 tm_file=sparc/sunos4.h
3534 tmake_file=sparc/t-sunos40
3535 use_collect2=yes
3536 ;;
3537 sparc-*-sunos4*)
3538 tm_file=sparc/sunos4.h
3539 tmake_file=sparc/t-sunos41
3540 use_collect2=yes
3541 if test x$gas = xyes; then
3542 tm_file="${tm_file} sparc/sun4gas.h"
3543 fi
3544 ;;
3545 sparc-*-sunos3*)
3546 tm_file=sparc/sun4o3.h
3547 use_collect2=yes
3548 ;;
3549 sparc-*-sysv4*)
3550 tm_file=sparc/sysv4.h
3551 xm_file="sparc/xm-sysv4.h"
3552 xm_defines="USG POSIX"
3553 tmake_file=t-svr4
3554 xmake_file=sparc/x-sysv4
3555 extra_parts="crtbegin.o crtend.o"
3556 ;;
3557 sparc-*-vxsim*)
3558 xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
3559 xm_defines="USG POSIX"
3560 tm_file=sparc/vxsim.h
3561 tmake_file=sparc/t-vxsparc
3562 xmake_file=sparc/x-sysv4
3563 ;;
3564 sparclet-*-aout*)
3565 tm_file="sparc/splet.h libgloss.h"
3566 tmake_file=sparc/t-splet
3567 ;;
3568 sparclite-*-coff*)
3569 tm_file="sparc/litecoff.h libgloss.h"
3570 tmake_file=sparc/t-sparclite
3571 ;;
3572 sparclite-*-aout*)
3573 tm_file="sparc/lite.h aoutos.h libgloss.h"
3574 tmake_file=sparc/t-sparclite
3575 ;;
3576 sparclite-*-elf*)
3577 tm_file="sparc/liteelf.h"
3578 tmake_file=sparc/t-sparclite
3579 extra_parts="crtbegin.o crtend.o"
3580 ;;
3581 sparc86x-*-aout*)
3582 tm_file="sparc/sp86x-aout.h aoutos.h libgloss.h"
3583 tmake_file=sparc/t-sp86x
3584 ;;
3585 sparc86x-*-elf*)
3586 tm_file="sparc/sp86x-elf.h"
3587 tmake_file=sparc/t-sp86x
3588 extra_parts="crtbegin.o crtend.o"
3589 ;;
3590 sparc64-*-aout*)
3591 tmake_file=sparc/t-sp64
3592 tm_file=sparc/sp64-aout.h
3593 ;;
3594 sparc64-*-elf*)
3595 tmake_file=sparc/t-sp64
3596 tm_file=sparc/sp64-elf.h
3597 extra_parts="crtbegin.o crtend.o"
3598 ;;
3599 sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
3600 tmake_file="t-linux sparc/t-linux64"
3601 xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
3602 tm_file=sparc/linux64.h
3603 xmake_file=x-linux
3604 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
3605 gnu_ld=yes
3606 if test x$enable_threads = xyes; then
3607 thread_file='posix'
3608 fi
3609 float_format=sparc
3610 ;;
3611 # This hasn't been upgraded to GCC 2.
3612 # tahoe-harris-*) # Harris tahoe, using COFF.
3613 # tm_file=tahoe/harris.h
3614 # ;;
3615 # tahoe-*-bsd*) # tahoe running BSD
3616 # ;;
3617
3618 thumb*-*-*)
3619 AC_MSG_ERROR([
3620 *** The Thumb targets have been depreciated. The equivalent
3621 *** ARM based toolchain can now generated Thumb instructions
3622 *** when the -mthumb switch is given to the compiler.])
3623 ;;
3624 # This hasn't been upgraded to GCC 2.
3625 # tron-*-*)
3626 # cpu_type=gmicro
3627 # use_collect2=yes
3628 # ;;
3629 v850-*-rtems*)
3630 cpu_type=v850
3631 tm_file="v850/rtems.h"
3632 xm_file="v850/xm-v850.h"
3633 tmake_file="v850/t-v850 t-rtems"
3634 if test x$stabs = xyes
3635 then
3636 tm_file="${tm_file} dbx.h"
3637 fi
3638 use_collect2=no
3639 ;;
3640 v850-*-*)
3641 target_cpu_default="TARGET_CPU_generic"
3642 cpu_type=v850
3643 tm_file="v850/v850.h"
3644 xm_file="v850/xm-v850.h"
3645 tmake_file=v850/t-v850
3646 if test x$stabs = xyes
3647 then
3648 tm_file="${tm_file} dbx.h"
3649 fi
3650 use_collect2=no
3651 ;;
3652 vax-*-bsd*) # vaxen running BSD
3653 use_collect2=yes
3654 float_format=vax
3655 ;;
3656 vax-*-sysv*) # vaxen running system V
3657 tm_file="${tm_file} vax/vaxv.h"
3658 xm_defines=USG
3659 float_format=vax
3660 ;;
3661 vax-*-netbsd*)
3662 tm_file="${tm_file} netbsd.h vax/netbsd.h"
3663 tmake_file=t-netbsd
3664 float_format=vax
3665 use_collect2=yes
3666 ;;
3667 vax-*-openbsd*)
3668 tmake_file="${tmake_file} vax/t-openbsd"
3669 tm_file="vax/vax.h vax/openbsd1.h openbsd.h ${tm_file}"
3670 xm_file="xm-openbsd.h vax/xm-vax.h"
3671 float_format=vax
3672 use_collect2=yes
3673 ;;
3674 vax-*-ultrix*) # vaxen running ultrix
3675 tm_file="${tm_file} vax/ultrix.h"
3676 use_collect2=yes
3677 float_format=vax
3678 ;;
3679 vax-*-vms*) # vaxen running VMS
3680 xm_file=vax/xm-vms.h
3681 tm_file=vax/vms.h
3682 float_format=vax
3683 ;;
3684 vax-*-*) # vax default entry
3685 float_format=vax
3686 ;;
3687 we32k-att-sysv*)
3688 xm_file="${xm_file} xm-svr3"
3689 use_collect2=yes
3690 ;;
3691 *)
3692 echo "Configuration $machine not supported" 1>&2
3693 exit 1
3694 ;;
3695 esac
3696
3697 case $machine in
3698 *-*-linux-gnu*)
3699 ;; # Existing GNU/Linux systems do not use the GNU setup.
3700 *-*-gnu*)
3701 # On the GNU system, the setup is just about the same on
3702 # each different CPU. The specific machines that GNU
3703 # supports are matched above and just set $cpu_type.
3704 xm_file="xm-gnu.h ${xm_file}"
3705 tm_file=${cpu_type}/gnu.h
3706 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
3707 # GNU always uses ELF.
3708 elf=yes
3709 # GNU tools are the only tools.
3710 gnu_ld=yes
3711 gas=yes
3712 xmake_file=x-linux # These details are the same as Linux.
3713 tmake_file=t-gnu # These are not.
3714 ;;
3715 *-*-sysv4*)
3716 xmake_try_sysv=x-sysv
3717 install_headers_dir=install-headers-cpio
3718 ;;
3719 *-*-sysv*)
3720 install_headers_dir=install-headers-cpio
3721 ;;
3722 esac
3723
3724 # Distinguish i[34567]86
3725 # Also, do not run mips-tfile on MIPS if using gas.
3726 # Process --with-cpu= for PowerPC/rs6000
3727 target_cpu_default2=
3728 case $machine in
3729 i486-*-*)
3730 target_cpu_default2=1
3731 ;;
3732 i586-*-*)
3733 case $target_alias in
3734 k6-*)
3735 target_cpu_default2=4
3736 ;;
3737 *)
3738 target_cpu_default2=2
3739 ;;
3740 esac
3741 ;;
3742 i686-*-* | i786-*-*)
3743 target_cpu_default2=3
3744 ;;
3745 alpha*-*-*)
3746 case $machine in
3747 changequote(,)dnl
3748 alphaev6[78]*)
3749 changequote([,])dnl
3750 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
3751 ;;
3752 alphaev6*)
3753 target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
3754 ;;
3755 alphapca56*)
3756 target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
3757 ;;
3758 alphaev56*)
3759 target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
3760 ;;
3761 alphaev5*)
3762 target_cpu_default2="MASK_CPU_EV5"
3763 ;;
3764 esac
3765
3766 if test x$gas = xyes
3767 then
3768 if test "$target_cpu_default2" = ""
3769 then
3770 target_cpu_default2="MASK_GAS"
3771 else
3772 target_cpu_default2="${target_cpu_default2}|MASK_GAS"
3773 fi
3774 fi
3775 ;;
3776 arm*-*-*)
3777 case "x$with_cpu" in
3778 x)
3779 # The most generic
3780 target_cpu_default2="TARGET_CPU_generic"
3781 ;;
3782
3783 # Distinguish cores, and major variants
3784 # arm7m doesn't exist, but D & I don't affect code
3785 changequote(,)dnl
3786 xarm[23678] | xarm250 | xarm[67][01]0 \
3787 | xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
3788 | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
3789 | xstrongarm | xstrongarm110 | xstrongarm1100)
3790 changequote([,])dnl
3791 target_cpu_default2="TARGET_CPU_$with_cpu"
3792 ;;
3793
3794 xyes | xno)
3795 echo "--with-cpu must be passed a value" 1>&2
3796 exit 1
3797 ;;
3798
3799 *)
3800 if test x$pass2done = xyes
3801 then
3802 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3803 exit 1
3804 fi
3805 ;;
3806 esac
3807 ;;
3808
3809 mips*-*-ecoff* | mips*-*-elf*)
3810 if test x$gas = xyes
3811 then
3812 if test x$gnu_ld = xyes
3813 then
3814 target_cpu_default2="MASK_GAS|MASK_SPLIT_ADDR"
3815 else
3816 target_cpu_default2="MASK_GAS"
3817 fi
3818 fi
3819 ;;
3820 mips*-*-*)
3821 if test x$gas = xyes
3822 then
3823 target_cpu_default2="MASK_GAS"
3824 fi
3825 ;;
3826 powerpc*-*-* | rs6000-*-*)
3827 case "x$with_cpu" in
3828 x)
3829 ;;
3830
3831 xcommon | xpower | xpower2 | xpowerpc | xrios \
3832 | xrios1 | xrios2 | xrsc | xrsc1 \
3833 | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
3834 | xec603e | x740 | x750 | x401 \
3835 | x403 | x505 | x801 | x821 | x823 | x860)
3836 target_cpu_default2="\"$with_cpu\""
3837 ;;
3838
3839 xyes | xno)
3840 echo "--with-cpu must be passed a value" 1>&2
3841 exit 1
3842 ;;
3843
3844 *)
3845 if test x$pass2done = xyes
3846 then
3847 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3848 exit 1
3849 fi
3850 ;;
3851 esac
3852 ;;
3853 sparc*-*-*)
3854 case ".$with_cpu" in
3855 .)
3856 target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
3857 ;;
3858 .supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
3859 target_cpu_default2="TARGET_CPU_$with_cpu"
3860 ;;
3861 *)
3862 if test x$pass2done = xyes
3863 then
3864 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
3865 exit 1
3866 fi
3867 ;;
3868 esac
3869 ;;
3870 esac
3871
3872 if test "$target_cpu_default2" != ""
3873 then
3874 if test "$target_cpu_default" != ""
3875 then
3876 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
3877 else
3878 target_cpu_default=$target_cpu_default2
3879 fi
3880 fi
3881
3882 # No need for collect2 if we have the GNU linker.
3883 # Actually, there is now; GNU ld doesn't handle the EH info or
3884 # collecting for shared libraries.
3885 #case x$gnu_ld in
3886 #xyes)
3887 # use_collect2=
3888 # ;;
3889 #esac
3890
3891 # Save data on machine being used to compile GCC in build_xm_file.
3892 # Save data on host machine in vars host_xm_file and host_xmake_file.
3893 if test x$pass1done = x
3894 then
3895 if test x"$xm_file" = x
3896 then build_xm_file=$cpu_type/xm-$cpu_type.h
3897 else build_xm_file=$xm_file
3898 fi
3899 build_xm_defines=$xm_defines
3900 build_install_headers_dir=$install_headers_dir
3901 build_exeext=$exeext
3902 pass1done=yes
3903 else
3904 if test x$pass2done = x
3905 then
3906 if test x"$xm_file" = x
3907 then host_xm_file=$cpu_type/xm-$cpu_type.h
3908 else host_xm_file=$xm_file
3909 fi
3910 host_xm_defines=$xm_defines
3911 if test x"$xmake_file" = x
3912 then xmake_file=$cpu_type/x-$cpu_type
3913 fi
3914 host_xmake_file="$xmake_file"
3915 host_truncate_target=$truncate_target
3916 host_extra_gcc_objs=$extra_gcc_objs
3917 host_extra_objs=$extra_host_objs
3918 host_exeext=$exeext
3919 pass2done=yes
3920 fi
3921 fi
3922 done
3923
3924 extra_objs="${host_extra_objs} ${extra_objs}"
3925
3926 # Default the target-machine variables that were not explicitly set.
3927 if test x"$tm_file" = x
3928 then tm_file=$cpu_type/$cpu_type.h; fi
3929
3930 if test x$extra_headers = x
3931 then extra_headers=; fi
3932
3933 if test x"$xm_file" = x
3934 then xm_file=$cpu_type/xm-$cpu_type.h; fi
3935
3936 if test x$md_file = x
3937 then md_file=$cpu_type/$cpu_type.md; fi
3938
3939 if test x$out_file = x
3940 then out_file=$cpu_type/$cpu_type.c; fi
3941
3942 if test x"$tmake_file" = x
3943 then tmake_file=$cpu_type/t-$cpu_type
3944 fi
3945
3946 if test x"$dwarf2" = xyes
3947 then tm_file="$tm_file tm-dwarf2.h"
3948 fi
3949
3950 if test x$float_format = x
3951 then float_format=i64
3952 fi
3953
3954 if test $float_format = none
3955 then float_h_file=Makefile.in
3956 else float_h_file=float-$float_format.h
3957 fi
3958
3959 # Handle cpp installation.
3960 if test x$enable_cpp != xno
3961 then
3962 tmake_file="$tmake_file t-install-cpp"
3963 fi
3964
3965 # Say what files are being used for the output code and MD file.
3966 echo "Using \`$srcdir/config/$out_file' to output insns."
3967 echo "Using \`$srcdir/config/$md_file' as machine description file."
3968
3969 count=a
3970 for f in $tm_file; do
3971 count=${count}x
3972 done
3973 if test $count = ax; then
3974 echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
3975 else
3976 echo "Using the following target machine macro files:"
3977 for f in $tm_file; do
3978 echo " $srcdir/config/$f"
3979 done
3980 fi
3981
3982 count=a
3983 for f in $host_xm_file; do
3984 count=${count}x
3985 done
3986 if test $count = ax; then
3987 echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
3988 else
3989 echo "Using the following host machine macro files:"
3990 for f in $host_xm_file; do
3991 echo " $srcdir/config/$f"
3992 done
3993 fi
3994
3995 if test "$host_xm_file" != "$build_xm_file"; then
3996 count=a
3997 for f in $build_xm_file; do
3998 count=${count}x
3999 done
4000 if test $count = ax; then
4001 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
4002 else
4003 echo "Using the following build machine macro files:"
4004 for f in $build_xm_file; do
4005 echo " $srcdir/config/$f"
4006 done
4007 fi
4008 fi
4009
4010 if test x$thread_file = x; then
4011 if test x$target_thread_file != x; then
4012 thread_file=$target_thread_file
4013 else
4014 thread_file='single'
4015 fi
4016 fi
4017
4018 # Set up the header files.
4019 # $links is the list of header files to create.
4020 # $vars is the list of shell variables with file names to include.
4021 # auto-host.h is the file containing items generated by autoconf and is
4022 # the first file included by config.h.
4023 null_defines=
4024 host_xm_file="auto-host.h gansidecl.h ${host_xm_file} hwint.h"
4025
4026 # If host=build, it is correct to have hconfig include auto-host.h
4027 # as well. If host!=build, we are in error and need to do more
4028 # work to find out the build config parameters.
4029 if test x$host = x$build
4030 then
4031 build_xm_file="auto-host.h gansidecl.h ${build_xm_file} hwint.h"
4032 else
4033 # We create a subdir, then run autoconf in the subdir.
4034 # To prevent recursion we set host and build for the new
4035 # invocation of configure to the build for this invocation
4036 # of configure.
4037 tempdir=build.$$
4038 rm -rf $tempdir
4039 mkdir $tempdir
4040 cd $tempdir
4041 case ${srcdir} in
4042 /*) realsrcdir=${srcdir};;
4043 *) realsrcdir=../${srcdir};;
4044 esac
4045 CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
4046 --target=$target --host=$build --build=$build
4047
4048 # We just finished tests for the build machine, so rename
4049 # the file auto-build.h in the gcc directory.
4050 mv auto-host.h ../auto-build.h
4051 cd ..
4052 rm -rf $tempdir
4053 build_xm_file="auto-build.h gansidecl.h ${build_xm_file} hwint.h"
4054 fi
4055
4056 xm_file="gansidecl.h ${xm_file}"
4057 tm_file="gansidecl.h ${tm_file}"
4058
4059 vars="host_xm_file tm_file tm_p_file xm_file build_xm_file"
4060 links="config.h tm.h tm_p.h tconfig.h hconfig.h"
4061 defines="host_xm_defines null_defines null_defines xm_defines build_xm_defines"
4062
4063 rm -f config.bak
4064 if test -f config.status; then mv -f config.status config.bak; fi
4065
4066 # Make the links.
4067 while test -n "$vars"
4068 do
4069 set $vars; var=$1; shift; vars=$*
4070 set $links; link=$1; shift; links=$*
4071 set $defines; define=$1; shift; defines=$*
4072
4073 rm -f $link
4074 # Make sure the file is created, even if it is empty.
4075 echo >$link
4076
4077 # Define TARGET_CPU_DEFAULT if the system wants one.
4078 # This substitutes for lots of *.h files.
4079 if test "$target_cpu_default" != "" -a $link = tm.h
4080 then
4081 echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
4082 fi
4083
4084 for file in `eval echo '$'$var`; do
4085 case $file in
4086 auto-host.h | auto-build.h )
4087 ;;
4088 *)
4089 echo '#ifdef IN_GCC' >>$link
4090 ;;
4091 esac
4092 echo "#include \"$file\"" >>$link
4093 case $file in
4094 auto-host.h | auto-build.h )
4095 ;;
4096 *)
4097 echo '#endif' >>$link
4098 ;;
4099 esac
4100 done
4101
4102 for def in `eval echo '$'$define`; do
4103 echo "#ifndef $def" >>$link
4104 echo "#define $def" >>$link
4105 echo "#endif" >>$link
4106 done
4107 done
4108
4109 # Truncate the target if necessary
4110 if test x$host_truncate_target != x; then
4111 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
4112 fi
4113
4114 # Get the version trigger filename from the toplevel
4115 if test "${with_gcc_version_trigger+set}" = set; then
4116 gcc_version_trigger=$with_gcc_version_trigger
4117 else
4118 gcc_version_trigger=${srcdir}/version.c
4119 fi
4120 changequote(,)dnl
4121 gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
4122 changequote([,])dnl
4123
4124 # Internationalization
4125 PACKAGE=gcc
4126 VERSION="$gcc_version"
4127 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",
4128 [Define to the name of the distribution.])
4129 AC_DEFINE_UNQUOTED(VERSION, "$VERSION",
4130 [Define to the version of the distribution.])
4131 AC_SUBST(PACKAGE)
4132 AC_SUBST(VERSION)
4133
4134 ALL_LINGUAS="en_GB"
4135
4136 # Enable NLS support by default
4137 AC_ARG_ENABLE(nls,
4138 [ --enable-nls use Native Language Support (default)],
4139 , enable_nls=yes)
4140
4141 # if cross compiling, disable NLS support.
4142 # It's not worth the trouble, at least for now.
4143
4144 if test "${build}" != "${host}" && test "x$enable_nls" = "xyes"; then
4145 AC_MSG_WARN(Disabling NLS support for canadian cross compiler.)
4146 enable_nls=no
4147 fi
4148
4149 AM_GNU_GETTEXT
4150 XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
4151
4152 # Windows32 Registry support for specifying GCC installation paths.
4153 AC_ARG_ENABLE(win32-registry,
4154 [ --disable-win32-registry
4155 Disable lookup of installation paths in the
4156 Registry on Windows hosts.
4157 --enable-win32-registry Enable registry lookup (default).
4158 --enable-win32-registry=KEY
4159 Use KEY instead of GCC version as the last portion
4160 of the registry key.],,)
4161
4162 AC_MSG_CHECKING(whether windows registry support is requested)
4163 if test x$enable_win32_registry != xno; then
4164 AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
4165 [Define to 1 if installation paths should be looked up in Windows32
4166 Registry. Ignored on non windows32 hosts.])
4167 AC_MSG_RESULT(yes)
4168 else
4169 AC_MSG_RESULT(no)
4170 fi
4171
4172 # Check if user specified a different registry key.
4173 case x${enable_win32_registry} in
4174 x | xyes)
4175 # default.
4176 gcc_cv_win32_registry_key="$VERSION"
4177 ;;
4178 xno)
4179 # no registry lookup.
4180 gcc_cv_win32_registry_key=''
4181 ;;
4182 *)
4183 # user-specified key.
4184 gcc_cv_win32_registry_key="$enable_win32_registry"
4185 ;;
4186 esac
4187
4188 if test x$enable_win32_registry != xno; then
4189 AC_MSG_CHECKING(registry key on windows hosts)
4190 AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key",
4191 [Define to be the last portion of registry key on windows hosts.])
4192 AC_MSG_RESULT($gcc_cv_win32_registry_key)
4193 fi
4194
4195 # Get an absolute path to the GCC top-level source directory
4196 holddir=`pwd`
4197 cd $srcdir
4198 topdir=`pwd`
4199 cd $holddir
4200
4201 # Conditionalize the makefile for this host machine.
4202 # Make-host contains the concatenation of all host makefile fragments
4203 # [there can be more than one]. This file is built by configure.frag.
4204 host_overrides=Make-host
4205 dep_host_xmake_file=
4206 for f in .. ${host_xmake_file}
4207 do
4208 if test -f ${srcdir}/config/$f
4209 then
4210 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
4211 fi
4212 done
4213
4214 # Conditionalize the makefile for this target machine.
4215 # Make-target contains the concatenation of all host makefile fragments
4216 # [there can be more than one]. This file is built by configure.frag.
4217 target_overrides=Make-target
4218 dep_tmake_file=
4219 for f in .. ${tmake_file}
4220 do
4221 if test -f ${srcdir}/config/$f
4222 then
4223 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
4224 fi
4225 done
4226
4227 # If the host doesn't support symlinks, modify CC in
4228 # FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
4229 # Otherwise, we can use "CC=$(CC)".
4230 rm -f symtest.tem
4231 if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
4232 then
4233 cc_set_by_configure="\$(CC)"
4234 quoted_cc_set_by_configure="\$(CC)"
4235 stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
4236 else
4237 rm -f symtest.tem
4238 if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
4239 then
4240 symbolic_link="cp -p"
4241 else
4242 symbolic_link="cp"
4243 fi
4244 cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
4245 quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
4246 stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
4247 fi
4248 rm -f symtest.tem
4249
4250 out_object_file=`basename $out_file .c`.o
4251
4252 tm_file_list=
4253 for f in $tm_file; do
4254 case $f in
4255 gansidecl.h )
4256 tm_file_list="${tm_file_list} $f" ;;
4257 *) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
4258 esac
4259 done
4260
4261 host_xm_file_list=
4262 for f in $host_xm_file; do
4263 case $f in
4264 auto-host.h | gansidecl.h | hwint.h )
4265 host_xm_file_list="${host_xm_file_list} $f" ;;
4266 *) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
4267 esac
4268 done
4269
4270 build_xm_file_list=
4271 for f in $build_xm_file; do
4272 case $f in
4273 auto-build.h | auto-host.h | gansidecl.h | hwint.h )
4274 build_xm_file_list="${build_xm_file_list} $f" ;;
4275 *) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
4276 esac
4277 done
4278
4279 # Define macro CROSS_COMPILE in compilation
4280 # if this is a cross-compiler.
4281 # Also use all.cross instead of all.internal
4282 # and add cross-make to Makefile.
4283 cross_overrides="/dev/null"
4284 if test x$host != x$target
4285 then
4286 cross_defines="CROSS=-DCROSS_COMPILE"
4287 cross_overrides="${topdir}/cross-make"
4288 fi
4289
4290 # If this is a cross-compiler that does not
4291 # have its own set of headers then define
4292 # inhibit_libc
4293
4294 # If this is using newlib, then define inhibit_libc in
4295 # LIBGCC2_CFLAGS. This will cause __eprintf to be left out of
4296 # libgcc.a, but that's OK because newlib should have its own version of
4297 # assert.h.
4298 inhibit_libc=
4299 if [test x$host != x$target] && [test x$with_headers = x]; then
4300 inhibit_libc=-Dinhibit_libc
4301 else
4302 if [test x$with_newlib = xyes]; then
4303 inhibit_libc=-Dinhibit_libc
4304 fi
4305 fi
4306 AC_SUBST(inhibit_libc)
4307
4308 # When building gcc with a cross-compiler, we need to fix a few things.
4309 # This must come after cross-make as we want all.build to override
4310 # all.cross.
4311 build_overrides="/dev/null"
4312 if test x$build != x$host
4313 then
4314 build_overrides="${topdir}/build-make"
4315 fi
4316
4317 # Expand extra_headers to include complete path.
4318 # This substitutes for lots of t-* files.
4319 extra_headers_list=
4320 if test "x$extra_headers" = x
4321 then true
4322 else
4323 # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
4324 for file in $extra_headers;
4325 do
4326 extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
4327 done
4328 fi
4329
4330 if test x$use_collect2 = xno; then
4331 use_collect2=
4332 fi
4333
4334 # Add a definition of USE_COLLECT2 if system wants one.
4335 # Also tell toplev.c what to do.
4336 # This substitutes for lots of t-* files.
4337 if test x$use_collect2 = x
4338 then
4339 will_use_collect2=
4340 maybe_use_collect2=
4341 else
4342 will_use_collect2="collect2"
4343 maybe_use_collect2="-DUSE_COLLECT2"
4344 fi
4345
4346 # NEED TO CONVERT
4347 # Set MD_DEPS if the real md file is in md.pre-cpp.
4348 # Set MD_CPP to the cpp to pass the md file through. Md files use ';'
4349 # for line oriented comments, so we must always use a GNU cpp. If
4350 # building gcc with a cross compiler, use the cross compiler just
4351 # built. Otherwise, we can use the cpp just built.
4352 md_file_sub=
4353 if test "x$md_cppflags" = x
4354 then
4355 md_file_sub=$srcdir/config/$md_file
4356 else
4357 md_file=md
4358 fi
4359
4360 # If we have gas in the build tree, make a link to it.
4361 if test -f ../gas/Makefile; then
4362 rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
4363 fi
4364
4365 # If we have nm in the build tree, make a link to it.
4366 if test -f ../binutils/Makefile; then
4367 rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
4368 fi
4369
4370 # If we have ld in the build tree, make a link to it.
4371 if test -f ../ld/Makefile; then
4372 # if test x$use_collect2 = x; then
4373 # rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
4374 # else
4375 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
4376 # fi
4377 fi
4378
4379 # Figure out what assembler alignment features are present.
4380 AC_MSG_CHECKING(assembler alignment features)
4381 gcc_cv_as=
4382 gcc_cv_as_alignment_features=
4383 gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
4384 if test -x "$DEFAULT_ASSEMBLER"; then
4385 gcc_cv_as="$DEFAULT_ASSEMBLER"
4386 elif test -x "$AS"; then
4387 gcc_cv_as="$AS"
4388 elif test -x as$host_exeext; then
4389 # Build using assembler in the current directory.
4390 gcc_cv_as=./as$host_exeext
4391 elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
4392 # Single tree build which includes gas.
4393 for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
4394 do
4395 changequote(,)dnl
4396 gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
4397 changequote([,])dnl
4398 if test x$gcc_cv_gas_version != x; then
4399 break
4400 fi
4401 done
4402 changequote(,)dnl
4403 gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
4404 gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
4405 changequote([,])dnl
4406 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
4407 # Gas version 2.6 and later support for .balign and .p2align.
4408 # bytes to skip when using .p2align.
4409 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
4410 gcc_cv_as_alignment_features=".balign and .p2align"
4411 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4412 fi
4413 # Gas version 2.8 and later support specifying the maximum
4414 # bytes to skip when using .p2align.
4415 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
4416 gcc_cv_as_alignment_features=".p2align including maximum skip"
4417 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4418 fi
4419 fi
4420 elif test x$host = x$target; then
4421 # Native build.
4422 # Search the same directories that the installed compiler will
4423 # search. Else we may find the wrong assembler and lose. If we
4424 # do not find a suitable assembler binary, then try the user's
4425 # path.
4426 #
4427 # Also note we have to check MD_EXEC_PREFIX before checking the
4428 # user's path. Unfortunately, there is no good way to get at the
4429 # value of MD_EXEC_PREFIX here. So we do a brute force search
4430 # through all the known MD_EXEC_PREFIX values. Ugh. This needs
4431 # to be fixed as part of the make/configure rewrite too.
4432
4433 if test "x$exec_prefix" = xNONE; then
4434 if test "x$prefix" = xNONE; then
4435 test_prefix=/usr/local
4436 else
4437 test_prefix=$prefix
4438 fi
4439 else
4440 test_prefix=$exec_prefix
4441 fi
4442
4443 # If the loop below does not find an assembler, then use whatever
4444 # one we can find in the users's path.
4445 # user's path.
4446 as=as$host_exeext
4447
4448 test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
4449 $test_prefix/lib/gcc-lib/$target \
4450 /usr/lib/gcc/$target/$gcc_version \
4451 /usr/lib/gcc/$target \
4452 $test_prefix/$target/bin/$target/$gcc_version \
4453 $test_prefix/$target/bin \
4454 /usr/libexec \
4455 /usr/ccs/gcc \
4456 /usr/ccs/bin \
4457 /udk/usr/ccs/bin \
4458 /bsd43/usr/lib/cmplrs/cc \
4459 /usr/cross64/usr/bin \
4460 /usr/lib/cmplrs/cc \
4461 /sysv/usr/lib/cmplrs/cc \
4462 /svr4/usr/lib/cmplrs/cc \
4463 /usr/bin"
4464
4465 for dir in $test_dirs; do
4466 if test -f $dir/as$host_exeext; then
4467 gcc_cv_as=$dir/as$host_exeext
4468 break;
4469 fi
4470 done
4471 fi
4472 if test x$gcc_cv_as != x; then
4473 # Check if we have .balign and .p2align
4474 echo ".balign 4" > conftest.s
4475 echo ".p2align 2" >> conftest.s
4476 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4477 gcc_cv_as_alignment_features=".balign and .p2align"
4478 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
4479 fi
4480 rm -f conftest.s conftest.o
4481 # Check if specifying the maximum bytes to skip when
4482 # using .p2align is supported.
4483 echo ".p2align 4,,7" > conftest.s
4484 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4485 gcc_cv_as_alignment_features=".p2align including maximum skip"
4486 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
4487 fi
4488 rm -f conftest.s conftest.o
4489 fi
4490 AC_MSG_RESULT($gcc_cv_as_alignment_features)
4491
4492 AC_MSG_CHECKING(assembler subsection support)
4493 gcc_cv_as_subsections=
4494 if test x$gcc_cv_as != x; then
4495 # Check if we have .subsection
4496 echo ".subsection 1" > conftest.s
4497 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4498 gcc_cv_as_subsections=".subsection"
4499 if test -x nm$host_exeext; then
4500 gcc_cv_nm=./nm$host_exeext
4501 elif test x$host = x$target; then
4502 # Native build.
4503 gcc_cv_nm=nm$host_exeext
4504 fi
4505 if test x$gcc_cv_nm != x; then
4506 cat > conftest.s <<EOF
4507 conftest_label1: .word 0
4508 .subsection -1
4509 conftest_label2: .word 0
4510 .previous
4511 EOF
4512 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4513 $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
4514 $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
4515 if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
4516 :
4517 else
4518 gcc_cv_as_subsections="working .subsection -1"
4519 AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1,
4520 [Define if your assembler supports .subsection and .subsection -1 starts
4521 emitting at the beginning of your section.])
4522 fi
4523 fi
4524 fi
4525 fi
4526 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4527 fi
4528 AC_MSG_RESULT($gcc_cv_as_subsections)
4529
4530 AC_MSG_CHECKING(assembler weak support)
4531 gcc_cv_as_weak=
4532 if test x$gcc_cv_as != x; then
4533 # Check if we have .weak
4534 echo " .weak foobar" > conftest.s
4535 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4536 AC_DEFINE(HAVE_GAS_WEAK, 1,
4537 [Define if your assembler supports .weak.])
4538 gcc_cv_as_weak="yes"
4539 fi
4540 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4541 fi
4542 AC_MSG_RESULT($gcc_cv_as_weak)
4543
4544 AC_MSG_CHECKING(assembler hidden support)
4545 gcc_cv_as_hidden=
4546 if test x$gcc_cv_as != x; then
4547 # Check if we have .hidden
4548 echo " .hidden foobar" > conftest.s
4549 echo "foobar:" >> conftest.s
4550 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4551 AC_DEFINE(HAVE_GAS_HIDDEN, 1,
4552 [Define if your assembler supports .hidden.])
4553 gcc_cv_as_hidden="yes"
4554 fi
4555 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
4556 fi
4557 AC_MSG_RESULT($gcc_cv_as_hidden)
4558
4559 case "$target" in
4560 sparc*-*-*)
4561 AC_CACHE_CHECK([assembler .register pseudo-op support],
4562 gcc_cv_as_register_pseudo_op, [
4563 gcc_cv_as_register_pseudo_op=unknown
4564 if test x$gcc_cv_as != x; then
4565 # Check if we have .register
4566 echo ".register %g2, #scratch" > conftest.s
4567 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4568 gcc_cv_as_register_pseudo_op=yes
4569 else
4570 gcc_cv_as_register_pseudo_op=no
4571 fi
4572 rm -f conftest.s conftest.o
4573 fi
4574 ])
4575 if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
4576 AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
4577 [Define if your assembler supports .register.])
4578 fi
4579
4580 AC_CACHE_CHECK([assembler supports -relax],
4581 gcc_cv_as_relax_opt, [
4582 gcc_cv_as_relax_opt=unknown
4583 if test x$gcc_cv_as != x; then
4584 # Check if gas supports -relax
4585 echo ".text" > conftest.s
4586 if $gcc_cv_as -relax -o conftest.o conftest.s > /dev/null 2>&1; then
4587 gcc_cv_as_relax_opt=yes
4588 else
4589 gcc_cv_as_relax_opt=no
4590 fi
4591 rm -f conftest.s conftest.o
4592 fi
4593 ])
4594 if test "x$gcc_cv_as_relax_opt" = xyes; then
4595 AC_DEFINE(HAVE_AS_RELAX_OPTION, 1,
4596 [Define if your assembler supports -relax option.])
4597 fi
4598
4599 case "$tm_file" in
4600 *64*)
4601 AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
4602 gcc_cv_as_flags64, [
4603 if test -n "$gcc_cv_as"; then
4604 echo ".xword foo" > conftest.s
4605 gcc_cv_as_flags64=no
4606 for flag in "-xarch=v9" "-64 -Av9"; do
4607 if $gcc_cv_as $flag -o conftest.o conftest.s \
4608 > /dev/null 2>&1; then
4609 gcc_cv_as_flags64=$flag
4610 break
4611 fi
4612 done
4613 rm -f conftest.s conftest.o
4614 else
4615 if test "$gas" = yes; then
4616 gcc_cv_as_flags64="-64 -Av9"
4617 else
4618 gcc_cv_as_flags64="-xarch=v9"
4619 fi
4620 fi
4621 ])
4622 if test "x$gcc_cv_as_flags64" = xno; then
4623 changequote(, )
4624 tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
4625 dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
4626 changequote([, ])
4627 else
4628 AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64",
4629 [Define if the assembler supports 64bit sparc.])
4630 fi
4631 ;;
4632 *) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
4633 ;;
4634 esac
4635
4636 if test "x$gcc_cv_as_flags64" != xno; then
4637 AC_CACHE_CHECK([for assembler offsetable %lo() support],
4638 gcc_cv_as_offsetable_lo10, [
4639 gcc_cv_as_offsetable_lo10=unknown
4640 if test "x$gcc_cv_as" != x; then
4641 # Check if assembler has offsetable %lo()
4642 echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
4643 echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
4644 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
4645 > /dev/null 2>&1 &&
4646 $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
4647 > /dev/null 2>&1; then
4648 if cmp conftest.o conftest1.o > /dev/null 2>&1; then
4649 gcc_cv_as_offsetable_lo10=no
4650 else
4651 gcc_cv_as_offsetable_lo10=yes
4652 fi
4653 else
4654 gcc_cv_as_offsetable_lo10=no
4655 fi
4656 rm -f conftest.s conftest.o conftest1.s conftest1.o
4657 fi
4658 ])
4659 if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
4660 AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
4661 [Define if your assembler supports offsetable %lo().])
4662 fi
4663 fi
4664 ;;
4665
4666 changequote(,)dnl
4667 i[34567]86-*-*)
4668 changequote([,])dnl
4669 AC_MSG_CHECKING(assembler instructions)
4670 gcc_cv_as_instructions=
4671 if test x$gcc_cv_as != x; then
4672 set "filds fists" "filds mem; fists mem"
4673 while test $# -gt 0
4674 do
4675 echo "$2" > conftest.s
4676 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
4677 gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
4678 AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$1" | tr '[a-z ]' '[A-Z_]'`)
4679 fi
4680 shift 2
4681 done
4682 rm -f conftest.s conftest.o
4683 fi
4684 AC_MSG_RESULT($gcc_cv_as_instructions)
4685 ;;
4686 esac
4687
4688 # Figure out what language subdirectories are present.
4689 # Look if the user specified --enable-languages="..."; if not, use
4690 # the environment variable $LANGUAGES if defined. $LANGUAGES might
4691 # go away some day.
4692 if test x"${enable_languages+set}" != xset; then
4693 if test x"${LANGUAGES+set}" = xset; then
4694 enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
4695 else
4696 enable_languages=all
4697 fi
4698 else
4699 if test x"${enable_languages}" = x; then
4700 AC_MSG_ERROR([--enable-languages needs at least one argument])
4701 fi
4702 fi
4703 subdirs=
4704 for lang in ${srcdir}/*/config-lang.in ..
4705 do
4706 case $lang in
4707 ..) ;;
4708 # The odd quoting in the next line works around
4709 # an apparent bug in bash 1.12 on linux.
4710 changequote(,)dnl
4711 ${srcdir}/[*]/config-lang.in) ;;
4712 *)
4713 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
4714 if test "x$lang_alias" = x
4715 then
4716 echo "$lang doesn't set \$language." 1>&2
4717 exit 1
4718 fi
4719 if test x"${enable_languages}" = xall; then
4720 add_this_lang=yes
4721 else
4722 case "${enable_languages}" in
4723 ${lang_alias} | "${lang_alias},"* | *",${lang_alias},"* | *",${lang_alias}" )
4724 add_this_lang=yes
4725 ;;
4726 * )
4727 add_this_lang=no
4728 ;;
4729 esac
4730 fi
4731 if test x"${add_this_lang}" = xyes; then
4732 case $lang in
4733 ${srcdir}/ada/config-lang.in)
4734 if test x$gnat = xyes ; then
4735 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4736 fi
4737 ;;
4738 *)
4739 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
4740 ;;
4741 esac
4742 fi
4743 ;;
4744 changequote([,])dnl
4745 esac
4746 done
4747
4748 # Make gthr-default.h if we have a thread file.
4749 gthread_flags=
4750 if test $thread_file != single; then
4751 rm -f gthr-default.h
4752 echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
4753 gthread_flags=-DHAVE_GTHR_DEFAULT
4754 fi
4755 AC_SUBST(gthread_flags)
4756
4757 # Find out what GC implementation we want, or may, use.
4758 AC_ARG_WITH(gc,
4759 [ --with-gc={simple,page} Choose the garbage collection mechanism to use
4760 with the compiler.],
4761 [case "$withval" in
4762 simple | page)
4763 GGC=ggc-$withval
4764 ;;
4765 *)
4766 AC_MSG_ERROR([$withval is an invalid option to --with-gc])
4767 ;;
4768 esac],
4769 [if test $ac_cv_func_mmap_anywhere = yes \
4770 || test $ac_cv_func_valloc = yes; then
4771 GGC=ggc-page
4772 else
4773 GGC=ggc-simple
4774 fi])
4775 AC_SUBST(GGC)
4776 echo "Using $GGC for garbage collection."
4777
4778 # Build a new-abi (c++) system
4779 AC_ARG_ENABLE(new-gxx-abi,
4780 [ --enable-new-gxx-abi
4781 select the new abi for g++. You must select an ABI
4782 at configuration time, so that the correct runtime
4783 support is built. You cannot mix ABIs.],
4784 [AC_DEFINE(ENABLE_NEW_GXX_ABI, 1,
4785 [Define if you want to always select the new-abi for g++.])
4786 GXX_ABI_FLAG='-fnew-abi'
4787 echo "Building a new-abi g++ compiler."
4788 ])
4789 AC_SUBST(GXX_ABI_FLAG)
4790
4791 # Build a new-libstdc++ system (ie libstdc++-v3)
4792 AC_MSG_CHECKING([for libstdc++ to install])
4793 AC_ARG_ENABLE(libstdcxx-v3,
4794 [ --enable-libstdcxx-v3
4795 enable libstdc++-v3 for building and installation],
4796 [enable_libstdcxx_v3=yes], [enable_libstdcxx_v3=no])
4797
4798 if test x$enable_libstdcxx_v3 = xyes; then
4799 AC_MSG_RESULT(v3)
4800 ac_esn=1
4801 else
4802 AC_MSG_RESULT(v2)
4803 ac_esn=0
4804 fi
4805 AC_DEFINE_UNQUOTED(ENABLE_STD_NAMESPACE, $ac_esn,
4806 [Define to 1 if you want to enable namespaces (-fhonor-std) by default.])
4807
4808 dnl Very limited version of automake's enable-maintainer-mode
4809
4810 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
4811 dnl maintainer-mode is disabled by default
4812 AC_ARG_ENABLE(maintainer-mode,
4813 [ --enable-maintainer-mode enable make rules and dependencies not useful
4814 (and sometimes confusing) to the casual installer],
4815 maintainer_mode=$enableval,
4816 maintainer_mode=no)
4817
4818 AC_MSG_RESULT($maintainer_mode)
4819
4820 if test "$maintainer_mode" = "yes"; then
4821 MAINT=''
4822 else
4823 MAINT='#'
4824 fi
4825 AC_SUBST(MAINT)dnl
4826
4827 # Make empty files to contain the specs and options for each language.
4828 # Then add #include lines to for a compiler that has specs and/or options.
4829
4830 lang_specs_files=
4831 lang_options_files=
4832 lang_tree_files=
4833 rm -f specs.h options.h gencheck.h
4834 touch specs.h options.h gencheck.h
4835 for subdir in . $subdirs
4836 do
4837 if test -f $srcdir/$subdir/lang-specs.h; then
4838 echo "#include \"$subdir/lang-specs.h\"" >>specs.h
4839 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
4840 fi
4841 if test -f $srcdir/$subdir/lang-options.h; then
4842 echo "#include \"$subdir/lang-options.h\"" >>options.h
4843 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
4844 fi
4845 if test -f $srcdir/$subdir/$subdir-tree.def; then
4846 echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
4847 lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
4848 fi
4849 done
4850
4851 # These (without "all_") are set in each config-lang.in.
4852 # `language' must be a single word so is spelled singularly.
4853 all_languages=
4854 all_boot_languages=
4855 all_compilers=
4856 all_stagestuff=
4857 all_diff_excludes=
4858 all_outputs='Makefile intl/Makefile po/Makefile.in fixinc/Makefile gccbug mklibgcc'
4859 # List of language makefile fragments.
4860 all_lang_makefiles=
4861 all_headers=
4862 all_lib2funcs=
4863
4864 # Add the language fragments.
4865 # Languages are added via two mechanisms. Some information must be
4866 # recorded in makefile variables, these are defined in config-lang.in.
4867 # We accumulate them and plug them into the main Makefile.
4868 # The other mechanism is a set of hooks for each of the main targets
4869 # like `clean', `install', etc.
4870
4871 language_fragments="Make-lang"
4872 language_hooks="Make-hooks"
4873 oldstyle_subdirs=
4874
4875 for s in .. $subdirs
4876 do
4877 if test $s != ".."
4878 then
4879 language=
4880 boot_language=
4881 compilers=
4882 stagestuff=
4883 diff_excludes=
4884 headers=
4885 outputs=
4886 lib2funcs=
4887 . ${srcdir}/$s/config-lang.in
4888 if test "x$language" = x
4889 then
4890 echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
4891 exit 1
4892 fi
4893 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
4894 all_languages="$all_languages $language"
4895 if test "x$boot_language" = xyes
4896 then
4897 all_boot_languages="$all_boot_languages $language"
4898 fi
4899 all_compilers="$all_compilers $compilers"
4900 all_stagestuff="$all_stagestuff $stagestuff"
4901 all_diff_excludes="$all_diff_excludes $diff_excludes"
4902 all_headers="$all_headers $headers"
4903 all_outputs="$all_outputs $outputs"
4904 if test x$outputs = x
4905 then
4906 oldstyle_subdirs="$oldstyle_subdirs $s"
4907 fi
4908 all_lib2funcs="$all_lib2funcs $lib2funcs"
4909 fi
4910 done
4911
4912 # Since we can't use `::' targets, we link each language in
4913 # with a set of hooks, reached indirectly via lang.${target}.
4914
4915 rm -f Make-hooks
4916 touch Make-hooks
4917 target_list="all.build all.cross start.encap rest.encap \
4918 info dvi \
4919 install-normal install-common install-info install-man \
4920 uninstall distdir \
4921 mostlyclean clean distclean extraclean maintainer-clean \
4922 stage1 stage2 stage3 stage4"
4923 for t in $target_list
4924 do
4925 x=
4926 for lang in .. $all_languages
4927 do
4928 if test $lang != ".."; then
4929 x="$x $lang.$t"
4930 fi
4931 done
4932 echo "lang.$t: $x" >> Make-hooks
4933 done
4934
4935 # If we're not building in srcdir, create .gdbinit.
4936
4937 if test ! -f Makefile.in; then
4938 echo "dir ." > .gdbinit
4939 echo "dir ${srcdir}" >> .gdbinit
4940 if test x$gdb_needs_out_file_path = xyes
4941 then
4942 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
4943 fi
4944 if test "x$subdirs" != x; then
4945 for s in $subdirs
4946 do
4947 echo "dir ${srcdir}/$s" >> .gdbinit
4948 done
4949 fi
4950 echo "source ${srcdir}/.gdbinit" >> .gdbinit
4951 fi
4952
4953 # Define variables host_canonical and build_canonical
4954 # because some Cygnus local changes in the Makefile depend on them.
4955 build_canonical=${build}
4956 host_canonical=${host}
4957 target_subdir=
4958 if test "${host}" != "${target}" ; then
4959 target_subdir=${target}/
4960 fi
4961 AC_SUBST(build_canonical)
4962 AC_SUBST(host_canonical)
4963 AC_SUBST(target_subdir)
4964
4965 # If $(exec_prefix) exists and is not the same as $(prefix), then compute an
4966 # absolute path for gcc_tooldir based on inserting the number of up-directory
4967 # movements required to get from $(exec_prefix) to $(prefix) into the basic
4968 # $(libsubdir)/@(unlibsubdir) based path.
4969 # Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
4970 # make and thus we'd get different behavior depending on where we built the
4971 # sources.
4972 if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
4973 gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
4974 else
4975 changequote(<<, >>)dnl
4976 # An explanation of the sed strings:
4977 # -e 's|^\$(prefix)||' matches and eliminates 'prefix' from 'exec_prefix'
4978 # -e 's|/$||' match a trailing forward slash and eliminates it
4979 # -e 's|^[^/]|/|' forces the string to start with a forward slash (*)
4980 # -e 's|/[^/]*|../|g' replaces each occurance of /<directory> with ../
4981 #
4982 # (*) Note this pattern overwrites the first character of the string
4983 # with a forward slash if one is not already present. This is not a
4984 # problem because the exact names of the sub-directories concerned is
4985 # unimportant, just the number of them matters.
4986 #
4987 # The practical upshot of these patterns is like this:
4988 #
4989 # prefix exec_prefix result
4990 # ------ ----------- ------
4991 # /foo /foo/bar ../
4992 # /foo/ /foo/bar ../
4993 # /foo /foo/bar/ ../
4994 # /foo/ /foo/bar/ ../
4995 # /foo /foo/bar/ugg ../../
4996 #
4997 dollar='$$'
4998 gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
4999 changequote([, ])dnl
5000 fi
5001 AC_SUBST(gcc_tooldir)
5002 AC_SUBST(dollar)
5003
5004 # Nothing to do for FLOAT_H, float_format already handled.
5005 objdir=`pwd`
5006 AC_SUBST(objdir)
5007
5008 # Process the language and host/target makefile fragments.
5009 ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
5010
5011 # Substitute configuration variables
5012 AC_SUBST(subdirs)
5013 AC_SUBST(all_boot_languages)
5014 AC_SUBST(all_compilers)
5015 AC_SUBST(all_diff_excludes)
5016 AC_SUBST(all_headers)
5017 AC_SUBST(all_lang_makefiles)
5018 AC_SUBST(all_languages)
5019 AC_SUBST(all_lib2funcs)
5020 AC_SUBST(all_stagestuff)
5021 AC_SUBST(build_exeext)
5022 AC_SUBST(build_install_headers_dir)
5023 AC_SUBST(build_xm_file_list)
5024 AC_SUBST(cc_set_by_configure)
5025 AC_SUBST(quoted_cc_set_by_configure)
5026 AC_SUBST(cpp_install_dir)
5027 AC_SUBST(dep_host_xmake_file)
5028 AC_SUBST(dep_tmake_file)
5029 AC_SUBST(extra_c_flags)
5030 AC_SUBST(extra_c_objs)
5031 AC_SUBST(extra_cpp_objs)
5032 AC_SUBST(extra_cxx_objs)
5033 AC_SUBST(extra_headers_list)
5034 AC_SUBST(extra_objs)
5035 AC_SUBST(extra_parts)
5036 AC_SUBST(extra_passes)
5037 AC_SUBST(extra_programs)
5038 AC_SUBST(float_h_file)
5039 AC_SUBST(gcc_gxx_include_dir)
5040 AC_SUBST(gcc_version)
5041 AC_SUBST(gcc_version_trigger)
5042 AC_SUBST(host_exeext)
5043 AC_SUBST(host_extra_gcc_objs)
5044 AC_SUBST(host_xm_file_list)
5045 AC_SUBST(install)
5046 AC_SUBST(lang_options_files)
5047 AC_SUBST(lang_specs_files)
5048 AC_SUBST(lang_tree_files)
5049 AC_SUBST(local_prefix)
5050 AC_SUBST(maybe_use_collect2)
5051 AC_SUBST(md_file)
5052 AC_SUBST(objc_boehm_gc)
5053 AC_SUBST(out_file)
5054 AC_SUBST(out_object_file)
5055 AC_SUBST(stage_prefix_set_by_configure)
5056 AC_SUBST(symbolic_link)
5057 AC_SUBST(thread_file)
5058 AC_SUBST(tm_file_list)
5059 AC_SUBST(will_use_collect2)
5060
5061
5062 AC_SUBST_FILE(target_overrides)
5063 AC_SUBST_FILE(host_overrides)
5064 AC_SUBST(cross_defines)
5065 AC_SUBST_FILE(cross_overrides)
5066 AC_SUBST_FILE(build_overrides)
5067 AC_SUBST_FILE(language_fragments)
5068 AC_SUBST_FILE(language_hooks)
5069
5070 # Echo that links are built
5071 if test x$host = x$target
5072 then
5073 str1="native "
5074 else
5075 str1="cross-"
5076 str2=" from $host"
5077 fi
5078
5079 if test x$host != x$build
5080 then
5081 str3=" on a $build system"
5082 fi
5083
5084 if test "x$str2" != x || test "x$str3" != x
5085 then
5086 str4=
5087 fi
5088
5089 echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
5090
5091 if test "x$str2" != x || test "x$str3" != x
5092 then
5093 echo " ${str2}${str3}." 1>&2
5094 fi
5095
5096 # Truncate the target if necessary
5097 if test x$host_truncate_target != x; then
5098 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
5099 fi
5100
5101 # Configure the subdirectories
5102 # AC_CONFIG_SUBDIRS($subdirs)
5103
5104 # Create the Makefile
5105 # and configure language subdirectories
5106 AC_OUTPUT($all_outputs,
5107 [
5108 . $srcdir/configure.lang
5109 case x$CONFIG_HEADERS in
5110 xauto-host.h:config.in)
5111 echo > cstamp-h ;;
5112 esac
5113 # If the host supports symlinks, point stage[1234] at ../stage[1234] so
5114 # bootstrapping and the installation procedure can still use
5115 # CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
5116 # FLAGS_TO_PASS has been modified to solve the problem there.
5117 # This is virtually a duplicate of what happens in configure.lang; we do
5118 # an extra check to make sure this only happens if ln -s can be used.
5119 if test "$symbolic_link" = "ln -s"; then
5120 for d in .. ${subdirs} ; do
5121 if test $d != ..; then
5122 STARTDIR=`pwd`
5123 cd $d
5124 for t in stage1 stage2 stage3 stage4 include
5125 do
5126 rm -f $t
5127 $symbolic_link ../$t $t 2>/dev/null
5128 done
5129 cd $STARTDIR
5130 fi
5131 done
5132 else true ; fi
5133 # Avoid having to add intl to our include paths.
5134 if test -f intl/libintl.h; then
5135 echo creating libintl.h
5136 echo '#include "intl/libintl.h"' >libintl.h
5137 fi
5138 ],
5139 [
5140 host='${host}'
5141 build='${build}'
5142 target='${target}'
5143 target_alias='${target_alias}'
5144 srcdir='${srcdir}'
5145 subdirs='${subdirs}'
5146 oldstyle_subdirs='${oldstyle_subdirs}'
5147 symbolic_link='${symbolic_link}'
5148 program_transform_set='${program_transform_set}'
5149 program_transform_name='${program_transform_name}'
5150 dep_host_xmake_file='${dep_host_xmake_file}'
5151 host_xmake_file='${host_xmake_file}'
5152 dep_tmake_file='${dep_tmake_file}'
5153 tmake_file='${tmake_file}'
5154 thread_file='${thread_file}'
5155 gcc_version='${gcc_version}'
5156 gcc_version_trigger='${gcc_version_trigger}'
5157 local_prefix='${local_prefix}'
5158 build_install_headers_dir='${build_install_headers_dir}'
5159 build_exeext='${build_exeext}'
5160 host_exeext='${host_exeext}'
5161 out_file='${out_file}'
5162 gdb_needs_out_file_path='${gdb_needs_out_file_path}'
5163 SET_MAKE='${SET_MAKE}'
5164 target_list='${target_list}'
5165 target_overrides='${target_overrides}'
5166 host_overrides='${host_overrides}'
5167 cross_defines='${cross_defines}'
5168 cross_overrides='${cross_overrides}'
5169 build_overrides='${build_overrides}'
5170 cpp_install_dir='${cpp_install_dir}'
5171 ])