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