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