### WARNING: this file contains embedded tabs. Do not run untabify on this file.
sinclude(config/acx.m4)
-sinclude(config/gcc-version.m4)
-sinclude(config/gxx-include-dir.m4)
AC_INIT(move-if-change)
AC_PREREQ(2.13)
extra_host_args=
-# Define the trigger file to make sure configure will re-run whenever
-# the gcc version number changes.
-TL_AC_GCC_VERSION([$topsrcdir])
-if test -f $gcc_version_trigger ; then
- case "$ac_configure_args" in
- *--with-gcc-version-trigger=$gcc_version_trigger* )
- ;;
- * )
- # Add to all subconfigure arguments: build, host, and target.
- ac_configure_args="$ac_configure_args --with-gcc-version-trigger=$gcc_version_trigger"
- ;;
- esac
-else
- gcc_version_trigger=
-fi
-
### To add a new directory to the tree, first choose whether it is a target
### or a host dependent tool. Then put it into the appropriate list
### (library or tools, host or target), doing a dependency sort.
# know that we are building the simulator.
# binutils, gas and ld appear in that order because it makes sense to run
# "make check" in that particular order.
-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"
+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"
# libgcj represents the runtime libraries only used by gcj.
libgcj="target-libffi \
target-newlib \
target-libstdc++-v3 \
target-libmudflap \
+ target-libssp \
target-libgfortran \
${libgcj} \
target-libobjc \
configdirs="$configdirs libtermcap" ;;
esac
+# A target can indicate whether a language isn't supported for some reason.
+# Only spaces may be used in this macro; not newlines or tabs.
+unsupported_languages=
+
# Remove more programs from consideration, based on the host or
# target this usually means that a port of the program doesn't
# exist yet.
powerpc-*-beos*)
noconfigdirs="$noconfigdirs tk itcl libgui gdb dejagnu readline"
;;
- *-*-darwin*)
- noconfigdirs="$noconfigdirs tk itcl libgui"
- ;;
esac
ENABLE_LIBADA=yes)
if test "${ENABLE_LIBADA}" != "yes" ; then
noconfigdirs="$noconfigdirs target-libada"
+ noconfigdirs="$noconfigdirs gnattools"
+fi
+
+AC_ARG_ENABLE(libssp,
+[ --enable-libssp Builds libssp directory],
+ENABLE_LIBSSP=$enableval,
+ENABLE_LIBSSP=yes)
+if test "${ENABLE_LIBSSP}" != "yes" ; then
+ noconfigdirs="$noconfigdirs target-libssp"
fi
# Save it here so that, even in case of --enable-libgcj, if the Java
;;
powerpc-*-darwin*)
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
+ noconfigdirs="$noconfigdirs sim target-rda"
;;
*-*-darwin*)
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
+ noconfigdirs="$noconfigdirs sim target-rda"
noconfigdirs="$noconfigdirs ${libgcj}"
;;
*-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
*-*-rtems*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
+ # The tpf target doesn't support gdb yet.
+ *-*-tpf*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj} target-libmudflap gdb tcl tk libgui itcl"
+ ;;
*-*-uclinux*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
;;
noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
;;
cris-*-* | crisv32-*-*)
+ unsupported_languages="$unsupported_languages java"
case "${target}" in
- *-*-elf | *-*-aout)
- noconfigdirs="$noconfigdirs ${libgcj}";;
+ *-*-aout)
+ unsupported_languages="$unsupported_languages f95"
+ noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
+ *-*-elf)
+ unsupported_languages="$unsupported_languages f95"
+ noconfigdirs="$noconfigdirs target-boehm-gc";;
+ *-*-linux*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss";;
*)
+ unsupported_languages="$unsupported_languages f95"
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
esac
;;
noconfigdirs="$noconfigdirs target-libstdc++-v3"
;;
mmix-*-*)
- noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss target-libgfortran"
+ noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss"
+ unsupported_languages="$unsupported_languages f95 java"
;;
mn10200-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
mn10300-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
+ ms1-*-*)
+ noconfigdirs="$noconfigdirs sim"
+ ;;
powerpc-*-aix*)
# copied from rs6000-*-* entry
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
host_makefile_frag="config/mh-cygwin"
;;
*-mingw32*)
- host_makefile_frag="config/mh-mingw32"
;;
*-interix*)
host_makefile_frag="config/mh-interix"
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"
+ gmpinc="-I$with_mpfr_dir"
gmplibs="$with_mpfr_dir/libmpfr.a"
else
gmplibs="-lmpfr"
add_this_lang=no
;;
esac
-
+
+ # Disable a language that is unsupported by the target.
+ case " $unsupported_languages " in
+ *" $language "*)
+ add_this_lang=no
+ ;;
+ esac
+
case $add_this_lang in
no)
# Remove language-dependent dirs.
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 available languages are: ${potential_languages}])
+The following requested languages could not be built: ${missing_languages}
+Recognised languages are: ${potential_languages}])
fi
if test "x$new_enable_languages" != "x$enable_languages"; then
;;
esac
-# If no --enable-shared nor --disable-shared is specified, we set up
-# LD_LIBRARY_PATH when we build for gcc.
-case $enable_shared in
-"")
- if test -d ${srcdir}/gcc; then
- set_lib_path=yes
- else
- set_lib_path=no
- fi
- ;;
-*)
- set_lib_path=$enable_shared
- ;;
-esac
-
-# If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
-# binutils tools will find libbfd.so.
-case "${set_lib_path}" in
- no) SET_LIB_PATH= ;;
- *) SET_LIB_PATH="\$(REALLY_SET_LIB_PATH)" ;;
-esac
-
case "${host}" in
*-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
+ *-*-darwin* | *-*-rhapsody* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
*) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
esac
# fixed in future. It's still worthwhile to use a cache file for each
# directory. I think.
-# Pass the appropriate --host, --build, and --cache-file arguments.
-target_configargs="--cache-file=./config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
-
-# provide a proper gxx_include_dir.
-TL_AC_GXX_INCLUDE_DIR
+# Pass the appropriate --build, --host, --target and --cache-file arguments.
+# We need to pass --target, as newer autoconf's requires consistency
+# for target_alias and gcc doesn't manage it consistently.
+target_configargs="--cache-file=./config.cache --build=${build_alias} --host=${target_alias} --target=${target_alias} ${target_configargs}"
FLAGS_FOR_TARGET=
case " $target_configdirs " in
# to it. This is right: we don't want to search that directory
# for binaries, but we want the header files in there, so add
# them explicitly.
- FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include'
# Someone might think of using the pre-installed headers on
# Canadian crosses, in case the installed compiler is not fully
if test "x${use_gnu_ld}" = x &&
echo " ${configdirs} " | grep " ld " > /dev/null ; then
# 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/$(HOST_SUBDIR)/ld'
fi
if test "x${CC_FOR_TARGET+set}" = xset; then
:
elif test -d ${srcdir}/gcc; then
- CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
+ CC_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/'
elif test "$host" = "$target"; then
CC_FOR_TARGET='$(CC)'
else
if test "x${GCJ_FOR_TARGET+set}" = xset; then
:
elif test -d ${srcdir}/gcc; then
- GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
+ GCJ_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/'
elif test "$host" = "$target"; then
GCJ_FOR_TARGET='gcj'
else
if test "x${GFORTRAN_FOR_TARGET+set}" = xset; then
:
elif test -d ${srcdir}/gcc; then
- GFORTRAN_FOR_TARGET='$$r/gcc/gfortran -B$$r/gcc/'
+ GFORTRAN_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/'
elif test "$host" = "$target"; then
GFORTRAN_FOR_TARGET='gfortran'
else
# default whereas gcc does not.
# RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
# all other cases.
- CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
- RAW_CXX_FOR_TARGET='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
+ CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ '$libstdcxx_flags
+ RAW_CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ '$raw_libstdcxx_flags
elif test "$host" = "$target"; then
CXX_FOR_TARGET='$(CXX)'
RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
AC_SUBST_FILE(ospace_frag)
# Miscellanea: directories, flags, etc.
-AC_SUBST(SET_LIB_PATH)
AC_SUBST(RPATH_ENVVAR)
AC_SUBST(BUILD_PREFIX)
AC_SUBST(BUILD_PREFIX_1)
&& rm -f confdir.s2; then
gcc_cv_prog_ln_s_dir=yes
else
- gcc_cv_prog_ln_s_dir=yes
+ gcc_cv_prog_ln_s_dir=no
fi
rm -rf confdir.s1 confdir.s2])
esac
AC_SUBST(stage2_werror_flag)
-# If gcc is built natively with shared library enabled, set
-# $RPATH_ENVVAR to make sure the newly built gcc shared librares are
-# used.
-SET_GCC_LIB_PATH=
-if test -d ${srcdir}/gcc && test x${is_cross_compiler} = xno; then
- case "${set_lib_path}" in
- no) ;;
- *)
- eval "d=\$$RPATH_ENVVAR"
- if test x"$d" != x; then
- d="$pwd/gcc:$d"
- else
- d="$pwd/gcc"
- fi
- SET_GCC_LIB_PATH="\$(RPATH_ENVVAR)=$d; export \$(RPATH_ENVVAR);"
- ;;
- esac
-fi
-AC_SUBST(SET_GCC_LIB_PATH)
-
AC_OUTPUT(Makefile)