1 # configure.in for GNU CC
2 # Process this file with autoconf to generate a configuration script.
4 # Copyright (C) 1997, 1998 Free Software Foundation, Inc.
6 #This file is part of GNU CC.
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)
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.
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.
23 # Initialization and defaults
25 AC_CONFIG_HEADER(auto-host.h:config.in)
32 # Check for additional parameters
36 [ --with-gnu-ld arrange to work with GNU ld.],
37 gnu_ld_flag="$with_gnu_ld",
42 [ --with-gnu-as arrange to work with GNU as.],
43 gas_flag="$with_gnu_as",
48 [ --with-stabs arrange to use stabs instead of host debug format.],
54 [ --with-elf arrange to use ELF instead of host debug format.],
58 # Specify the local prefix
60 AC_ARG_WITH(local-prefix,
61 [ --with-local-prefix=DIR specifies directory to put local include.],
63 yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
65 *) local_prefix=$with_local_prefix ;;
68 # Default local prefix if it is empty
69 if [[ x$local_prefix = x ]]; then
70 local_prefix=/usr/local
74 # Specify the g++ header file directory
75 AC_ARG_WITH(gxx-include-dir,
76 [ --with-gxx-include-dir=DIR
77 specifies directory to put g++ header files.],
79 yes) AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
81 *) gxx_include_dir=$with_gxx_include_dir ;;
84 if test x${gxx_include_dir} = x; then
85 if test x${enable_version_specific_runtime_libs} = xyes; then
86 gxx_include_dir='${libsubdir}/include/g++'
88 gxx_include_dir='${prefix}/include/g++'
92 # Enable expensive internal checks
93 AC_ARG_ENABLE(checking,
94 [ --enable-checking enable expensive run-time checks.],
95 [case "${enableval}" in
96 yes) AC_DEFINE(ENABLE_CHECKING) ;;
98 *) AC_MSG_ERROR(bad value ${enableval} given for checking option) ;;
101 # Enable use of cpplib for C.
103 AC_ARG_ENABLE(c-cpplib,
104 [ --enable-c-cpplib Use cpplib for C and C++.],
105 if [[[ x$enable_c_cpplib != xno ]]]; then
106 extra_c_objs="${extra_c_objs} cpplib.o cppexp.o cpphash.o cpperror.o"
107 extra_c_objs="${extra_c_objs} prefix.o"
108 extra_cxx_objs="${extra_cxx_objs} ../cpplib.o ../cppexp.o ../cpphash.o ../cpperror.o ../prefix.o"
109 extra_c_flags=-DUSE_CPPLIB=1
113 # Enable Multibyte Characters for C/C++
114 AC_ARG_ENABLE(c-mbchar,
115 [ --enable-c-mbchar Enable multibyte characters for C and C++.],
116 if [[[ x$enable_c_mbchar != xno ]]]; then
117 extra_c_flags=-DMULTIBYTE_CHARS=1
120 # Enable Haifa scheduler.
122 [ --enable-haifa Use the experimental scheduler.
123 --disable-haifa Don't use the experimental scheduler for the
124 targets which normally enable it.])
127 # This is a work in progress...
128 AC_ARG_WITH(fast-fixincludes,
129 [ --with-fast-fixincludes Use a faster fixinclude program. Experimental],
130 fast_fixinc="$with_fast_fixincludes",
134 # Pass with no value to take the default
135 # Pass with a value to specify a thread package
136 AC_ARG_ENABLE(threads,
137 [ --enable-threads enable thread usage for target GCC.
138 --enable-threads=LIB use LIB thread package for target GCC.],
139 if [[[ x$enable_threads = xno ]]]; then
144 enable_threads_flag=$enable_threads
145 # Check if a valid thread package
146 case x${enable_threads_flag} in
149 target_thread_file='single'
153 target_thread_file=''
155 xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
156 xsolaris | xwin32 | xdce | xvxworks)
157 target_thread_file=$enable_threads_flag
160 echo "$enable_threads is an unknown thread package" 1>&2
165 # Determine the host, build, and target systems
168 # Find the native compiler
172 # Find some useful tools
184 AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h fcntl.h unistd.h stab.h sys/file.h sys/time.h sys/resource.h sys/param.h sys/times.h wait.h sys/wait.h)
186 # Check for thread headers.
187 AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
188 AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
190 # See if the system preprocessor understands the ANSI C preprocessor
191 # stringification operator.
192 AC_MSG_CHECKING(whether cpp understands the stringify operator)
193 AC_CACHE_VAL(gcc_cv_c_have_stringify,
196 char *test = S(foo);],
197 gcc_cv_c_have_stringify=yes, gcc_cv_c_have_stringify=no)])
198 AC_MSG_RESULT($gcc_cv_c_have_stringify)
199 if test $gcc_cv_c_have_stringify = yes; then
200 AC_DEFINE(HAVE_CPP_STRINGIFY)
203 # Use <inttypes.h> only if it exists,
204 # doesn't clash with <sys/types.h>, and declares intmax_t.
205 AC_MSG_CHECKING(for inttypes.h)
206 AC_CACHE_VAL(gcc_cv_header_inttypes_h,
208 [#include <sys/types.h>
209 #include <inttypes.h>],
211 [AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H)
212 gcc_cv_header_inttypes_h=yes],
213 gcc_cv_header_inttypes_h=no)])
214 AC_MSG_RESULT($gcc_cv_header_inttypes_h)
216 AC_CHECK_FUNCS(strtoul bsearch strerror putenv popen bcopy bzero bcmp \
217 index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
218 sysconf isascii gettimeofday)
220 # Make sure wchar_t is available
221 #AC_CHECK_TYPE(wchar_t, unsigned int)
223 GCC_FUNC_VFPRINTF_DOPRNT
226 GCC_NEED_DECLARATIONS(malloc realloc calloc free bcopy bzero bcmp \
227 index rindex getenv atol sbrk abort atof strerror getcwd getwd)
229 GCC_NEED_DECLARATIONS(getrlimit setrlimit, [
230 #include <sys/types.h>
231 #ifdef HAVE_SYS_RESOURCE_H
232 #include <sys/resource.h>
246 build_install_headers_dir=install-headers-tar
251 host_truncate_target=
254 # Decode the host machine, then the target machine.
255 # For the host machine, we save the xm_file variable as host_xm_file;
256 # then we decode the target machine and forget everything else
257 # that came from the host machine.
258 for machine in $build $host $target; do
272 # Set this to force installation and use of collect2.
274 # Set this to override the default target model.
276 # Set this to control which fixincludes program to use.
277 if [[ x$fast_fixinc != xyes ]] ; then
278 fixincludes=fixincludes
279 else fixincludes=fixinc.sh ; fi
280 # Set this to control how the header file directory is installed.
281 install_headers_dir=install-headers-tar
282 # Set this to a non-empty list of args to pass to cpp if the target
283 # wants its .md file passed through cpp.
285 # Set this if directory names should be truncated to 14 characters.
287 # Set this if gdb needs a dir command with `dirname $out_file`
288 gdb_needs_out_file_path=
289 # Set this if the build machine requires executables to have a
292 # Set this to control which thread package will be used.
294 # Reinitialize these from the flag values every loop pass, since some
295 # configure entries modify them.
297 gnu_ld="$gnu_ld_flag"
298 enable_threads=$enable_threads_flag
300 # Set default cpu_type, tm_file and xm_file so it can be updated in
301 # each machine entry.
302 cpu_type=`echo $machine | sed 's/-.*$//'`
336 tm_file=${cpu_type}/${cpu_type}.h
337 xm_file=${cpu_type}/xm-${cpu_type}.h
339 # Set the default macros to define for GNU/Linux systems.
342 xm_defines="HAVE_ATEXIT POSIX BSTRING"
347 # Support site-specific machine types.
349 cpu_type=`echo $machine | sed -e 's/-.*//'`
350 rest=`echo $machine | sed -e "s/$cpu_type-//"`
351 xm_file=${cpu_type}/xm-$rest.h
352 tm_file=${cpu_type}/$rest.h
353 if [[ -f $srcdir/config/${cpu_type}/x-$rest ]] ; \
354 then xmake_file=${cpu_type}/x-$rest; \
357 if [[ -f $srcdir/config/${cpu_type}/t-$rest ]] ; \
358 then tmake_file=${cpu_type}/t-$rest; \
364 a29k-*-bsd* | a29k-*-sym1*)
365 tm_file="${tm_file} a29k/unix.h"
367 xmake_file=a29k/x-unix
370 a29k-*-udi | a29k-*-coff)
371 tm_file="${tm_file} dbxcoff.h a29k/udi.h"
372 tmake_file=a29k/t-a29kbare
375 tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
376 tmake_file=a29k/t-vx29k
377 extra_parts="crtbegin.o crtend.o"
378 thread_file='vxworks'
380 a29k-*-*) # Default a29k environment.
383 alpha*-*-linux-gnuecoff*)
384 tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
385 target_cpu_default="MASK_GAS"
390 alpha*-*-linux-gnulibc1*)
391 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
392 target_cpu_default="MASK_GAS"
393 tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux alpha/t-crtbe"
394 extra_parts="crtbegin.o crtend.o"
395 fixincludes=fixinc.wrap
398 if [[ x$enable_threads = xyes ]]; then
403 tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
404 target_cpu_default="MASK_GAS"
405 tmake_file="t-linux alpha/t-linux alpha/t-crtbe"
406 extra_parts="crtbegin.o crtend.o"
408 fixincludes=Makefile.in
410 if [[ x$enable_threads = xyes ]]; then
415 tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsdl-elf.h"
416 xm_file="xm-netbsd.h ${xm_file}"
417 target_cpu_default="MASK_GAS"
418 tmake_file="alpha/t-crtbe"
419 extra_parts="crtbegin.o crtend.o"
421 fixincludes=fixinc.wrap
426 if [[ x$stabs = xyes ]]
428 tm_file="${tm_file} dbx.h"
430 if [[ x$gas != xyes ]]
432 extra_passes="mips-tfile mips-tdump"
437 tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
440 tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
443 tm_file="${tm_file} alpha/osf.h"
444 # Some versions of OSF4 (specifically X4.0-9 296.7) have
445 # a broken tar, so we use cpio instead.
446 install_headers_dir=install-headers-cpio
450 *-*-osf4.0[[b-z]] | *-*-osf4.[[1-9]]*)
451 target_cpu_default=MASK_SUPPORT_ARCH
456 tm_file="${tm_file} dbx.h alpha/vxworks.h"
459 extra_passes="mips-tfile mips-tdump"
464 tm_file="${tm_file} alpha/win-nt.h"
465 xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
467 xmake_file=winnt/x-winnt
468 extra_host_objs=oldnames.o
469 extra_gcc_objs="spawnv.o oldnames.o"
470 fixincludes=fixinc.winnt
471 if [[ x$gnu_ld != xyes ]]
473 extra_programs=ld.exe
475 if [[ x$enable_threads = xyes ]]; then
481 xm_file="${xm_file} alpha/xm-vms.h"
482 tmake_file=alpha/t-vms
483 fixincludes=Makefile.in
486 extra_parts="crtinit.o crtfini.o"
488 arm-*-coff* | armel-*-coff*)
490 tmake_file=arm/t-bare
492 arm-*-riscix1.[[01]]*) # Acorn RISC machine (early versions)
493 tm_file=arm/riscix1-1.h
496 arm-*-riscix*) # Acorn RISC machine
497 if [[ x$gas = xyes ]]
499 tm_file=arm/rix-gas.h
503 xmake_file=arm/x-riscix
504 tmake_file=arm/t-riscix
507 arm-semi-aout | armel-semi-aout)
509 tmake_file=arm/t-semi
510 fixincludes=Makefile.in # There is nothing to fix
512 arm-semi-aof | armel-semi-aof)
513 tm_file=arm/semiaof.h
514 tmake_file=arm/t-semiaof
515 fixincludes=Makefile.in # There is nothing to fix
519 xm_file="xm-netbsd.h ${xm_file}"
520 tmake_file="t-netbsd arm/t-netbsd"
521 # On NetBSD, the headers are already okay, except for math.h.
522 fixincludes=fixinc.wrap
524 arm-*-linux-gnuaout*) # ARM GNU/Linux
527 tm_file=arm/linux-gas.h
528 tmake_file=arm/t-linux
529 fixincludes=Makefile.in
534 tmake_file=arm/t-bare
536 c1-convex-*) # Convex C1
539 fixincludes=Makefile.in
541 c2-convex-*) # Convex C2
544 fixincludes=Makefile.in
549 fixincludes=Makefile.in
554 fixincludes=Makefile.in
557 target_cpu_default=16
559 fixincludes=Makefile.in
561 clipper-intergraph-clix*)
562 tm_file="${tm_file} svr3.h clipper/clix.h"
563 xm_file=clipper/xm-clix.h
564 xmake_file=clipper/x-clix
565 extra_headers=va-clipper.h
566 extra_parts="crtbegin.o crtend.o"
567 install_headers_dir=install-headers-cpio
574 # This hasn't been upgraded to GCC 2.
575 # fx80-alliant-*) # Alliant FX/80
581 tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
582 xm_file=pa/xm-papro.h
587 tm_file="${tm_file} pa/pa-osf.h"
589 fixincludes=Makefile.in
592 tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h pa/rtems.h"
593 xm_file=pa/xm-papro.h
597 tm_file="${tm_file} pa/pa-osf.h"
599 fixincludes=Makefile.in
604 fixincludes=Makefile.in
608 fixincludes=Makefile.in
611 tm_file="pa/pa-oldas.h ${tm_file} pa/pa-hpux7.h"
612 xm_file=pa/xm-pahpux.h
613 xmake_file=pa/x-pa-hpux
614 if [[ x$gas = xyes ]]
616 tm_file="${tm_file} pa/gas.h"
618 install_headers_dir=install-headers-cpio
621 hppa1.0-*-hpux8.0[[0-2]]*)
622 tm_file="${tm_file} pa/pa-hpux.h"
623 xm_file=pa/xm-pahpux.h
624 xmake_file=pa/x-pa-hpux
625 if [[ x$gas = xyes ]]
627 tm_file="${tm_file} pa/pa-gas.h"
629 tm_file="pa/pa-oldas.h ${tm_file}"
631 install_headers_dir=install-headers-cpio
634 hppa1.1-*-hpux8.0[[0-2]]*)
636 tm_file="${tm_file} pa/pa-hpux.h"
637 xm_file=pa/xm-pahpux.h
638 xmake_file=pa/x-pa-hpux
639 if [[ x$gas = xyes ]]
641 tm_file="${tm_file} pa/pa-gas.h"
643 tm_file="pa/pa-oldas.h ${tm_file}"
645 install_headers_dir=install-headers-cpio
650 tm_file="${tm_file} pa/pa-hpux.h"
651 xm_file=pa/xm-pahpux.h
652 xmake_file=pa/x-pa-hpux
653 if [[ x$gas = xyes ]]
655 tm_file="${tm_file} pa/pa-gas.h"
657 install_headers_dir=install-headers-cpio
661 tm_file="${tm_file} pa/pa-hpux.h"
662 xm_file=pa/xm-pahpux.h
663 xmake_file=pa/x-pa-hpux
664 if [[ x$gas = xyes ]]
666 tm_file="${tm_file} pa/pa-gas.h"
668 install_headers_dir=install-headers-cpio
673 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
674 xm_file=pa/xm-pahpux.h
675 xmake_file=pa/x-pa-hpux
677 if [[ x$gas = xyes ]]
679 tm_file="${tm_file} pa/pa-gas.h"
681 if [[ x$enable_threads = x ]]; then
682 enable_threads=$have_pthread_h
684 if [[ x$enable_threads = xyes ]]; then
686 tmake_file="${tmake_file} pa/t-dce-thr"
688 install_headers_dir=install-headers-cpio
692 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
693 xm_file=pa/xm-pahpux.h
694 xmake_file=pa/x-pa-hpux
695 if [[ x$gas = xyes ]]
697 tm_file="${tm_file} pa/pa-gas.h"
699 if [[ x$enable_threads = x ]]; then
700 enable_threads=$have_pthread_h
702 if [[ x$enable_threads = xyes ]]; then
704 tmake_file="${tmake_file} pa/t-dce-thr"
706 install_headers_dir=install-headers-cpio
711 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
712 xm_file=pa/xm-pahpux.h
713 xmake_file=pa/x-pa-hpux
714 if [[ x$gas = xyes ]]
716 tm_file="${tm_file} pa/pa-gas.h"
718 install_headers_dir=install-headers-cpio
722 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
723 xm_file=pa/xm-pahpux.h
724 xmake_file=pa/x-pa-hpux
725 if [[ x$gas = xyes ]]
727 tm_file="${tm_file} pa/pa-gas.h"
729 install_headers_dir=install-headers-cpio
734 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
735 xm_file=pa/xm-pahpux.h
736 xmake_file=pa/x-pa-hpux
737 if [[ x$gas = xyes ]]
739 tm_file="${tm_file} pa/pa-gas.h"
741 install_headers_dir=install-headers-cpio
745 tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
746 xm_file=pa/xm-pahpux.h
747 xmake_file=pa/x-pa-hpux
748 if [[ x$gas = xyes ]]
750 tm_file="${tm_file} pa/pa-gas.h"
752 install_headers_dir=install-headers-cpio
758 fixincludes=Makefile.in
762 i[[34567]]86-ibm-aix*) # IBM PS/2 running AIX
763 if [[ x$gas = xyes ]]
765 tm_file=i386/aix386.h
766 extra_parts="crtbegin.o crtend.o"
767 tmake_file=i386/t-crtstuff
769 tm_file=i386/aix386ng.h
772 xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
774 xmake_file=i386/x-aix
776 i[[34567]]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4
777 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
778 xm_defines="USG POSIX SMALL_ARG_MAX"
779 xmake_file=i386/x-ncr3000
780 if [[ x$stabs = xyes -a x$gas = xyes ]]
782 tm_file=i386/sysv4gdb.h
786 extra_parts="crtbegin.o crtend.o"
787 tmake_file=i386/t-crtpic
791 xm_file=i386/xm-next.h
792 tmake_file=i386/t-next
793 xmake_file=i386/x-next
794 extra_objs=nextstep.o
795 if [[ x$enable_threads = xyes ]]; then
799 i[[34567]]86-sequent-bsd*) # 80386 from Sequent
801 if [[ x$gas = xyes ]]
803 tm_file=i386/seq-gas.h
805 tm_file=i386/sequent.h
808 i[[34567]]86-sequent-ptx1*)
809 xm_defines="USG SVR3"
810 xmake_file=i386/x-sysv3
811 tm_file=i386/seq-sysv3.h
812 tmake_file=i386/t-crtstuff
813 fixincludes=fixinc.ptx
814 extra_parts="crtbegin.o crtend.o"
815 install_headers_dir=install-headers-cpio
817 i[[34567]]86-sequent-ptx2* | i[[34567]]86-sequent-sysv3*)
818 xm_defines="USG SVR3"
819 xmake_file=i386/x-sysv3
820 tm_file=i386/seq2-sysv3.h
821 tmake_file=i386/t-crtstuff
822 extra_parts="crtbegin.o crtend.o"
823 fixincludes=fixinc.ptx
824 install_headers_dir=install-headers-cpio
826 i[[34567]]86-sequent-ptx4* | i[[34567]]86-sequent-sysv4*)
827 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
828 xm_defines="USG POSIX SMALL_ARG_MAX"
830 tm_file=i386/ptx4-i.h
832 extra_parts="crtbegin.o crtend.o"
833 fixincludes=fixinc.ptx
834 install_headers_dir=install-headers-cpio
836 i386-sun-sunos*) # Sun i386 roadrunner
841 i[[34567]]86-wrs-vxworks*)
842 tm_file=i386/vxi386.h
843 tmake_file=i386/t-i386bare
845 i[[34567]]86-*-aout*)
846 tm_file=i386/i386-aout.h
847 tmake_file=i386/t-i386bare
849 i[[34567]]86-*-bsdi* | i[[34567]]86-*-bsd386*)
850 tm_file=i386/bsd386.h
851 # tmake_file=t-libc-ok
854 tm_file=i386/386bsd.h
855 # tmake_file=t-libc-ok
856 # Next line turned off because both 386BSD and BSD/386 use GNU ld.
859 i[[34567]]86-*-freebsdelf*)
860 tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
861 # On FreeBSD, the headers are already ok, except for math.h.
862 fixincludes=fixinc.wrap
863 tmake_file=i386/t-freebsd
868 i[[34567]]86-*-freebsd*)
869 tm_file=i386/freebsd.h
870 # On FreeBSD, the headers are already ok, except for math.h.
871 fixincludes=fixinc.wrap
872 tmake_file=i386/t-freebsd
874 i[[34567]]86-*-netbsd*)
875 tm_file=i386/netbsd.h
876 xm_file="xm-netbsd.h ${xm_file}"
877 # On NetBSD, the headers are already okay, except for math.h.
878 fixincludes=fixinc.wrap
881 i[[34567]]86-*-coff*)
882 tm_file=i386/i386-coff.h
883 tmake_file=i386/t-i386bare
885 i[[34567]]86-*-isc*) # 80386 running ISC system
886 xm_file="${xm_file} i386/xm-isc.h"
887 xm_defines="USG SVR3"
889 i[[34567]]86-*-isc[[34]]*)
890 xmake_file=i386/x-isc3
893 xmake_file=i386/x-isc
896 if [[ x$gas = xyes -a x$stabs = xyes ]]
898 tm_file=i386/iscdbx.h
899 tmake_file=i386/t-svr3dbx
900 extra_parts="svr3.ifile svr3z.ifile"
902 tm_file=i386/isccoff.h
903 tmake_file=i386/t-crtstuff
904 extra_parts="crtbegin.o crtend.o"
906 install_headers_dir=install-headers-cpio
908 i[[34567]]86-*-linux-gnuoldld*) # Intel 80386's running GNU/Linux
909 # with a.out format using
911 xmake_file=x-linux-aout
912 tmake_file="t-linux-aout i386/t-crtstuff"
913 tm_file=i386/linux-oldld.h
914 fixincludes=Makefile.in #On Linux, the headers are ok already.
918 i[[34567]]86-*-linux-gnuaout*) # Intel 80386's running GNU/Linux
920 xmake_file=x-linux-aout
921 tmake_file="t-linux-aout i386/t-crtstuff"
922 tm_file=i386/linux-aout.h
923 fixincludes=Makefile.in #On Linux, the headers are ok already.
927 i[[34567]]86-*-linux-gnulibc1) # Intel 80386's running GNU/Linux
928 # with ELF format using the
929 # GNU/Linux C library 5
932 tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
933 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
934 fixincludes=Makefile.in #On Linux, the headers are ok already.
937 if [[ x$enable_threads = xyes ]]; then
941 i[[34567]]86-*-linux-gnu*) # Intel 80386's running GNU/Linux
942 # with ELF format using glibc 2
943 # aka GNU/Linux C library 6
946 tmake_file="t-linux i386/t-crtstuff"
947 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
948 fixincludes=Makefile.in #On Linux, the headers are ok already.
951 if [[ x$enable_threads = xyes ]]; then
957 i[[34567]]86-go32-msdos | i[[34567]]86-*-go32*)
958 xm_file=i386/xm-go32.h
960 tmake_file=i386/t-go32
962 i[[34567]]86-pc-msdosdjgpp*)
963 xm_file=i386/xm-go32.h
965 tmake_file=i386/t-go32
969 i[[34567]]86-moss-msdos* | i[[34567]]86-*-moss*)
972 fixincludes=Makefile.in
976 i[[34567]]86-*-lynxos*)
977 if [[ x$gas = xyes ]]
981 tm_file=i386/lynx-ng.h
983 xm_file=i386/xm-lynx.h
984 tmake_file=i386/t-i386bare
987 i[[34567]]86-*-mach*)
989 # tmake_file=t-libc-ok
992 i[[34567]]86-*-osfrose*) # 386 using OSF/rose
993 if [[ x$elf = xyes ]]
995 tm_file=i386/osfelf.h
998 tm_file=i386/osfrose.h
1001 xm_file="i386/xm-osf.h ${xm_file}"
1002 xmake_file=i386/x-osfrose
1003 tmake_file=i386/t-osf
1004 extra_objs=halfpic.o
1006 i[[34567]]86-go32-rtems*)
1008 xm_file=i386/xm-go32.h
1009 tm_file=i386/go32-rtems.h
1010 tmake_file="i386/t-go32 t-rtems"
1012 i[[34567]]86-*-rtemself*)
1014 tm_file=i386/rtemself.h
1015 tmake_file="i386/t-i386bare t-rtems"
1017 i[[34567]]86-*-rtems*)
1019 tm_file=i386/rtems.h
1020 tmake_file="i386/t-i386bare t-rtems"
1022 i[[34567]]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
1023 xm_file="xm-siglist.h xm-alloca.h ${xm_file} i386/xm-sco5.h"
1024 xm_defines="USG SVR3"
1025 xmake_file=i386/x-sco5
1026 fixincludes=fixinc.sco
1027 install_headers_dir=install-headers-cpio
1029 if [[ x$gas = xyes ]]
1031 tm_file="i386/sco5gas.h ${tm_file}"
1032 tmake_file=i386/t-sco5gas
1034 tmake_file=i386/t-sco5
1036 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
1038 i[[34567]]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system
1039 xm_file="${xm_file} i386/xm-sco.h"
1040 xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX NO_SYS_SIGLIST"
1041 xmake_file=i386/x-sco4
1042 fixincludes=fixinc.sco
1043 install_headers_dir=install-headers-cpio
1044 if [[ x$stabs = xyes ]]
1046 tm_file=i386/sco4dbx.h
1047 tmake_file=i386/t-svr3dbx
1048 extra_parts="svr3.ifile svr3z.rfile"
1051 tmake_file=i386/t-crtstuff
1052 extra_parts="crtbegin.o crtend.o"
1056 i[[34567]]86-*-sco*) # 80386 running SCO system
1057 xm_file=i386/xm-sco.h
1058 xmake_file=i386/x-sco
1059 install_headers_dir=install-headers-cpio
1060 if [[ x$stabs = xyes ]]
1062 tm_file=i386/scodbx.h
1063 tmake_file=i386/t-svr3dbx
1064 extra_parts="svr3.ifile svr3z.rfile"
1067 extra_parts="crtbegin.o crtend.o"
1068 tmake_file=i386/t-crtstuff
1072 i[[34567]]86-*-solaris2*)
1073 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
1074 xm_defines="USG POSIX SMALL_ARG_MAX"
1075 if [[ x$stabs = xyes ]]
1077 tm_file=i386/sol2dbg.h
1081 tmake_file=i386/t-sol2
1082 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
1085 *-*-solaris2.[[0-4]])
1086 fixincludes=fixinc.svr4;;
1088 fixincludes=fixinc.wrap;;
1090 if [[ x$enable_threads = xyes ]]; then
1091 thread_file='solaris'
1094 i[[34567]]86-*-sysv5*) # Intel x86 on System V Release 5
1095 xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
1096 xm_defines="USG POSIX"
1097 tm_file=i386/sysv4.h
1098 if [[ x$stabs = xyes ]]
1100 tm_file="${tm_file} dbx.h"
1102 tmake_file=i386/t-crtpic
1104 extra_parts="crtbegin.o crtend.o"
1105 fixincludes=Makefile.in # The headers are just fine, thank you.
1107 i[[34567]]86-*-sysv4*) # Intel 80386's running system V.4
1108 xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
1109 xm_defines="USG POSIX SMALL_ARG_MAX"
1110 tm_file=i386/sysv4.h
1111 if [[ x$stabs = xyes ]]
1113 tm_file="${tm_file} dbx.h"
1115 tmake_file=i386/t-crtpic
1117 extra_parts="crtbegin.o crtend.o"
1119 i[[34567]]86-*-osf1*) # Intel 80386's running OSF/1 1.3+
1121 xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h i386/xm-osf1elf.h"
1122 xm_defines="USE_C_ALLOCA SMALL_ARG_MAX"
1123 fixincludes=Makefile.in #Don't do it on OSF/1
1124 if [[ x$stabs = xyes ]]
1126 tm_file=i386/osf1elfgdb.h
1128 tm_file=i386/osf1elf.h
1130 tmake_file=i386/t-osf1elf
1131 xmake_file=i386/x-osf1elf
1132 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
1134 i[[34567]]86-*-sysv*) # Intel 80386's running system V
1135 xm_defines="USG SVR3"
1136 xmake_file=i386/x-sysv3
1137 if [[ x$gas = xyes ]]
1139 if [[ x$stabs = xyes ]]
1141 tm_file=i386/svr3dbx.h
1142 tmake_file=i386/t-svr3dbx
1143 extra_parts="svr3.ifile svr3z.rfile"
1145 tm_file=i386/svr3gas.h
1146 extra_parts="crtbegin.o crtend.o"
1147 tmake_file=i386/t-crtstuff
1150 tm_file=i386/sysv3.h
1151 extra_parts="crtbegin.o crtend.o"
1152 tmake_file=i386/t-crtstuff
1155 i386-*-vsta) # Intel 80386's running VSTa kernel
1156 xm_file="${xm_file} i386/xm-vsta.h"
1158 tmake_file=i386/t-vsta
1159 xmake_file=i386/x-vsta
1161 i[[34567]]86-*-win32)
1162 xm_file="${xm_file} i386/xm-cygwin32.h"
1163 tmake_file=i386/t-cygwin32
1164 tm_file=i386/win32.h
1165 xmake_file=i386/x-cygwin32
1167 fixincludes=Makefile.in
1168 if [[ x$enable_threads = xyes ]]; then
1173 i[[34567]]86-*-pe | i[[34567]]86-*-cygwin32)
1174 xm_file="${xm_file} i386/xm-cygwin32.h"
1175 tmake_file=i386/t-cygwin32
1176 tm_file=i386/cygwin32.h
1177 xmake_file=i386/x-cygwin32
1179 fixincludes=Makefile.in
1180 if [[ x$enable_threads = xyes ]]; then
1185 i[[34567]]86-*-mingw32*)
1186 tm_file=i386/mingw32.h
1187 xm_file="${xm_file} i386/xm-mingw32.h"
1188 tmake_file="i386/t-cygwin32 i386/t-mingw32"
1190 xmake_file=i386/x-cygwin32
1191 fixincludes=Makefile.in
1192 if [[ x$enable_threads = xyes ]]; then
1199 *minwg32crt* | *mingw32*)
1200 tm_file="${tm_file} i386/crtdll.h"
1204 i[[34567]]86-*-winnt3*)
1205 tm_file=i386/win-nt.h
1206 out_file=i386/i386.c
1207 xm_file="xm-winnt.h ${xm_file}"
1208 xmake_file=winnt/x-winnt
1209 tmake_file=i386/t-winnt
1210 extra_host_objs="winnt.o oldnames.o"
1211 extra_gcc_objs="spawnv.o oldnames.o"
1212 fixincludes=fixinc.winnt
1213 if [[ x$gnu_ld != xyes ]]
1215 extra_programs=ld.exe
1217 if [[ x$enable_threads = xyes ]]; then
1221 i[[34567]]86-dg-dgux*)
1222 xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
1223 xm_defines="USG POSIX"
1224 out_file=i386/dgux.c
1226 tmake_file=i386/t-dgux
1227 xmake_file=i386/x-dgux
1228 fixincludes=fixinc.dgux
1229 install_headers_dir=install-headers-cpio
1231 i860-alliant-*) # Alliant FX/2800
1232 tm_file="${tm_file} svr4.h i860/sysv4.h i860/fx2800.h"
1233 xm_file="${xm_file}"
1234 xmake_file=i860/x-fx2800
1235 tmake_file=i860/t-fx2800
1236 extra_parts="crtbegin.o crtend.o"
1239 tm_file="${tm_file} i860/bsd.h"
1240 if [[ x$gas = xyes ]]
1242 tm_file="${tm_file} i860/bsd-gas.h"
1247 tm_file="${tm_file} i860/mach.h"
1248 tmake_file=t-libc-ok
1250 i860-*-osf*) # Intel Paragon XP/S, OSF/1AD
1251 tm_file="${tm_file} svr3.h i860/paragon.h"
1252 xm_defines="USG SVR3"
1256 tm_file="${tm_file} svr3.h i860/sysv3.h"
1257 xm_defines="USG SVR3"
1258 xmake_file=i860/x-sysv3
1259 extra_parts="crtbegin.o crtend.o"
1262 tm_file="${tm_file} svr4.h i860/sysv4.h"
1263 xm_defines="USG SVR3"
1264 xmake_file=i860/x-sysv4
1266 extra_parts="crtbegin.o crtend.o"
1268 i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
1269 tm_file="${tm_file} i960/vx960.h"
1270 tmake_file=i960/t-vxworks960
1272 thread_file='vxworks'
1274 i960-wrs-vxworks5* | i960-wrs-vxworks)
1275 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
1276 tmake_file=i960/t-vxworks960
1278 thread_file='vxworks'
1281 tm_file="${tm_file} i960/vx960.h"
1282 tmake_file=i960/t-vxworks960
1284 thread_file='vxworks'
1287 tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
1288 tmake_file=i960/t-960bare
1292 tmake_file="i960/t-960bare t-rtems"
1293 tm_file="${tm_file} dbxcoff.h i960/rtems.h"
1296 i960-*-*) # Default i960 environment.
1300 extra_parts="crtinit.o crtfini.o"
1302 m68000-convergent-sysv*)
1304 xm_file="m68k/xm-3b1.h ${xm_file}"
1307 extra_headers=math-68881.h
1309 m68000-hp-bsd*) # HP 9000/200 running BSD
1310 tm_file=m68k/hp2bsd.h
1311 xmake_file=m68k/x-hp2bsd
1313 extra_headers=math-68881.h
1315 m68000-hp-hpux*) # HP 9000 series 300
1316 xm_file="xm_alloca.h ${xm_file}"
1317 xm_defines="USG NO_SYS_SIGLIST"
1318 if [[ x$gas = xyes ]]
1320 xmake_file=m68k/x-hp320g
1321 tm_file=m68k/hp310g.h
1323 xmake_file=m68k/x-hp320
1324 tm_file=m68k/hp310.h
1326 install_headers_dir=install-headers-cpio
1328 extra_headers=math-68881.h
1333 extra_headers=math-68881.h
1336 tm_file=m68k/sun2o4.h
1338 extra_headers=math-68881.h
1341 xm_file="m68k/xm-3b1.h ${xm_file}"
1343 if [[ x$gas = xyes ]]
1350 extra_headers=math-68881.h
1352 m68k-apple-aux*) # Apple Macintosh running A/UX
1353 xm_defines="USG AUX"
1354 tmake_file=m68k/t-aux
1355 install_headers_dir=install-headers-cpio
1356 extra_headers=math-68881.h
1357 extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
1359 if [[ "$gnu_ld" = yes ]]
1361 tm_file="${tm_file} m68k/auxgld.h"
1363 tm_file="${tm_file} m68k/auxld.h"
1365 if [[ "$gas" = yes ]]
1367 tm_file="${tm_file} m68k/auxgas.h"
1369 tm_file="${tm_file} m68k/auxas.h"
1371 tm_file="${tm_file} m68k/a-ux.h"
1375 tm_file=m68k/apollo68.h
1376 xmake_file=m68k/x-apollo68
1378 extra_headers=math-68881.h
1381 m68k-altos-sysv*) # Altos 3068
1382 if [[ x$gas = xyes ]]
1384 tm_file=m68k/altos3068.h
1387 echo "The Altos is supported only with the GNU assembler" 1>&2
1390 extra_headers=math-68881.h
1392 m68k-bull-sysv*) # Bull DPX/2
1393 if [[ x$gas = xyes ]]
1395 if [[ x$stabs = xyes ]]
1397 tm_file=m68k/dpx2cdbx.h
1399 tm_file=m68k/dpx2g.h
1404 xm_file="xm-alloca.h ${xm_file}"
1406 xmake_file=m68k/x-dpx2
1408 extra_headers=math-68881.h
1410 m68k-atari-sysv4*) # Atari variant of V.4.
1411 tm_file=m68k/atari.h
1412 xm_file="xm-alloca.h ${xm_file}"
1413 xm_defines="USG FULL_PROTOTYPES"
1415 extra_parts="crtbegin.o crtend.o"
1416 extra_headers=math-68881.h
1419 m68k-motorola-sysv*)
1420 tm_file=m68k/mot3300.h
1421 xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
1422 xm_defines=NO_SYS_SIGLIST
1423 if [[ x$gas = xyes ]]
1425 xmake_file=m68k/x-mot3300-gas
1426 if [[ x$gnu_ld = xyes ]]
1428 tmake_file=m68k/t-mot3300-gald
1430 tmake_file=m68k/t-mot3300-gas
1434 xmake_file=m68k/x-mot3300
1435 if [[ x$gnu_ld = xyes ]]
1437 tmake_file=m68k/t-mot3300-gld
1439 tmake_file=m68k/t-mot3300
1443 gdb_needs_out_file_path=yes
1444 extra_parts="crt0.o mcrt0.o"
1445 extra_headers=math-68881.h
1448 m68k-ncr-sysv*) # NCR Tower 32 SVR3
1449 tm_file=m68k/tower-as.h
1450 xm_defines="USG SVR3"
1451 xmake_file=m68k/x-tower
1452 extra_parts="crtbegin.o crtend.o"
1453 extra_headers=math-68881.h
1456 tm_file=m68k/plexus.h
1457 xm_file="xm-alloca.h m68k/xm-plexus.h ${xm_file}"
1460 extra_headers=math-68881.h
1464 xm_file="xm-alloca.h ${xm_file}"
1466 extra_headers=math-68881.h
1469 xm_file="xm-alloca.h m68k/xm-crds.h ${xm_file}"
1470 xm_defines="USG unos"
1471 xmake_file=m68k/x-crds
1474 extra_headers=math-68881.h
1476 m68k-cbm-sysv4*) # Commodore variant of V.4.
1478 xm_file="xm-alloca.h ${xm_file}"
1479 xm_defines="USG FULL_PROTOTYPES"
1480 xmake_file=m68k/x-amix
1482 extra_parts="crtbegin.o crtend.o"
1483 extra_headers=math-68881.h
1487 tm_file=m68k/ccur-GAS.h
1488 xmake_file=m68k/x-ccur
1489 extra_headers=math-68881.h
1493 m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd
1494 tm_file=m68k/hp3bsd44.h
1495 xmake_file=m68k/x-hp3bsd44
1497 extra_headers=math-68881.h
1500 m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix
1501 tm_file=m68k/hp3bsd.h
1503 extra_headers=math-68881.h
1507 if [[ x$with_fp = xno ]]
1509 tm_file=m68k/isi-nfp.h
1515 extra_headers=math-68881.h
1517 m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
1518 xm_file="xm_alloca.h ${xm_file}"
1519 xm_defines="USG NO_SYS_SIGLIST"
1520 if [[ x$gas = xyes ]]
1522 xmake_file=m68k/x-hp320g
1523 tm_file=m68k/hp320g.h
1525 xmake_file=m68k/x-hp320
1526 tm_file=m68k/hpux7.h
1528 install_headers_dir=install-headers-cpio
1530 extra_headers=math-68881.h
1533 m68k-hp-hpux*) # HP 9000 series 300
1534 xm_file="xm_alloca.h ${xm_file}"
1535 xm_defines="USG NO_SYS_SIGLIST"
1536 if [[ x$gas = xyes ]]
1538 xmake_file=m68k/x-hp320g
1539 tm_file=m68k/hp320g.h
1541 xmake_file=m68k/x-hp320
1542 tm_file=m68k/hp320.h
1544 install_headers_dir=install-headers-cpio
1546 extra_headers=math-68881.h
1550 tm_file=m68k/sun3mach.h
1552 extra_headers=math-68881.h
1556 if [[ x$gas = xyes ]]
1558 tm_file=m68k/news3gas.h
1560 tm_file=m68k/news3.h
1563 extra_headers=math-68881.h
1566 m68k-sony-bsd* | m68k-sony-newsos*)
1567 if [[ x$gas = xyes ]]
1569 tm_file=m68k/newsgas.h
1574 extra_headers=math-68881.h
1577 m68k-next-nextstep2*)
1578 tm_file=m68k/next21.h
1579 xm_file="m68k/xm-next.h ${xm_file}"
1580 tmake_file=m68k/t-next
1581 xmake_file=m68k/x-next
1582 extra_objs=nextstep.o
1583 extra_headers=math-68881.h
1587 m68k-next-nextstep3*)
1589 xm_file="m68k/xm-next.h ${xm_file}"
1590 tmake_file=m68k/t-next
1591 xmake_file=m68k/x-next
1592 extra_objs=nextstep.o
1593 extra_headers=math-68881.h
1595 if [[ x$enable_threads = xyes ]]; then
1600 if [[ x$with_fp = xno ]]
1602 tm_file=m68k/sun3n3.h
1604 tm_file=m68k/sun3o3.h
1608 extra_headers=math-68881.h
1610 m68k-sun-sunos*) # For SunOS 4 (the default).
1611 if [[ x$with_fp = xno ]]
1613 tm_file=m68k/sun3n.h
1619 extra_headers=math-68881.h
1622 tm_file=m68k/vxm68k.h
1623 tmake_file=m68k/t-vxworks68
1624 extra_headers=math-68881.h
1625 thread_file='vxworks'
1629 tmake_file=m68k/t-m68kbare
1630 tm_file="m68k/m68k-aout.h libgloss.h"
1631 extra_headers=math-68881.h
1635 tmake_file=m68k/t-m68kbare
1636 tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
1637 extra_headers=math-68881.h
1641 if [[ x$gas = xyes ]]
1645 tm_file=m68k/lynx-ng.h
1647 xm_file=m68k/xm-lynx.h
1649 tmake_file=m68k/t-lynx
1650 extra_headers=math-68881.h
1654 tm_file=m68k/netbsd.h
1655 xm_file="xm-netbsd.h ${xm_file}"
1656 # On NetBSD, the headers are already okay, except for math.h.
1657 fixincludes=fixinc.wrap
1661 m68k-*-sysv3*) # Motorola m68k's running system V.3
1662 xm_file="xm-alloca.h ${xm_file}"
1664 xmake_file=m68k/x-m68kv
1665 extra_parts="crtbegin.o crtend.o"
1666 extra_headers=math-68881.h
1669 m68k-*-sysv4*) # Motorola m68k's running system V.4
1670 tm_file=m68k/m68kv4.h
1671 xm_file="xm-alloca.h ${xm_file}"
1674 extra_parts="crtbegin.o crtend.o"
1675 extra_headers=math-68881.h
1678 m68k-*-linux-gnuaout*) # Motorola m68k's running GNU/Linux
1681 tm_file=m68k/linux-aout.h
1682 tmake_file="t-linux-aout m68k/t-linux-aout"
1683 fixincludes=Makefile.in # The headers are ok already.
1684 extra_headers=math-68881.h
1688 m68k-*-linux-gnulibc1) # Motorola m68k's running GNU/Linux
1689 # with ELF format using the
1690 # GNU/Linux C library 5
1692 tm_file=m68k/linux.h
1693 tmake_file="t-linux t-linux-gnulibc1 m68k/t-linux"
1694 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1695 fixincludes=Makefile.in # The headers are ok already.
1696 extra_headers=math-68881.h
1700 m68k-*-linux-gnu*) # Motorola m68k's running GNU/Linux
1701 # with ELF format using glibc 2
1702 # aka the GNU/Linux C library 6.
1704 tm_file=m68k/linux.h
1705 tmake_file="t-linux m68k/t-linux"
1706 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1707 fixincludes=Makefile.in # The headers are ok already.
1708 extra_headers=math-68881.h
1711 if [[ x$enable_threads = xyes ]]; then
1716 tmake_file=m68k/t-m68kbare
1717 tm_file=m68k/m68k-psos.h
1718 extra_headers=math-68881.h
1722 tmake_file="m68k/t-m68kbare t-rtems"
1723 tm_file=m68k/rtems.h
1724 extra_headers=math-68881.h
1731 tm_file=m88k/dguxbcs.h
1732 tmake_file=m88k/t-dguxbcs
1736 tmake_file=m88k/t-dgux
1739 extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
1740 xmake_file=m88k/x-dgux
1741 if [[ x$gas = xyes ]]
1743 tmake_file=m88k/t-dgux-gas
1745 fixincludes=fixinc.dgux
1747 m88k-dolphin-sysv3*)
1748 tm_file=m88k/dolph.h
1749 extra_parts="crtbegin.o crtend.o"
1750 xm_file="m88k/xm-sysv3.h ${xm_file}"
1751 xmake_file=m88k/x-dolph
1752 if [[ x$gas = xyes ]]
1754 tmake_file=m88k/t-m88k-gas
1757 m88k-tektronix-sysv3)
1758 tm_file=m88k/tekXD88.h
1759 extra_parts="crtbegin.o crtend.o"
1760 xm_file="m88k/xm-sysv3.h ${xm_file}"
1761 xmake_file=m88k/x-tekXD88
1762 if [[ x$gas = xyes ]]
1764 tmake_file=m88k/t-m88k-gas
1768 tm_file=m88k/m88k-aout.h
1771 tm_file=m88k/m88k-coff.h
1772 tmake_file=m88k/t-bug
1776 extra_parts="crtbegin.o crtend.o"
1777 if [[ x$gas = xyes ]]
1779 tmake_file=m88k/t-luna-gas
1781 tmake_file=m88k/t-luna
1785 tm_file=m88k/sysv3.h
1786 extra_parts="crtbegin.o crtend.o"
1787 xm_file="m88k/xm-sysv3.h ${xm_file}"
1788 xmake_file=m88k/x-sysv3
1789 if [[ x$gas = xyes ]]
1791 tmake_file=m88k/t-m88k-gas
1795 tm_file=m88k/sysv4.h
1796 extra_parts="crtbegin.o crtend.o"
1797 xmake_file=m88k/x-sysv4
1798 tmake_file=m88k/t-sysv4
1800 mips-sgi-irix6*) # SGI System V.4., IRIX 6
1801 tm_file=mips/iris6.h
1802 xm_file=mips/xm-iris6.h
1803 fixincludes=fixinc.irix
1804 xmake_file=mips/x-iris6
1805 tmake_file=mips/t-iris6
1806 if [[ x$enable_threads = xyes ]]; then
1811 tm_file="mips/elf.h libgloss.h"
1812 tmake_file=mips/t-ecoff
1815 extra_parts="crtbegin.o crtend.o"
1816 # thread_file='vxworks'
1818 mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
1819 tm_file="mips/iris6.h mips/cross64.h"
1821 xm_file="mips/xm-iris5.h"
1822 fixincludes=Makefile.in
1823 xmake_file=mips/x-iris
1824 tmake_file=mips/t-cross64
1825 # See comment in mips/iris[56].h files.
1827 if [[ x$enable_threads = xyes ]]; then
1832 if [[ x$gas = xyes ]]
1834 if [[ x$stabs = xyes ]]
1836 tm_file=mips/iris5gdb.h
1838 tm_file="mips/sni-svr4.h mips/sni-gas.h"
1841 tm_file=mips/sni-svr4.h
1844 xmake_file=mips/x-sni-svr4
1845 tmake_file=mips/t-mips-gas
1846 if [[ x$gnu_ld != xyes ]]
1851 mips-sgi-irix5*) # SGI System V.4., IRIX 5
1852 if [[ x$gas = xyes ]]
1854 tm_file="mips/iris5.h mips/iris5gas.h"
1855 if [[ x$stabs = xyes ]]
1857 tm_file="${tm_file} dbx.h"
1860 tm_file=mips/iris5.h
1863 xm_file="mips/xm-iris5.h"
1864 fixincludes=fixinc.irix
1865 xmake_file=mips/x-iris
1866 # mips-tfile doesn't work yet
1867 tmake_file=mips/t-mips-gas
1868 # See comment in mips/iris5.h file.
1870 if [[ x$enable_threads = xyes ]]; then
1874 mips-sgi-irix4loser*) # Mostly like a MIPS.
1875 tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
1876 if [[ x$stabs = xyes ]]; then
1877 tm_file="${tm_file} dbx.h"
1880 xmake_file=mips/x-iris
1881 if [[ x$gas = xyes ]]
1883 tmake_file=mips/t-mips-gas
1885 extra_passes="mips-tfile mips-tdump"
1887 if [[ x$gnu_ld != xyes ]]
1891 if [[ x$enable_threads = xyes ]]; then
1895 mips-sgi-irix4*) # Mostly like a MIPS.
1896 tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
1897 if [[ x$stabs = xyes ]]; then
1898 tm_file="${tm_file} dbx.h"
1901 xmake_file=mips/x-iris
1902 if [[ x$gas = xyes ]]
1904 tmake_file=mips/t-mips-gas
1906 extra_passes="mips-tfile mips-tdump"
1908 if [[ x$gnu_ld != xyes ]]
1912 if [[ x$enable_threads = xyes ]]; then
1916 mips-sgi-*) # Mostly like a MIPS.
1917 tm_file="mips/iris3.h ${tm_file}"
1918 if [[ x$stabs = xyes ]]; then
1919 tm_file="${tm_file} dbx.h"
1922 xmake_file=mips/x-iris3
1923 if [[ x$gas = xyes ]]
1925 tmake_file=mips/t-mips-gas
1927 extra_passes="mips-tfile mips-tdump"
1929 if [[ x$gnu_ld != xyes ]]
1934 mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose.
1935 tm_file="mips/osfrose.h ${tm_file}"
1936 xmake_file=mips/x-osfrose
1937 tmake_file=mips/t-osfrose
1938 extra_objs=halfpic.o
1941 mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL
1942 tm_file=mips/dec-osf1.h
1943 if [[ x$stabs = xyes ]]; then
1944 tm_file="${tm_file} dbx.h"
1946 xmake_file=mips/x-dec-osf1
1947 if [[ x$gas = xyes ]]
1949 tmake_file=mips/t-mips-gas
1951 tmake_file=mips/t-ultrix
1952 extra_passes="mips-tfile mips-tdump"
1954 if [[ x$gnu_ld != xyes ]]
1959 mips-dec-bsd*) # Decstation running 4.4 BSD
1960 tm_file=mips/dec-bsd.h
1962 if [[ x$gas = xyes ]]
1964 tmake_file=mips/t-mips-gas
1966 tmake_file=mips/t-ultrix
1967 extra_passes="mips-tfile mips-tdump"
1969 if [[ x$gnu_ld != xyes ]]
1974 mipsel-*-netbsd* | mips-dec-netbsd*) # Decstation running NetBSD
1975 tm_file=mips/netbsd.h
1976 xm_file="xm-netbsd.h ${xm_file}"
1977 # On NetBSD, the headers are already okay, except for math.h.
1978 fixincludes=fixinc.wrap
1981 mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
1982 tm_file="mips/news4.h ${tm_file}"
1983 if [[ x$stabs = xyes ]]; then
1984 tm_file="${tm_file} dbx.h"
1986 if [[ x$gas = xyes ]]
1988 tmake_file=mips/t-mips-gas
1990 extra_passes="mips-tfile mips-tdump"
1992 if [[ x$gnu_ld != xyes ]]
1996 xmake_file=mips/x-sony
1998 mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0.
1999 # That is based on svr4.
2000 # t-svr4 is not right because this system doesn't use ELF.
2001 tm_file="mips/news5.h ${tm_file}"
2002 if [[ x$stabs = xyes ]]; then
2003 tm_file="${tm_file} dbx.h"
2005 xm_file="xm-siglist.h ${xm_file}"
2007 if [[ x$gas = xyes ]]
2009 tmake_file=mips/t-mips-gas
2011 extra_passes="mips-tfile mips-tdump"
2013 if [[ x$gnu_ld != xyes ]]
2018 mips-tandem-sysv4*) # Tandem S2 running NonStop UX
2019 tm_file="mips/svr4-5.h mips/svr4-t.h"
2020 if [[ x$stabs = xyes ]]; then
2021 tm_file="${tm_file} dbx.h"
2023 xm_file="xm-siglist.h ${xm_file}"
2025 xmake_file=mips/x-sysv
2026 if [[ x$gas = xyes ]]
2028 tmake_file=mips/t-mips-gas
2029 extra_parts="crtbegin.o crtend.o"
2031 tmake_file=mips/t-mips
2032 extra_passes="mips-tfile mips-tdump"
2034 if [[ x$gnu_ld != xyes ]]
2039 mips-*-ultrix* | mips-dec-mach3) # Decstation.
2040 tm_file="mips/ultrix.h ${tm_file}"
2041 if [[ x$stabs = xyes ]]; then
2042 tm_file="${tm_file} dbx.h"
2044 xmake_file=mips/x-ultrix
2045 if [[ x$gas = xyes ]]
2047 tmake_file=mips/t-mips-gas
2049 tmake_file=mips/t-ultrix
2050 extra_passes="mips-tfile mips-tdump"
2052 if [[ x$gnu_ld != xyes ]]
2057 mips-*-riscos[[56789]]bsd*)
2058 tm_file=mips/bsd-5.h # MIPS BSD 4.3, RISC-OS 5.0
2059 if [[ x$stabs = xyes ]]; then
2060 tm_file="${tm_file} dbx.h"
2062 if [[ x$gas = xyes ]]
2064 tmake_file=mips/t-bsd-gas
2066 tmake_file=mips/t-bsd
2067 extra_passes="mips-tfile mips-tdump"
2069 if [[ x$gnu_ld != xyes ]]
2074 mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[[1234]]bsd*)
2075 tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
2076 if [[ x$stabs = xyes ]]; then
2077 tm_file="${tm_file} dbx.h"
2079 if [[ x$gas = xyes ]]
2081 tmake_file=mips/t-bsd-gas
2083 tmake_file=mips/t-bsd
2084 extra_passes="mips-tfile mips-tdump"
2086 if [[ x$gnu_ld != xyes ]]
2091 mips-*-riscos[[56789]]sysv4*)
2092 tm_file=mips/svr4-5.h # MIPS System V.4., RISC-OS 5.0
2093 if [[ x$stabs = xyes ]]; then
2094 tm_file="${tm_file} dbx.h"
2096 xm_file="xm-siglist.h ${xm_file}"
2097 xmake_file=mips/x-sysv
2098 if [[ x$gas = xyes ]]
2100 tmake_file=mips/t-svr4-gas
2102 tmake_file=mips/t-svr4
2103 extra_passes="mips-tfile mips-tdump"
2105 if [[ x$gnu_ld != xyes ]]
2110 mips-*-sysv4* | mips-*-riscos[[1234]]sysv4* | mips-*-riscossysv4*)
2111 tm_file="mips/svr4-4.h ${tm_file}"
2112 if [[ x$stabs = xyes ]]; then
2113 tm_file="${tm_file} dbx.h"
2116 xmake_file=mips/x-sysv
2117 if [[ x$gas = xyes ]]
2119 tmake_file=mips/t-svr4-gas
2121 tmake_file=mips/t-svr4
2122 extra_passes="mips-tfile mips-tdump"
2124 if [[ x$gnu_ld != xyes ]]
2129 mips-*-riscos[[56789]]sysv*)
2130 tm_file=mips/svr3-5.h # MIPS System V.3, RISC-OS 5.0
2131 if [[ x$stabs = xyes ]]; then
2132 tm_file="${tm_file} dbx.h"
2135 xmake_file=mips/x-sysv
2136 if [[ x$gas = xyes ]]
2138 tmake_file=mips/t-svr3-gas
2140 tmake_file=mips/t-svr3
2141 extra_passes="mips-tfile mips-tdump"
2143 if [[ x$gnu_ld != xyes ]]
2148 mips-*-sysv* | mips-*-riscos*sysv*)
2149 tm_file="mips/svr3-4.h ${tm_file}"
2150 if [[ x$stabs = xyes ]]; then
2151 tm_file="${tm_file} dbx.h"
2154 xmake_file=mips/x-sysv
2155 if [[ x$gas = xyes ]]
2157 tmake_file=mips/t-svr3-gas
2159 tmake_file=mips/t-svr3
2160 extra_passes="mips-tfile mips-tdump"
2162 if [[ x$gnu_ld != xyes ]]
2167 mips-*-riscos[[56789]]*) # Default MIPS RISC-OS 5.0.
2168 tm_file=mips/mips-5.h
2169 if [[ x$stabs = xyes ]]; then
2170 tm_file="${tm_file} dbx.h"
2172 if [[ x$gas = xyes ]]
2174 tmake_file=mips/t-mips-gas
2176 extra_passes="mips-tfile mips-tdump"
2178 if [[ x$gnu_ld != xyes ]]
2186 tm_file=mips/ecoffl.h
2187 if [[ x$stabs = xyes ]]; then
2188 tm_file="${tm_file} dbx.h"
2190 tmake_file=mips/t-ecoff
2193 tm_file="gofast.h mips/ecoff.h"
2194 if [[ x$stabs = xyes ]]; then
2195 tm_file="${tm_file} dbx.h"
2197 tmake_file=mips/t-ecoff
2200 tm_file="mips/elfl.h libgloss.h"
2201 tmake_file=mips/t-ecoff
2204 tm_file="mips/elf.h libgloss.h"
2205 tmake_file=mips/t-ecoff
2208 tm_file="mips/elfl64.h libgloss.h"
2209 tmake_file=mips/t-ecoff
2211 mips64orionel-*-elf*)
2212 tm_file="mips/elforion.h mips/elfl64.h libgloss.h"
2213 tmake_file=mips/t-ecoff
2216 tm_file="mips/elf64.h libgloss.h"
2217 tmake_file=mips/t-ecoff
2220 tm_file="mips/elforion.h mips/elf64.h libgloss.h"
2221 tmake_file=mips/t-ecoff
2223 mips64orion-*-rtems*)
2224 tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
2225 tmake_file="mips/t-ecoff t-rtems"
2228 tm_file="mips/r3900.h mips/elfl.h mips/abi64.h libgloss.h"
2229 tmake_file=mips/t-r3900
2232 tm_file="mips/r3900.h mips/elf.h mips/abi64.h libgloss.h"
2233 tmake_file=mips/t-r3900
2235 mips-*-*) # Default MIPS RISC-OS 4.0.
2236 if [[ x$stabs = xyes ]]; then
2237 tm_file="${tm_file} dbx.h"
2239 if [[ x$gas = xyes ]]
2241 tmake_file=mips/t-mips-gas
2243 extra_passes="mips-tfile mips-tdump"
2245 if [[ x$gnu_ld != xyes ]]
2252 tm_file="mn10200/mn10200.h"
2253 if [[ x$stabs = xyes ]]
2255 tm_file="${tm_file} dbx.h"
2261 tm_file="mn10300/mn10300.h"
2262 if [[ x$stabs = xyes ]]
2264 tm_file="${tm_file} dbx.h"
2269 tm_file=ns32k/encore.h
2273 tm_file=ns32k/sequent.h
2277 tm_file=ns32k/tek6100.h
2281 tm_file=ns32k/tek6200.h
2284 # This has not been updated to GCC 2.
2287 # xmake_file=ns32k/x-genix
2288 # tm_file=ns32k/genix.h
2292 tm_file=ns32k/merlin.h
2296 tm_file=ns32k/pc532-mach.h
2300 tm_file=ns32k/pc532-min.h
2301 xm_file="ns32k/xm-pc532-min.h ${xm-file}"
2306 tm_file=ns32k/netbsd.h
2307 xm_file="xm-netbsd.h ${xm_file}"
2308 # On NetBSD, the headers are already okay, except for math.h.
2309 fixincludes=fixinc.wrap
2313 tm_file="${tm_file} pdp11/2bsd.h"
2319 xmake_file=pyr/x-pyr
2326 xmake_file=romp/x-mach
2331 tm_file=rs6000/beos.h
2332 xm_file=rs6000/xm-beos.h
2333 tmake_file=rs6000/t-beos
2334 xmake_file=rs6000/x-beos
2336 powerpc-*-sysv* | powerpc-*-elf*)
2337 tm_file=rs6000/sysv4.h
2338 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2339 xm_defines="USG POSIX"
2340 extra_headers=ppc-asm.h
2341 if [[ x$gas = xyes ]]
2343 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2345 tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2347 xmake_file=rs6000/x-sysv4
2350 tm_file=rs6000/eabiaix.h
2351 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2352 fixincludes=Makefile.in
2353 extra_headers=ppc-asm.h
2356 tm_file=rs6000/eabisim.h
2357 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2358 fixincludes=Makefile.in
2359 extra_headers=ppc-asm.h
2362 tm_file=rs6000/eabi.h
2363 if [[ x$gas = xyes ]]
2365 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2367 tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2369 fixincludes=Makefile.in
2370 extra_headers=ppc-asm.h
2373 tm_file=rs6000/rtems.h
2374 if [[ x$gas = xyes ]]
2376 tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
2378 tmake_file="rs6000/t-ppc t-rtems rs6000/t-ppccomm"
2380 fixincludes=Makefile.in
2381 extra_headers=ppc-asm.h
2383 powerpc-*-linux-gnulibc1)
2384 tm_file=rs6000/linux.h
2385 xm_file=rs6000/xm-sysv4.h
2386 out_file=rs6000/rs6000.c
2387 if [[ x$gas = xyes ]]
2389 tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
2391 tmake_file="rs6000/t-ppc t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
2394 fixincludes=Makefile.in
2395 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2396 extra_headers=ppc-asm.h
2397 if [[ x$enable_threads = xyes ]]; then
2401 powerpc-*-linux-gnu*)
2402 tm_file=rs6000/linux.h
2403 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2404 xm_defines="USG ${xm_defines}"
2405 out_file=rs6000/rs6000.c
2406 if [[ x$gas = xyes ]]
2408 tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
2410 tmake_file="rs6000/t-ppc t-linux rs6000/t-ppccomm"
2413 fixincludes=Makefile.in
2414 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2415 extra_headers=ppc-asm.h
2416 if [[ x$enable_threads = xyes ]]; then
2420 powerpc-wrs-vxworks*)
2422 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2423 xm_defines="USG POSIX"
2424 tm_file=rs6000/vxppc.h
2425 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2426 extra_headers=ppc-asm.h
2427 thread_file='vxworks'
2429 powerpcle-*-sysv* | powerpcle-*-elf*)
2430 tm_file=rs6000/sysv4le.h
2431 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2432 xm_defines="USG POSIX"
2433 if [[ x$gas = xyes ]]
2435 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2437 tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2439 xmake_file=rs6000/x-sysv4
2440 extra_headers=ppc-asm.h
2442 powerpcle-*-eabisim*)
2443 tm_file=rs6000/eabilesim.h
2444 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2445 fixincludes=Makefile.in
2446 extra_headers=ppc-asm.h
2449 tm_file=rs6000/eabile.h
2450 if [[ x$gas = xyes ]]
2452 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
2454 tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2456 fixincludes=Makefile.in
2457 extra_headers=ppc-asm.h
2459 powerpcle-*-winnt* )
2460 tm_file=rs6000/win-nt.h
2461 tmake_file=rs6000/t-winnt
2463 fixincludes=Makefile.in
2464 if [[ x$enable_threads = xyes ]]; then
2467 extra_headers=ppc-asm.h
2469 powerpcle-*-pe | powerpcle-*-cygwin32)
2470 tm_file=rs6000/cygwin32.h
2471 xm_file="rs6000/xm-cygwin32.h ${xm_file}"
2472 tmake_file=rs6000/t-winnt
2473 xmake_file=rs6000/x-cygwin32
2475 fixincludes=Makefile.in
2476 if [[ x$enable_threads = xyes ]]; then
2480 extra_headers=ppc-asm.h
2482 powerpcle-*-solaris2*)
2483 tm_file=rs6000/sol2.h
2484 xm_file="xm-siglist.h rs6000/xm-sysv4.h"
2485 xm_defines="USG POSIX"
2486 if [[ x$gas = xyes ]]
2488 tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
2490 tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
2492 xmake_file=rs6000/x-sysv4
2494 *-*-solaris2.[[0-4]])
2495 fixincludes=fixinc.svr4;;
2497 fixincludes=fixinc.wrap;;
2499 extra_headers=ppc-asm.h
2501 rs6000-ibm-aix3.[[01]]*)
2502 tm_file=rs6000/aix31.h
2503 xmake_file=rs6000/x-aix31
2506 rs6000-ibm-aix3.2.[[456789]]* | powerpc-ibm-aix3.2.[[456789]]*)
2507 tm_file=rs6000/aix3newas.h
2508 if [[ x$host != x$target ]]
2510 tmake_file=rs6000/t-xnewas
2512 tmake_file=rs6000/t-newas
2516 rs6000-ibm-aix4.[[12]].* | powerpc-ibm-aix4.[[12]].*)
2517 tm_file=rs6000/aix41.h
2518 if [[ x$host != x$target ]]
2520 tmake_file=rs6000/t-xnewas
2522 tmake_file=rs6000/t-newas
2524 xmake_file=rs6000/x-aix41
2527 rs6000-ibm-aix4.[[3456789]].* | powerpc-ibm-aix4.[[3456789]].*)
2528 tm_file=rs6000/aix43.h
2529 if [[ x$host != x$target ]]
2531 tmake_file=rs6000/t-xaix43
2533 tmake_file=rs6000/t-aix43
2535 xmake_file=rs6000/x-aix43
2538 rs6000-ibm-aix[[56789]].* | powerpc-ibm-aix[[56789]].*)
2539 tm_file=rs6000/aix43.h
2540 if [[ x$host != x$target ]]
2542 tmake_file=rs6000/t-xaix43
2544 tmake_file=rs6000/t-aix43
2546 xmake_file=rs6000/x-aix43
2556 tm_file=rs6000/mach.h
2557 xm_file="${xm_file} rs6000/xm-mach.h"
2558 xmake_file=rs6000/x-mach
2562 tm_file=rs6000/lynx.h
2563 xm_file=rs6000/xm-lynx.h
2564 tmake_file=rs6000/t-rs6000
2565 xmake_file=rs6000/x-lynx
2573 tmake_file="sh/t-sh t-rtems"
2574 tm_file=sh/rtemself.h
2578 tmake_file="sh/t-sh t-rtems"
2587 xm_file="xm-alloca.h ${xm_file}"
2590 sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
2591 tm_file=sparc/vxsparc.h
2592 tmake_file=sparc/t-vxsparc
2594 thread_file='vxworks'
2597 tmake_file=sparc/t-sparcbare
2598 tm_file="sparc/aout.h libgloss.h"
2601 tm_file=sparc/netbsd.h
2602 xm_file="xm-netbsd.h ${xm_file}"
2603 # On NetBSD, the headers are already okay, except for math.h.
2604 fixincludes=fixinc.wrap
2612 tmake_file=sparc/t-elf
2613 extra_parts="crti.o crtn.o crtbegin.o crtend.o"
2617 sparc-*-linux-gnuaout*) # Sparc's running GNU/Linux, a.out
2618 xm_file="${xm_file} sparc/xm-linux.h"
2619 tm_file=sparc/linux-aout.h
2621 fixincludes=Makefile.in #On Linux, the headers are ok already.
2624 sparc-*-linux-gnulibc1*) # Sparc's running GNU/Linux, libc5
2625 xm_file="${xm_file} sparc/xm-linux.h"
2627 tm_file=sparc/linux.h
2628 tmake_file="t-linux t-linux-gnulibc1"
2629 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2630 fixincludes=Makefile.in #On Linux, the headers are ok already.
2633 sparc-*-linux-gnu*) # Sparc's running GNU/Linux, libc6
2634 xm_file="${xm_file} sparc/xm-linux.h"
2636 tm_file=sparc/linux.h
2637 tmake_file="t-linux"
2638 extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
2639 fixincludes=Makefile.in #On Linux, the headers are ok already.
2641 if [[ x$enable_threads = xyes ]]; then
2646 if [[ x$gas = xyes ]]
2648 tm_file=sparc/lynx.h
2650 tm_file=sparc/lynx-ng.h
2652 xm_file=sparc/xm-lynx.h
2653 tmake_file=sparc/t-sunos41
2657 tmake_file="sparc/t-sparcbare t-rtems"
2658 tm_file=sparc/rtems.h
2661 if [[ x$gnu_ld = xyes ]]
2663 tm_file=sparc/sol2.h
2665 tm_file=sparc/sol2-sld.h
2667 xm_file="xm-siglist.h sparc/xm-sysv4.h sparc/xm-sol2.h"
2668 xm_defines="USG POSIX"
2669 tmake_file=sparc/t-sol2
2670 xmake_file=sparc/x-sysv4
2671 extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
2673 *-*-solaris2.[[0-4]])
2674 fixincludes=fixinc.svr4;;
2676 fixincludes=fixinc.wrap;;
2679 if [[ x${enable_threads} = x ]]; then
2680 enable_threads=$have_pthread_h
2681 if [[ x${enable_threads} = x ]]; then
2682 enable_threads=$have_thread_h
2685 if [[ x${enable_threads} = xyes ]]; then
2686 if [[ x${have_pthread_h} = xyes ]]; then
2689 thread_file='solaris'
2694 tm_file=sparc/sunos4.h
2695 tmake_file=sparc/t-sunos40
2699 tm_file=sparc/sunos4.h
2700 tmake_file=sparc/t-sunos41
2702 if [[ x$gas = xyes ]]; then
2703 tm_file="${tm_file} sparc/sun4gas.h"
2707 tm_file=sparc/sun4o3.h
2711 tm_file=sparc/sysv4.h
2712 xm_file="xm-siglist.h sparc/xm-sysv4.h"
2713 xm_defines="USG POSIX"
2715 xmake_file=sparc/x-sysv4
2716 extra_parts="crtbegin.o crtend.o"
2719 xm_file="xm-siglist.h sparc/xm-sysv4.h sparc/xm-sol2.h"
2720 xm_defines="USG POSIX"
2721 tm_file=sparc/vxsim.h
2722 tmake_file=sparc/t-vxsparc
2723 xmake_file=sparc/x-sysv4
2726 tm_file="sparc/splet.h libgloss.h"
2727 tmake_file=sparc/t-splet
2730 tm_file="sparc/litecoff.h libgloss.h"
2731 tmake_file=sparc/t-sparclite
2734 tm_file="sparc/lite.h aoutos.h libgloss.h"
2735 tmake_file=sparc/t-sparclite
2738 tmake_file=sparc/t-sp64
2739 tm_file=sparc/sp64-aout.h
2742 tmake_file=sparc/t-sp64
2743 tm_file=sparc/sp64-elf.h
2744 extra_parts="crtbegin.o crtend.o"
2746 sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
2747 tmake_file=sparc/t-sp64
2748 xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
2749 tm_file=sparc/linux64.h
2751 fixincludes=Makefile.in # The headers are ok already.
2754 # This hasn't been upgraded to GCC 2.
2755 # tahoe-harris-*) # Harris tahoe, using COFF.
2756 # tm_file=tahoe/harris.h
2758 # tahoe-*-bsd*) # tahoe running BSD
2760 thumb-*-coff* | thumbel-*-coff*)
2762 out_file=arm/thumb.c
2763 xm_file=arm/xm-thumb.h
2764 md_file=arm/thumb.md
2765 tmake_file=arm/t-thumb
2766 fixincludes=Makefile.in # There is nothing to fix
2768 # This hasn't been upgraded to GCC 2.
2775 tm_file="v850/v850.h"
2776 xm_file="v850/xm-v850.h"
2777 tmake_file=v850/t-v850
2778 if [[ x$stabs = xyes ]]
2780 tm_file="${tm_file} dbx.h"
2784 vax-*-bsd*) # vaxen running BSD
2788 vax-*-sysv*) # vaxen running system V
2789 tm_file="${tm_file} vax/vaxv.h"
2794 tm_file="${tm_file} netbsd.h vax/netbsd.h"
2795 xm_file="xm-netbsd.h ${xm_file}"
2796 # On NetBSD, the headers are already okay, except for math.h.
2797 fixincludes=fixinc.wrap
2801 vax-*-ultrix*) # vaxen running ultrix
2802 tm_file="${tm_file} vax/ultrix.h"
2806 vax-*-vms*) # vaxen running VMS
2807 xm_file=vax/xm-vms.h
2811 vax-*-*) # vax default entry
2815 xm_file="${xm_file} xm-svr3"
2819 echo "Configuration $machine not supported" 1>&2
2826 ;; # Existing GNU/Linux systems do not use the GNU setup.
2828 # On the GNU system, the setup is just about the same on
2829 # each different CPU. The specific machines that GNU
2830 # supports are matched above and just set $cpu_type.
2831 xm_file="xm-gnu.h ${xm_file}"
2832 tm_file=${cpu_type}/gnu.h
2833 extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
2834 # GNU always uses ELF.
2836 # GNU tools are the only tools.
2839 # On GNU, the headers are already okay.
2840 fixincludes=Makefile.in
2841 xmake_file=x-linux # These details are the same as Linux.
2842 tmake_file=t-gnu # These are not.
2845 fixincludes=fixinc.svr4
2846 xmake_try_sysv=x-sysv
2847 install_headers_dir=install-headers-cpio
2850 install_headers_dir=install-headers-cpio
2854 # Distinguish i[34567]86
2855 # Also, do not run mips-tfile on MIPS if using gas.
2856 # Process --with-cpu= for PowerPC/rs6000
2857 target_cpu_default2=
2860 target_cpu_default2=1
2863 target_cpu_default2=2
2865 i686-*-* | i786-*-*)
2866 target_cpu_default2=3
2871 target_cpu_default2="MASK_CPU_EV6|MASK_BXW|MASK_CIX|MASK_MAX"
2874 target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
2877 target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
2880 target_cpu_default2="MASK_CPU_EV5"
2884 if [[ x$gas = xyes ]]
2886 if [[ "$target_cpu_default2" = "" ]]
2888 target_cpu_default2="MASK_GAS"
2890 target_cpu_default2="${target_cpu_default2}|MASK_GAS"
2895 case "x$with_cpu" in
2898 target_cpu_default2="TARGET_CPU_generic"
2901 # Distinguish cores, and major variants
2902 # arm7m doesn't exist, but D & I don't affect code
2903 xarm[23678] | xarm250 | xarm[67][01]0 \
2904 | xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
2905 | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
2906 | xstrongarm | xstrongarm110)
2907 target_cpu_default2="TARGET_CPU_$with_cpu"
2911 echo "--with-cpu must be passed a value" 1>&2
2916 if [[ x$pass2done = xyes ]]
2918 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
2925 mips*-*-ecoff* | mips*-*-elf*)
2926 if [[ x$gas = xyes ]]
2928 if [[ x$gnu_ld = xyes ]]
2930 target_cpu_default2=20
2932 target_cpu_default2=16
2937 if [[ x$gas = xyes ]]
2939 target_cpu_default2=16
2942 powerpc*-*-* | rs6000-*-*)
2943 case "x$with_cpu" in
2947 xcommon | xpower | xpower2 | xpowerpc | xrios \
2948 | xrios1 | xrios2 | xrsc | xrsc1 \
2949 | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
2950 | x403 | x505 | x801 | x821 | x823 | x860)
2951 target_cpu_default2="\"$with_cpu\""
2955 echo "--with-cpu must be passed a value" 1>&2
2960 if [[ x$pass2done = xyes ]]
2962 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
2969 case ".$with_cpu" in
2971 target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
2973 .supersparc | .ultrasparc | .v7 | .v8 | .v9)
2974 target_cpu_default2="TARGET_CPU_$with_cpu"
2977 if [[ x$pass2done = xyes ]]
2979 echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
2987 if [[ "$target_cpu_default2" != "" ]]
2989 if [[ "$target_cpu_default" != "" ]]
2991 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
2993 target_cpu_default=$target_cpu_default2
2997 # No need for collect2 if we have the GNU linker.
2998 # Actually, there is now; GNU ld doesn't handle the EH info or
2999 # collecting for shared libraries.
3006 # Save data on machine being used to compile GCC in build_xm_file.
3007 # Save data on host machine in vars host_xm_file and host_xmake_file.
3008 if [[ x$pass1done = x ]]
3010 if [[ x"$xm_file" = x ]]
3011 then build_xm_file=$cpu_type/xm-$cpu_type.h
3012 else build_xm_file=$xm_file
3014 build_xm_defines=$xm_defines
3015 build_install_headers_dir=$install_headers_dir
3016 build_exeext=$exeext
3019 if [[ x$pass2done = x ]]
3021 if [[ x"$xm_file" = x ]]
3022 then host_xm_file=$cpu_type/xm-$cpu_type.h
3023 else host_xm_file=$xm_file
3025 host_xm_defines=$xm_defines
3026 if [[ x"$xmake_file" = x ]]
3027 then xmake_file=$cpu_type/x-$cpu_type
3029 host_xmake_file="$xmake_file"
3030 host_truncate_target=$truncate_target
3031 host_extra_gcc_objs=$extra_gcc_objs
3032 host_extra_objs=$extra_host_objs
3039 extra_objs="${host_extra_objs} ${extra_objs}"
3041 # Default the target-machine variables that were not explicitly set.
3042 if [[ x"$tm_file" = x ]]
3043 then tm_file=$cpu_type/$cpu_type.h; fi
3045 if [[ x$extra_headers = x ]]
3046 then extra_headers=; fi
3048 if [[ x"$xm_file" = x ]]
3049 then xm_file=$cpu_type/xm-$cpu_type.h; fi
3051 if [[ x$md_file = x ]]
3052 then md_file=$cpu_type/$cpu_type.md; fi
3054 if [[ x$out_file = x ]]
3055 then out_file=$cpu_type/$cpu_type.c; fi
3057 if [[ x"$tmake_file" = x ]]
3058 then tmake_file=$cpu_type/t-$cpu_type
3061 if [[ x$float_format = x ]]
3062 then float_format=i64
3065 if [[ x$enable_haifa = x ]]
3068 alpha*-* | hppa1.?-* | powerpc*-* | rs6000-* | *sparc*-* | m32r*-*)
3073 # Say what files are being used for the output code and MD file.
3074 echo "Using \`$srcdir/config/$out_file' to output insns."
3075 echo "Using \`$srcdir/config/$md_file' as machine description file."
3078 for f in $tm_file; do
3081 if [[ $count = ax ]]; then
3082 echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
3084 echo "Using the following target machine macro files:"
3085 for f in $tm_file; do
3086 echo " $srcdir/config/$f"
3091 for f in $host_xm_file; do
3094 if [[ $count = ax ]]; then
3095 echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
3097 echo "Using the following host machine macro files:"
3098 for f in $host_xm_file; do
3099 echo " $srcdir/config/$f"
3103 if [[ "$host_xm_file" != "$build_xm_file" ]]; then
3105 for f in $build_xm_file; do
3108 if [[ $count = ax ]]; then
3109 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
3111 echo "Using the following build machine macro files:"
3112 for f in $build_xm_file; do
3113 echo " $srcdir/config/$f"
3118 if [[ x$thread_file = x ]]; then
3119 if [[ x$target_thread_file != x ]]; then
3120 thread_file=$target_thread_file
3122 thread_file='single'
3126 # Set up the header files.
3127 # $links is the list of header files to create.
3128 # $vars is the list of shell variables with file names to include.
3129 # auto-host.h is the file containing items generated by autoconf and is
3130 # the first file included by config.h.
3132 host_xm_file="auto-host.h ${host_xm_file}"
3134 # If host=build, it is correct to have hconfig include auto-host.h
3135 # as well. If host!=build, we are in error and need to do more
3136 # work to find out the build config parameters.
3137 if [[ x$host = x$build ]]
3139 build_xm_file="auto-host.h ${build_xm_file}"
3141 # We create a subdir, then run autoconf in the subdir.
3142 # To prevent recursion we set host and build for the new
3143 # invocation of configure to the build for this invocation
3150 /*) realsrcdir=${srcdir};;
3151 *) realsrcdir=../${srcdir};;
3153 CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
3154 --target=$target --host=$build --build=$build
3156 # We just finished tests for the build machine, so rename
3157 # the file auto-build.h in the gcc directory.
3158 mv auto-host.h ../auto-build.h
3161 build_xm_file="auto-build.h ${build_xm_file}"
3164 vars="host_xm_file tm_file xm_file build_xm_file"
3165 links="config.h tm.h tconfig.h hconfig.h"
3166 defines="host_xm_defines null_defines xm_defines build_xm_defines"
3169 if [[ -f config.status ]]; then mv -f config.status config.bak; fi
3172 while [[ -n "$vars" ]]
3174 set $vars; var=$1; shift; vars=$*
3175 set $links; link=$1; shift; links=$*
3176 set $defines; define=$1; shift; defines=$*
3180 # Define TARGET_CPU_DEFAULT if the system wants one.
3181 # This substitutes for lots of *.h files.
3182 if [[ "$target_cpu_default" != "" -a $link = tm.h ]]
3184 echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
3187 for file in `eval echo '$'$var`; do
3188 echo "#include \"$file\"" >>$link
3191 for def in `eval echo '$'$define`; do
3192 echo "#ifndef $def" >>$link
3193 echo "#define $def" >>$link
3194 echo "#endif" >>$link
3198 # Truncate the target if necessary
3199 if [[ x$host_truncate_target != x ]]; then
3200 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
3203 # Get the version trigger filename from the toplevel
3204 if [[ "${with_gcc_version_trigger+set}" = set ]]; then
3205 gcc_version_trigger=$with_gcc_version_trigger
3207 gcc_version_trigger=${srcdir}/version.c
3209 gcc_version=`sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/' < ${gcc_version_trigger}`
3211 # Get an absolute path to the GCC top-level source directory
3217 # Conditionalize the makefile for this host machine.
3218 # Make-host contains the concatenation of all host makefile fragments
3219 # [there can be more than one]. This file is built by configure.frag.
3220 host_overrides=Make-host
3221 dep_host_xmake_file=
3222 for f in .. ${host_xmake_file}
3224 if [[ -f ${srcdir}/config/$f ]]
3226 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
3230 # Conditionalize the makefile for this target machine.
3231 # Make-target contains the concatenation of all host makefile fragments
3232 # [there can be more than one]. This file is built by configure.frag.
3233 target_overrides=Make-target
3235 for f in .. ${tmake_file}
3237 if [[ -f ${srcdir}/config/$f ]]
3239 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
3243 # If the host doesn't support symlinks, modify CC in
3244 # FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
3245 # Otherwise, we can use "CC=$(CC)".
3247 if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
3249 cc_set_by_configure="\$(CC)"
3250 stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
3253 if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
3255 symbolic_link="cp -p"
3259 cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
3260 stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
3264 out_object_file=`basename $out_file .c`.o
3267 for f in $tm_file; do
3268 tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
3272 for f in $host_xm_file; do
3273 if test $f != "auto-host.h"; then
3274 host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f"
3276 host_xm_file_list="${host_xm_file_list} auto-host.h"
3281 for f in $build_xm_file; do
3282 if test $f != "auto-build.h"; then
3283 if test $f != "auto-host.h"; then
3284 build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f"
3286 build_xm_file_list="${build_xm_file_list} auto-host.h"
3289 build_xm_file_list="${build_xm_file_list} auto-build.h"
3293 # Define macro CROSS_COMPILE in compilation
3294 # if this is a cross-compiler.
3295 # Also use all.cross instead of all.internal
3296 # and add cross-make to Makefile.
3297 cross_overrides="/dev/null"
3298 if [[ x$host != x$target ]]
3300 cross_defines="CROSS=-DCROSS_COMPILE"
3301 cross_overrides="${topdir}/cross-make"
3304 # When building gcc with a cross-compiler, we need to fix a few things.
3305 # This must come after cross-make as we want all.build to override
3307 build_overrides="/dev/null"
3308 if [[ x$build != x$host ]]
3310 build_overrides="${topdir}/build-make"
3313 # Expand extra_headers to include complete path.
3314 # This substitutes for lots of t-* files.
3316 if [[ "x$extra_headers" = x ]]
3319 # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
3320 for file in $extra_headers;
3322 extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
3326 # Add a definition of USE_COLLECT2 if system wants one.
3327 # Also tell toplev.c what to do.
3328 # This substitutes for lots of t-* files.
3329 if [[ x$use_collect2 = x ]]
3334 will_use_collect2="collect2"
3335 maybe_use_collect2="-DUSE_COLLECT2"
3339 # Set MD_DEPS if the real md file is in md.pre-cpp.
3340 # Set MD_CPP to the cpp to pass the md file through. Md files use ';'
3341 # for line oriented comments, so we must always use a GNU cpp. If
3342 # building gcc with a cross compiler, use the cross compiler just
3343 # built. Otherwise, we can use the cpp just built.
3345 if [[ "x$md_cppflags" = x ]]
3347 md_file_sub=$srcdir/config/$md_file
3352 # If we have gas in the build tree, make a link to it.
3353 if [[ -f ../gas/Makefile ]]; then
3354 rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
3357 # If we have nm in the build tree, make a link to it.
3358 if [[ -f ../binutils/Makefile ]]; then
3359 rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
3362 # If we have ld in the build tree, make a link to it.
3363 if [[ -f ../ld/Makefile ]]; then
3364 # if [[ x$use_collect2 = x ]]; then
3365 # rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
3367 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
3371 # Figure out what assembler alignment features are present.
3372 AC_MSG_CHECKING(assembler alignment features)
3374 gcc_cv_as_alignment_features=
3375 gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,gcc$,gas,'`
3376 if [[ -x as$host_exeext ]]; then
3377 # Build using assembler in the current directory.
3378 gcc_cv_as=./as$host_exeext
3379 elif [[ -f $gcc_cv_as_gas_srcdir/configure.in ]]; then
3380 # Single tree build which includes gas.
3381 for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
3383 gcc_cv_gas_version=`grep '^VERSION=[[0-9]]*\.[[0-9]]*' $f`
3384 if [[ x$gcc_cv_gas_version != x ]]; then
3388 gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([[0-9]]*\)"`
3389 gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.\([[0-9]]*\)"`
3390 if [[ x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x ]]; then
3391 # Gas version 2.6 and later support for .balign and .p2align.
3392 # bytes to skip when using .p2align.
3393 if [[ "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 6 -o "$gcc_cv_gas_major_version" -gt 2 ]]; then
3394 gcc_cv_as_alignment_features=".balign and .p2align"
3395 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
3397 # Gas version 2.8 and later support specifying the maximum
3398 # bytes to skip when using .p2align.
3399 if [[ "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2 ]]; then
3400 gcc_cv_as_alignment_features=".p2align including maximum skip"
3401 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
3404 elif [[ x$host = x$target ]]; then
3406 gcc_cv_as=as$host_exeext
3408 if [[ x$gcc_cv_as != x ]]; then
3409 # Check if we have .balign and .p2align
3410 echo ".balign 4" > conftest.s
3411 echo ".p2align 2" >> conftest.s
3412 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
3413 gcc_cv_as_alignment_features=".balign and .p2align"
3414 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
3416 rm -f conftest.s conftest.o
3417 # Check if specifying the maximum bytes to skip when
3418 # using .p2align is supported.
3419 echo ".p2align 4,,7" > conftest.s
3420 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
3421 gcc_cv_as_alignment_features=".p2align including maximum skip"
3422 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
3424 rm -f conftest.s conftest.o
3426 AC_MSG_RESULT($gcc_cv_as_alignment_features)
3428 # Figure out what language subdirectories are present.
3430 for lang in ${srcdir}/*/config-lang.in ..
3434 # The odd quoting in the next line works around
3435 # an apparent bug in bash 1.12 on linux.
3436 ${srcdir}/[[*]]/config-lang.in) ;;
3437 *) subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([[^/]]*\)/config-lang.in$,\1,'`" ;;
3441 # Make gthr-default.h if we have a thread file.
3443 if [[ $thread_file != single ]]; then
3444 rm -f gthr-default.h
3445 echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
3446 gthread_flags=-DHAVE_GTHR_DEFAULT
3448 AC_SUBST(gthread_flags)
3450 # Make empty files to contain the specs and options for each language.
3451 # Then add #include lines to for a compiler that has specs and/or options.
3455 rm -f specs.h options.h
3456 touch specs.h options.h
3457 for subdir in . $subdirs
3459 if [[ -f $srcdir/$subdir/lang-specs.h ]]; then
3460 echo "#include \"$subdir/lang-specs.h\"" >>specs.h
3461 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
3463 if [[ -f $srcdir/$subdir/lang-options.h ]]; then
3464 echo "#include \"$subdir/lang-options.h\"" >>options.h
3465 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
3469 # These (without "all_") are set in each config-lang.in.
3470 # `language' must be a single word so is spelled singularly.
3476 all_outputs=Makefile
3477 # List of language makefile fragments.
3482 # Add the language fragments.
3483 # Languages are added via two mechanisms. Some information must be
3484 # recorded in makefile variables, these are defined in config-lang.in.
3485 # We accumulate them and plug them into the main Makefile.
3486 # The other mechanism is a set of hooks for each of the main targets
3487 # like `clean', `install', etc.
3489 language_fragments="Make-lang"
3490 language_hooks="Make-hooks"
3493 for s in .. $subdirs
3505 . ${srcdir}/$s/config-lang.in
3506 if [[ "x$language" = x ]]
3508 echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
3511 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
3512 all_languages="$all_languages $language"
3513 if [[ "x$boot_language" = xyes ]]
3515 all_boot_languages="$all_boot_languages $language"
3517 all_compilers="$all_compilers $compilers"
3518 all_stagestuff="$all_stagestuff $stagestuff"
3519 all_diff_excludes="$all_diff_excludes $diff_excludes"
3520 all_headers="$all_headers $headers"
3521 all_outputs="$all_outputs $outputs"
3522 if [[ x$outputs = x ]]
3524 oldstyle_subdirs="$oldstyle_subdirs $s"
3526 all_lib2funcs="$all_lib2funcs $lib2funcs"
3530 # Since we can't use `::' targets, we link each language in
3531 # with a set of hooks, reached indirectly via lang.${target}.
3535 target_list="all.build all.cross start.encap rest.encap \
3537 install-normal install-common install-info install-man \
3539 mostlyclean clean distclean extraclean maintainer-clean \
3540 stage1 stage2 stage3 stage4"
3541 for t in $target_list
3544 for l in .. $all_languages
3546 if [[ $l != ".." ]]; then
3550 echo "lang.$t: $x" >> Make-hooks
3553 # If we're not building in srcdir, create .gdbinit.
3555 if [[ ! -f Makefile.in ]]; then
3556 echo "dir ." > .gdbinit
3557 echo "dir ${srcdir}" >> .gdbinit
3558 if [[ x$gdb_needs_out_file_path = xyes ]]
3560 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
3562 if [[ "x$subdirs" != x ]]; then
3565 echo "dir ${srcdir}/$s" >> .gdbinit
3568 echo "source ${srcdir}/.gdbinit" >> .gdbinit
3571 # Define variables host_canonical and build_canonical
3572 # because some Cygnus local changes in the Makefile depend on them.
3573 build_canonical=${build}
3574 host_canonical=${host}
3576 if [[ "${host}" != "${target}" ]] ; then
3577 target_subdir=${target}/
3579 AC_SUBST(build_canonical)
3580 AC_SUBST(host_canonical)
3581 AC_SUBST(target_subdir)
3583 # If this is using newlib, then define inhibit_libc in
3584 # LIBGCC2_CFLAGS. This will cause __eprintf to be left out of
3585 # libgcc.a, but that's OK because newib should have its own version of
3588 if [[ x$with_newlib = xyes ]]; then
3589 inhibit_libc=-Dinhibit_libc
3591 AC_SUBST(inhibit_libc)
3593 # Override SCHED_OBJ and SCHED_CFLAGS to enable the Haifa scheduler.
3596 if [[ x$enable_haifa = xyes ]]; then
3597 echo "Using the Haifa scheduler."
3599 sched_cflags=-DHAIFA
3601 AC_SUBST(sched_prefix)
3602 AC_SUBST(sched_cflags)
3603 if [[ x$enable_haifa != x ]]; then
3604 # Explicitly remove files that need to be recompiled for the Haifa scheduler.
3605 for x in genattrtab.o toplev.o loop.o unroll.o *sched.o; do
3606 if [[ -f $x ]]; then
3613 # Nothing to do for FLOAT_H, float_format already handled.
3617 # Process the language and host/target makefile fragments.
3618 ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
3620 # Substitute configuration variables
3622 AC_SUBST(all_languages)
3623 AC_SUBST(all_boot_languages)
3624 AC_SUBST(all_compilers)
3625 AC_SUBST(all_lang_makefiles)
3626 AC_SUBST(all_stagestuff)
3627 AC_SUBST(all_diff_excludes)
3628 AC_SUBST(all_lib2funcs)
3629 AC_SUBST(all_headers)
3631 AC_SUBST(extra_passes)
3632 AC_SUBST(extra_programs)
3633 AC_SUBST(extra_parts)
3634 AC_SUBST(extra_c_objs)
3635 AC_SUBST(extra_cxx_objs)
3636 AC_SUBST(extra_cpp_objs)
3637 AC_SUBST(extra_c_flags)
3638 AC_SUBST(extra_objs)
3639 AC_SUBST(host_extra_gcc_objs)
3640 AC_SUBST(extra_headers_list)
3641 AC_SUBST(dep_host_xmake_file)
3642 AC_SUBST(dep_tmake_file)
3644 AC_SUBST(out_object_file)
3646 AC_SUBST(tm_file_list)
3647 AC_SUBST(build_xm_file_list)
3648 AC_SUBST(host_xm_file_list)
3649 AC_SUBST(lang_specs_files)
3650 AC_SUBST(lang_options_files)
3651 AC_SUBST(thread_file)
3652 AC_SUBST(gcc_version)
3653 AC_SUBST(gcc_version_trigger)
3654 AC_SUBST(local_prefix)
3655 AC_SUBST(gxx_include_dir)
3656 AC_SUBST(fixincludes)
3657 AC_SUBST(build_install_headers_dir)
3658 AC_SUBST(build_exeext)
3659 AC_SUBST(host_exeext)
3660 AC_SUBST(float_format)
3661 AC_SUBST(will_use_collect2)
3662 AC_SUBST(maybe_use_collect2)
3663 AC_SUBST(cc_set_by_configure)
3664 AC_SUBST(stage_prefix_set_by_configure)
3666 AC_SUBST(symbolic_link)
3668 AC_SUBST_FILE(target_overrides)
3669 AC_SUBST_FILE(host_overrides)
3670 AC_SUBST(cross_defines)
3671 AC_SUBST_FILE(cross_overrides)
3672 AC_SUBST_FILE(build_overrides)
3673 AC_SUBST_FILE(language_fragments)
3674 AC_SUBST_FILE(language_hooks)
3676 # Echo that links are built
3677 if [[ x$host = x$target ]]
3685 if [[ x$host != x$build ]]
3687 str3=" on a $build system"
3690 if [[ "x$str2" != x ]] || [[ "x$str3" != x ]]
3695 echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
3697 if [[ "x$str2" != x ]] || [[ "x$str3" != x ]]
3699 echo " ${str2}${str3}." 1>&2
3702 # Truncate the target if necessary
3703 if [[ x$host_truncate_target != x ]]; then
3704 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
3707 # Configure the subdirectories
3708 # AC_CONFIG_SUBDIRS($subdirs)
3710 # Create the Makefile
3711 # and configure language subdirectories
3712 AC_OUTPUT($all_outputs,
3714 . $srcdir/configure.lang
3715 case x$CONFIG_HEADERS in
3716 xauto-host.h:config.in)
3719 # If the host supports symlinks, point stage[1234] at ../stage[1234] so
3720 # bootstrapping and the installation procedure can still use
3721 # CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
3722 # FLAGS_TO_PASS has been modified to solve the problem there.
3723 # This is virtually a duplicate of what happens in configure.lang; we do
3724 # an extra check to make sure this only happens if ln -s can be used.
3725 if [[ "$symbolic_link" = "ln -s" ]]; then
3726 for d in .. ${subdirs} ; do
3727 if [[ $d != .. ]]; then
3730 for t in stage1 stage2 stage3 stage4 include
3733 $symbolic_link ../$t $t 2>/dev/null
3744 target_alias='${target_alias}'
3746 subdirs='${subdirs}'
3747 oldstyle_subdirs='${oldstyle_subdirs}'
3748 symbolic_link='${symbolic_link}'
3749 program_transform_set='${program_transform_set}'
3750 program_transform_name='${program_transform_name}'
3751 dep_host_xmake_file='${dep_host_xmake_file}'
3752 host_xmake_file='${host_xmake_file}'
3753 dep_tmake_file='${dep_tmake_file}'
3754 tmake_file='${tmake_file}'
3755 thread_file='${thread_file}'
3756 gcc_version='${gcc_version}'
3757 gcc_version_trigger='${gcc_version_trigger}'
3758 local_prefix='${local_prefix}'
3759 build_install_headers_dir='${build_install_headers_dir}'
3760 build_exeext='${build_exeext}'
3761 host_exeext='${host_exeext}'
3762 out_file='${out_file}'
3763 gdb_needs_out_file_path='${gdb_needs_out_file_path}'
3764 SET_MAKE='${SET_MAKE}'
3765 target_list='${target_list}'
3766 target_overrides='${target_overrides}'
3767 host_overrides='${host_overrides}'
3768 cross_defines='${cross_defines}'
3769 cross_overrides='${cross_overrides}'
3770 build_overrides='${build_overrides}'