m4_include(config/proginstall.m4)
AC_INIT(move-if-change)
-AC_PREREQ(2.59)
+AC_PREREQ(2.64)
+AC_DISABLE_OPTION_CHECKING
progname=$0
# if PWD already has a value, it is probably wrong.
# binutils, gas and ld appear in that order because it makes sense to run
# "make check" in that particular order.
# If --enable-gold is used, "gold" will replace "ld".
-host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
+host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc cgen sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
# libgcj represents the runtime libraries only used by gcj.
libgcj="target-libffi \
case "${target}" in
*-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
| *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
- | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-solaris2*)
+ | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-solaris2* | *-*-nto*)
case "${target}" in
*-*-linux*aout* | *-*-linux*oldld*)
;;
noconfigdirs="$noconfigdirs ld gas gdb gprof"
noconfigdirs="$noconfigdirs sim target-rda"
;;
- i[[3456789]]86-*-darwin* | x86_64-*-darwin[[912]]*)
+ i[[3456789]]86-*-darwin*)
+ noconfigdirs="$noconfigdirs ld gprof"
+ noconfigdirs="$noconfigdirs sim target-rda"
+ ;;
+ x86_64-*-darwin[[912]]*)
noconfigdirs="$noconfigdirs ld gas gprof"
noconfigdirs="$noconfigdirs sim target-rda"
;;
m68k-apollo-*)
noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
;;
+ microblaze*)
+ noconfigdirs="$noconfigdirs gprof ${libgcj}"
+ ;;
mips*-sde-elf*)
skipdirs="$skipdirs target-libiberty"
noconfigdirs="$noconfigdirs ${libgcj}"
i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in
*) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
esac
- noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+ case "${target}" in
+ sh*-*-elf)
+ noconfigdirs="$noconfigdirs ${libgcj}" ;;
+ *)
+ noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;;
+ esac
;;
sparclet-*-aout* | sparc86x-*-*)
libgloss_dir=sparc
ACX_PROG_GNAT
ACX_PROG_CMP_IGNORE_INITIAL
+# See if we are building gcc with C++.
+AC_ARG_ENABLE(build-with-cxx,
+[ --enable-build-with-cxx build with C++ compiler instead of C compiler],
+ENABLE_BUILD_WITH_CXX=$enableval,
+ENABLE_BUILD_WITH_CXX=no)
+
# Check for GMP, MPFR and MPC
gmplibs="-lmpfr -lgmp"
gmpinc=
have_gmp=no
-mpclibs=
+mpclibs=-lmpc
mpcinc=
have_mpc=no
fi
fi
+if test x$have_mpc != xyes ; then
+ mpcinc=
+ mpclibs=
+fi
+
gmpinc="$mpcinc $gmpinc"
gmplibs="$mpclibs $gmplibs"
;;
esac
+# Linker flags to use for stage1 or when not boostrapping.
+AC_ARG_WITH(stage1-ldflags,
+[ --with-stage1-ldflags=FLAGS Linker flags for stage1],
+[if test "$withval" = "no" -o "$withval" = "yes"; then
+ stage1_ldflags=
+ else
+ stage1_ldflags=$withval
+ fi],
+[stage1_ldflags=])
+AC_SUBST(stage1_ldflags)
+
+# Libraries to use for stage1 or when not bootstrapping.
+AC_ARG_WITH(stage1-libs,
+[ -with-stage1-libs=LIBS Libraries for stage1],
+[if test "$withval" = "no" -o "$withval" = "yes"; then
+ stage1_libs=
+ else
+ stage1_libs=$withval
+ fi],
+[stage1_libs=$with_host_libstdcxx])
+AC_SUBST(stage1_libs)
+
+# Linker flags to use for stage2 and later builds.
+AC_ARG_WITH(boot-ldflags,
+[ --with-boot-ldflags=FLAGS Linker flags for stage2 and later],
+[if test "$withval" = "no" -o "$withval" = "yes"; then
+ poststage1_ldflags=
+ else
+ poststage1_ldflags=$withval
+ fi],
+[if test "$ENABLE_BUILD_WITH_CXX" = "yes"; then
+ poststage1_ldflags=-static-libstdc++
+ else
+ poststage1_ldflags=
+ fi])
+AC_SUBST(poststage1_ldflags)
+
+# Libraries to use for stage2 and later builds. This defaults to the
+# argument passed to --with-host-libstdcxx.
+AC_ARG_WITH(boot-libs,
+[ --with-boot-libs=LIBS Libraries for stage2 and later],
+[if test "$withval" = "no" -o "$withval" = "yes"; then
+ poststage1_libs=
+ else
+ poststage1_libs=$withval
+ fi],
+[poststage1_libs=$with_host_libstdcxx])
+AC_SUBST(poststage1_libs)
+
# Check for PPL
ppl_major_version=0
ppl_minor_version=10
-ppllibs=" -lppl_c -lppl -lgmpxx $with_host_libstdcxx "
+ppllibs=" -lppl_c -lppl -lgmpxx"
pplinc=
AC_ARG_WITH(ppl, [ --with-ppl=PATH Specify prefix directory for the installed PPL package
ppllibs=
;;
*)
- ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx $with_host_libstdcxx"
+ ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx"
pplinc="-I$with_ppl/include $pplinc"
LIBS="$ppllibs $LIBS"
;;
pplinc="-I$with_ppl_include $pplinc"
fi
if test "x$with_ppl_lib" != x; then
- ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx $with_host_libstdcxx"
+ ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx"
LIBS="$ppllibs $LIBS"
fi
if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
- ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/.libs -L$$r/$(HOST_SUBDIR)/ppl/_libs -lppl_c -lppl -lgmpxx '"$with_host_libstdcxx "
+ ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/.libs -L$$r/$(HOST_SUBDIR)/ppl/_libs -lppl_c -lppl -lgmpxx '
pplinc='-I$$r/$(HOST_SUBDIR)/ppl/include -I$$s/ppl/include '
LIBS="$ppllibs $LIBS"
fi
# By default, C is the only stage 1 language.
stage1_languages=,c,
+# Target libraries that we bootstrap.
+bootstrap_target_libs=,target-libgcc,
+
# 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
exit 1
fi
+ if test "$language" = "c++" -a "$ENABLE_BUILD_WITH_CXX" = "yes"; then
+ boot_language=yes
+ fi
+
case ,${enable_languages}, in
*,${language},*)
# Language was explicitly selected; include it.
yes)
# Add to (comma-separated) list of stage 1 languages.
stage1_languages="${stage1_languages}${language},"
+ # We need to bootstrap any supporting libraries.
+ bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
;;
esac
;;
echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
rm -f ${target_subdir}/${module}/Makefile
fi
+
+ # We only bootstrap target libraries listed in bootstrap_target_libs.
+ case $bootstrap_target_libs in
+ *,target-$module,*) target_bootstrap_suffix=$bootstrap_suffix ;;
+ *) target_bootstrap_suffix=no-bootstrap ;;
+ esac
+
extrasub="$extrasub
/^@if target-$module\$/d
/^@endif target-$module\$/d
-/^@if target-$module-$bootstrap_suffix\$/d
-/^@endif target-$module-$bootstrap_suffix\$/d"
+/^@if target-$module-$target_bootstrap_suffix\$/d
+/^@endif target-$module-$target_bootstrap_suffix\$/d"
done
extrasub="$extrasub
if test "$silent" = yes; then
baseargs="$baseargs --silent"
fi
+baseargs="$baseargs --disable-option-checking"
# For the build-side libraries, we just need to pretend we're native,
# and not use the same cache file. Multilibs are neither needed nor
esac
# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems.
-if test "$GCC" = yes; then
+if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then
saved_CFLAGS="$CFLAGS"
# Pass -fkeep-inline-functions for stage 1 if the GCC version supports it.
esac
AC_SUBST(stage2_werror_flag)
-# Flags needed to enable html installing and building
-AC_ARG_WITH(datarootdir,
-[ --with-datarootdir use datarootdir as the data root directory.],
-[datarootdir="\${prefix}/${withval}"],
-[datarootdir="\${prefix}/share"])
-
-AC_ARG_WITH(docdir,
-[ --with-docdir install documentation in this directory.],
-[docdir="\${prefix}/${withval}"],
-[docdir="\${datarootdir}/doc"])
-
-AC_ARG_WITH(pdfdir,
-[ --with-pdfdir install pdf in this directory.],
-[pdfdir="\${prefix}/${withval}"],
-[pdfdir="\${docdir}"])
-
-AC_ARG_WITH(htmldir,
-[ --with-htmldir install html in this directory.],
-[htmldir="\${prefix}/${withval}"],
-[htmldir="\${docdir}"])
-
-AC_SUBST(datarootdir)
-AC_SUBST(docdir)
-AC_SUBST(pdfdir)
-AC_SUBST(htmldir)
+# Specify what files to not compare during bootstrap.
+
+compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
+case "$target" in
+ hppa*64*-*-hpux*) ;;
+ hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;;
+esac
+AC_SUBST(compare_exclusions)
AC_OUTPUT(Makefile)