build_libs="build-libiberty"
# these tools are built for the build environment
-build_tools="build-texinfo build-byacc build-flex build-bison build-m4"
+build_tools="build-texinfo build-byacc build-flex build-bison build-m4 build-fixincludes"
# these libraries are used by various programs built for the host environment
#
-host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl tix libgui zlib libbanshee libcpp"
+host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libbanshee libcpp"
# these tools are built for the host environment
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
## ${target_configdirs} is directories we build using the target tools.
configdirs=`echo ${host_libs} ${host_tools}`
target_configdirs=`echo ${target_libraries} ${target_tools}`
-
-# Only make build modules if build != host.
-if test ${host_alias} != ${build_alias} ; then
- build_configdirs=`echo ${build_libs} ${build_tools}`
-fi
+build_configdirs=`echo ${build_libs} ${build_tools}`
################################################################################
case ${with_x} in
yes | "") ;; # the default value for this tree is that X11 is available
no)
- skipdirs="${skipdirs} tk tix itcl libgui"
+ skipdirs="${skipdirs} tk itcl libgui"
# We won't be able to build gdbtk without X.
enable_gdbtk=no
;;
noconfigdirs="$noconfigdirs byacc"
;;
i[[3456789]]86-*-vsta)
- noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix gnuserv gettext"
+ noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl gnuserv gettext"
;;
i[[3456789]]86-*-go32* | i[[3456789]]86-*-msdosdjgpp*)
- noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl tix gnuserv libffi"
+ noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl gnuserv libffi"
;;
i[[3456789]]86-*-mingw32*)
- # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix gnuserv"
+ # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl gnuserv"
noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
;;
i[[3456789]]86-*-beos*)
- noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
+ noconfigdirs="$noconfigdirs tk itcl libgui gdb"
;;
*-*-cygwin*)
noconfigdirs="$noconfigdirs autoconf automake send-pr rcs guile perl"
noconfigdirs="$noconfigdirs rcs"
;;
ppc*-*-pe)
- noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv"
+ noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl gnuserv"
;;
powerpc-*-beos*)
- noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
+ noconfigdirs="$noconfigdirs tk itcl libgui gdb dejagnu readline"
;;
*-*-darwin*)
- noconfigdirs="$noconfigdirs tk itcl tix libgui"
+ noconfigdirs="$noconfigdirs tk itcl libgui"
;;
esac
;;
"")
case "${target}" in
- *-*-linux*)
- # Enable libmudflap by default in GNU/Linux.
+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
+ # Enable libmudflap by default in GNU and friends.
;;
*-*-freebsd*)
# Enable libmudflap by default in FreeBSD.
*-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
- *-*-freebsd* | *-*-kfreebsd*-gnu)
+ *-*-freebsd*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
&& test -f /usr/local/include/gmp.h; then
noconfigdirs="$noconfigdirs ${libgcj}"
noconfigdirs="$noconfigdirs target-examples"
noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
- noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
+ noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
noconfigdirs="$noconfigdirs expect dejagnu"
# the C++ libraries don't build on top of CE's C libraries
noconfigdirs="$noconfigdirs target-libstdc++-v3"
arm-*-coff | strongarm-*-coff | xscale-*-coff)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
- arm-*-elf* | strongarm-*-elf* | xscale-*-elf*)
+ arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
noconfigdirs="$noconfigdirs target-libffi target-qthreads"
;;
+ arm*-*-symbianelf*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
+ ;;
arm-*-pe*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
;;
ia64*-*-elf*)
# No gdb support yet.
- noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb"
+ noconfigdirs="$noconfigdirs readline mmalloc libgui itcl gdb"
;;
ia64*-**-hpux*)
# No gdb or ld support yet.
- noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld"
+ noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld"
;;
i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
noconfigdirs="$noconfigdirs ${libgcj}"
# Can't build gdb for mingw32 if not native.
case "${host}" in
i[[3456789]]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
- *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix gnuserv"
+ *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl gnuserv"
;;
esac
;;
# Can't build gdb for Cygwin if not native.
case "${host}" in
*-*-cygwin*) ;; # keep gdb tcl tk expect etc.
- *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui gnuserv"
+ *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl libgui gnuserv"
;;
esac
;;
;;
powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
target_configdirs="$target_configdirs target-winsup"
- noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix gnuserv ${libgcj}"
+ noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv ${libgcj}"
# always build newlib.
skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
;;
# This is temporary until we can link against shared libraries
powerpcle-*-solaris*)
- noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix gnuserv ${libgcj}"
+ noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}"
;;
powerpc-*-beos*)
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
ip2k-*-*)
noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
;;
- *-*-linux*)
+ *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
*-*-lynxos*)
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_DIR_PREFIX=${build_subdir}
BUILD_PREFIX=${build_alias}-
BUILD_PREFIX_1=${build_alias}-
CC_FOR_BUILD="\$(CC)"
GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
- BUILD_DIR_PREFIX=
BUILD_PREFIX=
BUILD_PREFIX_1=loser-
ACX_PROG_GNAT
ACX_PROG_CMP_IGNORE_INITIAL
-# Check for GMP
+# Check for GMP and MPFR
gmplibs=
gmpinc=
have_gmp=yes
+# Specify a location for mpfr
+# check for this first so it ends up on the link line before gmp.
+AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH Specify source directory for MPFR library])
+
+if test "x$with_mpfr_dir" != x; then
+ gmpinc="-I$with_mpfr_dir/mpfr"
+ gmplibs="$with_mpfr_dir/libmpfr.a"
+else
+ gmplibs="-lmpfr"
+fi
+
+AC_ARG_WITH(mpfr, [ --with-mpfr=PATH Specify directory for installed MPFR library])
+
+if test "x$with_mpfr" != x; then
+ gmplibs="-L$with_mpfr/lib $gmplibs"
+ gmpinc="-I$with_mpfr/include"
+fi
+
# Specify a location for gmp
AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH Specify source directory for GMP library])
-if test "x$with_gmp_dir" != x && test -f "$with_gmp_dir/gmp.h"; then
- gmpinc="-I$with_gmp_dir"
+if test "x$with_gmp_dir" != x; then
+ gmpinc="$gmpinc -I$with_gmp_dir"
if test -f "$with_gmp_dir/.libs/libgmp.a"; then
- gmplibs="$with_gmp_dir/.libs/libgmp.a"
+ gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a"
elif test -f "$with_gmp_dir/_libs/libgmp.a"; then
- gmplibs="$with_gmp_dir/_libs/libgmp.a"
+ gmplibs="$gmplibs $with_gmp_dir/_libs/libgmp.a"
fi
# One of the later tests will catch the error if neither library is present.
+else
+ gmplibs="$gmplibs -lgmp"
fi
AC_ARG_WITH(gmp, [ --with-gmp=PATH Specify directory for installed GMP library])
-if test "x$with_gmp" != x && test -d "$with_gmp"; then
- gmplibs="-L$with_gmp/lib -lgmp"
- gmpinc="-I$with_gmp/include"
-fi
-
-# Use system gmp if nothing else specified
-if test "x$gmplibs" = x; then
- gmplibs="-lgmp"
+if test "x$with_gmp" != x; then
+ gmplibs="-L$with_gmp/lib $gmplibs"
+ gmpinc="-I$with_gmp/include $gmpinc"
fi
saved_CFLAGS="$CFLAGS"
[AC_MSG_RESULT([no]); have_gmp=no])
if test x"$have_gmp" = xyes; then
- AC_MSG_CHECKING([for mpf_init in -lgmp])
+ AC_MSG_CHECKING([for MPFR])
saved_LIBS="$LIBS"
LIBS="$LIBS $gmplibs"
- AC_TRY_LINK([#include <gmp.h>], [mpf_t n; mpf_init(n);],
+ AC_TRY_LINK([#include <gmp.h>
+#include <mpfr.h>], [mpfr_t n; mpfr_init(n);],
[AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
LIBS="$saved_LIBS"
CFLAGS="$saved_CFLAGS"
fi
+# Flags needed for both GMP and/or MPFR
AC_SUBST(gmplibs)
AC_SUBST(gmpinc)
new_enable_languages=c
missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
+ potential_languages=c
for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
case ${lang_frag} in
lang_dirs=
boot_language=
build_by_default=
- need_gmp=
+ need_gmp=
. ${lang_frag}
+ potential_languages="${potential_languages},${language}"
# 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
- ;;
+ ;;
*:ada:no:*)
# Ada was requested with no preexisting GNAT. Disable unconditionally.
add_this_lang=no
;;
*,all,*:*:*:no)
# 'all' was selected, but this is not a default language
- # so do not include it.
+ # 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
;;
esac
- # Disable language that need GMP if it isn't available.
- if test x"$need_gmp" = xyes && test x"$have_gmp" = xno; then
- add_this_lang=no
- fi
+ # Disable languages that need GMP if it isn't available.
+ case ,${enable_languages},:${have_gmp}:${need_gmp} in
+ *,${language},*:no:yes)
+ # Specifically requested language; tell them.
+ AC_MSG_ERROR([GMP with MPFR support is required to build $language])
+ ;;
+ *:no:yes)
+ # Silently disable.
+ add_this_lang=no
+ ;;
+ esac
case $add_this_lang in
no)
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}])
+The following requested languages were not found: ${missing_languages}
+The available languages are: ${potential_languages}])
fi
if test "x$new_enable_languages" != "x$enable_languages"; then
powerpc-*-netware*)
target_makefile_frag="config/mt-netware"
;;
- *-*-linux*)
- target_makefile_frag="config/mt-linux"
+ *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
+ target_makefile_frag="config/mt-gnu"
;;
*-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
# nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
# leave out the maybe dependencies when enable_gdbtk is false. I'm not
# 100% sure that that's safe though.
-gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui"
+gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
case "$enable_gdbtk" in
no)
GDB_TK="" ;;
# not to nest @if/@endif pairs, because configure will not warn you at all.
AC_ARG_ENABLE([bootstrap],
-[ --enable-bootstrap Enable bootstrapping [no]],,
-enable_bootstrap=no)
-if test -d ${srcdir}/gcc; then
- case "$host:$target:$enable_bootstrap" in
- $build:$build:yes | *:no) ;;
- *:yes) AC_MSG_ERROR([cannot bootstrap a cross-compiler]) ;;
- *) AC_MSG_ERROR([invalid option for --enable-bootstrap]) ;;
- esac
-else
- if test $enable_bootstrap = yes; then
- AC_MSG_ERROR([cannot bootstrap without a compiler])
- fi
-fi
+[ --enable-bootstrap[=lean] Enable bootstrapping [no]],,
+enable_bootstrap=default)
+# Issue errors and warnings for invalid/strange bootstrap combinations.
+case "$configdirs" in
+ *gcc*) have_compiler=yes ;;
+ *) have_compiler=no ;;
+esac
+
+case "$have_compiler:$host:$target:$enable_bootstrap" in
+ *:*:*:no) ;;
+
+ # Default behavior. (We'll) enable bootstrap if we have a compiler
+ # and we are in a native configuration.
+ yes:$build:$build:default)
+ # This will become 'yes'
+ enable_bootstrap=no ;;
+
+ *:*:*:default)
+ enable_bootstrap=no ;;
+
+ # We have a compiler and we are in a native configuration, bootstrap is ok
+ yes:$build:$build:yes | yes:$build:$build:lean)
+ ;;
+
+ # Other configurations, but we have a compiler. Assume the user knows
+ # what he's doing.
+ yes:*:*:yes | yes:*:*:lean)
+ AC_MSG_WARN([trying to bootstrap a cross compiler])
+ ;;
+
+ # No compiler: if they passed --enable-bootstrap explicitly, fail
+ no:*:*:yes | no:*:*:lean)
+ AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
+
+ # Fail if wrong command line
+ *)
+ AC_MSG_ERROR([invalid option for --enable-bootstrap])
+ ;;
+esac
+
+# Adjust the toplevel makefile according to whether bootstrap was selected.
case "$enable_bootstrap" in
yes)
+ bootstrap_lean='#'
+ default_target=bootstrap
+ bootstrap_suffix=bootstrap ;;
+ lean)
+ bootstrap_lean=''
default_target=bootstrap
bootstrap_suffix=bootstrap ;;
no)
default_target=all
bootstrap_suffix=no-bootstrap ;;
esac
+AC_SUBST(bootstrap_lean)
AC_SUBST(default_target)
for module in ${build_configdirs} ; do
# Miscellanea: directories, flags, etc.
AC_SUBST(SET_LIB_PATH)
AC_SUBST(RPATH_ENVVAR)
-AC_SUBST(BUILD_DIR_PREFIX)
AC_SUBST(BUILD_PREFIX)
AC_SUBST(BUILD_PREFIX_1)
AC_SUBST(gcc_version_trigger)
AC_SUBST(stage1_cflags)
# It makes debugging easier if we create as symlinks the stage directories
-# gcc for stageN-gcc and stage-prev for stage(N-1). In case this is not
+# gcc for stageN-gcc and stagePREV-gcc for stage(N-1). In case this is not
# possible, however, we can resort to mv.
AC_CACHE_CHECK([if symbolic links between directories work],
[gcc_cv_prog_ln_s_dir],