Commit 55380b08 by Nathanael Nerode

Reorganize, remove now-redundant tests.

From-SVN: r55154
parent 6bfa5aac
2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org> 2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Eliminate redundant tests. Reorganize.
2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.in: Eliminate last reference to LIBGCC1_TEST. * Makefile.in: Eliminate last reference to LIBGCC1_TEST.
2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org> 2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
......
...@@ -127,315 +127,6 @@ else ...@@ -127,315 +127,6 @@ else
is_cross_compiler=yes is_cross_compiler=yes
fi fi
# Work in distributions that contain no compiler tools, like Autoconf.
tentative_cc=""
if test -d ${srcdir}/config ; then
case "${host}" in
m68k-hp-hpux*)
# Avoid "too much defining" errors from HPUX compiler.
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hp300"
;;
m68k-apollo-sysv*)
tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
host_makefile_frag="config/mh-apollo68"
;;
m68k-apollo-bsd*)
#None of the Apollo compilers can compile gas or binutils. The preprocessor
# chokes on bfd, the compiler won't let you assign integers to enums, and
# other problems. Defining CC to gcc is a questionable way to say "don't use
# the apollo compiler" (the preferred version of GCC could be called cc,
# or whatever), but I'm not sure leaving CC as cc is any better...
#CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
tentative_cc=gcc
host_makefile_frag="config/mh-a68bsd"
;;
m88k-dg-dgux*)
tentative_cc="gcc -Wall -ansi -D__using_DGUX"
host_makefile_frag="config/mh-dgux"
;;
m88k-harris-cxux*)
# Under CX/UX, we want to tell the compiler to use ANSI mode.
tentative_cc="cc -Xa"
host_makefile_frag="config/mh-cxux"
;;
m88k-motorola-sysv*)
host_makefile_frag="config/mh-delta88"
;;
mips*-dec-ultrix*)
tentative_cc="cc -Wf,-XNg1000"
host_makefile_frag="config/mh-decstation"
;;
mips*-nec-sysv4*)
# The C compiler on NEC MIPS SVR4 needs bigger tables.
tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
host_makefile_frag="config/mh-necv4"
;;
mips*-sgi-irix6*)
host_makefile_frag="config/mh-irix6"
;;
mips*-sgi-irix5*)
host_makefile_frag="config/mh-irix5"
;;
mips*-sgi-irix4*)
# Tell compiler to use K&R C. We can't compile under the SGI Ansi
# environment. Also bump switch table size so that cp-parse will
# compile. Bump string length limit so linker builds.
tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
;;
mips*-sgi-irix3*)
host_makefile_frag="config/mh-sysv"
;;
mips*-*-sysv4*)
host_makefile_frag="config/mh-sysv4"
;;
mips*-*-sysv*)
# This is for a MIPS running RISC/os 4.52C.
# This is needed for GDB, but needs to be in the top-level make because
# if a library is compiled with the bsd headers and gets linked with the
# sysv system libraries all hell can break loose (e.g. a jmp_buf might be
# a different size).
# ptrace(2) apparently has problems in the BSD environment. No workaround is
# known except to select the sysv environment. Could we use /proc instead?
# These "sysv environments" and "bsd environments" often end up being a pain.
#
# This is not part of CFLAGS because perhaps not all C compilers have this
# option.
tentative_cc="cc -systype sysv"
host_makefile_frag="config/mh-riscos"
;;
i370-ibm-opened*)
tentative_cc="c89"
host_makefile_frag="config/mh-openedition"
;;
i[3456]86-*-sysv5*)
host_makefile_frag="config/mh-sysv5"
;;
i[3456]86-*-dgux*)
tentative_cc="gcc -Wall -ansi -D__using_DGUX"
host_makefile_frag="config/mh-dgux386"
;;
i[3456]86-ncr-sysv4.3*)
# The MetaWare compiler will generate a copyright message unless you
# turn it off by adding the -Hnocopyr flag.
tentative_cc="cc -Hnocopyr"
host_makefile_frag="config/mh-ncrsvr43"
;;
i[3456]86-ncr-sysv4*)
# for an NCR 3000 (i486/SVR4) system.
# The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
# This compiler not only emits obnoxious copyright messages every time
# you run it, but it chokes and dies on a whole bunch of GNU source
# files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
tentative_cc="/usr/ccs/ATT/cc"
host_makefile_frag="config/mh-ncr3000"
;;
i[3456]86-*-sco3.2v5*)
host_makefile_frag="config/mh-sysv"
;;
i[3456]86-*-sco*)
# The native C compiler botches some simple uses of const. Unfortunately,
# it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
tentative_cc="cc -Dconst="
host_makefile_frag="config/mh-sco"
;;
i[3456]86-*-udk*)
host_makefile_frag="config/mh-sysv5"
;;
i[3456]86-*-isc*)
host_makefile_frag="config/mh-sysv"
;;
i[3456]86-*-solaris2*)
host_makefile_frag="config/mh-sysv4"
;;
i[3456]86-*-aix*)
host_makefile_frag="config/mh-aix386"
;;
i[3456]86-*-msdosdjgpp*)
host_makefile_frag="config/mh-djgpp"
;;
*-cygwin*)
host_makefile_frag="config/mh-cygwin"
;;
*-mingw32*)
host_makefile_frag="config/mh-mingw32"
;;
*-interix*)
host_makefile_frag="config/mh-interix"
;;
vax-*-ultrix2*)
# The old BSD pcc isn't up to compiling parts of gdb so use gcc
tentative_cc=gcc
;;
*-*-solaris2*)
host_makefile_frag="config/mh-solaris"
;;
m68k-sun-sunos*)
# Sun's C compiler needs the -J flag to be able to compile cp-parse.c
# without overflowing the jump tables (-J says to use a 32 bit table)
tentative_cc="cc -J"
;;
*-hp-hpux[78]*)
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hpux8"
;;
*-hp-hpux*)
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hpux"
;;
*-*-hiux*)
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hpux"
;;
rs6000-*-lynxos*)
# /bin/cc is less than useful for our purposes. Always use GCC
tentative_cc="/usr/cygnus/progressive/bin/gcc"
host_makefile_frag="config/mh-lynxrs6k"
;;
*-*-lynxos*)
# /bin/cc is less than useful for our purposes. Always use GCC
tentative_cc="/bin/gcc"
;;
*-*-sysv4*)
host_makefile_frag="config/mh-sysv4"
;;
*-*-sysv*)
host_makefile_frag="config/mh-sysv"
;;
esac
fi
# If we aren't going to be using gcc, see if we can extract a definition
# of CC from the fragment.
# Actually, use the 'pre-extracted' version above.
if test -z "${CC}" && test "${build}" = "${host}" ; then
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
found=
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/gcc; then
found=yes
break
fi
done
IFS="$save_ifs"
if test -z "${found}" && test -n "${tentative_cc}" ; then
CC=$tentative_cc
fi
fi
# We default to --with-shared on platforms where -fpic is meaningless.
# Well, we don't yet, but we will.
if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then
case "${target}" in
alpha*-dec-osf*) enable_shared=yes ;;
alpha*-*-linux*) enable_shared=yes ;;
mips-sgi-irix5*) enable_shared=yes ;;
*) enable_shared=no ;;
esac
fi
# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
# them automatically.
case "${host}" in
hppa*64*-*-hpux11*)
withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
;;
esac
case "${enable_shared}" in
yes) shared=yes ;;
no) shared=no ;;
"") shared=no ;;
*) shared=yes ;;
esac
rm -f mh-frag
if test -n "${host_makefile_frag}" ; then
for f in ${host_makefile_frag}
do
cat ${srcdir}/$f >> mh-frag
done
host_makefile_frag=mh-frag
fi
case "${target}" in
v810*)
target_makefile_frag="${target_makefile_frag} config/mt-v810"
;;
i[3456]86-*-netware*)
target_makefile_frag="${target_makefile_frag} config/mt-netware"
;;
powerpc-*-netware*)
target_makefile_frag="${target_makefile_frag} config/mt-netware"
;;
alpha*-*-linux*)
target_makefile_frag="${target_makefile_frag} config/mt-linux"
target_makefile_frag="${target_makefile_frag} config/mt-alphaieee"
;;
alpha*-*-*)
target_makefile_frag="${target_makefile_frag} config/mt-alphaieee"
;;
*-*-linux*)
target_makefile_frag="${target_makefile_frag} config/mt-linux"
;;
*-*-aix4.[3456789]* | *-*-aix[56789].*)
target_makefile_frag="${target_makefile_frag} config/mt-aix43"
;;
mips*-*-pe | sh*-*-pe | *arm-wince-pe)
target_makefile_frag="${target_makefile_frag} config/mt-wince"
;;
esac
# If --enable-target-optspace always use -Os instead of -O2 to build
# the target libraries, similarly if it is not specified, use -Os
# on selected platforms.
case "${enable_target_optspace}:${target}" in
yes:*)
target_makefile_frag="${target_makefile_frag} config/mt-ospace"
;;
:d30v-*)
target_makefile_frag="${target_makefile_frag} config/mt-d30v"
;;
:m32r-* | :d10v-* | :fr30-*)
target_makefile_frag="${target_makefile_frag} config/mt-ospace"
;;
no:* | :*)
;;
*)
echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
;;
esac
skipdirs=
use_gnu_ld=
use_gnu_as=
# some tools are so dependent upon X11 that if we're not building with X,
# it's not even worth trying to configure, much less build, that tool.
case ${with_x} in
yes | "") # the default value for this tree is that X11 is available
;;
no)
skipdirs="${skipdirs} tk libgui"
;;
*)
echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2
;;
esac
# Some tools are only suitable for building in a "native" situation.
# Those are added when we have a host==target configuration. For cross
# toolchains, we add some directories that should only be useful in a
# cross-compiler.
case $is_cross_compiler in
no) skipdirs="${skipdirs} ${cross_only}" ;;
yes) skipdirs="${skipdirs} ${native_only}" ;;
esac
# We always want to use the same name for this directory, so that dejagnu # We always want to use the same name for this directory, so that dejagnu
# can reliably find it. # can reliably find it.
target_subdir=${target_alias} target_subdir=${target_alias}
...@@ -460,70 +151,42 @@ if test x"${build_alias}" != x"${host}" ; then ...@@ -460,70 +151,42 @@ if test x"${build_alias}" != x"${host}" ; then
fi fi
fi fi
copy_dirs= # Skipdirs are removed silently.
skipdirs=
# Noconfigdirs are removed loudly.
noconfigdirs=""
# Handle --with-headers=XXX. The contents of the named directory are use_gnu_ld=
# copied to $(tooldir)/sys-include. # Make sure we don't let GNU ld be added if we didn't want it.
if test x"${with_headers}" != x ; then if test x$with_gnu_ld = xno ; then
if test x${is_cross_compiler} = xno ; then use_gnu_ld=no
echo 1>&2 '***' --with-headers is only supported when cross compiling noconfigdirs="$noconfigdirs ld"
exit 1
fi
case "${exec_prefixoption}" in
"") x=${prefix} ;;
*) x=${exec_prefix} ;;
esac
copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
fi fi
# Handle --with-libs=XXX. Multiple directories are permitted. The use_gnu_as=
# contents are copied to $(tooldir)/lib. # Make sure we don't let GNU as be added if we didn't want it.
if test x"${with_libs}" != x ; then if test x$with_gnu_as = xno ; then
if test x${is_cross_compiler} = xno ; then use_gnu_as=no
echo 1>&2 '***' --with-libs is only supported when cross compiling noconfigdirs="$noconfigdirs gas"
exit 1
fi
# Copy the libraries in reverse order, so that files in the first named
# library override files in subsequent libraries.
case "${exec_prefixoption}" in
"") x=${prefix} ;;
*) x=${exec_prefix} ;;
esac
for l in ${with_libs}; do
copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
done
fi fi
# Handle ${copy_dirs} # some tools are so dependent upon X11 that if we're not building with X,
set fnord ${copy_dirs} # it's not even worth trying to configure, much less build, that tool.
shift
while test $# != 0 ; do
if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
:
else
echo Copying $1 to $2
# Use the install script to create the directory and all required
# parent directories.
if test -d $2 ; then
:
else
echo >config.temp
${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
fi
# Copy the directory, assuming we have tar. case ${with_x} in
# FIXME: Should we use B in the second tar? Not all systems support it. yes | "") ;; # the default value for this tree is that X11 is available
(cd $1; tar -cf - .) | (cd $2; tar -xpf -) no) skipdirs="${skipdirs} tk libgui" ;;
*) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
esac
# It is the responsibility of the user to correctly adjust all # Some tools are only suitable for building in a "native" situation.
# symlinks. If somebody can figure out how to handle them correctly # Remove these if host!=target. Similarly, some are only suitable
# here, feel free to add the code. # for cross toolchains; remove if host=target.
echo $1 > $2/COPIED case $is_cross_compiler in
fi no) skipdirs="${skipdirs} ${cross_only}" ;;
shift; shift yes) skipdirs="${skipdirs} ${native_only}" ;;
done esac
# If both --with-headers and --with-libs are specified, default to # If both --with-headers and --with-libs are specified, default to
# --without-newlib. # --without-newlib.
...@@ -539,35 +202,21 @@ case ${with_newlib} in ...@@ -539,35 +202,21 @@ case ${with_newlib} in
yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
esac esac
# Default to using --with-stabs for certain targets.
if test x${with_stabs} = x ; then
case "${target}" in
mips*-*-irix6*)
;;
mips*-*-* | alpha*-*-osf*)
with_stabs=yes;
withoptions="${withoptions} --with-stabs"
;;
esac
fi
# Configure extra directories which are host specific # Configure extra directories which are host specific
case "${host}" in case "${host}" in
i[3456]86-*-go32*) i[3456]86-*-go32*)
configdirs="$configdirs dosrel" ;; configdirs="$configdirs dosrel" ;;
i[3456]86-*-mingw32*) i[3456]86-*-mingw32*)
configdirs="$configdirs dosrel" ;; configdirs="$configdirs dosrel" ;;
*-cygwin*) *-cygwin*)
configdirs="$configdirs libtermcap dosrel" ;; configdirs="$configdirs libtermcap dosrel" ;;
esac esac
# Remove more programs from consideration, based on the host or # Remove more programs from consideration, based on the host or
# target this usually means that a port of the program doesn't # target this usually means that a port of the program doesn't
# exist yet. # exist yet.
noconfigdirs=""
case "${host}" in case "${host}" in
hppa*64*-*-*) hppa*64*-*-*)
noconfigdirs="$noconfigdirs byacc" noconfigdirs="$noconfigdirs byacc"
...@@ -1039,19 +688,7 @@ esac ...@@ -1039,19 +688,7 @@ esac
case "${noconfigdirs}" in case "${noconfigdirs}" in
*target-libgloss*) ;; *target-libgloss*) ;;
*target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;; *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
esac esac
# Make sure we don't let GNU ld be added if we didn't want it.
if test x$with_gnu_ld = xno ; then
use_gnu_ld=no
noconfigdirs="$noconfigdirs ld"
fi
# Make sure we don't let GNU as be added if we didn't want it.
if test x$with_gnu_as = xno ; then
use_gnu_as=no
noconfigdirs="$noconfigdirs gas"
fi
# Figure out what language subdirectories are present. # Figure out what language subdirectories are present.
# Look if the user specified --enable-languages="..."; if not, use # Look if the user specified --enable-languages="..."; if not, use
...@@ -1188,72 +825,413 @@ if test -n "${target_configdirs}" ; then ...@@ -1188,72 +825,413 @@ if test -n "${target_configdirs}" ; then
fi fi
fi fi
# Deconfigure all subdirectories, in case we are changing the # Deconfigure all subdirectories, in case we are changing the
# configuration from one where a subdirectory is supported to one where it # configuration from one where a subdirectory is supported to one where it
# is not. # is not.
if test -z "${norecursion}" && test -n "${configdirs}" ; then if test -z "${norecursion}" && test -n "${configdirs}" ; then
for i in `echo ${configdirs} | sed -e s/target-//g` ; do for i in `echo ${configdirs} | sed -e s/target-//g` ; do
rm -f $i/Makefile rm -f $i/Makefile
done
fi
if test -z "${norecursion}" && test -n "${target_configdirs}" ; then
for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
rm -f ${target_subdir}/$i/Makefile
done
fi
# Quietly strip out all directories which aren't configurable in this tree.
# This relies on all configurable subdirectories being autoconfiscated, which
# is now the case.
configdirs_all="$configdirs"
configdirs=
for i in ${configdirs_all} ; do
if test -f ${srcdir}/$i/configure ; then
configdirs="${configdirs} $i"
fi
done
target_configdirs_all="$target_configdirs"
target_configdirs=
for i in ${target_configdirs_all} ; do
j=`echo $i | sed -e s/target-//g`
if test -f ${srcdir}/$j/configure ; then
target_configdirs="${target_configdirs} $i"
fi
done
# Produce a warning message for the subdirs we can't configure.
# This isn't especially interesting in the Cygnus tree, but in the individual
# FSF releases, it's important to let people know when their machine isn't
# supported by the one or two programs in a package.
if test -n "${notsupp}" && test -z "${norecursion}" ; then
# If $appdirs is non-empty, at least one of those directories must still
# be configured, or we error out. (E.g., if the gas release supports a
# specified target in some subdirs but not the gas subdir, we shouldn't
# pretend that all is well.)
if test -n "$appdirs" ; then
for dir in $appdirs ; do
if test -r $dir/Makefile.in ; then
if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
appdirs=""
break
fi
if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
appdirs=""
break
fi
fi
done
if test -n "$appdirs" ; then
echo "*** This configuration is not supported by this package." 1>&2
exit 1
fi
fi
# Okay, some application will build, or we don't care to check. Still
# notify of subdirs not getting built.
echo "*** This configuration is not supported in the following subdirectories:" 1>&2
echo " ${notsupp}" 1>&2
echo " (Any other directories should still work fine.)" 1>&2
fi
case "$host" in
*msdosdjgpp*)
enable_gdbtk=no ;;
esac
# Determine whether gdb needs tk/tcl or not.
case "$enable_gdbtk" in
no)
GDB_TK="" ;;
*)
GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;;
esac
copy_dirs=
# Handle --with-headers=XXX. The contents of the named directory are
# copied to $(tooldir)/sys-include.
if test x"${with_headers}" != x ; then
if test x${is_cross_compiler} = xno ; then
echo 1>&2 '***' --with-headers is only supported when cross compiling
exit 1
fi
case "${exec_prefixoption}" in
"") x=${prefix} ;;
*) x=${exec_prefix} ;;
esac
copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
fi
# Handle --with-libs=XXX. Multiple directories are permitted. The
# contents are copied to $(tooldir)/lib.
if test x"${with_libs}" != x ; then
if test x${is_cross_compiler} = xno ; then
echo 1>&2 '***' --with-libs is only supported when cross compiling
exit 1
fi
# Copy the libraries in reverse order, so that files in the first named
# library override files in subsequent libraries.
case "${exec_prefixoption}" in
"") x=${prefix} ;;
*) x=${exec_prefix} ;;
esac
for l in ${with_libs}; do
copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
done
fi
# Handle ${copy_dirs}
set fnord ${copy_dirs}
shift
while test $# != 0 ; do
if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
:
else
echo Copying $1 to $2
# Use the install script to create the directory and all required
# parent directories.
if test -d $2 ; then
:
else
echo >config.temp
${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
fi
# Copy the directory, assuming we have tar.
# FIXME: Should we use B in the second tar? Not all systems support it.
(cd $1; tar -cf - .) | (cd $2; tar -xpf -)
# It is the responsibility of the user to correctly adjust all
# symlinks. If somebody can figure out how to handle them correctly
# here, feel free to add the code.
echo $1 > $2/COPIED
fi
shift; shift
done
# Work in distributions that contain no compiler tools, like Autoconf.
tentative_cc=""
if test -d ${srcdir}/config ; then
case "${host}" in
m68k-hp-hpux*)
# Avoid "too much defining" errors from HPUX compiler.
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hp300"
;;
m68k-apollo-sysv*)
tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
host_makefile_frag="config/mh-apollo68"
;;
m68k-apollo-bsd*)
#None of the Apollo compilers can compile gas or binutils. The preprocessor
# chokes on bfd, the compiler won't let you assign integers to enums, and
# other problems. Defining CC to gcc is a questionable way to say "don't use
# the apollo compiler" (the preferred version of GCC could be called cc,
# or whatever), but I'm not sure leaving CC as cc is any better...
#CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
tentative_cc=gcc
host_makefile_frag="config/mh-a68bsd"
;;
m88k-dg-dgux*)
tentative_cc="gcc -Wall -ansi -D__using_DGUX"
host_makefile_frag="config/mh-dgux"
;;
m88k-harris-cxux*)
# Under CX/UX, we want to tell the compiler to use ANSI mode.
tentative_cc="cc -Xa"
host_makefile_frag="config/mh-cxux"
;;
m88k-motorola-sysv*)
host_makefile_frag="config/mh-delta88"
;;
mips*-dec-ultrix*)
tentative_cc="cc -Wf,-XNg1000"
host_makefile_frag="config/mh-decstation"
;;
mips*-nec-sysv4*)
# The C compiler on NEC MIPS SVR4 needs bigger tables.
tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
host_makefile_frag="config/mh-necv4"
;;
mips*-sgi-irix6*)
host_makefile_frag="config/mh-irix6"
;;
mips*-sgi-irix5*)
host_makefile_frag="config/mh-irix5"
;;
mips*-sgi-irix4*)
# Tell compiler to use K&R C. We can't compile under the SGI Ansi
# environment. Also bump switch table size so that cp-parse will
# compile. Bump string length limit so linker builds.
tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
;;
mips*-sgi-irix3*)
host_makefile_frag="config/mh-sysv"
;;
mips*-*-sysv4*)
host_makefile_frag="config/mh-sysv4"
;;
mips*-*-sysv*)
# This is for a MIPS running RISC/os 4.52C.
# This is needed for GDB, but needs to be in the top-level make because
# if a library is compiled with the bsd headers and gets linked with the
# sysv system libraries all hell can break loose (e.g. a jmp_buf might be
# a different size).
# ptrace(2) apparently has problems in the BSD environment. No workaround is
# known except to select the sysv environment. Could we use /proc instead?
# These "sysv environments" and "bsd environments" often end up being a pain.
#
# This is not part of CFLAGS because perhaps not all C compilers have this
# option.
tentative_cc="cc -systype sysv"
host_makefile_frag="config/mh-riscos"
;;
i370-ibm-opened*)
tentative_cc="c89"
host_makefile_frag="config/mh-openedition"
;;
i[3456]86-*-sysv5*)
host_makefile_frag="config/mh-sysv5"
;;
i[3456]86-*-dgux*)
tentative_cc="gcc -Wall -ansi -D__using_DGUX"
host_makefile_frag="config/mh-dgux386"
;;
i[3456]86-ncr-sysv4.3*)
# The MetaWare compiler will generate a copyright message unless you
# turn it off by adding the -Hnocopyr flag.
tentative_cc="cc -Hnocopyr"
host_makefile_frag="config/mh-ncrsvr43"
;;
i[3456]86-ncr-sysv4*)
# for an NCR 3000 (i486/SVR4) system.
# The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
# This compiler not only emits obnoxious copyright messages every time
# you run it, but it chokes and dies on a whole bunch of GNU source
# files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
tentative_cc="/usr/ccs/ATT/cc"
host_makefile_frag="config/mh-ncr3000"
;;
i[3456]86-*-sco3.2v5*)
host_makefile_frag="config/mh-sysv"
;;
i[3456]86-*-sco*)
# The native C compiler botches some simple uses of const. Unfortunately,
# it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
tentative_cc="cc -Dconst="
host_makefile_frag="config/mh-sco"
;;
i[3456]86-*-udk*)
host_makefile_frag="config/mh-sysv5"
;;
i[3456]86-*-isc*)
host_makefile_frag="config/mh-sysv"
;;
i[3456]86-*-solaris2*)
host_makefile_frag="config/mh-sysv4"
;;
i[3456]86-*-aix*)
host_makefile_frag="config/mh-aix386"
;;
i[3456]86-*-msdosdjgpp*)
host_makefile_frag="config/mh-djgpp"
;;
*-cygwin*)
host_makefile_frag="config/mh-cygwin"
;;
*-mingw32*)
host_makefile_frag="config/mh-mingw32"
;;
*-interix*)
host_makefile_frag="config/mh-interix"
;;
vax-*-ultrix2*)
# The old BSD pcc isn't up to compiling parts of gdb so use gcc
tentative_cc=gcc
;;
*-*-solaris2*)
host_makefile_frag="config/mh-solaris"
;;
m68k-sun-sunos*)
# Sun's C compiler needs the -J flag to be able to compile cp-parse.c
# without overflowing the jump tables (-J says to use a 32 bit table)
tentative_cc="cc -J"
;;
*-hp-hpux[78]*)
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hpux8"
;;
*-hp-hpux*)
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hpux"
;;
*-*-hiux*)
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hpux"
;;
rs6000-*-lynxos*)
# /bin/cc is less than useful for our purposes. Always use GCC
tentative_cc="/usr/cygnus/progressive/bin/gcc"
host_makefile_frag="config/mh-lynxrs6k"
;;
*-*-lynxos*)
# /bin/cc is less than useful for our purposes. Always use GCC
tentative_cc="/bin/gcc"
;;
*-*-sysv4*)
host_makefile_frag="config/mh-sysv4"
;;
*-*-sysv*)
host_makefile_frag="config/mh-sysv"
;;
esac
fi
rm -f mh-frag
if test -n "${host_makefile_frag}" ; then
for f in ${host_makefile_frag}
do
cat ${srcdir}/$f >> mh-frag
done done
host_makefile_frag=mh-frag
fi fi
if test -z "${norecursion}" && test -n "${target_configdirs}" ; then
for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do # If we aren't going to be using gcc, see if we can extract a definition
rm -f ${target_subdir}/$i/Makefile # of CC from the fragment.
# Actually, use the 'pre-extracted' version above.
if test -z "${CC}" && test "${build}" = "${host}" ; then
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
found=
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/gcc; then
found=yes
break
fi
done done
IFS="$save_ifs"
if test -z "${found}" && test -n "${tentative_cc}" ; then
CC=$tentative_cc
fi
fi fi
# Quietly strip out all directories which aren't configurable in this tree. case "${target}" in
# This relies on all configurable subdirectories being autoconfiscated, which v810*)
# is now the case. target_makefile_frag="${target_makefile_frag} config/mt-v810"
configdirs_all="$configdirs" ;;
configdirs= i[3456]86-*-netware*)
for i in ${configdirs_all} ; do target_makefile_frag="${target_makefile_frag} config/mt-netware"
if test -f ${srcdir}/$i/configure ; then ;;
configdirs="${configdirs} $i" powerpc-*-netware*)
fi target_makefile_frag="${target_makefile_frag} config/mt-netware"
done ;;
target_configdirs_all="$target_configdirs" alpha*-*-linux*)
target_configdirs= target_makefile_frag="${target_makefile_frag} config/mt-linux"
for i in ${target_configdirs_all} ; do target_makefile_frag="${target_makefile_frag} config/mt-alphaieee"
j=`echo $i | sed -e s/target-//g` ;;
if test -f ${srcdir}/$j/configure ; then alpha*-*-*)
target_configdirs="${target_configdirs} $i" target_makefile_frag="${target_makefile_frag} config/mt-alphaieee"
fi ;;
done *-*-linux*)
target_makefile_frag="${target_makefile_frag} config/mt-linux"
;;
*-*-aix4.[3456789]* | *-*-aix[56789].*)
target_makefile_frag="${target_makefile_frag} config/mt-aix43"
;;
mips*-*-pe | sh*-*-pe | *arm-wince-pe)
target_makefile_frag="${target_makefile_frag} config/mt-wince"
;;
esac
# Produce a warning message for the subdirs we can't configure. # If --enable-target-optspace always use -Os instead of -O2 to build
# This isn't especially interesting in the Cygnus tree, but in the individual # the target libraries, similarly if it is not specified, use -Os
# FSF releases, it's important to let people know when their machine isn't # on selected platforms.
# supported by the one or two programs in a package. case "${enable_target_optspace}:${target}" in
yes:*)
target_makefile_frag="${target_makefile_frag} config/mt-ospace"
;;
:d30v-*)
target_makefile_frag="${target_makefile_frag} config/mt-d30v"
;;
:m32r-* | :d10v-* | :fr30-*)
target_makefile_frag="${target_makefile_frag} config/mt-ospace"
;;
no:* | :*)
;;
*)
echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
;;
esac
if test -n "${notsupp}" && test -z "${norecursion}" ; then rm -f mt-frag
# If $appdirs is non-empty, at least one of those directories must still if test -n "${target_makefile_frag}" ; then
# be configured, or we error out. (E.g., if the gas release supports a for f in ${target_makefile_frag}
# specified target in some subdirs but not the gas subdir, we shouldn't do
# pretend that all is well.) cat ${srcdir}/$f >> mt-frag
if test -n "$appdirs" ; then done
for dir in $appdirs ; do target_makefile_frag=mt-frag
if test -r $dir/Makefile.in ; then
if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
appdirs=""
break
fi
if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
appdirs=""
break
fi
fi
done
if test -n "$appdirs" ; then
echo "*** This configuration is not supported by this package." 1>&2
exit 1
fi
fi
# Okay, some application will build, or we don't care to check. Still
# notify of subdirs not getting built.
echo "*** This configuration is not supported in the following subdirectories:" 1>&2
echo " ${notsupp}" 1>&2
echo " (Any other directories should still work fine.)" 1>&2
fi fi
# Set with_gnu_as and with_gnu_ld as appropriate. # Set with_gnu_as and with_gnu_ld as appropriate.
...@@ -1269,47 +1247,63 @@ fi ...@@ -1269,47 +1247,63 @@ fi
# want to do that, then you should use the --without-gnu-as and # want to do that, then you should use the --without-gnu-as and
# --without-gnu-ld options for the configure script. # --without-gnu-ld options for the configure script.
if test x${use_gnu_as} = x ; then if test x${use_gnu_as} = x &&
if test x${with_gnu_as} != xno && echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 && test -d ${srcdir}/gas ; then echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
with_gnu_as=yes with_gnu_as=yes
withoptions="$withoptions --with-gnu-as" withoptions="$withoptions --with-gnu-as"
fi
fi fi
if test x${use_gnu_ld} = x ; then if test x${use_gnu_ld} = x &&
if test x${with_gnu_ld} != xno && echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 && test -d ${srcdir}/ld ; then echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
with_gnu_ld=yes with_gnu_ld=yes
withoptions="$withoptions --with-gnu-ld" withoptions="$withoptions --with-gnu-ld"
fi
fi fi
# If using newlib, add --with-newlib to the withoptions so that gcc/configure # If using newlib, add --with-newlib to the withoptions so that gcc/configure
# can detect this case. # can detect this case.
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
with_newlib=yes with_newlib=yes
withoptions="$withoptions --with-newlib" withoptions="$withoptions --with-newlib"
fi fi
rm -f mt-frag # We default to --with-shared on platforms where -fpic is meaningless.
if test -n "${target_makefile_frag}" ; then # Well, we don't yet, but we will.
for f in ${target_makefile_frag} if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then
do case "${target}" in
cat ${srcdir}/$f >> mt-frag alpha*-dec-osf*) enable_shared=yes ;;
done alpha*-*-linux*) enable_shared=yes ;;
target_makefile_frag=mt-frag mips-sgi-irix5*) enable_shared=yes ;;
*) enable_shared=no ;;
esac
fi fi
case "$host" in case "${enable_shared}" in
*msdosdjgpp*) yes) shared=yes ;;
enable_gdbtk=no ;; no) shared=no ;;
"") shared=no ;;
*) shared=yes ;;
esac esac
# Determine whether gdb needs tk/tcl or not.
case "$enable_gdbtk" in
no) # Default to using --with-stabs for certain targets.
GDB_TK="" ;; if test x${with_stabs} = x ; then
*) case "${target}" in
GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;; mips*-*-irix6*)
;;
mips*-*-* | alpha*-*-osf*)
with_stabs=yes;
withoptions="${withoptions} --with-stabs"
;;
esac
fi
# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
# them automatically.
case "${host}" in
hppa*64*-*-hpux11*)
withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
;;
esac esac
# post-target: # post-target:
...@@ -1520,8 +1514,7 @@ if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then ...@@ -1520,8 +1514,7 @@ if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
fi fi
if test "x${use_gnu_ld}" = x && test "x${with_gnu_ld}" != xno && if test "x${use_gnu_ld}" = x && test "x${with_gnu_ld}" != xno &&
echo " ${configdirs} " | grep " ld " > /dev/null && echo " ${configdirs} " | grep " ld " > /dev/null ; then
test -d ${srcdir}/ld; then
# Arrange for us to find uninstalled linker scripts. # Arrange for us to find uninstalled linker scripts.
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld' FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
fi fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment