mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
(top level)
2004-03-11 Nathanael Nerode <neroden@gcc.gnu.org> * configure: Regenerate. 2004-03-08 Paolo Bonzini <bonzini@gnu.org> PR ada/14131 Move language detection to the top level. * configure.in: Find default values for the tools as soon as possible. Disable ada if GNAT is not found. Emit error message about missing languages. Expand --enable-languages=all for the gcc subdirectory. (config) 2004-03-08 Paolo Bonzini <bonzini@gnu.org> PR ada/14131 Move language detection to the top level. * acx.m4 (ACX_PROG_GNAT): New macro, moved here from the gcc subdirectory. 2004-03-09 Hans-Peter Nilsson <hp@axis.com> * accross.m4 (AC_C_BIGENDIAN_CROSS): Compile endian probe with "-c". Properly quote parameter for AC_MSG_ERROR.
This commit is contained in:
parent
3992ae8ddd
commit
9e07f89d62
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
2004-03-11 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2004-03-08 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR ada/14131
|
||||
Move language detection to the top level.
|
||||
* configure.in: Find default values for the tools as
|
||||
soon as possible. Disable ada if GNAT is not found.
|
||||
Emit error message about missing languages. Expand
|
||||
--enable-languages=all for the gcc subdirectory.
|
||||
|
||||
2004-03-01 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* configure.in (mips64*-*-linux*): Override mips*-*-linux* case
|
||||
|
@ -1,3 +1,15 @@
|
||||
2004-03-08 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR ada/14131
|
||||
Move language detection to the top level.
|
||||
* acx.m4 (ACX_PROG_GNAT): New macro, moved here
|
||||
from the gcc subdirectory.
|
||||
|
||||
2004-03-09 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* accross.m4 (AC_C_BIGENDIAN_CROSS): Compile endian probe with
|
||||
"-c". Properly quote parameter for AC_MSG_ERROR.
|
||||
|
||||
2004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
|
||||
|
||||
* acinclude.m4: Quote names of macros to be defined by AC_DEFUN
|
||||
|
@ -64,7 +64,7 @@ void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
|
||||
int main() { _ascii (); _ebcdic (); return 0; }
|
||||
EOF
|
||||
] if test -f conftest.c ; then
|
||||
if ${CC-cc} ${CFLAGS} conftest.c -o conftest.o && test -f conftest.o ; then
|
||||
if ${CC-cc} ${CFLAGS} -c conftest.c -o conftest.o && test -f conftest.o ; then
|
||||
if test `grep -l BIGenDianSyS conftest.o` ; then
|
||||
echo $ac_n ' big endian probe OK, ' 1>&AC_FD_MSG
|
||||
ac_cv_c_bigendian=yes
|
||||
@ -93,6 +93,6 @@ else
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(BYTEORDER, $BYTEORDER, [1234 = LIL_ENDIAN, 4321 = BIGENDIAN])
|
||||
if test $ac_cv_c_bigendian = unknown; then
|
||||
AC_MSG_ERROR(unknown endianess - sorry, please pre-set ac_cv_c_bigendian)
|
||||
AC_MSG_ERROR([unknown endianess - sorry, please pre-set ac_cv_c_bigendian])
|
||||
fi
|
||||
])
|
||||
|
@ -155,3 +155,38 @@ AC_DEFUN([AC_PROG_CPP_WERROR],
|
||||
[AC_REQUIRE([AC_PROG_CPP])dnl
|
||||
m4_define([AC_CHECK_HEADER],m4_defn([_AC_CHECK_HEADER_OLD]))
|
||||
ac_c_preproc_warn_flag=yes])# AC_PROG_CPP_WERROR
|
||||
|
||||
# Test for GNAT.
|
||||
# We require the gnatbind program, and a compiler driver that
|
||||
# understands Ada. We use the user's CC setting, already found.
|
||||
#
|
||||
# Sets the shell variable have_gnat to yes or no as appropriate, and
|
||||
# substitutes GNATBIND.
|
||||
AC_DEFUN([ACX_PROG_GNAT],
|
||||
[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_CHECK_TOOL(GNATBIND, gnatbind, no)
|
||||
AC_CACHE_CHECK([whether compiler driver understands Ada],
|
||||
acx_cv_cc_gcc_supports_ada,
|
||||
[cat >conftest.adb <<EOF
|
||||
procedure conftest is begin null; end conftest;
|
||||
EOF
|
||||
acx_cv_cc_gcc_supports_ada=no
|
||||
# There is a bug in old released versions of GCC which causes the
|
||||
# driver to exit successfully when the appropriate language module
|
||||
# has not been installed. This is fixed in 2.95.4, 3.0.2, and 3.1.
|
||||
# Therefore we must check for the error message as well as an
|
||||
# unsuccessful exit.
|
||||
errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
|
||||
if test x"$errors" = x; then
|
||||
acx_cv_cc_gcc_supports_ada=yes
|
||||
break
|
||||
fi
|
||||
rm -f conftest.*])
|
||||
|
||||
if test x$GNATBIND != xno && test x$acx_cv_gcc_supports_ada != xno; then
|
||||
have_gnat=yes
|
||||
else
|
||||
have_gnat=no
|
||||
fi
|
||||
])
|
||||
|
834
configure.in
834
configure.in
@ -747,97 +747,448 @@ case "${noconfigdirs}" in
|
||||
*target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
|
||||
esac
|
||||
|
||||
# Work in distributions that contain no compiler tools, like Autoconf.
|
||||
tentative_cc=""
|
||||
host_makefile_frag=/dev/null
|
||||
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"
|
||||
# If "ar" in $PATH is GNU ar, the symbol table may need rebuilding.
|
||||
# If it's HP/UX ar, this should be harmless.
|
||||
RANLIB="ar ts"
|
||||
;;
|
||||
m68k-apollo-sysv*)
|
||||
tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
|
||||
;;
|
||||
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
|
||||
# Used to have BISON=yacc.
|
||||
tentative_cc=gcc
|
||||
;;
|
||||
m88k-dg-dgux*)
|
||||
tentative_cc="gcc -Wall -ansi -D__using_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*)
|
||||
;;
|
||||
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-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*-*-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"
|
||||
;;
|
||||
i370-ibm-opened*)
|
||||
tentative_cc="c89"
|
||||
;;
|
||||
i[[3456789]]86-*-sysv5*)
|
||||
host_makefile_frag="config/mh-sysv5"
|
||||
;;
|
||||
i[[3456789]]86-*-dgux*)
|
||||
tentative_cc="gcc -Wall -ansi -D__using_DGUX"
|
||||
host_makefile_frag="config/mh-dgux386"
|
||||
;;
|
||||
i[[3456789]]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"
|
||||
;;
|
||||
i[[3456789]]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[[3456789]]86-*-sco3.2v5*)
|
||||
;;
|
||||
i[[3456789]]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[[3456789]]86-*-udk*)
|
||||
host_makefile_frag="config/mh-sysv5"
|
||||
;;
|
||||
i[[3456789]]86-*-solaris2*)
|
||||
host_makefile_frag="config/mh-sysv4"
|
||||
;;
|
||||
i[[3456789]]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*)
|
||||
tentative_cc="cc -Wp,-H256000"
|
||||
;;
|
||||
*-*-hiux*)
|
||||
tentative_cc="cc -Wp,-H256000"
|
||||
;;
|
||||
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"
|
||||
;;
|
||||
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
|
||||
|
||||
if test "${build}" != "${host}" ; then
|
||||
# If we are doing a Canadian Cross, in which the host and build systems
|
||||
# are not the same, we set reasonable default values for the tools.
|
||||
|
||||
BISON=${BISON-bison}
|
||||
CC=${CC-${host_alias}-gcc}
|
||||
CFLAGS=${CFLAGS-"-g -O2"}
|
||||
CXX=${CXX-${host_alias}-c++}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
|
||||
CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
|
||||
CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
|
||||
GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
|
||||
GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
|
||||
BUILD_PREFIX=${build_alias}-
|
||||
BUILD_PREFIX_1=${build_alias}-
|
||||
MAKEINFO=${MAKEINFO-makeinfo}
|
||||
|
||||
if test -z "${YACC}" ; then
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH; do
|
||||
test -z "$dir" && dir=.
|
||||
if test -f $dir/bison; then
|
||||
YACC="bison -y"
|
||||
break
|
||||
fi
|
||||
if test -f $dir/byacc; then
|
||||
YACC=byacc
|
||||
break
|
||||
fi
|
||||
if test -f $dir/yacc; then
|
||||
YACC=yacc
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
if test -z "${YACC}" ; then
|
||||
YACC="bison -y"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -z "${LEX}" ; then
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH; do
|
||||
test -z "$dir" && dir=.
|
||||
if test -f $dir/flex; then
|
||||
LEX=flex
|
||||
break
|
||||
fi
|
||||
if test -f $dir/lex; then
|
||||
LEX=lex
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
LEX=${LEX-flex}
|
||||
fi
|
||||
|
||||
else
|
||||
# Set reasonable default values for some tools even if not Canadian.
|
||||
# Of course, these are different reasonable default values, originally
|
||||
# specified directly in the Makefile.
|
||||
# We don't export, so that autoconf can do its job.
|
||||
# Note that all these settings are above the fragment inclusion point
|
||||
# in Makefile.in, so can still be overridden by fragments.
|
||||
# This is all going to change when we autoconfiscate...
|
||||
|
||||
BISON="\$(USUAL_BISON)"
|
||||
CC_FOR_BUILD="\$(CC)"
|
||||
GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
|
||||
BUILD_PREFIX=
|
||||
BUILD_PREFIX_1=loser-
|
||||
MAKEINFO="\$(USUAL_MAKEINFO)"
|
||||
LEX="\$(USUAL_LEX)"
|
||||
YACC="\$(USUAL_YACC)"
|
||||
|
||||
# If CC is still not set, try to get gcc.
|
||||
cc_prog_is_gcc=
|
||||
if test -z "${CC}" ; then
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH; do
|
||||
test -z "$dir" && dir=.
|
||||
if test -f $dir/gcc; then
|
||||
CC="gcc"
|
||||
cc_prog_is_gcc=yes
|
||||
echo 'void f(){}' > conftest.c
|
||||
if test -z "`${CC} -g -c conftest.c 2>&1`"; then
|
||||
CFLAGS=${CFLAGS-"-g -O2"}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
else
|
||||
CFLAGS=${CFLAGS-"-O2"}
|
||||
CXXFLAGS=${CXXFLAGS-"-O2"}
|
||||
fi
|
||||
rm -f conftest*
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
CC=${CC-cc}
|
||||
else
|
||||
# Determine if we are using gcc.
|
||||
cat > conftest.c <<EOF
|
||||
#ifdef __GNUC__
|
||||
yes;
|
||||
#endif
|
||||
EOF
|
||||
if ${CC} -E conftest.c | grep yes >/dev/null 2>&1; then
|
||||
cc_prog_is_gcc=yes
|
||||
fi
|
||||
rm -f conftest.c
|
||||
if test -z "${CFLAGS}"; then
|
||||
# Here CC is set but CFLAGS is not. Use a quick hack to use -O2 if CC
|
||||
# is set to a version of gcc.
|
||||
if test "$cc_prog_is_gcc" = yes; then
|
||||
echo 'void f(){}' > conftest.c
|
||||
if test -z "`${CC} -g -c conftest.c 2>&1`"; then
|
||||
CFLAGS=${CFLAGS-"-g -O2"}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
else
|
||||
CFLAGS=${CFLAGS-"-O2"}
|
||||
CXXFLAGS=${CXXFLAGS-"-O2"}
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# We must set the default linker to the linker used by gcc for the correct
|
||||
# operation of libtool. If LD is not defined and we are using gcc, try to
|
||||
# set the LD default to the ld used by gcc.
|
||||
if test -z "$LD"; then
|
||||
if test "$cc_prog_is_gcc" = yes; then
|
||||
case $build in
|
||||
*-*-mingw*)
|
||||
gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
|
||||
*)
|
||||
gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
|
||||
esac
|
||||
case $gcc_prog_ld in
|
||||
# Accept absolute paths.
|
||||
[[\\/]* | [A-Za-z]:[\\/]*)]
|
||||
LD="$gcc_prog_ld" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
CXX=${CXX-"c++"}
|
||||
CFLAGS=${CFLAGS-"-g"}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
fi
|
||||
|
||||
ACX_PROG_GNAT
|
||||
|
||||
# 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.
|
||||
# NB: embedded tabs in this IF block -- do not untabify
|
||||
if test x"${enable_languages+set}" != xset; then
|
||||
if test x"${LANGUAGES+set}" = xset; then
|
||||
enable_languages="${LANGUAGES}"
|
||||
echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
|
||||
if test -d ${srcdir}/gcc; then
|
||||
if test x"${enable_languages+set}" != xset; then
|
||||
if test x"${LANGUAGES+set}" = xset; then
|
||||
enable_languages="${LANGUAGES}"
|
||||
echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
|
||||
else
|
||||
enable_languages=all
|
||||
fi
|
||||
else
|
||||
enable_languages=all
|
||||
if test x"${enable_languages}" = x ||
|
||||
test x"${enable_languages}" = xyes;
|
||||
then
|
||||
echo configure.in: --enable-languages needs at least one language argument 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test x"${enable_languages}" = x ||
|
||||
test x"${enable_languages}" = xyes;
|
||||
then
|
||||
echo configure.in: --enable-languages needs at least one language argument 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
|
||||
enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
|
||||
|
||||
# First scan to see if an enabled language requires some other language.
|
||||
# We assume that a given config-lang.in will list all the language
|
||||
# front ends it requires, even if some are required indirectly.
|
||||
for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
|
||||
case ${lang_frag} in
|
||||
..) ;;
|
||||
# The odd quoting in the next line works around
|
||||
# an apparent bug in bash 1.12 on linux.
|
||||
${srcdir}/gcc/[[*]]/config-lang.in) ;;
|
||||
*)
|
||||
# From the config-lang.in, get $language, $lang_requires
|
||||
language=
|
||||
lang_requires=
|
||||
. ${lang_frag}
|
||||
for other in ${lang_requires} ; do
|
||||
case ,${enable_languages}, in
|
||||
*,$other,*) ;;
|
||||
*,all,*) ;;
|
||||
*,$language,*)
|
||||
echo " \`$other' language required by \`$language'; enabling" 1>&2
|
||||
enable_languages="${enable_languages},${other}"
|
||||
# First scan to see if an enabled language requires some other language.
|
||||
# We assume that a given config-lang.in will list all the language
|
||||
# front ends it requires, even if some are required indirectly.
|
||||
for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
|
||||
case ${lang_frag} in
|
||||
..) ;;
|
||||
# The odd quoting in the next line works around
|
||||
# an apparent bug in bash 1.12 on linux.
|
||||
${srcdir}/gcc/[[*]]/config-lang.in) ;;
|
||||
*)
|
||||
# From the config-lang.in, get $language, $lang_requires
|
||||
language=
|
||||
lang_requires=
|
||||
. ${lang_frag}
|
||||
for other in ${lang_requires} ; do
|
||||
case ,${enable_languages}, in
|
||||
*,$other,*) ;;
|
||||
*,all,*) ;;
|
||||
*,$language,*)
|
||||
echo " \`$other' language required by \`$language'; enabling" 1>&2
|
||||
enable_languages="${enable_languages},${other}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
new_enable_languages=c
|
||||
missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
|
||||
|
||||
for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
|
||||
case ${lang_frag} in
|
||||
..) ;;
|
||||
# The odd quoting in the next line works around
|
||||
# an apparent bug in bash 1.12 on linux.
|
||||
${srcdir}/gcc/[[*]]/config-lang.in) ;;
|
||||
*)
|
||||
# From the config-lang.in, get $language, $target_libs,
|
||||
# $lang_dirs, and $build_by_default
|
||||
language=
|
||||
target_libs=
|
||||
lang_dirs=
|
||||
build_by_default=
|
||||
. ${lang_frag}
|
||||
# This is quite sensitive to the ordering of the case statement arms.
|
||||
case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in
|
||||
*::*:*)
|
||||
echo "${lang_frag} doesn't set \$language." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done
|
||||
*:ada:no:*)
|
||||
# Ada was requested with no preexisting GNAT. Disable unconditionally.
|
||||
add_this_lang=no
|
||||
;;
|
||||
*,${language},*:*:*:*)
|
||||
# Language was explicitly selected; include it.
|
||||
add_this_lang=yes
|
||||
;;
|
||||
*,all,*:*:*:no)
|
||||
# 'all' was selected, but this is not a default language
|
||||
# so do not include it.
|
||||
add_this_lang=no
|
||||
;;
|
||||
*,all,*:*:*:*)
|
||||
# 'all' was selected and this is a default language; include it.
|
||||
add_this_lang=yes
|
||||
;;
|
||||
*)
|
||||
add_this_lang=no
|
||||
;;
|
||||
esac
|
||||
case $add_this_lang in
|
||||
no)
|
||||
# Remove language-dependent dirs.
|
||||
eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\" ;;
|
||||
*)
|
||||
new_enable_languages="$new_enable_languages,$language"
|
||||
missing_languages="`echo "$missing_languages" | sed "s/,$language,/,/"`" ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
|
||||
case ${lang_frag} in
|
||||
..) ;;
|
||||
# The odd quoting in the next line works around
|
||||
# an apparent bug in bash 1.12 on linux.
|
||||
${srcdir}/gcc/[[*]]/config-lang.in) ;;
|
||||
*)
|
||||
# From the config-lang.in, get $language, $target_libs,
|
||||
# $lang_dirs, and $build_by_default
|
||||
language=
|
||||
target_libs=
|
||||
lang_dirs=
|
||||
build_by_default=
|
||||
. ${lang_frag}
|
||||
if test "x$language" = x ; then
|
||||
echo "${lang_frag} doesn't set \$language." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
case ,${enable_languages}, in
|
||||
*,${language},*)
|
||||
# Language was explicitly selected; include it.
|
||||
add_this_lang=yes
|
||||
;;
|
||||
*,all,*)
|
||||
# 'all' was selected; include 'default' languages.
|
||||
case ${build_by_default} in
|
||||
no) add_this_lang=no ;;
|
||||
*) add_this_lang=yes ;;
|
||||
esac
|
||||
;;
|
||||
*) add_this_lang=no ;;
|
||||
esac
|
||||
case ${add_this_lang} in
|
||||
no)
|
||||
# Remove language-dependent dirs.
|
||||
eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
done
|
||||
missing_languages="`echo "$missing_languages" | sed -e s/^,// -e s/,$//`"
|
||||
if test "x$missing_languages" != x; then
|
||||
AC_MSG_ERROR([
|
||||
The following requested languages were not found: ${missing_languages}])
|
||||
fi
|
||||
|
||||
if test "x$new_enable_languages" != "x$enable_languages"; then
|
||||
echo The following languages will be built: ${new_enable_languages}
|
||||
fi
|
||||
enable_languages="$new_enable_languages"
|
||||
ac_configure_args="`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[[^ ]]*//' -e 's/$/ --enable-languages='"$enable_languages"/ `"
|
||||
fi
|
||||
|
||||
# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
|
||||
# $target_configdirs.
|
||||
@ -1014,157 +1365,6 @@ while test $# != 0 ; do
|
||||
shift; shift
|
||||
done
|
||||
|
||||
# Work in distributions that contain no compiler tools, like Autoconf.
|
||||
tentative_cc=""
|
||||
host_makefile_frag=/dev/null
|
||||
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"
|
||||
# If "ar" in $PATH is GNU ar, the symbol table may need rebuilding.
|
||||
# If it's HP/UX ar, this should be harmless.
|
||||
RANLIB="ar ts"
|
||||
;;
|
||||
m68k-apollo-sysv*)
|
||||
tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
|
||||
;;
|
||||
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
|
||||
# Used to have BISON=yacc.
|
||||
tentative_cc=gcc
|
||||
;;
|
||||
m88k-dg-dgux*)
|
||||
tentative_cc="gcc -Wall -ansi -D__using_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*)
|
||||
;;
|
||||
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-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*-*-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"
|
||||
;;
|
||||
i370-ibm-opened*)
|
||||
tentative_cc="c89"
|
||||
;;
|
||||
i[[3456789]]86-*-sysv5*)
|
||||
host_makefile_frag="config/mh-sysv5"
|
||||
;;
|
||||
i[[3456789]]86-*-dgux*)
|
||||
tentative_cc="gcc -Wall -ansi -D__using_DGUX"
|
||||
host_makefile_frag="config/mh-dgux386"
|
||||
;;
|
||||
i[[3456789]]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"
|
||||
;;
|
||||
i[[3456789]]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[[3456789]]86-*-sco3.2v5*)
|
||||
;;
|
||||
i[[3456789]]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[[3456789]]86-*-udk*)
|
||||
host_makefile_frag="config/mh-sysv5"
|
||||
;;
|
||||
i[[3456789]]86-*-solaris2*)
|
||||
host_makefile_frag="config/mh-sysv4"
|
||||
;;
|
||||
i[[3456789]]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*)
|
||||
tentative_cc="cc -Wp,-H256000"
|
||||
;;
|
||||
*-*-hiux*)
|
||||
tentative_cc="cc -Wp,-H256000"
|
||||
;;
|
||||
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"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
extra_arflags_for_target=
|
||||
extra_nmflags_for_target=
|
||||
extra_ranlibflags_for_target=
|
||||
@ -1279,25 +1479,6 @@ case "${host}" in
|
||||
;;
|
||||
esac
|
||||
|
||||
# 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
|
||||
|
||||
# Some systems (e.g., one of the i386-aix systems the gas testers are
|
||||
# using) don't handle "\$" correctly, so don't use it here.
|
||||
tooldir='${exec_prefix}'/${target_alias}
|
||||
@ -1360,157 +1541,6 @@ do
|
||||
test -n "$DEFAULT_LEX" && break
|
||||
done
|
||||
|
||||
if test "${build}" != "${host}" ; then
|
||||
# If we are doing a Canadian Cross, in which the host and build systems
|
||||
# are not the same, we set reasonable default values for the tools.
|
||||
|
||||
BISON=${BISON-bison}
|
||||
CC=${CC-${host_alias}-gcc}
|
||||
CFLAGS=${CFLAGS-"-g -O2"}
|
||||
CXX=${CXX-${host_alias}-c++}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
|
||||
CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
|
||||
CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
|
||||
GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
|
||||
GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
|
||||
BUILD_PREFIX=${build_alias}-
|
||||
BUILD_PREFIX_1=${build_alias}-
|
||||
MAKEINFO=${MAKEINFO-makeinfo}
|
||||
|
||||
if test -z "${YACC}" ; then
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH; do
|
||||
test -z "$dir" && dir=.
|
||||
if test -f $dir/bison; then
|
||||
YACC="bison -y"
|
||||
break
|
||||
fi
|
||||
if test -f $dir/byacc; then
|
||||
YACC=byacc
|
||||
break
|
||||
fi
|
||||
if test -f $dir/yacc; then
|
||||
YACC=yacc
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
if test -z "${YACC}" ; then
|
||||
YACC="bison -y"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -z "${LEX}" ; then
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH; do
|
||||
test -z "$dir" && dir=.
|
||||
if test -f $dir/flex; then
|
||||
LEX=flex
|
||||
break
|
||||
fi
|
||||
if test -f $dir/lex; then
|
||||
LEX=lex
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
LEX=${LEX-flex}
|
||||
fi
|
||||
|
||||
else
|
||||
# Set reasonable default values for some tools even if not Canadian.
|
||||
# Of course, these are different reasonable default values, originally
|
||||
# specified directly in the Makefile.
|
||||
# We don't export, so that autoconf can do its job.
|
||||
# Note that all these settings are above the fragment inclusion point
|
||||
# in Makefile.in, so can still be overridden by fragments.
|
||||
# This is all going to change when we autoconfiscate...
|
||||
|
||||
BISON="\$(USUAL_BISON)"
|
||||
CC_FOR_BUILD="\$(CC)"
|
||||
GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
|
||||
BUILD_PREFIX=
|
||||
BUILD_PREFIX_1=loser-
|
||||
MAKEINFO="\$(USUAL_MAKEINFO)"
|
||||
LEX="\$(USUAL_LEX)"
|
||||
YACC="\$(USUAL_YACC)"
|
||||
|
||||
# If CC is still not set, try to get gcc.
|
||||
cc_prog_is_gcc=
|
||||
if test -z "${CC}" ; then
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH; do
|
||||
test -z "$dir" && dir=.
|
||||
if test -f $dir/gcc; then
|
||||
CC="gcc"
|
||||
cc_prog_is_gcc=yes
|
||||
echo 'void f(){}' > conftest.c
|
||||
if test -z "`${CC} -g -c conftest.c 2>&1`"; then
|
||||
CFLAGS=${CFLAGS-"-g -O2"}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
else
|
||||
CFLAGS=${CFLAGS-"-O2"}
|
||||
CXXFLAGS=${CXXFLAGS-"-O2"}
|
||||
fi
|
||||
rm -f conftest*
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
CC=${CC-cc}
|
||||
else
|
||||
# Determine if we are using gcc.
|
||||
cat > conftest.c <<EOF
|
||||
#ifdef __GNUC__
|
||||
yes;
|
||||
#endif
|
||||
EOF
|
||||
if ${CC} -E conftest.c | grep yes >/dev/null 2>&1; then
|
||||
cc_prog_is_gcc=yes
|
||||
fi
|
||||
rm -f conftest.c
|
||||
if test -z "${CFLAGS}"; then
|
||||
# Here CC is set but CFLAGS is not. Use a quick hack to use -O2 if CC
|
||||
# is set to a version of gcc.
|
||||
if test "$cc_prog_is_gcc" = yes; then
|
||||
echo 'void f(){}' > conftest.c
|
||||
if test -z "`${CC} -g -c conftest.c 2>&1`"; then
|
||||
CFLAGS=${CFLAGS-"-g -O2"}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
else
|
||||
CFLAGS=${CFLAGS-"-O2"}
|
||||
CXXFLAGS=${CXXFLAGS-"-O2"}
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# We must set the default linker to the linker used by gcc for the correct
|
||||
# operation of libtool. If LD is not defined and we are using gcc, try to
|
||||
# set the LD default to the ld used by gcc.
|
||||
if test -z "$LD"; then
|
||||
if test "$cc_prog_is_gcc" = yes; then
|
||||
case $build in
|
||||
*-*-mingw*)
|
||||
gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
|
||||
*)
|
||||
gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
|
||||
esac
|
||||
case $gcc_prog_ld in
|
||||
# Accept absolute paths.
|
||||
[[\\/]* | [A-Za-z]:[\\/]*)]
|
||||
LD="$gcc_prog_ld" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
CXX=${CXX-"c++"}
|
||||
CFLAGS=${CFLAGS-"-g"}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
fi
|
||||
|
||||
# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest)
|
||||
# Set up the list of links to be made.
|
||||
# ${links} is the list of link names, and ${files} is the list of names to link to.
|
||||
|
Loading…
Reference in New Issue
Block a user