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