gcc/gcc/configure.in

5167 lines
130 KiB
Plaintext

# configure.in for GNU CC
# Process this file with autoconf to generate a configuration script.
# Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
#This file is part of GNU CC.
#GNU CC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#any later version.
#GNU CC is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GNU CC; see the file COPYING. If not, write to
#the Free Software Foundation, 59 Temple Place - Suite 330,
#Boston, MA 02111-1307, USA.
# Initialization and defaults
AC_PREREQ(2.13)
AC_INIT(tree.c)
AC_CONFIG_HEADER(auto-host.h:config.in)
remove=rm
hard_link=ln
symbolic_link='ln -s'
copy=cp
# Check for bogus environment variables.
# Test if LIBRARY_PATH contains the notation for the current directory
# since this would lead to problems installing/building glibc.
# LIBRARY_PATH contains the current directory if one of the following
# is true:
# - one of the terminals (":" and ";") is the first or last sign
# - two terminals occur directly after each other
# - the path contains an element with a dot in it
AC_MSG_CHECKING(LIBRARY_PATH variable)
changequote(,)dnl
case ${LIBRARY_PATH} in
[:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
library_path_setting="contains current directory"
;;
*)
library_path_setting="ok"
;;
esac
changequote([,])dnl
AC_MSG_RESULT($library_path_setting)
if test "$library_path_setting" != "ok"; then
AC_MSG_ERROR([
*** LIBRARY_PATH shouldn't contain the current directory when
*** building gcc. Please change the environment variable
*** and run configure again.])
fi
# Test if GCC_EXEC_PREFIX contains the notation for the current directory
# since this would lead to problems installing/building glibc.
# GCC_EXEC_PREFIX contains the current directory if one of the following
# is true:
# - one of the terminals (":" and ";") is the first or last sign
# - two terminals occur directly after each other
# - the path contains an element with a dot in it
AC_MSG_CHECKING(GCC_EXEC_PREFIX variable)
changequote(,)dnl
case ${GCC_EXEC_PREFIX} in
[:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
gcc_exec_prefix_setting="contains current directory"
;;
*)
gcc_exec_prefix_setting="ok"
;;
esac
changequote([,])dnl
AC_MSG_RESULT($gcc_exec_prefix_setting)
if test "$gcc_exec_prefix_setting" != "ok"; then
AC_MSG_ERROR([
*** GCC_EXEC_PREFIX shouldn't contain the current directory when
*** building gcc. Please change the environment variable
*** and run configure again.])
fi
# Check for additional parameters
# With GNU ld
AC_ARG_WITH(gnu-ld,
[ --with-gnu-ld arrange to work with GNU ld.],
gnu_ld_flag="$with_gnu_ld",
gnu_ld_flag=no)
# With pre-defined ld
AC_ARG_WITH(ld,
[ --with-ld arrange to use the specified ld (full pathname).],
DEFAULT_LINKER="$with_ld")
if test x"${DEFAULT_LINKER+set}" = x"set"; then
if test ! -x "$DEFAULT_LINKER"; then
AC_MSG_WARN([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER])
elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
gnu_ld_flag=yes
fi
AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER",
[Define to enable the use of a default linker.])
fi
# With GNU as
AC_ARG_WITH(gnu-as,
[ --with-gnu-as arrange to work with GNU as.],
gas_flag="$with_gnu_as",
gas_flag=no)
AC_ARG_WITH(as,
[ --with-as arrange to use the specified as (full pathname).],
DEFAULT_ASSEMBLER="$with_as")
if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
if test ! -x "$DEFAULT_ASSEMBLER"; then
AC_MSG_WARN([cannot execute: $DEFAULT_ASSEMBLER: check --with-as or env. var. DEFAULT_ASSEMBLER])
elif $DEFAULT_ASSEMBLER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
gas_flag=yes
fi
AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER",
[Define to enable the use of a default assembler.])
fi
# With stabs
AC_ARG_WITH(stabs,
[ --with-stabs arrange to use stabs instead of host debug format.],
stabs="$with_stabs",
stabs=no)
# With ELF
AC_ARG_WITH(elf,
[ --with-elf arrange to use ELF instead of host debug format.],
elf="$with_elf",
elf=no)
# Specify the local prefix
local_prefix=
AC_ARG_WITH(local-prefix,
[ --with-local-prefix=DIR specifies directory to put local include.],
[case "${withval}" in
yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
no) ;;
*) local_prefix=$with_local_prefix ;;
esac])
# Default local prefix if it is empty
if test x$local_prefix = x; then
local_prefix=/usr/local
fi
# Don't set gcc_gxx_include_dir to gxx_include_dir since that's only
# passed in by the toplevel make and thus we'd get different behavior
# depending on where we built the sources.
gcc_gxx_include_dir=
# Specify the g++ header file directory
AC_ARG_WITH(gxx-include-dir,
[ --with-gxx-include-dir=DIR
specifies directory to put g++ header files.],
[case "${withval}" in
yes) AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
no) ;;
*) gcc_gxx_include_dir=$with_gxx_include_dir ;;
esac])
if test x${gcc_gxx_include_dir} = x; then
if test x${enable_version_specific_runtime_libs} = xyes; then
gcc_gxx_include_dir='${libsubdir}/include/g++'
else
topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
changequote(<<, >>)dnl
gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
changequote([, ])dnl
fi
fi
# Enable expensive internal checks
AC_ARG_ENABLE(checking,
[ --enable-checking[=LIST]
enable expensive run-time checks. With LIST,
enable only specific categories of checks.
Categories are: misc,tree,rtl,gc,gcac; default
is misc,tree,gc],
[ac_checking=
ac_tree_checking=
ac_rtl_checking=
ac_gc_checking=
ac_gc_always_collect=
case "${enableval}" in
yes) ac_checking=1 ; ac_tree_checking=1 ; ac_gc_checking=1 ;;
no) ;;
*) IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
set fnord $enableval; shift
IFS="$ac_save_IFS"
for check
do
case $check in
misc) ac_checking=1 ;;
tree) ac_tree_checking=1 ;;
rtl) ac_rtl_checking=1 ;;
gc) ac_gc_checking=1 ;;
gcac) ac_gc_always_collect=1 ;;
*) AC_MSG_ERROR(unknown check category $check) ;;
esac
done
;;
esac
],
# Enable some checks by default for development versions of GCC
[ac_checking=1; ac_tree_checking=1; ac_gc_checking=1;])
if test x$ac_checking != x ; then
AC_DEFINE(ENABLE_CHECKING, 1,
[Define if you want more run-time sanity checks. This one gets a grab
bag of miscellaneous but relatively cheap checks.])
fi
if test x$ac_tree_checking != x ; then
AC_DEFINE(ENABLE_TREE_CHECKING, 1,
[Define if you want all operations on trees (the basic data
structure of the front ends) to be checked for dynamic type safety
at runtime. This is moderately expensive.])
fi
if test x$ac_rtl_checking != x ; then
AC_DEFINE(ENABLE_RTL_CHECKING, 1,
[Define if you want all operations on RTL (the basic data structure
of the optimizer and back end) to be checked for dynamic type safety
at runtime. This is quite expensive.])
fi
if test x$ac_gc_checking != x ; then
AC_DEFINE(ENABLE_GC_CHECKING, 1,
[Define if you want the garbage collector to do object poisoning and
other memory allocation checks. This is quite expensive.])
fi
if test x$ac_gc_always_collect != x ; then
AC_DEFINE(ENABLE_GC_ALWAYS_COLLECT, 1,
[Define if you want the garbage collector to operate in maximally
paranoid mode, validating the entire heap and collecting garbage at
every opportunity. This is extremely expensive.])
fi
AC_ARG_ENABLE(cpp,
[ --disable-cpp don't provide a user-visible C preprocessor.],
[], [enable_cpp=yes])
AC_ARG_WITH(cpp_install_dir,
[ --with-cpp-install-dir=DIR
install the user visible C preprocessor in DIR
(relative to PREFIX) as well as PREFIX/bin.],
[if test x$withval = xyes; then
AC_MSG_ERROR([option --with-cpp-install-dir requires an argument])
elif test x$withval != xno; then
cpp_install_dir=$withval
fi])
# Link cpplib into the compiler proper, for C/C++/ObjC.
AC_ARG_ENABLE(c-cpplib,
[ --enable-c-cpplib link cpplib directly into C and C++ compilers
(HIGHLY EXPERIMENTAL).],
if test x$enable_c_cpplib != xno; then
extra_c_objs="${extra_c_objs} libcpp.a"
extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
AC_DEFINE(USE_CPPLIB, 1,
[Define if you want the preprocessor merged into the C and C++ compilers.
This mode is not ready for production use.])
fi)
# Enable Multibyte Characters for C/C++
AC_ARG_ENABLE(c-mbchar,
[ --enable-c-mbchar Enable multibyte characters for C and C++.],
if test x$enable_c_mbchar != xno; then
AC_DEFINE(MULTIBYTE_CHARS, 1,
[Define if you want the C and C++ compilers to support multibyte
character sets for source code.])
fi)
# Enable threads
# Pass with no value to take the default
# Pass with a value to specify a thread package
AC_ARG_ENABLE(threads,
[ --enable-threads enable thread usage for target GCC.
--enable-threads=LIB use LIB thread package for target GCC.],
if test x$enable_threads = xno; then
enable_threads=''
fi,
enable_threads='')
enable_threads_flag=$enable_threads
# Check if a valid thread package
case x${enable_threads_flag} in
x | xno)
# No threads
target_thread_file='single'
;;
xyes)
# default
target_thread_file=''
;;
xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
xsolaris | xwin32 | xdce | xvxworks)
target_thread_file=$enable_threads_flag
;;
*)
echo "$enable_threads is an unknown thread package" 1>&2
exit 1
;;
esac
AC_ARG_ENABLE(objc-gc,
[ --enable-objc-gc enable the use of Boehm's garbage collector with
the GNU Objective-C runtime.],
if test x$enable_objc_gc = xno; then
objc_boehm_gc=''
else
objc_boehm_gc=1
fi,
objc_boehm_gc='')
AC_ARG_WITH(dwarf2,
[ --with-dwarf2 force the default debug format to be DWARF2.],
dwarf2="$with_dwarf2",
dwarf2=no)
# Determine the host, build, and target systems
AC_CANONICAL_SYSTEM
# Find the native compiler
AC_PROG_CC
AC_PROG_CC_C_O
if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
NO_MINUS_C_MINUS_O=yes
fi
AC_SUBST(NO_MINUS_C_MINUS_O)
gcc_AC_C_LONG_DOUBLE
AC_CACHE_CHECK(whether ${CC-cc} accepts -Wno-long-long,
ac_cv_prog_cc_no_long_long,
[save_CFLAGS="$CFLAGS"
CFLAGS="-Wno-long-long"
AC_TRY_COMPILE(,,ac_cv_prog_cc_no_long_long=yes,
ac_cv_prog_cc_no_long_long=no)
CFLAGS="$save_CFLAGS"])
# If the native compiler is GCC, we can enable warnings even in stage1.
# That's useful for people building cross-compilers, or just running a
# quick `make'.
stage1_warn_cflags=" -W -Wall -Wtraditional -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes"
stage2_warn_cflags="$stage1_warn_cflags -pedantic -Wno-long-long"
if test "x$GCC" = "xyes"; then
if test $ac_cv_prog_cc_no_long_long = yes; then
stage1_warn_cflags="$stage1_warn_cflags -pedantic -Wno-long-long"
fi
else
stage1_warn_cflags=""
fi
AC_SUBST(stage1_warn_cflags)
AC_SUBST(stage2_warn_cflags)
AC_PROG_MAKE_SET
AC_MSG_CHECKING([whether a default assembler was specified])
if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
if test x"$gas_flag" = x"no"; then
AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
else
AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
fi
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([whether a default linker was specified])
if test x"${DEFAULT_LINKER+set}" = x"set"; then
if test x"$gnu_ld_flag" = x"no"; then
AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
else
AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
fi
else
AC_MSG_RESULT(no)
fi
AC_C_INLINE
# Find some useful tools
AC_PROG_AWK
AC_PROG_LEX
gcc_AC_PROG_LN
gcc_AC_PROG_LN_S
gcc_AC_C_VOLATILE
AC_PROG_RANLIB
AC_PROG_YACC
gcc_AC_PROG_INSTALL
AC_HEADER_STDC
AC_HEADER_TIME
gcc_AC_HEADER_STRING
AC_HEADER_SYS_WAIT
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 sys/stat.h \
direct.h malloc.h)
# Check for thread headers.
AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
# See if GNAT has been installed
AC_CHECK_PROG(gnat, gnatbind, yes, no)
# Do we have a single-tree copy of texinfo?
if test -f $srcdir/../texinfo/Makefile.in; then
MAKEINFO='$(objdir)/../texinfo/makeinfo/makeinfo'
gcc_cv_prog_makeinfo_modern=yes
AC_MSG_RESULT([Using makeinfo from the unified source tree.])
else
# See if makeinfo has been installed and is modern enough
# that we can use it.
gcc_AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
[GNU texinfo.* \([0-9][0-9.]*\)],
[3.1[2-9] | 3.[2-9][0-9] | 4.* | 1.6[89] | 1.7[0-9]])
fi
if test $gcc_cv_prog_makeinfo_modern = no; then
AC_MSG_WARN([
*** Makeinfo is missing or too old.
*** Info documentation will not be built or installed.])
BUILD_INFO=
INSTALL_INFO=
else
BUILD_INFO=info AC_SUBST(BUILD_INFO)
INSTALL_INFO=install-info AC_SUBST(INSTALL_INFO)
fi
# See if the stage1 system preprocessor understands the ANSI C
# preprocessor stringification operator.
AC_C_STRINGIZE
# Use <inttypes.h> only if it exists,
# doesn't clash with <sys/types.h>, and declares intmax_t.
AC_MSG_CHECKING(for inttypes.h)
AC_CACHE_VAL(gcc_cv_header_inttypes_h,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <inttypes.h>],
[intmax_t i = -1;],
[gcc_cv_header_inttypes_h=yes],
gcc_cv_header_inttypes_h=no)])
AC_MSG_RESULT($gcc_cv_header_inttypes_h)
if test $gcc_cv_header_inttypes_h = yes; then
AC_DEFINE(HAVE_INTTYPES_H, 1,
[Define if you have a working <inttypes.h> header file.])
fi
#
# Determine if enumerated bitfields are unsigned. ISO C says they can
# be either signed or unsigned.
#
AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
[AC_TRY_RUN(#include <stdlib.h>
enum t { BLAH = 128 } ;
struct s_t { enum t member : 8; } s ;
int main(void)
{
s.member = BLAH;
if (s.member < 0) exit(1);
exit(0);
}, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
if test $gcc_cv_enum_bf_unsigned = yes; then
AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
[Define if enumerated bitfields are treated as unsigned values.])
fi
AC_CHECK_FUNCS(strtoul bsearch putenv popen bcopy bzero bcmp \
index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
sysconf isascii gettimeofday strsignal putc_unlocked fputc_unlocked \
fputs_unlocked getrusage valloc)
AC_CHECK_TYPE(ssize_t, int)
# Try to determine the array type of the second argument of getgroups
# for the target system (int or gid_t).
AC_TYPE_GETGROUPS
if test "${target}" = "${build}"; then
TARGET_GETGROUPS_T=$ac_cv_type_getgroups
else
case "${target}" in
# This condition may need some tweaking. It should include all
# targets where the array type of the second argument of getgroups
# is int and the type of gid_t is not equivalent to int.
*-*-sunos* | *-*-ultrix*)
TARGET_GETGROUPS_T=int
;;
*)
TARGET_GETGROUPS_T=gid_t
;;
esac
fi
AC_SUBST(TARGET_GETGROUPS_T)
gcc_AC_FUNC_VFPRINTF_DOPRNT
gcc_AC_FUNC_PRINTF_PTR
case "${host}" in
*-*-uwin*)
# Under some versions of uwin, vfork is notoriously buggy and the test
# can hang configure; on other versions, vfork exists just as a stub.
# FIXME: This should be removed once vfork in uwin's runtime is fixed.
ac_cv_func_vfork_works=no
;;
esac
AC_FUNC_VFORK
AC_FUNC_MMAP_ANYWHERE
AC_FUNC_MMAP_FILE
# We will need to find libiberty.h and ansidecl.h
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include"
gcc_AC_CHECK_DECLS(bcopy bzero bcmp \
index rindex getenv atol sbrk abort atof getcwd getwd \
strsignal putc_unlocked fputs_unlocked strstr environ \
malloc realloc calloc free basename getopt, , ,[
#include "gansidecl.h"
#include "system.h"])
gcc_AC_CHECK_DECLS(getrlimit setrlimit getrusage, , ,[
#include "gansidecl.h"
#include "system.h"
#ifdef HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
#endif
])
# Restore CFLAGS from before the gcc_AC_NEED_DECLARATIONS tests.
CFLAGS="$saved_CFLAGS"
# mkdir takes a single argument on some systems.
gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
# File extensions
manext='.1'
objext='.o'
AC_SUBST(manext)
AC_SUBST(objext)
build_xm_file=
build_xm_defines=
build_install_headers_dir=install-headers-tar
build_exeext=
host_xm_file=
host_xm_defines=
host_xmake_file=
host_truncate_target=
host_exeext=
# Decode the host machine, then the target machine.
# For the host machine, we save the xm_file variable as host_xm_file;
# then we decode the target machine and forget everything else
# that came from the host machine.
for machine in $build $host $target; do
out_file=
xmake_file=
tmake_file=
extra_headers=
extra_passes=
extra_parts=
extra_programs=
extra_objs=
extra_host_objs=
extra_gcc_objs=
xm_defines=
float_format=
# Set this to force installation and use of collect2.
use_collect2=
# Set this to override the default target model.
target_cpu_default=
# Set this to control how the header file directory is installed.
install_headers_dir=install-headers-tar
# Set this to a non-empty list of args to pass to cpp if the target
# wants its .md file passed through cpp.
md_cppflags=
# Set this if directory names should be truncated to 14 characters.
truncate_target=
# Set this if gdb needs a dir command with `dirname $out_file`
gdb_needs_out_file_path=
# Set this if the build machine requires executables to have a
# file name suffix.
exeext=
# Set this to control which thread package will be used.
thread_file=
# Reinitialize these from the flag values every loop pass, since some
# configure entries modify them.
gas="$gas_flag"
gnu_ld="$gnu_ld_flag"
enable_threads=$enable_threads_flag
# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
# updated in each machine entry.
tm_p_file=
cpu_type=`echo $machine | sed 's/-.*$//'`
case $machine in
alpha*-*-*)
cpu_type=alpha
;;
strongarm*-*-*)
cpu_type=arm
;;
arm*-*-*)
cpu_type=arm
;;
c*-convex-*)
cpu_type=convex
;;
changequote(,)dnl
i[34567]86-*-*)
changequote([,])dnl
cpu_type=i386
;;
hppa*-*-*)
cpu_type=pa
;;
m68000-*-*)
cpu_type=m68k
;;
mips*-*-*)
cpu_type=mips
;;
pj*-*-*)
cpu_type=pj
;;
powerpc*-*-*)
cpu_type=rs6000
;;
pyramid-*-*)
cpu_type=pyr
;;
sparc*-*-*)
cpu_type=sparc
;;
esac
tm_file=${cpu_type}/${cpu_type}.h
xm_file=${cpu_type}/xm-${cpu_type}.h
if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h;
then
tm_p_file=${cpu_type}/${cpu_type}-protos.h;
fi
# On a.out targets, we need to use collect2.
case $machine in
*-*-*aout*)
use_collect2=yes
;;
esac
# Common parts for linux and openbsd systems
case $machine in
*-*-linux*)
xm_defines="HAVE_ATEXIT POSIX BSTRING"
;;
*-*-openbsd*)
tm_file=${cpu_type}/openbsd.h
tmake_file="t-libc-ok t-openbsd"
# avoid surprises, always provide an xm-openbsd file
xm_file=${cpu_type}/xm-openbsd.h
# don't depend on processor x-fragments as well
xmake_file=none
if test x$enable_threads = xyes; then
thread_file='posix'
tmake_file="${tmake_file} t-openbsd-thread"
fi
;;
esac
case $machine in
# Support site-specific machine types.
*local*)
cpu_type=`echo $machine | sed -e 's/-.*//'`
rest=`echo $machine | sed -e "s/$cpu_type-//"`
xm_file=${cpu_type}/xm-$rest.h
tm_file=${cpu_type}/$rest.h
if test -f $srcdir/config/${cpu_type}/x-$rest; \
then xmake_file=${cpu_type}/x-$rest; \
else true; \
fi
if test -f $srcdir/config/${cpu_type}/t-$rest; \
then tmake_file=${cpu_type}/t-$rest; \
else true; \
fi
;;
1750a-*-*)
;;
a29k-*-bsd* | a29k-*-sym1*)
tm_file="${tm_file} a29k/unix.h"
xm_defines=USG
xmake_file=a29k/x-unix
use_collect2=yes
;;
a29k-*-udi | a29k-*-coff)
tm_file="${tm_file} dbxcoff.h a29k/udi.h"
tmake_file=a29k/t-a29kbare
;;
a29k-wrs-vxworks*)
tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
tmake_file=a29k/t-vx29k
extra_parts="crtbegin.o crtend.o"
thread_file='vxworks'
;;
a29k-*-*) # Default a29k environment.
use_collect2=yes
;;
alpha-*-interix)
tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"
# GAS + IEEE_CONFORMANT+IEEE (no inexact);
#target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT|MASK_IEEE"
# GAS + IEEE_CONFORMANT
target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
xm_file="alpha/xm-alpha-interix.h xm-interix.h"
xmake_file="x-interix alpha/t-pe"
tmake_file="alpha/t-alpha alpha/t-interix alpha/t-ieee"
if test x$enable_threads = xyes ; then
thread_file='posix'
fi
if test x$stabs = xyes ; then
tm_file="${tm_file} dbxcoff.h"
fi
#prefix='$$INTERIX_ROOT'/usr/contrib
#local_prefix='$$INTERIX_ROOT'/usr/contrib
;;
alpha*-*-linux*ecoff*)
tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
target_cpu_default="MASK_GAS"
tmake_file="alpha/t-alpha alpha/t-ieee"
gas=no
xmake_file=none
gas=yes gnu_ld=yes
;;
alpha*-*-linux*libc1*)
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
target_cpu_default="MASK_GAS"
tmake_file="t-linux t-linux-gnulibc1 alpha/t-alpha alpha/t-crtbe alpha/t-ieee"
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
xmake_file=none
gas=yes gnu_ld=yes
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
alpha*-*-linux*)
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
target_cpu_default="MASK_GAS"
tmake_file="t-linux alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
xmake_file=none
gas=yes gnu_ld=yes
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
tmake_file="alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
xmake_file=none
gas=yes gnu_ld=yes
;;
alpha*-*-openbsd*)
# default x-alpha is only appropriate for dec-osf.
target_cpu_default="MASK_GAS"
tmake_file="alpha/t-alpha alpha/t-ieee"
;;
alpha*-dec-osf*)
if test x$stabs = xyes
then
tm_file="${tm_file} dbx.h"
fi
if test x$gas != xyes
then
extra_passes="mips-tfile mips-tdump"
fi
use_collect2=yes
tmake_file="alpha/t-alpha alpha/t-ieee"
case $machine in
*-*-osf1*)
tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
;;
changequote(,)dnl
*-*-osf[23]*)
changequote([,])dnl
tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
;;
*-*-osf4*)
tm_file="${tm_file} alpha/osf.h"
# Some versions of OSF4 (specifically X4.0-9 296.7) have
# a broken tar, so we use cpio instead.
install_headers_dir=install-headers-cpio
;;
*-*-osf5*)
tm_file="${tm_file} alpha/osf.h alpha/osf5.h"
;;
esac
case $machine in
changequote(,)dnl
*-*-osf4.0[b-z] | *-*-osf4.[1-9]* | *-*-osf5*)
changequote([,])dnl
target_cpu_default=MASK_SUPPORT_ARCH
;;
esac
;;
alpha*-*-vxworks*)
tm_file="${tm_file} dbx.h alpha/vxworks.h"
tmake_file="alpha/t-alpha alpha/t-ieee"
if [ x$gas != xyes ]
then
extra_passes="mips-tfile mips-tdump"
fi
use_collect2=yes
thread_file='vxworks'
;;
alpha*-*-winnt*)
tm_file="${tm_file} alpha/alpha32.h alpha/win-nt.h winnt/win-nt.h"
xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
tmake_file="t-libc-ok alpha/t-alpha alpha/t-ieee"
xmake_file=winnt/x-winnt
extra_host_objs=oldnames.o
extra_gcc_objs="spawnv.o oldnames.o"
if test x$gnu_ld != xyes
then
extra_programs=ld.exe
fi
if test x$enable_threads = xyes; then
thread_file='win32'
fi
;;
alpha*-dec-vms*)
tm_file=alpha/vms.h
xm_file="${xm_file} alpha/xm-vms.h"
tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
;;
arc-*-elf*)
extra_parts="crtinit.o crtfini.o"
;;
arm-*-coff* | armel-*-coff*)
tm_file=arm/coff.h
tmake_file=arm/t-arm-coff
;;
arm-*-vxworks*)
tm_file=arm/vxarm.h
tmake_file=arm/t-arm-coff
thread_file='vxworks'
;;
changequote(,)dnl
arm-*-riscix1.[01]*) # Acorn RISC machine (early versions)
changequote([,])dnl
tm_file=arm/riscix1-1.h
use_collect2=yes
;;
arm-*-riscix*) # Acorn RISC machine
if test x$gas = xyes
then
tm_file=arm/rix-gas.h
else
tm_file=arm/riscix.h
fi
xmake_file=arm/x-riscix
tmake_file=arm/t-riscix
use_collect2=yes
;;
arm-semi-aout | armel-semi-aout)
tm_file=arm/semi.h
tmake_file=arm/t-semi
;;
arm-semi-aof | armel-semi-aof)
tm_file=arm/semiaof.h
tmake_file=arm/t-semiaof
;;
arm*-*-netbsd*)
tm_file=arm/netbsd.h
tmake_file="t-netbsd arm/t-netbsd"
use_collect2=yes
;;
arm*-*-linux*aout*) # ARM GNU/Linux with a.out
cpu_type=arm
xmake_file=x-linux
tm_file=arm/linux-aout.h
tmake_file=arm/t-linux
gnu_ld=yes
;;
arm*-*-linux*oldld*) # ARM GNU/Linux with old ELF linker
xm_file=arm/xm-linux.h
xmake_file=x-linux
tm_file="arm/linux-oldld.h arm/linux-elf.h"
case $machine in
armv2*-*-*)
tm_file="arm/linux-elf26.h $tm_file"
;;
esac
tmake_file="t-linux arm/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
case x${enable_threads} in
x | xyes | xpthreads | xposix)
thread_file='posix'
;;
esac
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
xm_file=arm/xm-linux.h
xmake_file=x-linux
tm_file="arm/linux-elf.h"
case $machine in
armv2*-*-*)
tm_file="arm/linux-elf26.h $tm_file"
;;
esac
tmake_file="t-linux arm/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
case x${enable_threads} in
x | xyes | xpthreads | xposix)
thread_file='posix'
;;
esac
;;
arm*-*-uclinux*) # ARM ucLinux
tm_file=arm/uclinux-elf.h
tmake_file=arm/t-arm-elf
;;
arm*-*-aout)
tm_file=arm/aout.h
tmake_file=arm/t-arm-aout
;;
arm*-*-ecos-elf)
tm_file=arm/ecos-elf.h
tmake_file=arm/t-arm-elf
;;
arm*-*-elf)
tm_file=arm/unknown-elf.h
tmake_file=arm/t-arm-elf
;;
arm*-*-conix*)
tm_file=arm/conix-elf.h
tmake_file=arm/t-arm-elf
;;
arm*-*-oabi)
tm_file=arm/unknown-elf-oabi.h
tmake_file=arm/t-arm-elf
;;
arm-*-pe*)
tm_file=arm/pe.h
tmake_file=arm/t-pe
extra_objs="pe.o"
;;
avr-*-*)
;;
c1-convex-*) # Convex C1
target_cpu_default=1
use_collect2=yes
;;
c2-convex-*) # Convex C2
target_cpu_default=2
use_collect2=yes
;;
c32-convex-*)
target_cpu_default=4
use_collect2=yes
;;
c34-convex-*)
target_cpu_default=8
use_collect2=yes
;;
c38-convex-*)
target_cpu_default=16
use_collect2=yes
;;
c4x-*)
cpu_type=c4x
tmake_file=c4x/t-c4x
;;
clipper-intergraph-clix*)
tm_file="${tm_file} svr3.h clipper/clix.h"
xm_file=clipper/xm-clix.h
xmake_file=clipper/x-clix
extra_headers=va-clipper.h
extra_parts="crtbegin.o crtend.o"
install_headers_dir=install-headers-cpio
;;
d30v-*)
float_format=i64
;;
dsp16xx-*)
;;
elxsi-elxsi-*)
use_collect2=yes
;;
fr30-*-elf)
tm_file="fr30/fr30.h"
tmake_file=fr30/t-fr30
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
;;
# This hasn't been upgraded to GCC 2.
# fx80-alliant-*) # Alliant FX/80
# ;;
h8300-*-*)
float_format=i32
;;
hppa*-*-linux*)
target_cpu_default="(MASK_PA_11 | MASK_GAS | MASK_JUMP_IN_DELAY)"
tm_file="${tm_file} pa/elf.h linux.h pa/pa-linux.h"
tmake_file="t-linux pa/t-linux"
extra_parts="crtbegin.o crtend.o"
xmake_file=none
gas=yes gnu_ld=yes
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
hppa*-*-openbsd*)
target_cpu_default="MASK_PA_11"
tmake_file=pa/t-openbsd
;;
hppa1.1-*-pro*)
target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
xm_file=pa/xm-papro.h
tmake_file=pa/t-pro
;;
hppa1.1-*-osf*)
target_cpu_default="MASK_PA_11"
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
use_collect2=yes
;;
hppa1.1-*-rtems*)
target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
xm_file=pa/xm-papro.h
tmake_file=pa/t-pro
;;
hppa1.0-*-osf*)
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
use_collect2=yes
;;
hppa1.1-*-bsd*)
tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
target_cpu_default="MASK_PA_11"
use_collect2=yes
;;
hppa1.0-*-bsd*)
tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
use_collect2=yes
;;
hppa1.0-*-hpux7*)
tm_file="pa/pa-oldas.h ${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux7.h"
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
if test x$gas = xyes
then
tm_file="${tm_file} pa/gas.h"
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
changequote(,)dnl
hppa1.0-*-hpux8.0[0-2]*)
changequote([,])dnl
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
else
tm_file="pa/pa-oldas.h ${tm_file}"
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
changequote(,)dnl
hppa1.1-*-hpux8.0[0-2]*)
changequote([,])dnl
target_cpu_default="MASK_PA_11"
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
else
tm_file="pa/pa-oldas.h ${tm_file}"
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa1.1-*-hpux8*)
target_cpu_default="MASK_PA_11"
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa1.0-*-hpux8*)
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h"
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
target_cpu_default="MASK_PA_11"
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
float_format=i128
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
tmake_file=pa/t-pa
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
fi
if test x$enable_threads = x; then
enable_threads=$have_pthread_h
fi
case x${enable_threads} in
xyes | xdce)
tmake_file="${tmake_file} pa/t-dce-thr"
;;
esac
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa1.0-*-hpux10*)
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
float_format=i128
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
tmake_file=pa/t-pa
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
fi
if test x$enable_threads = x; then
enable_threads=$have_pthread_h
fi
case x${enable_threads} in
xyes | xdce)
tmake_file="${tmake_file} pa/t-dce-thr"
;;
esac
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa*64*-*-hpux11*)
target_cpu_default="MASK_PA_11"
xm_file=pa/xm-pa64hpux.h
xmake_file=pa/x-pa-hpux
tmake_file=pa/t-pa
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"
float_format=i128
tmake_file=pa/t-pa64
target_cpu_default="(MASK_PA_11|MASK_PA_20)"
if [[ x$gas = xyes ]]
then
tm_file="${tm_file} pa/pa-gas.h"
fi
# if [[ x$enable_threads = x ]]; then
# enable_threads=$have_pthread_h
# fi
# if [[ x$enable_threads = xyes ]]; then
# thread_file='dce'
# tmake_file="${tmake_file} pa/t-dce-thr"
# fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
target_cpu_default="MASK_PA_11"
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
float_format=i128
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
tmake_file=pa/t-pa
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
fi
# if test x$enable_threads = x; then
# enable_threads=$have_pthread_h
# fi
# if test x$enable_threads = xyes; then
# thread_file='dce'
# tmake_file="${tmake_file} pa/t-dce-thr"
# fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa1.0-*-hpux11*)
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
float_format=i128
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
fi
# if test x$enable_threads = x; then
# enable_threads=$have_pthread_h
# fi
# if test x$enable_threads = xyes; then
# thread_file='dce'
# tmake_file="${tmake_file} pa/t-dce-thr"
# fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa1.1-*-hpux* | hppa2*-*-hpux*)
target_cpu_default="MASK_PA_11"
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa1.0-*-hpux*)
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa1.1-*-hiux* | hppa2*-*-hiux*)
target_cpu_default="MASK_PA_11"
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa1.0-*-hiux*)
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
xm_file=pa/xm-pahpux.h
xmake_file=pa/x-pa-hpux
if test x$gas = xyes
then
tm_file="${tm_file} pa/pa-gas.h"
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
;;
hppa*-*-lites*)
tm_file="${tm_file} pa/pa32-regs.h elfos.h pa/elf.h"
target_cpu_default="MASK_PA_11"
use_collect2=yes
;;
hppa*-*-mpeix*)
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-mpeix.h"
xm_file=pa/xm-pampeix.h
xmake_file=pa/x-pa-mpeix
echo "You must use gas. Assuming it is already installed."
install_headers_dir=install-headers-tar
use_collect2=yes
;;
i370-*-opened*) # IBM 360/370/390 Architecture
xm_file=i370/xm-oe.h
tm_file=i370/oe.h
xmake_file=i370/x-oe
tmake_file=i370/t-oe
;;
i370-*-mvs*)
xm_file=i370/xm-mvs.h
tm_file=i370/mvs.h
tmake_file=i370/t-mvs
;;
i370-*-linux*)
xm_file="xm-linux.h i370/xm-linux.h"
xmake_file=x-linux
tm_file="i370/linux.h ${tm_file}"
tmake_file="t-linux i370/t-linux"
# broken_install=yes
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
# extra_parts="crtbegin.o crtend.o"
gnu_ld=yes
gas=yes
elf=yes
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
changequote(,)dnl
i[34567]86-*-elf*)
changequote([,])dnl
xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
tm_file=i386/i386elf.h
tmake_file=i386/t-i386elf
xmake_file=x-svr4
;;
changequote(,)dnl
i[34567]86-ibm-aix*) # IBM PS/2 running AIX
changequote([,])dnl
if test x$gas = xyes
then
tm_file=i386/aix386.h
extra_parts="crtbegin.o crtend.o"
tmake_file=i386/t-crtstuff
else
tm_file=i386/aix386ng.h
use_collect2=yes
fi
xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
xm_defines=USG
xmake_file=i386/x-aix
;;
changequote(,)dnl
i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4
changequote([,])dnl
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG POSIX SMALL_ARG_MAX"
xmake_file=i386/x-ncr3000
if test x$stabs = xyes -a x$gas = xyes
then
tm_file=i386/sysv4gdb.h
else
tm_file=i386/sysv4.h
fi
extra_parts="crtbegin.o crtend.o"
tmake_file=i386/t-crtpic
;;
changequote(,)dnl
i[34567]86-next-*)
changequote([,])dnl
tm_file=i386/next.h
xm_file=i386/xm-next.h
tmake_file=i386/t-next
xmake_file=i386/x-next
extra_objs=nextstep.o
extra_parts="crtbegin.o crtend.o"
if test x$enable_threads = xyes; then
thread_file='mach'
fi
;;
changequote(,)dnl
i[34567]86-sequent-bsd*) # 80386 from Sequent
changequote([,])dnl
use_collect2=yes
if test x$gas = xyes
then
tm_file=i386/seq-gas.h
else
tm_file=i386/sequent.h
fi
;;
changequote(,)dnl
i[34567]86-sequent-ptx1*)
changequote([,])dnl
xm_defines="USG SVR3"
xmake_file=i386/x-sysv3
tm_file=i386/seq-sysv3.h
tmake_file=i386/t-crtstuff
extra_parts="crtbegin.o crtend.o"
install_headers_dir=install-headers-cpio
;;
changequote(,)dnl
i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
changequote([,])dnl
xm_defines="USG SVR3"
xmake_file=i386/x-sysv3
tm_file=i386/seq2-sysv3.h
tmake_file=i386/t-crtstuff
extra_parts="crtbegin.o crtend.o"
install_headers_dir=install-headers-cpio
;;
changequote(,)dnl
i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
changequote([,])dnl
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG POSIX SMALL_ARG_MAX"
xmake_file=x-svr4
tm_file=i386/ptx4-i.h
tmake_file=t-svr4
extra_parts="crtbegin.o crtend.o"
install_headers_dir=install-headers-cpio
;;
i386-sun-sunos*) # Sun i386 roadrunner
xm_defines=USG
tm_file=i386/sun.h
use_collect2=yes
;;
changequote(,)dnl
i[34567]86-wrs-vxworks*)
changequote([,])dnl
tm_file=i386/vxi386.h
tmake_file=i386/t-i386bare
thread_file='vxworks'
;;
changequote(,)dnl
i[34567]86-*-aout*)
changequote([,])dnl
tm_file=i386/i386-aout.h
tmake_file=i386/t-i386bare
;;
changequote(,)dnl
i[34567]86-*-beoself* | i[34567]86-*-beos*)
changequote([,])dnl
xm_file=i386/xm-beos.h
tmake_file='i386/t-beos i386/t-crtpic'
tm_file=i386/beos-elf.h
xmake_file=i386/x-beos
extra_parts='crtbegin.o crtend.o'
;;
changequote(,)dnl
i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
changequote([,])dnl
tm_file=i386/bsd386.h
# tmake_file=t-libc-ok
;;
changequote(,)dnl
i[34567]86-*-bsd*)
changequote([,])dnl
tm_file=i386/386bsd.h
# tmake_file=t-libc-ok
# Next line turned off because both 386BSD and BSD/386 use GNU ld.
# use_collect2=yes
;;
changequote(,)dnl
i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
changequote([,])dnl
tm_file="i386/freebsd.h i386/perform.h"
tmake_file=t-freebsd
;;
changequote(,)dnl
i[34567]86-*-freebsd*)
changequote([,])dnl
tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
gnu_ld=yes
stabs=yes
case x${enable_threads} in
xyes | xpthreads | xposix)
thread_file='posix'
tmake_file="${tmake_file} t-freebsd-thread"
;;
esac
;;
changequote(,)dnl
i[34567]86-*-netbsd*)
changequote([,])dnl
tm_file=i386/netbsd.h
tmake_file=t-netbsd
use_collect2=yes
;;
changequote(,)dnl
i[34567]86-*-openbsd*)
changequote([,])dnl
# we need collect2 until our bug is fixed...
use_collect2=yes
;;
changequote(,)dnl
i[34567]86-*-coff*)
changequote([,])dnl
tm_file=i386/i386-coff.h
tmake_file=i386/t-i386bare
;;
changequote(,)dnl
i[34567]86-*-isc*) # 80386 running ISC system
changequote([,])dnl
xm_file="${xm_file} i386/xm-isc.h"
xm_defines="USG SVR3"
case $machine in
changequote(,)dnl
i[34567]86-*-isc[34]*)
changequote([,])dnl
xmake_file=i386/x-isc3
;;
*)
xmake_file=i386/x-isc
;;
esac
if test x$gas = xyes -a x$stabs = xyes
then
tm_file=i386/iscdbx.h
tmake_file=i386/t-svr3dbx
extra_parts="svr3.ifile svr3z.ifile"
else
tm_file=i386/isccoff.h
tmake_file=i386/t-crtstuff
extra_parts="crtbegin.o crtend.o"
fi
tmake_file="$tmake_file i386/t-i386bare"
install_headers_dir=install-headers-cpio
;;
changequote(,)dnl
i[34567]86-*-linux*oldld*) # Intel 80386's running GNU/Linux
changequote([,])dnl # with a.out format using
# pre BFD linkers
xmake_file=x-linux-aout
tmake_file="t-linux-aout i386/t-crtstuff"
tm_file=i386/linux-oldld.h
gnu_ld=yes
float_format=i386
;;
changequote(,)dnl
i[34567]86-*-linux*aout*) # Intel 80386's running GNU/Linux
changequote([,])dnl # with a.out format
xmake_file=x-linux-aout
tmake_file="t-linux-aout i386/t-crtstuff"
tm_file=i386/linux-aout.h
gnu_ld=yes
float_format=i386
;;
changequote(,)dnl
i[34567]86-*-linux*libc1) # Intel 80386's running GNU/Linux
changequote([,])dnl # with ELF format using the
# GNU/Linux C library 5
xmake_file=x-linux
tm_file=i386/linux.h
tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
float_format=i386
if test x$enable_threads = xyes; then
thread_file='single'
fi
;;
changequote(,)dnl
i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
changequote([,])dnl # with ELF format using glibc 2
# aka GNU/Linux C library 6
xmake_file=x-linux
tm_file=i386/linux.h
tmake_file="t-linux i386/t-crtstuff"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
float_format=i386
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
changequote(,)dnl
i[34567]86-*-gnu*)
float_format=i386
changequote([,])dnl
;;
changequote(,)dnl
i[34567]86-go32-msdos | i[34567]86-*-go32*)
changequote([,])dnl
echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
exit 1
;;
changequote(,)dnl
i[34567]86-pc-msdosdjgpp*)
changequote([,])dnl
xm_file=i386/xm-djgpp.h
tm_file=i386/djgpp.h
tmake_file=i386/t-djgpp
xmake_file=i386/x-djgpp
gnu_ld=yes
gas=yes
exeext=.exe
float_format=none
case $host in *pc-msdosdjgpp*)
target_alias=djgpp
;;
esac
;;
changequote(,)dnl
i[34567]86-moss-msdos* | i[34567]86-*-moss*)
changequote([,])dnl
tm_file=i386/moss.h
tmake_file=t-libc-ok
gnu_ld=yes
gas=yes
;;
changequote(,)dnl
i[34567]86-*-lynxos*)
changequote([,])dnl
if test x$gas = xyes
then
tm_file=i386/lynx.h
else
tm_file=i386/lynx-ng.h
fi
xm_file=i386/xm-lynx.h
tmake_file=i386/t-i386bare
xmake_file=x-lynx
;;
changequote(,)dnl
i[34567]86-*-mach*)
changequote([,])dnl
tm_file=i386/mach.h
# tmake_file=t-libc-ok
use_collect2=yes
;;
changequote(,)dnl
i[34567]86-*-osfrose*) # 386 using OSF/rose
changequote([,])dnl
if test x$elf = xyes
then
tm_file=i386/osfelf.h
use_collect2=
else
tm_file=i386/osfrose.h
use_collect2=yes
fi
xm_file="i386/xm-osf.h ${xm_file}"
xmake_file=i386/x-osfrose
tmake_file=i386/t-osf
extra_objs=halfpic.o
;;
changequote(,)dnl
i[34567]86-go32-rtems*)
changequote([,])dnl
cpu_type=i386
xm_file=i386/xm-go32.h
tm_file=i386/go32-rtems.h
tmake_file="i386/t-go32 t-rtems"
;;
changequote(,)dnl
i[34567]86-*-rtemscoff*)
changequote([,])dnl
cpu_type=i386
tm_file=i386/rtems.h
tmake_file="i386/t-i386bare t-rtems"
;;
changequote(,)dnl
i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
changequote([,])dnl
cpu_type=i386
tm_file=i386/rtemself.h
extra_parts="crtbegin.o crtend.o crti.o crtn.o"
tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
;;
changequote(,)dnl
i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
changequote([,])dnl
xm_file="xm-alloca.h ${xm_file} i386/xm-sco5.h"
xm_defines="USG SVR3"
xmake_file=i386/x-sco5
install_headers_dir=install-headers-cpio
tm_file=i386/sco5.h
if test x$gas = xyes
then
tm_file="i386/sco5gas.h ${tm_file}"
tmake_file=i386/t-sco5gas
else
tmake_file=i386/t-sco5
fi
tmake_file="$tmake_file i386/t-i386bare"
extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
;;
changequote(,)dnl
i[34567]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system
changequote([,])dnl
xm_file="${xm_file} i386/xm-sco.h"
xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX"
xmake_file=i386/x-sco4
install_headers_dir=install-headers-cpio
if test x$stabs = xyes
then
tm_file=i386/sco4dbx.h
tmake_file=i386/t-svr3dbx
extra_parts="svr3.ifile svr3z.rfile"
else
tm_file=i386/sco4.h
tmake_file=i386/t-crtstuff
extra_parts="crtbegin.o crtend.o"
fi
tmake_file="$tmake_file i386/t-i386bare"
# The default EAFS filesystem supports long file names.
# Truncating the target makes $host != $target which
# makes gcc think it is doing a cross-compile.
# truncate_target=yes
;;
changequote(,)dnl
i[34567]86-*-sco*) # 80386 running SCO system
changequote([,])dnl
xm_file=i386/xm-sco.h
xmake_file=i386/x-sco
install_headers_dir=install-headers-cpio
if test x$stabs = xyes
then
tm_file=i386/scodbx.h
tmake_file=i386/t-svr3dbx
extra_parts="svr3.ifile svr3z.rfile"
else
tm_file=i386/sco.h
extra_parts="crtbegin.o crtend.o"
tmake_file=i386/t-crtstuff
fi
tmake_file="$tmake_file i386/t-i386bare"
truncate_target=yes
;;
changequote(,)dnl
i[34567]86-*-solaris2*)
changequote([,])dnl
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG POSIX SMALL_ARG_MAX"
tm_file=i386/sol2.h
if test x$gas = xyes; then
# Only needed if gas does not support -s
tm_file="i386/sol2gas.h ${tm_file}"
fi
tmake_file="i386/t-i386bare i386/t-sol2"
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
xmake_file=x-svr4
if test x${enable_threads} = x; then
enable_threads=$have_pthread_h
if test x${enable_threads} = x; then
enable_threads=$have_thread_h
fi
fi
if test x${enable_threads} = xyes; then
if test x${have_pthread_h} = xyes; then
thread_file='posix'
else
thread_file='solaris'
fi
fi
;;
changequote(,)dnl
i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
changequote([,])dnl
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG POSIX"
tm_file=i386/sysv5.h
if test x$stabs = xyes
then
tm_file="${tm_file} dbx.h"
fi
tmake_file="i386/t-i386bare i386/t-crtpic"
xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o"
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
changequote(,)dnl
i[34567]86-*-sysv4*) # Intel 80386's running system V.4
changequote([,])dnl
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG POSIX SMALL_ARG_MAX"
tm_file=i386/sysv4.h
if test x$stabs = xyes
then
tm_file="${tm_file} dbx.h"
fi
tmake_file="i386/t-i386bare i386/t-crtpic"
xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o"
;;
changequote(,)dnl
i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit
changequote([,])dnl
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG POSIX"
tm_file=i386/udk.h
tmake_file="i386/t-i386bare i386/t-crtpic i386/t-udk"
xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o"
install_headers_dir=install-headers-cpio
;;
changequote(,)dnl
i[34567]86-*-osf1*) # Intel 80386's running OSF/1 1.3+
changequote([,])dnl
cpu_type=i386
xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h i386/xm-osf1elf.h"
xm_defines="USE_C_ALLOCA SMALL_ARG_MAX"
if test x$stabs = xyes
then
tm_file=i386/osf1elfgdb.h
else
tm_file=i386/osf1elf.h
fi
tmake_file=i386/t-osf1elf
xmake_file=i386/x-osf1elf
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
;;
changequote(,)dnl
i[34567]86-*-sysv*) # Intel 80386's running system V
changequote([,])dnl
xm_defines="USG SVR3"
xmake_file=i386/x-sysv3
if test x$gas = xyes
then
if test x$stabs = xyes
then
tm_file=i386/svr3dbx.h
tmake_file=i386/t-svr3dbx
extra_parts="svr3.ifile svr3z.rfile"
else
tm_file=i386/svr3gas.h
extra_parts="crtbegin.o crtend.o"
tmake_file=i386/t-crtstuff
fi
else
tm_file=i386/sysv3.h
extra_parts="crtbegin.o crtend.o"
tmake_file=i386/t-crtstuff
fi
tmake_file="$tmake_file i386/t-crtpic"
;;
i386-*-vsta) # Intel 80386's running VSTa kernel
xm_file="${xm_file} i386/xm-vsta.h"
tm_file=i386/vsta.h
tmake_file=i386/t-vsta
xmake_file=i386/x-vsta
;;
changequote(,)dnl
i[34567]86-*-win32)
changequote([,])dnl
xm_file="${xm_file} i386/xm-cygwin.h"
tmake_file=i386/t-cygwin
tm_file=i386/win32.h
xmake_file=i386/x-cygwin
extra_objs=winnt.o
if test x$enable_threads = xyes; then
thread_file='win32'
fi
exeext=.exe
;;
changequote(,)dnl
i[34567]86-*-pe | i[34567]86-*-cygwin*)
changequote([,])dnl
xm_file="${xm_file} i386/xm-cygwin.h"
tmake_file=i386/t-cygwin
tm_file=i386/cygwin.h
xmake_file=i386/x-cygwin
extra_objs=winnt.o
if test x$enable_threads = xyes; then
thread_file='win32'
fi
exeext=.exe
;;
changequote(,)dnl
i[34567]86-*-mingw32*)
changequote([,])dnl
tm_file=i386/mingw32.h
xm_file="${xm_file} i386/xm-mingw32.h"
tmake_file="i386/t-cygwin i386/t-mingw32"
extra_objs=winnt.o
xmake_file=i386/x-cygwin
if test x$enable_threads = xyes; then
thread_file='win32'
fi
exeext=.exe
case $machine in
*mingw32msv*)
;;
*minwg32crt* | *mingw32*)
tm_file="${tm_file} i386/crtdll.h"
;;
esac
;;
changequote(,)dnl
i[34567]86-*-uwin*)
changequote([,])dnl
tm_file=i386/uwin.h
xm_file="${xm_file} i386/xm-uwin.h"
xm_defines="USG NO_STAB_H"
tmake_file="i386/t-cygwin i386/t-uwin"
extra_objs=winnt.o
xmake_file=i386/x-cygwin
if test x$enable_threads = xyes; then
thread_file='win32'
fi
exeext=.exe
;;
changequote(,)dnl
i[34567]86-*-interix*)
changequote([,])dnl
tm_file="i386/i386-interix.h interix.h"
xm_file="i386/xm-i386-interix.h xm-interix.h"
xm_defines="USG"
tmake_file="i386/t-interix"
extra_objs=interix.o
xmake_file=x-interix
if test x$enable_threads = xyes ; then
thread_file='posix'
fi
if test x$stabs = xyes ; then
tm_file="${tm_file} dbxcoff.h"
fi
;;
changequote(,)dnl
i[34567]86-*-winnt3*)
changequote([,])dnl
tm_file=i386/win-nt.h
out_file=i386/i386.c
xm_file="xm-winnt.h ${xm_file}"
xmake_file=winnt/x-winnt
tmake_file=i386/t-winnt
extra_host_objs="winnt.o oldnames.o"
extra_gcc_objs="spawnv.o oldnames.o"
if test x$gnu_ld != xyes
then
extra_programs=ld.exe
fi
if test x$enable_threads = xyes; then
thread_file='win32'
fi
;;
changequote(,)dnl
i[34567]86-dg-dgux*)
changequote([,])dnl
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG POSIX"
out_file=i386/dgux.c
tm_file=i386/dgux.h
tmake_file=i386/t-dgux
xmake_file=i386/x-dgux
install_headers_dir=install-headers-cpio
;;
i860-alliant-*) # Alliant FX/2800
tm_file="${tm_file} svr4.h i860/sysv4.h i860/fx2800.h"
xm_file="${xm_file}"
xmake_file=i860/x-fx2800
tmake_file=i860/t-fx2800
extra_parts="crtbegin.o crtend.o"
;;
i860-*-bsd*)
tm_file="${tm_file} i860/bsd.h"
if test x$gas = xyes
then
tm_file="${tm_file} i860/bsd-gas.h"
fi
use_collect2=yes
;;
i860-*-mach*)
tm_file="${tm_file} i860/mach.h"
tmake_file=t-libc-ok
;;
i860-*-osf*) # Intel Paragon XP/S, OSF/1AD
tm_file="${tm_file} svr3.h i860/paragon.h"
xm_defines="USG SVR3"
tmake_file=t-osf
;;
i860-*-sysv3*)
tm_file="${tm_file} svr3.h i860/sysv3.h"
xm_defines="USG SVR3"
xmake_file=i860/x-sysv3
extra_parts="crtbegin.o crtend.o"
;;
i860-*-sysv4*)
tm_file="${tm_file} svr4.h i860/sysv4.h"
xm_defines="USG SVR3"
xmake_file=i860/x-sysv4
tmake_file=t-svr4
extra_parts="crtbegin.o crtend.o"
;;
i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
tm_file="${tm_file} i960/vx960.h"
tmake_file=i960/t-vxworks960
use_collect2=yes
thread_file='vxworks'
;;
i960-wrs-vxworks5* | i960-wrs-vxworks)
tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
tmake_file=i960/t-vxworks960
use_collect2=yes
thread_file='vxworks'
;;
i960-wrs-vxworks*)
tm_file="${tm_file} i960/vx960.h"
tmake_file=i960/t-vxworks960
use_collect2=yes
thread_file='vxworks'
;;
i960-*-coff*)
tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
tmake_file=i960/t-960bare
use_collect2=yes
;;
i960-*-rtems)
tmake_file="i960/t-960bare t-rtems"
tm_file="${tm_file} dbxcoff.h i960/rtems.h"
use_collect2=yes
;;
i960-*-*) # Default i960 environment.
use_collect2=yes
;;
ia64*-*-elf*)
tm_file=ia64/elf.h
tmake_file="ia64/t-ia64"
target_cpu_default="0"
if test x$gas = xyes
then
target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
fi
if test x$gnu_ld = xyes
then
target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
fi
;;
ia64*-*-linux*)
tm_file=ia64/linux.h
tmake_file="t-linux ia64/t-ia64"
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
m32r-*-elf*)
extra_parts="crtinit.o crtfini.o"
;;
m68000-convergent-sysv*)
tm_file=m68k/ctix.h
xm_file="m68k/xm-3b1.h ${xm_file}"
xm_defines=USG
use_collect2=yes
extra_headers=math-68881.h
;;
m68000-hp-bsd*) # HP 9000/200 running BSD
tm_file=m68k/hp2bsd.h
xmake_file=m68k/x-hp2bsd
use_collect2=yes
extra_headers=math-68881.h
;;
m68000-hp-hpux*) # HP 9000 series 300
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG"
if test x$gas = xyes
then
xmake_file=m68k/x-hp320g
tm_file=m68k/hp310g.h
else
xmake_file=m68k/x-hp320
tm_file=m68k/hp310.h
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
extra_headers=math-68881.h
;;
m68000-sun-sunos3*)
tm_file=m68k/sun2.h
use_collect2=yes
extra_headers=math-68881.h
;;
m68000-sun-sunos4*)
tm_file=m68k/sun2o4.h
use_collect2=yes
extra_headers=math-68881.h
;;
m68000-att-sysv*)
xm_file="m68k/xm-3b1.h ${xm_file}"
xm_defines=USG
if test x$gas = xyes
then
tm_file=m68k/3b1g.h
else
tm_file=m68k/3b1.h
fi
use_collect2=yes
extra_headers=math-68881.h
;;
m68k-apple-aux*) # Apple Macintosh running A/UX
xm_defines="USG AUX"
tmake_file=m68k/t-aux
install_headers_dir=install-headers-cpio
extra_headers=math-68881.h
extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
tm_file=
if test "$gnu_ld" = yes
then
tm_file="${tm_file} m68k/auxgld.h"
else
tm_file="${tm_file} m68k/auxld.h"
fi
if test "$gas" = yes
then
tm_file="${tm_file} m68k/auxgas.h"
else
tm_file="${tm_file} m68k/auxas.h"
fi
tm_file="${tm_file} m68k/a-ux.h"
float_format=m68k
;;
m68k-apollo-*)
tm_file=m68k/apollo68.h
xmake_file=m68k/x-apollo68
use_collect2=yes
extra_headers=math-68881.h
float_format=m68k
;;
m68k-altos-sysv*) # Altos 3068
if test x$gas = xyes
then
tm_file=m68k/altos3068.h
xm_defines=USG
else
echo "The Altos is supported only with the GNU assembler" 1>&2
exit 1
fi
extra_headers=math-68881.h
;;
m68k-bull-sysv*) # Bull DPX/2
if test x$gas = xyes
then
if test x$stabs = xyes
then
tm_file=m68k/dpx2cdbx.h
else
tm_file=m68k/dpx2g.h
fi
else
tm_file=m68k/dpx2.h
fi
xm_file="xm-alloca.h ${xm_file}"
xm_defines=USG
xmake_file=m68k/x-dpx2
use_collect2=yes
extra_headers=math-68881.h
;;
m68k-atari-sysv4*) # Atari variant of V.4.
tm_file=m68k/atari.h
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG FULL_PROTOTYPES"
tmake_file=t-svr4
extra_parts="crtbegin.o crtend.o"
extra_headers=math-68881.h
float_format=m68k
;;
m68k-motorola-sysv*)
tm_file=m68k/mot3300.h
xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
if test x$gas = xyes
then
xmake_file=m68k/x-mot3300-gas
if test x$gnu_ld = xyes
then
tmake_file=m68k/t-mot3300-gald
else
tmake_file=m68k/t-mot3300-gas
use_collect2=yes
fi
else
xmake_file=m68k/x-mot3300
if test x$gnu_ld = xyes
then
tmake_file=m68k/t-mot3300-gld
else
tmake_file=m68k/t-mot3300
use_collect2=yes
fi
fi
gdb_needs_out_file_path=yes
extra_parts="crt0.o mcrt0.o"
extra_headers=math-68881.h
float_format=m68k
;;
m68k-ncr-sysv*) # NCR Tower 32 SVR3
tm_file=m68k/tower-as.h
xm_defines="USG SVR3"
xmake_file=m68k/x-tower
extra_parts="crtbegin.o crtend.o"
extra_headers=math-68881.h
;;
m68k-plexus-sysv*)
tm_file=m68k/plexus.h
xm_file="xm-alloca.h m68k/xm-plexus.h ${xm_file}"
xm_defines=USG
use_collect2=yes
extra_headers=math-68881.h
;;
m68k-tti-*)
tm_file=m68k/pbb.h
xm_file="xm-alloca.h ${xm_file}"
xm_defines=USG
extra_headers=math-68881.h
;;
m68k-crds-unos*)
xm_file="xm-alloca.h m68k/xm-crds.h ${xm_file}"
xm_defines="USG unos"
xmake_file=m68k/x-crds
tm_file=m68k/crds.h
use_collect2=yes
extra_headers=math-68881.h
;;
m68k-cbm-sysv4*) # Commodore variant of V.4.
tm_file=m68k/amix.h
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG FULL_PROTOTYPES"
xmake_file=m68k/x-amix
tmake_file=t-svr4
extra_parts="crtbegin.o crtend.o"
extra_headers=math-68881.h
float_format=m68k
;;
m68k-ccur-rtu)
tm_file=m68k/ccur-GAS.h
xmake_file=m68k/x-ccur
extra_headers=math-68881.h
use_collect2=yes
float_format=m68k
;;
m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd
tm_file=m68k/hp3bsd44.h
xmake_file=m68k/x-hp3bsd44
use_collect2=yes
extra_headers=math-68881.h
float_format=m68k
;;
m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix
tm_file=m68k/hp3bsd.h
use_collect2=yes
extra_headers=math-68881.h
float_format=m68k
;;
m68k-isi-bsd*)
if test x$with_fp = xno
then
tm_file=m68k/isi-nfp.h
else
tm_file=m68k/isi.h
float_format=m68k
fi
use_collect2=yes
extra_headers=math-68881.h
;;
m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG"
if test x$gas = xyes
then
xmake_file=m68k/x-hp320g
tm_file=m68k/hp320g.h
else
xmake_file=m68k/x-hp320
tm_file=m68k/hpux7.h
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
extra_headers=math-68881.h
float_format=m68k
;;
m68k-hp-hpux*) # HP 9000 series 300
xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG"
if test x$gas = xyes
then
xmake_file=m68k/x-hp320g
tm_file=m68k/hp320g.h
else
xmake_file=m68k/x-hp320
tm_file=m68k/hp320.h
fi
install_headers_dir=install-headers-cpio
use_collect2=yes
extra_headers=math-68881.h
float_format=m68k
;;
m68k-sun-mach*)
tm_file=m68k/sun3mach.h
use_collect2=yes
extra_headers=math-68881.h
float_format=m68k
;;
m68k-sony-newsos3*)
if test x$gas = xyes
then
tm_file=m68k/news3gas.h
else
tm_file=m68k/news3.h
fi
use_collect2=yes
extra_headers=math-68881.h
float_format=m68k
;;
m68k-sony-bsd* | m68k-sony-newsos*)
if test x$gas = xyes
then
tm_file=m68k/newsgas.h
else
tm_file=m68k/news.h
fi
use_collect2=yes
extra_headers=math-68881.h
float_format=m68k
;;
m68k-next-nextstep2*)
tm_file=m68k/next21.h
xm_file="m68k/xm-next.h ${xm_file}"
tmake_file=m68k/t-next
xmake_file=m68k/x-next
extra_objs=nextstep.o
extra_headers=math-68881.h
use_collect2=yes
float_format=m68k
;;
changequote(,)dnl
m68k-next-nextstep[34]*)
changequote([,])dnl
tm_file=m68k/next.h
xm_file="m68k/xm-next.h ${xm_file}"
tmake_file=m68k/t-next
xmake_file=m68k/x-next
extra_objs=nextstep.o
extra_parts="crtbegin.o crtend.o"
extra_headers=math-68881.h
float_format=m68k
if test x$enable_threads = xyes; then
thread_file='mach'
fi
;;
m68k-sun-sunos3*)
if test x$with_fp = xno
then
tm_file=m68k/sun3n3.h
else
tm_file=m68k/sun3o3.h
float_format=m68k
fi
use_collect2=yes
extra_headers=math-68881.h
;;
m68k-sun-sunos*) # For SunOS 4 (the default).
if test x$with_fp = xno
then
tm_file=m68k/sun3n.h
else
tm_file=m68k/sun3.h
float_format=m68k
fi
use_collect2=yes
extra_headers=math-68881.h
;;
m68k-wrs-vxworks*)
tm_file=m68k/vxm68k.h
tmake_file=m68k/t-vxworks68
extra_headers=math-68881.h
thread_file='vxworks'
float_format=m68k
;;
m68k-*-aout*)
tmake_file=m68k/t-m68kbare
tm_file="m68k/m68k-aout.h libgloss.h"
extra_headers=math-68881.h
float_format=m68k
;;
m68k-*-coff*)
tmake_file=m68k/t-m68kbare
tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
extra_headers=math-68881.h
float_format=m68k
;;
m68020-*-elf* | m68k-*-elf*)
tm_file="m68k/m68020-elf.h"
xm_file=m68k/xm-m68kv.h
tmake_file=m68k/t-m68kelf
header_files=math-68881.h
;;
m68k-*-lynxos*)
if test x$gas = xyes
then
tm_file=m68k/lynx.h
else
tm_file=m68k/lynx-ng.h
fi
xm_file=m68k/xm-lynx.h
xmake_file=x-lynx
tmake_file=m68k/t-lynx
extra_headers=math-68881.h
float_format=m68k
;;
m68k*-*-netbsd*)
tm_file=m68k/netbsd.h
tmake_file=t-netbsd
float_format=m68k
use_collect2=yes
;;
m68k*-*-openbsd*)
float_format=m68k
# we need collect2 until our bug is fixed...
use_collect2=yes
;;
m68k-*-sysv3*) # Motorola m68k's running system V.3
xm_file="xm-alloca.h ${xm_file}"
xm_defines=USG
xmake_file=m68k/x-m68kv
extra_parts="crtbegin.o crtend.o"
extra_headers=math-68881.h
float_format=m68k
;;
m68k-*-sysv4*) # Motorola m68k's running system V.4
tm_file=m68k/m68kv4.h
xm_file="xm-alloca.h ${xm_file}"
xm_defines=USG
tmake_file=t-svr4
extra_parts="crtbegin.o crtend.o"
extra_headers=math-68881.h
float_format=m68k
;;
m68k-*-linux*aout*) # Motorola m68k's running GNU/Linux
# with a.out format
xmake_file=x-linux
tm_file=m68k/linux-aout.h
tmake_file="t-linux-aout m68k/t-linux-aout"
extra_headers=math-68881.h
float_format=m68k
gnu_ld=yes
;;
m68k-*-linux*libc1) # Motorola m68k's running GNU/Linux
# with ELF format using the
# GNU/Linux C library 5
xmake_file=x-linux
tm_file=m68k/linux.h
tmake_file="t-linux t-linux-gnulibc1 m68k/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
extra_headers=math-68881.h
float_format=m68k
gnu_ld=yes
;;
m68k-*-linux*) # Motorola m68k's running GNU/Linux
# with ELF format using glibc 2
# aka the GNU/Linux C library 6.
xmake_file=x-linux
tm_file=m68k/linux.h
tmake_file="t-linux m68k/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
extra_headers=math-68881.h
float_format=m68k
gnu_ld=yes
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
m68k-*-psos*)
tmake_file=m68k/t-m68kbare
tm_file=m68k/m68k-psos.h
extra_headers=math-68881.h
float_format=m68k
;;
m68k-*-rtemscoff*)
tmake_file="m68k/t-m68kbare t-rtems"
tm_file=m68k/rtems.h
extra_headers=math-68881.h
float_format=m68k
;;
m68k-*-rtemself*|m68k-*-rtems*)
tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
tm_file=m68k/rtemself.h
extra_headers=math-68881.h
float_format=m68k
;;
m88k-dg-dgux*)
case $machine in
m88k-dg-dguxbcs*)
tm_file=m88k/dguxbcs.h
tmake_file=m88k/t-dguxbcs
;;
*)
tm_file=m88k/dgux.h
tmake_file=m88k/t-dgux
;;
esac
extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
xmake_file=m88k/x-dgux
if test x$gas = xyes
then
tmake_file=m88k/t-dgux-gas
fi
;;
m88k-dolphin-sysv3*)
tm_file=m88k/dolph.h
extra_parts="crtbegin.o crtend.o"
xm_file="m88k/xm-sysv3.h ${xm_file}"
xmake_file=m88k/x-dolph
if test x$gas = xyes
then
tmake_file=m88k/t-m88k-gas
fi
;;
m88k-tektronix-sysv3)
tm_file=m88k/tekXD88.h
extra_parts="crtbegin.o crtend.o"
xm_file="m88k/xm-sysv3.h ${xm_file}"
xmake_file=m88k/x-tekXD88
if test x$gas = xyes
then
tmake_file=m88k/t-m88k-gas
fi
;;
m88k-*-aout*)
tm_file=m88k/m88k-aout.h
;;
m88k-*-coff*)
tm_file=m88k/m88k-coff.h
tmake_file=m88k/t-bug
;;
m88k-*-luna*)
tm_file=m88k/luna.h
extra_parts="crtbegin.o crtend.o"
if test x$gas = xyes
then
tmake_file=m88k/t-luna-gas
else
tmake_file=m88k/t-luna
fi
;;
m88k-*-openbsd*)
tmake_file="${tmake_file} m88k/t-luna-gas"
tm_file="m88k/aout-dbx.h aoutos.h m88k/m88k.h openbsd.h ${tm_file}"
xm_file="xm-openbsd.h m88k/xm-m88k.h ${xm_file}"
;;
m88k-*-sysv3*)
tm_file=m88k/sysv3.h
extra_parts="crtbegin.o crtend.o"
xm_file="m88k/xm-sysv3.h ${xm_file}"
xmake_file=m88k/x-sysv3
if test x$gas = xyes
then
tmake_file=m88k/t-m88k-gas
fi
;;
m88k-*-sysv4*)
tm_file=m88k/sysv4.h
extra_parts="crtbegin.o crtend.o"
xmake_file=m88k/x-sysv4
tmake_file=m88k/t-sysv4
;;
mcore-*-elf)
tm_file=mcore/mcore-elf.h
tmake_file=mcore/t-mcore
;;
mcore-*-pe*)
tm_file=mcore/mcore-pe.h
tmake_file=mcore/t-mcore-pe
;;
mips-sgi-irix6*) # SGI System V.4., IRIX 6
if test "x$gnu_ld" = xyes
then
tm_file="mips/iris6.h mips/iris6gld.h"
else
tm_file=mips/iris6.h
fi
tmake_file=mips/t-iris6
xm_file=mips/xm-iris6.h
xmake_file=mips/x-iris6
# if test x$enable_threads = xyes; then
# thread_file='irix'
# fi
;;
mips-wrs-vxworks)
tm_file="mips/elf.h mips/vxworks.h"
tmake_file=mips/t-ecoff
gas=yes
gnu_ld=yes
extra_parts="crtbegin.o crtend.o"
thread_file='vxworks'
;;
mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
tm_file="mips/iris6.h mips/cross64.h"
xm_defines=USG
xm_file="mips/xm-iris5.h"
xmake_file=mips/x-iris
tmake_file=mips/t-cross64
# See comment in mips/iris[56].h files.
use_collect2=yes
# if test x$enable_threads = xyes; then
# thread_file='irix'
# fi
;;
mips-sni-sysv4)
if test x$gas = xyes
then
if test x$stabs = xyes
then
tm_file=mips/iris5gdb.h
else
tm_file="mips/sni-svr4.h mips/sni-gas.h"
fi
else
tm_file=mips/sni-svr4.h
fi
xm_defines=USG
xmake_file=mips/x-sni-svr4
tmake_file=mips/t-mips-gas
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
mips-sgi-irix5*) # SGI System V.4., IRIX 5
if test x$gas = xyes
then
tm_file="mips/iris5.h mips/iris5gas.h"
if test x$stabs = xyes
then
tm_file="${tm_file} dbx.h"
fi
else
tm_file=mips/iris5.h
fi
xm_defines=USG
xm_file="mips/xm-iris5.h"
xmake_file=mips/x-iris
# mips-tfile doesn't work yet
tmake_file=mips/t-mips-gas
# See comment in mips/iris5.h file.
use_collect2=yes
# if test x$enable_threads = xyes; then
# thread_file='irix'
# fi
;;
mips-sgi-irix4loser*) # Mostly like a MIPS.
tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xm_defines=USG
xmake_file=mips/x-iris
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
else
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
# if test x$enable_threads = xyes; then
# thread_file='irix'
# fi
;;
mips-sgi-irix4*) # Mostly like a MIPS.
tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xm_defines=USG
xmake_file=mips/x-iris
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
else
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
# if test x$enable_threads = xyes; then
# thread_file='irix'
# fi
;;
mips-sgi-*) # Mostly like a MIPS.
tm_file="mips/iris3.h ${tm_file}"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xm_defines=USG
xmake_file=mips/x-iris3
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
else
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose.
tm_file="mips/osfrose.h ${tm_file}"
xmake_file=mips/x-osfrose
tmake_file=mips/t-osfrose
extra_objs=halfpic.o
use_collect2=yes
;;
mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL
tm_file=mips/dec-osf1.h
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xmake_file=mips/x-dec-osf1
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
else
tmake_file=mips/t-ultrix
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
mips-dec-bsd*) # Decstation running 4.4 BSD
tm_file=mips/dec-bsd.h
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
else
tmake_file=mips/t-ultrix
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
mipsel-*-netbsd* | mips-dec-netbsd*) # Decstation running NetBSD
tm_file=mips/netbsd.h
# On NetBSD, the headers are already okay, except for math.h.
tmake_file=t-netbsd
;;
mips*-*-linux*) # Linux MIPS, either endian.
xmake_file=x-linux
case $machine in
mips*el-*) tm_file="mips/elfl.h mips/linux.h" ;;
*) tm_file="mips/elf.h mips/linux.h" ;;
esac
tmake_file=t-linux
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
gas=yes
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
mips*el-*-openbsd*) # mips little endian
target_cpu_default="MASK_GAS|MASK_ABICALLS"
;;
mips*-*-openbsd*) # mips big endian
target_cpu_default="MASK_GAS|MASK_ABICALLS"
tm_file="mips/openbsd-be.h ${tm_file}"
;;
mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
tm_file="mips/news4.h ${tm_file}"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
else
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
xmake_file=mips/x-sony
;;
mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0.
# That is based on svr4.
# t-svr4 is not right because this system doesn't use ELF.
tm_file="mips/news5.h ${tm_file}"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xm_defines=USG
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
else
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
mips-tandem-sysv4*) # Tandem S2 running NonStop UX
tm_file="mips/svr4-5.h mips/svr4-t.h"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xm_defines=USG
xmake_file=mips/x-sysv
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
extra_parts="crtbegin.o crtend.o"
else
tmake_file=mips/t-mips
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
mips-*-ultrix* | mips-dec-mach3) # Decstation.
tm_file="mips/ultrix.h ${tm_file}"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xmake_file=mips/x-ultrix
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
else
tmake_file=mips/t-ultrix
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
changequote(,)dnl
mips-*-riscos[56789]bsd*)
changequote([,])dnl
tm_file=mips/bsd-5.h # MIPS BSD 4.3, RISC-OS 5.0
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
if test x$gas = xyes
then
tmake_file=mips/t-bsd-gas
else
tmake_file=mips/t-bsd
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
changequote(,)dnl
mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
changequote([,])dnl
tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
if test x$gas = xyes
then
tmake_file=mips/t-bsd-gas
else
tmake_file=mips/t-bsd
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
changequote(,)dnl
mips-*-riscos[56789]sysv4*)
changequote([,])dnl
tm_file=mips/svr4-5.h # MIPS System V.4., RISC-OS 5.0
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xmake_file=mips/x-sysv
if test x$gas = xyes
then
tmake_file=mips/t-svr4-gas
else
tmake_file=mips/t-svr4
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
changequote(,)dnl
mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
changequote([,])dnl
tm_file="mips/svr4-4.h ${tm_file}"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xm_defines=USG
xmake_file=mips/x-sysv
if test x$gas = xyes
then
tmake_file=mips/t-svr4-gas
else
tmake_file=mips/t-svr4
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
changequote(,)dnl
mips-*-riscos[56789]sysv*)
changequote([,])dnl
tm_file=mips/svr3-5.h # MIPS System V.3, RISC-OS 5.0
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xm_defines=USG
xmake_file=mips/x-sysv
if test x$gas = xyes
then
tmake_file=mips/t-svr3-gas
else
tmake_file=mips/t-svr3
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
mips-*-sysv* | mips-*-riscos*sysv*)
tm_file="mips/svr3-4.h ${tm_file}"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
xm_defines=USG
xmake_file=mips/x-sysv
if test x$gas = xyes
then
tmake_file=mips/t-svr3-gas
else
tmake_file=mips/t-svr3
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
changequote(,)dnl
mips-*-riscos[56789]*) # Default MIPS RISC-OS 5.0.
changequote([,])dnl
tm_file=mips/mips-5.h
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
else
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
mips-*-gnu*)
;;
mipsel-*-ecoff*)
tm_file=mips/ecoffl.h
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
tmake_file=mips/t-ecoff
;;
mips-*-ecoff*)
tm_file="gofast.h mips/ecoff.h"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
tmake_file=mips/t-ecoff
;;
mipsel-*-elf*)
tm_file="mips/elfl.h"
tmake_file=mips/t-elf
;;
mips-*-elf*)
tm_file="mips/elf.h"
tmake_file=mips/t-elf
;;
mips64el-*-elf*)
tm_file="mips/elfl64.h"
tmake_file=mips/t-elf
;;
mips64orionel-*-elf*)
tm_file="mips/elforion.h mips/elfl64.h"
tmake_file=mips/t-elf
;;
mips64-*-elf*)
tm_file="mips/elf64.h"
tmake_file=mips/t-elf
;;
mips64orion-*-elf*)
tm_file="mips/elforion.h mips/elf64.h"
tmake_file=mips/t-elf
;;
mips64orion-*-rtems*)
tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
tmake_file="mips/t-elf t-rtems"
;;
mipstx39el-*-elf*)
tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
tmake_file=mips/t-r3900
;;
mipstx39-*-elf*)
tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
tmake_file=mips/t-r3900
;;
mips-*-*) # Default MIPS RISC-OS 4.0.
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
if test x$gas = xyes
then
tmake_file=mips/t-mips-gas
else
extra_passes="mips-tfile mips-tdump"
fi
if test x$gnu_ld != xyes
then
use_collect2=yes
fi
;;
mn10200-*-*)
float_format=i32
cpu_type=mn10200
tm_file="mn10200/mn10200.h"
if test x$stabs = xyes
then
tm_file="${tm_file} dbx.h"
fi
use_collect2=no
;;
mn10300-*-*)
cpu_type=mn10300
tm_file="mn10300/mn10300.h"
if test x$stabs = xyes
then
tm_file="${tm_file} dbx.h"
fi
use_collect2=no
;;
ns32k-encore-bsd*)
tm_file=ns32k/encore.h
use_collect2=yes
;;
ns32k-sequent-bsd*)
tm_file=ns32k/sequent.h
use_collect2=yes
;;
ns32k-tek6100-bsd*)
tm_file=ns32k/tek6100.h
use_collect2=yes
;;
ns32k-tek6200-bsd*)
tm_file=ns32k/tek6200.h
use_collect2=yes
;;
# This has not been updated to GCC 2.
# ns32k-ns-genix*)
# xm_defines=USG
# xmake_file=ns32k/x-genix
# tm_file=ns32k/genix.h
# use_collect2=yes
# ;;
ns32k-merlin-*)
tm_file=ns32k/merlin.h
use_collect2=yes
;;
ns32k-pc532-mach*)
tm_file=ns32k/pc532-mach.h
use_collect2=yes
;;
ns32k-pc532-minix*)
tm_file=ns32k/pc532-min.h
xm_file="ns32k/xm-pc532-min.h ${xm-file}"
xm_defines=USG
use_collect2=yes
;;
ns32k-*-netbsd*)
tm_file=ns32k/netbsd.h
xm_file="ns32k/xm-netbsd.h ${xm_file}"
# On NetBSD, the headers are already okay, except for math.h.
tmake_file=t-netbsd
use_collect2=yes
;;
pdp11-*-bsd)
tm_file="${tm_file} pdp11/2bsd.h"
;;
pdp11-*-*)
;;
avr-*-*)
;;
ns32k-*-openbsd*)
# Nothing special
;;
# This has not been updated to GCC 2.
# pyramid-*-*)
# cpu_type=pyr
# xmake_file=pyr/x-pyr
# use_collect2=yes
# ;;
pj*-linux*)
tm_file="svr4.h pj/linux.h ${tm_file}"
;;
pj-*)
;;
pjl-*)
tm_file="svr4.h pj/pjl.h ${tm_file}"
;;
romp-*-aos*)
use_collect2=yes
;;
romp-*-mach*)
xmake_file=romp/x-mach
use_collect2=yes
;;
romp-*-openbsd*)
# Nothing special
;;
powerpc-*-openbsd*)
tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
;;
powerpc-*-beos*)
cpu_type=rs6000
tm_file=rs6000/beos.h
xm_file=rs6000/xm-beos.h
tmake_file=rs6000/t-beos
xmake_file=rs6000/x-beos
;;
powerpc-*-sysv*)
tm_file=rs6000/sysv4.h
xm_file="rs6000/xm-sysv4.h"
xm_defines="USG POSIX"
extra_headers=ppc-asm.h
tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
xmake_file=rs6000/x-sysv4
;;
powerpc-*-eabiaix*)
tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabiaix.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
powerpc-*-eabisim*)
tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
powerpc-*-elf*)
tm_file="rs6000/sysv4.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
powerpc-*-eabi*)
tm_file="rs6000/sysv4.h rs6000/eabi.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
powerpc-*-rtems*)
tm_file="rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h"
tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
powerpc-*-linux*libc1)
tm_file="rs6000/sysv4.h rs6000/linux.h"
xm_file=rs6000/xm-sysv4.h
out_file=rs6000/rs6000.c
tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
xmake_file=x-linux
extra_headers=ppc-asm.h
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
powerpc-*-linux*)
tm_file="rs6000/sysv4.h rs6000/linux.h"
xm_file="rs6000/xm-sysv4.h"
xm_defines="USG ${xm_defines}"
out_file=rs6000/rs6000.c
tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
xmake_file=x-linux
extra_headers=ppc-asm.h
if test x$enable_threads = xyes; then
thread_file='posix'
fi
;;
powerpc-wrs-vxworks*)
cpu_type=rs6000
xm_file="rs6000/xm-sysv4.h"
xm_defines="USG POSIX"
tm_file="rs6000/sysv4.h rs6000/vxppc.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h
thread_file='vxworks'
;;
powerpcle-wrs-vxworks*)
cpu_type=rs6000
xm_file="rs6000/xm-sysv4.h"
xm_defines="USG POSIX"
tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h
thread_file='vxworks'
;;
powerpcle-*-sysv*)
tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
xm_file="rs6000/xm-sysv4.h"
xm_defines="USG POSIX"
tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
xmake_file=rs6000/x-sysv4
extra_headers=ppc-asm.h
;;
powerpcle-*-elf*)
tm_file="rs6000/sysv4.h rs6000/sysv4le.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
powerpcle-*-eabisim*)
tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
powerpcle-*-eabi*)
tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
powerpcle-*-solaris2*)
tm_file="rs6000/sysv4.h rs6000/sysv4le.h rs6000/sol2.h"
xm_file="rs6000/xm-sysv4.h"
xm_defines="USG POSIX"
tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
xmake_file=rs6000/x-sysv4
extra_headers=ppc-asm.h
;;
changequote(,)dnl
rs6000-ibm-aix3.[01]*)
changequote([,])dnl
tm_file=rs6000/aix31.h
xmake_file=rs6000/x-aix31
float_format=none
use_collect2=yes
;;
changequote(,)dnl
rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
changequote([,])dnl
tm_file=rs6000/aix3newas.h
if test x$host != x$target
then
tmake_file=rs6000/t-xnewas
else
tmake_file=rs6000/t-newas
fi
float_format=none
use_collect2=yes
;;
changequote(,)dnl
rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
changequote([,])dnl
tm_file=rs6000/aix41.h
if test x$host != x$target
then
tmake_file=rs6000/t-xnewas
else
tmake_file=rs6000/t-newas
fi
if test "$gnu_ld" = yes
then
xmake_file=rs6000/x-aix41-gld
else
tmake_file="rs6000/t-newas rs6000/t-aix41"
fi
xmake_file=rs6000/x-aix41
float_format=none
use_collect2=yes
;;
changequote(,)dnl
rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
changequote([,])dnl
tm_file=rs6000/aix43.h
tmake_file=rs6000/t-aix43
xmake_file=rs6000/x-aix41
float_format=none
use_collect2=yes
;;
changequote(,)dnl
rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
changequote([,])dnl
tm_file=rs6000/aix43.h
tmake_file=rs6000/t-aix43
xmake_file=rs6000/x-aix41
float_format=none
use_collect2=yes
;;
rs6000-ibm-aix*)
float_format=none
use_collect2=yes
;;
rs6000-bull-bosx)
float_format=none
use_collect2=yes
;;
rs6000-*-mach*)
tm_file=rs6000/mach.h
xm_file="${xm_file} rs6000/xm-mach.h"
xmake_file=rs6000/x-mach
use_collect2=yes
;;
rs6000-*-lynxos*)
tm_file=rs6000/lynx.h
xm_file=rs6000/xm-lynx.h
tmake_file=rs6000/t-rs6000
xmake_file=rs6000/x-lynx
use_collect2=yes
;;
sh-*-elf*)
tm_file=sh/elf.h
float_format=sh
;;
sh-*-rtemself*)
tmake_file="sh/t-sh t-rtems"
tm_file=sh/rtemself.h
float_format=sh
;;
sh-*-rtems*)
tmake_file="sh/t-sh t-rtems"
tm_file=sh/rtems.h
float_format=sh
;;
sh-*-*)
float_format=sh
;;
sparc-tti-*)
tm_file=sparc/pbd.h
xm_file="xm-alloca.h ${xm_file}"
xm_defines=USG
;;
sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
tm_file=sparc/vxsparc.h
tmake_file=sparc/t-vxsparc
use_collect2=yes
thread_file='vxworks'
;;
sparc-*-aout*)
tmake_file=sparc/t-sparcbare
tm_file="sparc/aout.h libgloss.h"
;;
sparc-*-netbsd*)
tm_file=sparc/netbsd.h
tmake_file=t-netbsd
use_collect2=yes
;;
sparc-*-openbsd*)
# we need collect2 until our bug is fixed...
use_collect2=yes
;;
sparc-*-bsd*)
tm_file=sparc/bsd.h
;;
sparc-*-elf*)
tm_file=sparc/elf.h
tmake_file=sparc/t-elf
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
#float_format=i128
float_format=i64
;;
sparc-*-linux*aout*) # Sparc's running GNU/Linux, a.out
xm_file="${xm_file} sparc/xm-linux.h"
tm_file=sparc/linux-aout.h
xmake_file=x-linux
gnu_ld=yes
;;
sparc-*-linux*libc1*) # Sparc's running GNU/Linux, libc5
xm_file="${xm_file} sparc/xm-linux.h"
xmake_file=x-linux
tm_file=sparc/linux.h
tmake_file="t-linux t-linux-gnulibc1"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
float_format=sparc
;;
sparc-*-linux*) # Sparc's running GNU/Linux, libc6
xm_file="${xm_file} sparc/xm-linux.h"
xmake_file=x-linux
tm_file=sparc/linux.h
tmake_file="t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
if test x$enable_threads = xyes; then
thread_file='posix'
fi
float_format=sparc
;;
sparc-*-lynxos*)
if test x$gas = xyes
then
tm_file=sparc/lynx.h
else
tm_file=sparc/lynx-ng.h
fi
xm_file=sparc/xm-lynx.h
tmake_file=sparc/t-sunos41
xmake_file=x-lynx
;;
sparc-*-rtemsaout*)
tmake_file="sparc/t-sparcbare t-rtems"
tm_file=sparc/rtems.h
;;
sparc-*-rtems*|sparc-*-rtemself*)
tm_file="sparc/rtemself.h"
tmake_file="sparc/t-elf t-rtems"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
#float_format=i128
float_format=i64
;;
sparcv9-*-solaris2*)
if test x$gnu_ld = xyes
then
tm_file=sparc/sol2-64.h
else
tm_file=sparc/sol2-sld-64.h
fi
xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
xm_defines="USG POSIX"
tmake_file="sparc/t-sol2 sparc/t-sol2-64"
xmake_file=sparc/x-sysv4
extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
float_format=none
if test x${enable_threads} = x ; then
enable_threads=$have_pthread_h
if test x${enable_threads} = x ; then
enable_threads=$have_thread_h
fi
fi
if test x${enable_threads} = xyes ; then
if test x${have_pthread_h} = xyes ; then
thread_file='posix'
else
thread_file='solaris'
fi
fi
;;
sparc-hal-solaris2*)
xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
xm_defines="USG POSIX"
tm_file="sparc/sol2.h sparc/hal.h"
tmake_file="sparc/t-halos sparc/t-sol2"
xmake_file=sparc/x-sysv4
extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
case $machine in
changequote(,)dnl
*-*-solaris2.[0-4])
changequote([,])dnl
float_format=i128
;;
*)
float_format=none
;;
esac
thread_file='solaris'
;;
sparc-*-solaris2*)
if test x$gnu_ld = xyes
then
tm_file=sparc/sol2.h
else
tm_file=sparc/sol2-sld.h
fi
xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
xm_defines="USG POSIX"
tmake_file=sparc/t-sol2
xmake_file=sparc/x-sysv4
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
case $machine in
changequote(,)dnl
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
changequote([,])dnl
*-*-solaris2*)
if test x$gnu_ld = xyes
then
tm_file=sparc/sol2-64.h
else
tm_file=sparc/sol2-sld-64.h
fi
tmake_file="$tmake_file sparc/t-sol2-64"
;;
esac
case $machine in
changequote(,)dnl
*-*-solaris2.[0-4])
changequote([,])dnl
float_format=i128
;;
*)
float_format=none
;;
esac
if test x${enable_threads} = x; then
enable_threads=$have_pthread_h
if test x${enable_threads} = x; then
enable_threads=$have_thread_h
fi
fi
if test x${enable_threads} = xyes; then
if test x${have_pthread_h} = xyes; then
thread_file='posix'
else
thread_file='solaris'
fi
fi
;;
sparc-*-sunos4.0*)
tm_file=sparc/sunos4.h
tmake_file=sparc/t-sunos40
use_collect2=yes
;;
sparc-*-sunos4*)
tm_file=sparc/sunos4.h
tmake_file=sparc/t-sunos41
use_collect2=yes
if test x$gas = xyes; then
tm_file="${tm_file} sparc/sun4gas.h"
fi
;;
sparc-*-sunos3*)
tm_file=sparc/sun4o3.h
use_collect2=yes
;;
sparc-*-sysv4*)
tm_file=sparc/sysv4.h
xm_file="sparc/xm-sysv4.h"
xm_defines="USG POSIX"
tmake_file=t-svr4
xmake_file=sparc/x-sysv4
extra_parts="crtbegin.o crtend.o"
;;
sparc-*-vxsim*)
xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
xm_defines="USG POSIX"
tm_file=sparc/vxsim.h
tmake_file=sparc/t-vxsparc
xmake_file=sparc/x-sysv4
;;
sparclet-*-aout*)
tm_file="sparc/splet.h libgloss.h"
tmake_file=sparc/t-splet
;;
sparclite-*-coff*)
tm_file="sparc/litecoff.h libgloss.h"
tmake_file=sparc/t-sparclite
;;
sparclite-*-aout*)
tm_file="sparc/lite.h aoutos.h libgloss.h"
tmake_file=sparc/t-sparclite
;;
sparclite-*-elf*)
tm_file="sparc/liteelf.h"
tmake_file=sparc/t-sparclite
extra_parts="crtbegin.o crtend.o"
;;
sparc86x-*-aout*)
tm_file="sparc/sp86x-aout.h aoutos.h libgloss.h"
tmake_file=sparc/t-sp86x
;;
sparc86x-*-elf*)
tm_file="sparc/sp86x-elf.h"
tmake_file=sparc/t-sp86x
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-aout*)
tmake_file=sparc/t-sp64
tm_file=sparc/sp64-aout.h
;;
sparc64-*-elf*)
tmake_file=sparc/t-sp64
tm_file=sparc/sp64-elf.h
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
tmake_file="t-linux sparc/t-linux64"
xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
tm_file=sparc/linux64.h
xmake_file=x-linux
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
if test x$enable_threads = xyes; then
thread_file='posix'
fi
float_format=sparc
;;
# This hasn't been upgraded to GCC 2.
# tahoe-harris-*) # Harris tahoe, using COFF.
# tm_file=tahoe/harris.h
# ;;
# tahoe-*-bsd*) # tahoe running BSD
# ;;
thumb*-*-*)
AC_MSG_ERROR([
*** The Thumb targets have been depreciated. The equivalent
*** ARM based toolchain can now generated Thumb instructions
*** when the -mthumb switch is given to the compiler.])
;;
# This hasn't been upgraded to GCC 2.
# tron-*-*)
# cpu_type=gmicro
# use_collect2=yes
# ;;
v850-*-rtems*)
cpu_type=v850
tm_file="v850/rtems.h"
xm_file="v850/xm-v850.h"
tmake_file="v850/t-v850 t-rtems"
if test x$stabs = xyes
then
tm_file="${tm_file} dbx.h"
fi
use_collect2=no
;;
v850-*-*)
target_cpu_default="TARGET_CPU_generic"
cpu_type=v850
tm_file="v850/v850.h"
xm_file="v850/xm-v850.h"
tmake_file=v850/t-v850
if test x$stabs = xyes
then
tm_file="${tm_file} dbx.h"
fi
use_collect2=no
;;
vax-*-bsd*) # vaxen running BSD
use_collect2=yes
float_format=vax
;;
vax-*-sysv*) # vaxen running system V
tm_file="${tm_file} vax/vaxv.h"
xm_defines=USG
float_format=vax
;;
vax-*-netbsd*)
tm_file="${tm_file} netbsd.h vax/netbsd.h"
tmake_file=t-netbsd
float_format=vax
use_collect2=yes
;;
vax-*-openbsd*)
tmake_file="${tmake_file} vax/t-openbsd"
tm_file="vax/vax.h vax/openbsd1.h openbsd.h ${tm_file}"
xm_file="xm-openbsd.h vax/xm-vax.h"
float_format=vax
use_collect2=yes
;;
vax-*-ultrix*) # vaxen running ultrix
tm_file="${tm_file} vax/ultrix.h"
use_collect2=yes
float_format=vax
;;
vax-*-vms*) # vaxen running VMS
xm_file=vax/xm-vms.h
tm_file=vax/vms.h
float_format=vax
;;
vax-*-*) # vax default entry
float_format=vax
;;
we32k-att-sysv*)
xm_file="${xm_file} xm-svr3"
use_collect2=yes
;;
*)
echo "Configuration $machine not supported" 1>&2
exit 1
;;
esac
case $machine in
*-*-linux*)
;; # Existing GNU/Linux systems do not use the GNU setup.
*-*-gnu*)
# On the GNU system, the setup is just about the same on
# each different CPU. The specific machines that GNU
# supports are matched above and just set $cpu_type.
xm_file="xm-gnu.h ${xm_file}"
tm_file=${cpu_type}/gnu.h
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
# GNU always uses ELF.
elf=yes
# GNU tools are the only tools.
gnu_ld=yes
gas=yes
xmake_file=x-linux # These details are the same as Linux.
tmake_file=t-gnu # These are not.
;;
*-*-sysv4*)
xmake_try_sysv=x-sysv
install_headers_dir=install-headers-cpio
;;
*-*-sysv*)
install_headers_dir=install-headers-cpio
;;
esac
# Distinguish i[34567]86
# Also, do not run mips-tfile on MIPS if using gas.
# Process --with-cpu= for PowerPC/rs6000
target_cpu_default2=
case $machine in
i486-*-*)
target_cpu_default2=1
;;
i586-*-*)
case $target_alias in
k6-*)
target_cpu_default2=4
;;
*)
target_cpu_default2=2
;;
esac
;;
i686-*-* | i786-*-*)
target_cpu_default2=3
;;
alpha*-*-*)
case $machine in
changequote(,)dnl
alphaev6[78]*)
changequote([,])dnl
target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
;;
alphaev6*)
target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
;;
alphapca56*)
target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
;;
alphaev56*)
target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
;;
alphaev5*)
target_cpu_default2="MASK_CPU_EV5"
;;
esac
if test x$gas = xyes
then
if test "$target_cpu_default2" = ""
then
target_cpu_default2="MASK_GAS"
else
target_cpu_default2="${target_cpu_default2}|MASK_GAS"
fi
fi
;;
arm*-*-*)
case "x$with_cpu" in
x)
# The most generic
target_cpu_default2="TARGET_CPU_generic"
;;
# Distinguish cores, and major variants
# arm7m doesn't exist, but D & I don't affect code
changequote(,)dnl
xarm[23678] | xarm250 | xarm[67][01]0 \
| xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
| xarm7100 | xarm7500 | xarm7500fe | xarm810 \
| xstrongarm | xstrongarm110 | xstrongarm1100)
changequote([,])dnl
target_cpu_default2="TARGET_CPU_$with_cpu"
;;
xyes | xno)
echo "--with-cpu must be passed a value" 1>&2
exit 1
;;
*)
if test x$pass2done = xyes
then
echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
exit 1
fi
;;
esac
;;
mips*-*-ecoff* | mips*-*-elf*)
if test x$gas = xyes
then
if test x$gnu_ld = xyes
then
target_cpu_default2="MASK_GAS|MASK_SPLIT_ADDR"
else
target_cpu_default2="MASK_GAS"
fi
fi
;;
mips*-*-*)
if test x$gas = xyes
then
target_cpu_default2="MASK_GAS"
fi
;;
powerpc*-*-* | rs6000-*-*)
case "x$with_cpu" in
x)
;;
xcommon | xpower | xpower2 | xpowerpc | xrios \
| xrios1 | xrios2 | xrsc | xrsc1 \
| x601 | x602 | x603 | x603e | x604 | x604e | x620 \
| xec603e | x740 | x750 | x401 \
| x403 | x505 | x801 | x821 | x823 | x860)
target_cpu_default2="\"$with_cpu\""
;;
xyes | xno)
echo "--with-cpu must be passed a value" 1>&2
exit 1
;;
*)
if test x$pass2done = xyes
then
echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
exit 1
fi
;;
esac
;;
sparc*-*-*)
case ".$with_cpu" in
.)
target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
;;
.supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
target_cpu_default2="TARGET_CPU_$with_cpu"
;;
*)
if test x$pass2done = xyes
then
echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
exit 1
fi
;;
esac
;;
esac
if test "$target_cpu_default2" != ""
then
if test "$target_cpu_default" != ""
then
target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
else
target_cpu_default=$target_cpu_default2
fi
fi
# No need for collect2 if we have the GNU linker.
# Actually, there is now; GNU ld doesn't handle the EH info or
# collecting for shared libraries.
#case x$gnu_ld in
#xyes)
# use_collect2=
# ;;
#esac
# Save data on machine being used to compile GCC in build_xm_file.
# Save data on host machine in vars host_xm_file and host_xmake_file.
if test x$pass1done = x
then
if test x"$xm_file" = x
then build_xm_file=$cpu_type/xm-$cpu_type.h
else build_xm_file=$xm_file
fi
build_xm_defines=$xm_defines
build_install_headers_dir=$install_headers_dir
build_exeext=$exeext
pass1done=yes
else
if test x$pass2done = x
then
if test x"$xm_file" = x
then host_xm_file=$cpu_type/xm-$cpu_type.h
else host_xm_file=$xm_file
fi
host_xm_defines=$xm_defines
if test x"$xmake_file" = x
then xmake_file=$cpu_type/x-$cpu_type
fi
host_xmake_file="$xmake_file"
host_truncate_target=$truncate_target
host_extra_gcc_objs=$extra_gcc_objs
host_extra_objs=$extra_host_objs
host_exeext=$exeext
pass2done=yes
fi
fi
done
extra_objs="${host_extra_objs} ${extra_objs}"
# Default the target-machine variables that were not explicitly set.
if test x"$tm_file" = x
then tm_file=$cpu_type/$cpu_type.h; fi
if test x$extra_headers = x
then extra_headers=; fi
if test x"$xm_file" = x
then xm_file=$cpu_type/xm-$cpu_type.h; fi
if test x$md_file = x
then md_file=$cpu_type/$cpu_type.md; fi
if test x$out_file = x
then out_file=$cpu_type/$cpu_type.c; fi
if test x"$tmake_file" = x
then tmake_file=$cpu_type/t-$cpu_type
fi
if test x"$dwarf2" = xyes
then tm_file="$tm_file tm-dwarf2.h"
fi
if test x$float_format = x
then float_format=i64
fi
if test $float_format = none
then float_h_file=Makefile.in
else float_h_file=float-$float_format.h
fi
# Handle cpp installation.
if test x$enable_cpp != xno
then
tmake_file="$tmake_file t-install-cpp"
fi
# Say what files are being used for the output code and MD file.
echo "Using \`$srcdir/config/$out_file' to output insns."
echo "Using \`$srcdir/config/$md_file' as machine description file."
count=a
for f in $tm_file; do
count=${count}x
done
if test $count = ax; then
echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
else
echo "Using the following target machine macro files:"
for f in $tm_file; do
echo " $srcdir/config/$f"
done
fi
count=a
for f in $host_xm_file; do
count=${count}x
done
if test $count = ax; then
echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
else
echo "Using the following host machine macro files:"
for f in $host_xm_file; do
echo " $srcdir/config/$f"
done
fi
if test "$host_xm_file" != "$build_xm_file"; then
count=a
for f in $build_xm_file; do
count=${count}x
done
if test $count = ax; then
echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
else
echo "Using the following build machine macro files:"
for f in $build_xm_file; do
echo " $srcdir/config/$f"
done
fi
fi
if test x$thread_file = x; then
if test x$target_thread_file != x; then
thread_file=$target_thread_file
else
thread_file='single'
fi
fi
# Set up the header files.
# $links is the list of header files to create.
# $vars is the list of shell variables with file names to include.
# auto-host.h is the file containing items generated by autoconf and is
# the first file included by config.h.
null_defines=
host_xm_file="auto-host.h gansidecl.h ${host_xm_file} hwint.h"
# If host=build, it is correct to have hconfig include auto-host.h
# as well. If host!=build, we are in error and need to do more
# work to find out the build config parameters.
if test x$host = x$build
then
build_xm_file="auto-host.h gansidecl.h ${build_xm_file} hwint.h"
else
# We create a subdir, then run autoconf in the subdir.
# To prevent recursion we set host and build for the new
# invocation of configure to the build for this invocation
# of configure.
tempdir=build.$$
rm -rf $tempdir
mkdir $tempdir
cd $tempdir
case ${srcdir} in
/*) realsrcdir=${srcdir};;
*) realsrcdir=../${srcdir};;
esac
CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
--target=$target --host=$build --build=$build
# We just finished tests for the build machine, so rename
# the file auto-build.h in the gcc directory.
mv auto-host.h ../auto-build.h
cd ..
rm -rf $tempdir
build_xm_file="auto-build.h gansidecl.h ${build_xm_file} hwint.h"
fi
xm_file="gansidecl.h ${xm_file}"
tm_file="gansidecl.h ${tm_file}"
vars="host_xm_file tm_file tm_p_file xm_file build_xm_file"
links="config.h tm.h tm_p.h tconfig.h hconfig.h"
defines="host_xm_defines null_defines null_defines xm_defines build_xm_defines"
rm -f config.bak
if test -f config.status; then mv -f config.status config.bak; fi
# Make the links.
while test -n "$vars"
do
set $vars; var=$1; shift; vars=$*
set $links; link=$1; shift; links=$*
set $defines; define=$1; shift; defines=$*
rm -f $link
# Make sure the file is created, even if it is empty.
echo >$link
# Define TARGET_CPU_DEFAULT if the system wants one.
# This substitutes for lots of *.h files.
if test "$target_cpu_default" != "" -a $link = tm.h
then
echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
fi
for file in `eval echo '$'$var`; do
case $file in
auto-host.h | auto-build.h )
;;
*)
echo '#ifdef IN_GCC' >>$link
;;
esac
echo "#include \"$file\"" >>$link
case $file in
auto-host.h | auto-build.h )
;;
*)
echo '#endif' >>$link
;;
esac
done
for def in `eval echo '$'$define`; do
echo "#ifndef $def" >>$link
echo "#define $def" >>$link
echo "#endif" >>$link
done
done
# Truncate the target if necessary
if test x$host_truncate_target != x; then
target=`echo $target | sed -e 's/\(..............\).*/\1/'`
fi
# Get the version trigger filename from the toplevel
if test "${with_gcc_version_trigger+set}" = set; then
gcc_version_trigger=$with_gcc_version_trigger
else
gcc_version_trigger=${srcdir}/version.c
fi
changequote(,)dnl
gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
changequote([,])dnl
# Internationalization
PACKAGE=gcc
VERSION="$gcc_version"
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",
[Define to the name of the distribution.])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION",
[Define to the version of the distribution.])
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
ALL_LINGUAS="en_GB"
# Enable NLS support by default
AC_ARG_ENABLE(nls,
[ --enable-nls use Native Language Support (default)],
, enable_nls=yes)
# if cross compiling, disable NLS support.
# It's not worth the trouble, at least for now.
if test "${build}" != "${host}" && test "x$enable_nls" = "xyes"; then
AC_MSG_WARN(Disabling NLS support for canadian cross compiler.)
enable_nls=no
fi
AM_GNU_GETTEXT
XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
# Windows32 Registry support for specifying GCC installation paths.
AC_ARG_ENABLE(win32-registry,
[ --disable-win32-registry
Disable lookup of installation paths in the
Registry on Windows hosts.
--enable-win32-registry Enable registry lookup (default).
--enable-win32-registry=KEY
Use KEY instead of GCC version as the last portion
of the registry key.],,)
AC_MSG_CHECKING(whether windows registry support is requested)
if test x$enable_win32_registry != xno; then
AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
[Define to 1 if installation paths should be looked up in Windows32
Registry. Ignored on non windows32 hosts.])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
# Check if user specified a different registry key.
case x${enable_win32_registry} in
x | xyes)
# default.
gcc_cv_win32_registry_key="$VERSION"
;;
xno)
# no registry lookup.
gcc_cv_win32_registry_key=''
;;
*)
# user-specified key.
gcc_cv_win32_registry_key="$enable_win32_registry"
;;
esac
if test x$enable_win32_registry != xno; then
AC_MSG_CHECKING(registry key on windows hosts)
AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key",
[Define to be the last portion of registry key on windows hosts.])
AC_MSG_RESULT($gcc_cv_win32_registry_key)
fi
# Get an absolute path to the GCC top-level source directory
holddir=`pwd`
cd $srcdir
topdir=`pwd`
cd $holddir
# Conditionalize the makefile for this host machine.
# Make-host contains the concatenation of all host makefile fragments
# [there can be more than one]. This file is built by configure.frag.
host_overrides=Make-host
dep_host_xmake_file=
for f in .. ${host_xmake_file}
do
if test -f ${srcdir}/config/$f
then
dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
fi
done
# Conditionalize the makefile for this target machine.
# Make-target contains the concatenation of all host makefile fragments
# [there can be more than one]. This file is built by configure.frag.
target_overrides=Make-target
dep_tmake_file=
for f in .. ${tmake_file}
do
if test -f ${srcdir}/config/$f
then
dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
fi
done
# If the host doesn't support symlinks, modify CC in
# FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
# Otherwise, we can use "CC=$(CC)".
rm -f symtest.tem
if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
then
cc_set_by_configure="\$(CC)"
quoted_cc_set_by_configure="\$(CC)"
stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
else
rm -f symtest.tem
if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
then
symbolic_link="cp -p"
else
symbolic_link="cp"
fi
cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
fi
rm -f symtest.tem
out_object_file=`basename $out_file .c`.o
tm_file_list=
for f in $tm_file; do
case $f in
gansidecl.h )
tm_file_list="${tm_file_list} $f" ;;
*) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
esac
done
host_xm_file_list=
for f in $host_xm_file; do
case $f in
auto-host.h | gansidecl.h | hwint.h )
host_xm_file_list="${host_xm_file_list} $f" ;;
*) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
esac
done
build_xm_file_list=
for f in $build_xm_file; do
case $f in
auto-build.h | auto-host.h | gansidecl.h | hwint.h )
build_xm_file_list="${build_xm_file_list} $f" ;;
*) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
esac
done
# Define macro CROSS_COMPILE in compilation
# if this is a cross-compiler.
# Also use all.cross instead of all.internal
# and add cross-make to Makefile.
cross_overrides="/dev/null"
if test x$host != x$target
then
cross_defines="CROSS=-DCROSS_COMPILE"
cross_overrides="${topdir}/cross-make"
fi
# If this is a cross-compiler that does not
# have its own set of headers then define
# inhibit_libc
# If this is using newlib, then define inhibit_libc in
# LIBGCC2_CFLAGS. This will cause __eprintf to be left out of
# libgcc.a, but that's OK because newlib should have its own version of
# assert.h.
inhibit_libc=
if [test x$host != x$target] && [test x$with_headers = x]; then
inhibit_libc=-Dinhibit_libc
else
if [test x$with_newlib = xyes]; then
inhibit_libc=-Dinhibit_libc
fi
fi
AC_SUBST(inhibit_libc)
# When building gcc with a cross-compiler, we need to fix a few things.
# This must come after cross-make as we want all.build to override
# all.cross.
build_overrides="/dev/null"
if test x$build != x$host
then
build_overrides="${topdir}/build-make"
fi
# Expand extra_headers to include complete path.
# This substitutes for lots of t-* files.
extra_headers_list=
if test "x$extra_headers" = x
then true
else
# Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
for file in $extra_headers;
do
extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
done
fi
if test x$use_collect2 = xno; then
use_collect2=
fi
# Add a definition of USE_COLLECT2 if system wants one.
# Also tell toplev.c what to do.
# This substitutes for lots of t-* files.
if test x$use_collect2 = x
then
will_use_collect2=
maybe_use_collect2=
else
will_use_collect2="collect2"
maybe_use_collect2="-DUSE_COLLECT2"
fi
# NEED TO CONVERT
# Set MD_DEPS if the real md file is in md.pre-cpp.
# Set MD_CPP to the cpp to pass the md file through. Md files use ';'
# for line oriented comments, so we must always use a GNU cpp. If
# building gcc with a cross compiler, use the cross compiler just
# built. Otherwise, we can use the cpp just built.
md_file_sub=
if test "x$md_cppflags" = x
then
md_file_sub=$srcdir/config/$md_file
else
md_file=md
fi
# If we have gas in the build tree, make a link to it.
if test -f ../gas/Makefile; then
rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
fi
# If we have nm in the build tree, make a link to it.
if test -f ../binutils/Makefile; then
rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
fi
# If we have ld in the build tree, make a link to it.
if test -f ../ld/Makefile; then
# if test x$use_collect2 = x; then
# rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
# else
rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
# fi
fi
# Figure out what assembler alignment features are present.
AC_MSG_CHECKING(assembler alignment features)
gcc_cv_as=
gcc_cv_as_alignment_features=
gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
if test -x "$DEFAULT_ASSEMBLER"; then
gcc_cv_as="$DEFAULT_ASSEMBLER"
elif test -x "$AS"; then
gcc_cv_as="$AS"
elif test -x as$host_exeext; then
# Build using assembler in the current directory.
gcc_cv_as=./as$host_exeext
elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
# Single tree build which includes gas.
for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
do
changequote(,)dnl
gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
changequote([,])dnl
if test x$gcc_cv_gas_version != x; then
break
fi
done
changequote(,)dnl
gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
changequote([,])dnl
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
# Gas version 2.6 and later support for .balign and .p2align.
# bytes to skip when using .p2align.
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
gcc_cv_as_alignment_features=".balign and .p2align"
AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
fi
# Gas version 2.8 and later support specifying the maximum
# bytes to skip when using .p2align.
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
gcc_cv_as_alignment_features=".p2align including maximum skip"
AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
fi
fi
elif test x$host = x$target; then
# Native build.
# Search the same directories that the installed compiler will
# search. Else we may find the wrong assembler and lose. If we
# do not find a suitable assembler binary, then try the user's
# path.
#
# Also note we have to check MD_EXEC_PREFIX before checking the
# user's path. Unfortunately, there is no good way to get at the
# value of MD_EXEC_PREFIX here. So we do a brute force search
# through all the known MD_EXEC_PREFIX values. Ugh. This needs
# to be fixed as part of the make/configure rewrite too.
if test "x$exec_prefix" = xNONE; then
if test "x$prefix" = xNONE; then
test_prefix=/usr/local
else
test_prefix=$prefix
fi
else
test_prefix=$exec_prefix
fi
# If the loop below does not find an assembler, then use whatever
# one we can find in the users's path.
# user's path.
as=as$host_exeext
test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
$test_prefix/lib/gcc-lib/$target \
/usr/lib/gcc/$target/$gcc_version \
/usr/lib/gcc/$target \
$test_prefix/$target/bin/$target/$gcc_version \
$test_prefix/$target/bin \
/usr/libexec \
/usr/ccs/gcc \
/usr/ccs/bin \
/udk/usr/ccs/bin \
/bsd43/usr/lib/cmplrs/cc \
/usr/cross64/usr/bin \
/usr/lib/cmplrs/cc \
/sysv/usr/lib/cmplrs/cc \
/svr4/usr/lib/cmplrs/cc \
/usr/bin"
for dir in $test_dirs; do
if test -f $dir/as$host_exeext; then
gcc_cv_as=$dir/as$host_exeext
break;
fi
done
fi
if test x$gcc_cv_as != x; then
# Check if we have .balign and .p2align
echo ".balign 4" > conftest.s
echo ".p2align 2" >> conftest.s
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
gcc_cv_as_alignment_features=".balign and .p2align"
AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
fi
rm -f conftest.s conftest.o
# Check if specifying the maximum bytes to skip when
# using .p2align is supported.
echo ".p2align 4,,7" > conftest.s
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
gcc_cv_as_alignment_features=".p2align including maximum skip"
AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
fi
rm -f conftest.s conftest.o
fi
AC_MSG_RESULT($gcc_cv_as_alignment_features)
AC_MSG_CHECKING(assembler subsection support)
gcc_cv_as_subsections=
if test x$gcc_cv_as != x; then
# Check if we have .subsection
echo ".subsection 1" > conftest.s
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
gcc_cv_as_subsections=".subsection"
if test -x nm$host_exeext; then
gcc_cv_nm=./nm$host_exeext
elif test x$host = x$target; then
# Native build.
gcc_cv_nm=nm$host_exeext
fi
if test x$gcc_cv_nm != x; then
cat > conftest.s <<EOF
conftest_label1: .word 0
.subsection -1
conftest_label2: .word 0
.previous
EOF
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
$gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
$gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
:
else
gcc_cv_as_subsections="working .subsection -1"
AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1,
[Define if your assembler supports .subsection and .subsection -1 starts
emitting at the beginning of your section.])
fi
fi
fi
fi
rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
fi
AC_MSG_RESULT($gcc_cv_as_subsections)
AC_MSG_CHECKING(assembler weak support)
gcc_cv_as_weak=
if test x$gcc_cv_as != x; then
# Check if we have .weak
echo " .weak foobar" > conftest.s
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
AC_DEFINE(HAVE_GAS_WEAK, 1,
[Define if your assembler supports .weak.])
gcc_cv_as_weak="yes"
fi
rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
fi
AC_MSG_RESULT($gcc_cv_as_weak)
AC_MSG_CHECKING(assembler hidden support)
gcc_cv_as_hidden=
if test x$gcc_cv_as != x; then
# Check if we have .hidden
echo " .hidden foobar" > conftest.s
echo "foobar:" >> conftest.s
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
AC_DEFINE(HAVE_GAS_HIDDEN, 1,
[Define if your assembler supports .hidden.])
gcc_cv_as_hidden="yes"
fi
rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
fi
AC_MSG_RESULT($gcc_cv_as_hidden)
case "$target" in
sparc*-*-*)
AC_CACHE_CHECK([assembler .register pseudo-op support],
gcc_cv_as_register_pseudo_op, [
gcc_cv_as_register_pseudo_op=unknown
if test x$gcc_cv_as != x; then
# Check if we have .register
echo ".register %g2, #scratch" > conftest.s
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
gcc_cv_as_register_pseudo_op=yes
else
gcc_cv_as_register_pseudo_op=no
fi
rm -f conftest.s conftest.o
fi
])
if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
[Define if your assembler supports .register.])
fi
AC_CACHE_CHECK([assembler supports -relax],
gcc_cv_as_relax_opt, [
gcc_cv_as_relax_opt=unknown
if test x$gcc_cv_as != x; then
# Check if gas supports -relax
echo ".text" > conftest.s
if $gcc_cv_as -relax -o conftest.o conftest.s > /dev/null 2>&1; then
gcc_cv_as_relax_opt=yes
else
gcc_cv_as_relax_opt=no
fi
rm -f conftest.s conftest.o
fi
])
if test "x$gcc_cv_as_relax_opt" = xyes; then
AC_DEFINE(HAVE_AS_RELAX_OPTION, 1,
[Define if your assembler supports -relax option.])
fi
case "$tm_file" in
*64*)
AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
gcc_cv_as_flags64, [
if test -n "$gcc_cv_as"; then
echo ".xword foo" > conftest.s
gcc_cv_as_flags64=no
for flag in "-xarch=v9" "-64 -Av9"; do
if $gcc_cv_as $flag -o conftest.o conftest.s \
> /dev/null 2>&1; then
gcc_cv_as_flags64=$flag
break
fi
done
rm -f conftest.s conftest.o
else
if test "$gas" = yes; then
gcc_cv_as_flags64="-64 -Av9"
else
gcc_cv_as_flags64="-xarch=v9"
fi
fi
])
if test "x$gcc_cv_as_flags64" = xno; then
changequote(, )
tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
changequote([, ])
else
AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64",
[Define if the assembler supports 64bit sparc.])
fi
;;
*) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
;;
esac
if test "x$gcc_cv_as_flags64" != xno; then
AC_CACHE_CHECK([for assembler offsetable %lo() support],
gcc_cv_as_offsetable_lo10, [
gcc_cv_as_offsetable_lo10=unknown
if test "x$gcc_cv_as" != x; then
# Check if assembler has offsetable %lo()
echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
> /dev/null 2>&1 &&
$gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
> /dev/null 2>&1; then
if cmp conftest.o conftest1.o > /dev/null 2>&1; then
gcc_cv_as_offsetable_lo10=no
else
gcc_cv_as_offsetable_lo10=yes
fi
else
gcc_cv_as_offsetable_lo10=no
fi
rm -f conftest.s conftest.o conftest1.s conftest1.o
fi
])
if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
[Define if your assembler supports offsetable %lo().])
fi
fi
;;
changequote(,)dnl
i[34567]86-*-*)
changequote([,])dnl
AC_MSG_CHECKING(assembler instructions)
gcc_cv_as_instructions=
if test x$gcc_cv_as != x; then
set "filds fists" "filds mem; fists mem"
while test $# -gt 0
do
echo "$2" > conftest.s
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$1" | tr '[a-z ]' '[A-Z_]'`)
fi
shift 2
done
rm -f conftest.s conftest.o
fi
AC_MSG_RESULT($gcc_cv_as_instructions)
;;
esac
# Figure out what language subdirectories are present.
# Look if the user specified --enable-languages="..."; if not, use
# the environment variable $LANGUAGES if defined. $LANGUAGES might
# go away some day.
if test x"${enable_languages+set}" != xset; then
if test x"${LANGUAGES+set}" = xset; then
enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
else
enable_languages=all
fi
else
if test x"${enable_languages}" = x; then
AC_MSG_ERROR([--enable-languages needs at least one argument])
fi
fi
subdirs=
for lang in ${srcdir}/*/config-lang.in ..
do
case $lang in
..) ;;
# The odd quoting in the next line works around
# an apparent bug in bash 1.12 on linux.
changequote(,)dnl
${srcdir}/[*]/config-lang.in) ;;
*)
lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
if test "x$lang_alias" = x
then
echo "$lang doesn't set \$language." 1>&2
exit 1
fi
if test x"${enable_languages}" = xall; then
add_this_lang=yes
else
case "${enable_languages}" in
${lang_alias} | "${lang_alias},"* | *",${lang_alias},"* | *",${lang_alias}" )
add_this_lang=yes
;;
* )
add_this_lang=no
;;
esac
fi
if test x"${add_this_lang}" = xyes; then
case $lang in
${srcdir}/ada/config-lang.in)
if test x$gnat = xyes ; then
subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
fi
;;
*)
subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
;;
esac
fi
;;
changequote([,])dnl
esac
done
# Make gthr-default.h if we have a thread file.
gthread_flags=
if test $thread_file != single; then
rm -f gthr-default.h
echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
gthread_flags=-DHAVE_GTHR_DEFAULT
fi
AC_SUBST(gthread_flags)
# Find out what GC implementation we want, or may, use.
AC_ARG_WITH(gc,
[ --with-gc={simple,page} Choose the garbage collection mechanism to use
with the compiler.],
[case "$withval" in
simple | page)
GGC=ggc-$withval
;;
*)
AC_MSG_ERROR([$withval is an invalid option to --with-gc])
;;
esac],
[if test $ac_cv_func_mmap_anywhere = yes \
|| test $ac_cv_func_valloc = yes; then
GGC=ggc-page
else
GGC=ggc-simple
fi])
AC_SUBST(GGC)
echo "Using $GGC for garbage collection."
# Build a new-abi (c++) system
AC_ARG_ENABLE(new-gxx-abi,
[ --enable-new-gxx-abi
select the new abi for g++. You must select an ABI
at configuration time, so that the correct runtime
support is built. You cannot mix ABIs.],
[AC_DEFINE(ENABLE_NEW_GXX_ABI, 1,
[Define if you want to always select the new-abi for g++.])
GXX_ABI_FLAG='-fnew-abi'
echo "Building a new-abi g++ compiler."
])
AC_SUBST(GXX_ABI_FLAG)
# Build a new-libstdc++ system (ie libstdc++-v3)
AC_MSG_CHECKING([for libstdc++ to install])
AC_ARG_ENABLE(libstdcxx-v3,
[ --enable-libstdcxx-v3
enable libstdc++-v3 for building and installation],
[enable_libstdcxx_v3=yes], [enable_libstdcxx_v3=no])
if test x$enable_libstdcxx_v3 = xyes; then
AC_MSG_RESULT(v3)
ac_esn=1
else
AC_MSG_RESULT(v2)
ac_esn=0
fi
AC_DEFINE_UNQUOTED(ENABLE_STD_NAMESPACE, $ac_esn,
[Define to 1 if you want to enable namespaces (-fhonor-std) by default.])
dnl Very limited version of automake's enable-maintainer-mode
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
dnl maintainer-mode is disabled by default
AC_ARG_ENABLE(maintainer-mode,
[ --enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer],
maintainer_mode=$enableval,
maintainer_mode=no)
AC_MSG_RESULT($maintainer_mode)
if test "$maintainer_mode" = "yes"; then
MAINT=''
else
MAINT='#'
fi
AC_SUBST(MAINT)dnl
# Make empty files to contain the specs and options for each language.
# Then add #include lines to for a compiler that has specs and/or options.
lang_specs_files=
lang_options_files=
lang_tree_files=
rm -f specs.h options.h gencheck.h
touch specs.h options.h gencheck.h
for subdir in . $subdirs
do
if test -f $srcdir/$subdir/lang-specs.h; then
echo "#include \"$subdir/lang-specs.h\"" >>specs.h
lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
fi
if test -f $srcdir/$subdir/lang-options.h; then
echo "#include \"$subdir/lang-options.h\"" >>options.h
lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
fi
if test -f $srcdir/$subdir/$subdir-tree.def; then
echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
fi
done
# These (without "all_") are set in each config-lang.in.
# `language' must be a single word so is spelled singularly.
all_languages=
all_boot_languages=
all_compilers=
all_stagestuff=
all_diff_excludes=
all_outputs='Makefile intl/Makefile po/Makefile.in fixinc/Makefile gccbug mklibgcc'
# List of language makefile fragments.
all_lang_makefiles=
all_headers=
all_lib2funcs=
# Add the language fragments.
# Languages are added via two mechanisms. Some information must be
# recorded in makefile variables, these are defined in config-lang.in.
# We accumulate them and plug them into the main Makefile.
# The other mechanism is a set of hooks for each of the main targets
# like `clean', `install', etc.
language_fragments="Make-lang"
language_hooks="Make-hooks"
oldstyle_subdirs=
for s in .. $subdirs
do
if test $s != ".."
then
language=
boot_language=
compilers=
stagestuff=
diff_excludes=
headers=
outputs=
lib2funcs=
. ${srcdir}/$s/config-lang.in
if test "x$language" = x
then
echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
exit 1
fi
all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
all_languages="$all_languages $language"
if test "x$boot_language" = xyes
then
all_boot_languages="$all_boot_languages $language"
fi
all_compilers="$all_compilers $compilers"
all_stagestuff="$all_stagestuff $stagestuff"
all_diff_excludes="$all_diff_excludes $diff_excludes"
all_headers="$all_headers $headers"
all_outputs="$all_outputs $outputs"
if test x$outputs = x
then
oldstyle_subdirs="$oldstyle_subdirs $s"
fi
all_lib2funcs="$all_lib2funcs $lib2funcs"
fi
done
# Since we can't use `::' targets, we link each language in
# with a set of hooks, reached indirectly via lang.${target}.
rm -f Make-hooks
touch Make-hooks
target_list="all.build all.cross start.encap rest.encap \
info dvi \
install-normal install-common install-info install-man \
uninstall distdir \
mostlyclean clean distclean extraclean maintainer-clean \
stage1 stage2 stage3 stage4"
for t in $target_list
do
x=
for lang in .. $all_languages
do
if test $lang != ".."; then
x="$x $lang.$t"
fi
done
echo "lang.$t: $x" >> Make-hooks
done
# If we're not building in srcdir, create .gdbinit.
if test ! -f Makefile.in; then
echo "dir ." > .gdbinit
echo "dir ${srcdir}" >> .gdbinit
if test x$gdb_needs_out_file_path = xyes
then
echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
fi
if test "x$subdirs" != x; then
for s in $subdirs
do
echo "dir ${srcdir}/$s" >> .gdbinit
done
fi
echo "source ${srcdir}/.gdbinit" >> .gdbinit
fi
# Define variables host_canonical and build_canonical
# because some Cygnus local changes in the Makefile depend on them.
build_canonical=${build}
host_canonical=${host}
target_subdir=
if test "${host}" != "${target}" ; then
target_subdir=${target}/
fi
AC_SUBST(build_canonical)
AC_SUBST(host_canonical)
AC_SUBST(target_subdir)
# If $(exec_prefix) exists and is not the same as $(prefix), then compute an
# absolute path for gcc_tooldir based on inserting the number of up-directory
# movements required to get from $(exec_prefix) to $(prefix) into the basic
# $(libsubdir)/@(unlibsubdir) based path.
# Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
# make and thus we'd get different behavior depending on where we built the
# sources.
if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
else
changequote(<<, >>)dnl
# An explanation of the sed strings:
# -e 's|^\$(prefix)||' matches and eliminates 'prefix' from 'exec_prefix'
# -e 's|/$||' match a trailing forward slash and eliminates it
# -e 's|^[^/]|/|' forces the string to start with a forward slash (*)
# -e 's|/[^/]*|../|g' replaces each occurance of /<directory> with ../
#
# (*) Note this pattern overwrites the first character of the string
# with a forward slash if one is not already present. This is not a
# problem because the exact names of the sub-directories concerned is
# unimportant, just the number of them matters.
#
# The practical upshot of these patterns is like this:
#
# prefix exec_prefix result
# ------ ----------- ------
# /foo /foo/bar ../
# /foo/ /foo/bar ../
# /foo /foo/bar/ ../
# /foo/ /foo/bar/ ../
# /foo /foo/bar/ugg ../../
#
dollar='$$'
gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
changequote([, ])dnl
fi
AC_SUBST(gcc_tooldir)
AC_SUBST(dollar)
# Nothing to do for FLOAT_H, float_format already handled.
objdir=`pwd`
AC_SUBST(objdir)
# Process the language and host/target makefile fragments.
${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
# Substitute configuration variables
AC_SUBST(subdirs)
AC_SUBST(all_boot_languages)
AC_SUBST(all_compilers)
AC_SUBST(all_diff_excludes)
AC_SUBST(all_headers)
AC_SUBST(all_lang_makefiles)
AC_SUBST(all_languages)
AC_SUBST(all_lib2funcs)
AC_SUBST(all_stagestuff)
AC_SUBST(build_exeext)
AC_SUBST(build_install_headers_dir)
AC_SUBST(build_xm_file_list)
AC_SUBST(cc_set_by_configure)
AC_SUBST(quoted_cc_set_by_configure)
AC_SUBST(cpp_install_dir)
AC_SUBST(dep_host_xmake_file)
AC_SUBST(dep_tmake_file)
AC_SUBST(extra_c_flags)
AC_SUBST(extra_c_objs)
AC_SUBST(extra_cpp_objs)
AC_SUBST(extra_cxx_objs)
AC_SUBST(extra_headers_list)
AC_SUBST(extra_objs)
AC_SUBST(extra_parts)
AC_SUBST(extra_passes)
AC_SUBST(extra_programs)
AC_SUBST(float_h_file)
AC_SUBST(gcc_gxx_include_dir)
AC_SUBST(gcc_version)
AC_SUBST(gcc_version_trigger)
AC_SUBST(host_exeext)
AC_SUBST(host_extra_gcc_objs)
AC_SUBST(host_xm_file_list)
AC_SUBST(install)
AC_SUBST(lang_options_files)
AC_SUBST(lang_specs_files)
AC_SUBST(lang_tree_files)
AC_SUBST(local_prefix)
AC_SUBST(maybe_use_collect2)
AC_SUBST(md_file)
AC_SUBST(objc_boehm_gc)
AC_SUBST(out_file)
AC_SUBST(out_object_file)
AC_SUBST(stage_prefix_set_by_configure)
AC_SUBST(symbolic_link)
AC_SUBST(thread_file)
AC_SUBST(tm_file_list)
AC_SUBST(will_use_collect2)
AC_SUBST_FILE(target_overrides)
AC_SUBST_FILE(host_overrides)
AC_SUBST(cross_defines)
AC_SUBST_FILE(cross_overrides)
AC_SUBST_FILE(build_overrides)
AC_SUBST_FILE(language_fragments)
AC_SUBST_FILE(language_hooks)
# Echo that links are built
if test x$host = x$target
then
str1="native "
else
str1="cross-"
str2=" from $host"
fi
if test x$host != x$build
then
str3=" on a $build system"
fi
if test "x$str2" != x || test "x$str3" != x
then
str4=
fi
echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
if test "x$str2" != x || test "x$str3" != x
then
echo " ${str2}${str3}." 1>&2
fi
# Truncate the target if necessary
if test x$host_truncate_target != x; then
target=`echo $target | sed -e 's/\(..............\).*/\1/'`
fi
# Configure the subdirectories
# AC_CONFIG_SUBDIRS($subdirs)
# Create the Makefile
# and configure language subdirectories
AC_OUTPUT($all_outputs,
[
. $srcdir/configure.lang
case x$CONFIG_HEADERS in
xauto-host.h:config.in)
echo > cstamp-h ;;
esac
# If the host supports symlinks, point stage[1234] at ../stage[1234] so
# bootstrapping and the installation procedure can still use
# CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
# FLAGS_TO_PASS has been modified to solve the problem there.
# This is virtually a duplicate of what happens in configure.lang; we do
# an extra check to make sure this only happens if ln -s can be used.
if test "$symbolic_link" = "ln -s"; then
for d in .. ${subdirs} ; do
if test $d != ..; then
STARTDIR=`pwd`
cd $d
for t in stage1 stage2 stage3 stage4 include
do
rm -f $t
$symbolic_link ../$t $t 2>/dev/null
done
cd $STARTDIR
fi
done
else true ; fi
# Avoid having to add intl to our include paths.
if test -f intl/libintl.h; then
echo creating libintl.h
echo '#include "intl/libintl.h"' >libintl.h
fi
],
[
host='${host}'
build='${build}'
target='${target}'
target_alias='${target_alias}'
srcdir='${srcdir}'
subdirs='${subdirs}'
oldstyle_subdirs='${oldstyle_subdirs}'
symbolic_link='${symbolic_link}'
program_transform_set='${program_transform_set}'
program_transform_name='${program_transform_name}'
dep_host_xmake_file='${dep_host_xmake_file}'
host_xmake_file='${host_xmake_file}'
dep_tmake_file='${dep_tmake_file}'
tmake_file='${tmake_file}'
thread_file='${thread_file}'
gcc_version='${gcc_version}'
gcc_version_trigger='${gcc_version_trigger}'
local_prefix='${local_prefix}'
build_install_headers_dir='${build_install_headers_dir}'
build_exeext='${build_exeext}'
host_exeext='${host_exeext}'
out_file='${out_file}'
gdb_needs_out_file_path='${gdb_needs_out_file_path}'
SET_MAKE='${SET_MAKE}'
target_list='${target_list}'
target_overrides='${target_overrides}'
host_overrides='${host_overrides}'
cross_defines='${cross_defines}'
cross_overrides='${cross_overrides}'
build_overrides='${build_overrides}'
cpp_install_dir='${cpp_install_dir}'
])