### 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)
topsrcdir=$srcpwd
extra_host_args=
+
# Define the trigger file to make sure configure will re-run whenever
# the gcc version number changes.
-if test "${with_gcc_version_trigger+set}" = set ; then
- gcc_version_trigger="$with_gcc_version_trigger"
- gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
+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
- # If gcc's sources are available, define the trigger file.
- if test -f ${topsrcdir}/gcc/version.c ; then
- gcc_version_trigger=${topsrcdir}/gcc/version.c
- gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
- 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
- fi
+ gcc_version_trigger=
fi
### To add a new directory to the tree, first choose whether it is a target
# 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 \
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
# Save it here so that, even in case of --enable-libgcj, if the Java
noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
;;
alpha*-*-*vms*)
- noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss build-fixincludes ${libgcj}"
+ noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
;;
alpha*-*-linux*)
# newlib is not 64 bit ready
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
arm-semi-aof )
- noconfigdirs="$noconfigdirs build-fixincludes"
;;
arm-*-coff | strongarm-*-coff | xscale-*-coff)
noconfigdirs="$noconfigdirs ${libgcj}"
noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
;;
avr-*-*)
- noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 build-fixincludes ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
;;
c4x-*-* | tic4x-*-*)
noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
c54x*-*-* | tic54x-*-*)
noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
;;
- cris-*-*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ cris-*-* | crisv32-*-*)
+ case "${target}" in
+ *-*-elf | *-*-aout)
+ noconfigdirs="$noconfigdirs ${libgcj}";;
+ *)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
+ esac
;;
crx-*-*)
noconfigdirs="$noconfigdirs target-libstdc++-v3 target-mudflap ${libgcj}"
noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
;;
hppa1.1-*-osf* | hppa1.1-*-bsd* )
- noconfigdirs="$noconfigdirs build-fixincludes"
;;
hppa*64*-*-linux* | parisc*64*-*-linux*)
# In this case, it's because the hppa64-linux target is for
# headers, crt*.o, etc., all of which are needed by these.
noconfigdirs="$noconfigdirs target-zlib"
;;
+ parisc*-*-linux* | hppa*-*-linux*)
+ ;;
hppa*-*-*elf* | \
- parisc*-*-linux* | hppa*-*-linux* | \
hppa*-*-lites* | \
hppa*-*-openbsd* | \
hppa*64*-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
- # Do configure ld/binutils/gas for this case.
;;
hppa*-*-*)
# According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld"
;;
i370-*-opened*)
- noconfigdirs="$noconfigdirs build-fixincludes"
;;
i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
i[[3456789]]86-*-mingw32*)
target_configdirs="$target_configdirs target-mingw"
- noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj} build-fixincludes"
+ noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
# Can't build gdb for mingw32 if not native.
case "${host}" in
;;
*-*-cygwin*)
target_configdirs="$target_configdirs target-libtermcap target-winsup"
- noconfigdirs="$noconfigdirs target-gperf target-libgloss build-fixincludes ${libgcj}"
+ noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
# always build newlib if winsup directory is present.
if test -d "$srcdir/winsup"; then
skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
;;
i[[3456789]]86-moss-msdos | i[[3456789]]86-*-moss* | \
i[[3456789]]86-*-uwin* | i[[3456789]]86-*-interix* )
- noconfigdirs="$noconfigdirs build-fixincludes"
;;
i[[3456789]]86-*-pe)
- noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} build-fixincludes"
+ noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
;;
i[[3456789]]86-*-sco3.2v5*)
# The linker does not yet know about weak symbols in COFF,
noconfigdirs="$noconfigdirs target-libstdc++-v3"
;;
mmix-*-*)
- noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss"
+ noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss target-libgfortran"
;;
mn10200-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
;;
powerpc-*-eabi)
- noconfigdirs="$noconfigdirs ${libgcj} build-fixincludes"
+ noconfigdirs="$noconfigdirs ${libgcj}"
;;
powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* )
- noconfigdirs="$noconfigdirs build-fixincludes"
;;
rs6000-*-lynxos*)
noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
romp-*-*)
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
;;
- sh-*-*)
+ sh-*-* | sh64-*-*)
case "${host}" in
i[[3456789]]86-*-vsta) ;; # don't add gprof back in
i[[3456789]]86-*-go32*) ;; # don't add gprof back in
esac
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
- sh64-*-*)
- noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
- ;;
sparc-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
use_gnu_ld=no
fi
;;
+ sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
;;
v810-*-*)
# 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
# desired.
-build_configargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
+build_configargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} --target=${target_alias} ${baseargs}"
# For host modules, accept cache file option, or specification as blank.
case "${cache_file}" in
target_configargs="--cache-file=./config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
# provide a proper gxx_include_dir.
-# Note, if you change the default, make sure to fix both here and in
-# the gcc and libstdc++-v3 subdirectories.
-# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
-case "${with_gxx_include_dir}" in
- yes)
- AC_MSG_ERROR([--with-gxx-include-dir=[[dir]] requires a directory])
- ;;
- no | "")
- case "${enable_version_specific_runtime_libs}" in
- yes) gxx_include_dir='${libsubdir}/include/c++' ;;
- *)
- . ${srcdir}/config.if
- gxx_include_dir='${prefix}/include/'${libstdcxx_incdir} ;;
- esac ;;
- *) gxx_include_dir=${with_gxx_include_dir} ;;
-esac
+TL_AC_GXX_INCLUDE_DIR
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(RPATH_ENVVAR)
AC_SUBST(BUILD_PREFIX)
AC_SUBST(BUILD_PREFIX_1)
-AC_SUBST(gcc_version_trigger)
-AC_SUBST(gcc_version)
AC_SUBST(tooldir)
AC_SUBST(build_tooldir)
AC_SUBST(GDB_TK)
-AC_SUBST(gxx_include_dir)
-AC_SUBST(libstdcxx_incdir)
# Build module lists & subconfigure args.
AC_SUBST(build_configargs)
&& 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])